c_src: update to have intern args
[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:724 */
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:724 */
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:724 */
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:724 */
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[5] = CALL_parser___parser_nodes___ANode___location(fra.me.REG[2])(fra.me.REG[2]);
878 fra.me.REG[2] = NEW_AParserError_parser___lexer___AParserError___init_parser_error(fra.me.REG[4], fra.me.REG[5], 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(1291);
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(1);
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(2);
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(2);
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(3);
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(3);
1264 fra.me.REG[2] = NEW_ReduceAction70_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(4);
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(4);
1274 fra.me.REG[2] = NEW_ReduceAction71_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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(5);
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(6);
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(6);
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(6);
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(6);
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(6);
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(6);
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(7);
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(7);
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(8);
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(9);
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(9);
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(9);
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(9);
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(10);
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(10);
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(11);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
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(12);
2494 fra.me.REG[2] = NEW_ReduceAction316_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(12);
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(12);
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(12);
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(12);
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(13);
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(13);
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(14);
2529 fra.me.REG[2] = NEW_ReduceAction321_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(14);
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(15);
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(15);
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(16);
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(16);
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(17);
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(17);
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(18);
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(18);
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(18);
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(18);
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(19);
2589 fra.me.REG[2] = NEW_ReduceAction335_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(19);
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(19);
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(19);
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(19);
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(19);
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(19);
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(19);
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(19);
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(19);
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(19);
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(19);
2644 fra.me.REG[2] = NEW_ReduceAction346_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(19);
2649 fra.me.REG[2] = NEW_ReduceAction347_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(19);
2654 fra.me.REG[2] = NEW_ReduceAction348_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(19);
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(19);
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(19);
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(19);
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(20);
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(20);
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(20);
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(20);
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(20);
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(20);
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(20);
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(20);
2714 fra.me.REG[2] = NEW_ReduceAction360_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(20);
2719 fra.me.REG[2] = NEW_ReduceAction361_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(20);
2724 fra.me.REG[2] = NEW_ReduceAction362_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(20);
2729 fra.me.REG[2] = NEW_ReduceAction363_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(20);
2734 fra.me.REG[2] = NEW_ReduceAction364_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(21);
2739 fra.me.REG[2] = NEW_ReduceAction365_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(21);
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(21);
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(21);
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(21);
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(21);
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(22);
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(22);
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(23);
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(24);
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(24);
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(24);
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(24);
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(24);
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(24);
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(25);
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(26);
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(26);
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(26);
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(26);
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(26);
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(26);
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(27);
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(28);
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(28);
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(29);
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(30);
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(30);
2874 fra.me.REG[2] = NEW_ReduceAction391_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(30);
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(31);
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(31);
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(31);
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(32);
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(32);
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(32);
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(33);
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(34);
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(34);
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(35);
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(36);
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(36);
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(36);
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(36);
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(36);
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(36);
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(36);
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(36);
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(37);
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(37);
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(38);
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(39);
2989 fra.me.REG[2] = NEW_ReduceAction414_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(40);
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(40);
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(40);
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(40);
3009 fra.me.REG[2] = NEW_ReduceAction419_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(41);
3014 fra.me.REG[2] = NEW_ReduceAction420_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(41);
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(42);
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(42);
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(43);
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(43);
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(44);
3044 fra.me.REG[2] = NEW_ReduceAction416_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(45);
3049 fra.me.REG[2] = NEW_ReduceAction419_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(45);
3054 fra.me.REG[2] = NEW_ReduceAction419_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(45);
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(45);
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(45);
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(45);
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(45);
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(45);
3084 fra.me.REG[2] = NEW_ReduceAction434_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(45);
3089 fra.me.REG[2] = NEW_ReduceAction435_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(45);
3094 fra.me.REG[2] = NEW_ReduceAction436_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(45);
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(45);
3104 fra.me.REG[2] = NEW_ReduceAction438_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(45);
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(45);
3114 fra.me.REG[2] = NEW_ReduceAction419_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(45);
3119 fra.me.REG[2] = NEW_ReduceAction419_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(45);
3124 fra.me.REG[2] = NEW_ReduceAction419_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(45);
3129 fra.me.REG[2] = NEW_ReduceAction419_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(45);
3134 fra.me.REG[2] = NEW_ReduceAction419_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(45);
3139 fra.me.REG[2] = NEW_ReduceAction419_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(45);
3144 fra.me.REG[2] = NEW_ReduceAction446_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(45);
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(45);
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(45);
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(45);
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(45);
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(45);
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(45);
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(45);
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(46);
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(47);
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(47);
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(48);
3204 fra.me.REG[2] = NEW_ReduceAction458_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(48);
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(48);
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(48);
3219 fra.me.REG[2] = NEW_ReduceAction461_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(48);
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(48);
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(48);
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(48);
3239 fra.me.REG[2] = NEW_ReduceAction465_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(48);
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(49);
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(49);
3254 fra.me.REG[2] = NEW_ReduceAction468_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(49);
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(49);
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(49);
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(49);
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(50);
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(50);
3284 fra.me.REG[2] = NEW_ReduceAction474_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(51);
3289 fra.me.REG[2] = NEW_ReduceAction475_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(52);
3294 fra.me.REG[2] = NEW_ReduceAction476_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(52);
3299 fra.me.REG[2] = NEW_ReduceAction477_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(52);
3304 fra.me.REG[2] = NEW_ReduceAction478_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(52);
3309 fra.me.REG[2] = NEW_ReduceAction479_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(52);
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(52);
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(52);
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(52);
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(53);
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(53);
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(53);
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(53);
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(53);
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(53);
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(53);
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(53);
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(53);
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(53);
3379 fra.me.REG[2] = NEW_ReduceAction493_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(54);
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(54);
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(55);
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(55);
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(56);
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(56);
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(56);
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(56);
3419 fra.me.REG[2] = NEW_ReduceAction501_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(56);
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(57);
3429 fra.me.REG[2] = NEW_ReduceAction416_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(57);
3434 fra.me.REG[2] = NEW_ReduceAction418_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(58);
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(58);
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(59);
3449 fra.me.REG[2] = NEW_ReduceAction507_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(59);
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(60);
3459 fra.me.REG[2] = NEW_ReduceAction509_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(60);
3464 fra.me.REG[2] = NEW_ReduceAction510_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(60);
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(60);
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(61);
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(61);
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(61);
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(61);
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(62);
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(63);
3504 fra.me.REG[2] = NEW_ReduceAction419_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(63);
3509 fra.me.REG[2] = NEW_ReduceAction448_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(63);
3514 fra.me.REG[2] = NEW_ReduceAction449_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(63);
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(64);
3524 fra.me.REG[2] = NEW_ReduceAction419_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(64);
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(65);
3534 fra.me.REG[2] = NEW_ReduceAction419_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(65);
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(65);
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(65);
3549 fra.me.REG[2] = NEW_ReduceAction527_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(66);
3554 fra.me.REG[2] = NEW_ReduceAction419_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(66);
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(67);
3564 fra.me.REG[2] = NEW_ReduceAction419_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(67);
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(67);
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(67);
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(67);
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(67);
3589 fra.me.REG[2] = NEW_ReduceAction535_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(67);
3594 fra.me.REG[2] = NEW_ReduceAction536_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(67);
3599 fra.me.REG[2] = NEW_ReduceAction537_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(67);
3604 fra.me.REG[2] = NEW_ReduceAction538_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(67);
3609 fra.me.REG[2] = NEW_ReduceAction539_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(67);
3614 fra.me.REG[2] = NEW_ReduceAction540_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(67);
3619 fra.me.REG[2] = NEW_ReduceAction541_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(68);
3624 fra.me.REG[2] = NEW_ReduceAction419_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(68);
3629 fra.me.REG[2] = NEW_ReduceAction543_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(68);
3634 fra.me.REG[2] = NEW_ReduceAction544_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(69);
3639 fra.me.REG[2] = NEW_ReduceAction419_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(69);
3644 fra.me.REG[2] = NEW_ReduceAction546_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(69);
3649 fra.me.REG[2] = NEW_ReduceAction547_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(69);
3654 fra.me.REG[2] = NEW_ReduceAction548_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(70);
3659 fra.me.REG[2] = NEW_ReduceAction419_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(70);
3664 fra.me.REG[2] = NEW_ReduceAction550_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(70);
3669 fra.me.REG[2] = NEW_ReduceAction551_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(71);
3674 fra.me.REG[2] = NEW_ReduceAction419_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(71);
3679 fra.me.REG[2] = NEW_ReduceAction553_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(71);
3684 fra.me.REG[2] = NEW_ReduceAction554_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(71);
3689 fra.me.REG[2] = NEW_ReduceAction555_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(72);
3694 fra.me.REG[2] = NEW_ReduceAction556_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(72);
3699 fra.me.REG[2] = NEW_ReduceAction557_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(72);
3704 fra.me.REG[2] = NEW_ReduceAction446_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(72);
3709 fra.me.REG[2] = NEW_ReduceAction447_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(72);
3714 fra.me.REG[2] = NEW_ReduceAction450_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(72);
3719 fra.me.REG[2] = NEW_ReduceAction451_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(72);
3724 fra.me.REG[2] = NEW_ReduceAction452_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(72);
3729 fra.me.REG[2] = NEW_ReduceAction453_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(72);
3734 fra.me.REG[2] = NEW_ReduceAction564_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(72);
3739 fra.me.REG[2] = NEW_ReduceAction565_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(72);
3744 fra.me.REG[2] = NEW_ReduceAction566_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(72);
3749 fra.me.REG[2] = NEW_ReduceAction567_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(72);
3754 fra.me.REG[2] = NEW_ReduceAction568_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(72);
3759 fra.me.REG[2] = NEW_ReduceAction569_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(72);
3764 fra.me.REG[2] = NEW_ReduceAction570_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(72);
3769 fra.me.REG[2] = NEW_ReduceAction571_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(72);
3774 fra.me.REG[2] = NEW_ReduceAction572_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(72);
3779 fra.me.REG[2] = NEW_ReduceAction573_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(72);
3784 fra.me.REG[2] = NEW_ReduceAction574_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(72);
3789 fra.me.REG[2] = NEW_ReduceAction575_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(72);
3794 fra.me.REG[2] = NEW_ReduceAction576_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(72);
3799 fra.me.REG[2] = NEW_ReduceAction577_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(72);
3804 fra.me.REG[2] = NEW_ReduceAction578_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(72);
3809 fra.me.REG[2] = NEW_ReduceAction579_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(72);
3814 fra.me.REG[2] = NEW_ReduceAction580_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(72);
3819 fra.me.REG[2] = NEW_ReduceAction581_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(72);
3824 fra.me.REG[2] = NEW_ReduceAction582_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(72);
3829 fra.me.REG[2] = NEW_ReduceAction583_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(72);
3834 fra.me.REG[2] = NEW_ReduceAction584_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(72);
3839 fra.me.REG[2] = NEW_ReduceAction585_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(72);
3844 fra.me.REG[2] = NEW_ReduceAction586_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(72);
3849 fra.me.REG[2] = NEW_ReduceAction587_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(72);
3854 fra.me.REG[2] = NEW_ReduceAction419_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(72);
3859 fra.me.REG[2] = NEW_ReduceAction589_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(72);
3864 fra.me.REG[2] = NEW_ReduceAction590_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(72);
3869 fra.me.REG[2] = NEW_ReduceAction591_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(72);
3874 fra.me.REG[2] = NEW_ReduceAction592_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(73);
3879 fra.me.REG[2] = NEW_ReduceAction593_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(73);
3884 fra.me.REG[2] = NEW_ReduceAction594_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(73);
3889 fra.me.REG[2] = NEW_ReduceAction595_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(73);
3894 fra.me.REG[2] = NEW_ReduceAction596_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(74);
3899 fra.me.REG[2] = NEW_ReduceAction597_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(75);
3904 fra.me.REG[2] = NEW_ReduceAction598_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(76);
3909 fra.me.REG[2] = NEW_ReduceAction597_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(77);
3914 fra.me.REG[2] = NEW_ReduceAction600_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(78);
3919 fra.me.REG[2] = NEW_ReduceAction601_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(79);
3924 fra.me.REG[2] = NEW_ReduceAction602_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(79);
3929 fra.me.REG[2] = NEW_ReduceAction603_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(80);
3934 fra.me.REG[2] = NEW_ReduceAction604_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(80);
3939 fra.me.REG[2] = NEW_ReduceAction605_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(80);
3944 fra.me.REG[2] = NEW_ReduceAction606_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(80);
3949 fra.me.REG[2] = NEW_ReduceAction607_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(81);
3954 fra.me.REG[2] = NEW_ReduceAction608_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(82);
3959 fra.me.REG[2] = NEW_ReduceAction609_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(82);
3964 fra.me.REG[2] = NEW_ReduceAction610_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(83);
3969 fra.me.REG[2] = NEW_ReduceAction608_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(84);
3974 fra.me.REG[2] = NEW_ReduceAction612_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(84);
3979 fra.me.REG[2] = NEW_ReduceAction613_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(84);
3984 fra.me.REG[2] = NEW_ReduceAction614_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(84);
3989 fra.me.REG[2] = NEW_ReduceAction615_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(84);
3994 fra.me.REG[2] = NEW_ReduceAction616_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(85);
3999 fra.me.REG[2] = NEW_ReduceAction617_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(86);
4004 fra.me.REG[2] = NEW_ReduceAction618_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(86);
4009 fra.me.REG[2] = NEW_ReduceAction619_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(87);
4014 fra.me.REG[2] = NEW_ReduceAction620_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(88);
4019 fra.me.REG[2] = NEW_ReduceAction621_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(88);
4024 fra.me.REG[2] = NEW_ReduceAction622_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(88);
4029 fra.me.REG[2] = NEW_ReduceAction622_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(88);
4034 fra.me.REG[2] = NEW_ReduceAction624_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(89);
4039 fra.me.REG[2] = NEW_ReduceAction625_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(89);
4044 fra.me.REG[2] = NEW_ReduceAction626_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(89);
4049 fra.me.REG[2] = NEW_ReduceAction627_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(89);
4054 fra.me.REG[2] = NEW_ReduceAction628_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(90);
4059 fra.me.REG[2] = NEW_ReduceAction629_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(90);
4064 fra.me.REG[2] = NEW_ReduceAction630_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(90);
4069 fra.me.REG[2] = NEW_ReduceAction631_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(91);
4074 fra.me.REG[2] = NEW_ReduceAction629_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(91);
4079 fra.me.REG[2] = NEW_ReduceAction633_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(91);
4084 fra.me.REG[2] = NEW_ReduceAction630_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(91);
4089 fra.me.REG[2] = NEW_ReduceAction631_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(92);
4094 fra.me.REG[2] = NEW_ReduceAction636_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(93);
4099 fra.me.REG[2] = NEW_ReduceAction637_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(93);
4104 fra.me.REG[2] = NEW_ReduceAction638_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(94);
4109 fra.me.REG[2] = NEW_ReduceAction639_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(95);
4114 fra.me.REG[2] = NEW_ReduceAction640_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(95);
4119 fra.me.REG[2] = NEW_ReduceAction641_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(96);
4124 fra.me.REG[2] = NEW_ReduceAction642_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(96);
4129 fra.me.REG[2] = NEW_ReduceAction643_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(96);
4134 fra.me.REG[2] = NEW_ReduceAction644_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(96);
4139 fra.me.REG[2] = NEW_ReduceAction645_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(97);
4144 fra.me.REG[2] = NEW_ReduceAction646_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(97);
4149 fra.me.REG[2] = NEW_ReduceAction647_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(97);
4154 fra.me.REG[2] = NEW_ReduceAction648_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(98);
4159 fra.me.REG[2] = NEW_ReduceAction649_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(99);
4164 fra.me.REG[2] = NEW_ReduceAction650_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(100);
4169 fra.me.REG[2] = NEW_ReduceAction651_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(100);
4174 fra.me.REG[2] = NEW_ReduceAction651_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(101);
4179 fra.me.REG[2] = NEW_ReduceAction653_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(101);
4184 fra.me.REG[2] = NEW_ReduceAction654_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(101);
4189 fra.me.REG[2] = NEW_ReduceAction70_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(102);
4194 fra.me.REG[2] = NEW_ReduceAction656_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(102);
4199 fra.me.REG[2] = NEW_ReduceAction657_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(103);
4204 fra.me.REG[2] = NEW_ReduceAction658_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(103);
4209 fra.me.REG[2] = NEW_ReduceAction659_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(103);
4214 fra.me.REG[2] = NEW_ReduceAction651_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(104);
4219 fra.me.REG[2] = NEW_ReduceAction152_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(105);
4224 fra.me.REG[2] = NEW_ReduceAction153_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(105);
4229 fra.me.REG[2] = NEW_ReduceAction154_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(105);
4234 fra.me.REG[2] = NEW_ReduceAction155_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(105);
4239 fra.me.REG[2] = NEW_ReduceAction156_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(105);
4244 fra.me.REG[2] = NEW_ReduceAction157_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(105);
4249 fra.me.REG[2] = NEW_ReduceAction158_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(105);
4254 fra.me.REG[2] = NEW_ReduceAction159_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(105);
4259 fra.me.REG[2] = NEW_ReduceAction160_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(105);
4264 fra.me.REG[2] = NEW_ReduceAction161_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(105);
4269 fra.me.REG[2] = NEW_ReduceAction162_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(105);
4274 fra.me.REG[2] = NEW_ReduceAction163_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(105);
4279 fra.me.REG[2] = NEW_ReduceAction164_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(105);
4284 fra.me.REG[2] = NEW_ReduceAction169_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(105);
4289 fra.me.REG[2] = NEW_ReduceAction170_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(105);
4294 fra.me.REG[2] = NEW_ReduceAction171_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(105);
4299 fra.me.REG[2] = NEW_ReduceAction172_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(105);
4304 fra.me.REG[2] = NEW_ReduceAction173_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(105);
4309 fra.me.REG[2] = NEW_ReduceAction174_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(105);
4314 fra.me.REG[2] = NEW_ReduceAction175_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(105);
4319 fra.me.REG[2] = NEW_ReduceAction176_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(105);
4324 fra.me.REG[2] = NEW_ReduceAction177_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(105);
4329 fra.me.REG[2] = NEW_ReduceAction178_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(105);
4334 fra.me.REG[2] = NEW_ReduceAction179_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(105);
4339 fra.me.REG[2] = NEW_ReduceAction180_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(105);
4344 fra.me.REG[2] = NEW_ReduceAction181_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(105);
4349 fra.me.REG[2] = NEW_ReduceAction182_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(105);
4354 fra.me.REG[2] = NEW_ReduceAction183_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(105);
4359 fra.me.REG[2] = NEW_ReduceAction184_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(105);
4364 fra.me.REG[2] = NEW_ReduceAction185_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(105);
4369 fra.me.REG[2] = NEW_ReduceAction186_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(105);
4374 fra.me.REG[2] = NEW_ReduceAction187_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(105);
4379 fra.me.REG[2] = NEW_ReduceAction188_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(106);
4384 fra.me.REG[2] = NEW_ReduceAction353_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(106);
4389 fra.me.REG[2] = NEW_ReduceAction354_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(106);
4394 fra.me.REG[2] = NEW_ReduceAction355_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(106);
4399 fra.me.REG[2] = NEW_ReduceAction356_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(106);
4404 fra.me.REG[2] = NEW_ReduceAction361_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(106);
4409 fra.me.REG[2] = NEW_ReduceAction362_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(107);
4414 fra.me.REG[2] = NEW_ReduceAction404_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(107);
4419 fra.me.REG[2] = NEW_ReduceAction405_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(107);
4424 fra.me.REG[2] = NEW_ReduceAction406_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(107);
4429 fra.me.REG[2] = NEW_ReduceAction407_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(108);
4434 fra.me.REG[2] = NEW_ReduceAction419_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(108);
4439 fra.me.REG[2] = NEW_ReduceAction448_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(108);
4444 fra.me.REG[2] = NEW_ReduceAction449_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(109);
4449 fra.me.REG[2] = NEW_ReduceAction419_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(109);
4454 fra.me.REG[2] = NEW_ReduceAction523_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(110);
4459 fra.me.REG[2] = NEW_ReduceAction419_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(110);
4464 fra.me.REG[2] = NEW_ReduceAction525_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(110);
4469 fra.me.REG[2] = NEW_ReduceAction526_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(110);
4474 fra.me.REG[2] = NEW_ReduceAction527_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(111);
4479 fra.me.REG[2] = NEW_ReduceAction419_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(111);
4484 fra.me.REG[2] = NEW_ReduceAction529_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(112);
4489 fra.me.REG[2] = NEW_ReduceAction419_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(112);
4494 fra.me.REG[2] = NEW_ReduceAction531_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(112);
4499 fra.me.REG[2] = NEW_ReduceAction532_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(112);
4504 fra.me.REG[2] = NEW_ReduceAction533_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(112);
4509 fra.me.REG[2] = NEW_ReduceAction534_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(112);
4514 fra.me.REG[2] = NEW_ReduceAction535_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(112);
4519 fra.me.REG[2] = NEW_ReduceAction536_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(112);
4524 fra.me.REG[2] = NEW_ReduceAction537_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(112);
4529 fra.me.REG[2] = NEW_ReduceAction538_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(112);
4534 fra.me.REG[2] = NEW_ReduceAction539_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(112);
4539 fra.me.REG[2] = NEW_ReduceAction540_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(112);
4544 fra.me.REG[2] = NEW_ReduceAction541_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(113);
4549 fra.me.REG[2] = NEW_ReduceAction419_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(113);
4554 fra.me.REG[2] = NEW_ReduceAction543_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(113);
4559 fra.me.REG[2] = NEW_ReduceAction544_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(114);
4564 fra.me.REG[2] = NEW_ReduceAction419_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(114);
4569 fra.me.REG[2] = NEW_ReduceAction546_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(114);
4574 fra.me.REG[2] = NEW_ReduceAction547_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(114);
4579 fra.me.REG[2] = NEW_ReduceAction548_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(115);
4584 fra.me.REG[2] = NEW_ReduceAction419_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(115);
4589 fra.me.REG[2] = NEW_ReduceAction550_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(115);
4594 fra.me.REG[2] = NEW_ReduceAction551_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(116);
4599 fra.me.REG[2] = NEW_ReduceAction419_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(116);
4604 fra.me.REG[2] = NEW_ReduceAction553_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(116);
4609 fra.me.REG[2] = NEW_ReduceAction554_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(116);
4614 fra.me.REG[2] = NEW_ReduceAction555_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(117);
4619 fra.me.REG[2] = NEW_ReduceAction556_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(117);
4624 fra.me.REG[2] = NEW_ReduceAction557_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(117);
4629 fra.me.REG[2] = NEW_ReduceAction446_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(117);
4634 fra.me.REG[2] = NEW_ReduceAction447_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(117);
4639 fra.me.REG[2] = NEW_ReduceAction450_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(117);
4644 fra.me.REG[2] = NEW_ReduceAction451_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(117);
4649 fra.me.REG[2] = NEW_ReduceAction452_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(117);
4654 fra.me.REG[2] = NEW_ReduceAction453_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(117);
4659 fra.me.REG[2] = NEW_ReduceAction565_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(117);
4664 fra.me.REG[2] = NEW_ReduceAction572_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(117);
4669 fra.me.REG[2] = NEW_ReduceAction573_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(117);
4674 fra.me.REG[2] = NEW_ReduceAction574_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(117);
4679 fra.me.REG[2] = NEW_ReduceAction575_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(117);
4684 fra.me.REG[2] = NEW_ReduceAction576_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(117);
4689 fra.me.REG[2] = NEW_ReduceAction577_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(117);
4694 fra.me.REG[2] = NEW_ReduceAction578_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(117);
4699 fra.me.REG[2] = NEW_ReduceAction579_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(117);
4704 fra.me.REG[2] = NEW_ReduceAction580_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(117);
4709 fra.me.REG[2] = NEW_ReduceAction581_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(117);
4714 fra.me.REG[2] = NEW_ReduceAction582_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(117);
4719 fra.me.REG[2] = NEW_ReduceAction583_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(117);
4724 fra.me.REG[2] = NEW_ReduceAction584_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(117);
4729 fra.me.REG[2] = NEW_ReduceAction585_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(117);
4734 fra.me.REG[2] = NEW_ReduceAction586_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(117);
4739 fra.me.REG[2] = NEW_ReduceAction587_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(117);
4744 fra.me.REG[2] = NEW_ReduceAction419_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(117);
4749 fra.me.REG[2] = NEW_ReduceAction589_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(117);
4754 fra.me.REG[2] = NEW_ReduceAction590_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(117);
4759 fra.me.REG[2] = NEW_ReduceAction591_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(117);
4764 fra.me.REG[2] = NEW_ReduceAction592_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(118);
4769 fra.me.REG[2] = NEW_ReduceAction404_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(118);
4774 fra.me.REG[2] = NEW_ReduceAction405_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(118);
4779 fra.me.REG[2] = NEW_ReduceAction406_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(118);
4784 fra.me.REG[2] = NEW_ReduceAction407_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(118);
4789 fra.me.REG[2] = NEW_ReduceAction408_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(118);
4794 fra.me.REG[2] = NEW_ReduceAction409_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(118);
4799 fra.me.REG[2] = NEW_ReduceAction410_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(118);
4804 fra.me.REG[2] = NEW_ReduceAction411_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(119);
4809 fra.me.REG[2] = NEW_ReduceAction419_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(119);
4814 fra.me.REG[2] = NEW_ReduceAction419_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(119);
4819 fra.me.REG[2] = NEW_ReduceAction429_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(119);
4824 fra.me.REG[2] = NEW_ReduceAction430_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(119);
4829 fra.me.REG[2] = NEW_ReduceAction431_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(119);
4834 fra.me.REG[2] = NEW_ReduceAction432_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(119);
4839 fra.me.REG[2] = NEW_ReduceAction433_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(119);
4844 fra.me.REG[2] = NEW_ReduceAction434_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(119);
4849 fra.me.REG[2] = NEW_ReduceAction435_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(119);
4854 fra.me.REG[2] = NEW_ReduceAction436_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(119);
4859 fra.me.REG[2] = NEW_ReduceAction437_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(119);
4864 fra.me.REG[2] = NEW_ReduceAction438_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(119);
4869 fra.me.REG[2] = NEW_ReduceAction439_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(119);
4874 fra.me.REG[2] = NEW_ReduceAction419_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(119);
4879 fra.me.REG[2] = NEW_ReduceAction419_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(119);
4884 fra.me.REG[2] = NEW_ReduceAction419_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(119);
4889 fra.me.REG[2] = NEW_ReduceAction419_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(119);
4894 fra.me.REG[2] = NEW_ReduceAction419_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(119);
4899 fra.me.REG[2] = NEW_ReduceAction419_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(119);
4904 fra.me.REG[2] = NEW_ReduceAction446_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(119);
4909 fra.me.REG[2] = NEW_ReduceAction447_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(119);
4914 fra.me.REG[2] = NEW_ReduceAction448_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(119);
4919 fra.me.REG[2] = NEW_ReduceAction449_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(119);
4924 fra.me.REG[2] = NEW_ReduceAction450_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(119);
4929 fra.me.REG[2] = NEW_ReduceAction451_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(119);
4934 fra.me.REG[2] = NEW_ReduceAction452_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(119);
4939 fra.me.REG[2] = NEW_ReduceAction453_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(119);
4944 fra.me.REG[2] = NEW_ReduceAction454_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(120);
4949 fra.me.REG[2] = NEW_ReduceAction484_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(120);
4954 fra.me.REG[2] = NEW_ReduceAction485_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(120);
4959 fra.me.REG[2] = NEW_ReduceAction486_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(120);
4964 fra.me.REG[2] = NEW_ReduceAction487_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(120);
4969 fra.me.REG[2] = NEW_ReduceAction488_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(120);
4974 fra.me.REG[2] = NEW_ReduceAction489_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(120);
4979 fra.me.REG[2] = NEW_ReduceAction490_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(120);
4984 fra.me.REG[2] = NEW_ReduceAction491_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(120);
4989 fra.me.REG[2] = NEW_ReduceAction492_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(120);
4994 fra.me.REG[2] = NEW_ReduceAction493_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(121);
4999 fra.me.REG[2] = NEW_ReduceAction419_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(121);
5004 fra.me.REG[2] = NEW_ReduceAction448_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(121);
5009 fra.me.REG[2] = NEW_ReduceAction449_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(122);
5014 fra.me.REG[2] = NEW_ReduceAction419_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(122);
5019 fra.me.REG[2] = NEW_ReduceAction523_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(123);
5024 fra.me.REG[2] = NEW_ReduceAction419_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(123);
5029 fra.me.REG[2] = NEW_ReduceAction525_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(123);
5034 fra.me.REG[2] = NEW_ReduceAction526_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(123);
5039 fra.me.REG[2] = NEW_ReduceAction527_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(124);
5044 fra.me.REG[2] = NEW_ReduceAction419_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(124);
5049 fra.me.REG[2] = NEW_ReduceAction529_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(125);
5054 fra.me.REG[2] = NEW_ReduceAction419_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(125);
5059 fra.me.REG[2] = NEW_ReduceAction531_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(125);
5064 fra.me.REG[2] = NEW_ReduceAction532_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(125);
5069 fra.me.REG[2] = NEW_ReduceAction533_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(125);
5074 fra.me.REG[2] = NEW_ReduceAction534_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(125);
5079 fra.me.REG[2] = NEW_ReduceAction535_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(125);
5084 fra.me.REG[2] = NEW_ReduceAction536_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(125);
5089 fra.me.REG[2] = NEW_ReduceAction537_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(125);
5094 fra.me.REG[2] = NEW_ReduceAction538_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(125);
5099 fra.me.REG[2] = NEW_ReduceAction539_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(125);
5104 fra.me.REG[2] = NEW_ReduceAction540_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(125);
5109 fra.me.REG[2] = NEW_ReduceAction541_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(126);
5114 fra.me.REG[2] = NEW_ReduceAction419_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(126);
5119 fra.me.REG[2] = NEW_ReduceAction543_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(126);
5124 fra.me.REG[2] = NEW_ReduceAction544_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(127);
5129 fra.me.REG[2] = NEW_ReduceAction419_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(127);
5134 fra.me.REG[2] = NEW_ReduceAction546_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(127);
5139 fra.me.REG[2] = NEW_ReduceAction547_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(127);
5144 fra.me.REG[2] = NEW_ReduceAction548_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(128);
5149 fra.me.REG[2] = NEW_ReduceAction419_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(128);
5154 fra.me.REG[2] = NEW_ReduceAction550_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(128);
5159 fra.me.REG[2] = NEW_ReduceAction551_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(129);
5164 fra.me.REG[2] = NEW_ReduceAction419_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(129);
5169 fra.me.REG[2] = NEW_ReduceAction553_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(129);
5174 fra.me.REG[2] = NEW_ReduceAction554_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(129);
5179 fra.me.REG[2] = NEW_ReduceAction555_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(130);
5184 fra.me.REG[2] = NEW_ReduceAction556_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(130);
5189 fra.me.REG[2] = NEW_ReduceAction557_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(130);
5194 fra.me.REG[2] = NEW_ReduceAction446_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(130);
5199 fra.me.REG[2] = NEW_ReduceAction447_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(130);
5204 fra.me.REG[2] = NEW_ReduceAction450_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(130);
5209 fra.me.REG[2] = NEW_ReduceAction451_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(130);
5214 fra.me.REG[2] = NEW_ReduceAction452_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(130);
5219 fra.me.REG[2] = NEW_ReduceAction453_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(130);
5224 fra.me.REG[2] = NEW_ReduceAction564_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(130);
5229 fra.me.REG[2] = NEW_ReduceAction565_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(130);
5234 fra.me.REG[2] = NEW_ReduceAction572_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(130);
5239 fra.me.REG[2] = NEW_ReduceAction573_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 /* parser/parser.nit:1021 */
5243 REGB0 = TAG_Int(130);
5244 fra.me.REG[2] = NEW_ReduceAction574_parser___ReduceAction___init(REGB0);
5245 /* parser/parser.nit:154 */
5246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5247 /* parser/parser.nit:1022 */
5248 REGB0 = TAG_Int(130);
5249 fra.me.REG[2] = NEW_ReduceAction575_parser___ReduceAction___init(REGB0);
5250 /* parser/parser.nit:154 */
5251 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5252 /* parser/parser.nit:1023 */
5253 REGB0 = TAG_Int(130);
5254 fra.me.REG[2] = NEW_ReduceAction576_parser___ReduceAction___init(REGB0);
5255 /* parser/parser.nit:154 */
5256 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5257 /* parser/parser.nit:1024 */
5258 REGB0 = TAG_Int(130);
5259 fra.me.REG[2] = NEW_ReduceAction577_parser___ReduceAction___init(REGB0);
5260 /* parser/parser.nit:154 */
5261 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5262 /* parser/parser.nit:1025 */
5263 REGB0 = TAG_Int(130);
5264 fra.me.REG[2] = NEW_ReduceAction578_parser___ReduceAction___init(REGB0);
5265 /* parser/parser.nit:154 */
5266 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5267 /* parser/parser.nit:1026 */
5268 REGB0 = TAG_Int(130);
5269 fra.me.REG[2] = NEW_ReduceAction579_parser___ReduceAction___init(REGB0);
5270 /* parser/parser.nit:154 */
5271 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5272 /* parser/parser.nit:1027 */
5273 REGB0 = TAG_Int(130);
5274 fra.me.REG[2] = NEW_ReduceAction580_parser___ReduceAction___init(REGB0);
5275 /* parser/parser.nit:154 */
5276 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5277 /* parser/parser.nit:1028 */
5278 REGB0 = TAG_Int(130);
5279 fra.me.REG[2] = NEW_ReduceAction581_parser___ReduceAction___init(REGB0);
5280 /* parser/parser.nit:154 */
5281 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5282 /* parser/parser.nit:1029 */
5283 REGB0 = TAG_Int(130);
5284 fra.me.REG[2] = NEW_ReduceAction582_parser___ReduceAction___init(REGB0);
5285 /* parser/parser.nit:154 */
5286 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5287 /* parser/parser.nit:1030 */
5288 REGB0 = TAG_Int(130);
5289 fra.me.REG[2] = NEW_ReduceAction583_parser___ReduceAction___init(REGB0);
5290 /* parser/parser.nit:154 */
5291 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5292 /* parser/parser.nit:1031 */
5293 REGB0 = TAG_Int(130);
5294 fra.me.REG[2] = NEW_ReduceAction584_parser___ReduceAction___init(REGB0);
5295 /* parser/parser.nit:154 */
5296 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5297 /* parser/parser.nit:1032 */
5298 REGB0 = TAG_Int(130);
5299 fra.me.REG[2] = NEW_ReduceAction585_parser___ReduceAction___init(REGB0);
5300 /* parser/parser.nit:154 */
5301 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5302 /* parser/parser.nit:1033 */
5303 REGB0 = TAG_Int(130);
5304 fra.me.REG[2] = NEW_ReduceAction586_parser___ReduceAction___init(REGB0);
5305 /* parser/parser.nit:154 */
5306 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5307 /* parser/parser.nit:1034 */
5308 REGB0 = TAG_Int(130);
5309 fra.me.REG[2] = NEW_ReduceAction587_parser___ReduceAction___init(REGB0);
5310 /* parser/parser.nit:154 */
5311 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5312 /* parser/parser.nit:1035 */
5313 REGB0 = TAG_Int(130);
5314 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5315 /* parser/parser.nit:154 */
5316 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5317 /* parser/parser.nit:1036 */
5318 REGB0 = TAG_Int(130);
5319 fra.me.REG[2] = NEW_ReduceAction591_parser___ReduceAction___init(REGB0);
5320 /* parser/parser.nit:154 */
5321 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5322 /* parser/parser.nit:1037 */
5323 REGB0 = TAG_Int(130);
5324 fra.me.REG[2] = NEW_ReduceAction592_parser___ReduceAction___init(REGB0);
5325 /* parser/parser.nit:154 */
5326 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5327 /* parser/parser.nit:1038 */
5328 REGB0 = TAG_Int(131);
5329 fra.me.REG[2] = NEW_ReduceAction602_parser___ReduceAction___init(REGB0);
5330 /* parser/parser.nit:154 */
5331 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5332 /* parser/parser.nit:1039 */
5333 REGB0 = TAG_Int(131);
5334 fra.me.REG[2] = NEW_ReduceAction603_parser___ReduceAction___init(REGB0);
5335 /* parser/parser.nit:154 */
5336 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5337 /* parser/parser.nit:1040 */
5338 REGB0 = TAG_Int(132);
5339 fra.me.REG[2] = NEW_ReduceAction604_parser___ReduceAction___init(REGB0);
5340 /* parser/parser.nit:154 */
5341 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5342 /* parser/parser.nit:1041 */
5343 REGB0 = TAG_Int(132);
5344 fra.me.REG[2] = NEW_ReduceAction605_parser___ReduceAction___init(REGB0);
5345 /* parser/parser.nit:154 */
5346 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5347 /* parser/parser.nit:1042 */
5348 REGB0 = TAG_Int(133);
5349 fra.me.REG[2] = NEW_ReduceAction618_parser___ReduceAction___init(REGB0);
5350 /* parser/parser.nit:154 */
5351 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5352 /* parser/parser.nit:1043 */
5353 REGB0 = TAG_Int(133);
5354 fra.me.REG[2] = NEW_ReduceAction619_parser___ReduceAction___init(REGB0);
5355 /* parser/parser.nit:154 */
5356 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5357 /* parser/parser.nit:1044 */
5358 REGB0 = TAG_Int(134);
5359 fra.me.REG[2] = NEW_ReduceAction621_parser___ReduceAction___init(REGB0);
5360 /* parser/parser.nit:154 */
5361 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5362 /* parser/parser.nit:1045 */
5363 REGB0 = TAG_Int(134);
5364 fra.me.REG[2] = NEW_ReduceAction622_parser___ReduceAction___init(REGB0);
5365 /* parser/parser.nit:154 */
5366 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5367 /* parser/parser.nit:1046 */
5368 REGB0 = TAG_Int(134);
5369 fra.me.REG[2] = NEW_ReduceAction622_parser___ReduceAction___init(REGB0);
5370 /* parser/parser.nit:154 */
5371 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5372 /* parser/parser.nit:1047 */
5373 REGB0 = TAG_Int(135);
5374 fra.me.REG[2] = NEW_ReduceAction404_parser___ReduceAction___init(REGB0);
5375 /* parser/parser.nit:154 */
5376 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5377 /* parser/parser.nit:1048 */
5378 REGB0 = TAG_Int(135);
5379 fra.me.REG[2] = NEW_ReduceAction405_parser___ReduceAction___init(REGB0);
5380 /* parser/parser.nit:154 */
5381 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5382 /* parser/parser.nit:1049 */
5383 REGB0 = TAG_Int(135);
5384 fra.me.REG[2] = NEW_ReduceAction406_parser___ReduceAction___init(REGB0);
5385 /* parser/parser.nit:154 */
5386 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5387 /* parser/parser.nit:1050 */
5388 REGB0 = TAG_Int(135);
5389 fra.me.REG[2] = NEW_ReduceAction407_parser___ReduceAction___init(REGB0);
5390 /* parser/parser.nit:154 */
5391 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5392 /* parser/parser.nit:1051 */
5393 REGB0 = TAG_Int(136);
5394 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5395 /* parser/parser.nit:154 */
5396 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5397 /* parser/parser.nit:1052 */
5398 REGB0 = TAG_Int(136);
5399 fra.me.REG[2] = NEW_ReduceAction448_parser___ReduceAction___init(REGB0);
5400 /* parser/parser.nit:154 */
5401 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5402 /* parser/parser.nit:1053 */
5403 REGB0 = TAG_Int(136);
5404 fra.me.REG[2] = NEW_ReduceAction449_parser___ReduceAction___init(REGB0);
5405 /* parser/parser.nit:154 */
5406 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5407 /* parser/parser.nit:1054 */
5408 REGB0 = TAG_Int(137);
5409 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5410 /* parser/parser.nit:154 */
5411 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5412 /* parser/parser.nit:1055 */
5413 REGB0 = TAG_Int(137);
5414 fra.me.REG[2] = NEW_ReduceAction523_parser___ReduceAction___init(REGB0);
5415 /* parser/parser.nit:154 */
5416 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5417 /* parser/parser.nit:1056 */
5418 REGB0 = TAG_Int(138);
5419 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5420 /* parser/parser.nit:154 */
5421 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5422 /* parser/parser.nit:1057 */
5423 REGB0 = TAG_Int(138);
5424 fra.me.REG[2] = NEW_ReduceAction525_parser___ReduceAction___init(REGB0);
5425 /* parser/parser.nit:154 */
5426 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5427 /* parser/parser.nit:1058 */
5428 REGB0 = TAG_Int(138);
5429 fra.me.REG[2] = NEW_ReduceAction526_parser___ReduceAction___init(REGB0);
5430 /* parser/parser.nit:154 */
5431 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5432 /* parser/parser.nit:1059 */
5433 REGB0 = TAG_Int(138);
5434 fra.me.REG[2] = NEW_ReduceAction527_parser___ReduceAction___init(REGB0);
5435 /* parser/parser.nit:154 */
5436 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5437 /* parser/parser.nit:1060 */
5438 REGB0 = TAG_Int(139);
5439 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5440 /* parser/parser.nit:154 */
5441 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5442 /* parser/parser.nit:1061 */
5443 REGB0 = TAG_Int(139);
5444 fra.me.REG[2] = NEW_ReduceAction529_parser___ReduceAction___init(REGB0);
5445 /* parser/parser.nit:154 */
5446 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5447 /* parser/parser.nit:1062 */
5448 REGB0 = TAG_Int(140);
5449 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5450 /* parser/parser.nit:154 */
5451 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5452 /* parser/parser.nit:1063 */
5453 REGB0 = TAG_Int(140);
5454 fra.me.REG[2] = NEW_ReduceAction531_parser___ReduceAction___init(REGB0);
5455 /* parser/parser.nit:154 */
5456 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5457 /* parser/parser.nit:1064 */
5458 REGB0 = TAG_Int(140);
5459 fra.me.REG[2] = NEW_ReduceAction532_parser___ReduceAction___init(REGB0);
5460 /* parser/parser.nit:154 */
5461 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5462 /* parser/parser.nit:1065 */
5463 REGB0 = TAG_Int(140);
5464 fra.me.REG[2] = NEW_ReduceAction533_parser___ReduceAction___init(REGB0);
5465 /* parser/parser.nit:154 */
5466 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5467 /* parser/parser.nit:1066 */
5468 REGB0 = TAG_Int(140);
5469 fra.me.REG[2] = NEW_ReduceAction534_parser___ReduceAction___init(REGB0);
5470 /* parser/parser.nit:154 */
5471 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5472 /* parser/parser.nit:1067 */
5473 REGB0 = TAG_Int(140);
5474 fra.me.REG[2] = NEW_ReduceAction535_parser___ReduceAction___init(REGB0);
5475 /* parser/parser.nit:154 */
5476 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5477 /* parser/parser.nit:1068 */
5478 REGB0 = TAG_Int(140);
5479 fra.me.REG[2] = NEW_ReduceAction536_parser___ReduceAction___init(REGB0);
5480 /* parser/parser.nit:154 */
5481 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5482 /* parser/parser.nit:1069 */
5483 REGB0 = TAG_Int(140);
5484 fra.me.REG[2] = NEW_ReduceAction537_parser___ReduceAction___init(REGB0);
5485 /* parser/parser.nit:154 */
5486 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5487 /* parser/parser.nit:1070 */
5488 REGB0 = TAG_Int(140);
5489 fra.me.REG[2] = NEW_ReduceAction538_parser___ReduceAction___init(REGB0);
5490 /* parser/parser.nit:154 */
5491 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5492 /* parser/parser.nit:1071 */
5493 REGB0 = TAG_Int(140);
5494 fra.me.REG[2] = NEW_ReduceAction539_parser___ReduceAction___init(REGB0);
5495 /* parser/parser.nit:154 */
5496 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5497 /* parser/parser.nit:1072 */
5498 REGB0 = TAG_Int(140);
5499 fra.me.REG[2] = NEW_ReduceAction540_parser___ReduceAction___init(REGB0);
5500 /* parser/parser.nit:154 */
5501 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5502 /* parser/parser.nit:1073 */
5503 REGB0 = TAG_Int(140);
5504 fra.me.REG[2] = NEW_ReduceAction541_parser___ReduceAction___init(REGB0);
5505 /* parser/parser.nit:154 */
5506 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5507 /* parser/parser.nit:1074 */
5508 REGB0 = TAG_Int(141);
5509 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5510 /* parser/parser.nit:154 */
5511 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5512 /* parser/parser.nit:1075 */
5513 REGB0 = TAG_Int(141);
5514 fra.me.REG[2] = NEW_ReduceAction543_parser___ReduceAction___init(REGB0);
5515 /* parser/parser.nit:154 */
5516 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5517 /* parser/parser.nit:1076 */
5518 REGB0 = TAG_Int(141);
5519 fra.me.REG[2] = NEW_ReduceAction544_parser___ReduceAction___init(REGB0);
5520 /* parser/parser.nit:154 */
5521 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5522 /* parser/parser.nit:1077 */
5523 REGB0 = TAG_Int(142);
5524 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5525 /* parser/parser.nit:154 */
5526 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5527 /* parser/parser.nit:1078 */
5528 REGB0 = TAG_Int(142);
5529 fra.me.REG[2] = NEW_ReduceAction546_parser___ReduceAction___init(REGB0);
5530 /* parser/parser.nit:154 */
5531 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5532 /* parser/parser.nit:1079 */
5533 REGB0 = TAG_Int(142);
5534 fra.me.REG[2] = NEW_ReduceAction547_parser___ReduceAction___init(REGB0);
5535 /* parser/parser.nit:154 */
5536 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5537 /* parser/parser.nit:1080 */
5538 REGB0 = TAG_Int(142);
5539 fra.me.REG[2] = NEW_ReduceAction548_parser___ReduceAction___init(REGB0);
5540 /* parser/parser.nit:154 */
5541 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5542 /* parser/parser.nit:1081 */
5543 REGB0 = TAG_Int(143);
5544 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5545 /* parser/parser.nit:154 */
5546 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5547 /* parser/parser.nit:1082 */
5548 REGB0 = TAG_Int(143);
5549 fra.me.REG[2] = NEW_ReduceAction550_parser___ReduceAction___init(REGB0);
5550 /* parser/parser.nit:154 */
5551 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5552 /* parser/parser.nit:1083 */
5553 REGB0 = TAG_Int(143);
5554 fra.me.REG[2] = NEW_ReduceAction551_parser___ReduceAction___init(REGB0);
5555 /* parser/parser.nit:154 */
5556 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5557 /* parser/parser.nit:1084 */
5558 REGB0 = TAG_Int(144);
5559 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5560 /* parser/parser.nit:154 */
5561 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5562 /* parser/parser.nit:1085 */
5563 REGB0 = TAG_Int(144);
5564 fra.me.REG[2] = NEW_ReduceAction553_parser___ReduceAction___init(REGB0);
5565 /* parser/parser.nit:154 */
5566 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5567 /* parser/parser.nit:1086 */
5568 REGB0 = TAG_Int(144);
5569 fra.me.REG[2] = NEW_ReduceAction931_parser___ReduceAction___init(REGB0);
5570 /* parser/parser.nit:154 */
5571 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5572 /* parser/parser.nit:1087 */
5573 REGB0 = TAG_Int(145);
5574 fra.me.REG[2] = NEW_ReduceAction932_parser___ReduceAction___init(REGB0);
5575 /* parser/parser.nit:154 */
5576 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5577 /* parser/parser.nit:1088 */
5578 REGB0 = TAG_Int(145);
5579 fra.me.REG[2] = NEW_ReduceAction933_parser___ReduceAction___init(REGB0);
5580 /* parser/parser.nit:154 */
5581 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5582 /* parser/parser.nit:1089 */
5583 REGB0 = TAG_Int(145);
5584 fra.me.REG[2] = NEW_ReduceAction450_parser___ReduceAction___init(REGB0);
5585 /* parser/parser.nit:154 */
5586 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5587 /* parser/parser.nit:1090 */
5588 REGB0 = TAG_Int(145);
5589 fra.me.REG[2] = NEW_ReduceAction451_parser___ReduceAction___init(REGB0);
5590 /* parser/parser.nit:154 */
5591 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5592 /* parser/parser.nit:1091 */
5593 REGB0 = TAG_Int(145);
5594 fra.me.REG[2] = NEW_ReduceAction936_parser___ReduceAction___init(REGB0);
5595 /* parser/parser.nit:154 */
5596 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5597 /* parser/parser.nit:1092 */
5598 REGB0 = TAG_Int(145);
5599 fra.me.REG[2] = NEW_ReduceAction565_parser___ReduceAction___init(REGB0);
5600 /* parser/parser.nit:154 */
5601 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5602 /* parser/parser.nit:1093 */
5603 REGB0 = TAG_Int(145);
5604 fra.me.REG[2] = NEW_ReduceAction572_parser___ReduceAction___init(REGB0);
5605 /* parser/parser.nit:154 */
5606 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5607 /* parser/parser.nit:1094 */
5608 REGB0 = TAG_Int(145);
5609 fra.me.REG[2] = NEW_ReduceAction573_parser___ReduceAction___init(REGB0);
5610 /* parser/parser.nit:154 */
5611 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5612 /* parser/parser.nit:1095 */
5613 REGB0 = TAG_Int(145);
5614 fra.me.REG[2] = NEW_ReduceAction574_parser___ReduceAction___init(REGB0);
5615 /* parser/parser.nit:154 */
5616 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5617 /* parser/parser.nit:1096 */
5618 REGB0 = TAG_Int(145);
5619 fra.me.REG[2] = NEW_ReduceAction575_parser___ReduceAction___init(REGB0);
5620 /* parser/parser.nit:154 */
5621 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5622 /* parser/parser.nit:1097 */
5623 REGB0 = TAG_Int(145);
5624 fra.me.REG[2] = NEW_ReduceAction576_parser___ReduceAction___init(REGB0);
5625 /* parser/parser.nit:154 */
5626 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5627 /* parser/parser.nit:1098 */
5628 REGB0 = TAG_Int(145);
5629 fra.me.REG[2] = NEW_ReduceAction577_parser___ReduceAction___init(REGB0);
5630 /* parser/parser.nit:154 */
5631 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5632 /* parser/parser.nit:1099 */
5633 REGB0 = TAG_Int(145);
5634 fra.me.REG[2] = NEW_ReduceAction578_parser___ReduceAction___init(REGB0);
5635 /* parser/parser.nit:154 */
5636 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5637 /* parser/parser.nit:1100 */
5638 REGB0 = TAG_Int(145);
5639 fra.me.REG[2] = NEW_ReduceAction579_parser___ReduceAction___init(REGB0);
5640 /* parser/parser.nit:154 */
5641 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5642 /* parser/parser.nit:1101 */
5643 REGB0 = TAG_Int(145);
5644 fra.me.REG[2] = NEW_ReduceAction580_parser___ReduceAction___init(REGB0);
5645 /* parser/parser.nit:154 */
5646 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5647 /* parser/parser.nit:1102 */
5648 REGB0 = TAG_Int(145);
5649 fra.me.REG[2] = NEW_ReduceAction581_parser___ReduceAction___init(REGB0);
5650 /* parser/parser.nit:154 */
5651 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5652 /* parser/parser.nit:1103 */
5653 REGB0 = TAG_Int(145);
5654 fra.me.REG[2] = NEW_ReduceAction582_parser___ReduceAction___init(REGB0);
5655 /* parser/parser.nit:154 */
5656 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5657 /* parser/parser.nit:1104 */
5658 REGB0 = TAG_Int(145);
5659 fra.me.REG[2] = NEW_ReduceAction583_parser___ReduceAction___init(REGB0);
5660 /* parser/parser.nit:154 */
5661 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5662 /* parser/parser.nit:1105 */
5663 REGB0 = TAG_Int(145);
5664 fra.me.REG[2] = NEW_ReduceAction584_parser___ReduceAction___init(REGB0);
5665 /* parser/parser.nit:154 */
5666 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5667 /* parser/parser.nit:1106 */
5668 REGB0 = TAG_Int(145);
5669 fra.me.REG[2] = NEW_ReduceAction585_parser___ReduceAction___init(REGB0);
5670 /* parser/parser.nit:154 */
5671 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5672 /* parser/parser.nit:1107 */
5673 REGB0 = TAG_Int(145);
5674 fra.me.REG[2] = NEW_ReduceAction586_parser___ReduceAction___init(REGB0);
5675 /* parser/parser.nit:154 */
5676 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5677 /* parser/parser.nit:1108 */
5678 REGB0 = TAG_Int(145);
5679 fra.me.REG[2] = NEW_ReduceAction587_parser___ReduceAction___init(REGB0);
5680 /* parser/parser.nit:154 */
5681 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5682 /* parser/parser.nit:1109 */
5683 REGB0 = TAG_Int(145);
5684 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5685 /* parser/parser.nit:154 */
5686 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5687 /* parser/parser.nit:1110 */
5688 REGB0 = TAG_Int(145);
5689 fra.me.REG[2] = NEW_ReduceAction591_parser___ReduceAction___init(REGB0);
5690 /* parser/parser.nit:154 */
5691 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5692 /* parser/parser.nit:1111 */
5693 REGB0 = TAG_Int(145);
5694 fra.me.REG[2] = NEW_ReduceAction592_parser___ReduceAction___init(REGB0);
5695 /* parser/parser.nit:154 */
5696 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5697 /* parser/parser.nit:1112 */
5698 REGB0 = TAG_Int(146);
5699 fra.me.REG[2] = NEW_ReduceAction957_parser___ReduceAction___init(REGB0);
5700 /* parser/parser.nit:154 */
5701 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5702 /* parser/parser.nit:1113 */
5703 REGB0 = TAG_Int(146);
5704 fra.me.REG[2] = NEW_ReduceAction958_parser___ReduceAction___init(REGB0);
5705 /* parser/parser.nit:154 */
5706 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5707 /* parser/parser.nit:1114 */
5708 REGB0 = TAG_Int(147);
5709 fra.me.REG[2] = NEW_ReduceAction416_parser___ReduceAction___init(REGB0);
5710 /* parser/parser.nit:154 */
5711 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5712 /* parser/parser.nit:1115 */
5713 REGB0 = TAG_Int(147);
5714 fra.me.REG[2] = NEW_ReduceAction417_parser___ReduceAction___init(REGB0);
5715 /* parser/parser.nit:154 */
5716 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5717 /* parser/parser.nit:1116 */
5718 REGB0 = TAG_Int(147);
5719 fra.me.REG[2] = NEW_ReduceAction418_parser___ReduceAction___init(REGB0);
5720 /* parser/parser.nit:154 */
5721 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5722 /* parser/parser.nit:1117 */
5723 REGB0 = TAG_Int(147);
5724 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5725 /* parser/parser.nit:154 */
5726 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5727 /* parser/parser.nit:1118 */
5728 REGB0 = TAG_Int(148);
5729 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5730 /* parser/parser.nit:154 */
5731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5732 /* parser/parser.nit:1119 */
5733 REGB0 = TAG_Int(148);
5734 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5735 /* parser/parser.nit:154 */
5736 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5737 /* parser/parser.nit:1120 */
5738 REGB0 = TAG_Int(148);
5739 fra.me.REG[2] = NEW_ReduceAction429_parser___ReduceAction___init(REGB0);
5740 /* parser/parser.nit:154 */
5741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5742 /* parser/parser.nit:1121 */
5743 REGB0 = TAG_Int(148);
5744 fra.me.REG[2] = NEW_ReduceAction430_parser___ReduceAction___init(REGB0);
5745 /* parser/parser.nit:154 */
5746 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5747 /* parser/parser.nit:1122 */
5748 REGB0 = TAG_Int(148);
5749 fra.me.REG[2] = NEW_ReduceAction431_parser___ReduceAction___init(REGB0);
5750 /* parser/parser.nit:154 */
5751 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5752 /* parser/parser.nit:1123 */
5753 REGB0 = TAG_Int(148);
5754 fra.me.REG[2] = NEW_ReduceAction432_parser___ReduceAction___init(REGB0);
5755 /* parser/parser.nit:154 */
5756 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5757 /* parser/parser.nit:1124 */
5758 REGB0 = TAG_Int(148);
5759 fra.me.REG[2] = NEW_ReduceAction433_parser___ReduceAction___init(REGB0);
5760 /* parser/parser.nit:154 */
5761 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5762 /* parser/parser.nit:1125 */
5763 REGB0 = TAG_Int(148);
5764 fra.me.REG[2] = NEW_ReduceAction434_parser___ReduceAction___init(REGB0);
5765 /* parser/parser.nit:154 */
5766 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5767 /* parser/parser.nit:1126 */
5768 REGB0 = TAG_Int(148);
5769 fra.me.REG[2] = NEW_ReduceAction435_parser___ReduceAction___init(REGB0);
5770 /* parser/parser.nit:154 */
5771 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5772 /* parser/parser.nit:1127 */
5773 REGB0 = TAG_Int(148);
5774 fra.me.REG[2] = NEW_ReduceAction436_parser___ReduceAction___init(REGB0);
5775 /* parser/parser.nit:154 */
5776 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5777 /* parser/parser.nit:1128 */
5778 REGB0 = TAG_Int(148);
5779 fra.me.REG[2] = NEW_ReduceAction437_parser___ReduceAction___init(REGB0);
5780 /* parser/parser.nit:154 */
5781 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5782 /* parser/parser.nit:1129 */
5783 REGB0 = TAG_Int(148);
5784 fra.me.REG[2] = NEW_ReduceAction438_parser___ReduceAction___init(REGB0);
5785 /* parser/parser.nit:154 */
5786 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5787 /* parser/parser.nit:1130 */
5788 REGB0 = TAG_Int(148);
5789 fra.me.REG[2] = NEW_ReduceAction439_parser___ReduceAction___init(REGB0);
5790 /* parser/parser.nit:154 */
5791 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5792 /* parser/parser.nit:1131 */
5793 REGB0 = TAG_Int(148);
5794 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5795 /* parser/parser.nit:154 */
5796 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5797 /* parser/parser.nit:1132 */
5798 REGB0 = TAG_Int(148);
5799 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5800 /* parser/parser.nit:154 */
5801 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5802 /* parser/parser.nit:1133 */
5803 REGB0 = TAG_Int(148);
5804 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5805 /* parser/parser.nit:154 */
5806 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5807 /* parser/parser.nit:1134 */
5808 REGB0 = TAG_Int(148);
5809 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5810 /* parser/parser.nit:154 */
5811 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5812 /* parser/parser.nit:1135 */
5813 REGB0 = TAG_Int(148);
5814 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5815 /* parser/parser.nit:154 */
5816 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5817 /* parser/parser.nit:1136 */
5818 REGB0 = TAG_Int(148);
5819 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
5820 /* parser/parser.nit:154 */
5821 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5822 /* parser/parser.nit:1137 */
5823 REGB0 = TAG_Int(148);
5824 fra.me.REG[2] = NEW_ReduceAction446_parser___ReduceAction___init(REGB0);
5825 /* parser/parser.nit:154 */
5826 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5827 /* parser/parser.nit:1138 */
5828 REGB0 = TAG_Int(148);
5829 fra.me.REG[2] = NEW_ReduceAction447_parser___ReduceAction___init(REGB0);
5830 /* parser/parser.nit:154 */
5831 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5832 /* parser/parser.nit:1139 */
5833 REGB0 = TAG_Int(148);
5834 fra.me.REG[2] = NEW_ReduceAction448_parser___ReduceAction___init(REGB0);
5835 /* parser/parser.nit:154 */
5836 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5837 /* parser/parser.nit:1140 */
5838 REGB0 = TAG_Int(148);
5839 fra.me.REG[2] = NEW_ReduceAction449_parser___ReduceAction___init(REGB0);
5840 /* parser/parser.nit:154 */
5841 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5842 /* parser/parser.nit:1141 */
5843 REGB0 = TAG_Int(148);
5844 fra.me.REG[2] = NEW_ReduceAction450_parser___ReduceAction___init(REGB0);
5845 /* parser/parser.nit:154 */
5846 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5847 /* parser/parser.nit:1142 */
5848 REGB0 = TAG_Int(148);
5849 fra.me.REG[2] = NEW_ReduceAction451_parser___ReduceAction___init(REGB0);
5850 /* parser/parser.nit:154 */
5851 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5852 /* parser/parser.nit:1143 */
5853 REGB0 = TAG_Int(148);
5854 fra.me.REG[2] = NEW_ReduceAction452_parser___ReduceAction___init(REGB0);
5855 /* parser/parser.nit:154 */
5856 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5857 /* parser/parser.nit:1144 */
5858 REGB0 = TAG_Int(148);
5859 fra.me.REG[2] = NEW_ReduceAction453_parser___ReduceAction___init(REGB0);
5860 /* parser/parser.nit:154 */
5861 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5862 /* parser/parser.nit:1145 */
5863 REGB0 = TAG_Int(148);
5864 fra.me.REG[2] = NEW_ReduceAction454_parser___ReduceAction___init(REGB0);
5865 /* parser/parser.nit:154 */
5866 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5867 /* parser/parser.nit:1146 */
5868 REGB0 = TAG_Int(149);
5869 fra.me.REG[2] = NEW_ReduceAction456_parser___ReduceAction___init(REGB0);
5870 /* parser/parser.nit:154 */
5871 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5872 /* parser/parser.nit:1147 */
5873 REGB0 = TAG_Int(149);
5874 fra.me.REG[2] = NEW_ReduceAction457_parser___ReduceAction___init(REGB0);
5875 /* parser/parser.nit:154 */
5876 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5877 /* parser/parser.nit:1148 */
5878 REGB0 = TAG_Int(150);
5879 fra.me.REG[2] = NEW_ReduceAction458_parser___ReduceAction___init(REGB0);
5880 /* parser/parser.nit:154 */
5881 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5882 /* parser/parser.nit:1149 */
5883 REGB0 = TAG_Int(150);
5884 fra.me.REG[2] = NEW_ReduceAction459_parser___ReduceAction___init(REGB0);
5885 /* parser/parser.nit:154 */
5886 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5887 /* parser/parser.nit:1150 */
5888 REGB0 = TAG_Int(150);
5889 fra.me.REG[2] = NEW_ReduceAction460_parser___ReduceAction___init(REGB0);
5890 /* parser/parser.nit:154 */
5891 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5892 /* parser/parser.nit:1151 */
5893 REGB0 = TAG_Int(150);
5894 fra.me.REG[2] = NEW_ReduceAction461_parser___ReduceAction___init(REGB0);
5895 /* parser/parser.nit:154 */
5896 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5897 /* parser/parser.nit:1152 */
5898 REGB0 = TAG_Int(150);
5899 fra.me.REG[2] = NEW_ReduceAction462_parser___ReduceAction___init(REGB0);
5900 /* parser/parser.nit:154 */
5901 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5902 /* parser/parser.nit:1153 */
5903 REGB0 = TAG_Int(150);
5904 fra.me.REG[2] = NEW_ReduceAction463_parser___ReduceAction___init(REGB0);
5905 /* parser/parser.nit:154 */
5906 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5907 /* parser/parser.nit:1154 */
5908 REGB0 = TAG_Int(150);
5909 fra.me.REG[2] = NEW_ReduceAction464_parser___ReduceAction___init(REGB0);
5910 /* parser/parser.nit:154 */
5911 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5912 /* parser/parser.nit:1155 */
5913 REGB0 = TAG_Int(150);
5914 fra.me.REG[2] = NEW_ReduceAction465_parser___ReduceAction___init(REGB0);
5915 /* parser/parser.nit:154 */
5916 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5917 /* parser/parser.nit:1156 */
5918 REGB0 = TAG_Int(150);
5919 fra.me.REG[2] = NEW_ReduceAction466_parser___ReduceAction___init(REGB0);
5920 /* parser/parser.nit:154 */
5921 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5922 /* parser/parser.nit:1157 */
5923 REGB0 = TAG_Int(151);
5924 fra.me.REG[2] = NEW_ReduceAction475_parser___ReduceAction___init(REGB0);
5925 /* parser/parser.nit:154 */
5926 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5927 /* parser/parser.nit:1158 */
5928 REGB0 = TAG_Int(152);
5929 fra.me.REG[2] = NEW_ReduceAction476_parser___ReduceAction___init(REGB0);
5930 /* parser/parser.nit:154 */
5931 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5932 /* parser/parser.nit:1159 */
5933 REGB0 = TAG_Int(152);
5934 fra.me.REG[2] = NEW_ReduceAction477_parser___ReduceAction___init(REGB0);
5935 /* parser/parser.nit:154 */
5936 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5937 /* parser/parser.nit:1160 */
5938 REGB0 = TAG_Int(152);
5939 fra.me.REG[2] = NEW_ReduceAction478_parser___ReduceAction___init(REGB0);
5940 /* parser/parser.nit:154 */
5941 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5942 /* parser/parser.nit:1161 */
5943 REGB0 = TAG_Int(152);
5944 fra.me.REG[2] = NEW_ReduceAction479_parser___ReduceAction___init(REGB0);
5945 /* parser/parser.nit:154 */
5946 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5947 /* parser/parser.nit:1162 */
5948 REGB0 = TAG_Int(152);
5949 fra.me.REG[2] = NEW_ReduceAction480_parser___ReduceAction___init(REGB0);
5950 /* parser/parser.nit:154 */
5951 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5952 /* parser/parser.nit:1163 */
5953 REGB0 = TAG_Int(152);
5954 fra.me.REG[2] = NEW_ReduceAction481_parser___ReduceAction___init(REGB0);
5955 /* parser/parser.nit:154 */
5956 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5957 /* parser/parser.nit:1164 */
5958 REGB0 = TAG_Int(152);
5959 fra.me.REG[2] = NEW_ReduceAction482_parser___ReduceAction___init(REGB0);
5960 /* parser/parser.nit:154 */
5961 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5962 /* parser/parser.nit:1165 */
5963 REGB0 = TAG_Int(152);
5964 fra.me.REG[2] = NEW_ReduceAction483_parser___ReduceAction___init(REGB0);
5965 /* parser/parser.nit:154 */
5966 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5967 /* parser/parser.nit:1166 */
5968 REGB0 = TAG_Int(153);
5969 fra.me.REG[2] = NEW_ReduceAction484_parser___ReduceAction___init(REGB0);
5970 /* parser/parser.nit:154 */
5971 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5972 /* parser/parser.nit:1167 */
5973 REGB0 = TAG_Int(153);
5974 fra.me.REG[2] = NEW_ReduceAction485_parser___ReduceAction___init(REGB0);
5975 /* parser/parser.nit:154 */
5976 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5977 /* parser/parser.nit:1168 */
5978 REGB0 = TAG_Int(153);
5979 fra.me.REG[2] = NEW_ReduceAction486_parser___ReduceAction___init(REGB0);
5980 /* parser/parser.nit:154 */
5981 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5982 /* parser/parser.nit:1169 */
5983 REGB0 = TAG_Int(153);
5984 fra.me.REG[2] = NEW_ReduceAction487_parser___ReduceAction___init(REGB0);
5985 /* parser/parser.nit:154 */
5986 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5987 /* parser/parser.nit:1170 */
5988 REGB0 = TAG_Int(153);
5989 fra.me.REG[2] = NEW_ReduceAction488_parser___ReduceAction___init(REGB0);
5990 /* parser/parser.nit:154 */
5991 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5992 /* parser/parser.nit:1171 */
5993 REGB0 = TAG_Int(153);
5994 fra.me.REG[2] = NEW_ReduceAction489_parser___ReduceAction___init(REGB0);
5995 /* parser/parser.nit:154 */
5996 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5997 /* parser/parser.nit:1172 */
5998 REGB0 = TAG_Int(153);
5999 fra.me.REG[2] = NEW_ReduceAction490_parser___ReduceAction___init(REGB0);
6000 /* parser/parser.nit:154 */
6001 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6002 /* parser/parser.nit:1173 */
6003 REGB0 = TAG_Int(153);
6004 fra.me.REG[2] = NEW_ReduceAction491_parser___ReduceAction___init(REGB0);
6005 /* parser/parser.nit:154 */
6006 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6007 /* parser/parser.nit:1174 */
6008 REGB0 = TAG_Int(153);
6009 fra.me.REG[2] = NEW_ReduceAction492_parser___ReduceAction___init(REGB0);
6010 /* parser/parser.nit:154 */
6011 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6012 /* parser/parser.nit:1175 */
6013 REGB0 = TAG_Int(153);
6014 fra.me.REG[2] = NEW_ReduceAction493_parser___ReduceAction___init(REGB0);
6015 /* parser/parser.nit:154 */
6016 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6017 /* parser/parser.nit:1176 */
6018 REGB0 = TAG_Int(154);
6019 fra.me.REG[2] = NEW_ReduceAction496_parser___ReduceAction___init(REGB0);
6020 /* parser/parser.nit:154 */
6021 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6022 /* parser/parser.nit:1177 */
6023 REGB0 = TAG_Int(154);
6024 fra.me.REG[2] = NEW_ReduceAction497_parser___ReduceAction___init(REGB0);
6025 /* parser/parser.nit:154 */
6026 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6027 /* parser/parser.nit:1178 */
6028 REGB0 = TAG_Int(155);
6029 fra.me.REG[2] = NEW_ReduceAction498_parser___ReduceAction___init(REGB0);
6030 /* parser/parser.nit:154 */
6031 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6032 /* parser/parser.nit:1179 */
6033 REGB0 = TAG_Int(156);
6034 fra.me.REG[2] = NEW_ReduceAction505_parser___ReduceAction___init(REGB0);
6035 /* parser/parser.nit:154 */
6036 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6037 /* parser/parser.nit:1180 */
6038 REGB0 = TAG_Int(156);
6039 fra.me.REG[2] = NEW_ReduceAction506_parser___ReduceAction___init(REGB0);
6040 /* parser/parser.nit:154 */
6041 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6042 /* parser/parser.nit:1181 */
6043 REGB0 = TAG_Int(157);
6044 fra.me.REG[2] = NEW_ReduceAction507_parser___ReduceAction___init(REGB0);
6045 /* parser/parser.nit:154 */
6046 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6047 /* parser/parser.nit:1182 */
6048 REGB0 = TAG_Int(157);
6049 fra.me.REG[2] = NEW_ReduceAction508_parser___ReduceAction___init(REGB0);
6050 /* parser/parser.nit:154 */
6051 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6052 /* parser/parser.nit:1183 */
6053 REGB0 = TAG_Int(158);
6054 fra.me.REG[2] = NEW_ReduceAction509_parser___ReduceAction___init(REGB0);
6055 /* parser/parser.nit:154 */
6056 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6057 /* parser/parser.nit:1184 */
6058 REGB0 = TAG_Int(158);
6059 fra.me.REG[2] = NEW_ReduceAction510_parser___ReduceAction___init(REGB0);
6060 /* parser/parser.nit:154 */
6061 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6062 /* parser/parser.nit:1185 */
6063 REGB0 = TAG_Int(158);
6064 fra.me.REG[2] = NEW_ReduceAction511_parser___ReduceAction___init(REGB0);
6065 /* parser/parser.nit:154 */
6066 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6067 /* parser/parser.nit:1186 */
6068 REGB0 = TAG_Int(158);
6069 fra.me.REG[2] = NEW_ReduceAction512_parser___ReduceAction___init(REGB0);
6070 /* parser/parser.nit:154 */
6071 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6072 /* parser/parser.nit:1187 */
6073 REGB0 = TAG_Int(159);
6074 fra.me.REG[2] = NEW_ReduceAction513_parser___ReduceAction___init(REGB0);
6075 /* parser/parser.nit:154 */
6076 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6077 /* parser/parser.nit:1188 */
6078 REGB0 = TAG_Int(159);
6079 fra.me.REG[2] = NEW_ReduceAction514_parser___ReduceAction___init(REGB0);
6080 /* parser/parser.nit:154 */
6081 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6082 /* parser/parser.nit:1189 */
6083 REGB0 = TAG_Int(160);
6084 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6085 /* parser/parser.nit:154 */
6086 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6087 /* parser/parser.nit:1190 */
6088 REGB0 = TAG_Int(160);
6089 fra.me.REG[2] = NEW_ReduceAction448_parser___ReduceAction___init(REGB0);
6090 /* parser/parser.nit:154 */
6091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6092 /* parser/parser.nit:1191 */
6093 REGB0 = TAG_Int(160);
6094 fra.me.REG[2] = NEW_ReduceAction449_parser___ReduceAction___init(REGB0);
6095 /* parser/parser.nit:154 */
6096 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6097 /* parser/parser.nit:1192 */
6098 REGB0 = TAG_Int(160);
6099 fra.me.REG[2] = NEW_ReduceAction521_parser___ReduceAction___init(REGB0);
6100 /* parser/parser.nit:154 */
6101 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6102 /* parser/parser.nit:1193 */
6103 REGB0 = TAG_Int(161);
6104 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6105 /* parser/parser.nit:154 */
6106 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6107 /* parser/parser.nit:1194 */
6108 REGB0 = TAG_Int(161);
6109 fra.me.REG[2] = NEW_ReduceAction448_parser___ReduceAction___init(REGB0);
6110 /* parser/parser.nit:154 */
6111 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6112 /* parser/parser.nit:1195 */
6113 REGB0 = TAG_Int(161);
6114 fra.me.REG[2] = NEW_ReduceAction449_parser___ReduceAction___init(REGB0);
6115 /* parser/parser.nit:154 */
6116 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6117 /* parser/parser.nit:1196 */
6118 REGB0 = TAG_Int(162);
6119 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6120 /* parser/parser.nit:154 */
6121 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6122 /* parser/parser.nit:1197 */
6123 REGB0 = TAG_Int(162);
6124 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6125 /* parser/parser.nit:154 */
6126 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6127 /* parser/parser.nit:1198 */
6128 REGB0 = TAG_Int(162);
6129 fra.me.REG[2] = NEW_ReduceAction429_parser___ReduceAction___init(REGB0);
6130 /* parser/parser.nit:154 */
6131 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6132 /* parser/parser.nit:1199 */
6133 REGB0 = TAG_Int(162);
6134 fra.me.REG[2] = NEW_ReduceAction430_parser___ReduceAction___init(REGB0);
6135 /* parser/parser.nit:154 */
6136 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6137 /* parser/parser.nit:1200 */
6138 REGB0 = TAG_Int(162);
6139 fra.me.REG[2] = NEW_ReduceAction431_parser___ReduceAction___init(REGB0);
6140 /* parser/parser.nit:154 */
6141 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6142 /* parser/parser.nit:1201 */
6143 REGB0 = TAG_Int(162);
6144 fra.me.REG[2] = NEW_ReduceAction432_parser___ReduceAction___init(REGB0);
6145 /* parser/parser.nit:154 */
6146 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6147 /* parser/parser.nit:1202 */
6148 REGB0 = TAG_Int(162);
6149 fra.me.REG[2] = NEW_ReduceAction433_parser___ReduceAction___init(REGB0);
6150 /* parser/parser.nit:154 */
6151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6152 /* parser/parser.nit:1203 */
6153 REGB0 = TAG_Int(162);
6154 fra.me.REG[2] = NEW_ReduceAction434_parser___ReduceAction___init(REGB0);
6155 /* parser/parser.nit:154 */
6156 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6157 /* parser/parser.nit:1204 */
6158 REGB0 = TAG_Int(162);
6159 fra.me.REG[2] = NEW_ReduceAction435_parser___ReduceAction___init(REGB0);
6160 /* parser/parser.nit:154 */
6161 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6162 /* parser/parser.nit:1205 */
6163 REGB0 = TAG_Int(162);
6164 fra.me.REG[2] = NEW_ReduceAction436_parser___ReduceAction___init(REGB0);
6165 /* parser/parser.nit:154 */
6166 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6167 /* parser/parser.nit:1206 */
6168 REGB0 = TAG_Int(162);
6169 fra.me.REG[2] = NEW_ReduceAction437_parser___ReduceAction___init(REGB0);
6170 /* parser/parser.nit:154 */
6171 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6172 /* parser/parser.nit:1207 */
6173 REGB0 = TAG_Int(162);
6174 fra.me.REG[2] = NEW_ReduceAction438_parser___ReduceAction___init(REGB0);
6175 /* parser/parser.nit:154 */
6176 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6177 /* parser/parser.nit:1208 */
6178 REGB0 = TAG_Int(162);
6179 fra.me.REG[2] = NEW_ReduceAction439_parser___ReduceAction___init(REGB0);
6180 /* parser/parser.nit:154 */
6181 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6182 /* parser/parser.nit:1209 */
6183 REGB0 = TAG_Int(162);
6184 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6185 /* parser/parser.nit:154 */
6186 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6187 /* parser/parser.nit:1210 */
6188 REGB0 = TAG_Int(162);
6189 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6190 /* parser/parser.nit:154 */
6191 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6192 /* parser/parser.nit:1211 */
6193 REGB0 = TAG_Int(162);
6194 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6195 /* parser/parser.nit:154 */
6196 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6197 /* parser/parser.nit:1212 */
6198 REGB0 = TAG_Int(162);
6199 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6200 /* parser/parser.nit:154 */
6201 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6202 /* parser/parser.nit:1213 */
6203 REGB0 = TAG_Int(162);
6204 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6205 /* parser/parser.nit:154 */
6206 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6207 /* parser/parser.nit:1214 */
6208 REGB0 = TAG_Int(162);
6209 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6210 /* parser/parser.nit:154 */
6211 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6212 /* parser/parser.nit:1215 */
6213 REGB0 = TAG_Int(162);
6214 fra.me.REG[2] = NEW_ReduceAction446_parser___ReduceAction___init(REGB0);
6215 /* parser/parser.nit:154 */
6216 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6217 /* parser/parser.nit:1216 */
6218 REGB0 = TAG_Int(162);
6219 fra.me.REG[2] = NEW_ReduceAction447_parser___ReduceAction___init(REGB0);
6220 /* parser/parser.nit:154 */
6221 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6222 /* parser/parser.nit:1217 */
6223 REGB0 = TAG_Int(162);
6224 fra.me.REG[2] = NEW_ReduceAction448_parser___ReduceAction___init(REGB0);
6225 /* parser/parser.nit:154 */
6226 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6227 /* parser/parser.nit:1218 */
6228 REGB0 = TAG_Int(162);
6229 fra.me.REG[2] = NEW_ReduceAction449_parser___ReduceAction___init(REGB0);
6230 /* parser/parser.nit:154 */
6231 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6232 /* parser/parser.nit:1219 */
6233 REGB0 = TAG_Int(162);
6234 fra.me.REG[2] = NEW_ReduceAction450_parser___ReduceAction___init(REGB0);
6235 /* parser/parser.nit:154 */
6236 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6237 /* parser/parser.nit:1220 */
6238 REGB0 = TAG_Int(162);
6239 fra.me.REG[2] = NEW_ReduceAction451_parser___ReduceAction___init(REGB0);
6240 /* parser/parser.nit:154 */
6241 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6242 /* parser/parser.nit:1221 */
6243 REGB0 = TAG_Int(162);
6244 fra.me.REG[2] = NEW_ReduceAction452_parser___ReduceAction___init(REGB0);
6245 /* parser/parser.nit:154 */
6246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6247 /* parser/parser.nit:1222 */
6248 REGB0 = TAG_Int(162);
6249 fra.me.REG[2] = NEW_ReduceAction453_parser___ReduceAction___init(REGB0);
6250 /* parser/parser.nit:154 */
6251 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6252 /* parser/parser.nit:1223 */
6253 REGB0 = TAG_Int(162);
6254 fra.me.REG[2] = NEW_ReduceAction454_parser___ReduceAction___init(REGB0);
6255 /* parser/parser.nit:154 */
6256 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6257 /* parser/parser.nit:1224 */
6258 REGB0 = TAG_Int(163);
6259 fra.me.REG[2] = NEW_ReduceAction484_parser___ReduceAction___init(REGB0);
6260 /* parser/parser.nit:154 */
6261 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6262 /* parser/parser.nit:1225 */
6263 REGB0 = TAG_Int(163);
6264 fra.me.REG[2] = NEW_ReduceAction485_parser___ReduceAction___init(REGB0);
6265 /* parser/parser.nit:154 */
6266 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6267 /* parser/parser.nit:1226 */
6268 REGB0 = TAG_Int(163);
6269 fra.me.REG[2] = NEW_ReduceAction486_parser___ReduceAction___init(REGB0);
6270 /* parser/parser.nit:154 */
6271 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6272 /* parser/parser.nit:1227 */
6273 REGB0 = TAG_Int(163);
6274 fra.me.REG[2] = NEW_ReduceAction487_parser___ReduceAction___init(REGB0);
6275 /* parser/parser.nit:154 */
6276 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6277 /* parser/parser.nit:1228 */
6278 REGB0 = TAG_Int(163);
6279 fra.me.REG[2] = NEW_ReduceAction488_parser___ReduceAction___init(REGB0);
6280 /* parser/parser.nit:154 */
6281 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6282 /* parser/parser.nit:1229 */
6283 REGB0 = TAG_Int(163);
6284 fra.me.REG[2] = NEW_ReduceAction489_parser___ReduceAction___init(REGB0);
6285 /* parser/parser.nit:154 */
6286 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6287 /* parser/parser.nit:1230 */
6288 REGB0 = TAG_Int(163);
6289 fra.me.REG[2] = NEW_ReduceAction490_parser___ReduceAction___init(REGB0);
6290 /* parser/parser.nit:154 */
6291 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6292 /* parser/parser.nit:1231 */
6293 REGB0 = TAG_Int(163);
6294 fra.me.REG[2] = NEW_ReduceAction491_parser___ReduceAction___init(REGB0);
6295 /* parser/parser.nit:154 */
6296 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6297 /* parser/parser.nit:1232 */
6298 REGB0 = TAG_Int(163);
6299 fra.me.REG[2] = NEW_ReduceAction492_parser___ReduceAction___init(REGB0);
6300 /* parser/parser.nit:154 */
6301 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6302 /* parser/parser.nit:1233 */
6303 REGB0 = TAG_Int(163);
6304 fra.me.REG[2] = NEW_ReduceAction493_parser___ReduceAction___init(REGB0);
6305 /* parser/parser.nit:154 */
6306 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6307 /* parser/parser.nit:1234 */
6308 REGB0 = TAG_Int(164);
6309 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6310 /* parser/parser.nit:154 */
6311 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6312 /* parser/parser.nit:1235 */
6313 REGB0 = TAG_Int(164);
6314 fra.me.REG[2] = NEW_ReduceAction448_parser___ReduceAction___init(REGB0);
6315 /* parser/parser.nit:154 */
6316 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6317 /* parser/parser.nit:1236 */
6318 REGB0 = TAG_Int(164);
6319 fra.me.REG[2] = NEW_ReduceAction449_parser___ReduceAction___init(REGB0);
6320 /* parser/parser.nit:154 */
6321 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6322 /* parser/parser.nit:1237 */
6323 REGB0 = TAG_Int(165);
6324 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6325 /* parser/parser.nit:154 */
6326 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6327 /* parser/parser.nit:1238 */
6328 REGB0 = TAG_Int(165);
6329 fra.me.REG[2] = NEW_ReduceAction448_parser___ReduceAction___init(REGB0);
6330 /* parser/parser.nit:154 */
6331 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6332 /* parser/parser.nit:1239 */
6333 REGB0 = TAG_Int(165);
6334 fra.me.REG[2] = NEW_ReduceAction449_parser___ReduceAction___init(REGB0);
6335 /* parser/parser.nit:154 */
6336 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6337 /* parser/parser.nit:1240 */
6338 REGB0 = TAG_Int(166);
6339 fra.me.REG[2] = NEW_ReduceAction416_parser___ReduceAction___init(REGB0);
6340 /* parser/parser.nit:154 */
6341 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6342 /* parser/parser.nit:1241 */
6343 REGB0 = TAG_Int(166);
6344 fra.me.REG[2] = NEW_ReduceAction417_parser___ReduceAction___init(REGB0);
6345 /* parser/parser.nit:154 */
6346 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6347 /* parser/parser.nit:1242 */
6348 REGB0 = TAG_Int(166);
6349 fra.me.REG[2] = NEW_ReduceAction418_parser___ReduceAction___init(REGB0);
6350 /* parser/parser.nit:154 */
6351 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6352 /* parser/parser.nit:1243 */
6353 REGB0 = TAG_Int(167);
6354 fra.me.REG[2] = NEW_ReduceAction416_parser___ReduceAction___init(REGB0);
6355 /* parser/parser.nit:154 */
6356 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6357 /* parser/parser.nit:1244 */
6358 REGB0 = TAG_Int(167);
6359 fra.me.REG[2] = NEW_ReduceAction417_parser___ReduceAction___init(REGB0);
6360 /* parser/parser.nit:154 */
6361 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6362 /* parser/parser.nit:1245 */
6363 REGB0 = TAG_Int(167);
6364 fra.me.REG[2] = NEW_ReduceAction418_parser___ReduceAction___init(REGB0);
6365 /* parser/parser.nit:154 */
6366 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6367 /* parser/parser.nit:1246 */
6368 REGB0 = TAG_Int(168);
6369 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6370 /* parser/parser.nit:154 */
6371 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6372 /* parser/parser.nit:1247 */
6373 REGB0 = TAG_Int(168);
6374 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6375 /* parser/parser.nit:154 */
6376 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6377 /* parser/parser.nit:1248 */
6378 REGB0 = TAG_Int(168);
6379 fra.me.REG[2] = NEW_ReduceAction429_parser___ReduceAction___init(REGB0);
6380 /* parser/parser.nit:154 */
6381 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6382 /* parser/parser.nit:1249 */
6383 REGB0 = TAG_Int(168);
6384 fra.me.REG[2] = NEW_ReduceAction430_parser___ReduceAction___init(REGB0);
6385 /* parser/parser.nit:154 */
6386 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6387 /* parser/parser.nit:1250 */
6388 REGB0 = TAG_Int(168);
6389 fra.me.REG[2] = NEW_ReduceAction431_parser___ReduceAction___init(REGB0);
6390 /* parser/parser.nit:154 */
6391 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6392 /* parser/parser.nit:1251 */
6393 REGB0 = TAG_Int(168);
6394 fra.me.REG[2] = NEW_ReduceAction432_parser___ReduceAction___init(REGB0);
6395 /* parser/parser.nit:154 */
6396 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6397 /* parser/parser.nit:1252 */
6398 REGB0 = TAG_Int(168);
6399 fra.me.REG[2] = NEW_ReduceAction433_parser___ReduceAction___init(REGB0);
6400 /* parser/parser.nit:154 */
6401 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6402 /* parser/parser.nit:1253 */
6403 REGB0 = TAG_Int(168);
6404 fra.me.REG[2] = NEW_ReduceAction434_parser___ReduceAction___init(REGB0);
6405 /* parser/parser.nit:154 */
6406 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6407 /* parser/parser.nit:1254 */
6408 REGB0 = TAG_Int(168);
6409 fra.me.REG[2] = NEW_ReduceAction435_parser___ReduceAction___init(REGB0);
6410 /* parser/parser.nit:154 */
6411 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6412 /* parser/parser.nit:1255 */
6413 REGB0 = TAG_Int(168);
6414 fra.me.REG[2] = NEW_ReduceAction436_parser___ReduceAction___init(REGB0);
6415 /* parser/parser.nit:154 */
6416 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6417 /* parser/parser.nit:1256 */
6418 REGB0 = TAG_Int(168);
6419 fra.me.REG[2] = NEW_ReduceAction437_parser___ReduceAction___init(REGB0);
6420 /* parser/parser.nit:154 */
6421 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6422 /* parser/parser.nit:1257 */
6423 REGB0 = TAG_Int(168);
6424 fra.me.REG[2] = NEW_ReduceAction438_parser___ReduceAction___init(REGB0);
6425 /* parser/parser.nit:154 */
6426 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6427 /* parser/parser.nit:1258 */
6428 REGB0 = TAG_Int(168);
6429 fra.me.REG[2] = NEW_ReduceAction439_parser___ReduceAction___init(REGB0);
6430 /* parser/parser.nit:154 */
6431 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6432 /* parser/parser.nit:1259 */
6433 REGB0 = TAG_Int(168);
6434 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6435 /* parser/parser.nit:154 */
6436 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6437 /* parser/parser.nit:1260 */
6438 REGB0 = TAG_Int(168);
6439 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6440 /* parser/parser.nit:154 */
6441 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6442 /* parser/parser.nit:1261 */
6443 REGB0 = TAG_Int(168);
6444 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6445 /* parser/parser.nit:154 */
6446 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6447 /* parser/parser.nit:1262 */
6448 REGB0 = TAG_Int(168);
6449 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6450 /* parser/parser.nit:154 */
6451 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6452 /* parser/parser.nit:1263 */
6453 REGB0 = TAG_Int(168);
6454 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6455 /* parser/parser.nit:154 */
6456 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6457 /* parser/parser.nit:1264 */
6458 REGB0 = TAG_Int(168);
6459 fra.me.REG[2] = NEW_ReduceAction454_parser___ReduceAction___init(REGB0);
6460 /* parser/parser.nit:154 */
6461 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6462 /* parser/parser.nit:1265 */
6463 REGB0 = TAG_Int(169);
6464 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6465 /* parser/parser.nit:154 */
6466 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6467 /* parser/parser.nit:1266 */
6468 REGB0 = TAG_Int(169);
6469 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6470 /* parser/parser.nit:154 */
6471 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6472 /* parser/parser.nit:1267 */
6473 REGB0 = TAG_Int(169);
6474 fra.me.REG[2] = NEW_ReduceAction429_parser___ReduceAction___init(REGB0);
6475 /* parser/parser.nit:154 */
6476 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6477 /* parser/parser.nit:1268 */
6478 REGB0 = TAG_Int(169);
6479 fra.me.REG[2] = NEW_ReduceAction430_parser___ReduceAction___init(REGB0);
6480 /* parser/parser.nit:154 */
6481 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6482 /* parser/parser.nit:1269 */
6483 REGB0 = TAG_Int(169);
6484 fra.me.REG[2] = NEW_ReduceAction431_parser___ReduceAction___init(REGB0);
6485 /* parser/parser.nit:154 */
6486 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6487 /* parser/parser.nit:1270 */
6488 REGB0 = TAG_Int(169);
6489 fra.me.REG[2] = NEW_ReduceAction432_parser___ReduceAction___init(REGB0);
6490 /* parser/parser.nit:154 */
6491 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6492 /* parser/parser.nit:1271 */
6493 REGB0 = TAG_Int(169);
6494 fra.me.REG[2] = NEW_ReduceAction433_parser___ReduceAction___init(REGB0);
6495 /* parser/parser.nit:154 */
6496 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6497 /* parser/parser.nit:1272 */
6498 REGB0 = TAG_Int(169);
6499 fra.me.REG[2] = NEW_ReduceAction434_parser___ReduceAction___init(REGB0);
6500 /* parser/parser.nit:154 */
6501 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6502 /* parser/parser.nit:1273 */
6503 REGB0 = TAG_Int(169);
6504 fra.me.REG[2] = NEW_ReduceAction435_parser___ReduceAction___init(REGB0);
6505 /* parser/parser.nit:154 */
6506 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6507 /* parser/parser.nit:1274 */
6508 REGB0 = TAG_Int(169);
6509 fra.me.REG[2] = NEW_ReduceAction436_parser___ReduceAction___init(REGB0);
6510 /* parser/parser.nit:154 */
6511 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6512 /* parser/parser.nit:1275 */
6513 REGB0 = TAG_Int(169);
6514 fra.me.REG[2] = NEW_ReduceAction437_parser___ReduceAction___init(REGB0);
6515 /* parser/parser.nit:154 */
6516 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6517 /* parser/parser.nit:1276 */
6518 REGB0 = TAG_Int(169);
6519 fra.me.REG[2] = NEW_ReduceAction438_parser___ReduceAction___init(REGB0);
6520 /* parser/parser.nit:154 */
6521 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6522 /* parser/parser.nit:1277 */
6523 REGB0 = TAG_Int(169);
6524 fra.me.REG[2] = NEW_ReduceAction439_parser___ReduceAction___init(REGB0);
6525 /* parser/parser.nit:154 */
6526 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6527 /* parser/parser.nit:1278 */
6528 REGB0 = TAG_Int(169);
6529 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6530 /* parser/parser.nit:154 */
6531 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6532 /* parser/parser.nit:1279 */
6533 REGB0 = TAG_Int(169);
6534 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6535 /* parser/parser.nit:154 */
6536 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6537 /* parser/parser.nit:1280 */
6538 REGB0 = TAG_Int(169);
6539 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6540 /* parser/parser.nit:154 */
6541 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6542 /* parser/parser.nit:1281 */
6543 REGB0 = TAG_Int(169);
6544 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6545 /* parser/parser.nit:154 */
6546 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6547 /* parser/parser.nit:1282 */
6548 REGB0 = TAG_Int(169);
6549 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6550 /* parser/parser.nit:154 */
6551 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6552 /* parser/parser.nit:1283 */
6553 REGB0 = TAG_Int(169);
6554 fra.me.REG[2] = NEW_ReduceAction454_parser___ReduceAction___init(REGB0);
6555 /* parser/parser.nit:154 */
6556 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6557 /* parser/parser.nit:1284 */
6558 REGB0 = TAG_Int(170);
6559 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6560 /* parser/parser.nit:154 */
6561 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6562 /* parser/parser.nit:1285 */
6563 REGB0 = TAG_Int(170);
6564 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6565 /* parser/parser.nit:154 */
6566 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6567 /* parser/parser.nit:1286 */
6568 REGB0 = TAG_Int(170);
6569 fra.me.REG[2] = NEW_ReduceAction429_parser___ReduceAction___init(REGB0);
6570 /* parser/parser.nit:154 */
6571 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6572 /* parser/parser.nit:1287 */
6573 REGB0 = TAG_Int(170);
6574 fra.me.REG[2] = NEW_ReduceAction430_parser___ReduceAction___init(REGB0);
6575 /* parser/parser.nit:154 */
6576 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6577 /* parser/parser.nit:1288 */
6578 REGB0 = TAG_Int(170);
6579 fra.me.REG[2] = NEW_ReduceAction431_parser___ReduceAction___init(REGB0);
6580 /* parser/parser.nit:154 */
6581 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6582 /* parser/parser.nit:1289 */
6583 REGB0 = TAG_Int(170);
6584 fra.me.REG[2] = NEW_ReduceAction432_parser___ReduceAction___init(REGB0);
6585 /* parser/parser.nit:154 */
6586 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6587 /* parser/parser.nit:1290 */
6588 REGB0 = TAG_Int(170);
6589 fra.me.REG[2] = NEW_ReduceAction433_parser___ReduceAction___init(REGB0);
6590 /* parser/parser.nit:154 */
6591 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6592 /* parser/parser.nit:1291 */
6593 REGB0 = TAG_Int(170);
6594 fra.me.REG[2] = NEW_ReduceAction434_parser___ReduceAction___init(REGB0);
6595 /* parser/parser.nit:154 */
6596 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6597 /* parser/parser.nit:1292 */
6598 REGB0 = TAG_Int(170);
6599 fra.me.REG[2] = NEW_ReduceAction435_parser___ReduceAction___init(REGB0);
6600 /* parser/parser.nit:154 */
6601 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6602 /* parser/parser.nit:1293 */
6603 REGB0 = TAG_Int(170);
6604 fra.me.REG[2] = NEW_ReduceAction436_parser___ReduceAction___init(REGB0);
6605 /* parser/parser.nit:154 */
6606 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6607 /* parser/parser.nit:1294 */
6608 REGB0 = TAG_Int(170);
6609 fra.me.REG[2] = NEW_ReduceAction437_parser___ReduceAction___init(REGB0);
6610 /* parser/parser.nit:154 */
6611 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6612 /* parser/parser.nit:1295 */
6613 REGB0 = TAG_Int(170);
6614 fra.me.REG[2] = NEW_ReduceAction438_parser___ReduceAction___init(REGB0);
6615 /* parser/parser.nit:154 */
6616 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6617 /* parser/parser.nit:1296 */
6618 REGB0 = TAG_Int(170);
6619 fra.me.REG[2] = NEW_ReduceAction439_parser___ReduceAction___init(REGB0);
6620 /* parser/parser.nit:154 */
6621 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6622 /* parser/parser.nit:1297 */
6623 REGB0 = TAG_Int(170);
6624 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6625 /* parser/parser.nit:154 */
6626 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6627 /* parser/parser.nit:1298 */
6628 REGB0 = TAG_Int(170);
6629 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6630 /* parser/parser.nit:154 */
6631 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6632 /* parser/parser.nit:1299 */
6633 REGB0 = TAG_Int(170);
6634 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6635 /* parser/parser.nit:154 */
6636 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6637 /* parser/parser.nit:1300 */
6638 REGB0 = TAG_Int(170);
6639 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6640 /* parser/parser.nit:154 */
6641 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6642 /* parser/parser.nit:1301 */
6643 REGB0 = TAG_Int(170);
6644 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6645 /* parser/parser.nit:154 */
6646 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6647 /* parser/parser.nit:1302 */
6648 REGB0 = TAG_Int(170);
6649 fra.me.REG[2] = NEW_ReduceAction454_parser___ReduceAction___init(REGB0);
6650 /* parser/parser.nit:154 */
6651 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6652 /* parser/parser.nit:1303 */
6653 REGB0 = TAG_Int(171);
6654 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6655 /* parser/parser.nit:154 */
6656 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6657 /* parser/parser.nit:1304 */
6658 REGB0 = TAG_Int(171);
6659 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6660 /* parser/parser.nit:154 */
6661 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6662 /* parser/parser.nit:1305 */
6663 REGB0 = TAG_Int(171);
6664 fra.me.REG[2] = NEW_ReduceAction429_parser___ReduceAction___init(REGB0);
6665 /* parser/parser.nit:154 */
6666 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6667 /* parser/parser.nit:1306 */
6668 REGB0 = TAG_Int(171);
6669 fra.me.REG[2] = NEW_ReduceAction430_parser___ReduceAction___init(REGB0);
6670 /* parser/parser.nit:154 */
6671 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6672 /* parser/parser.nit:1307 */
6673 REGB0 = TAG_Int(171);
6674 fra.me.REG[2] = NEW_ReduceAction431_parser___ReduceAction___init(REGB0);
6675 /* parser/parser.nit:154 */
6676 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6677 /* parser/parser.nit:1308 */
6678 REGB0 = TAG_Int(171);
6679 fra.me.REG[2] = NEW_ReduceAction432_parser___ReduceAction___init(REGB0);
6680 /* parser/parser.nit:154 */
6681 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6682 /* parser/parser.nit:1309 */
6683 REGB0 = TAG_Int(171);
6684 fra.me.REG[2] = NEW_ReduceAction433_parser___ReduceAction___init(REGB0);
6685 /* parser/parser.nit:154 */
6686 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6687 /* parser/parser.nit:1310 */
6688 REGB0 = TAG_Int(171);
6689 fra.me.REG[2] = NEW_ReduceAction434_parser___ReduceAction___init(REGB0);
6690 /* parser/parser.nit:154 */
6691 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6692 /* parser/parser.nit:1311 */
6693 REGB0 = TAG_Int(171);
6694 fra.me.REG[2] = NEW_ReduceAction435_parser___ReduceAction___init(REGB0);
6695 /* parser/parser.nit:154 */
6696 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6697 /* parser/parser.nit:1312 */
6698 REGB0 = TAG_Int(171);
6699 fra.me.REG[2] = NEW_ReduceAction436_parser___ReduceAction___init(REGB0);
6700 /* parser/parser.nit:154 */
6701 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6702 /* parser/parser.nit:1313 */
6703 REGB0 = TAG_Int(171);
6704 fra.me.REG[2] = NEW_ReduceAction437_parser___ReduceAction___init(REGB0);
6705 /* parser/parser.nit:154 */
6706 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6707 /* parser/parser.nit:1314 */
6708 REGB0 = TAG_Int(171);
6709 fra.me.REG[2] = NEW_ReduceAction438_parser___ReduceAction___init(REGB0);
6710 /* parser/parser.nit:154 */
6711 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6712 /* parser/parser.nit:1315 */
6713 REGB0 = TAG_Int(171);
6714 fra.me.REG[2] = NEW_ReduceAction439_parser___ReduceAction___init(REGB0);
6715 /* parser/parser.nit:154 */
6716 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6717 /* parser/parser.nit:1316 */
6718 REGB0 = TAG_Int(171);
6719 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6720 /* parser/parser.nit:154 */
6721 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6722 /* parser/parser.nit:1317 */
6723 REGB0 = TAG_Int(171);
6724 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6725 /* parser/parser.nit:154 */
6726 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6727 /* parser/parser.nit:1318 */
6728 REGB0 = TAG_Int(171);
6729 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6730 /* parser/parser.nit:154 */
6731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6732 /* parser/parser.nit:1319 */
6733 REGB0 = TAG_Int(171);
6734 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6735 /* parser/parser.nit:154 */
6736 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6737 /* parser/parser.nit:1320 */
6738 REGB0 = TAG_Int(171);
6739 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6740 /* parser/parser.nit:154 */
6741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6742 /* parser/parser.nit:1321 */
6743 REGB0 = TAG_Int(171);
6744 fra.me.REG[2] = NEW_ReduceAction454_parser___ReduceAction___init(REGB0);
6745 /* parser/parser.nit:154 */
6746 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6747 /* parser/parser.nit:1322 */
6748 REGB0 = TAG_Int(172);
6749 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6750 /* parser/parser.nit:154 */
6751 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6752 /* parser/parser.nit:1323 */
6753 REGB0 = TAG_Int(172);
6754 fra.me.REG[2] = NEW_ReduceAction523_parser___ReduceAction___init(REGB0);
6755 /* parser/parser.nit:154 */
6756 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6757 /* parser/parser.nit:1324 */
6758 REGB0 = TAG_Int(173);
6759 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6760 /* parser/parser.nit:154 */
6761 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6762 /* parser/parser.nit:1325 */
6763 REGB0 = TAG_Int(173);
6764 fra.me.REG[2] = NEW_ReduceAction525_parser___ReduceAction___init(REGB0);
6765 /* parser/parser.nit:154 */
6766 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6767 /* parser/parser.nit:1326 */
6768 REGB0 = TAG_Int(173);
6769 fra.me.REG[2] = NEW_ReduceAction526_parser___ReduceAction___init(REGB0);
6770 /* parser/parser.nit:154 */
6771 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6772 /* parser/parser.nit:1327 */
6773 REGB0 = TAG_Int(173);
6774 fra.me.REG[2] = NEW_ReduceAction527_parser___ReduceAction___init(REGB0);
6775 /* parser/parser.nit:154 */
6776 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6777 /* parser/parser.nit:1328 */
6778 REGB0 = TAG_Int(174);
6779 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6780 /* parser/parser.nit:154 */
6781 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6782 /* parser/parser.nit:1329 */
6783 REGB0 = TAG_Int(174);
6784 fra.me.REG[2] = NEW_ReduceAction529_parser___ReduceAction___init(REGB0);
6785 /* parser/parser.nit:154 */
6786 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6787 /* parser/parser.nit:1330 */
6788 REGB0 = TAG_Int(175);
6789 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6790 /* parser/parser.nit:154 */
6791 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6792 /* parser/parser.nit:1331 */
6793 REGB0 = TAG_Int(175);
6794 fra.me.REG[2] = NEW_ReduceAction531_parser___ReduceAction___init(REGB0);
6795 /* parser/parser.nit:154 */
6796 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6797 /* parser/parser.nit:1332 */
6798 REGB0 = TAG_Int(175);
6799 fra.me.REG[2] = NEW_ReduceAction533_parser___ReduceAction___init(REGB0);
6800 /* parser/parser.nit:154 */
6801 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6802 /* parser/parser.nit:1333 */
6803 REGB0 = TAG_Int(175);
6804 fra.me.REG[2] = NEW_ReduceAction534_parser___ReduceAction___init(REGB0);
6805 /* parser/parser.nit:154 */
6806 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6807 /* parser/parser.nit:1334 */
6808 REGB0 = TAG_Int(175);
6809 fra.me.REG[2] = NEW_ReduceAction535_parser___ReduceAction___init(REGB0);
6810 /* parser/parser.nit:154 */
6811 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6812 /* parser/parser.nit:1335 */
6813 REGB0 = TAG_Int(175);
6814 fra.me.REG[2] = NEW_ReduceAction536_parser___ReduceAction___init(REGB0);
6815 /* parser/parser.nit:154 */
6816 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6817 /* parser/parser.nit:1336 */
6818 REGB0 = TAG_Int(175);
6819 fra.me.REG[2] = NEW_ReduceAction537_parser___ReduceAction___init(REGB0);
6820 /* parser/parser.nit:154 */
6821 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6822 /* parser/parser.nit:1337 */
6823 REGB0 = TAG_Int(175);
6824 fra.me.REG[2] = NEW_ReduceAction538_parser___ReduceAction___init(REGB0);
6825 /* parser/parser.nit:154 */
6826 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6827 /* parser/parser.nit:1338 */
6828 REGB0 = TAG_Int(175);
6829 fra.me.REG[2] = NEW_ReduceAction539_parser___ReduceAction___init(REGB0);
6830 /* parser/parser.nit:154 */
6831 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6832 /* parser/parser.nit:1339 */
6833 REGB0 = TAG_Int(175);
6834 fra.me.REG[2] = NEW_ReduceAction540_parser___ReduceAction___init(REGB0);
6835 /* parser/parser.nit:154 */
6836 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6837 /* parser/parser.nit:1340 */
6838 REGB0 = TAG_Int(175);
6839 fra.me.REG[2] = NEW_ReduceAction541_parser___ReduceAction___init(REGB0);
6840 /* parser/parser.nit:154 */
6841 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6842 /* parser/parser.nit:1341 */
6843 REGB0 = TAG_Int(176);
6844 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6845 /* parser/parser.nit:154 */
6846 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6847 /* parser/parser.nit:1342 */
6848 REGB0 = TAG_Int(176);
6849 fra.me.REG[2] = NEW_ReduceAction523_parser___ReduceAction___init(REGB0);
6850 /* parser/parser.nit:154 */
6851 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6852 /* parser/parser.nit:1343 */
6853 REGB0 = TAG_Int(177);
6854 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6855 /* parser/parser.nit:154 */
6856 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6857 /* parser/parser.nit:1344 */
6858 REGB0 = TAG_Int(177);
6859 fra.me.REG[2] = NEW_ReduceAction525_parser___ReduceAction___init(REGB0);
6860 /* parser/parser.nit:154 */
6861 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6862 /* parser/parser.nit:1345 */
6863 REGB0 = TAG_Int(177);
6864 fra.me.REG[2] = NEW_ReduceAction526_parser___ReduceAction___init(REGB0);
6865 /* parser/parser.nit:154 */
6866 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6867 /* parser/parser.nit:1346 */
6868 REGB0 = TAG_Int(177);
6869 fra.me.REG[2] = NEW_ReduceAction527_parser___ReduceAction___init(REGB0);
6870 /* parser/parser.nit:154 */
6871 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6872 /* parser/parser.nit:1347 */
6873 REGB0 = TAG_Int(178);
6874 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6875 /* parser/parser.nit:154 */
6876 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6877 /* parser/parser.nit:1348 */
6878 REGB0 = TAG_Int(178);
6879 fra.me.REG[2] = NEW_ReduceAction529_parser___ReduceAction___init(REGB0);
6880 /* parser/parser.nit:154 */
6881 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6882 /* parser/parser.nit:1349 */
6883 REGB0 = TAG_Int(179);
6884 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6885 /* parser/parser.nit:154 */
6886 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6887 /* parser/parser.nit:1350 */
6888 REGB0 = TAG_Int(179);
6889 fra.me.REG[2] = NEW_ReduceAction531_parser___ReduceAction___init(REGB0);
6890 /* parser/parser.nit:154 */
6891 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6892 /* parser/parser.nit:1351 */
6893 REGB0 = TAG_Int(179);
6894 fra.me.REG[2] = NEW_ReduceAction533_parser___ReduceAction___init(REGB0);
6895 /* parser/parser.nit:154 */
6896 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6897 /* parser/parser.nit:1352 */
6898 REGB0 = TAG_Int(179);
6899 fra.me.REG[2] = NEW_ReduceAction534_parser___ReduceAction___init(REGB0);
6900 /* parser/parser.nit:154 */
6901 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6902 /* parser/parser.nit:1353 */
6903 REGB0 = TAG_Int(179);
6904 fra.me.REG[2] = NEW_ReduceAction535_parser___ReduceAction___init(REGB0);
6905 /* parser/parser.nit:154 */
6906 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6907 /* parser/parser.nit:1354 */
6908 REGB0 = TAG_Int(179);
6909 fra.me.REG[2] = NEW_ReduceAction536_parser___ReduceAction___init(REGB0);
6910 /* parser/parser.nit:154 */
6911 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6912 /* parser/parser.nit:1355 */
6913 REGB0 = TAG_Int(179);
6914 fra.me.REG[2] = NEW_ReduceAction537_parser___ReduceAction___init(REGB0);
6915 /* parser/parser.nit:154 */
6916 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6917 /* parser/parser.nit:1356 */
6918 REGB0 = TAG_Int(179);
6919 fra.me.REG[2] = NEW_ReduceAction538_parser___ReduceAction___init(REGB0);
6920 /* parser/parser.nit:154 */
6921 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6922 /* parser/parser.nit:1357 */
6923 REGB0 = TAG_Int(179);
6924 fra.me.REG[2] = NEW_ReduceAction539_parser___ReduceAction___init(REGB0);
6925 /* parser/parser.nit:154 */
6926 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6927 /* parser/parser.nit:1358 */
6928 REGB0 = TAG_Int(179);
6929 fra.me.REG[2] = NEW_ReduceAction540_parser___ReduceAction___init(REGB0);
6930 /* parser/parser.nit:154 */
6931 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6932 /* parser/parser.nit:1359 */
6933 REGB0 = TAG_Int(179);
6934 fra.me.REG[2] = NEW_ReduceAction541_parser___ReduceAction___init(REGB0);
6935 /* parser/parser.nit:154 */
6936 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6937 /* parser/parser.nit:1360 */
6938 REGB0 = TAG_Int(180);
6939 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6940 /* parser/parser.nit:154 */
6941 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6942 /* parser/parser.nit:1361 */
6943 REGB0 = TAG_Int(180);
6944 fra.me.REG[2] = NEW_ReduceAction523_parser___ReduceAction___init(REGB0);
6945 /* parser/parser.nit:154 */
6946 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6947 /* parser/parser.nit:1362 */
6948 REGB0 = TAG_Int(181);
6949 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6950 /* parser/parser.nit:154 */
6951 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6952 /* parser/parser.nit:1363 */
6953 REGB0 = TAG_Int(181);
6954 fra.me.REG[2] = NEW_ReduceAction525_parser___ReduceAction___init(REGB0);
6955 /* parser/parser.nit:154 */
6956 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6957 /* parser/parser.nit:1364 */
6958 REGB0 = TAG_Int(181);
6959 fra.me.REG[2] = NEW_ReduceAction526_parser___ReduceAction___init(REGB0);
6960 /* parser/parser.nit:154 */
6961 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6962 /* parser/parser.nit:1365 */
6963 REGB0 = TAG_Int(181);
6964 fra.me.REG[2] = NEW_ReduceAction527_parser___ReduceAction___init(REGB0);
6965 /* parser/parser.nit:154 */
6966 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6967 /* parser/parser.nit:1366 */
6968 REGB0 = TAG_Int(182);
6969 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6970 /* parser/parser.nit:154 */
6971 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6972 /* parser/parser.nit:1367 */
6973 REGB0 = TAG_Int(182);
6974 fra.me.REG[2] = NEW_ReduceAction529_parser___ReduceAction___init(REGB0);
6975 /* parser/parser.nit:154 */
6976 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6977 /* parser/parser.nit:1368 */
6978 REGB0 = TAG_Int(183);
6979 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
6980 /* parser/parser.nit:154 */
6981 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6982 /* parser/parser.nit:1369 */
6983 REGB0 = TAG_Int(183);
6984 fra.me.REG[2] = NEW_ReduceAction531_parser___ReduceAction___init(REGB0);
6985 /* parser/parser.nit:154 */
6986 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6987 /* parser/parser.nit:1370 */
6988 REGB0 = TAG_Int(183);
6989 fra.me.REG[2] = NEW_ReduceAction533_parser___ReduceAction___init(REGB0);
6990 /* parser/parser.nit:154 */
6991 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6992 /* parser/parser.nit:1371 */
6993 REGB0 = TAG_Int(183);
6994 fra.me.REG[2] = NEW_ReduceAction534_parser___ReduceAction___init(REGB0);
6995 /* parser/parser.nit:154 */
6996 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6997 /* parser/parser.nit:1372 */
6998 REGB0 = TAG_Int(183);
6999 fra.me.REG[2] = NEW_ReduceAction535_parser___ReduceAction___init(REGB0);
7000 /* parser/parser.nit:154 */
7001 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7002 /* parser/parser.nit:1373 */
7003 REGB0 = TAG_Int(183);
7004 fra.me.REG[2] = NEW_ReduceAction536_parser___ReduceAction___init(REGB0);
7005 /* parser/parser.nit:154 */
7006 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7007 /* parser/parser.nit:1374 */
7008 REGB0 = TAG_Int(183);
7009 fra.me.REG[2] = NEW_ReduceAction537_parser___ReduceAction___init(REGB0);
7010 /* parser/parser.nit:154 */
7011 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7012 /* parser/parser.nit:1375 */
7013 REGB0 = TAG_Int(183);
7014 fra.me.REG[2] = NEW_ReduceAction538_parser___ReduceAction___init(REGB0);
7015 /* parser/parser.nit:154 */
7016 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7017 /* parser/parser.nit:1376 */
7018 REGB0 = TAG_Int(183);
7019 fra.me.REG[2] = NEW_ReduceAction539_parser___ReduceAction___init(REGB0);
7020 /* parser/parser.nit:154 */
7021 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7022 /* parser/parser.nit:1377 */
7023 REGB0 = TAG_Int(183);
7024 fra.me.REG[2] = NEW_ReduceAction540_parser___ReduceAction___init(REGB0);
7025 /* parser/parser.nit:154 */
7026 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7027 /* parser/parser.nit:1378 */
7028 REGB0 = TAG_Int(183);
7029 fra.me.REG[2] = NEW_ReduceAction541_parser___ReduceAction___init(REGB0);
7030 /* parser/parser.nit:154 */
7031 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7032 /* parser/parser.nit:1379 */
7033 REGB0 = TAG_Int(184);
7034 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
7035 /* parser/parser.nit:154 */
7036 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7037 /* parser/parser.nit:1380 */
7038 REGB0 = TAG_Int(184);
7039 fra.me.REG[2] = NEW_ReduceAction523_parser___ReduceAction___init(REGB0);
7040 /* parser/parser.nit:154 */
7041 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7042 /* parser/parser.nit:1381 */
7043 REGB0 = TAG_Int(185);
7044 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
7045 /* parser/parser.nit:154 */
7046 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7047 /* parser/parser.nit:1382 */
7048 REGB0 = TAG_Int(185);
7049 fra.me.REG[2] = NEW_ReduceAction525_parser___ReduceAction___init(REGB0);
7050 /* parser/parser.nit:154 */
7051 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7052 /* parser/parser.nit:1383 */
7053 REGB0 = TAG_Int(185);
7054 fra.me.REG[2] = NEW_ReduceAction526_parser___ReduceAction___init(REGB0);
7055 /* parser/parser.nit:154 */
7056 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7057 /* parser/parser.nit:1384 */
7058 REGB0 = TAG_Int(185);
7059 fra.me.REG[2] = NEW_ReduceAction527_parser___ReduceAction___init(REGB0);
7060 /* parser/parser.nit:154 */
7061 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7062 /* parser/parser.nit:1385 */
7063 REGB0 = TAG_Int(186);
7064 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
7065 /* parser/parser.nit:154 */
7066 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7067 /* parser/parser.nit:1386 */
7068 REGB0 = TAG_Int(186);
7069 fra.me.REG[2] = NEW_ReduceAction529_parser___ReduceAction___init(REGB0);
7070 /* parser/parser.nit:154 */
7071 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7072 /* parser/parser.nit:1387 */
7073 REGB0 = TAG_Int(187);
7074 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
7075 /* parser/parser.nit:154 */
7076 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7077 /* parser/parser.nit:1388 */
7078 REGB0 = TAG_Int(187);
7079 fra.me.REG[2] = NEW_ReduceAction531_parser___ReduceAction___init(REGB0);
7080 /* parser/parser.nit:154 */
7081 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7082 /* parser/parser.nit:1389 */
7083 REGB0 = TAG_Int(187);
7084 fra.me.REG[2] = NEW_ReduceAction533_parser___ReduceAction___init(REGB0);
7085 /* parser/parser.nit:154 */
7086 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7087 /* parser/parser.nit:1390 */
7088 REGB0 = TAG_Int(187);
7089 fra.me.REG[2] = NEW_ReduceAction534_parser___ReduceAction___init(REGB0);
7090 /* parser/parser.nit:154 */
7091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7092 /* parser/parser.nit:1391 */
7093 REGB0 = TAG_Int(187);
7094 fra.me.REG[2] = NEW_ReduceAction535_parser___ReduceAction___init(REGB0);
7095 /* parser/parser.nit:154 */
7096 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7097 /* parser/parser.nit:1392 */
7098 REGB0 = TAG_Int(187);
7099 fra.me.REG[2] = NEW_ReduceAction536_parser___ReduceAction___init(REGB0);
7100 /* parser/parser.nit:154 */
7101 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7102 /* parser/parser.nit:1393 */
7103 REGB0 = TAG_Int(187);
7104 fra.me.REG[2] = NEW_ReduceAction537_parser___ReduceAction___init(REGB0);
7105 /* parser/parser.nit:154 */
7106 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7107 /* parser/parser.nit:1394 */
7108 REGB0 = TAG_Int(187);
7109 fra.me.REG[2] = NEW_ReduceAction538_parser___ReduceAction___init(REGB0);
7110 /* parser/parser.nit:154 */
7111 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7112 /* parser/parser.nit:1395 */
7113 REGB0 = TAG_Int(187);
7114 fra.me.REG[2] = NEW_ReduceAction539_parser___ReduceAction___init(REGB0);
7115 /* parser/parser.nit:154 */
7116 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7117 /* parser/parser.nit:1396 */
7118 REGB0 = TAG_Int(187);
7119 fra.me.REG[2] = NEW_ReduceAction540_parser___ReduceAction___init(REGB0);
7120 /* parser/parser.nit:154 */
7121 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7122 /* parser/parser.nit:1397 */
7123 REGB0 = TAG_Int(187);
7124 fra.me.REG[2] = NEW_ReduceAction541_parser___ReduceAction___init(REGB0);
7125 /* parser/parser.nit:154 */
7126 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7127 /* parser/parser.nit:1398 */
7128 REGB0 = TAG_Int(188);
7129 fra.me.REG[2] = NEW_ReduceAction612_parser___ReduceAction___init(REGB0);
7130 /* parser/parser.nit:154 */
7131 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7132 /* parser/parser.nit:1399 */
7133 REGB0 = TAG_Int(188);
7134 fra.me.REG[2] = NEW_ReduceAction613_parser___ReduceAction___init(REGB0);
7135 /* parser/parser.nit:154 */
7136 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7137 /* parser/parser.nit:1400 */
7138 REGB0 = TAG_Int(188);
7139 fra.me.REG[2] = NEW_ReduceAction614_parser___ReduceAction___init(REGB0);
7140 /* parser/parser.nit:154 */
7141 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7142 /* parser/parser.nit:1401 */
7143 REGB0 = TAG_Int(188);
7144 fra.me.REG[2] = NEW_ReduceAction615_parser___ReduceAction___init(REGB0);
7145 /* parser/parser.nit:154 */
7146 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7147 /* parser/parser.nit:1402 */
7148 REGB0 = TAG_Int(188);
7149 fra.me.REG[2] = NEW_ReduceAction616_parser___ReduceAction___init(REGB0);
7150 /* parser/parser.nit:154 */
7151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7152 /* parser/parser.nit:1403 */
7153 REGB0 = TAG_Int(189);
7154 fra.me.REG[2] = NEW_ReduceAction625_parser___ReduceAction___init(REGB0);
7155 /* parser/parser.nit:154 */
7156 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7157 /* parser/parser.nit:1404 */
7158 REGB0 = TAG_Int(189);
7159 fra.me.REG[2] = NEW_ReduceAction628_parser___ReduceAction___init(REGB0);
7160 /* parser/parser.nit:154 */
7161 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7162 /* parser/parser.nit:1405 */
7163 REGB0 = TAG_Int(190);
7164 fra.me.REG[2] = NEW_ReduceAction1250_parser___ReduceAction___init(REGB0);
7165 /* parser/parser.nit:154 */
7166 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7167 /* parser/parser.nit:1406 */
7168 REGB0 = TAG_Int(190);
7169 fra.me.REG[2] = NEW_ReduceAction1251_parser___ReduceAction___init(REGB0);
7170 /* parser/parser.nit:154 */
7171 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7172 /* parser/parser.nit:1407 */
7173 REGB0 = TAG_Int(191);
7174 fra.me.REG[2] = NEW_ReduceAction1252_parser___ReduceAction___init(REGB0);
7175 /* parser/parser.nit:154 */
7176 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7177 /* parser/parser.nit:1408 */
7178 REGB0 = TAG_Int(191);
7179 fra.me.REG[2] = NEW_ReduceAction1253_parser___ReduceAction___init(REGB0);
7180 /* parser/parser.nit:154 */
7181 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7182 /* parser/parser.nit:1409 */
7183 REGB0 = TAG_Int(192);
7184 fra.me.REG[2] = NEW_ReduceAction1254_parser___ReduceAction___init(REGB0);
7185 /* parser/parser.nit:154 */
7186 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7187 /* parser/parser.nit:1410 */
7188 REGB0 = TAG_Int(192);
7189 fra.me.REG[2] = NEW_ReduceAction1255_parser___ReduceAction___init(REGB0);
7190 /* parser/parser.nit:154 */
7191 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7192 /* parser/parser.nit:1411 */
7193 REGB0 = TAG_Int(193);
7194 fra.me.REG[2] = NEW_ReduceAction1256_parser___ReduceAction___init(REGB0);
7195 /* parser/parser.nit:154 */
7196 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7197 /* parser/parser.nit:1412 */
7198 REGB0 = TAG_Int(193);
7199 fra.me.REG[2] = NEW_ReduceAction1257_parser___ReduceAction___init(REGB0);
7200 /* parser/parser.nit:154 */
7201 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7202 /* parser/parser.nit:1413 */
7203 REGB0 = TAG_Int(194);
7204 fra.me.REG[2] = NEW_ReduceAction1258_parser___ReduceAction___init(REGB0);
7205 /* parser/parser.nit:154 */
7206 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7207 /* parser/parser.nit:1414 */
7208 REGB0 = TAG_Int(194);
7209 fra.me.REG[2] = NEW_ReduceAction1259_parser___ReduceAction___init(REGB0);
7210 /* parser/parser.nit:154 */
7211 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7212 /* parser/parser.nit:1415 */
7213 REGB0 = TAG_Int(195);
7214 fra.me.REG[2] = NEW_ReduceAction1256_parser___ReduceAction___init(REGB0);
7215 /* parser/parser.nit:154 */
7216 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7217 /* parser/parser.nit:1416 */
7218 REGB0 = TAG_Int(195);
7219 fra.me.REG[2] = NEW_ReduceAction1257_parser___ReduceAction___init(REGB0);
7220 /* parser/parser.nit:154 */
7221 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7222 /* parser/parser.nit:1417 */
7223 REGB0 = TAG_Int(196);
7224 fra.me.REG[2] = NEW_ReduceAction1262_parser___ReduceAction___init(REGB0);
7225 /* parser/parser.nit:154 */
7226 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7227 /* parser/parser.nit:1418 */
7228 REGB0 = TAG_Int(196);
7229 fra.me.REG[2] = NEW_ReduceAction1263_parser___ReduceAction___init(REGB0);
7230 /* parser/parser.nit:154 */
7231 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7232 /* parser/parser.nit:1419 */
7233 REGB0 = TAG_Int(197);
7234 fra.me.REG[2] = NEW_ReduceAction1264_parser___ReduceAction___init(REGB0);
7235 /* parser/parser.nit:154 */
7236 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7237 /* parser/parser.nit:1420 */
7238 REGB0 = TAG_Int(197);
7239 fra.me.REG[2] = NEW_ReduceAction1265_parser___ReduceAction___init(REGB0);
7240 /* parser/parser.nit:154 */
7241 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7242 /* parser/parser.nit:1421 */
7243 REGB0 = TAG_Int(198);
7244 fra.me.REG[2] = NEW_ReduceAction1266_parser___ReduceAction___init(REGB0);
7245 /* parser/parser.nit:154 */
7246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7247 /* parser/parser.nit:1422 */
7248 REGB0 = TAG_Int(198);
7249 fra.me.REG[2] = NEW_ReduceAction1267_parser___ReduceAction___init(REGB0);
7250 /* parser/parser.nit:154 */
7251 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7252 /* parser/parser.nit:1423 */
7253 REGB0 = TAG_Int(199);
7254 fra.me.REG[2] = NEW_ReduceAction1268_parser___ReduceAction___init(REGB0);
7255 /* parser/parser.nit:154 */
7256 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7257 /* parser/parser.nit:1424 */
7258 REGB0 = TAG_Int(199);
7259 fra.me.REG[2] = NEW_ReduceAction1269_parser___ReduceAction___init(REGB0);
7260 /* parser/parser.nit:154 */
7261 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7262 /* parser/parser.nit:1425 */
7263 REGB0 = TAG_Int(200);
7264 fra.me.REG[2] = NEW_ReduceAction412_parser___ReduceAction___init(REGB0);
7265 /* parser/parser.nit:154 */
7266 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7267 /* parser/parser.nit:1426 */
7268 REGB0 = TAG_Int(200);
7269 fra.me.REG[2] = NEW_ReduceAction1271_parser___ReduceAction___init(REGB0);
7270 /* parser/parser.nit:154 */
7271 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7272 /* parser/parser.nit:1427 */
7273 REGB0 = TAG_Int(201);
7274 fra.me.REG[2] = NEW_ReduceAction1272_parser___ReduceAction___init(REGB0);
7275 /* parser/parser.nit:154 */
7276 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7277 /* parser/parser.nit:1428 */
7278 REGB0 = TAG_Int(201);
7279 fra.me.REG[2] = NEW_ReduceAction1273_parser___ReduceAction___init(REGB0);
7280 /* parser/parser.nit:154 */
7281 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7282 /* parser/parser.nit:1429 */
7283 REGB0 = TAG_Int(202);
7284 fra.me.REG[2] = NEW_ReduceAction380_parser___ReduceAction___init(REGB0);
7285 /* parser/parser.nit:154 */
7286 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7287 /* parser/parser.nit:1430 */
7288 REGB0 = TAG_Int(202);
7289 fra.me.REG[2] = NEW_ReduceAction1275_parser___ReduceAction___init(REGB0);
7290 /* parser/parser.nit:154 */
7291 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7292 /* parser/parser.nit:1431 */
7293 REGB0 = TAG_Int(203);
7294 fra.me.REG[2] = NEW_ReduceAction609_parser___ReduceAction___init(REGB0);
7295 /* parser/parser.nit:154 */
7296 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7297 /* parser/parser.nit:1432 */
7298 REGB0 = TAG_Int(203);
7299 fra.me.REG[2] = NEW_ReduceAction1277_parser___ReduceAction___init(REGB0);
7300 /* parser/parser.nit:154 */
7301 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7302 /* parser/parser.nit:1433 */
7303 REGB0 = TAG_Int(204);
7304 fra.me.REG[2] = NEW_ReduceAction609_parser___ReduceAction___init(REGB0);
7305 /* parser/parser.nit:154 */
7306 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7307 /* parser/parser.nit:1434 */
7308 REGB0 = TAG_Int(204);
7309 fra.me.REG[2] = NEW_ReduceAction1277_parser___ReduceAction___init(REGB0);
7310 /* parser/parser.nit:154 */
7311 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7312 /* parser/parser.nit:1435 */
7313 REGB0 = TAG_Int(205);
7314 fra.me.REG[2] = NEW_ReduceAction618_parser___ReduceAction___init(REGB0);
7315 /* parser/parser.nit:154 */
7316 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7317 /* parser/parser.nit:1436 */
7318 REGB0 = TAG_Int(205);
7319 fra.me.REG[2] = NEW_ReduceAction1281_parser___ReduceAction___init(REGB0);
7320 /* parser/parser.nit:154 */
7321 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7322 /* parser/parser.nit:1437 */
7323 REGB0 = TAG_Int(206);
7324 fra.me.REG[2] = NEW_ReduceAction1272_parser___ReduceAction___init(REGB0);
7325 /* parser/parser.nit:154 */
7326 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7327 /* parser/parser.nit:1438 */
7328 REGB0 = TAG_Int(206);
7329 fra.me.REG[2] = NEW_ReduceAction1273_parser___ReduceAction___init(REGB0);
7330 /* parser/parser.nit:154 */
7331 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7332 /* parser/parser.nit:1439 */
7333 REGB0 = TAG_Int(207);
7334 fra.me.REG[2] = NEW_ReduceAction640_parser___ReduceAction___init(REGB0);
7335 /* parser/parser.nit:154 */
7336 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7337 /* parser/parser.nit:1440 */
7338 REGB0 = TAG_Int(207);
7339 fra.me.REG[2] = NEW_ReduceAction1285_parser___ReduceAction___init(REGB0);
7340 /* parser/parser.nit:154 */
7341 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7342 /* parser/parser.nit:1441 */
7343 REGB0 = TAG_Int(208);
7344 fra.me.REG[2] = NEW_ReduceAction1286_parser___ReduceAction___init(REGB0);
7345 /* parser/parser.nit:154 */
7346 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7347 /* parser/parser.nit:1442 */
7348 REGB0 = TAG_Int(208);
7349 fra.me.REG[2] = NEW_ReduceAction1287_parser___ReduceAction___init(REGB0);
7350 /* parser/parser.nit:154 */
7351 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7352 /* parser/parser.nit:1443 */
7353 REGB0 = TAG_Int(209);
7354 fra.me.REG[2] = NEW_ReduceAction1288_parser___ReduceAction___init(REGB0);
7355 /* parser/parser.nit:154 */
7356 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7357 /* parser/parser.nit:1444 */
7358 REGB0 = TAG_Int(209);
7359 fra.me.REG[2] = NEW_ReduceAction1289_parser___ReduceAction___init(REGB0);
7360 /* parser/parser.nit:154 */
7361 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7362 /* parser/parser.nit:1445 */
7363 REGB0 = TAG_Int(210);
7364 fra.me.REG[2] = NEW_ReduceAction609_parser___ReduceAction___init(REGB0);
7365 /* parser/parser.nit:154 */
7366 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7367 /* parser/parser.nit:1446 */
7368 REGB0 = TAG_Int(210);
7369 fra.me.REG[2] = NEW_ReduceAction1277_parser___ReduceAction___init(REGB0);
7370 /* parser/parser.nit:154 */
7371 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7372 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_items(fra.me.REG[1]);
7373 ATTR_parser___Parser____reduce_table(fra.me.REG[0]) = fra.me.REG[1];
7374 stack_frame_head = fra.me.prev;
7375 return;
7376 }
7377 static const char LOCATE_parser___ComputeProdLocationVisitor___visit[] = "parser::ComputeProdLocationVisitor::(parser_prod::Visitor::visit)";
7378 void parser___ComputeProdLocationVisitor___visit(val_t p0, val_t p1){
7379 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
7380 val_t REGB0;
7381 val_t REGB1;
7382 val_t REGB2;
7383 val_t REGB3;
7384 val_t REGB4;
7385 val_t tmp;
7386 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7387 fra.me.file = LOCATE_parser;
7388 fra.me.line = 1477;
7389 fra.me.meth = LOCATE_parser___ComputeProdLocationVisitor___visit;
7390 fra.me.has_broke = 0;
7391 fra.me.REG_size = 9;
7392 fra.me.nitni_local_ref_head = NULL;
7393 fra.me.REG[0] = NIT_NULL;
7394 fra.me.REG[1] = NIT_NULL;
7395 fra.me.REG[2] = NIT_NULL;
7396 fra.me.REG[3] = NIT_NULL;
7397 fra.me.REG[4] = NIT_NULL;
7398 fra.me.REG[5] = NIT_NULL;
7399 fra.me.REG[6] = NIT_NULL;
7400 fra.me.REG[7] = NIT_NULL;
7401 fra.me.REG[8] = NIT_NULL;
7402 fra.me.REG[0] = p0;
7403 fra.me.REG[1] = p1;
7404 /* parser/parser.nit:1479 */
7405 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
7406 if (UNTAG_Bool(REGB0)) {
7407 } else {
7408 REGB1 = TAG_Bool(fra.me.REG[1]==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[1])(fra.me.REG[1], NIT_NULL);
7414 REGB0 = REGB1;
7415 }
7416 }
7417 if (UNTAG_Bool(REGB0)) {
7418 /* parser/parser.nit:1480 */
7419 goto label1;
7420 } else {
7421 /* parser/parser.nit:1481 */
7422 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*/;
7423 if (UNTAG_Bool(REGB0)) {
7424 /* parser/parser.nit:1482 */
7425 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
7426 if (UNTAG_Bool(REGB0)) {
7427 nit_abort("Reciever is null", NULL, LOCATE_parser, 1482);
7428 }
7429 fra.me.REG[2] = CALL_parser___parser_nodes___ANode___location(fra.me.REG[1])(fra.me.REG[1]);
7430 /* parser/parser.nit:1483 */
7431 ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = fra.me.REG[2];
7432 /* parser/parser.nit:1486 */
7433 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
7434 if (UNTAG_Bool(REGB0)) {
7435 } else {
7436 nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 1486);
7437 }
7438 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
7439 REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
7440 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7441 if (UNTAG_Bool(REGB0)) {
7442 /* parser/parser.nit:1487 */
7443 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
7444 if (UNTAG_Bool(REGB0)) {
7445 } else {
7446 nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 1487);
7447 }
7448 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
7449 /* ../lib/standard/collection/array.nit:269 */
7450 REGB0 = TAG_Int(0);
7451 /* ../lib/standard/collection/array.nit:270 */
7452 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
7453 if (UNTAG_Bool(REGB1)) {
7454 } else {
7455 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
7456 }
7457 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
7458 /* ../lib/standard/collection/array.nit:271 */
7459 fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[3]);
7460 /* ../lib/standard/collection/array.nit:272 */
7461 while(1) {
7462 /* ../lib/standard/collection/array.nit:24 */
7463 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
7464 if (UNTAG_Bool(REGB1)) {
7465 } else {
7466 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
7467 }
7468 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
7469 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
7470 if (UNTAG_Bool(REGB2)) {
7471 } else {
7472 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
7473 }
7474 /* ../lib/standard/kernel.nit:235 */
7475 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
7476 /* ../lib/standard/collection/array.nit:272 */
7477 if (UNTAG_Bool(REGB1)) {
7478 /* ../lib/standard/collection/array.nit:273 */
7479 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
7480 if (UNTAG_Bool(REGB1)) {
7481 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
7482 }
7483 /* ../lib/standard/collection/array.nit:724 */
7484 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB0)];
7485 /* parser/parser.nit:1488 */
7486 ATTR_parser___Prod____first_location(fra.me.REG[5]) = fra.me.REG[2];
7487 /* ../lib/standard/collection/array.nit:274 */
7488 REGB1 = TAG_Int(1);
7489 /* ../lib/standard/kernel.nit:238 */
7490 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
7491 /* ../lib/standard/collection/array.nit:274 */
7492 REGB0 = REGB1;
7493 } else {
7494 /* ../lib/standard/collection/array.nit:272 */
7495 goto label2;
7496 }
7497 }
7498 label2: while(0);
7499 /* parser/parser.nit:1490 */
7500 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
7501 if (UNTAG_Bool(REGB0)) {
7502 } else {
7503 nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 1490);
7504 }
7505 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
7506 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[4])(fra.me.REG[4]);
7507 }
7508 /* parser/parser.nit:1494 */
7509 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
7510 if (UNTAG_Bool(REGB0)) {
7511 } else {
7512 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1494);
7513 }
7514 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
7515 REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
7516 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7517 if (UNTAG_Bool(REGB0)) {
7518 /* parser/parser.nit:1495 */
7519 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
7520 if (UNTAG_Bool(REGB0)) {
7521 } else {
7522 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1495);
7523 }
7524 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
7525 /* ../lib/standard/collection/array.nit:269 */
7526 REGB0 = TAG_Int(0);
7527 /* ../lib/standard/collection/array.nit:270 */
7528 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
7529 if (UNTAG_Bool(REGB1)) {
7530 } else {
7531 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
7532 }
7533 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
7534 /* ../lib/standard/collection/array.nit:271 */
7535 fra.me.REG[3] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
7536 /* ../lib/standard/collection/array.nit:272 */
7537 while(1) {
7538 /* ../lib/standard/collection/array.nit:24 */
7539 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
7540 if (UNTAG_Bool(REGB1)) {
7541 } else {
7542 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
7543 }
7544 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
7545 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
7546 if (UNTAG_Bool(REGB2)) {
7547 } else {
7548 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
7549 }
7550 /* ../lib/standard/kernel.nit:235 */
7551 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
7552 /* ../lib/standard/collection/array.nit:272 */
7553 if (UNTAG_Bool(REGB1)) {
7554 /* ../lib/standard/collection/array.nit:273 */
7555 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7556 if (UNTAG_Bool(REGB1)) {
7557 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
7558 }
7559 /* ../lib/standard/collection/array.nit:724 */
7560 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB0)];
7561 /* parser/parser.nit:1498 */
7562 fra.me.REG[6] = fra.me.REG[2];
7563 /* parser/parser.nit:1499 */
7564 fra.me.REG[7] = ATTR_parser___Prod____last_location(fra.me.REG[5]);
7565 /* parser/parser.nit:1500 */
7566 fra.me.REG[8] = CALL_location___Location___file(fra.me.REG[6])(fra.me.REG[6]);
7567 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
7568 if (UNTAG_Bool(REGB1)) {
7569 nit_abort("Reciever is null", NULL, LOCATE_parser, 1500);
7570 }
7571 REGB1 = CALL_location___Location___line_end(fra.me.REG[7])(fra.me.REG[7]);
7572 REGB2 = CALL_location___Location___line_start(fra.me.REG[6])(fra.me.REG[6]);
7573 REGB3 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
7574 if (UNTAG_Bool(REGB3)) {
7575 nit_abort("Reciever is null", NULL, LOCATE_parser, 1500);
7576 }
7577 REGB3 = CALL_location___Location___column_end(fra.me.REG[7])(fra.me.REG[7]);
7578 REGB4 = CALL_location___Location___column_start(fra.me.REG[6])(fra.me.REG[6]);
7579 fra.me.REG[8] = NEW_Location_location___Location___init(fra.me.REG[8], REGB1, REGB2, REGB3, REGB4);
7580 CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[8]);
7581 /* ../lib/standard/collection/array.nit:274 */
7582 REGB4 = TAG_Int(1);
7583 /* ../lib/standard/kernel.nit:238 */
7584 REGB4 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB4));
7585 /* ../lib/standard/collection/array.nit:274 */
7586 REGB0 = REGB4;
7587 } else {
7588 /* ../lib/standard/collection/array.nit:272 */
7589 goto label3;
7590 }
7591 }
7592 label3: while(0);
7593 /* parser/parser.nit:1502 */
7594 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
7595 if (UNTAG_Bool(REGB0)) {
7596 } else {
7597 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1502);
7598 }
7599 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
7600 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[2])(fra.me.REG[2]);
7601 }
7602 } else {
7603 /* parser/parser.nit:1505 */
7604 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*/;
7605 if (UNTAG_Bool(REGB0)) {
7606 } else {
7607 nit_abort("Assert failed", NULL, LOCATE_parser, 1505);
7608 }
7609 /* parser/parser.nit:1506 */
7610 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
7611 if (UNTAG_Bool(REGB0)) {
7612 } else {
7613 nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 1506);
7614 }
7615 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
7616 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
7617 /* parser/parser.nit:1508 */
7618 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]);
7619 /* parser/parser.nit:1509 */
7620 ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = NIT_NULL;
7621 /* parser/parser.nit:1510 */
7622 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
7623 if (UNTAG_Bool(REGB0)) {
7624 nit_abort("Reciever is null", NULL, LOCATE_parser, 1510);
7625 }
7626 CALL_parser___parser_prod___ANode___visit_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
7627 /* parser/parser.nit:1511 */
7628 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]);
7629 /* parser/parser.nit:1512 */
7630 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7631 if (UNTAG_Bool(REGB0)) {
7632 } else {
7633 REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7634 if (UNTAG_Bool(REGB4)) {
7635 REGB4 = TAG_Bool(0);
7636 REGB0 = REGB4;
7637 } else {
7638 REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7639 REGB0 = REGB4;
7640 }
7641 }
7642 if (UNTAG_Bool(REGB0)) {
7643 ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = fra.me.REG[2];
7644 }
7645 /* parser/parser.nit:1514 */
7646 ATTR_parser___Prod____last_location(fra.me.REG[1]) = fra.me.REG[3];
7647 /* parser/parser.nit:1515 */
7648 fra.me.REG[2] = ATTR_parser___Prod____first_location(fra.me.REG[1]);
7649 /* parser/parser.nit:1516 */
7650 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7651 if (UNTAG_Bool(REGB0)) {
7652 } else {
7653 REGB4 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7654 if (UNTAG_Bool(REGB4)) {
7655 REGB4 = TAG_Bool(0);
7656 REGB0 = REGB4;
7657 } else {
7658 REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7659 REGB0 = REGB4;
7660 }
7661 }
7662 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7663 if (UNTAG_Bool(REGB0)) {
7664 /* parser/parser.nit:1518 */
7665 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7666 if (UNTAG_Bool(REGB0)) {
7667 } else {
7668 REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7669 if (UNTAG_Bool(REGB4)) {
7670 REGB4 = TAG_Bool(0);
7671 REGB0 = REGB4;
7672 } else {
7673 REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7674 REGB0 = REGB4;
7675 }
7676 }
7677 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7678 if (UNTAG_Bool(REGB0)) {
7679 } else {
7680 nit_abort("Assert failed", NULL, LOCATE_parser, 1518);
7681 }
7682 /* parser/parser.nit:1520 */
7683 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7684 if (UNTAG_Bool(REGB0)) {
7685 nit_abort("Reciever is null", NULL, LOCATE_parser, 1520);
7686 }
7687 fra.me.REG[4] = CALL_location___Location___file(fra.me.REG[2])(fra.me.REG[2]);
7688 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7689 if (UNTAG_Bool(REGB0)) {
7690 nit_abort("Reciever is null", NULL, LOCATE_parser, 1520);
7691 }
7692 REGB0 = CALL_location___Location___line_start(fra.me.REG[2])(fra.me.REG[2]);
7693 REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7694 if (UNTAG_Bool(REGB4)) {
7695 nit_abort("Reciever is null", NULL, LOCATE_parser, 1520);
7696 }
7697 REGB4 = CALL_location___Location___line_end(fra.me.REG[3])(fra.me.REG[3]);
7698 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7699 if (UNTAG_Bool(REGB3)) {
7700 nit_abort("Reciever is null", NULL, LOCATE_parser, 1520);
7701 }
7702 REGB3 = CALL_location___Location___column_start(fra.me.REG[2])(fra.me.REG[2]);
7703 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7704 if (UNTAG_Bool(REGB2)) {
7705 nit_abort("Reciever is null", NULL, LOCATE_parser, 1520);
7706 }
7707 REGB2 = CALL_location___Location___column_end(fra.me.REG[3])(fra.me.REG[3]);
7708 fra.me.REG[4] = NEW_Location_location___Location___init(fra.me.REG[4], REGB0, REGB4, REGB3, REGB2);
7709 REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
7710 if (UNTAG_Bool(REGB2)) {
7711 nit_abort("Reciever is null", NULL, LOCATE_parser, 1520);
7712 }
7713 CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
7714 /* parser/parser.nit:1522 */
7715 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
7716 if (UNTAG_Bool(REGB2)) {
7717 } else {
7718 nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 1522);
7719 }
7720 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
7721 REGB2 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
7722 REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
7723 if (UNTAG_Bool(REGB2)) {
7724 /* parser/parser.nit:1523 */
7725 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7726 if (UNTAG_Bool(REGB2)) {
7727 nit_abort("Reciever is null", NULL, LOCATE_parser, 1523);
7728 }
7729 fra.me.REG[4] = CALL_location___Location___file(fra.me.REG[2])(fra.me.REG[2]);
7730 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7731 if (UNTAG_Bool(REGB2)) {
7732 nit_abort("Reciever is null", NULL, LOCATE_parser, 1523);
7733 }
7734 REGB2 = CALL_location___Location___line_start(fra.me.REG[2])(fra.me.REG[2]);
7735 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7736 if (UNTAG_Bool(REGB3)) {
7737 nit_abort("Reciever is null", NULL, LOCATE_parser, 1523);
7738 }
7739 REGB3 = CALL_location___Location___line_start(fra.me.REG[2])(fra.me.REG[2]);
7740 REGB4 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7741 if (UNTAG_Bool(REGB4)) {
7742 nit_abort("Reciever is null", NULL, LOCATE_parser, 1523);
7743 }
7744 REGB4 = CALL_location___Location___column_start(fra.me.REG[2])(fra.me.REG[2]);
7745 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7746 if (UNTAG_Bool(REGB0)) {
7747 nit_abort("Reciever is null", NULL, LOCATE_parser, 1523);
7748 }
7749 REGB0 = CALL_location___Location___column_start(fra.me.REG[2])(fra.me.REG[2]);
7750 fra.me.REG[4] = NEW_Location_location___Location___init(fra.me.REG[4], REGB2, REGB3, REGB4, REGB0);
7751 /* parser/parser.nit:1524 */
7752 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
7753 if (UNTAG_Bool(REGB0)) {
7754 } else {
7755 nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 1524);
7756 }
7757 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
7758 /* ../lib/standard/collection/array.nit:269 */
7759 REGB0 = TAG_Int(0);
7760 /* ../lib/standard/collection/array.nit:270 */
7761 REGB4 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
7762 if (UNTAG_Bool(REGB4)) {
7763 } else {
7764 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
7765 }
7766 REGB4 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
7767 /* ../lib/standard/collection/array.nit:271 */
7768 fra.me.REG[8] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
7769 /* ../lib/standard/collection/array.nit:272 */
7770 while(1) {
7771 /* ../lib/standard/collection/array.nit:24 */
7772 REGB4 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
7773 if (UNTAG_Bool(REGB4)) {
7774 } else {
7775 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
7776 }
7777 REGB4 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
7778 REGB3 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
7779 if (UNTAG_Bool(REGB3)) {
7780 } else {
7781 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
7782 }
7783 /* ../lib/standard/kernel.nit:235 */
7784 REGB4 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB4));
7785 /* ../lib/standard/collection/array.nit:272 */
7786 if (UNTAG_Bool(REGB4)) {
7787 /* ../lib/standard/collection/array.nit:273 */
7788 REGB4 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
7789 if (UNTAG_Bool(REGB4)) {
7790 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
7791 }
7792 /* ../lib/standard/collection/array.nit:724 */
7793 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[8])->val[UNTAG_Int(REGB0)];
7794 /* parser/parser.nit:1526 */
7795 CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
7796 /* ../lib/standard/collection/array.nit:274 */
7797 REGB4 = TAG_Int(1);
7798 /* ../lib/standard/kernel.nit:238 */
7799 REGB4 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB4));
7800 /* ../lib/standard/collection/array.nit:274 */
7801 REGB0 = REGB4;
7802 } else {
7803 /* ../lib/standard/collection/array.nit:272 */
7804 goto label4;
7805 }
7806 }
7807 label4: while(0);
7808 /* parser/parser.nit:1528 */
7809 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
7810 if (UNTAG_Bool(REGB0)) {
7811 } else {
7812 nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 1528);
7813 }
7814 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
7815 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[4])(fra.me.REG[4]);
7816 }
7817 /* parser/parser.nit:1531 */
7818 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
7819 if (UNTAG_Bool(REGB0)) {
7820 } else {
7821 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1531);
7822 }
7823 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
7824 REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
7825 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7826 if (UNTAG_Bool(REGB0)) {
7827 /* parser/parser.nit:1532 */
7828 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7829 if (UNTAG_Bool(REGB0)) {
7830 nit_abort("Reciever is null", NULL, LOCATE_parser, 1532);
7831 }
7832 fra.me.REG[4] = CALL_location___Location___file(fra.me.REG[3])(fra.me.REG[3]);
7833 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7834 if (UNTAG_Bool(REGB0)) {
7835 nit_abort("Reciever is null", NULL, LOCATE_parser, 1532);
7836 }
7837 REGB0 = CALL_location___Location___line_end(fra.me.REG[3])(fra.me.REG[3]);
7838 REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7839 if (UNTAG_Bool(REGB4)) {
7840 nit_abort("Reciever is null", NULL, LOCATE_parser, 1532);
7841 }
7842 REGB4 = CALL_location___Location___line_end(fra.me.REG[3])(fra.me.REG[3]);
7843 REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7844 if (UNTAG_Bool(REGB3)) {
7845 nit_abort("Reciever is null", NULL, LOCATE_parser, 1532);
7846 }
7847 REGB3 = CALL_location___Location___column_end(fra.me.REG[3])(fra.me.REG[3]);
7848 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7849 if (UNTAG_Bool(REGB2)) {
7850 nit_abort("Reciever is null", NULL, LOCATE_parser, 1532);
7851 }
7852 REGB2 = CALL_location___Location___column_end(fra.me.REG[3])(fra.me.REG[3]);
7853 fra.me.REG[4] = NEW_Location_location___Location___init(fra.me.REG[4], REGB0, REGB4, REGB3, REGB2);
7854 /* parser/parser.nit:1533 */
7855 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
7856 if (UNTAG_Bool(REGB2)) {
7857 } else {
7858 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1533);
7859 }
7860 fra.me.REG[8] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
7861 /* ../lib/standard/collection/array.nit:269 */
7862 REGB2 = TAG_Int(0);
7863 /* ../lib/standard/collection/array.nit:270 */
7864 REGB3 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8])!=NIT_NULL);
7865 if (UNTAG_Bool(REGB3)) {
7866 } else {
7867 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
7868 }
7869 REGB3 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8]);
7870 /* ../lib/standard/collection/array.nit:271 */
7871 fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[8]);
7872 /* ../lib/standard/collection/array.nit:272 */
7873 while(1) {
7874 /* ../lib/standard/collection/array.nit:24 */
7875 REGB3 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8])!=NIT_NULL);
7876 if (UNTAG_Bool(REGB3)) {
7877 } else {
7878 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
7879 }
7880 REGB3 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8]);
7881 REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
7882 if (UNTAG_Bool(REGB4)) {
7883 } else {
7884 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
7885 }
7886 /* ../lib/standard/kernel.nit:235 */
7887 REGB3 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
7888 /* ../lib/standard/collection/array.nit:272 */
7889 if (UNTAG_Bool(REGB3)) {
7890 /* ../lib/standard/collection/array.nit:273 */
7891 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7892 if (UNTAG_Bool(REGB3)) {
7893 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
7894 }
7895 /* ../lib/standard/collection/array.nit:724 */
7896 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB2)];
7897 /* parser/parser.nit:1535 */
7898 CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
7899 /* ../lib/standard/collection/array.nit:274 */
7900 REGB3 = TAG_Int(1);
7901 /* ../lib/standard/kernel.nit:238 */
7902 REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB3));
7903 /* ../lib/standard/collection/array.nit:274 */
7904 REGB2 = REGB3;
7905 } else {
7906 /* ../lib/standard/collection/array.nit:272 */
7907 goto label5;
7908 }
7909 }
7910 label5: while(0);
7911 /* parser/parser.nit:1537 */
7912 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
7913 if (UNTAG_Bool(REGB2)) {
7914 } else {
7915 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1537);
7916 }
7917 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
7918 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[4])(fra.me.REG[4]);
7919 }
7920 } else {
7921 /* parser/parser.nit:1542 */
7922 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7923 if (UNTAG_Bool(REGB2)) {
7924 } else {
7925 REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7926 if (UNTAG_Bool(REGB3)) {
7927 REGB3 = TAG_Bool(0);
7928 REGB2 = REGB3;
7929 } else {
7930 REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7931 REGB2 = REGB3;
7932 }
7933 }
7934 if (UNTAG_Bool(REGB2)) {
7935 /* parser/parser.nit:1544 */
7936 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
7937 if (UNTAG_Bool(REGB2)) {
7938 } else {
7939 nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 1544);
7940 }
7941 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
7942 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
7943 } else {
7944 /* parser/parser.nit:1547 */
7945 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
7946 if (UNTAG_Bool(REGB2)) {
7947 } else {
7948 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1547);
7949 }
7950 fra.me.REG[0] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
7951 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
7952 }
7953 }
7954 }
7955 }
7956 label1: while(0);
7957 stack_frame_head = fra.me.prev;
7958 return;
7959 }
7960 static const char LOCATE_parser___ComputeProdLocationVisitor___init[] = "parser::ComputeProdLocationVisitor::init";
7961 void parser___ComputeProdLocationVisitor___init(val_t p0, int* init_table){
7962 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___ComputeProdLocationVisitor].i;
7963 struct {struct stack_frame_t me;} fra;
7964 val_t tmp;
7965 if (init_table[itpos2]) return;
7966 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7967 fra.me.file = LOCATE_parser;
7968 fra.me.line = 1553;
7969 fra.me.meth = LOCATE_parser___ComputeProdLocationVisitor___init;
7970 fra.me.has_broke = 0;
7971 fra.me.REG_size = 1;
7972 fra.me.nitni_local_ref_head = NULL;
7973 fra.me.REG[0] = NIT_NULL;
7974 fra.me.REG[0] = p0;
7975 /* parser/parser.nit:1553 */
7976 CALL_parser___parser_prod___Visitor___init(fra.me.REG[0])(fra.me.REG[0], init_table);
7977 stack_frame_head = fra.me.prev;
7978 init_table[itpos2] = 1;
7979 return;
7980 }
7981 static const char LOCATE_parser___ReduceAction___action[] = "parser::ReduceAction::action";
7982 void parser___ReduceAction___action(val_t p0, val_t p1){
7983 struct {struct stack_frame_t me;} fra;
7984 val_t tmp;
7985 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7986 fra.me.file = LOCATE_parser;
7987 fra.me.line = 1558;
7988 fra.me.meth = LOCATE_parser___ReduceAction___action;
7989 fra.me.has_broke = 0;
7990 fra.me.REG_size = 0;
7991 fra.me.nitni_local_ref_head = NULL;
7992 /* parser/parser.nit:1558 */
7993 nit_abort("Deferred method called", NULL, LOCATE_parser, 1558);
7994 stack_frame_head = fra.me.prev;
7995 return;
7996 }
7997 static const char LOCATE_parser___ReduceAction___concat[] = "parser::ReduceAction::concat";
7998 val_t parser___ReduceAction___concat(val_t p0, val_t p1, val_t p2){
7999 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
8000 val_t REGB0;
8001 val_t tmp;
8002 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8003 fra.me.file = LOCATE_parser;
8004 fra.me.line = 1559;
8005 fra.me.meth = LOCATE_parser___ReduceAction___concat;
8006 fra.me.has_broke = 0;
8007 fra.me.REG_size = 3;
8008 fra.me.nitni_local_ref_head = NULL;
8009 fra.me.REG[0] = NIT_NULL;
8010 fra.me.REG[1] = NIT_NULL;
8011 fra.me.REG[2] = NIT_NULL;
8012 fra.me.REG[0] = p0;
8013 fra.me.REG[1] = p1;
8014 fra.me.REG[2] = p2;
8015 /* parser/parser.nit:1561 */
8016 REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[1])(fra.me.REG[1]);
8017 if (UNTAG_Bool(REGB0)) {
8018 fra.me.REG[0] = fra.me.REG[2];
8019 goto label1;
8020 }
8021 /* parser/parser.nit:1562 */
8022 CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
8023 /* parser/parser.nit:1563 */
8024 fra.me.REG[0] = fra.me.REG[1];
8025 goto label1;
8026 label1: while(0);
8027 stack_frame_head = fra.me.prev;
8028 return fra.me.REG[0];
8029 }
8030 static const char LOCATE_parser___ReduceAction___init[] = "parser::ReduceAction::init";
8031 void parser___ReduceAction___init(val_t p0, val_t p1, int* init_table){
8032 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___ReduceAction].i;
8033 struct {struct stack_frame_t me;} fra;
8034 val_t REGB0;
8035 val_t tmp;
8036 if (init_table[itpos3]) return;
8037 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8038 fra.me.file = LOCATE_parser;
8039 fra.me.line = 1566;
8040 fra.me.meth = LOCATE_parser___ReduceAction___init;
8041 fra.me.has_broke = 0;
8042 fra.me.REG_size = 1;
8043 fra.me.nitni_local_ref_head = NULL;
8044 fra.me.REG[0] = NIT_NULL;
8045 fra.me.REG[0] = p0;
8046 REGB0 = p1;
8047 /* parser/parser.nit:1566 */
8048 ATTR_parser___ReduceAction____goto(fra.me.REG[0]) = REGB0;
8049 stack_frame_head = fra.me.prev;
8050 init_table[itpos3] = 1;
8051 return;
8052 }
8053 static const char LOCATE_parser___ReduceAction0___action[] = "parser::ReduceAction0::(parser::ReduceAction::action)";
8054 void parser___ReduceAction0___action(val_t p0, val_t p1){
8055 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
8056 val_t REGB0;
8057 val_t tmp;
8058 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8059 fra.me.file = LOCATE_parser;
8060 fra.me.line = 1571;
8061 fra.me.meth = LOCATE_parser___ReduceAction0___action;
8062 fra.me.has_broke = 0;
8063 fra.me.REG_size = 6;
8064 fra.me.nitni_local_ref_head = NULL;
8065 fra.me.REG[0] = NIT_NULL;
8066 fra.me.REG[1] = NIT_NULL;
8067 fra.me.REG[2] = NIT_NULL;
8068 fra.me.REG[3] = NIT_NULL;
8069 fra.me.REG[4] = NIT_NULL;
8070 fra.me.REG[5] = NIT_NULL;
8071 fra.me.REG[0] = p0;
8072 fra.me.REG[1] = p1;
8073 /* parser/parser.nit:1573 */
8074 fra.me.REG[2] = NIT_NULL;
8075 /* parser/parser.nit:1574 */
8076 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
8077 /* parser/parser.nit:1575 */
8078 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
8079 /* parser/parser.nit:1576 */
8080 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8081 /* parser/parser.nit:1577 */
8082 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]);
8083 /* parser/parser.nit:1583 */
8084 fra.me.REG[2] = fra.me.REG[5];
8085 /* parser/parser.nit:1584 */
8086 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8087 if (UNTAG_Bool(REGB0)) {
8088 } else {
8089 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1584);
8090 }
8091 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8092 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8093 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8094 stack_frame_head = fra.me.prev;
8095 return;
8096 }
8097 static const char LOCATE_parser___ReduceAction1___action[] = "parser::ReduceAction1::(parser::ReduceAction::action)";
8098 void parser___ReduceAction1___action(val_t p0, val_t p1){
8099 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
8100 val_t REGB0;
8101 val_t tmp;
8102 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8103 fra.me.file = LOCATE_parser;
8104 fra.me.line = 1589;
8105 fra.me.meth = LOCATE_parser___ReduceAction1___action;
8106 fra.me.has_broke = 0;
8107 fra.me.REG_size = 7;
8108 fra.me.nitni_local_ref_head = NULL;
8109 fra.me.REG[0] = NIT_NULL;
8110 fra.me.REG[1] = NIT_NULL;
8111 fra.me.REG[2] = NIT_NULL;
8112 fra.me.REG[3] = NIT_NULL;
8113 fra.me.REG[4] = NIT_NULL;
8114 fra.me.REG[5] = NIT_NULL;
8115 fra.me.REG[6] = NIT_NULL;
8116 fra.me.REG[0] = p0;
8117 fra.me.REG[1] = p1;
8118 /* parser/parser.nit:1591 */
8119 fra.me.REG[2] = NIT_NULL;
8120 /* parser/parser.nit:1592 */
8121 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8122 /* parser/parser.nit:1593 */
8123 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
8124 /* parser/parser.nit:1594 */
8125 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8126 /* parser/parser.nit:1595 */
8127 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8128 /* parser/parser.nit:1597 */
8129 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*/;
8130 if (UNTAG_Bool(REGB0)) {
8131 } else {
8132 nit_abort("Assert failed", NULL, LOCATE_parser, 1597);
8133 }
8134 /* parser/parser.nit:1598 */
8135 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]);
8136 /* parser/parser.nit:1604 */
8137 fra.me.REG[2] = fra.me.REG[6];
8138 /* parser/parser.nit:1605 */
8139 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8140 if (UNTAG_Bool(REGB0)) {
8141 } else {
8142 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1605);
8143 }
8144 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8145 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8146 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8147 stack_frame_head = fra.me.prev;
8148 return;
8149 }
8150 static const char LOCATE_parser___ReduceAction2___action[] = "parser::ReduceAction2::(parser::ReduceAction::action)";
8151 void parser___ReduceAction2___action(val_t p0, val_t p1){
8152 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
8153 val_t REGB0;
8154 val_t tmp;
8155 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8156 fra.me.file = LOCATE_parser;
8157 fra.me.line = 1610;
8158 fra.me.meth = LOCATE_parser___ReduceAction2___action;
8159 fra.me.has_broke = 0;
8160 fra.me.REG_size = 7;
8161 fra.me.nitni_local_ref_head = NULL;
8162 fra.me.REG[0] = NIT_NULL;
8163 fra.me.REG[1] = NIT_NULL;
8164 fra.me.REG[2] = NIT_NULL;
8165 fra.me.REG[3] = NIT_NULL;
8166 fra.me.REG[4] = NIT_NULL;
8167 fra.me.REG[5] = NIT_NULL;
8168 fra.me.REG[6] = NIT_NULL;
8169 fra.me.REG[0] = p0;
8170 fra.me.REG[1] = p1;
8171 /* parser/parser.nit:1612 */
8172 fra.me.REG[2] = NIT_NULL;
8173 /* parser/parser.nit:1613 */
8174 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8175 /* parser/parser.nit:1614 */
8176 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
8177 /* parser/parser.nit:1615 */
8178 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8179 /* parser/parser.nit:1616 */
8180 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8181 /* parser/parser.nit:1618 */
8182 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]*/;
8183 if (UNTAG_Bool(REGB0)) {
8184 } else {
8185 nit_abort("Assert failed", NULL, LOCATE_parser, 1618);
8186 }
8187 /* parser/parser.nit:1619 */
8188 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
8189 fra.me.REG[4] = fra.me.REG[3];
8190 /* parser/parser.nit:1620 */
8191 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]);
8192 /* parser/parser.nit:1626 */
8193 fra.me.REG[2] = fra.me.REG[6];
8194 /* parser/parser.nit:1627 */
8195 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8196 if (UNTAG_Bool(REGB0)) {
8197 } else {
8198 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1627);
8199 }
8200 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8201 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8202 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8203 stack_frame_head = fra.me.prev;
8204 return;
8205 }
8206 static const char LOCATE_parser___ReduceAction3___action[] = "parser::ReduceAction3::(parser::ReduceAction::action)";
8207 void parser___ReduceAction3___action(val_t p0, val_t p1){
8208 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
8209 val_t REGB0;
8210 val_t tmp;
8211 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8212 fra.me.file = LOCATE_parser;
8213 fra.me.line = 1632;
8214 fra.me.meth = LOCATE_parser___ReduceAction3___action;
8215 fra.me.has_broke = 0;
8216 fra.me.REG_size = 8;
8217 fra.me.nitni_local_ref_head = NULL;
8218 fra.me.REG[0] = NIT_NULL;
8219 fra.me.REG[1] = NIT_NULL;
8220 fra.me.REG[2] = NIT_NULL;
8221 fra.me.REG[3] = NIT_NULL;
8222 fra.me.REG[4] = NIT_NULL;
8223 fra.me.REG[5] = NIT_NULL;
8224 fra.me.REG[6] = NIT_NULL;
8225 fra.me.REG[7] = NIT_NULL;
8226 fra.me.REG[0] = p0;
8227 fra.me.REG[1] = p1;
8228 /* parser/parser.nit:1634 */
8229 fra.me.REG[2] = NIT_NULL;
8230 /* parser/parser.nit:1635 */
8231 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8232 /* parser/parser.nit:1636 */
8233 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8234 /* parser/parser.nit:1637 */
8235 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8236 /* parser/parser.nit:1638 */
8237 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8238 /* parser/parser.nit:1639 */
8239 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8240 /* parser/parser.nit:1641 */
8241 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*/;
8242 if (UNTAG_Bool(REGB0)) {
8243 } else {
8244 nit_abort("Assert failed", NULL, LOCATE_parser, 1641);
8245 }
8246 /* parser/parser.nit:1643 */
8247 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]*/;
8248 if (UNTAG_Bool(REGB0)) {
8249 } else {
8250 nit_abort("Assert failed", NULL, LOCATE_parser, 1643);
8251 }
8252 /* parser/parser.nit:1644 */
8253 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
8254 fra.me.REG[5] = fra.me.REG[3];
8255 /* parser/parser.nit:1645 */
8256 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]);
8257 /* parser/parser.nit:1651 */
8258 fra.me.REG[2] = fra.me.REG[7];
8259 /* parser/parser.nit:1652 */
8260 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8261 if (UNTAG_Bool(REGB0)) {
8262 } else {
8263 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1652);
8264 }
8265 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8266 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8267 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8268 stack_frame_head = fra.me.prev;
8269 return;
8270 }
8271 static const char LOCATE_parser___ReduceAction4___action[] = "parser::ReduceAction4::(parser::ReduceAction::action)";
8272 void parser___ReduceAction4___action(val_t p0, val_t p1){
8273 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
8274 val_t REGB0;
8275 val_t tmp;
8276 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8277 fra.me.file = LOCATE_parser;
8278 fra.me.line = 1657;
8279 fra.me.meth = LOCATE_parser___ReduceAction4___action;
8280 fra.me.has_broke = 0;
8281 fra.me.REG_size = 7;
8282 fra.me.nitni_local_ref_head = NULL;
8283 fra.me.REG[0] = NIT_NULL;
8284 fra.me.REG[1] = NIT_NULL;
8285 fra.me.REG[2] = NIT_NULL;
8286 fra.me.REG[3] = NIT_NULL;
8287 fra.me.REG[4] = NIT_NULL;
8288 fra.me.REG[5] = NIT_NULL;
8289 fra.me.REG[6] = NIT_NULL;
8290 fra.me.REG[0] = p0;
8291 fra.me.REG[1] = p1;
8292 /* parser/parser.nit:1659 */
8293 fra.me.REG[2] = NIT_NULL;
8294 /* parser/parser.nit:1660 */
8295 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8296 /* parser/parser.nit:1661 */
8297 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
8298 /* parser/parser.nit:1662 */
8299 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8300 /* parser/parser.nit:1663 */
8301 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8302 /* parser/parser.nit:1665 */
8303 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]*/;
8304 if (UNTAG_Bool(REGB0)) {
8305 } else {
8306 nit_abort("Assert failed", NULL, LOCATE_parser, 1665);
8307 }
8308 /* parser/parser.nit:1666 */
8309 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
8310 fra.me.REG[5] = fra.me.REG[3];
8311 /* parser/parser.nit:1667 */
8312 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]);
8313 /* parser/parser.nit:1673 */
8314 fra.me.REG[2] = fra.me.REG[6];
8315 /* parser/parser.nit:1674 */
8316 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8317 if (UNTAG_Bool(REGB0)) {
8318 } else {
8319 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1674);
8320 }
8321 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8322 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8323 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8324 stack_frame_head = fra.me.prev;
8325 return;
8326 }
8327 static const char LOCATE_parser___ReduceAction5___action[] = "parser::ReduceAction5::(parser::ReduceAction::action)";
8328 void parser___ReduceAction5___action(val_t p0, val_t p1){
8329 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
8330 val_t REGB0;
8331 val_t tmp;
8332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8333 fra.me.file = LOCATE_parser;
8334 fra.me.line = 1679;
8335 fra.me.meth = LOCATE_parser___ReduceAction5___action;
8336 fra.me.has_broke = 0;
8337 fra.me.REG_size = 8;
8338 fra.me.nitni_local_ref_head = NULL;
8339 fra.me.REG[0] = NIT_NULL;
8340 fra.me.REG[1] = NIT_NULL;
8341 fra.me.REG[2] = NIT_NULL;
8342 fra.me.REG[3] = NIT_NULL;
8343 fra.me.REG[4] = NIT_NULL;
8344 fra.me.REG[5] = NIT_NULL;
8345 fra.me.REG[6] = NIT_NULL;
8346 fra.me.REG[7] = NIT_NULL;
8347 fra.me.REG[0] = p0;
8348 fra.me.REG[1] = p1;
8349 /* parser/parser.nit:1681 */
8350 fra.me.REG[2] = NIT_NULL;
8351 /* parser/parser.nit:1682 */
8352 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8353 /* parser/parser.nit:1683 */
8354 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8355 /* parser/parser.nit:1684 */
8356 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8357 /* parser/parser.nit:1685 */
8358 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8359 /* parser/parser.nit:1686 */
8360 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8361 /* parser/parser.nit:1688 */
8362 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*/;
8363 if (UNTAG_Bool(REGB0)) {
8364 } else {
8365 nit_abort("Assert failed", NULL, LOCATE_parser, 1688);
8366 }
8367 /* parser/parser.nit:1690 */
8368 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]*/;
8369 if (UNTAG_Bool(REGB0)) {
8370 } else {
8371 nit_abort("Assert failed", NULL, LOCATE_parser, 1690);
8372 }
8373 /* parser/parser.nit:1691 */
8374 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
8375 fra.me.REG[6] = fra.me.REG[3];
8376 /* parser/parser.nit:1692 */
8377 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]);
8378 /* parser/parser.nit:1698 */
8379 fra.me.REG[2] = fra.me.REG[7];
8380 /* parser/parser.nit:1699 */
8381 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8382 if (UNTAG_Bool(REGB0)) {
8383 } else {
8384 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1699);
8385 }
8386 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8387 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8388 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8389 stack_frame_head = fra.me.prev;
8390 return;
8391 }
8392 static const char LOCATE_parser___ReduceAction6___action[] = "parser::ReduceAction6::(parser::ReduceAction::action)";
8393 void parser___ReduceAction6___action(val_t p0, val_t p1){
8394 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
8395 val_t REGB0;
8396 val_t tmp;
8397 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8398 fra.me.file = LOCATE_parser;
8399 fra.me.line = 1704;
8400 fra.me.meth = LOCATE_parser___ReduceAction6___action;
8401 fra.me.has_broke = 0;
8402 fra.me.REG_size = 8;
8403 fra.me.nitni_local_ref_head = NULL;
8404 fra.me.REG[0] = NIT_NULL;
8405 fra.me.REG[1] = NIT_NULL;
8406 fra.me.REG[2] = NIT_NULL;
8407 fra.me.REG[3] = NIT_NULL;
8408 fra.me.REG[4] = NIT_NULL;
8409 fra.me.REG[5] = NIT_NULL;
8410 fra.me.REG[6] = NIT_NULL;
8411 fra.me.REG[7] = NIT_NULL;
8412 fra.me.REG[0] = p0;
8413 fra.me.REG[1] = p1;
8414 /* parser/parser.nit:1706 */
8415 fra.me.REG[2] = NIT_NULL;
8416 /* parser/parser.nit:1707 */
8417 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8418 /* parser/parser.nit:1708 */
8419 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8420 /* parser/parser.nit:1709 */
8421 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8422 /* parser/parser.nit:1710 */
8423 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8424 /* parser/parser.nit:1711 */
8425 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8426 /* parser/parser.nit:1713 */
8427 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]*/;
8428 if (UNTAG_Bool(REGB0)) {
8429 } else {
8430 nit_abort("Assert failed", NULL, LOCATE_parser, 1713);
8431 }
8432 /* parser/parser.nit:1714 */
8433 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
8434 fra.me.REG[5] = fra.me.REG[4];
8435 /* parser/parser.nit:1716 */
8436 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]*/;
8437 if (UNTAG_Bool(REGB0)) {
8438 } else {
8439 nit_abort("Assert failed", NULL, LOCATE_parser, 1716);
8440 }
8441 /* parser/parser.nit:1717 */
8442 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
8443 fra.me.REG[6] = fra.me.REG[3];
8444 /* parser/parser.nit:1718 */
8445 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]);
8446 /* parser/parser.nit:1724 */
8447 fra.me.REG[2] = fra.me.REG[7];
8448 /* parser/parser.nit:1725 */
8449 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8450 if (UNTAG_Bool(REGB0)) {
8451 } else {
8452 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1725);
8453 }
8454 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8455 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8456 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8457 stack_frame_head = fra.me.prev;
8458 return;
8459 }
8460 static const char LOCATE_parser___ReduceAction7___action[] = "parser::ReduceAction7::(parser::ReduceAction::action)";
8461 void parser___ReduceAction7___action(val_t p0, val_t p1){
8462 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
8463 val_t REGB0;
8464 val_t tmp;
8465 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8466 fra.me.file = LOCATE_parser;
8467 fra.me.line = 1730;
8468 fra.me.meth = LOCATE_parser___ReduceAction7___action;
8469 fra.me.has_broke = 0;
8470 fra.me.REG_size = 9;
8471 fra.me.nitni_local_ref_head = NULL;
8472 fra.me.REG[0] = NIT_NULL;
8473 fra.me.REG[1] = NIT_NULL;
8474 fra.me.REG[2] = NIT_NULL;
8475 fra.me.REG[3] = NIT_NULL;
8476 fra.me.REG[4] = NIT_NULL;
8477 fra.me.REG[5] = NIT_NULL;
8478 fra.me.REG[6] = NIT_NULL;
8479 fra.me.REG[7] = NIT_NULL;
8480 fra.me.REG[8] = NIT_NULL;
8481 fra.me.REG[0] = p0;
8482 fra.me.REG[1] = p1;
8483 /* parser/parser.nit:1732 */
8484 fra.me.REG[2] = NIT_NULL;
8485 /* parser/parser.nit:1733 */
8486 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8487 /* parser/parser.nit:1734 */
8488 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8489 /* parser/parser.nit:1735 */
8490 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8491 /* parser/parser.nit:1736 */
8492 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8493 /* parser/parser.nit:1737 */
8494 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8495 /* parser/parser.nit:1738 */
8496 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
8497 /* parser/parser.nit:1740 */
8498 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*/;
8499 if (UNTAG_Bool(REGB0)) {
8500 } else {
8501 nit_abort("Assert failed", NULL, LOCATE_parser, 1740);
8502 }
8503 /* parser/parser.nit:1742 */
8504 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]*/;
8505 if (UNTAG_Bool(REGB0)) {
8506 } else {
8507 nit_abort("Assert failed", NULL, LOCATE_parser, 1742);
8508 }
8509 /* parser/parser.nit:1743 */
8510 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
8511 fra.me.REG[6] = fra.me.REG[4];
8512 /* parser/parser.nit:1745 */
8513 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]*/;
8514 if (UNTAG_Bool(REGB0)) {
8515 } else {
8516 nit_abort("Assert failed", NULL, LOCATE_parser, 1745);
8517 }
8518 /* parser/parser.nit:1746 */
8519 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
8520 fra.me.REG[7] = fra.me.REG[3];
8521 /* parser/parser.nit:1747 */
8522 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]);
8523 /* parser/parser.nit:1753 */
8524 fra.me.REG[2] = fra.me.REG[8];
8525 /* parser/parser.nit:1754 */
8526 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8527 if (UNTAG_Bool(REGB0)) {
8528 } else {
8529 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1754);
8530 }
8531 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8532 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8533 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8534 stack_frame_head = fra.me.prev;
8535 return;
8536 }
8537 static const char LOCATE_parser___ReduceAction8___action[] = "parser::ReduceAction8::(parser::ReduceAction::action)";
8538 void parser___ReduceAction8___action(val_t p0, val_t p1){
8539 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
8540 val_t REGB0;
8541 val_t tmp;
8542 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8543 fra.me.file = LOCATE_parser;
8544 fra.me.line = 1759;
8545 fra.me.meth = LOCATE_parser___ReduceAction8___action;
8546 fra.me.has_broke = 0;
8547 fra.me.REG_size = 7;
8548 fra.me.nitni_local_ref_head = NULL;
8549 fra.me.REG[0] = NIT_NULL;
8550 fra.me.REG[1] = NIT_NULL;
8551 fra.me.REG[2] = NIT_NULL;
8552 fra.me.REG[3] = NIT_NULL;
8553 fra.me.REG[4] = NIT_NULL;
8554 fra.me.REG[5] = NIT_NULL;
8555 fra.me.REG[6] = NIT_NULL;
8556 fra.me.REG[0] = p0;
8557 fra.me.REG[1] = p1;
8558 /* parser/parser.nit:1761 */
8559 fra.me.REG[2] = NIT_NULL;
8560 /* parser/parser.nit:1762 */
8561 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8562 /* parser/parser.nit:1763 */
8563 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
8564 /* parser/parser.nit:1764 */
8565 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8566 /* parser/parser.nit:1765 */
8567 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8568 /* parser/parser.nit:1767 */
8569 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]*/;
8570 if (UNTAG_Bool(REGB0)) {
8571 } else {
8572 nit_abort("Assert failed", NULL, LOCATE_parser, 1767);
8573 }
8574 /* parser/parser.nit:1768 */
8575 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
8576 fra.me.REG[6] = fra.me.REG[3];
8577 /* parser/parser.nit:1769 */
8578 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]);
8579 /* parser/parser.nit:1775 */
8580 fra.me.REG[2] = fra.me.REG[6];
8581 /* parser/parser.nit:1776 */
8582 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8583 if (UNTAG_Bool(REGB0)) {
8584 } else {
8585 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1776);
8586 }
8587 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8588 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8589 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8590 stack_frame_head = fra.me.prev;
8591 return;
8592 }
8593 static const char LOCATE_parser___ReduceAction9___action[] = "parser::ReduceAction9::(parser::ReduceAction::action)";
8594 void parser___ReduceAction9___action(val_t p0, val_t p1){
8595 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
8596 val_t REGB0;
8597 val_t tmp;
8598 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8599 fra.me.file = LOCATE_parser;
8600 fra.me.line = 1781;
8601 fra.me.meth = LOCATE_parser___ReduceAction9___action;
8602 fra.me.has_broke = 0;
8603 fra.me.REG_size = 8;
8604 fra.me.nitni_local_ref_head = NULL;
8605 fra.me.REG[0] = NIT_NULL;
8606 fra.me.REG[1] = NIT_NULL;
8607 fra.me.REG[2] = NIT_NULL;
8608 fra.me.REG[3] = NIT_NULL;
8609 fra.me.REG[4] = NIT_NULL;
8610 fra.me.REG[5] = NIT_NULL;
8611 fra.me.REG[6] = NIT_NULL;
8612 fra.me.REG[7] = NIT_NULL;
8613 fra.me.REG[0] = p0;
8614 fra.me.REG[1] = p1;
8615 /* parser/parser.nit:1783 */
8616 fra.me.REG[2] = NIT_NULL;
8617 /* parser/parser.nit:1784 */
8618 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8619 /* parser/parser.nit:1785 */
8620 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8621 /* parser/parser.nit:1786 */
8622 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8623 /* parser/parser.nit:1787 */
8624 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8625 /* parser/parser.nit:1788 */
8626 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8627 /* parser/parser.nit:1790 */
8628 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*/;
8629 if (UNTAG_Bool(REGB0)) {
8630 } else {
8631 nit_abort("Assert failed", NULL, LOCATE_parser, 1790);
8632 }
8633 /* parser/parser.nit:1792 */
8634 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]*/;
8635 if (UNTAG_Bool(REGB0)) {
8636 } else {
8637 nit_abort("Assert failed", NULL, LOCATE_parser, 1792);
8638 }
8639 /* parser/parser.nit:1793 */
8640 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
8641 fra.me.REG[7] = fra.me.REG[3];
8642 /* parser/parser.nit:1794 */
8643 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]);
8644 /* parser/parser.nit:1800 */
8645 fra.me.REG[2] = fra.me.REG[7];
8646 /* parser/parser.nit:1801 */
8647 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8648 if (UNTAG_Bool(REGB0)) {
8649 } else {
8650 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1801);
8651 }
8652 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8653 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8654 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8655 stack_frame_head = fra.me.prev;
8656 return;
8657 }
8658 static const char LOCATE_parser___ReduceAction10___action[] = "parser::ReduceAction10::(parser::ReduceAction::action)";
8659 void parser___ReduceAction10___action(val_t p0, val_t p1){
8660 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
8661 val_t REGB0;
8662 val_t tmp;
8663 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8664 fra.me.file = LOCATE_parser;
8665 fra.me.line = 1806;
8666 fra.me.meth = LOCATE_parser___ReduceAction10___action;
8667 fra.me.has_broke = 0;
8668 fra.me.REG_size = 8;
8669 fra.me.nitni_local_ref_head = NULL;
8670 fra.me.REG[0] = NIT_NULL;
8671 fra.me.REG[1] = NIT_NULL;
8672 fra.me.REG[2] = NIT_NULL;
8673 fra.me.REG[3] = NIT_NULL;
8674 fra.me.REG[4] = NIT_NULL;
8675 fra.me.REG[5] = NIT_NULL;
8676 fra.me.REG[6] = NIT_NULL;
8677 fra.me.REG[7] = NIT_NULL;
8678 fra.me.REG[0] = p0;
8679 fra.me.REG[1] = p1;
8680 /* parser/parser.nit:1808 */
8681 fra.me.REG[2] = NIT_NULL;
8682 /* parser/parser.nit:1809 */
8683 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8684 /* parser/parser.nit:1810 */
8685 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8686 /* parser/parser.nit:1811 */
8687 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8688 /* parser/parser.nit:1812 */
8689 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8690 /* parser/parser.nit:1813 */
8691 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8692 /* parser/parser.nit:1815 */
8693 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]*/;
8694 if (UNTAG_Bool(REGB0)) {
8695 } else {
8696 nit_abort("Assert failed", NULL, LOCATE_parser, 1815);
8697 }
8698 /* parser/parser.nit:1816 */
8699 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
8700 fra.me.REG[5] = fra.me.REG[4];
8701 /* parser/parser.nit:1818 */
8702 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]*/;
8703 if (UNTAG_Bool(REGB0)) {
8704 } else {
8705 nit_abort("Assert failed", NULL, LOCATE_parser, 1818);
8706 }
8707 /* parser/parser.nit:1819 */
8708 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
8709 fra.me.REG[7] = fra.me.REG[3];
8710 /* parser/parser.nit:1820 */
8711 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]);
8712 /* parser/parser.nit:1826 */
8713 fra.me.REG[2] = fra.me.REG[7];
8714 /* parser/parser.nit:1827 */
8715 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8716 if (UNTAG_Bool(REGB0)) {
8717 } else {
8718 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1827);
8719 }
8720 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8721 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8722 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8723 stack_frame_head = fra.me.prev;
8724 return;
8725 }
8726 static const char LOCATE_parser___ReduceAction11___action[] = "parser::ReduceAction11::(parser::ReduceAction::action)";
8727 void parser___ReduceAction11___action(val_t p0, val_t p1){
8728 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
8729 val_t REGB0;
8730 val_t tmp;
8731 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8732 fra.me.file = LOCATE_parser;
8733 fra.me.line = 1832;
8734 fra.me.meth = LOCATE_parser___ReduceAction11___action;
8735 fra.me.has_broke = 0;
8736 fra.me.REG_size = 9;
8737 fra.me.nitni_local_ref_head = NULL;
8738 fra.me.REG[0] = NIT_NULL;
8739 fra.me.REG[1] = NIT_NULL;
8740 fra.me.REG[2] = NIT_NULL;
8741 fra.me.REG[3] = NIT_NULL;
8742 fra.me.REG[4] = NIT_NULL;
8743 fra.me.REG[5] = NIT_NULL;
8744 fra.me.REG[6] = NIT_NULL;
8745 fra.me.REG[7] = NIT_NULL;
8746 fra.me.REG[8] = NIT_NULL;
8747 fra.me.REG[0] = p0;
8748 fra.me.REG[1] = p1;
8749 /* parser/parser.nit:1834 */
8750 fra.me.REG[2] = NIT_NULL;
8751 /* parser/parser.nit:1835 */
8752 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8753 /* parser/parser.nit:1836 */
8754 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8755 /* parser/parser.nit:1837 */
8756 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8757 /* parser/parser.nit:1838 */
8758 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8759 /* parser/parser.nit:1839 */
8760 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8761 /* parser/parser.nit:1840 */
8762 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
8763 /* parser/parser.nit:1842 */
8764 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*/;
8765 if (UNTAG_Bool(REGB0)) {
8766 } else {
8767 nit_abort("Assert failed", NULL, LOCATE_parser, 1842);
8768 }
8769 /* parser/parser.nit:1844 */
8770 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]*/;
8771 if (UNTAG_Bool(REGB0)) {
8772 } else {
8773 nit_abort("Assert failed", NULL, LOCATE_parser, 1844);
8774 }
8775 /* parser/parser.nit:1845 */
8776 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
8777 fra.me.REG[6] = fra.me.REG[4];
8778 /* parser/parser.nit:1847 */
8779 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]*/;
8780 if (UNTAG_Bool(REGB0)) {
8781 } else {
8782 nit_abort("Assert failed", NULL, LOCATE_parser, 1847);
8783 }
8784 /* parser/parser.nit:1848 */
8785 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
8786 fra.me.REG[8] = fra.me.REG[3];
8787 /* parser/parser.nit:1849 */
8788 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]);
8789 /* parser/parser.nit:1855 */
8790 fra.me.REG[2] = fra.me.REG[8];
8791 /* parser/parser.nit:1856 */
8792 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8793 if (UNTAG_Bool(REGB0)) {
8794 } else {
8795 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1856);
8796 }
8797 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8798 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8799 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8800 stack_frame_head = fra.me.prev;
8801 return;
8802 }
8803 static const char LOCATE_parser___ReduceAction12___action[] = "parser::ReduceAction12::(parser::ReduceAction::action)";
8804 void parser___ReduceAction12___action(val_t p0, val_t p1){
8805 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
8806 val_t REGB0;
8807 val_t tmp;
8808 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8809 fra.me.file = LOCATE_parser;
8810 fra.me.line = 1861;
8811 fra.me.meth = LOCATE_parser___ReduceAction12___action;
8812 fra.me.has_broke = 0;
8813 fra.me.REG_size = 8;
8814 fra.me.nitni_local_ref_head = NULL;
8815 fra.me.REG[0] = NIT_NULL;
8816 fra.me.REG[1] = NIT_NULL;
8817 fra.me.REG[2] = NIT_NULL;
8818 fra.me.REG[3] = NIT_NULL;
8819 fra.me.REG[4] = NIT_NULL;
8820 fra.me.REG[5] = NIT_NULL;
8821 fra.me.REG[6] = NIT_NULL;
8822 fra.me.REG[7] = NIT_NULL;
8823 fra.me.REG[0] = p0;
8824 fra.me.REG[1] = p1;
8825 /* parser/parser.nit:1863 */
8826 fra.me.REG[2] = NIT_NULL;
8827 /* parser/parser.nit:1864 */
8828 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8829 /* parser/parser.nit:1865 */
8830 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8831 /* parser/parser.nit:1866 */
8832 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8833 /* parser/parser.nit:1867 */
8834 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8835 /* parser/parser.nit:1868 */
8836 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8837 /* parser/parser.nit:1870 */
8838 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]*/;
8839 if (UNTAG_Bool(REGB0)) {
8840 } else {
8841 nit_abort("Assert failed", NULL, LOCATE_parser, 1870);
8842 }
8843 /* parser/parser.nit:1871 */
8844 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
8845 fra.me.REG[6] = fra.me.REG[4];
8846 /* parser/parser.nit:1873 */
8847 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]*/;
8848 if (UNTAG_Bool(REGB0)) {
8849 } else {
8850 nit_abort("Assert failed", NULL, LOCATE_parser, 1873);
8851 }
8852 /* parser/parser.nit:1874 */
8853 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
8854 fra.me.REG[7] = fra.me.REG[3];
8855 /* parser/parser.nit:1875 */
8856 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]);
8857 /* parser/parser.nit:1881 */
8858 fra.me.REG[2] = fra.me.REG[7];
8859 /* parser/parser.nit:1882 */
8860 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8861 if (UNTAG_Bool(REGB0)) {
8862 } else {
8863 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1882);
8864 }
8865 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8866 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8867 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8868 stack_frame_head = fra.me.prev;
8869 return;
8870 }
8871 static const char LOCATE_parser___ReduceAction13___action[] = "parser::ReduceAction13::(parser::ReduceAction::action)";
8872 void parser___ReduceAction13___action(val_t p0, val_t p1){
8873 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
8874 val_t REGB0;
8875 val_t tmp;
8876 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8877 fra.me.file = LOCATE_parser;
8878 fra.me.line = 1887;
8879 fra.me.meth = LOCATE_parser___ReduceAction13___action;
8880 fra.me.has_broke = 0;
8881 fra.me.REG_size = 9;
8882 fra.me.nitni_local_ref_head = NULL;
8883 fra.me.REG[0] = NIT_NULL;
8884 fra.me.REG[1] = NIT_NULL;
8885 fra.me.REG[2] = NIT_NULL;
8886 fra.me.REG[3] = NIT_NULL;
8887 fra.me.REG[4] = NIT_NULL;
8888 fra.me.REG[5] = NIT_NULL;
8889 fra.me.REG[6] = NIT_NULL;
8890 fra.me.REG[7] = NIT_NULL;
8891 fra.me.REG[8] = NIT_NULL;
8892 fra.me.REG[0] = p0;
8893 fra.me.REG[1] = p1;
8894 /* parser/parser.nit:1889 */
8895 fra.me.REG[2] = NIT_NULL;
8896 /* parser/parser.nit:1890 */
8897 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8898 /* parser/parser.nit:1891 */
8899 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8900 /* parser/parser.nit:1892 */
8901 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8902 /* parser/parser.nit:1893 */
8903 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8904 /* parser/parser.nit:1894 */
8905 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8906 /* parser/parser.nit:1895 */
8907 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
8908 /* parser/parser.nit:1897 */
8909 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*/;
8910 if (UNTAG_Bool(REGB0)) {
8911 } else {
8912 nit_abort("Assert failed", NULL, LOCATE_parser, 1897);
8913 }
8914 /* parser/parser.nit:1899 */
8915 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]*/;
8916 if (UNTAG_Bool(REGB0)) {
8917 } else {
8918 nit_abort("Assert failed", NULL, LOCATE_parser, 1899);
8919 }
8920 /* parser/parser.nit:1900 */
8921 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
8922 fra.me.REG[7] = fra.me.REG[4];
8923 /* parser/parser.nit:1902 */
8924 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]*/;
8925 if (UNTAG_Bool(REGB0)) {
8926 } else {
8927 nit_abort("Assert failed", NULL, LOCATE_parser, 1902);
8928 }
8929 /* parser/parser.nit:1903 */
8930 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
8931 fra.me.REG[8] = fra.me.REG[3];
8932 /* parser/parser.nit:1904 */
8933 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]);
8934 /* parser/parser.nit:1910 */
8935 fra.me.REG[2] = fra.me.REG[8];
8936 /* parser/parser.nit:1911 */
8937 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8938 if (UNTAG_Bool(REGB0)) {
8939 } else {
8940 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1911);
8941 }
8942 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8943 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8944 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8945 stack_frame_head = fra.me.prev;
8946 return;
8947 }
8948 static const char LOCATE_parser___ReduceAction14___action[] = "parser::ReduceAction14::(parser::ReduceAction::action)";
8949 void parser___ReduceAction14___action(val_t p0, val_t p1){
8950 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
8951 val_t REGB0;
8952 val_t tmp;
8953 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8954 fra.me.file = LOCATE_parser;
8955 fra.me.line = 1916;
8956 fra.me.meth = LOCATE_parser___ReduceAction14___action;
8957 fra.me.has_broke = 0;
8958 fra.me.REG_size = 9;
8959 fra.me.nitni_local_ref_head = NULL;
8960 fra.me.REG[0] = NIT_NULL;
8961 fra.me.REG[1] = NIT_NULL;
8962 fra.me.REG[2] = NIT_NULL;
8963 fra.me.REG[3] = NIT_NULL;
8964 fra.me.REG[4] = NIT_NULL;
8965 fra.me.REG[5] = NIT_NULL;
8966 fra.me.REG[6] = NIT_NULL;
8967 fra.me.REG[7] = NIT_NULL;
8968 fra.me.REG[8] = NIT_NULL;
8969 fra.me.REG[0] = p0;
8970 fra.me.REG[1] = p1;
8971 /* parser/parser.nit:1918 */
8972 fra.me.REG[2] = NIT_NULL;
8973 /* parser/parser.nit:1919 */
8974 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8975 /* parser/parser.nit:1920 */
8976 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8977 /* parser/parser.nit:1921 */
8978 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8979 /* parser/parser.nit:1922 */
8980 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8981 /* parser/parser.nit:1923 */
8982 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8983 /* parser/parser.nit:1924 */
8984 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
8985 /* parser/parser.nit:1926 */
8986 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]*/;
8987 if (UNTAG_Bool(REGB0)) {
8988 } else {
8989 nit_abort("Assert failed", NULL, LOCATE_parser, 1926);
8990 }
8991 /* parser/parser.nit:1927 */
8992 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
8993 fra.me.REG[6] = fra.me.REG[5];
8994 /* parser/parser.nit:1929 */
8995 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]*/;
8996 if (UNTAG_Bool(REGB0)) {
8997 } else {
8998 nit_abort("Assert failed", NULL, LOCATE_parser, 1929);
8999 }
9000 /* parser/parser.nit:1930 */
9001 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
9002 fra.me.REG[7] = fra.me.REG[4];
9003 /* parser/parser.nit:1932 */
9004 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]*/;
9005 if (UNTAG_Bool(REGB0)) {
9006 } else {
9007 nit_abort("Assert failed", NULL, LOCATE_parser, 1932);
9008 }
9009 /* parser/parser.nit:1933 */
9010 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
9011 fra.me.REG[8] = fra.me.REG[3];
9012 /* parser/parser.nit:1934 */
9013 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]);
9014 /* parser/parser.nit:1940 */
9015 fra.me.REG[2] = fra.me.REG[8];
9016 /* parser/parser.nit:1941 */
9017 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9018 if (UNTAG_Bool(REGB0)) {
9019 } else {
9020 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1941);
9021 }
9022 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9023 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9024 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9025 stack_frame_head = fra.me.prev;
9026 return;
9027 }
9028 static const char LOCATE_parser___ReduceAction15___action[] = "parser::ReduceAction15::(parser::ReduceAction::action)";
9029 void parser___ReduceAction15___action(val_t p0, val_t p1){
9030 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
9031 val_t REGB0;
9032 val_t tmp;
9033 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9034 fra.me.file = LOCATE_parser;
9035 fra.me.line = 1946;
9036 fra.me.meth = LOCATE_parser___ReduceAction15___action;
9037 fra.me.has_broke = 0;
9038 fra.me.REG_size = 10;
9039 fra.me.nitni_local_ref_head = NULL;
9040 fra.me.REG[0] = NIT_NULL;
9041 fra.me.REG[1] = NIT_NULL;
9042 fra.me.REG[2] = NIT_NULL;
9043 fra.me.REG[3] = NIT_NULL;
9044 fra.me.REG[4] = NIT_NULL;
9045 fra.me.REG[5] = NIT_NULL;
9046 fra.me.REG[6] = NIT_NULL;
9047 fra.me.REG[7] = NIT_NULL;
9048 fra.me.REG[8] = NIT_NULL;
9049 fra.me.REG[9] = NIT_NULL;
9050 fra.me.REG[0] = p0;
9051 fra.me.REG[1] = p1;
9052 /* parser/parser.nit:1948 */
9053 fra.me.REG[2] = NIT_NULL;
9054 /* parser/parser.nit:1949 */
9055 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9056 /* parser/parser.nit:1950 */
9057 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9058 /* parser/parser.nit:1951 */
9059 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9060 /* parser/parser.nit:1952 */
9061 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9062 /* parser/parser.nit:1953 */
9063 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9064 /* parser/parser.nit:1954 */
9065 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
9066 /* parser/parser.nit:1955 */
9067 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
9068 /* parser/parser.nit:1957 */
9069 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*/;
9070 if (UNTAG_Bool(REGB0)) {
9071 } else {
9072 nit_abort("Assert failed", NULL, LOCATE_parser, 1957);
9073 }
9074 /* parser/parser.nit:1959 */
9075 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]*/;
9076 if (UNTAG_Bool(REGB0)) {
9077 } else {
9078 nit_abort("Assert failed", NULL, LOCATE_parser, 1959);
9079 }
9080 /* parser/parser.nit:1960 */
9081 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
9082 fra.me.REG[7] = fra.me.REG[5];
9083 /* parser/parser.nit:1962 */
9084 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]*/;
9085 if (UNTAG_Bool(REGB0)) {
9086 } else {
9087 nit_abort("Assert failed", NULL, LOCATE_parser, 1962);
9088 }
9089 /* parser/parser.nit:1963 */
9090 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
9091 fra.me.REG[8] = fra.me.REG[4];
9092 /* parser/parser.nit:1965 */
9093 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]*/;
9094 if (UNTAG_Bool(REGB0)) {
9095 } else {
9096 nit_abort("Assert failed", NULL, LOCATE_parser, 1965);
9097 }
9098 /* parser/parser.nit:1966 */
9099 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[3]);
9100 fra.me.REG[9] = fra.me.REG[3];
9101 /* parser/parser.nit:1967 */
9102 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]);
9103 /* parser/parser.nit:1973 */
9104 fra.me.REG[2] = fra.me.REG[9];
9105 /* parser/parser.nit:1974 */
9106 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9107 if (UNTAG_Bool(REGB0)) {
9108 } else {
9109 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1974);
9110 }
9111 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9112 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9113 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9114 stack_frame_head = fra.me.prev;
9115 return;
9116 }
9117 static const char LOCATE_parser___ReduceAction16___action[] = "parser::ReduceAction16::(parser::ReduceAction::action)";
9118 void parser___ReduceAction16___action(val_t p0, val_t p1){
9119 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
9120 val_t REGB0;
9121 val_t REGB1;
9122 val_t tmp;
9123 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9124 fra.me.file = LOCATE_parser;
9125 fra.me.line = 1979;
9126 fra.me.meth = LOCATE_parser___ReduceAction16___action;
9127 fra.me.has_broke = 0;
9128 fra.me.REG_size = 8;
9129 fra.me.nitni_local_ref_head = NULL;
9130 fra.me.REG[0] = NIT_NULL;
9131 fra.me.REG[1] = NIT_NULL;
9132 fra.me.REG[2] = NIT_NULL;
9133 fra.me.REG[3] = NIT_NULL;
9134 fra.me.REG[4] = NIT_NULL;
9135 fra.me.REG[5] = NIT_NULL;
9136 fra.me.REG[6] = NIT_NULL;
9137 fra.me.REG[7] = NIT_NULL;
9138 fra.me.REG[0] = p0;
9139 fra.me.REG[1] = p1;
9140 /* parser/parser.nit:1981 */
9141 fra.me.REG[2] = NIT_NULL;
9142 /* parser/parser.nit:1982 */
9143 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9144 /* parser/parser.nit:1983 */
9145 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
9146 /* parser/parser.nit:1984 */
9147 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
9148 /* parser/parser.nit:1985 */
9149 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
9150 /* parser/parser.nit:1986 */
9151 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9152 /* parser/parser.nit:1988 */
9153 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]*/;
9154 if (UNTAG_Bool(REGB0)) {
9155 } else {
9156 nit_abort("Assert failed", NULL, LOCATE_parser, 1988);
9157 }
9158 /* parser/parser.nit:1989 */
9159 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
9160 fra.me.REG[7] = fra.me.REG[3];
9161 /* parser/parser.nit:1990 */
9162 fra.me.REG[7] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]);
9163 /* parser/parser.nit:1993 */
9164 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
9165 if (UNTAG_Bool(REGB0)) {
9166 } else {
9167 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
9168 if (UNTAG_Bool(REGB1)) {
9169 REGB1 = TAG_Bool(0);
9170 REGB0 = REGB1;
9171 } else {
9172 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
9173 REGB0 = REGB1;
9174 }
9175 }
9176 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9177 if (UNTAG_Bool(REGB0)) {
9178 /* parser/parser.nit:1994 */
9179 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
9180 }
9181 /* parser/parser.nit:1996 */
9182 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]);
9183 /* parser/parser.nit:2002 */
9184 fra.me.REG[2] = fra.me.REG[6];
9185 /* parser/parser.nit:2003 */
9186 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9187 if (UNTAG_Bool(REGB0)) {
9188 } else {
9189 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2003);
9190 }
9191 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9192 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9193 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9194 stack_frame_head = fra.me.prev;
9195 return;
9196 }
9197 static const char LOCATE_parser___ReduceAction17___action[] = "parser::ReduceAction17::(parser::ReduceAction::action)";
9198 void parser___ReduceAction17___action(val_t p0, val_t p1){
9199 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
9200 val_t REGB0;
9201 val_t REGB1;
9202 val_t tmp;
9203 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9204 fra.me.file = LOCATE_parser;
9205 fra.me.line = 2008;
9206 fra.me.meth = LOCATE_parser___ReduceAction17___action;
9207 fra.me.has_broke = 0;
9208 fra.me.REG_size = 9;
9209 fra.me.nitni_local_ref_head = NULL;
9210 fra.me.REG[0] = NIT_NULL;
9211 fra.me.REG[1] = NIT_NULL;
9212 fra.me.REG[2] = NIT_NULL;
9213 fra.me.REG[3] = NIT_NULL;
9214 fra.me.REG[4] = NIT_NULL;
9215 fra.me.REG[5] = NIT_NULL;
9216 fra.me.REG[6] = NIT_NULL;
9217 fra.me.REG[7] = NIT_NULL;
9218 fra.me.REG[8] = NIT_NULL;
9219 fra.me.REG[0] = p0;
9220 fra.me.REG[1] = p1;
9221 /* parser/parser.nit:2010 */
9222 fra.me.REG[2] = NIT_NULL;
9223 /* parser/parser.nit:2011 */
9224 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9225 /* parser/parser.nit:2012 */
9226 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9227 /* parser/parser.nit:2013 */
9228 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
9229 /* parser/parser.nit:2014 */
9230 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
9231 /* parser/parser.nit:2015 */
9232 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9233 /* parser/parser.nit:2017 */
9234 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*/;
9235 if (UNTAG_Bool(REGB0)) {
9236 } else {
9237 nit_abort("Assert failed", NULL, LOCATE_parser, 2017);
9238 }
9239 /* parser/parser.nit:2018 */
9240 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
9241 /* parser/parser.nit:2020 */
9242 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]*/;
9243 if (UNTAG_Bool(REGB0)) {
9244 } else {
9245 nit_abort("Assert failed", NULL, LOCATE_parser, 2020);
9246 }
9247 /* parser/parser.nit:2021 */
9248 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
9249 fra.me.REG[8] = fra.me.REG[3];
9250 /* parser/parser.nit:2022 */
9251 fra.me.REG[8] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
9252 /* parser/parser.nit:2025 */
9253 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
9254 if (UNTAG_Bool(REGB0)) {
9255 } else {
9256 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
9257 if (UNTAG_Bool(REGB1)) {
9258 REGB1 = TAG_Bool(0);
9259 REGB0 = REGB1;
9260 } else {
9261 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
9262 REGB0 = REGB1;
9263 }
9264 }
9265 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9266 if (UNTAG_Bool(REGB0)) {
9267 /* parser/parser.nit:2026 */
9268 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
9269 }
9270 /* parser/parser.nit:2028 */
9271 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]);
9272 /* parser/parser.nit:2034 */
9273 fra.me.REG[2] = fra.me.REG[7];
9274 /* parser/parser.nit:2035 */
9275 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9276 if (UNTAG_Bool(REGB0)) {
9277 } else {
9278 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2035);
9279 }
9280 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9281 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9282 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9283 stack_frame_head = fra.me.prev;
9284 return;
9285 }
9286 static const char LOCATE_parser___ReduceAction18___action[] = "parser::ReduceAction18::(parser::ReduceAction::action)";
9287 void parser___ReduceAction18___action(val_t p0, val_t p1){
9288 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
9289 val_t REGB0;
9290 val_t REGB1;
9291 val_t tmp;
9292 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9293 fra.me.file = LOCATE_parser;
9294 fra.me.line = 2040;
9295 fra.me.meth = LOCATE_parser___ReduceAction18___action;
9296 fra.me.has_broke = 0;
9297 fra.me.REG_size = 8;
9298 fra.me.nitni_local_ref_head = NULL;
9299 fra.me.REG[0] = NIT_NULL;
9300 fra.me.REG[1] = NIT_NULL;
9301 fra.me.REG[2] = NIT_NULL;
9302 fra.me.REG[3] = NIT_NULL;
9303 fra.me.REG[4] = NIT_NULL;
9304 fra.me.REG[5] = NIT_NULL;
9305 fra.me.REG[6] = NIT_NULL;
9306 fra.me.REG[7] = NIT_NULL;
9307 fra.me.REG[0] = p0;
9308 fra.me.REG[1] = p1;
9309 /* parser/parser.nit:2042 */
9310 fra.me.REG[2] = NIT_NULL;
9311 /* parser/parser.nit:2043 */
9312 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9313 /* parser/parser.nit:2044 */
9314 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9315 /* parser/parser.nit:2045 */
9316 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
9317 /* parser/parser.nit:2046 */
9318 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
9319 /* parser/parser.nit:2047 */
9320 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9321 /* parser/parser.nit:2049 */
9322 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]*/;
9323 if (UNTAG_Bool(REGB0)) {
9324 } else {
9325 nit_abort("Assert failed", NULL, LOCATE_parser, 2049);
9326 }
9327 /* parser/parser.nit:2050 */
9328 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
9329 fra.me.REG[5] = fra.me.REG[4];
9330 /* parser/parser.nit:2051 */
9331 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
9332 /* parser/parser.nit:2053 */
9333 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]*/;
9334 if (UNTAG_Bool(REGB0)) {
9335 } else {
9336 nit_abort("Assert failed", NULL, LOCATE_parser, 2053);
9337 }
9338 /* parser/parser.nit:2054 */
9339 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
9340 fra.me.REG[4] = fra.me.REG[3];
9341 /* parser/parser.nit:2055 */
9342 fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
9343 /* parser/parser.nit:2058 */
9344 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9345 if (UNTAG_Bool(REGB0)) {
9346 } else {
9347 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9348 if (UNTAG_Bool(REGB1)) {
9349 REGB1 = TAG_Bool(0);
9350 REGB0 = REGB1;
9351 } else {
9352 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
9353 REGB0 = REGB1;
9354 }
9355 }
9356 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9357 if (UNTAG_Bool(REGB0)) {
9358 /* parser/parser.nit:2059 */
9359 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
9360 }
9361 /* parser/parser.nit:2061 */
9362 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]);
9363 /* parser/parser.nit:2067 */
9364 fra.me.REG[2] = fra.me.REG[7];
9365 /* parser/parser.nit:2068 */
9366 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9367 if (UNTAG_Bool(REGB0)) {
9368 } else {
9369 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2068);
9370 }
9371 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9372 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9373 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9374 stack_frame_head = fra.me.prev;
9375 return;
9376 }
9377 static const char LOCATE_parser___ReduceAction19___action[] = "parser::ReduceAction19::(parser::ReduceAction::action)";
9378 void parser___ReduceAction19___action(val_t p0, val_t p1){
9379 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
9380 val_t REGB0;
9381 val_t REGB1;
9382 val_t tmp;
9383 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9384 fra.me.file = LOCATE_parser;
9385 fra.me.line = 2073;
9386 fra.me.meth = LOCATE_parser___ReduceAction19___action;
9387 fra.me.has_broke = 0;
9388 fra.me.REG_size = 9;
9389 fra.me.nitni_local_ref_head = NULL;
9390 fra.me.REG[0] = NIT_NULL;
9391 fra.me.REG[1] = NIT_NULL;
9392 fra.me.REG[2] = NIT_NULL;
9393 fra.me.REG[3] = NIT_NULL;
9394 fra.me.REG[4] = NIT_NULL;
9395 fra.me.REG[5] = NIT_NULL;
9396 fra.me.REG[6] = NIT_NULL;
9397 fra.me.REG[7] = NIT_NULL;
9398 fra.me.REG[8] = NIT_NULL;
9399 fra.me.REG[0] = p0;
9400 fra.me.REG[1] = p1;
9401 /* parser/parser.nit:2075 */
9402 fra.me.REG[2] = NIT_NULL;
9403 /* parser/parser.nit:2076 */
9404 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9405 /* parser/parser.nit:2077 */
9406 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9407 /* parser/parser.nit:2078 */
9408 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9409 /* parser/parser.nit:2079 */
9410 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
9411 /* parser/parser.nit:2080 */
9412 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9413 /* parser/parser.nit:2081 */
9414 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
9415 /* parser/parser.nit:2083 */
9416 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*/;
9417 if (UNTAG_Bool(REGB0)) {
9418 } else {
9419 nit_abort("Assert failed", NULL, LOCATE_parser, 2083);
9420 }
9421 /* parser/parser.nit:2085 */
9422 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]*/;
9423 if (UNTAG_Bool(REGB0)) {
9424 } else {
9425 nit_abort("Assert failed", NULL, LOCATE_parser, 2085);
9426 }
9427 /* parser/parser.nit:2086 */
9428 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
9429 fra.me.REG[6] = fra.me.REG[4];
9430 /* parser/parser.nit:2087 */
9431 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
9432 /* parser/parser.nit:2089 */
9433 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]*/;
9434 if (UNTAG_Bool(REGB0)) {
9435 } else {
9436 nit_abort("Assert failed", NULL, LOCATE_parser, 2089);
9437 }
9438 /* parser/parser.nit:2090 */
9439 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
9440 fra.me.REG[4] = fra.me.REG[3];
9441 /* parser/parser.nit:2091 */
9442 fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
9443 /* parser/parser.nit:2094 */
9444 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9445 if (UNTAG_Bool(REGB0)) {
9446 } else {
9447 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9448 if (UNTAG_Bool(REGB1)) {
9449 REGB1 = TAG_Bool(0);
9450 REGB0 = REGB1;
9451 } else {
9452 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
9453 REGB0 = REGB1;
9454 }
9455 }
9456 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9457 if (UNTAG_Bool(REGB0)) {
9458 /* parser/parser.nit:2095 */
9459 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[4]);
9460 }
9461 /* parser/parser.nit:2097 */
9462 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]);
9463 /* parser/parser.nit:2103 */
9464 fra.me.REG[2] = fra.me.REG[8];
9465 /* parser/parser.nit:2104 */
9466 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9467 if (UNTAG_Bool(REGB0)) {
9468 } else {
9469 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2104);
9470 }
9471 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9472 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9473 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9474 stack_frame_head = fra.me.prev;
9475 return;
9476 }
9477 static const char LOCATE_parser___ReduceAction20___action[] = "parser::ReduceAction20::(parser::ReduceAction::action)";
9478 void parser___ReduceAction20___action(val_t p0, val_t p1){
9479 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
9480 val_t REGB0;
9481 val_t REGB1;
9482 val_t tmp;
9483 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9484 fra.me.file = LOCATE_parser;
9485 fra.me.line = 2109;
9486 fra.me.meth = LOCATE_parser___ReduceAction20___action;
9487 fra.me.has_broke = 0;
9488 fra.me.REG_size = 8;
9489 fra.me.nitni_local_ref_head = NULL;
9490 fra.me.REG[0] = NIT_NULL;
9491 fra.me.REG[1] = NIT_NULL;
9492 fra.me.REG[2] = NIT_NULL;
9493 fra.me.REG[3] = NIT_NULL;
9494 fra.me.REG[4] = NIT_NULL;
9495 fra.me.REG[5] = NIT_NULL;
9496 fra.me.REG[6] = NIT_NULL;
9497 fra.me.REG[7] = NIT_NULL;
9498 fra.me.REG[0] = p0;
9499 fra.me.REG[1] = p1;
9500 /* parser/parser.nit:2111 */
9501 fra.me.REG[2] = NIT_NULL;
9502 /* parser/parser.nit:2112 */
9503 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9504 /* parser/parser.nit:2113 */
9505 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9506 /* parser/parser.nit:2114 */
9507 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
9508 /* parser/parser.nit:2115 */
9509 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
9510 /* parser/parser.nit:2116 */
9511 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9512 /* parser/parser.nit:2118 */
9513 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]*/;
9514 if (UNTAG_Bool(REGB0)) {
9515 } else {
9516 nit_abort("Assert failed", NULL, LOCATE_parser, 2118);
9517 }
9518 /* parser/parser.nit:2119 */
9519 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
9520 fra.me.REG[6] = fra.me.REG[4];
9521 /* parser/parser.nit:2120 */
9522 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
9523 /* parser/parser.nit:2122 */
9524 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]*/;
9525 if (UNTAG_Bool(REGB0)) {
9526 } else {
9527 nit_abort("Assert failed", NULL, LOCATE_parser, 2122);
9528 }
9529 /* parser/parser.nit:2123 */
9530 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
9531 fra.me.REG[4] = fra.me.REG[3];
9532 /* parser/parser.nit:2124 */
9533 fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
9534 /* parser/parser.nit:2127 */
9535 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9536 if (UNTAG_Bool(REGB0)) {
9537 } else {
9538 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9539 if (UNTAG_Bool(REGB1)) {
9540 REGB1 = TAG_Bool(0);
9541 REGB0 = REGB1;
9542 } else {
9543 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
9544 REGB0 = REGB1;
9545 }
9546 }
9547 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9548 if (UNTAG_Bool(REGB0)) {
9549 /* parser/parser.nit:2128 */
9550 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
9551 }
9552 /* parser/parser.nit:2130 */
9553 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]);
9554 /* parser/parser.nit:2136 */
9555 fra.me.REG[2] = fra.me.REG[7];
9556 /* parser/parser.nit:2137 */
9557 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9558 if (UNTAG_Bool(REGB0)) {
9559 } else {
9560 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2137);
9561 }
9562 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9563 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9564 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9565 stack_frame_head = fra.me.prev;
9566 return;
9567 }
9568 static const char LOCATE_parser___ReduceAction21___action[] = "parser::ReduceAction21::(parser::ReduceAction::action)";
9569 void parser___ReduceAction21___action(val_t p0, val_t p1){
9570 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
9571 val_t REGB0;
9572 val_t REGB1;
9573 val_t tmp;
9574 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9575 fra.me.file = LOCATE_parser;
9576 fra.me.line = 2142;
9577 fra.me.meth = LOCATE_parser___ReduceAction21___action;
9578 fra.me.has_broke = 0;
9579 fra.me.REG_size = 9;
9580 fra.me.nitni_local_ref_head = NULL;
9581 fra.me.REG[0] = NIT_NULL;
9582 fra.me.REG[1] = NIT_NULL;
9583 fra.me.REG[2] = NIT_NULL;
9584 fra.me.REG[3] = NIT_NULL;
9585 fra.me.REG[4] = NIT_NULL;
9586 fra.me.REG[5] = NIT_NULL;
9587 fra.me.REG[6] = NIT_NULL;
9588 fra.me.REG[7] = NIT_NULL;
9589 fra.me.REG[8] = NIT_NULL;
9590 fra.me.REG[0] = p0;
9591 fra.me.REG[1] = p1;
9592 /* parser/parser.nit:2144 */
9593 fra.me.REG[2] = NIT_NULL;
9594 /* parser/parser.nit:2145 */
9595 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9596 /* parser/parser.nit:2146 */
9597 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9598 /* parser/parser.nit:2147 */
9599 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9600 /* parser/parser.nit:2148 */
9601 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
9602 /* parser/parser.nit:2149 */
9603 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9604 /* parser/parser.nit:2150 */
9605 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
9606 /* parser/parser.nit:2152 */
9607 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*/;
9608 if (UNTAG_Bool(REGB0)) {
9609 } else {
9610 nit_abort("Assert failed", NULL, LOCATE_parser, 2152);
9611 }
9612 /* parser/parser.nit:2154 */
9613 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]*/;
9614 if (UNTAG_Bool(REGB0)) {
9615 } else {
9616 nit_abort("Assert failed", NULL, LOCATE_parser, 2154);
9617 }
9618 /* parser/parser.nit:2155 */
9619 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
9620 fra.me.REG[7] = fra.me.REG[4];
9621 /* parser/parser.nit:2156 */
9622 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
9623 /* parser/parser.nit:2158 */
9624 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]*/;
9625 if (UNTAG_Bool(REGB0)) {
9626 } else {
9627 nit_abort("Assert failed", NULL, LOCATE_parser, 2158);
9628 }
9629 /* parser/parser.nit:2159 */
9630 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
9631 fra.me.REG[4] = fra.me.REG[3];
9632 /* parser/parser.nit:2160 */
9633 fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
9634 /* parser/parser.nit:2163 */
9635 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9636 if (UNTAG_Bool(REGB0)) {
9637 } else {
9638 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9639 if (UNTAG_Bool(REGB1)) {
9640 REGB1 = TAG_Bool(0);
9641 REGB0 = REGB1;
9642 } else {
9643 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
9644 REGB0 = REGB1;
9645 }
9646 }
9647 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9648 if (UNTAG_Bool(REGB0)) {
9649 /* parser/parser.nit:2164 */
9650 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[4]);
9651 }
9652 /* parser/parser.nit:2166 */
9653 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]);
9654 /* parser/parser.nit:2172 */
9655 fra.me.REG[2] = fra.me.REG[8];
9656 /* parser/parser.nit:2173 */
9657 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9658 if (UNTAG_Bool(REGB0)) {
9659 } else {
9660 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2173);
9661 }
9662 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9663 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9664 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9665 stack_frame_head = fra.me.prev;
9666 return;
9667 }
9668 static const char LOCATE_parser___ReduceAction22___action[] = "parser::ReduceAction22::(parser::ReduceAction::action)";
9669 void parser___ReduceAction22___action(val_t p0, val_t p1){
9670 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
9671 val_t REGB0;
9672 val_t REGB1;
9673 val_t tmp;
9674 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9675 fra.me.file = LOCATE_parser;
9676 fra.me.line = 2178;
9677 fra.me.meth = LOCATE_parser___ReduceAction22___action;
9678 fra.me.has_broke = 0;
9679 fra.me.REG_size = 9;
9680 fra.me.nitni_local_ref_head = NULL;
9681 fra.me.REG[0] = NIT_NULL;
9682 fra.me.REG[1] = NIT_NULL;
9683 fra.me.REG[2] = NIT_NULL;
9684 fra.me.REG[3] = NIT_NULL;
9685 fra.me.REG[4] = NIT_NULL;
9686 fra.me.REG[5] = NIT_NULL;
9687 fra.me.REG[6] = NIT_NULL;
9688 fra.me.REG[7] = NIT_NULL;
9689 fra.me.REG[8] = NIT_NULL;
9690 fra.me.REG[0] = p0;
9691 fra.me.REG[1] = p1;
9692 /* parser/parser.nit:2180 */
9693 fra.me.REG[2] = NIT_NULL;
9694 /* parser/parser.nit:2181 */
9695 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9696 /* parser/parser.nit:2182 */
9697 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9698 /* parser/parser.nit:2183 */
9699 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9700 /* parser/parser.nit:2184 */
9701 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
9702 /* parser/parser.nit:2185 */
9703 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9704 /* parser/parser.nit:2186 */
9705 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
9706 /* parser/parser.nit:2188 */
9707 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]*/;
9708 if (UNTAG_Bool(REGB0)) {
9709 } else {
9710 nit_abort("Assert failed", NULL, LOCATE_parser, 2188);
9711 }
9712 /* parser/parser.nit:2189 */
9713 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
9714 fra.me.REG[6] = fra.me.REG[5];
9715 /* parser/parser.nit:2191 */
9716 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]*/;
9717 if (UNTAG_Bool(REGB0)) {
9718 } else {
9719 nit_abort("Assert failed", NULL, LOCATE_parser, 2191);
9720 }
9721 /* parser/parser.nit:2192 */
9722 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
9723 fra.me.REG[7] = fra.me.REG[4];
9724 /* parser/parser.nit:2193 */
9725 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
9726 /* parser/parser.nit:2195 */
9727 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]*/;
9728 if (UNTAG_Bool(REGB0)) {
9729 } else {
9730 nit_abort("Assert failed", NULL, LOCATE_parser, 2195);
9731 }
9732 /* parser/parser.nit:2196 */
9733 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
9734 fra.me.REG[4] = fra.me.REG[3];
9735 /* parser/parser.nit:2197 */
9736 fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
9737 /* parser/parser.nit:2200 */
9738 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9739 if (UNTAG_Bool(REGB0)) {
9740 } else {
9741 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9742 if (UNTAG_Bool(REGB1)) {
9743 REGB1 = TAG_Bool(0);
9744 REGB0 = REGB1;
9745 } else {
9746 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
9747 REGB0 = REGB1;
9748 }
9749 }
9750 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9751 if (UNTAG_Bool(REGB0)) {
9752 /* parser/parser.nit:2201 */
9753 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[4]);
9754 }
9755 /* parser/parser.nit:2203 */
9756 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]);
9757 /* parser/parser.nit:2209 */
9758 fra.me.REG[2] = fra.me.REG[8];
9759 /* parser/parser.nit:2210 */
9760 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9761 if (UNTAG_Bool(REGB0)) {
9762 } else {
9763 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2210);
9764 }
9765 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9766 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9767 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9768 stack_frame_head = fra.me.prev;
9769 return;
9770 }
9771 static const char LOCATE_parser___ReduceAction23___action[] = "parser::ReduceAction23::(parser::ReduceAction::action)";
9772 void parser___ReduceAction23___action(val_t p0, val_t p1){
9773 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
9774 val_t REGB0;
9775 val_t REGB1;
9776 val_t tmp;
9777 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9778 fra.me.file = LOCATE_parser;
9779 fra.me.line = 2215;
9780 fra.me.meth = LOCATE_parser___ReduceAction23___action;
9781 fra.me.has_broke = 0;
9782 fra.me.REG_size = 10;
9783 fra.me.nitni_local_ref_head = NULL;
9784 fra.me.REG[0] = NIT_NULL;
9785 fra.me.REG[1] = NIT_NULL;
9786 fra.me.REG[2] = NIT_NULL;
9787 fra.me.REG[3] = NIT_NULL;
9788 fra.me.REG[4] = NIT_NULL;
9789 fra.me.REG[5] = NIT_NULL;
9790 fra.me.REG[6] = NIT_NULL;
9791 fra.me.REG[7] = NIT_NULL;
9792 fra.me.REG[8] = NIT_NULL;
9793 fra.me.REG[9] = NIT_NULL;
9794 fra.me.REG[0] = p0;
9795 fra.me.REG[1] = p1;
9796 /* parser/parser.nit:2217 */
9797 fra.me.REG[2] = NIT_NULL;
9798 /* parser/parser.nit:2218 */
9799 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9800 /* parser/parser.nit:2219 */
9801 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9802 /* parser/parser.nit:2220 */
9803 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9804 /* parser/parser.nit:2221 */
9805 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9806 /* parser/parser.nit:2222 */
9807 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9808 /* parser/parser.nit:2223 */
9809 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
9810 /* parser/parser.nit:2224 */
9811 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
9812 /* parser/parser.nit:2226 */
9813 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*/;
9814 if (UNTAG_Bool(REGB0)) {
9815 } else {
9816 nit_abort("Assert failed", NULL, LOCATE_parser, 2226);
9817 }
9818 /* parser/parser.nit:2228 */
9819 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]*/;
9820 if (UNTAG_Bool(REGB0)) {
9821 } else {
9822 nit_abort("Assert failed", NULL, LOCATE_parser, 2228);
9823 }
9824 /* parser/parser.nit:2229 */
9825 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
9826 fra.me.REG[7] = fra.me.REG[5];
9827 /* parser/parser.nit:2231 */
9828 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]*/;
9829 if (UNTAG_Bool(REGB0)) {
9830 } else {
9831 nit_abort("Assert failed", NULL, LOCATE_parser, 2231);
9832 }
9833 /* parser/parser.nit:2232 */
9834 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
9835 fra.me.REG[8] = fra.me.REG[4];
9836 /* parser/parser.nit:2233 */
9837 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
9838 /* parser/parser.nit:2235 */
9839 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]*/;
9840 if (UNTAG_Bool(REGB0)) {
9841 } else {
9842 nit_abort("Assert failed", NULL, LOCATE_parser, 2235);
9843 }
9844 /* parser/parser.nit:2236 */
9845 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
9846 fra.me.REG[4] = fra.me.REG[3];
9847 /* parser/parser.nit:2237 */
9848 fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
9849 /* parser/parser.nit:2240 */
9850 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9851 if (UNTAG_Bool(REGB0)) {
9852 } else {
9853 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9854 if (UNTAG_Bool(REGB1)) {
9855 REGB1 = TAG_Bool(0);
9856 REGB0 = REGB1;
9857 } else {
9858 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
9859 REGB0 = REGB1;
9860 }
9861 }
9862 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9863 if (UNTAG_Bool(REGB0)) {
9864 /* parser/parser.nit:2241 */
9865 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[4]);
9866 }
9867 /* parser/parser.nit:2243 */
9868 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]);
9869 /* parser/parser.nit:2249 */
9870 fra.me.REG[2] = fra.me.REG[9];
9871 /* parser/parser.nit:2250 */
9872 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9873 if (UNTAG_Bool(REGB0)) {
9874 } else {
9875 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2250);
9876 }
9877 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9878 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9879 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9880 stack_frame_head = fra.me.prev;
9881 return;
9882 }
9883 static const char LOCATE_parser___ReduceAction24___action[] = "parser::ReduceAction24::(parser::ReduceAction::action)";
9884 void parser___ReduceAction24___action(val_t p0, val_t p1){
9885 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
9886 val_t REGB0;
9887 val_t REGB1;
9888 val_t tmp;
9889 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9890 fra.me.file = LOCATE_parser;
9891 fra.me.line = 2255;
9892 fra.me.meth = LOCATE_parser___ReduceAction24___action;
9893 fra.me.has_broke = 0;
9894 fra.me.REG_size = 9;
9895 fra.me.nitni_local_ref_head = NULL;
9896 fra.me.REG[0] = NIT_NULL;
9897 fra.me.REG[1] = NIT_NULL;
9898 fra.me.REG[2] = NIT_NULL;
9899 fra.me.REG[3] = NIT_NULL;
9900 fra.me.REG[4] = NIT_NULL;
9901 fra.me.REG[5] = NIT_NULL;
9902 fra.me.REG[6] = NIT_NULL;
9903 fra.me.REG[7] = NIT_NULL;
9904 fra.me.REG[8] = NIT_NULL;
9905 fra.me.REG[0] = p0;
9906 fra.me.REG[1] = p1;
9907 /* parser/parser.nit:2257 */
9908 fra.me.REG[2] = NIT_NULL;
9909 /* parser/parser.nit:2258 */
9910 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9911 /* parser/parser.nit:2259 */
9912 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9913 /* parser/parser.nit:2260 */
9914 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
9915 /* parser/parser.nit:2261 */
9916 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
9917 /* parser/parser.nit:2262 */
9918 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9919 /* parser/parser.nit:2264 */
9920 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]*/;
9921 if (UNTAG_Bool(REGB0)) {
9922 } else {
9923 nit_abort("Assert failed", NULL, LOCATE_parser, 2264);
9924 }
9925 /* parser/parser.nit:2265 */
9926 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
9927 /* parser/parser.nit:2267 */
9928 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]*/;
9929 if (UNTAG_Bool(REGB0)) {
9930 } else {
9931 nit_abort("Assert failed", NULL, LOCATE_parser, 2267);
9932 }
9933 /* parser/parser.nit:2268 */
9934 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
9935 fra.me.REG[8] = fra.me.REG[3];
9936 /* parser/parser.nit:2269 */
9937 fra.me.REG[8] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
9938 /* parser/parser.nit:2272 */
9939 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
9940 fra.me.REG[7] = fra.me.REG[4];
9941 /* parser/parser.nit:2273 */
9942 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
9943 if (UNTAG_Bool(REGB0)) {
9944 } else {
9945 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
9946 if (UNTAG_Bool(REGB1)) {
9947 REGB1 = TAG_Bool(0);
9948 REGB0 = REGB1;
9949 } else {
9950 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
9951 REGB0 = REGB1;
9952 }
9953 }
9954 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9955 if (UNTAG_Bool(REGB0)) {
9956 /* parser/parser.nit:2274 */
9957 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
9958 }
9959 /* parser/parser.nit:2276 */
9960 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]);
9961 /* parser/parser.nit:2282 */
9962 fra.me.REG[2] = fra.me.REG[7];
9963 /* parser/parser.nit:2283 */
9964 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9965 if (UNTAG_Bool(REGB0)) {
9966 } else {
9967 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2283);
9968 }
9969 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9970 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9971 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9972 stack_frame_head = fra.me.prev;
9973 return;
9974 }
9975 static const char LOCATE_parser___ReduceAction25___action[] = "parser::ReduceAction25::(parser::ReduceAction::action)";
9976 void parser___ReduceAction25___action(val_t p0, val_t p1){
9977 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
9978 val_t REGB0;
9979 val_t REGB1;
9980 val_t tmp;
9981 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9982 fra.me.file = LOCATE_parser;
9983 fra.me.line = 2288;
9984 fra.me.meth = LOCATE_parser___ReduceAction25___action;
9985 fra.me.has_broke = 0;
9986 fra.me.REG_size = 10;
9987 fra.me.nitni_local_ref_head = NULL;
9988 fra.me.REG[0] = NIT_NULL;
9989 fra.me.REG[1] = NIT_NULL;
9990 fra.me.REG[2] = NIT_NULL;
9991 fra.me.REG[3] = NIT_NULL;
9992 fra.me.REG[4] = NIT_NULL;
9993 fra.me.REG[5] = NIT_NULL;
9994 fra.me.REG[6] = NIT_NULL;
9995 fra.me.REG[7] = NIT_NULL;
9996 fra.me.REG[8] = NIT_NULL;
9997 fra.me.REG[9] = NIT_NULL;
9998 fra.me.REG[0] = p0;
9999 fra.me.REG[1] = p1;
10000 /* parser/parser.nit:2290 */
10001 fra.me.REG[2] = NIT_NULL;
10002 /* parser/parser.nit:2291 */
10003 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10004 /* parser/parser.nit:2292 */
10005 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10006 /* parser/parser.nit:2293 */
10007 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10008 /* parser/parser.nit:2294 */
10009 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
10010 /* parser/parser.nit:2295 */
10011 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
10012 /* parser/parser.nit:2296 */
10013 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
10014 /* parser/parser.nit:2298 */
10015 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*/;
10016 if (UNTAG_Bool(REGB0)) {
10017 } else {
10018 nit_abort("Assert failed", NULL, LOCATE_parser, 2298);
10019 }
10020 /* parser/parser.nit:2300 */
10021 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]*/;
10022 if (UNTAG_Bool(REGB0)) {
10023 } else {
10024 nit_abort("Assert failed", NULL, LOCATE_parser, 2300);
10025 }
10026 /* parser/parser.nit:2301 */
10027 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
10028 /* parser/parser.nit:2303 */
10029 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]*/;
10030 if (UNTAG_Bool(REGB0)) {
10031 } else {
10032 nit_abort("Assert failed", NULL, LOCATE_parser, 2303);
10033 }
10034 /* parser/parser.nit:2304 */
10035 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[3]);
10036 fra.me.REG[9] = fra.me.REG[3];
10037 /* parser/parser.nit:2305 */
10038 fra.me.REG[9] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[9]);
10039 /* parser/parser.nit:2308 */
10040 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
10041 fra.me.REG[8] = fra.me.REG[4];
10042 /* parser/parser.nit:2309 */
10043 REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
10044 if (UNTAG_Bool(REGB0)) {
10045 } else {
10046 REGB1 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
10047 if (UNTAG_Bool(REGB1)) {
10048 REGB1 = TAG_Bool(0);
10049 REGB0 = REGB1;
10050 } else {
10051 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[9])(fra.me.REG[9], NIT_NULL);
10052 REGB0 = REGB1;
10053 }
10054 }
10055 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10056 if (UNTAG_Bool(REGB0)) {
10057 /* parser/parser.nit:2310 */
10058 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
10059 }
10060 /* parser/parser.nit:2312 */
10061 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]);
10062 /* parser/parser.nit:2318 */
10063 fra.me.REG[2] = fra.me.REG[8];
10064 /* parser/parser.nit:2319 */
10065 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10066 if (UNTAG_Bool(REGB0)) {
10067 } else {
10068 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2319);
10069 }
10070 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10071 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10072 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10073 stack_frame_head = fra.me.prev;
10074 return;
10075 }
10076 static const char LOCATE_parser___ReduceAction26___action[] = "parser::ReduceAction26::(parser::ReduceAction::action)";
10077 void parser___ReduceAction26___action(val_t p0, val_t p1){
10078 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
10079 val_t REGB0;
10080 val_t REGB1;
10081 val_t tmp;
10082 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10083 fra.me.file = LOCATE_parser;
10084 fra.me.line = 2324;
10085 fra.me.meth = LOCATE_parser___ReduceAction26___action;
10086 fra.me.has_broke = 0;
10087 fra.me.REG_size = 9;
10088 fra.me.nitni_local_ref_head = NULL;
10089 fra.me.REG[0] = NIT_NULL;
10090 fra.me.REG[1] = NIT_NULL;
10091 fra.me.REG[2] = NIT_NULL;
10092 fra.me.REG[3] = NIT_NULL;
10093 fra.me.REG[4] = NIT_NULL;
10094 fra.me.REG[5] = NIT_NULL;
10095 fra.me.REG[6] = NIT_NULL;
10096 fra.me.REG[7] = NIT_NULL;
10097 fra.me.REG[8] = NIT_NULL;
10098 fra.me.REG[0] = p0;
10099 fra.me.REG[1] = p1;
10100 /* parser/parser.nit:2326 */
10101 fra.me.REG[2] = NIT_NULL;
10102 /* parser/parser.nit:2327 */
10103 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10104 /* parser/parser.nit:2328 */
10105 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10106 /* parser/parser.nit:2329 */
10107 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10108 /* parser/parser.nit:2330 */
10109 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
10110 /* parser/parser.nit:2331 */
10111 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
10112 /* parser/parser.nit:2332 */
10113 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
10114 /* parser/parser.nit:2334 */
10115 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]*/;
10116 if (UNTAG_Bool(REGB0)) {
10117 } else {
10118 nit_abort("Assert failed", NULL, LOCATE_parser, 2334);
10119 }
10120 /* parser/parser.nit:2335 */
10121 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
10122 fra.me.REG[6] = fra.me.REG[5];
10123 /* parser/parser.nit:2337 */
10124 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]*/;
10125 if (UNTAG_Bool(REGB0)) {
10126 } else {
10127 nit_abort("Assert failed", NULL, LOCATE_parser, 2337);
10128 }
10129 /* parser/parser.nit:2338 */
10130 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
10131 /* parser/parser.nit:2340 */
10132 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]*/;
10133 if (UNTAG_Bool(REGB0)) {
10134 } else {
10135 nit_abort("Assert failed", NULL, LOCATE_parser, 2340);
10136 }
10137 /* parser/parser.nit:2341 */
10138 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
10139 fra.me.REG[5] = fra.me.REG[3];
10140 /* parser/parser.nit:2342 */
10141 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
10142 /* parser/parser.nit:2345 */
10143 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
10144 fra.me.REG[8] = fra.me.REG[4];
10145 /* parser/parser.nit:2346 */
10146 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10147 if (UNTAG_Bool(REGB0)) {
10148 } else {
10149 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10150 if (UNTAG_Bool(REGB1)) {
10151 REGB1 = TAG_Bool(0);
10152 REGB0 = REGB1;
10153 } else {
10154 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
10155 REGB0 = REGB1;
10156 }
10157 }
10158 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10159 if (UNTAG_Bool(REGB0)) {
10160 /* parser/parser.nit:2347 */
10161 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
10162 }
10163 /* parser/parser.nit:2349 */
10164 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]);
10165 /* parser/parser.nit:2355 */
10166 fra.me.REG[2] = fra.me.REG[8];
10167 /* parser/parser.nit:2356 */
10168 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10169 if (UNTAG_Bool(REGB0)) {
10170 } else {
10171 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2356);
10172 }
10173 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10174 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10175 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10176 stack_frame_head = fra.me.prev;
10177 return;
10178 }
10179 static const char LOCATE_parser___ReduceAction27___action[] = "parser::ReduceAction27::(parser::ReduceAction::action)";
10180 void parser___ReduceAction27___action(val_t p0, val_t p1){
10181 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
10182 val_t REGB0;
10183 val_t REGB1;
10184 val_t tmp;
10185 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10186 fra.me.file = LOCATE_parser;
10187 fra.me.line = 2361;
10188 fra.me.meth = LOCATE_parser___ReduceAction27___action;
10189 fra.me.has_broke = 0;
10190 fra.me.REG_size = 10;
10191 fra.me.nitni_local_ref_head = NULL;
10192 fra.me.REG[0] = NIT_NULL;
10193 fra.me.REG[1] = NIT_NULL;
10194 fra.me.REG[2] = NIT_NULL;
10195 fra.me.REG[3] = NIT_NULL;
10196 fra.me.REG[4] = NIT_NULL;
10197 fra.me.REG[5] = NIT_NULL;
10198 fra.me.REG[6] = NIT_NULL;
10199 fra.me.REG[7] = NIT_NULL;
10200 fra.me.REG[8] = NIT_NULL;
10201 fra.me.REG[9] = NIT_NULL;
10202 fra.me.REG[0] = p0;
10203 fra.me.REG[1] = p1;
10204 /* parser/parser.nit:2363 */
10205 fra.me.REG[2] = NIT_NULL;
10206 /* parser/parser.nit:2364 */
10207 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10208 /* parser/parser.nit:2365 */
10209 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10210 /* parser/parser.nit:2366 */
10211 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10212 /* parser/parser.nit:2367 */
10213 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10214 /* parser/parser.nit:2368 */
10215 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
10216 /* parser/parser.nit:2369 */
10217 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
10218 /* parser/parser.nit:2370 */
10219 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
10220 /* parser/parser.nit:2372 */
10221 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*/;
10222 if (UNTAG_Bool(REGB0)) {
10223 } else {
10224 nit_abort("Assert failed", NULL, LOCATE_parser, 2372);
10225 }
10226 /* parser/parser.nit:2374 */
10227 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]*/;
10228 if (UNTAG_Bool(REGB0)) {
10229 } else {
10230 nit_abort("Assert failed", NULL, LOCATE_parser, 2374);
10231 }
10232 /* parser/parser.nit:2375 */
10233 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
10234 fra.me.REG[7] = fra.me.REG[5];
10235 /* parser/parser.nit:2377 */
10236 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]*/;
10237 if (UNTAG_Bool(REGB0)) {
10238 } else {
10239 nit_abort("Assert failed", NULL, LOCATE_parser, 2377);
10240 }
10241 /* parser/parser.nit:2378 */
10242 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
10243 /* parser/parser.nit:2380 */
10244 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]*/;
10245 if (UNTAG_Bool(REGB0)) {
10246 } else {
10247 nit_abort("Assert failed", NULL, LOCATE_parser, 2380);
10248 }
10249 /* parser/parser.nit:2381 */
10250 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
10251 fra.me.REG[5] = fra.me.REG[3];
10252 /* parser/parser.nit:2382 */
10253 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
10254 /* parser/parser.nit:2385 */
10255 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
10256 fra.me.REG[9] = fra.me.REG[4];
10257 /* parser/parser.nit:2386 */
10258 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10259 if (UNTAG_Bool(REGB0)) {
10260 } else {
10261 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10262 if (UNTAG_Bool(REGB1)) {
10263 REGB1 = TAG_Bool(0);
10264 REGB0 = REGB1;
10265 } else {
10266 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
10267 REGB0 = REGB1;
10268 }
10269 }
10270 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10271 if (UNTAG_Bool(REGB0)) {
10272 /* parser/parser.nit:2387 */
10273 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
10274 }
10275 /* parser/parser.nit:2389 */
10276 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]);
10277 /* parser/parser.nit:2395 */
10278 fra.me.REG[2] = fra.me.REG[9];
10279 /* parser/parser.nit:2396 */
10280 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10281 if (UNTAG_Bool(REGB0)) {
10282 } else {
10283 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2396);
10284 }
10285 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10286 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10287 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10288 stack_frame_head = fra.me.prev;
10289 return;
10290 }
10291 static const char LOCATE_parser___ReduceAction28___action[] = "parser::ReduceAction28::(parser::ReduceAction::action)";
10292 void parser___ReduceAction28___action(val_t p0, val_t p1){
10293 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
10294 val_t REGB0;
10295 val_t REGB1;
10296 val_t tmp;
10297 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10298 fra.me.file = LOCATE_parser;
10299 fra.me.line = 2401;
10300 fra.me.meth = LOCATE_parser___ReduceAction28___action;
10301 fra.me.has_broke = 0;
10302 fra.me.REG_size = 9;
10303 fra.me.nitni_local_ref_head = NULL;
10304 fra.me.REG[0] = NIT_NULL;
10305 fra.me.REG[1] = NIT_NULL;
10306 fra.me.REG[2] = NIT_NULL;
10307 fra.me.REG[3] = NIT_NULL;
10308 fra.me.REG[4] = NIT_NULL;
10309 fra.me.REG[5] = NIT_NULL;
10310 fra.me.REG[6] = NIT_NULL;
10311 fra.me.REG[7] = NIT_NULL;
10312 fra.me.REG[8] = NIT_NULL;
10313 fra.me.REG[0] = p0;
10314 fra.me.REG[1] = p1;
10315 /* parser/parser.nit:2403 */
10316 fra.me.REG[2] = NIT_NULL;
10317 /* parser/parser.nit:2404 */
10318 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10319 /* parser/parser.nit:2405 */
10320 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10321 /* parser/parser.nit:2406 */
10322 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10323 /* parser/parser.nit:2407 */
10324 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
10325 /* parser/parser.nit:2408 */
10326 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
10327 /* parser/parser.nit:2409 */
10328 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
10329 /* parser/parser.nit:2411 */
10330 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]*/;
10331 if (UNTAG_Bool(REGB0)) {
10332 } else {
10333 nit_abort("Assert failed", NULL, LOCATE_parser, 2411);
10334 }
10335 /* parser/parser.nit:2412 */
10336 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
10337 fra.me.REG[7] = fra.me.REG[5];
10338 /* parser/parser.nit:2414 */
10339 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]*/;
10340 if (UNTAG_Bool(REGB0)) {
10341 } else {
10342 nit_abort("Assert failed", NULL, LOCATE_parser, 2414);
10343 }
10344 /* parser/parser.nit:2415 */
10345 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
10346 /* parser/parser.nit:2417 */
10347 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]*/;
10348 if (UNTAG_Bool(REGB0)) {
10349 } else {
10350 nit_abort("Assert failed", NULL, LOCATE_parser, 2417);
10351 }
10352 /* parser/parser.nit:2418 */
10353 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
10354 fra.me.REG[5] = fra.me.REG[3];
10355 /* parser/parser.nit:2419 */
10356 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
10357 /* parser/parser.nit:2422 */
10358 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
10359 fra.me.REG[8] = fra.me.REG[4];
10360 /* parser/parser.nit:2423 */
10361 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10362 if (UNTAG_Bool(REGB0)) {
10363 } else {
10364 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10365 if (UNTAG_Bool(REGB1)) {
10366 REGB1 = TAG_Bool(0);
10367 REGB0 = REGB1;
10368 } else {
10369 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
10370 REGB0 = REGB1;
10371 }
10372 }
10373 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10374 if (UNTAG_Bool(REGB0)) {
10375 /* parser/parser.nit:2424 */
10376 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
10377 }
10378 /* parser/parser.nit:2426 */
10379 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]);
10380 /* parser/parser.nit:2432 */
10381 fra.me.REG[2] = fra.me.REG[8];
10382 /* parser/parser.nit:2433 */
10383 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10384 if (UNTAG_Bool(REGB0)) {
10385 } else {
10386 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2433);
10387 }
10388 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10389 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10390 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10391 stack_frame_head = fra.me.prev;
10392 return;
10393 }
10394 static const char LOCATE_parser___ReduceAction29___action[] = "parser::ReduceAction29::(parser::ReduceAction::action)";
10395 void parser___ReduceAction29___action(val_t p0, val_t p1){
10396 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
10397 val_t REGB0;
10398 val_t REGB1;
10399 val_t tmp;
10400 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10401 fra.me.file = LOCATE_parser;
10402 fra.me.line = 2438;
10403 fra.me.meth = LOCATE_parser___ReduceAction29___action;
10404 fra.me.has_broke = 0;
10405 fra.me.REG_size = 10;
10406 fra.me.nitni_local_ref_head = NULL;
10407 fra.me.REG[0] = NIT_NULL;
10408 fra.me.REG[1] = NIT_NULL;
10409 fra.me.REG[2] = NIT_NULL;
10410 fra.me.REG[3] = NIT_NULL;
10411 fra.me.REG[4] = NIT_NULL;
10412 fra.me.REG[5] = NIT_NULL;
10413 fra.me.REG[6] = NIT_NULL;
10414 fra.me.REG[7] = NIT_NULL;
10415 fra.me.REG[8] = NIT_NULL;
10416 fra.me.REG[9] = NIT_NULL;
10417 fra.me.REG[0] = p0;
10418 fra.me.REG[1] = p1;
10419 /* parser/parser.nit:2440 */
10420 fra.me.REG[2] = NIT_NULL;
10421 /* parser/parser.nit:2441 */
10422 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10423 /* parser/parser.nit:2442 */
10424 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10425 /* parser/parser.nit:2443 */
10426 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10427 /* parser/parser.nit:2444 */
10428 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10429 /* parser/parser.nit:2445 */
10430 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
10431 /* parser/parser.nit:2446 */
10432 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
10433 /* parser/parser.nit:2447 */
10434 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
10435 /* parser/parser.nit:2449 */
10436 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*/;
10437 if (UNTAG_Bool(REGB0)) {
10438 } else {
10439 nit_abort("Assert failed", NULL, LOCATE_parser, 2449);
10440 }
10441 /* parser/parser.nit:2451 */
10442 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]*/;
10443 if (UNTAG_Bool(REGB0)) {
10444 } else {
10445 nit_abort("Assert failed", NULL, LOCATE_parser, 2451);
10446 }
10447 /* parser/parser.nit:2452 */
10448 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
10449 fra.me.REG[8] = fra.me.REG[5];
10450 /* parser/parser.nit:2454 */
10451 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]*/;
10452 if (UNTAG_Bool(REGB0)) {
10453 } else {
10454 nit_abort("Assert failed", NULL, LOCATE_parser, 2454);
10455 }
10456 /* parser/parser.nit:2455 */
10457 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
10458 /* parser/parser.nit:2457 */
10459 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]*/;
10460 if (UNTAG_Bool(REGB0)) {
10461 } else {
10462 nit_abort("Assert failed", NULL, LOCATE_parser, 2457);
10463 }
10464 /* parser/parser.nit:2458 */
10465 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
10466 fra.me.REG[5] = fra.me.REG[3];
10467 /* parser/parser.nit:2459 */
10468 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
10469 /* parser/parser.nit:2462 */
10470 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
10471 fra.me.REG[9] = fra.me.REG[4];
10472 /* parser/parser.nit:2463 */
10473 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10474 if (UNTAG_Bool(REGB0)) {
10475 } else {
10476 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10477 if (UNTAG_Bool(REGB1)) {
10478 REGB1 = TAG_Bool(0);
10479 REGB0 = REGB1;
10480 } else {
10481 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
10482 REGB0 = REGB1;
10483 }
10484 }
10485 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10486 if (UNTAG_Bool(REGB0)) {
10487 /* parser/parser.nit:2464 */
10488 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
10489 }
10490 /* parser/parser.nit:2466 */
10491 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]);
10492 /* parser/parser.nit:2472 */
10493 fra.me.REG[2] = fra.me.REG[9];
10494 /* parser/parser.nit:2473 */
10495 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10496 if (UNTAG_Bool(REGB0)) {
10497 } else {
10498 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2473);
10499 }
10500 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10501 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10502 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10503 stack_frame_head = fra.me.prev;
10504 return;
10505 }
10506 static const char LOCATE_parser___ReduceAction30___action[] = "parser::ReduceAction30::(parser::ReduceAction::action)";
10507 void parser___ReduceAction30___action(val_t p0, val_t p1){
10508 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
10509 val_t REGB0;
10510 val_t REGB1;
10511 val_t tmp;
10512 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10513 fra.me.file = LOCATE_parser;
10514 fra.me.line = 2478;
10515 fra.me.meth = LOCATE_parser___ReduceAction30___action;
10516 fra.me.has_broke = 0;
10517 fra.me.REG_size = 10;
10518 fra.me.nitni_local_ref_head = NULL;
10519 fra.me.REG[0] = NIT_NULL;
10520 fra.me.REG[1] = NIT_NULL;
10521 fra.me.REG[2] = NIT_NULL;
10522 fra.me.REG[3] = NIT_NULL;
10523 fra.me.REG[4] = NIT_NULL;
10524 fra.me.REG[5] = NIT_NULL;
10525 fra.me.REG[6] = NIT_NULL;
10526 fra.me.REG[7] = NIT_NULL;
10527 fra.me.REG[8] = NIT_NULL;
10528 fra.me.REG[9] = NIT_NULL;
10529 fra.me.REG[0] = p0;
10530 fra.me.REG[1] = p1;
10531 /* parser/parser.nit:2480 */
10532 fra.me.REG[2] = NIT_NULL;
10533 /* parser/parser.nit:2481 */
10534 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10535 /* parser/parser.nit:2482 */
10536 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10537 /* parser/parser.nit:2483 */
10538 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10539 /* parser/parser.nit:2484 */
10540 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10541 /* parser/parser.nit:2485 */
10542 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
10543 /* parser/parser.nit:2486 */
10544 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
10545 /* parser/parser.nit:2487 */
10546 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
10547 /* parser/parser.nit:2489 */
10548 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]*/;
10549 if (UNTAG_Bool(REGB0)) {
10550 } else {
10551 nit_abort("Assert failed", NULL, LOCATE_parser, 2489);
10552 }
10553 /* parser/parser.nit:2490 */
10554 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
10555 fra.me.REG[7] = fra.me.REG[6];
10556 /* parser/parser.nit:2492 */
10557 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]*/;
10558 if (UNTAG_Bool(REGB0)) {
10559 } else {
10560 nit_abort("Assert failed", NULL, LOCATE_parser, 2492);
10561 }
10562 /* parser/parser.nit:2493 */
10563 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
10564 fra.me.REG[8] = fra.me.REG[5];
10565 /* parser/parser.nit:2495 */
10566 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]*/;
10567 if (UNTAG_Bool(REGB0)) {
10568 } else {
10569 nit_abort("Assert failed", NULL, LOCATE_parser, 2495);
10570 }
10571 /* parser/parser.nit:2496 */
10572 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
10573 /* parser/parser.nit:2498 */
10574 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]*/;
10575 if (UNTAG_Bool(REGB0)) {
10576 } else {
10577 nit_abort("Assert failed", NULL, LOCATE_parser, 2498);
10578 }
10579 /* parser/parser.nit:2499 */
10580 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
10581 fra.me.REG[5] = fra.me.REG[3];
10582 /* parser/parser.nit:2500 */
10583 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
10584 /* parser/parser.nit:2503 */
10585 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
10586 fra.me.REG[9] = fra.me.REG[4];
10587 /* parser/parser.nit:2504 */
10588 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10589 if (UNTAG_Bool(REGB0)) {
10590 } else {
10591 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10592 if (UNTAG_Bool(REGB1)) {
10593 REGB1 = TAG_Bool(0);
10594 REGB0 = REGB1;
10595 } else {
10596 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
10597 REGB0 = REGB1;
10598 }
10599 }
10600 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10601 if (UNTAG_Bool(REGB0)) {
10602 /* parser/parser.nit:2505 */
10603 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
10604 }
10605 /* parser/parser.nit:2507 */
10606 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]);
10607 /* parser/parser.nit:2513 */
10608 fra.me.REG[2] = fra.me.REG[9];
10609 /* parser/parser.nit:2514 */
10610 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10611 if (UNTAG_Bool(REGB0)) {
10612 } else {
10613 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2514);
10614 }
10615 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10616 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10617 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10618 stack_frame_head = fra.me.prev;
10619 return;
10620 }
10621 static const char LOCATE_parser___ReduceAction31___action[] = "parser::ReduceAction31::(parser::ReduceAction::action)";
10622 void parser___ReduceAction31___action(val_t p0, val_t p1){
10623 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
10624 val_t REGB0;
10625 val_t REGB1;
10626 val_t tmp;
10627 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10628 fra.me.file = LOCATE_parser;
10629 fra.me.line = 2519;
10630 fra.me.meth = LOCATE_parser___ReduceAction31___action;
10631 fra.me.has_broke = 0;
10632 fra.me.REG_size = 11;
10633 fra.me.nitni_local_ref_head = NULL;
10634 fra.me.REG[0] = NIT_NULL;
10635 fra.me.REG[1] = NIT_NULL;
10636 fra.me.REG[2] = NIT_NULL;
10637 fra.me.REG[3] = NIT_NULL;
10638 fra.me.REG[4] = NIT_NULL;
10639 fra.me.REG[5] = NIT_NULL;
10640 fra.me.REG[6] = NIT_NULL;
10641 fra.me.REG[7] = NIT_NULL;
10642 fra.me.REG[8] = NIT_NULL;
10643 fra.me.REG[9] = NIT_NULL;
10644 fra.me.REG[10] = NIT_NULL;
10645 fra.me.REG[0] = p0;
10646 fra.me.REG[1] = p1;
10647 /* parser/parser.nit:2521 */
10648 fra.me.REG[2] = NIT_NULL;
10649 /* parser/parser.nit:2522 */
10650 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10651 /* parser/parser.nit:2523 */
10652 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10653 /* parser/parser.nit:2524 */
10654 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10655 /* parser/parser.nit:2525 */
10656 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10657 /* parser/parser.nit:2526 */
10658 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10659 /* parser/parser.nit:2527 */
10660 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
10661 /* parser/parser.nit:2528 */
10662 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
10663 /* parser/parser.nit:2529 */
10664 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
10665 /* parser/parser.nit:2531 */
10666 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*/;
10667 if (UNTAG_Bool(REGB0)) {
10668 } else {
10669 nit_abort("Assert failed", NULL, LOCATE_parser, 2531);
10670 }
10671 /* parser/parser.nit:2533 */
10672 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]*/;
10673 if (UNTAG_Bool(REGB0)) {
10674 } else {
10675 nit_abort("Assert failed", NULL, LOCATE_parser, 2533);
10676 }
10677 /* parser/parser.nit:2534 */
10678 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
10679 fra.me.REG[8] = fra.me.REG[6];
10680 /* parser/parser.nit:2536 */
10681 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]*/;
10682 if (UNTAG_Bool(REGB0)) {
10683 } else {
10684 nit_abort("Assert failed", NULL, LOCATE_parser, 2536);
10685 }
10686 /* parser/parser.nit:2537 */
10687 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
10688 fra.me.REG[9] = fra.me.REG[5];
10689 /* parser/parser.nit:2539 */
10690 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]*/;
10691 if (UNTAG_Bool(REGB0)) {
10692 } else {
10693 nit_abort("Assert failed", NULL, LOCATE_parser, 2539);
10694 }
10695 /* parser/parser.nit:2540 */
10696 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
10697 /* parser/parser.nit:2542 */
10698 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]*/;
10699 if (UNTAG_Bool(REGB0)) {
10700 } else {
10701 nit_abort("Assert failed", NULL, LOCATE_parser, 2542);
10702 }
10703 /* parser/parser.nit:2543 */
10704 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
10705 fra.me.REG[5] = fra.me.REG[3];
10706 /* parser/parser.nit:2544 */
10707 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
10708 /* parser/parser.nit:2547 */
10709 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
10710 fra.me.REG[10] = fra.me.REG[4];
10711 /* parser/parser.nit:2548 */
10712 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10713 if (UNTAG_Bool(REGB0)) {
10714 } else {
10715 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10716 if (UNTAG_Bool(REGB1)) {
10717 REGB1 = TAG_Bool(0);
10718 REGB0 = REGB1;
10719 } else {
10720 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
10721 REGB0 = REGB1;
10722 }
10723 }
10724 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10725 if (UNTAG_Bool(REGB0)) {
10726 /* parser/parser.nit:2549 */
10727 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[5]);
10728 }
10729 /* parser/parser.nit:2551 */
10730 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]);
10731 /* parser/parser.nit:2557 */
10732 fra.me.REG[2] = fra.me.REG[10];
10733 /* parser/parser.nit:2558 */
10734 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10735 if (UNTAG_Bool(REGB0)) {
10736 } else {
10737 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2558);
10738 }
10739 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10740 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10741 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10742 stack_frame_head = fra.me.prev;
10743 return;
10744 }
10745 static const char LOCATE_parser___ReduceAction32___action[] = "parser::ReduceAction32::(parser::ReduceAction::action)";
10746 void parser___ReduceAction32___action(val_t p0, val_t p1){
10747 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
10748 val_t REGB0;
10749 val_t REGB1;
10750 val_t tmp;
10751 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10752 fra.me.file = LOCATE_parser;
10753 fra.me.line = 2563;
10754 fra.me.meth = LOCATE_parser___ReduceAction32___action;
10755 fra.me.has_broke = 0;
10756 fra.me.REG_size = 7;
10757 fra.me.nitni_local_ref_head = NULL;
10758 fra.me.REG[0] = NIT_NULL;
10759 fra.me.REG[1] = NIT_NULL;
10760 fra.me.REG[2] = NIT_NULL;
10761 fra.me.REG[3] = NIT_NULL;
10762 fra.me.REG[4] = NIT_NULL;
10763 fra.me.REG[5] = NIT_NULL;
10764 fra.me.REG[6] = NIT_NULL;
10765 fra.me.REG[0] = p0;
10766 fra.me.REG[1] = p1;
10767 /* parser/parser.nit:2565 */
10768 fra.me.REG[2] = NIT_NULL;
10769 /* parser/parser.nit:2566 */
10770 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10771 /* parser/parser.nit:2567 */
10772 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
10773 /* parser/parser.nit:2568 */
10774 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
10775 /* parser/parser.nit:2569 */
10776 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
10777 /* parser/parser.nit:2571 */
10778 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*/;
10779 if (UNTAG_Bool(REGB0)) {
10780 } else {
10781 nit_abort("Assert failed", NULL, LOCATE_parser, 2571);
10782 }
10783 /* parser/parser.nit:2572 */
10784 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10785 if (UNTAG_Bool(REGB0)) {
10786 } else {
10787 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10788 if (UNTAG_Bool(REGB1)) {
10789 REGB1 = TAG_Bool(0);
10790 REGB0 = REGB1;
10791 } else {
10792 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
10793 REGB0 = REGB1;
10794 }
10795 }
10796 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10797 if (UNTAG_Bool(REGB0)) {
10798 /* parser/parser.nit:2573 */
10799 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
10800 }
10801 /* parser/parser.nit:2575 */
10802 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]);
10803 /* parser/parser.nit:2581 */
10804 fra.me.REG[2] = fra.me.REG[6];
10805 /* parser/parser.nit:2582 */
10806 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10807 if (UNTAG_Bool(REGB0)) {
10808 } else {
10809 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2582);
10810 }
10811 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10812 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10813 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10814 stack_frame_head = fra.me.prev;
10815 return;
10816 }
10817 static const char LOCATE_parser___ReduceAction33___action[] = "parser::ReduceAction33::(parser::ReduceAction::action)";
10818 void parser___ReduceAction33___action(val_t p0, val_t p1){
10819 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
10820 val_t REGB0;
10821 val_t REGB1;
10822 val_t tmp;
10823 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10824 fra.me.file = LOCATE_parser;
10825 fra.me.line = 2587;
10826 fra.me.meth = LOCATE_parser___ReduceAction33___action;
10827 fra.me.has_broke = 0;
10828 fra.me.REG_size = 8;
10829 fra.me.nitni_local_ref_head = NULL;
10830 fra.me.REG[0] = NIT_NULL;
10831 fra.me.REG[1] = NIT_NULL;
10832 fra.me.REG[2] = NIT_NULL;
10833 fra.me.REG[3] = NIT_NULL;
10834 fra.me.REG[4] = NIT_NULL;
10835 fra.me.REG[5] = NIT_NULL;
10836 fra.me.REG[6] = NIT_NULL;
10837 fra.me.REG[7] = NIT_NULL;
10838 fra.me.REG[0] = p0;
10839 fra.me.REG[1] = p1;
10840 /* parser/parser.nit:2589 */
10841 fra.me.REG[2] = NIT_NULL;
10842 /* parser/parser.nit:2590 */
10843 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10844 /* parser/parser.nit:2591 */
10845 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10846 /* parser/parser.nit:2592 */
10847 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
10848 /* parser/parser.nit:2593 */
10849 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
10850 /* parser/parser.nit:2594 */
10851 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
10852 /* parser/parser.nit:2596 */
10853 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*/;
10854 if (UNTAG_Bool(REGB0)) {
10855 } else {
10856 nit_abort("Assert failed", NULL, LOCATE_parser, 2596);
10857 }
10858 /* parser/parser.nit:2598 */
10859 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*/;
10860 if (UNTAG_Bool(REGB0)) {
10861 } else {
10862 nit_abort("Assert failed", NULL, LOCATE_parser, 2598);
10863 }
10864 /* parser/parser.nit:2599 */
10865 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10866 if (UNTAG_Bool(REGB0)) {
10867 } else {
10868 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10869 if (UNTAG_Bool(REGB1)) {
10870 REGB1 = TAG_Bool(0);
10871 REGB0 = REGB1;
10872 } else {
10873 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
10874 REGB0 = REGB1;
10875 }
10876 }
10877 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10878 if (UNTAG_Bool(REGB0)) {
10879 /* parser/parser.nit:2600 */
10880 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
10881 }
10882 /* parser/parser.nit:2602 */
10883 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]);
10884 /* parser/parser.nit:2608 */
10885 fra.me.REG[2] = fra.me.REG[7];
10886 /* parser/parser.nit:2609 */
10887 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10888 if (UNTAG_Bool(REGB0)) {
10889 } else {
10890 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2609);
10891 }
10892 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10893 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10894 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10895 stack_frame_head = fra.me.prev;
10896 return;
10897 }
10898 static const char LOCATE_parser___ReduceAction34___action[] = "parser::ReduceAction34::(parser::ReduceAction::action)";
10899 void parser___ReduceAction34___action(val_t p0, val_t p1){
10900 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
10901 val_t REGB0;
10902 val_t REGB1;
10903 val_t tmp;
10904 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10905 fra.me.file = LOCATE_parser;
10906 fra.me.line = 2614;
10907 fra.me.meth = LOCATE_parser___ReduceAction34___action;
10908 fra.me.has_broke = 0;
10909 fra.me.REG_size = 8;
10910 fra.me.nitni_local_ref_head = NULL;
10911 fra.me.REG[0] = NIT_NULL;
10912 fra.me.REG[1] = NIT_NULL;
10913 fra.me.REG[2] = NIT_NULL;
10914 fra.me.REG[3] = NIT_NULL;
10915 fra.me.REG[4] = NIT_NULL;
10916 fra.me.REG[5] = NIT_NULL;
10917 fra.me.REG[6] = NIT_NULL;
10918 fra.me.REG[7] = NIT_NULL;
10919 fra.me.REG[0] = p0;
10920 fra.me.REG[1] = p1;
10921 /* parser/parser.nit:2616 */
10922 fra.me.REG[2] = NIT_NULL;
10923 /* parser/parser.nit:2617 */
10924 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10925 /* parser/parser.nit:2618 */
10926 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10927 /* parser/parser.nit:2619 */
10928 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
10929 /* parser/parser.nit:2620 */
10930 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
10931 /* parser/parser.nit:2621 */
10932 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
10933 /* parser/parser.nit:2623 */
10934 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]*/;
10935 if (UNTAG_Bool(REGB0)) {
10936 } else {
10937 nit_abort("Assert failed", NULL, LOCATE_parser, 2623);
10938 }
10939 /* parser/parser.nit:2624 */
10940 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
10941 fra.me.REG[5] = fra.me.REG[4];
10942 /* parser/parser.nit:2626 */
10943 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*/;
10944 if (UNTAG_Bool(REGB0)) {
10945 } else {
10946 nit_abort("Assert failed", NULL, LOCATE_parser, 2626);
10947 }
10948 /* parser/parser.nit:2627 */
10949 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10950 if (UNTAG_Bool(REGB0)) {
10951 } else {
10952 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10953 if (UNTAG_Bool(REGB1)) {
10954 REGB1 = TAG_Bool(0);
10955 REGB0 = REGB1;
10956 } else {
10957 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
10958 REGB0 = REGB1;
10959 }
10960 }
10961 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10962 if (UNTAG_Bool(REGB0)) {
10963 /* parser/parser.nit:2628 */
10964 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
10965 }
10966 /* parser/parser.nit:2630 */
10967 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]);
10968 /* parser/parser.nit:2636 */
10969 fra.me.REG[2] = fra.me.REG[7];
10970 /* parser/parser.nit:2637 */
10971 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10972 if (UNTAG_Bool(REGB0)) {
10973 } else {
10974 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2637);
10975 }
10976 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10977 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10978 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10979 stack_frame_head = fra.me.prev;
10980 return;
10981 }
10982 static const char LOCATE_parser___ReduceAction35___action[] = "parser::ReduceAction35::(parser::ReduceAction::action)";
10983 void parser___ReduceAction35___action(val_t p0, val_t p1){
10984 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
10985 val_t REGB0;
10986 val_t REGB1;
10987 val_t tmp;
10988 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10989 fra.me.file = LOCATE_parser;
10990 fra.me.line = 2642;
10991 fra.me.meth = LOCATE_parser___ReduceAction35___action;
10992 fra.me.has_broke = 0;
10993 fra.me.REG_size = 9;
10994 fra.me.nitni_local_ref_head = NULL;
10995 fra.me.REG[0] = NIT_NULL;
10996 fra.me.REG[1] = NIT_NULL;
10997 fra.me.REG[2] = NIT_NULL;
10998 fra.me.REG[3] = NIT_NULL;
10999 fra.me.REG[4] = NIT_NULL;
11000 fra.me.REG[5] = NIT_NULL;
11001 fra.me.REG[6] = NIT_NULL;
11002 fra.me.REG[7] = NIT_NULL;
11003 fra.me.REG[8] = NIT_NULL;
11004 fra.me.REG[0] = p0;
11005 fra.me.REG[1] = p1;
11006 /* parser/parser.nit:2644 */
11007 fra.me.REG[2] = NIT_NULL;
11008 /* parser/parser.nit:2645 */
11009 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11010 /* parser/parser.nit:2646 */
11011 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11012 /* parser/parser.nit:2647 */
11013 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11014 /* parser/parser.nit:2648 */
11015 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
11016 /* parser/parser.nit:2649 */
11017 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
11018 /* parser/parser.nit:2650 */
11019 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
11020 /* parser/parser.nit:2652 */
11021 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*/;
11022 if (UNTAG_Bool(REGB0)) {
11023 } else {
11024 nit_abort("Assert failed", NULL, LOCATE_parser, 2652);
11025 }
11026 /* parser/parser.nit:2654 */
11027 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]*/;
11028 if (UNTAG_Bool(REGB0)) {
11029 } else {
11030 nit_abort("Assert failed", NULL, LOCATE_parser, 2654);
11031 }
11032 /* parser/parser.nit:2655 */
11033 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
11034 fra.me.REG[6] = fra.me.REG[4];
11035 /* parser/parser.nit:2657 */
11036 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*/;
11037 if (UNTAG_Bool(REGB0)) {
11038 } else {
11039 nit_abort("Assert failed", NULL, LOCATE_parser, 2657);
11040 }
11041 /* parser/parser.nit:2658 */
11042 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11043 if (UNTAG_Bool(REGB0)) {
11044 } else {
11045 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11046 if (UNTAG_Bool(REGB1)) {
11047 REGB1 = TAG_Bool(0);
11048 REGB0 = REGB1;
11049 } else {
11050 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11051 REGB0 = REGB1;
11052 }
11053 }
11054 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11055 if (UNTAG_Bool(REGB0)) {
11056 /* parser/parser.nit:2659 */
11057 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
11058 }
11059 /* parser/parser.nit:2661 */
11060 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]);
11061 /* parser/parser.nit:2667 */
11062 fra.me.REG[2] = fra.me.REG[8];
11063 /* parser/parser.nit:2668 */
11064 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11065 if (UNTAG_Bool(REGB0)) {
11066 } else {
11067 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2668);
11068 }
11069 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11070 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11071 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11072 stack_frame_head = fra.me.prev;
11073 return;
11074 }
11075 static const char LOCATE_parser___ReduceAction36___action[] = "parser::ReduceAction36::(parser::ReduceAction::action)";
11076 void parser___ReduceAction36___action(val_t p0, val_t p1){
11077 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
11078 val_t REGB0;
11079 val_t REGB1;
11080 val_t tmp;
11081 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11082 fra.me.file = LOCATE_parser;
11083 fra.me.line = 2673;
11084 fra.me.meth = LOCATE_parser___ReduceAction36___action;
11085 fra.me.has_broke = 0;
11086 fra.me.REG_size = 8;
11087 fra.me.nitni_local_ref_head = NULL;
11088 fra.me.REG[0] = NIT_NULL;
11089 fra.me.REG[1] = NIT_NULL;
11090 fra.me.REG[2] = NIT_NULL;
11091 fra.me.REG[3] = NIT_NULL;
11092 fra.me.REG[4] = NIT_NULL;
11093 fra.me.REG[5] = NIT_NULL;
11094 fra.me.REG[6] = NIT_NULL;
11095 fra.me.REG[7] = NIT_NULL;
11096 fra.me.REG[0] = p0;
11097 fra.me.REG[1] = p1;
11098 /* parser/parser.nit:2675 */
11099 fra.me.REG[2] = NIT_NULL;
11100 /* parser/parser.nit:2676 */
11101 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11102 /* parser/parser.nit:2677 */
11103 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11104 /* parser/parser.nit:2678 */
11105 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
11106 /* parser/parser.nit:2679 */
11107 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
11108 /* parser/parser.nit:2680 */
11109 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
11110 /* parser/parser.nit:2682 */
11111 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]*/;
11112 if (UNTAG_Bool(REGB0)) {
11113 } else {
11114 nit_abort("Assert failed", NULL, LOCATE_parser, 2682);
11115 }
11116 /* parser/parser.nit:2683 */
11117 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
11118 fra.me.REG[6] = fra.me.REG[4];
11119 /* parser/parser.nit:2685 */
11120 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*/;
11121 if (UNTAG_Bool(REGB0)) {
11122 } else {
11123 nit_abort("Assert failed", NULL, LOCATE_parser, 2685);
11124 }
11125 /* parser/parser.nit:2686 */
11126 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11127 if (UNTAG_Bool(REGB0)) {
11128 } else {
11129 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11130 if (UNTAG_Bool(REGB1)) {
11131 REGB1 = TAG_Bool(0);
11132 REGB0 = REGB1;
11133 } else {
11134 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11135 REGB0 = REGB1;
11136 }
11137 }
11138 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11139 if (UNTAG_Bool(REGB0)) {
11140 /* parser/parser.nit:2687 */
11141 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
11142 }
11143 /* parser/parser.nit:2689 */
11144 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]);
11145 /* parser/parser.nit:2695 */
11146 fra.me.REG[2] = fra.me.REG[7];
11147 /* parser/parser.nit:2696 */
11148 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11149 if (UNTAG_Bool(REGB0)) {
11150 } else {
11151 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2696);
11152 }
11153 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11154 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11155 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11156 stack_frame_head = fra.me.prev;
11157 return;
11158 }
11159 static const char LOCATE_parser___ReduceAction37___action[] = "parser::ReduceAction37::(parser::ReduceAction::action)";
11160 void parser___ReduceAction37___action(val_t p0, val_t p1){
11161 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
11162 val_t REGB0;
11163 val_t REGB1;
11164 val_t tmp;
11165 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11166 fra.me.file = LOCATE_parser;
11167 fra.me.line = 2701;
11168 fra.me.meth = LOCATE_parser___ReduceAction37___action;
11169 fra.me.has_broke = 0;
11170 fra.me.REG_size = 9;
11171 fra.me.nitni_local_ref_head = NULL;
11172 fra.me.REG[0] = NIT_NULL;
11173 fra.me.REG[1] = NIT_NULL;
11174 fra.me.REG[2] = NIT_NULL;
11175 fra.me.REG[3] = NIT_NULL;
11176 fra.me.REG[4] = NIT_NULL;
11177 fra.me.REG[5] = NIT_NULL;
11178 fra.me.REG[6] = NIT_NULL;
11179 fra.me.REG[7] = NIT_NULL;
11180 fra.me.REG[8] = NIT_NULL;
11181 fra.me.REG[0] = p0;
11182 fra.me.REG[1] = p1;
11183 /* parser/parser.nit:2703 */
11184 fra.me.REG[2] = NIT_NULL;
11185 /* parser/parser.nit:2704 */
11186 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11187 /* parser/parser.nit:2705 */
11188 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11189 /* parser/parser.nit:2706 */
11190 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11191 /* parser/parser.nit:2707 */
11192 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
11193 /* parser/parser.nit:2708 */
11194 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
11195 /* parser/parser.nit:2709 */
11196 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
11197 /* parser/parser.nit:2711 */
11198 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*/;
11199 if (UNTAG_Bool(REGB0)) {
11200 } else {
11201 nit_abort("Assert failed", NULL, LOCATE_parser, 2711);
11202 }
11203 /* parser/parser.nit:2713 */
11204 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]*/;
11205 if (UNTAG_Bool(REGB0)) {
11206 } else {
11207 nit_abort("Assert failed", NULL, LOCATE_parser, 2713);
11208 }
11209 /* parser/parser.nit:2714 */
11210 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
11211 fra.me.REG[7] = fra.me.REG[4];
11212 /* parser/parser.nit:2716 */
11213 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*/;
11214 if (UNTAG_Bool(REGB0)) {
11215 } else {
11216 nit_abort("Assert failed", NULL, LOCATE_parser, 2716);
11217 }
11218 /* parser/parser.nit:2717 */
11219 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11220 if (UNTAG_Bool(REGB0)) {
11221 } else {
11222 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11223 if (UNTAG_Bool(REGB1)) {
11224 REGB1 = TAG_Bool(0);
11225 REGB0 = REGB1;
11226 } else {
11227 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11228 REGB0 = REGB1;
11229 }
11230 }
11231 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11232 if (UNTAG_Bool(REGB0)) {
11233 /* parser/parser.nit:2718 */
11234 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
11235 }
11236 /* parser/parser.nit:2720 */
11237 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]);
11238 /* parser/parser.nit:2726 */
11239 fra.me.REG[2] = fra.me.REG[8];
11240 /* parser/parser.nit:2727 */
11241 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11242 if (UNTAG_Bool(REGB0)) {
11243 } else {
11244 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2727);
11245 }
11246 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11247 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11248 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11249 stack_frame_head = fra.me.prev;
11250 return;
11251 }
11252 static const char LOCATE_parser___ReduceAction38___action[] = "parser::ReduceAction38::(parser::ReduceAction::action)";
11253 void parser___ReduceAction38___action(val_t p0, val_t p1){
11254 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
11255 val_t REGB0;
11256 val_t REGB1;
11257 val_t tmp;
11258 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11259 fra.me.file = LOCATE_parser;
11260 fra.me.line = 2732;
11261 fra.me.meth = LOCATE_parser___ReduceAction38___action;
11262 fra.me.has_broke = 0;
11263 fra.me.REG_size = 9;
11264 fra.me.nitni_local_ref_head = NULL;
11265 fra.me.REG[0] = NIT_NULL;
11266 fra.me.REG[1] = NIT_NULL;
11267 fra.me.REG[2] = NIT_NULL;
11268 fra.me.REG[3] = NIT_NULL;
11269 fra.me.REG[4] = NIT_NULL;
11270 fra.me.REG[5] = NIT_NULL;
11271 fra.me.REG[6] = NIT_NULL;
11272 fra.me.REG[7] = NIT_NULL;
11273 fra.me.REG[8] = NIT_NULL;
11274 fra.me.REG[0] = p0;
11275 fra.me.REG[1] = p1;
11276 /* parser/parser.nit:2734 */
11277 fra.me.REG[2] = NIT_NULL;
11278 /* parser/parser.nit:2735 */
11279 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11280 /* parser/parser.nit:2736 */
11281 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11282 /* parser/parser.nit:2737 */
11283 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11284 /* parser/parser.nit:2738 */
11285 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
11286 /* parser/parser.nit:2739 */
11287 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
11288 /* parser/parser.nit:2740 */
11289 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
11290 /* parser/parser.nit:2742 */
11291 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]*/;
11292 if (UNTAG_Bool(REGB0)) {
11293 } else {
11294 nit_abort("Assert failed", NULL, LOCATE_parser, 2742);
11295 }
11296 /* parser/parser.nit:2743 */
11297 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
11298 fra.me.REG[6] = fra.me.REG[5];
11299 /* parser/parser.nit:2745 */
11300 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]*/;
11301 if (UNTAG_Bool(REGB0)) {
11302 } else {
11303 nit_abort("Assert failed", NULL, LOCATE_parser, 2745);
11304 }
11305 /* parser/parser.nit:2746 */
11306 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
11307 fra.me.REG[7] = fra.me.REG[4];
11308 /* parser/parser.nit:2748 */
11309 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*/;
11310 if (UNTAG_Bool(REGB0)) {
11311 } else {
11312 nit_abort("Assert failed", NULL, LOCATE_parser, 2748);
11313 }
11314 /* parser/parser.nit:2749 */
11315 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11316 if (UNTAG_Bool(REGB0)) {
11317 } else {
11318 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11319 if (UNTAG_Bool(REGB1)) {
11320 REGB1 = TAG_Bool(0);
11321 REGB0 = REGB1;
11322 } else {
11323 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11324 REGB0 = REGB1;
11325 }
11326 }
11327 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11328 if (UNTAG_Bool(REGB0)) {
11329 /* parser/parser.nit:2750 */
11330 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
11331 }
11332 /* parser/parser.nit:2752 */
11333 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]);
11334 /* parser/parser.nit:2758 */
11335 fra.me.REG[2] = fra.me.REG[8];
11336 /* parser/parser.nit:2759 */
11337 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11338 if (UNTAG_Bool(REGB0)) {
11339 } else {
11340 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2759);
11341 }
11342 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11343 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11344 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11345 stack_frame_head = fra.me.prev;
11346 return;
11347 }
11348 static const char LOCATE_parser___ReduceAction39___action[] = "parser::ReduceAction39::(parser::ReduceAction::action)";
11349 void parser___ReduceAction39___action(val_t p0, val_t p1){
11350 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
11351 val_t REGB0;
11352 val_t REGB1;
11353 val_t tmp;
11354 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11355 fra.me.file = LOCATE_parser;
11356 fra.me.line = 2764;
11357 fra.me.meth = LOCATE_parser___ReduceAction39___action;
11358 fra.me.has_broke = 0;
11359 fra.me.REG_size = 10;
11360 fra.me.nitni_local_ref_head = NULL;
11361 fra.me.REG[0] = NIT_NULL;
11362 fra.me.REG[1] = NIT_NULL;
11363 fra.me.REG[2] = NIT_NULL;
11364 fra.me.REG[3] = NIT_NULL;
11365 fra.me.REG[4] = NIT_NULL;
11366 fra.me.REG[5] = NIT_NULL;
11367 fra.me.REG[6] = NIT_NULL;
11368 fra.me.REG[7] = NIT_NULL;
11369 fra.me.REG[8] = NIT_NULL;
11370 fra.me.REG[9] = NIT_NULL;
11371 fra.me.REG[0] = p0;
11372 fra.me.REG[1] = p1;
11373 /* parser/parser.nit:2766 */
11374 fra.me.REG[2] = NIT_NULL;
11375 /* parser/parser.nit:2767 */
11376 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11377 /* parser/parser.nit:2768 */
11378 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11379 /* parser/parser.nit:2769 */
11380 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11381 /* parser/parser.nit:2770 */
11382 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11383 /* parser/parser.nit:2771 */
11384 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
11385 /* parser/parser.nit:2772 */
11386 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
11387 /* parser/parser.nit:2773 */
11388 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
11389 /* parser/parser.nit:2775 */
11390 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*/;
11391 if (UNTAG_Bool(REGB0)) {
11392 } else {
11393 nit_abort("Assert failed", NULL, LOCATE_parser, 2775);
11394 }
11395 /* parser/parser.nit:2777 */
11396 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]*/;
11397 if (UNTAG_Bool(REGB0)) {
11398 } else {
11399 nit_abort("Assert failed", NULL, LOCATE_parser, 2777);
11400 }
11401 /* parser/parser.nit:2778 */
11402 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
11403 fra.me.REG[7] = fra.me.REG[5];
11404 /* parser/parser.nit:2780 */
11405 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]*/;
11406 if (UNTAG_Bool(REGB0)) {
11407 } else {
11408 nit_abort("Assert failed", NULL, LOCATE_parser, 2780);
11409 }
11410 /* parser/parser.nit:2781 */
11411 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
11412 fra.me.REG[8] = fra.me.REG[4];
11413 /* parser/parser.nit:2783 */
11414 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*/;
11415 if (UNTAG_Bool(REGB0)) {
11416 } else {
11417 nit_abort("Assert failed", NULL, LOCATE_parser, 2783);
11418 }
11419 /* parser/parser.nit:2784 */
11420 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11421 if (UNTAG_Bool(REGB0)) {
11422 } else {
11423 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11424 if (UNTAG_Bool(REGB1)) {
11425 REGB1 = TAG_Bool(0);
11426 REGB0 = REGB1;
11427 } else {
11428 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11429 REGB0 = REGB1;
11430 }
11431 }
11432 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11433 if (UNTAG_Bool(REGB0)) {
11434 /* parser/parser.nit:2785 */
11435 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
11436 }
11437 /* parser/parser.nit:2787 */
11438 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]);
11439 /* parser/parser.nit:2793 */
11440 fra.me.REG[2] = fra.me.REG[9];
11441 /* parser/parser.nit:2794 */
11442 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11443 if (UNTAG_Bool(REGB0)) {
11444 } else {
11445 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2794);
11446 }
11447 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11448 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11449 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11450 stack_frame_head = fra.me.prev;
11451 return;
11452 }
11453 static const char LOCATE_parser___ReduceAction40___action[] = "parser::ReduceAction40::(parser::ReduceAction::action)";
11454 void parser___ReduceAction40___action(val_t p0, val_t p1){
11455 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
11456 val_t REGB0;
11457 val_t REGB1;
11458 val_t tmp;
11459 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11460 fra.me.file = LOCATE_parser;
11461 fra.me.line = 2799;
11462 fra.me.meth = LOCATE_parser___ReduceAction40___action;
11463 fra.me.has_broke = 0;
11464 fra.me.REG_size = 8;
11465 fra.me.nitni_local_ref_head = NULL;
11466 fra.me.REG[0] = NIT_NULL;
11467 fra.me.REG[1] = NIT_NULL;
11468 fra.me.REG[2] = NIT_NULL;
11469 fra.me.REG[3] = NIT_NULL;
11470 fra.me.REG[4] = NIT_NULL;
11471 fra.me.REG[5] = NIT_NULL;
11472 fra.me.REG[6] = NIT_NULL;
11473 fra.me.REG[7] = NIT_NULL;
11474 fra.me.REG[0] = p0;
11475 fra.me.REG[1] = p1;
11476 /* parser/parser.nit:2801 */
11477 fra.me.REG[2] = NIT_NULL;
11478 /* parser/parser.nit:2802 */
11479 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11480 /* parser/parser.nit:2803 */
11481 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11482 /* parser/parser.nit:2804 */
11483 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
11484 /* parser/parser.nit:2805 */
11485 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
11486 /* parser/parser.nit:2806 */
11487 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
11488 /* parser/parser.nit:2808 */
11489 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]*/;
11490 if (UNTAG_Bool(REGB0)) {
11491 } else {
11492 nit_abort("Assert failed", NULL, LOCATE_parser, 2808);
11493 }
11494 /* parser/parser.nit:2810 */
11495 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*/;
11496 if (UNTAG_Bool(REGB0)) {
11497 } else {
11498 nit_abort("Assert failed", NULL, LOCATE_parser, 2810);
11499 }
11500 /* parser/parser.nit:2811 */
11501 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
11502 fra.me.REG[7] = fra.me.REG[4];
11503 /* parser/parser.nit:2812 */
11504 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11505 if (UNTAG_Bool(REGB0)) {
11506 } else {
11507 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11508 if (UNTAG_Bool(REGB1)) {
11509 REGB1 = TAG_Bool(0);
11510 REGB0 = REGB1;
11511 } else {
11512 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11513 REGB0 = REGB1;
11514 }
11515 }
11516 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11517 if (UNTAG_Bool(REGB0)) {
11518 /* parser/parser.nit:2813 */
11519 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
11520 }
11521 /* parser/parser.nit:2815 */
11522 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]);
11523 /* parser/parser.nit:2821 */
11524 fra.me.REG[2] = fra.me.REG[7];
11525 /* parser/parser.nit:2822 */
11526 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11527 if (UNTAG_Bool(REGB0)) {
11528 } else {
11529 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2822);
11530 }
11531 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11532 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11533 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11534 stack_frame_head = fra.me.prev;
11535 return;
11536 }
11537 static const char LOCATE_parser___ReduceAction41___action[] = "parser::ReduceAction41::(parser::ReduceAction::action)";
11538 void parser___ReduceAction41___action(val_t p0, val_t p1){
11539 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
11540 val_t REGB0;
11541 val_t REGB1;
11542 val_t tmp;
11543 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11544 fra.me.file = LOCATE_parser;
11545 fra.me.line = 2827;
11546 fra.me.meth = LOCATE_parser___ReduceAction41___action;
11547 fra.me.has_broke = 0;
11548 fra.me.REG_size = 9;
11549 fra.me.nitni_local_ref_head = NULL;
11550 fra.me.REG[0] = NIT_NULL;
11551 fra.me.REG[1] = NIT_NULL;
11552 fra.me.REG[2] = NIT_NULL;
11553 fra.me.REG[3] = NIT_NULL;
11554 fra.me.REG[4] = NIT_NULL;
11555 fra.me.REG[5] = NIT_NULL;
11556 fra.me.REG[6] = NIT_NULL;
11557 fra.me.REG[7] = NIT_NULL;
11558 fra.me.REG[8] = NIT_NULL;
11559 fra.me.REG[0] = p0;
11560 fra.me.REG[1] = p1;
11561 /* parser/parser.nit:2829 */
11562 fra.me.REG[2] = NIT_NULL;
11563 /* parser/parser.nit:2830 */
11564 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11565 /* parser/parser.nit:2831 */
11566 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11567 /* parser/parser.nit:2832 */
11568 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11569 /* parser/parser.nit:2833 */
11570 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
11571 /* parser/parser.nit:2834 */
11572 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
11573 /* parser/parser.nit:2835 */
11574 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
11575 /* parser/parser.nit:2837 */
11576 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*/;
11577 if (UNTAG_Bool(REGB0)) {
11578 } else {
11579 nit_abort("Assert failed", NULL, LOCATE_parser, 2837);
11580 }
11581 /* parser/parser.nit:2839 */
11582 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]*/;
11583 if (UNTAG_Bool(REGB0)) {
11584 } else {
11585 nit_abort("Assert failed", NULL, LOCATE_parser, 2839);
11586 }
11587 /* parser/parser.nit:2841 */
11588 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*/;
11589 if (UNTAG_Bool(REGB0)) {
11590 } else {
11591 nit_abort("Assert failed", NULL, LOCATE_parser, 2841);
11592 }
11593 /* parser/parser.nit:2842 */
11594 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
11595 fra.me.REG[8] = fra.me.REG[4];
11596 /* parser/parser.nit:2843 */
11597 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11598 if (UNTAG_Bool(REGB0)) {
11599 } else {
11600 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11601 if (UNTAG_Bool(REGB1)) {
11602 REGB1 = TAG_Bool(0);
11603 REGB0 = REGB1;
11604 } else {
11605 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11606 REGB0 = REGB1;
11607 }
11608 }
11609 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11610 if (UNTAG_Bool(REGB0)) {
11611 /* parser/parser.nit:2844 */
11612 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
11613 }
11614 /* parser/parser.nit:2846 */
11615 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]);
11616 /* parser/parser.nit:2852 */
11617 fra.me.REG[2] = fra.me.REG[8];
11618 /* parser/parser.nit:2853 */
11619 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11620 if (UNTAG_Bool(REGB0)) {
11621 } else {
11622 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2853);
11623 }
11624 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11625 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11626 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11627 stack_frame_head = fra.me.prev;
11628 return;
11629 }
11630 static const char LOCATE_parser___ReduceAction42___action[] = "parser::ReduceAction42::(parser::ReduceAction::action)";
11631 void parser___ReduceAction42___action(val_t p0, val_t p1){
11632 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
11633 val_t REGB0;
11634 val_t REGB1;
11635 val_t tmp;
11636 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11637 fra.me.file = LOCATE_parser;
11638 fra.me.line = 2858;
11639 fra.me.meth = LOCATE_parser___ReduceAction42___action;
11640 fra.me.has_broke = 0;
11641 fra.me.REG_size = 9;
11642 fra.me.nitni_local_ref_head = NULL;
11643 fra.me.REG[0] = NIT_NULL;
11644 fra.me.REG[1] = NIT_NULL;
11645 fra.me.REG[2] = NIT_NULL;
11646 fra.me.REG[3] = NIT_NULL;
11647 fra.me.REG[4] = NIT_NULL;
11648 fra.me.REG[5] = NIT_NULL;
11649 fra.me.REG[6] = NIT_NULL;
11650 fra.me.REG[7] = NIT_NULL;
11651 fra.me.REG[8] = NIT_NULL;
11652 fra.me.REG[0] = p0;
11653 fra.me.REG[1] = p1;
11654 /* parser/parser.nit:2860 */
11655 fra.me.REG[2] = NIT_NULL;
11656 /* parser/parser.nit:2861 */
11657 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11658 /* parser/parser.nit:2862 */
11659 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11660 /* parser/parser.nit:2863 */
11661 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11662 /* parser/parser.nit:2864 */
11663 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
11664 /* parser/parser.nit:2865 */
11665 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
11666 /* parser/parser.nit:2866 */
11667 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
11668 /* parser/parser.nit:2868 */
11669 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]*/;
11670 if (UNTAG_Bool(REGB0)) {
11671 } else {
11672 nit_abort("Assert failed", NULL, LOCATE_parser, 2868);
11673 }
11674 /* parser/parser.nit:2869 */
11675 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
11676 fra.me.REG[6] = fra.me.REG[5];
11677 /* parser/parser.nit:2871 */
11678 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]*/;
11679 if (UNTAG_Bool(REGB0)) {
11680 } else {
11681 nit_abort("Assert failed", NULL, LOCATE_parser, 2871);
11682 }
11683 /* parser/parser.nit:2873 */
11684 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*/;
11685 if (UNTAG_Bool(REGB0)) {
11686 } else {
11687 nit_abort("Assert failed", NULL, LOCATE_parser, 2873);
11688 }
11689 /* parser/parser.nit:2874 */
11690 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
11691 fra.me.REG[8] = fra.me.REG[4];
11692 /* parser/parser.nit:2875 */
11693 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11694 if (UNTAG_Bool(REGB0)) {
11695 } else {
11696 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11697 if (UNTAG_Bool(REGB1)) {
11698 REGB1 = TAG_Bool(0);
11699 REGB0 = REGB1;
11700 } else {
11701 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11702 REGB0 = REGB1;
11703 }
11704 }
11705 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11706 if (UNTAG_Bool(REGB0)) {
11707 /* parser/parser.nit:2876 */
11708 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
11709 }
11710 /* parser/parser.nit:2878 */
11711 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]);
11712 /* parser/parser.nit:2884 */
11713 fra.me.REG[2] = fra.me.REG[8];
11714 /* parser/parser.nit:2885 */
11715 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11716 if (UNTAG_Bool(REGB0)) {
11717 } else {
11718 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2885);
11719 }
11720 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11721 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11722 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11723 stack_frame_head = fra.me.prev;
11724 return;
11725 }
11726 static const char LOCATE_parser___ReduceAction43___action[] = "parser::ReduceAction43::(parser::ReduceAction::action)";
11727 void parser___ReduceAction43___action(val_t p0, val_t p1){
11728 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
11729 val_t REGB0;
11730 val_t REGB1;
11731 val_t tmp;
11732 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11733 fra.me.file = LOCATE_parser;
11734 fra.me.line = 2890;
11735 fra.me.meth = LOCATE_parser___ReduceAction43___action;
11736 fra.me.has_broke = 0;
11737 fra.me.REG_size = 10;
11738 fra.me.nitni_local_ref_head = NULL;
11739 fra.me.REG[0] = NIT_NULL;
11740 fra.me.REG[1] = NIT_NULL;
11741 fra.me.REG[2] = NIT_NULL;
11742 fra.me.REG[3] = NIT_NULL;
11743 fra.me.REG[4] = NIT_NULL;
11744 fra.me.REG[5] = NIT_NULL;
11745 fra.me.REG[6] = NIT_NULL;
11746 fra.me.REG[7] = NIT_NULL;
11747 fra.me.REG[8] = NIT_NULL;
11748 fra.me.REG[9] = NIT_NULL;
11749 fra.me.REG[0] = p0;
11750 fra.me.REG[1] = p1;
11751 /* parser/parser.nit:2892 */
11752 fra.me.REG[2] = NIT_NULL;
11753 /* parser/parser.nit:2893 */
11754 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11755 /* parser/parser.nit:2894 */
11756 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11757 /* parser/parser.nit:2895 */
11758 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11759 /* parser/parser.nit:2896 */
11760 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11761 /* parser/parser.nit:2897 */
11762 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
11763 /* parser/parser.nit:2898 */
11764 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
11765 /* parser/parser.nit:2899 */
11766 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
11767 /* parser/parser.nit:2901 */
11768 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*/;
11769 if (UNTAG_Bool(REGB0)) {
11770 } else {
11771 nit_abort("Assert failed", NULL, LOCATE_parser, 2901);
11772 }
11773 /* parser/parser.nit:2903 */
11774 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]*/;
11775 if (UNTAG_Bool(REGB0)) {
11776 } else {
11777 nit_abort("Assert failed", NULL, LOCATE_parser, 2903);
11778 }
11779 /* parser/parser.nit:2904 */
11780 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
11781 fra.me.REG[7] = fra.me.REG[5];
11782 /* parser/parser.nit:2906 */
11783 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]*/;
11784 if (UNTAG_Bool(REGB0)) {
11785 } else {
11786 nit_abort("Assert failed", NULL, LOCATE_parser, 2906);
11787 }
11788 /* parser/parser.nit:2908 */
11789 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*/;
11790 if (UNTAG_Bool(REGB0)) {
11791 } else {
11792 nit_abort("Assert failed", NULL, LOCATE_parser, 2908);
11793 }
11794 /* parser/parser.nit:2909 */
11795 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
11796 fra.me.REG[9] = fra.me.REG[4];
11797 /* parser/parser.nit:2910 */
11798 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11799 if (UNTAG_Bool(REGB0)) {
11800 } else {
11801 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11802 if (UNTAG_Bool(REGB1)) {
11803 REGB1 = TAG_Bool(0);
11804 REGB0 = REGB1;
11805 } else {
11806 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11807 REGB0 = REGB1;
11808 }
11809 }
11810 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11811 if (UNTAG_Bool(REGB0)) {
11812 /* parser/parser.nit:2911 */
11813 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
11814 }
11815 /* parser/parser.nit:2913 */
11816 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]);
11817 /* parser/parser.nit:2919 */
11818 fra.me.REG[2] = fra.me.REG[9];
11819 /* parser/parser.nit:2920 */
11820 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11821 if (UNTAG_Bool(REGB0)) {
11822 } else {
11823 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2920);
11824 }
11825 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11826 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11827 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11828 stack_frame_head = fra.me.prev;
11829 return;
11830 }
11831 static const char LOCATE_parser___ReduceAction44___action[] = "parser::ReduceAction44::(parser::ReduceAction::action)";
11832 void parser___ReduceAction44___action(val_t p0, val_t p1){
11833 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
11834 val_t REGB0;
11835 val_t REGB1;
11836 val_t tmp;
11837 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11838 fra.me.file = LOCATE_parser;
11839 fra.me.line = 2925;
11840 fra.me.meth = LOCATE_parser___ReduceAction44___action;
11841 fra.me.has_broke = 0;
11842 fra.me.REG_size = 9;
11843 fra.me.nitni_local_ref_head = NULL;
11844 fra.me.REG[0] = NIT_NULL;
11845 fra.me.REG[1] = NIT_NULL;
11846 fra.me.REG[2] = NIT_NULL;
11847 fra.me.REG[3] = NIT_NULL;
11848 fra.me.REG[4] = NIT_NULL;
11849 fra.me.REG[5] = NIT_NULL;
11850 fra.me.REG[6] = NIT_NULL;
11851 fra.me.REG[7] = NIT_NULL;
11852 fra.me.REG[8] = NIT_NULL;
11853 fra.me.REG[0] = p0;
11854 fra.me.REG[1] = p1;
11855 /* parser/parser.nit:2927 */
11856 fra.me.REG[2] = NIT_NULL;
11857 /* parser/parser.nit:2928 */
11858 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11859 /* parser/parser.nit:2929 */
11860 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11861 /* parser/parser.nit:2930 */
11862 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11863 /* parser/parser.nit:2931 */
11864 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
11865 /* parser/parser.nit:2932 */
11866 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
11867 /* parser/parser.nit:2933 */
11868 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
11869 /* parser/parser.nit:2935 */
11870 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]*/;
11871 if (UNTAG_Bool(REGB0)) {
11872 } else {
11873 nit_abort("Assert failed", NULL, LOCATE_parser, 2935);
11874 }
11875 /* parser/parser.nit:2936 */
11876 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
11877 fra.me.REG[7] = fra.me.REG[5];
11878 /* parser/parser.nit:2938 */
11879 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]*/;
11880 if (UNTAG_Bool(REGB0)) {
11881 } else {
11882 nit_abort("Assert failed", NULL, LOCATE_parser, 2938);
11883 }
11884 /* parser/parser.nit:2940 */
11885 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*/;
11886 if (UNTAG_Bool(REGB0)) {
11887 } else {
11888 nit_abort("Assert failed", NULL, LOCATE_parser, 2940);
11889 }
11890 /* parser/parser.nit:2941 */
11891 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
11892 fra.me.REG[8] = fra.me.REG[4];
11893 /* parser/parser.nit:2942 */
11894 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11895 if (UNTAG_Bool(REGB0)) {
11896 } else {
11897 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11898 if (UNTAG_Bool(REGB1)) {
11899 REGB1 = TAG_Bool(0);
11900 REGB0 = REGB1;
11901 } else {
11902 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11903 REGB0 = REGB1;
11904 }
11905 }
11906 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11907 if (UNTAG_Bool(REGB0)) {
11908 /* parser/parser.nit:2943 */
11909 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
11910 }
11911 /* parser/parser.nit:2945 */
11912 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]);
11913 /* parser/parser.nit:2951 */
11914 fra.me.REG[2] = fra.me.REG[8];
11915 /* parser/parser.nit:2952 */
11916 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11917 if (UNTAG_Bool(REGB0)) {
11918 } else {
11919 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2952);
11920 }
11921 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11922 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11923 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11924 stack_frame_head = fra.me.prev;
11925 return;
11926 }
11927 static const char LOCATE_parser___ReduceAction45___action[] = "parser::ReduceAction45::(parser::ReduceAction::action)";
11928 void parser___ReduceAction45___action(val_t p0, val_t p1){
11929 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
11930 val_t REGB0;
11931 val_t REGB1;
11932 val_t tmp;
11933 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11934 fra.me.file = LOCATE_parser;
11935 fra.me.line = 2957;
11936 fra.me.meth = LOCATE_parser___ReduceAction45___action;
11937 fra.me.has_broke = 0;
11938 fra.me.REG_size = 10;
11939 fra.me.nitni_local_ref_head = NULL;
11940 fra.me.REG[0] = NIT_NULL;
11941 fra.me.REG[1] = NIT_NULL;
11942 fra.me.REG[2] = NIT_NULL;
11943 fra.me.REG[3] = NIT_NULL;
11944 fra.me.REG[4] = NIT_NULL;
11945 fra.me.REG[5] = NIT_NULL;
11946 fra.me.REG[6] = NIT_NULL;
11947 fra.me.REG[7] = NIT_NULL;
11948 fra.me.REG[8] = NIT_NULL;
11949 fra.me.REG[9] = NIT_NULL;
11950 fra.me.REG[0] = p0;
11951 fra.me.REG[1] = p1;
11952 /* parser/parser.nit:2959 */
11953 fra.me.REG[2] = NIT_NULL;
11954 /* parser/parser.nit:2960 */
11955 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11956 /* parser/parser.nit:2961 */
11957 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11958 /* parser/parser.nit:2962 */
11959 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11960 /* parser/parser.nit:2963 */
11961 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11962 /* parser/parser.nit:2964 */
11963 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
11964 /* parser/parser.nit:2965 */
11965 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
11966 /* parser/parser.nit:2966 */
11967 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
11968 /* parser/parser.nit:2968 */
11969 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*/;
11970 if (UNTAG_Bool(REGB0)) {
11971 } else {
11972 nit_abort("Assert failed", NULL, LOCATE_parser, 2968);
11973 }
11974 /* parser/parser.nit:2970 */
11975 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]*/;
11976 if (UNTAG_Bool(REGB0)) {
11977 } else {
11978 nit_abort("Assert failed", NULL, LOCATE_parser, 2970);
11979 }
11980 /* parser/parser.nit:2971 */
11981 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
11982 fra.me.REG[8] = fra.me.REG[5];
11983 /* parser/parser.nit:2973 */
11984 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]*/;
11985 if (UNTAG_Bool(REGB0)) {
11986 } else {
11987 nit_abort("Assert failed", NULL, LOCATE_parser, 2973);
11988 }
11989 /* parser/parser.nit:2975 */
11990 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*/;
11991 if (UNTAG_Bool(REGB0)) {
11992 } else {
11993 nit_abort("Assert failed", NULL, LOCATE_parser, 2975);
11994 }
11995 /* parser/parser.nit:2976 */
11996 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
11997 fra.me.REG[9] = fra.me.REG[4];
11998 /* parser/parser.nit:2977 */
11999 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12000 if (UNTAG_Bool(REGB0)) {
12001 } else {
12002 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12003 if (UNTAG_Bool(REGB1)) {
12004 REGB1 = TAG_Bool(0);
12005 REGB0 = REGB1;
12006 } else {
12007 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
12008 REGB0 = REGB1;
12009 }
12010 }
12011 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12012 if (UNTAG_Bool(REGB0)) {
12013 /* parser/parser.nit:2978 */
12014 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
12015 }
12016 /* parser/parser.nit:2980 */
12017 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]);
12018 /* parser/parser.nit:2986 */
12019 fra.me.REG[2] = fra.me.REG[9];
12020 /* parser/parser.nit:2987 */
12021 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12022 if (UNTAG_Bool(REGB0)) {
12023 } else {
12024 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2987);
12025 }
12026 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12027 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12028 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12029 stack_frame_head = fra.me.prev;
12030 return;
12031 }
12032 static const char LOCATE_parser___ReduceAction46___action[] = "parser::ReduceAction46::(parser::ReduceAction::action)";
12033 void parser___ReduceAction46___action(val_t p0, val_t p1){
12034 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
12035 val_t REGB0;
12036 val_t REGB1;
12037 val_t tmp;
12038 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12039 fra.me.file = LOCATE_parser;
12040 fra.me.line = 2992;
12041 fra.me.meth = LOCATE_parser___ReduceAction46___action;
12042 fra.me.has_broke = 0;
12043 fra.me.REG_size = 10;
12044 fra.me.nitni_local_ref_head = NULL;
12045 fra.me.REG[0] = NIT_NULL;
12046 fra.me.REG[1] = NIT_NULL;
12047 fra.me.REG[2] = NIT_NULL;
12048 fra.me.REG[3] = NIT_NULL;
12049 fra.me.REG[4] = NIT_NULL;
12050 fra.me.REG[5] = NIT_NULL;
12051 fra.me.REG[6] = NIT_NULL;
12052 fra.me.REG[7] = NIT_NULL;
12053 fra.me.REG[8] = NIT_NULL;
12054 fra.me.REG[9] = NIT_NULL;
12055 fra.me.REG[0] = p0;
12056 fra.me.REG[1] = p1;
12057 /* parser/parser.nit:2994 */
12058 fra.me.REG[2] = NIT_NULL;
12059 /* parser/parser.nit:2995 */
12060 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12061 /* parser/parser.nit:2996 */
12062 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12063 /* parser/parser.nit:2997 */
12064 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12065 /* parser/parser.nit:2998 */
12066 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12067 /* parser/parser.nit:2999 */
12068 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
12069 /* parser/parser.nit:3000 */
12070 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
12071 /* parser/parser.nit:3001 */
12072 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
12073 /* parser/parser.nit:3003 */
12074 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]*/;
12075 if (UNTAG_Bool(REGB0)) {
12076 } else {
12077 nit_abort("Assert failed", NULL, LOCATE_parser, 3003);
12078 }
12079 /* parser/parser.nit:3004 */
12080 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
12081 fra.me.REG[7] = fra.me.REG[6];
12082 /* parser/parser.nit:3006 */
12083 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]*/;
12084 if (UNTAG_Bool(REGB0)) {
12085 } else {
12086 nit_abort("Assert failed", NULL, LOCATE_parser, 3006);
12087 }
12088 /* parser/parser.nit:3007 */
12089 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
12090 fra.me.REG[8] = fra.me.REG[5];
12091 /* parser/parser.nit:3009 */
12092 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]*/;
12093 if (UNTAG_Bool(REGB0)) {
12094 } else {
12095 nit_abort("Assert failed", NULL, LOCATE_parser, 3009);
12096 }
12097 /* parser/parser.nit:3011 */
12098 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*/;
12099 if (UNTAG_Bool(REGB0)) {
12100 } else {
12101 nit_abort("Assert failed", NULL, LOCATE_parser, 3011);
12102 }
12103 /* parser/parser.nit:3012 */
12104 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
12105 fra.me.REG[9] = fra.me.REG[4];
12106 /* parser/parser.nit:3013 */
12107 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12108 if (UNTAG_Bool(REGB0)) {
12109 } else {
12110 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12111 if (UNTAG_Bool(REGB1)) {
12112 REGB1 = TAG_Bool(0);
12113 REGB0 = REGB1;
12114 } else {
12115 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
12116 REGB0 = REGB1;
12117 }
12118 }
12119 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12120 if (UNTAG_Bool(REGB0)) {
12121 /* parser/parser.nit:3014 */
12122 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
12123 }
12124 /* parser/parser.nit:3016 */
12125 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]);
12126 /* parser/parser.nit:3022 */
12127 fra.me.REG[2] = fra.me.REG[9];
12128 /* parser/parser.nit:3023 */
12129 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12130 if (UNTAG_Bool(REGB0)) {
12131 } else {
12132 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3023);
12133 }
12134 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12135 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12136 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12137 stack_frame_head = fra.me.prev;
12138 return;
12139 }
12140 static const char LOCATE_parser___ReduceAction47___action[] = "parser::ReduceAction47::(parser::ReduceAction::action)";
12141 void parser___ReduceAction47___action(val_t p0, val_t p1){
12142 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
12143 val_t REGB0;
12144 val_t REGB1;
12145 val_t tmp;
12146 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12147 fra.me.file = LOCATE_parser;
12148 fra.me.line = 3028;
12149 fra.me.meth = LOCATE_parser___ReduceAction47___action;
12150 fra.me.has_broke = 0;
12151 fra.me.REG_size = 11;
12152 fra.me.nitni_local_ref_head = NULL;
12153 fra.me.REG[0] = NIT_NULL;
12154 fra.me.REG[1] = NIT_NULL;
12155 fra.me.REG[2] = NIT_NULL;
12156 fra.me.REG[3] = NIT_NULL;
12157 fra.me.REG[4] = NIT_NULL;
12158 fra.me.REG[5] = NIT_NULL;
12159 fra.me.REG[6] = NIT_NULL;
12160 fra.me.REG[7] = NIT_NULL;
12161 fra.me.REG[8] = NIT_NULL;
12162 fra.me.REG[9] = NIT_NULL;
12163 fra.me.REG[10] = NIT_NULL;
12164 fra.me.REG[0] = p0;
12165 fra.me.REG[1] = p1;
12166 /* parser/parser.nit:3030 */
12167 fra.me.REG[2] = NIT_NULL;
12168 /* parser/parser.nit:3031 */
12169 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12170 /* parser/parser.nit:3032 */
12171 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12172 /* parser/parser.nit:3033 */
12173 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12174 /* parser/parser.nit:3034 */
12175 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12176 /* parser/parser.nit:3035 */
12177 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12178 /* parser/parser.nit:3036 */
12179 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
12180 /* parser/parser.nit:3037 */
12181 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
12182 /* parser/parser.nit:3038 */
12183 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
12184 /* parser/parser.nit:3040 */
12185 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*/;
12186 if (UNTAG_Bool(REGB0)) {
12187 } else {
12188 nit_abort("Assert failed", NULL, LOCATE_parser, 3040);
12189 }
12190 /* parser/parser.nit:3042 */
12191 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]*/;
12192 if (UNTAG_Bool(REGB0)) {
12193 } else {
12194 nit_abort("Assert failed", NULL, LOCATE_parser, 3042);
12195 }
12196 /* parser/parser.nit:3043 */
12197 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
12198 fra.me.REG[8] = fra.me.REG[6];
12199 /* parser/parser.nit:3045 */
12200 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]*/;
12201 if (UNTAG_Bool(REGB0)) {
12202 } else {
12203 nit_abort("Assert failed", NULL, LOCATE_parser, 3045);
12204 }
12205 /* parser/parser.nit:3046 */
12206 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
12207 fra.me.REG[9] = fra.me.REG[5];
12208 /* parser/parser.nit:3048 */
12209 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]*/;
12210 if (UNTAG_Bool(REGB0)) {
12211 } else {
12212 nit_abort("Assert failed", NULL, LOCATE_parser, 3048);
12213 }
12214 /* parser/parser.nit:3050 */
12215 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*/;
12216 if (UNTAG_Bool(REGB0)) {
12217 } else {
12218 nit_abort("Assert failed", NULL, LOCATE_parser, 3050);
12219 }
12220 /* parser/parser.nit:3051 */
12221 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
12222 fra.me.REG[10] = fra.me.REG[4];
12223 /* parser/parser.nit:3052 */
12224 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12225 if (UNTAG_Bool(REGB0)) {
12226 } else {
12227 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12228 if (UNTAG_Bool(REGB1)) {
12229 REGB1 = TAG_Bool(0);
12230 REGB0 = REGB1;
12231 } else {
12232 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
12233 REGB0 = REGB1;
12234 }
12235 }
12236 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12237 if (UNTAG_Bool(REGB0)) {
12238 /* parser/parser.nit:3053 */
12239 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]);
12240 }
12241 /* parser/parser.nit:3055 */
12242 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]);
12243 /* parser/parser.nit:3061 */
12244 fra.me.REG[2] = fra.me.REG[10];
12245 /* parser/parser.nit:3062 */
12246 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12247 if (UNTAG_Bool(REGB0)) {
12248 } else {
12249 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3062);
12250 }
12251 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12252 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12253 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12254 stack_frame_head = fra.me.prev;
12255 return;
12256 }
12257 static const char LOCATE_parser___ReduceAction48___action[] = "parser::ReduceAction48::(parser::ReduceAction::action)";
12258 void parser___ReduceAction48___action(val_t p0, val_t p1){
12259 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
12260 val_t REGB0;
12261 val_t REGB1;
12262 val_t tmp;
12263 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12264 fra.me.file = LOCATE_parser;
12265 fra.me.line = 3067;
12266 fra.me.meth = LOCATE_parser___ReduceAction48___action;
12267 fra.me.has_broke = 0;
12268 fra.me.REG_size = 9;
12269 fra.me.nitni_local_ref_head = NULL;
12270 fra.me.REG[0] = NIT_NULL;
12271 fra.me.REG[1] = NIT_NULL;
12272 fra.me.REG[2] = NIT_NULL;
12273 fra.me.REG[3] = NIT_NULL;
12274 fra.me.REG[4] = NIT_NULL;
12275 fra.me.REG[5] = NIT_NULL;
12276 fra.me.REG[6] = NIT_NULL;
12277 fra.me.REG[7] = NIT_NULL;
12278 fra.me.REG[8] = NIT_NULL;
12279 fra.me.REG[0] = p0;
12280 fra.me.REG[1] = p1;
12281 /* parser/parser.nit:3069 */
12282 fra.me.REG[2] = NIT_NULL;
12283 /* parser/parser.nit:3070 */
12284 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12285 /* parser/parser.nit:3071 */
12286 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12287 /* parser/parser.nit:3072 */
12288 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
12289 /* parser/parser.nit:3073 */
12290 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
12291 /* parser/parser.nit:3074 */
12292 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
12293 /* parser/parser.nit:3075 */
12294 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
12295 /* parser/parser.nit:3077 */
12296 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]*/;
12297 if (UNTAG_Bool(REGB0)) {
12298 } else {
12299 nit_abort("Assert failed", NULL, LOCATE_parser, 3077);
12300 }
12301 /* parser/parser.nit:3078 */
12302 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
12303 fra.me.REG[8] = fra.me.REG[4];
12304 /* parser/parser.nit:3079 */
12305 fra.me.REG[8] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
12306 /* parser/parser.nit:3083 */
12307 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*/;
12308 if (UNTAG_Bool(REGB0)) {
12309 } else {
12310 nit_abort("Assert failed", NULL, LOCATE_parser, 3083);
12311 }
12312 /* parser/parser.nit:3084 */
12313 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
12314 if (UNTAG_Bool(REGB0)) {
12315 } else {
12316 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
12317 if (UNTAG_Bool(REGB1)) {
12318 REGB1 = TAG_Bool(0);
12319 REGB0 = REGB1;
12320 } else {
12321 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
12322 REGB0 = REGB1;
12323 }
12324 }
12325 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12326 if (UNTAG_Bool(REGB0)) {
12327 /* parser/parser.nit:3085 */
12328 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
12329 }
12330 /* parser/parser.nit:3087 */
12331 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12332 if (UNTAG_Bool(REGB0)) {
12333 } else {
12334 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12335 if (UNTAG_Bool(REGB1)) {
12336 REGB1 = TAG_Bool(0);
12337 REGB0 = REGB1;
12338 } else {
12339 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
12340 REGB0 = REGB1;
12341 }
12342 }
12343 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12344 if (UNTAG_Bool(REGB0)) {
12345 /* parser/parser.nit:3088 */
12346 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
12347 }
12348 /* parser/parser.nit:3090 */
12349 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]);
12350 /* parser/parser.nit:3096 */
12351 fra.me.REG[2] = fra.me.REG[7];
12352 /* parser/parser.nit:3097 */
12353 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12354 if (UNTAG_Bool(REGB0)) {
12355 } else {
12356 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3097);
12357 }
12358 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12359 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12360 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12361 stack_frame_head = fra.me.prev;
12362 return;
12363 }
12364 static const char LOCATE_parser___ReduceAction49___action[] = "parser::ReduceAction49::(parser::ReduceAction::action)";
12365 void parser___ReduceAction49___action(val_t p0, val_t p1){
12366 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
12367 val_t REGB0;
12368 val_t REGB1;
12369 val_t tmp;
12370 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12371 fra.me.file = LOCATE_parser;
12372 fra.me.line = 3102;
12373 fra.me.meth = LOCATE_parser___ReduceAction49___action;
12374 fra.me.has_broke = 0;
12375 fra.me.REG_size = 10;
12376 fra.me.nitni_local_ref_head = NULL;
12377 fra.me.REG[0] = NIT_NULL;
12378 fra.me.REG[1] = NIT_NULL;
12379 fra.me.REG[2] = NIT_NULL;
12380 fra.me.REG[3] = NIT_NULL;
12381 fra.me.REG[4] = NIT_NULL;
12382 fra.me.REG[5] = NIT_NULL;
12383 fra.me.REG[6] = NIT_NULL;
12384 fra.me.REG[7] = NIT_NULL;
12385 fra.me.REG[8] = NIT_NULL;
12386 fra.me.REG[9] = NIT_NULL;
12387 fra.me.REG[0] = p0;
12388 fra.me.REG[1] = p1;
12389 /* parser/parser.nit:3104 */
12390 fra.me.REG[2] = NIT_NULL;
12391 /* parser/parser.nit:3105 */
12392 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12393 /* parser/parser.nit:3106 */
12394 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12395 /* parser/parser.nit:3107 */
12396 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12397 /* parser/parser.nit:3108 */
12398 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
12399 /* parser/parser.nit:3109 */
12400 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
12401 /* parser/parser.nit:3110 */
12402 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
12403 /* parser/parser.nit:3112 */
12404 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*/;
12405 if (UNTAG_Bool(REGB0)) {
12406 } else {
12407 nit_abort("Assert failed", NULL, LOCATE_parser, 3112);
12408 }
12409 /* parser/parser.nit:3113 */
12410 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
12411 /* parser/parser.nit:3115 */
12412 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]*/;
12413 if (UNTAG_Bool(REGB0)) {
12414 } else {
12415 nit_abort("Assert failed", NULL, LOCATE_parser, 3115);
12416 }
12417 /* parser/parser.nit:3116 */
12418 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
12419 fra.me.REG[9] = fra.me.REG[4];
12420 /* parser/parser.nit:3117 */
12421 fra.me.REG[9] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[9]);
12422 /* parser/parser.nit:3121 */
12423 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*/;
12424 if (UNTAG_Bool(REGB0)) {
12425 } else {
12426 nit_abort("Assert failed", NULL, LOCATE_parser, 3121);
12427 }
12428 /* parser/parser.nit:3122 */
12429 REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
12430 if (UNTAG_Bool(REGB0)) {
12431 } else {
12432 REGB1 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
12433 if (UNTAG_Bool(REGB1)) {
12434 REGB1 = TAG_Bool(0);
12435 REGB0 = REGB1;
12436 } else {
12437 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[9])(fra.me.REG[9], NIT_NULL);
12438 REGB0 = REGB1;
12439 }
12440 }
12441 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12442 if (UNTAG_Bool(REGB0)) {
12443 /* parser/parser.nit:3123 */
12444 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
12445 }
12446 /* parser/parser.nit:3125 */
12447 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12448 if (UNTAG_Bool(REGB0)) {
12449 } else {
12450 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12451 if (UNTAG_Bool(REGB1)) {
12452 REGB1 = TAG_Bool(0);
12453 REGB0 = REGB1;
12454 } else {
12455 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
12456 REGB0 = REGB1;
12457 }
12458 }
12459 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12460 if (UNTAG_Bool(REGB0)) {
12461 /* parser/parser.nit:3126 */
12462 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
12463 }
12464 /* parser/parser.nit:3128 */
12465 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]);
12466 /* parser/parser.nit:3134 */
12467 fra.me.REG[2] = fra.me.REG[8];
12468 /* parser/parser.nit:3135 */
12469 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12470 if (UNTAG_Bool(REGB0)) {
12471 } else {
12472 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3135);
12473 }
12474 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12475 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12476 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12477 stack_frame_head = fra.me.prev;
12478 return;
12479 }
12480 static const char LOCATE_parser___ReduceAction50___action[] = "parser::ReduceAction50::(parser::ReduceAction::action)";
12481 void parser___ReduceAction50___action(val_t p0, val_t p1){
12482 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
12483 val_t REGB0;
12484 val_t REGB1;
12485 val_t tmp;
12486 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12487 fra.me.file = LOCATE_parser;
12488 fra.me.line = 3140;
12489 fra.me.meth = LOCATE_parser___ReduceAction50___action;
12490 fra.me.has_broke = 0;
12491 fra.me.REG_size = 9;
12492 fra.me.nitni_local_ref_head = NULL;
12493 fra.me.REG[0] = NIT_NULL;
12494 fra.me.REG[1] = NIT_NULL;
12495 fra.me.REG[2] = NIT_NULL;
12496 fra.me.REG[3] = NIT_NULL;
12497 fra.me.REG[4] = NIT_NULL;
12498 fra.me.REG[5] = NIT_NULL;
12499 fra.me.REG[6] = NIT_NULL;
12500 fra.me.REG[7] = NIT_NULL;
12501 fra.me.REG[8] = NIT_NULL;
12502 fra.me.REG[0] = p0;
12503 fra.me.REG[1] = p1;
12504 /* parser/parser.nit:3142 */
12505 fra.me.REG[2] = NIT_NULL;
12506 /* parser/parser.nit:3143 */
12507 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12508 /* parser/parser.nit:3144 */
12509 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12510 /* parser/parser.nit:3145 */
12511 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12512 /* parser/parser.nit:3146 */
12513 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
12514 /* parser/parser.nit:3147 */
12515 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
12516 /* parser/parser.nit:3148 */
12517 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
12518 /* parser/parser.nit:3150 */
12519 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]*/;
12520 if (UNTAG_Bool(REGB0)) {
12521 } else {
12522 nit_abort("Assert failed", NULL, LOCATE_parser, 3150);
12523 }
12524 /* parser/parser.nit:3151 */
12525 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
12526 fra.me.REG[6] = fra.me.REG[5];
12527 /* parser/parser.nit:3152 */
12528 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
12529 /* parser/parser.nit:3154 */
12530 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]*/;
12531 if (UNTAG_Bool(REGB0)) {
12532 } else {
12533 nit_abort("Assert failed", NULL, LOCATE_parser, 3154);
12534 }
12535 /* parser/parser.nit:3155 */
12536 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
12537 fra.me.REG[5] = fra.me.REG[4];
12538 /* parser/parser.nit:3156 */
12539 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
12540 /* parser/parser.nit:3160 */
12541 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*/;
12542 if (UNTAG_Bool(REGB0)) {
12543 } else {
12544 nit_abort("Assert failed", NULL, LOCATE_parser, 3160);
12545 }
12546 /* parser/parser.nit:3161 */
12547 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
12548 if (UNTAG_Bool(REGB0)) {
12549 } else {
12550 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
12551 if (UNTAG_Bool(REGB1)) {
12552 REGB1 = TAG_Bool(0);
12553 REGB0 = REGB1;
12554 } else {
12555 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
12556 REGB0 = REGB1;
12557 }
12558 }
12559 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12560 if (UNTAG_Bool(REGB0)) {
12561 /* parser/parser.nit:3162 */
12562 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
12563 }
12564 /* parser/parser.nit:3164 */
12565 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12566 if (UNTAG_Bool(REGB0)) {
12567 } else {
12568 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12569 if (UNTAG_Bool(REGB1)) {
12570 REGB1 = TAG_Bool(0);
12571 REGB0 = REGB1;
12572 } else {
12573 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
12574 REGB0 = REGB1;
12575 }
12576 }
12577 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12578 if (UNTAG_Bool(REGB0)) {
12579 /* parser/parser.nit:3165 */
12580 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
12581 }
12582 /* parser/parser.nit:3167 */
12583 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]);
12584 /* parser/parser.nit:3173 */
12585 fra.me.REG[2] = fra.me.REG[8];
12586 /* parser/parser.nit:3174 */
12587 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12588 if (UNTAG_Bool(REGB0)) {
12589 } else {
12590 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3174);
12591 }
12592 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12593 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12594 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12595 stack_frame_head = fra.me.prev;
12596 return;
12597 }
12598 static const char LOCATE_parser___ReduceAction51___action[] = "parser::ReduceAction51::(parser::ReduceAction::action)";
12599 void parser___ReduceAction51___action(val_t p0, val_t p1){
12600 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
12601 val_t REGB0;
12602 val_t REGB1;
12603 val_t tmp;
12604 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12605 fra.me.file = LOCATE_parser;
12606 fra.me.line = 3179;
12607 fra.me.meth = LOCATE_parser___ReduceAction51___action;
12608 fra.me.has_broke = 0;
12609 fra.me.REG_size = 10;
12610 fra.me.nitni_local_ref_head = NULL;
12611 fra.me.REG[0] = NIT_NULL;
12612 fra.me.REG[1] = NIT_NULL;
12613 fra.me.REG[2] = NIT_NULL;
12614 fra.me.REG[3] = NIT_NULL;
12615 fra.me.REG[4] = NIT_NULL;
12616 fra.me.REG[5] = NIT_NULL;
12617 fra.me.REG[6] = NIT_NULL;
12618 fra.me.REG[7] = NIT_NULL;
12619 fra.me.REG[8] = NIT_NULL;
12620 fra.me.REG[9] = NIT_NULL;
12621 fra.me.REG[0] = p0;
12622 fra.me.REG[1] = p1;
12623 /* parser/parser.nit:3181 */
12624 fra.me.REG[2] = NIT_NULL;
12625 /* parser/parser.nit:3182 */
12626 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12627 /* parser/parser.nit:3183 */
12628 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12629 /* parser/parser.nit:3184 */
12630 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12631 /* parser/parser.nit:3185 */
12632 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12633 /* parser/parser.nit:3186 */
12634 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
12635 /* parser/parser.nit:3187 */
12636 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
12637 /* parser/parser.nit:3188 */
12638 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
12639 /* parser/parser.nit:3190 */
12640 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*/;
12641 if (UNTAG_Bool(REGB0)) {
12642 } else {
12643 nit_abort("Assert failed", NULL, LOCATE_parser, 3190);
12644 }
12645 /* parser/parser.nit:3192 */
12646 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]*/;
12647 if (UNTAG_Bool(REGB0)) {
12648 } else {
12649 nit_abort("Assert failed", NULL, LOCATE_parser, 3192);
12650 }
12651 /* parser/parser.nit:3193 */
12652 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
12653 fra.me.REG[7] = fra.me.REG[5];
12654 /* parser/parser.nit:3194 */
12655 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
12656 /* parser/parser.nit:3196 */
12657 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]*/;
12658 if (UNTAG_Bool(REGB0)) {
12659 } else {
12660 nit_abort("Assert failed", NULL, LOCATE_parser, 3196);
12661 }
12662 /* parser/parser.nit:3197 */
12663 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
12664 fra.me.REG[5] = fra.me.REG[4];
12665 /* parser/parser.nit:3198 */
12666 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
12667 /* parser/parser.nit:3202 */
12668 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*/;
12669 if (UNTAG_Bool(REGB0)) {
12670 } else {
12671 nit_abort("Assert failed", NULL, LOCATE_parser, 3202);
12672 }
12673 /* parser/parser.nit:3203 */
12674 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
12675 if (UNTAG_Bool(REGB0)) {
12676 } else {
12677 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
12678 if (UNTAG_Bool(REGB1)) {
12679 REGB1 = TAG_Bool(0);
12680 REGB0 = REGB1;
12681 } else {
12682 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
12683 REGB0 = REGB1;
12684 }
12685 }
12686 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12687 if (UNTAG_Bool(REGB0)) {
12688 /* parser/parser.nit:3204 */
12689 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
12690 }
12691 /* parser/parser.nit:3206 */
12692 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12693 if (UNTAG_Bool(REGB0)) {
12694 } else {
12695 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12696 if (UNTAG_Bool(REGB1)) {
12697 REGB1 = TAG_Bool(0);
12698 REGB0 = REGB1;
12699 } else {
12700 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
12701 REGB0 = REGB1;
12702 }
12703 }
12704 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12705 if (UNTAG_Bool(REGB0)) {
12706 /* parser/parser.nit:3207 */
12707 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
12708 }
12709 /* parser/parser.nit:3209 */
12710 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]);
12711 /* parser/parser.nit:3215 */
12712 fra.me.REG[2] = fra.me.REG[9];
12713 /* parser/parser.nit:3216 */
12714 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12715 if (UNTAG_Bool(REGB0)) {
12716 } else {
12717 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3216);
12718 }
12719 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12720 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12721 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12722 stack_frame_head = fra.me.prev;
12723 return;
12724 }
12725 static const char LOCATE_parser___ReduceAction52___action[] = "parser::ReduceAction52::(parser::ReduceAction::action)";
12726 void parser___ReduceAction52___action(val_t p0, val_t p1){
12727 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
12728 val_t REGB0;
12729 val_t REGB1;
12730 val_t tmp;
12731 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12732 fra.me.file = LOCATE_parser;
12733 fra.me.line = 3221;
12734 fra.me.meth = LOCATE_parser___ReduceAction52___action;
12735 fra.me.has_broke = 0;
12736 fra.me.REG_size = 9;
12737 fra.me.nitni_local_ref_head = NULL;
12738 fra.me.REG[0] = NIT_NULL;
12739 fra.me.REG[1] = NIT_NULL;
12740 fra.me.REG[2] = NIT_NULL;
12741 fra.me.REG[3] = NIT_NULL;
12742 fra.me.REG[4] = NIT_NULL;
12743 fra.me.REG[5] = NIT_NULL;
12744 fra.me.REG[6] = NIT_NULL;
12745 fra.me.REG[7] = NIT_NULL;
12746 fra.me.REG[8] = NIT_NULL;
12747 fra.me.REG[0] = p0;
12748 fra.me.REG[1] = p1;
12749 /* parser/parser.nit:3223 */
12750 fra.me.REG[2] = NIT_NULL;
12751 /* parser/parser.nit:3224 */
12752 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12753 /* parser/parser.nit:3225 */
12754 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12755 /* parser/parser.nit:3226 */
12756 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12757 /* parser/parser.nit:3227 */
12758 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
12759 /* parser/parser.nit:3228 */
12760 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
12761 /* parser/parser.nit:3229 */
12762 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
12763 /* parser/parser.nit:3231 */
12764 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]*/;
12765 if (UNTAG_Bool(REGB0)) {
12766 } else {
12767 nit_abort("Assert failed", NULL, LOCATE_parser, 3231);
12768 }
12769 /* parser/parser.nit:3232 */
12770 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
12771 fra.me.REG[7] = fra.me.REG[5];
12772 /* parser/parser.nit:3233 */
12773 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
12774 /* parser/parser.nit:3235 */
12775 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]*/;
12776 if (UNTAG_Bool(REGB0)) {
12777 } else {
12778 nit_abort("Assert failed", NULL, LOCATE_parser, 3235);
12779 }
12780 /* parser/parser.nit:3236 */
12781 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
12782 fra.me.REG[5] = fra.me.REG[4];
12783 /* parser/parser.nit:3237 */
12784 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
12785 /* parser/parser.nit:3241 */
12786 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*/;
12787 if (UNTAG_Bool(REGB0)) {
12788 } else {
12789 nit_abort("Assert failed", NULL, LOCATE_parser, 3241);
12790 }
12791 /* parser/parser.nit:3242 */
12792 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
12793 if (UNTAG_Bool(REGB0)) {
12794 } else {
12795 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
12796 if (UNTAG_Bool(REGB1)) {
12797 REGB1 = TAG_Bool(0);
12798 REGB0 = REGB1;
12799 } else {
12800 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
12801 REGB0 = REGB1;
12802 }
12803 }
12804 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12805 if (UNTAG_Bool(REGB0)) {
12806 /* parser/parser.nit:3243 */
12807 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
12808 }
12809 /* parser/parser.nit:3245 */
12810 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12811 if (UNTAG_Bool(REGB0)) {
12812 } else {
12813 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12814 if (UNTAG_Bool(REGB1)) {
12815 REGB1 = TAG_Bool(0);
12816 REGB0 = REGB1;
12817 } else {
12818 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
12819 REGB0 = REGB1;
12820 }
12821 }
12822 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12823 if (UNTAG_Bool(REGB0)) {
12824 /* parser/parser.nit:3246 */
12825 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
12826 }
12827 /* parser/parser.nit:3248 */
12828 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]);
12829 /* parser/parser.nit:3254 */
12830 fra.me.REG[2] = fra.me.REG[8];
12831 /* parser/parser.nit:3255 */
12832 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12833 if (UNTAG_Bool(REGB0)) {
12834 } else {
12835 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3255);
12836 }
12837 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12838 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12839 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12840 stack_frame_head = fra.me.prev;
12841 return;
12842 }
12843 static const char LOCATE_parser___ReduceAction53___action[] = "parser::ReduceAction53::(parser::ReduceAction::action)";
12844 void parser___ReduceAction53___action(val_t p0, val_t p1){
12845 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
12846 val_t REGB0;
12847 val_t REGB1;
12848 val_t tmp;
12849 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12850 fra.me.file = LOCATE_parser;
12851 fra.me.line = 3260;
12852 fra.me.meth = LOCATE_parser___ReduceAction53___action;
12853 fra.me.has_broke = 0;
12854 fra.me.REG_size = 10;
12855 fra.me.nitni_local_ref_head = NULL;
12856 fra.me.REG[0] = NIT_NULL;
12857 fra.me.REG[1] = NIT_NULL;
12858 fra.me.REG[2] = NIT_NULL;
12859 fra.me.REG[3] = NIT_NULL;
12860 fra.me.REG[4] = NIT_NULL;
12861 fra.me.REG[5] = NIT_NULL;
12862 fra.me.REG[6] = NIT_NULL;
12863 fra.me.REG[7] = NIT_NULL;
12864 fra.me.REG[8] = NIT_NULL;
12865 fra.me.REG[9] = NIT_NULL;
12866 fra.me.REG[0] = p0;
12867 fra.me.REG[1] = p1;
12868 /* parser/parser.nit:3262 */
12869 fra.me.REG[2] = NIT_NULL;
12870 /* parser/parser.nit:3263 */
12871 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12872 /* parser/parser.nit:3264 */
12873 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12874 /* parser/parser.nit:3265 */
12875 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12876 /* parser/parser.nit:3266 */
12877 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12878 /* parser/parser.nit:3267 */
12879 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
12880 /* parser/parser.nit:3268 */
12881 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
12882 /* parser/parser.nit:3269 */
12883 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
12884 /* parser/parser.nit:3271 */
12885 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*/;
12886 if (UNTAG_Bool(REGB0)) {
12887 } else {
12888 nit_abort("Assert failed", NULL, LOCATE_parser, 3271);
12889 }
12890 /* parser/parser.nit:3273 */
12891 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]*/;
12892 if (UNTAG_Bool(REGB0)) {
12893 } else {
12894 nit_abort("Assert failed", NULL, LOCATE_parser, 3273);
12895 }
12896 /* parser/parser.nit:3274 */
12897 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
12898 fra.me.REG[8] = fra.me.REG[5];
12899 /* parser/parser.nit:3275 */
12900 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
12901 /* parser/parser.nit:3277 */
12902 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]*/;
12903 if (UNTAG_Bool(REGB0)) {
12904 } else {
12905 nit_abort("Assert failed", NULL, LOCATE_parser, 3277);
12906 }
12907 /* parser/parser.nit:3278 */
12908 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
12909 fra.me.REG[5] = fra.me.REG[4];
12910 /* parser/parser.nit:3279 */
12911 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
12912 /* parser/parser.nit:3283 */
12913 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*/;
12914 if (UNTAG_Bool(REGB0)) {
12915 } else {
12916 nit_abort("Assert failed", NULL, LOCATE_parser, 3283);
12917 }
12918 /* parser/parser.nit:3284 */
12919 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
12920 if (UNTAG_Bool(REGB0)) {
12921 } else {
12922 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
12923 if (UNTAG_Bool(REGB1)) {
12924 REGB1 = TAG_Bool(0);
12925 REGB0 = REGB1;
12926 } else {
12927 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
12928 REGB0 = REGB1;
12929 }
12930 }
12931 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12932 if (UNTAG_Bool(REGB0)) {
12933 /* parser/parser.nit:3285 */
12934 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
12935 }
12936 /* parser/parser.nit:3287 */
12937 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12938 if (UNTAG_Bool(REGB0)) {
12939 } else {
12940 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12941 if (UNTAG_Bool(REGB1)) {
12942 REGB1 = TAG_Bool(0);
12943 REGB0 = REGB1;
12944 } else {
12945 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
12946 REGB0 = REGB1;
12947 }
12948 }
12949 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12950 if (UNTAG_Bool(REGB0)) {
12951 /* parser/parser.nit:3288 */
12952 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
12953 }
12954 /* parser/parser.nit:3290 */
12955 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]);
12956 /* parser/parser.nit:3296 */
12957 fra.me.REG[2] = fra.me.REG[9];
12958 /* parser/parser.nit:3297 */
12959 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12960 if (UNTAG_Bool(REGB0)) {
12961 } else {
12962 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3297);
12963 }
12964 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12965 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12966 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12967 stack_frame_head = fra.me.prev;
12968 return;
12969 }
12970 static const char LOCATE_parser___ReduceAction54___action[] = "parser::ReduceAction54::(parser::ReduceAction::action)";
12971 void parser___ReduceAction54___action(val_t p0, val_t p1){
12972 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
12973 val_t REGB0;
12974 val_t REGB1;
12975 val_t tmp;
12976 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12977 fra.me.file = LOCATE_parser;
12978 fra.me.line = 3302;
12979 fra.me.meth = LOCATE_parser___ReduceAction54___action;
12980 fra.me.has_broke = 0;
12981 fra.me.REG_size = 10;
12982 fra.me.nitni_local_ref_head = NULL;
12983 fra.me.REG[0] = NIT_NULL;
12984 fra.me.REG[1] = NIT_NULL;
12985 fra.me.REG[2] = NIT_NULL;
12986 fra.me.REG[3] = NIT_NULL;
12987 fra.me.REG[4] = NIT_NULL;
12988 fra.me.REG[5] = NIT_NULL;
12989 fra.me.REG[6] = NIT_NULL;
12990 fra.me.REG[7] = NIT_NULL;
12991 fra.me.REG[8] = NIT_NULL;
12992 fra.me.REG[9] = NIT_NULL;
12993 fra.me.REG[0] = p0;
12994 fra.me.REG[1] = p1;
12995 /* parser/parser.nit:3304 */
12996 fra.me.REG[2] = NIT_NULL;
12997 /* parser/parser.nit:3305 */
12998 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12999 /* parser/parser.nit:3306 */
13000 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13001 /* parser/parser.nit:3307 */
13002 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13003 /* parser/parser.nit:3308 */
13004 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13005 /* parser/parser.nit:3309 */
13006 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
13007 /* parser/parser.nit:3310 */
13008 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
13009 /* parser/parser.nit:3311 */
13010 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
13011 /* parser/parser.nit:3313 */
13012 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]*/;
13013 if (UNTAG_Bool(REGB0)) {
13014 } else {
13015 nit_abort("Assert failed", NULL, LOCATE_parser, 3313);
13016 }
13017 /* parser/parser.nit:3314 */
13018 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
13019 fra.me.REG[7] = fra.me.REG[6];
13020 /* parser/parser.nit:3316 */
13021 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]*/;
13022 if (UNTAG_Bool(REGB0)) {
13023 } else {
13024 nit_abort("Assert failed", NULL, LOCATE_parser, 3316);
13025 }
13026 /* parser/parser.nit:3317 */
13027 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
13028 fra.me.REG[8] = fra.me.REG[5];
13029 /* parser/parser.nit:3318 */
13030 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
13031 /* parser/parser.nit:3320 */
13032 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]*/;
13033 if (UNTAG_Bool(REGB0)) {
13034 } else {
13035 nit_abort("Assert failed", NULL, LOCATE_parser, 3320);
13036 }
13037 /* parser/parser.nit:3321 */
13038 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
13039 fra.me.REG[5] = fra.me.REG[4];
13040 /* parser/parser.nit:3322 */
13041 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
13042 /* parser/parser.nit:3326 */
13043 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*/;
13044 if (UNTAG_Bool(REGB0)) {
13045 } else {
13046 nit_abort("Assert failed", NULL, LOCATE_parser, 3326);
13047 }
13048 /* parser/parser.nit:3327 */
13049 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
13050 if (UNTAG_Bool(REGB0)) {
13051 } else {
13052 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
13053 if (UNTAG_Bool(REGB1)) {
13054 REGB1 = TAG_Bool(0);
13055 REGB0 = REGB1;
13056 } else {
13057 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
13058 REGB0 = REGB1;
13059 }
13060 }
13061 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13062 if (UNTAG_Bool(REGB0)) {
13063 /* parser/parser.nit:3328 */
13064 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
13065 }
13066 /* parser/parser.nit:3330 */
13067 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13068 if (UNTAG_Bool(REGB0)) {
13069 } else {
13070 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13071 if (UNTAG_Bool(REGB1)) {
13072 REGB1 = TAG_Bool(0);
13073 REGB0 = REGB1;
13074 } else {
13075 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
13076 REGB0 = REGB1;
13077 }
13078 }
13079 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13080 if (UNTAG_Bool(REGB0)) {
13081 /* parser/parser.nit:3331 */
13082 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
13083 }
13084 /* parser/parser.nit:3333 */
13085 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]);
13086 /* parser/parser.nit:3339 */
13087 fra.me.REG[2] = fra.me.REG[9];
13088 /* parser/parser.nit:3340 */
13089 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13090 if (UNTAG_Bool(REGB0)) {
13091 } else {
13092 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3340);
13093 }
13094 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13095 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13096 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13097 stack_frame_head = fra.me.prev;
13098 return;
13099 }
13100 static const char LOCATE_parser___ReduceAction55___action[] = "parser::ReduceAction55::(parser::ReduceAction::action)";
13101 void parser___ReduceAction55___action(val_t p0, val_t p1){
13102 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
13103 val_t REGB0;
13104 val_t REGB1;
13105 val_t tmp;
13106 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13107 fra.me.file = LOCATE_parser;
13108 fra.me.line = 3345;
13109 fra.me.meth = LOCATE_parser___ReduceAction55___action;
13110 fra.me.has_broke = 0;
13111 fra.me.REG_size = 11;
13112 fra.me.nitni_local_ref_head = NULL;
13113 fra.me.REG[0] = NIT_NULL;
13114 fra.me.REG[1] = NIT_NULL;
13115 fra.me.REG[2] = NIT_NULL;
13116 fra.me.REG[3] = NIT_NULL;
13117 fra.me.REG[4] = NIT_NULL;
13118 fra.me.REG[5] = NIT_NULL;
13119 fra.me.REG[6] = NIT_NULL;
13120 fra.me.REG[7] = NIT_NULL;
13121 fra.me.REG[8] = NIT_NULL;
13122 fra.me.REG[9] = NIT_NULL;
13123 fra.me.REG[10] = NIT_NULL;
13124 fra.me.REG[0] = p0;
13125 fra.me.REG[1] = p1;
13126 /* parser/parser.nit:3347 */
13127 fra.me.REG[2] = NIT_NULL;
13128 /* parser/parser.nit:3348 */
13129 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13130 /* parser/parser.nit:3349 */
13131 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13132 /* parser/parser.nit:3350 */
13133 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13134 /* parser/parser.nit:3351 */
13135 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13136 /* parser/parser.nit:3352 */
13137 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13138 /* parser/parser.nit:3353 */
13139 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
13140 /* parser/parser.nit:3354 */
13141 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
13142 /* parser/parser.nit:3355 */
13143 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
13144 /* parser/parser.nit:3357 */
13145 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*/;
13146 if (UNTAG_Bool(REGB0)) {
13147 } else {
13148 nit_abort("Assert failed", NULL, LOCATE_parser, 3357);
13149 }
13150 /* parser/parser.nit:3359 */
13151 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]*/;
13152 if (UNTAG_Bool(REGB0)) {
13153 } else {
13154 nit_abort("Assert failed", NULL, LOCATE_parser, 3359);
13155 }
13156 /* parser/parser.nit:3360 */
13157 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
13158 fra.me.REG[8] = fra.me.REG[6];
13159 /* parser/parser.nit:3362 */
13160 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]*/;
13161 if (UNTAG_Bool(REGB0)) {
13162 } else {
13163 nit_abort("Assert failed", NULL, LOCATE_parser, 3362);
13164 }
13165 /* parser/parser.nit:3363 */
13166 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
13167 fra.me.REG[9] = fra.me.REG[5];
13168 /* parser/parser.nit:3364 */
13169 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
13170 /* parser/parser.nit:3366 */
13171 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]*/;
13172 if (UNTAG_Bool(REGB0)) {
13173 } else {
13174 nit_abort("Assert failed", NULL, LOCATE_parser, 3366);
13175 }
13176 /* parser/parser.nit:3367 */
13177 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
13178 fra.me.REG[5] = fra.me.REG[4];
13179 /* parser/parser.nit:3368 */
13180 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
13181 /* parser/parser.nit:3372 */
13182 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*/;
13183 if (UNTAG_Bool(REGB0)) {
13184 } else {
13185 nit_abort("Assert failed", NULL, LOCATE_parser, 3372);
13186 }
13187 /* parser/parser.nit:3373 */
13188 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
13189 if (UNTAG_Bool(REGB0)) {
13190 } else {
13191 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
13192 if (UNTAG_Bool(REGB1)) {
13193 REGB1 = TAG_Bool(0);
13194 REGB0 = REGB1;
13195 } else {
13196 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
13197 REGB0 = REGB1;
13198 }
13199 }
13200 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13201 if (UNTAG_Bool(REGB0)) {
13202 /* parser/parser.nit:3374 */
13203 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[5]);
13204 }
13205 /* parser/parser.nit:3376 */
13206 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13207 if (UNTAG_Bool(REGB0)) {
13208 } else {
13209 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13210 if (UNTAG_Bool(REGB1)) {
13211 REGB1 = TAG_Bool(0);
13212 REGB0 = REGB1;
13213 } else {
13214 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
13215 REGB0 = REGB1;
13216 }
13217 }
13218 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13219 if (UNTAG_Bool(REGB0)) {
13220 /* parser/parser.nit:3377 */
13221 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]);
13222 }
13223 /* parser/parser.nit:3379 */
13224 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]);
13225 /* parser/parser.nit:3385 */
13226 fra.me.REG[2] = fra.me.REG[10];
13227 /* parser/parser.nit:3386 */
13228 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13229 if (UNTAG_Bool(REGB0)) {
13230 } else {
13231 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3386);
13232 }
13233 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13234 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13235 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13236 stack_frame_head = fra.me.prev;
13237 return;
13238 }
13239 static const char LOCATE_parser___ReduceAction56___action[] = "parser::ReduceAction56::(parser::ReduceAction::action)";
13240 void parser___ReduceAction56___action(val_t p0, val_t p1){
13241 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
13242 val_t REGB0;
13243 val_t REGB1;
13244 val_t tmp;
13245 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13246 fra.me.file = LOCATE_parser;
13247 fra.me.line = 3391;
13248 fra.me.meth = LOCATE_parser___ReduceAction56___action;
13249 fra.me.has_broke = 0;
13250 fra.me.REG_size = 10;
13251 fra.me.nitni_local_ref_head = NULL;
13252 fra.me.REG[0] = NIT_NULL;
13253 fra.me.REG[1] = NIT_NULL;
13254 fra.me.REG[2] = NIT_NULL;
13255 fra.me.REG[3] = NIT_NULL;
13256 fra.me.REG[4] = NIT_NULL;
13257 fra.me.REG[5] = NIT_NULL;
13258 fra.me.REG[6] = NIT_NULL;
13259 fra.me.REG[7] = NIT_NULL;
13260 fra.me.REG[8] = NIT_NULL;
13261 fra.me.REG[9] = NIT_NULL;
13262 fra.me.REG[0] = p0;
13263 fra.me.REG[1] = p1;
13264 /* parser/parser.nit:3393 */
13265 fra.me.REG[2] = NIT_NULL;
13266 /* parser/parser.nit:3394 */
13267 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13268 /* parser/parser.nit:3395 */
13269 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13270 /* parser/parser.nit:3396 */
13271 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13272 /* parser/parser.nit:3397 */
13273 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
13274 /* parser/parser.nit:3398 */
13275 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
13276 /* parser/parser.nit:3399 */
13277 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
13278 /* parser/parser.nit:3401 */
13279 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]*/;
13280 if (UNTAG_Bool(REGB0)) {
13281 } else {
13282 nit_abort("Assert failed", NULL, LOCATE_parser, 3401);
13283 }
13284 /* parser/parser.nit:3402 */
13285 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
13286 /* parser/parser.nit:3404 */
13287 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]*/;
13288 if (UNTAG_Bool(REGB0)) {
13289 } else {
13290 nit_abort("Assert failed", NULL, LOCATE_parser, 3404);
13291 }
13292 /* parser/parser.nit:3405 */
13293 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
13294 fra.me.REG[9] = fra.me.REG[4];
13295 /* parser/parser.nit:3406 */
13296 fra.me.REG[9] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[9]);
13297 /* parser/parser.nit:3410 */
13298 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*/;
13299 if (UNTAG_Bool(REGB0)) {
13300 } else {
13301 nit_abort("Assert failed", NULL, LOCATE_parser, 3410);
13302 }
13303 /* parser/parser.nit:3411 */
13304 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
13305 fra.me.REG[8] = fra.me.REG[5];
13306 /* parser/parser.nit:3412 */
13307 REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
13308 if (UNTAG_Bool(REGB0)) {
13309 } else {
13310 REGB1 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
13311 if (UNTAG_Bool(REGB1)) {
13312 REGB1 = TAG_Bool(0);
13313 REGB0 = REGB1;
13314 } else {
13315 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[9])(fra.me.REG[9], NIT_NULL);
13316 REGB0 = REGB1;
13317 }
13318 }
13319 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13320 if (UNTAG_Bool(REGB0)) {
13321 /* parser/parser.nit:3413 */
13322 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
13323 }
13324 /* parser/parser.nit:3415 */
13325 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13326 if (UNTAG_Bool(REGB0)) {
13327 } else {
13328 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13329 if (UNTAG_Bool(REGB1)) {
13330 REGB1 = TAG_Bool(0);
13331 REGB0 = REGB1;
13332 } else {
13333 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
13334 REGB0 = REGB1;
13335 }
13336 }
13337 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13338 if (UNTAG_Bool(REGB0)) {
13339 /* parser/parser.nit:3416 */
13340 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
13341 }
13342 /* parser/parser.nit:3418 */
13343 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]);
13344 /* parser/parser.nit:3424 */
13345 fra.me.REG[2] = fra.me.REG[8];
13346 /* parser/parser.nit:3425 */
13347 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13348 if (UNTAG_Bool(REGB0)) {
13349 } else {
13350 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3425);
13351 }
13352 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13353 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13354 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13355 stack_frame_head = fra.me.prev;
13356 return;
13357 }
13358 static const char LOCATE_parser___ReduceAction57___action[] = "parser::ReduceAction57::(parser::ReduceAction::action)";
13359 void parser___ReduceAction57___action(val_t p0, val_t p1){
13360 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
13361 val_t REGB0;
13362 val_t REGB1;
13363 val_t tmp;
13364 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13365 fra.me.file = LOCATE_parser;
13366 fra.me.line = 3430;
13367 fra.me.meth = LOCATE_parser___ReduceAction57___action;
13368 fra.me.has_broke = 0;
13369 fra.me.REG_size = 11;
13370 fra.me.nitni_local_ref_head = NULL;
13371 fra.me.REG[0] = NIT_NULL;
13372 fra.me.REG[1] = NIT_NULL;
13373 fra.me.REG[2] = NIT_NULL;
13374 fra.me.REG[3] = NIT_NULL;
13375 fra.me.REG[4] = NIT_NULL;
13376 fra.me.REG[5] = NIT_NULL;
13377 fra.me.REG[6] = NIT_NULL;
13378 fra.me.REG[7] = NIT_NULL;
13379 fra.me.REG[8] = NIT_NULL;
13380 fra.me.REG[9] = NIT_NULL;
13381 fra.me.REG[10] = NIT_NULL;
13382 fra.me.REG[0] = p0;
13383 fra.me.REG[1] = p1;
13384 /* parser/parser.nit:3432 */
13385 fra.me.REG[2] = NIT_NULL;
13386 /* parser/parser.nit:3433 */
13387 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13388 /* parser/parser.nit:3434 */
13389 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13390 /* parser/parser.nit:3435 */
13391 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13392 /* parser/parser.nit:3436 */
13393 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13394 /* parser/parser.nit:3437 */
13395 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
13396 /* parser/parser.nit:3438 */
13397 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
13398 /* parser/parser.nit:3439 */
13399 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
13400 /* parser/parser.nit:3441 */
13401 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*/;
13402 if (UNTAG_Bool(REGB0)) {
13403 } else {
13404 nit_abort("Assert failed", NULL, LOCATE_parser, 3441);
13405 }
13406 /* parser/parser.nit:3443 */
13407 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]*/;
13408 if (UNTAG_Bool(REGB0)) {
13409 } else {
13410 nit_abort("Assert failed", NULL, LOCATE_parser, 3443);
13411 }
13412 /* parser/parser.nit:3444 */
13413 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
13414 /* parser/parser.nit:3446 */
13415 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]*/;
13416 if (UNTAG_Bool(REGB0)) {
13417 } else {
13418 nit_abort("Assert failed", NULL, LOCATE_parser, 3446);
13419 }
13420 /* parser/parser.nit:3447 */
13421 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
13422 fra.me.REG[10] = fra.me.REG[4];
13423 /* parser/parser.nit:3448 */
13424 fra.me.REG[10] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[10]);
13425 /* parser/parser.nit:3452 */
13426 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*/;
13427 if (UNTAG_Bool(REGB0)) {
13428 } else {
13429 nit_abort("Assert failed", NULL, LOCATE_parser, 3452);
13430 }
13431 /* parser/parser.nit:3453 */
13432 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
13433 fra.me.REG[9] = fra.me.REG[5];
13434 /* parser/parser.nit:3454 */
13435 REGB0 = TAG_Bool(fra.me.REG[10]==NIT_NULL);
13436 if (UNTAG_Bool(REGB0)) {
13437 } else {
13438 REGB1 = TAG_Bool(fra.me.REG[10]==NIT_NULL);
13439 if (UNTAG_Bool(REGB1)) {
13440 REGB1 = TAG_Bool(0);
13441 REGB0 = REGB1;
13442 } else {
13443 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[10])(fra.me.REG[10], NIT_NULL);
13444 REGB0 = REGB1;
13445 }
13446 }
13447 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13448 if (UNTAG_Bool(REGB0)) {
13449 /* parser/parser.nit:3455 */
13450 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[10]);
13451 }
13452 /* parser/parser.nit:3457 */
13453 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13454 if (UNTAG_Bool(REGB0)) {
13455 } else {
13456 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13457 if (UNTAG_Bool(REGB1)) {
13458 REGB1 = TAG_Bool(0);
13459 REGB0 = REGB1;
13460 } else {
13461 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
13462 REGB0 = REGB1;
13463 }
13464 }
13465 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13466 if (UNTAG_Bool(REGB0)) {
13467 /* parser/parser.nit:3458 */
13468 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
13469 }
13470 /* parser/parser.nit:3460 */
13471 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]);
13472 /* parser/parser.nit:3466 */
13473 fra.me.REG[2] = fra.me.REG[9];
13474 /* parser/parser.nit:3467 */
13475 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13476 if (UNTAG_Bool(REGB0)) {
13477 } else {
13478 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3467);
13479 }
13480 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13481 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13482 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13483 stack_frame_head = fra.me.prev;
13484 return;
13485 }
13486 static const char LOCATE_parser___ReduceAction58___action[] = "parser::ReduceAction58::(parser::ReduceAction::action)";
13487 void parser___ReduceAction58___action(val_t p0, val_t p1){
13488 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
13489 val_t REGB0;
13490 val_t REGB1;
13491 val_t tmp;
13492 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13493 fra.me.file = LOCATE_parser;
13494 fra.me.line = 3472;
13495 fra.me.meth = LOCATE_parser___ReduceAction58___action;
13496 fra.me.has_broke = 0;
13497 fra.me.REG_size = 10;
13498 fra.me.nitni_local_ref_head = NULL;
13499 fra.me.REG[0] = NIT_NULL;
13500 fra.me.REG[1] = NIT_NULL;
13501 fra.me.REG[2] = NIT_NULL;
13502 fra.me.REG[3] = NIT_NULL;
13503 fra.me.REG[4] = NIT_NULL;
13504 fra.me.REG[5] = NIT_NULL;
13505 fra.me.REG[6] = NIT_NULL;
13506 fra.me.REG[7] = NIT_NULL;
13507 fra.me.REG[8] = NIT_NULL;
13508 fra.me.REG[9] = NIT_NULL;
13509 fra.me.REG[0] = p0;
13510 fra.me.REG[1] = p1;
13511 /* parser/parser.nit:3474 */
13512 fra.me.REG[2] = NIT_NULL;
13513 /* parser/parser.nit:3475 */
13514 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13515 /* parser/parser.nit:3476 */
13516 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13517 /* parser/parser.nit:3477 */
13518 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13519 /* parser/parser.nit:3478 */
13520 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13521 /* parser/parser.nit:3479 */
13522 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
13523 /* parser/parser.nit:3480 */
13524 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
13525 /* parser/parser.nit:3481 */
13526 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
13527 /* parser/parser.nit:3483 */
13528 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]*/;
13529 if (UNTAG_Bool(REGB0)) {
13530 } else {
13531 nit_abort("Assert failed", NULL, LOCATE_parser, 3483);
13532 }
13533 /* parser/parser.nit:3484 */
13534 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
13535 fra.me.REG[7] = fra.me.REG[6];
13536 /* parser/parser.nit:3486 */
13537 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]*/;
13538 if (UNTAG_Bool(REGB0)) {
13539 } else {
13540 nit_abort("Assert failed", NULL, LOCATE_parser, 3486);
13541 }
13542 /* parser/parser.nit:3487 */
13543 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
13544 /* parser/parser.nit:3489 */
13545 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]*/;
13546 if (UNTAG_Bool(REGB0)) {
13547 } else {
13548 nit_abort("Assert failed", NULL, LOCATE_parser, 3489);
13549 }
13550 /* parser/parser.nit:3490 */
13551 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
13552 fra.me.REG[6] = fra.me.REG[4];
13553 /* parser/parser.nit:3491 */
13554 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
13555 /* parser/parser.nit:3495 */
13556 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*/;
13557 if (UNTAG_Bool(REGB0)) {
13558 } else {
13559 nit_abort("Assert failed", NULL, LOCATE_parser, 3495);
13560 }
13561 /* parser/parser.nit:3496 */
13562 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
13563 fra.me.REG[9] = fra.me.REG[5];
13564 /* parser/parser.nit:3497 */
13565 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
13566 if (UNTAG_Bool(REGB0)) {
13567 } else {
13568 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
13569 if (UNTAG_Bool(REGB1)) {
13570 REGB1 = TAG_Bool(0);
13571 REGB0 = REGB1;
13572 } else {
13573 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
13574 REGB0 = REGB1;
13575 }
13576 }
13577 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13578 if (UNTAG_Bool(REGB0)) {
13579 /* parser/parser.nit:3498 */
13580 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[6]);
13581 }
13582 /* parser/parser.nit:3500 */
13583 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13584 if (UNTAG_Bool(REGB0)) {
13585 } else {
13586 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13587 if (UNTAG_Bool(REGB1)) {
13588 REGB1 = TAG_Bool(0);
13589 REGB0 = REGB1;
13590 } else {
13591 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
13592 REGB0 = REGB1;
13593 }
13594 }
13595 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13596 if (UNTAG_Bool(REGB0)) {
13597 /* parser/parser.nit:3501 */
13598 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
13599 }
13600 /* parser/parser.nit:3503 */
13601 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]);
13602 /* parser/parser.nit:3509 */
13603 fra.me.REG[2] = fra.me.REG[9];
13604 /* parser/parser.nit:3510 */
13605 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13606 if (UNTAG_Bool(REGB0)) {
13607 } else {
13608 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3510);
13609 }
13610 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13611 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13612 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13613 stack_frame_head = fra.me.prev;
13614 return;
13615 }
13616 static const char LOCATE_parser___ReduceAction59___action[] = "parser::ReduceAction59::(parser::ReduceAction::action)";
13617 void parser___ReduceAction59___action(val_t p0, val_t p1){
13618 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
13619 val_t REGB0;
13620 val_t REGB1;
13621 val_t tmp;
13622 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13623 fra.me.file = LOCATE_parser;
13624 fra.me.line = 3515;
13625 fra.me.meth = LOCATE_parser___ReduceAction59___action;
13626 fra.me.has_broke = 0;
13627 fra.me.REG_size = 11;
13628 fra.me.nitni_local_ref_head = NULL;
13629 fra.me.REG[0] = NIT_NULL;
13630 fra.me.REG[1] = NIT_NULL;
13631 fra.me.REG[2] = NIT_NULL;
13632 fra.me.REG[3] = NIT_NULL;
13633 fra.me.REG[4] = NIT_NULL;
13634 fra.me.REG[5] = NIT_NULL;
13635 fra.me.REG[6] = NIT_NULL;
13636 fra.me.REG[7] = NIT_NULL;
13637 fra.me.REG[8] = NIT_NULL;
13638 fra.me.REG[9] = NIT_NULL;
13639 fra.me.REG[10] = NIT_NULL;
13640 fra.me.REG[0] = p0;
13641 fra.me.REG[1] = p1;
13642 /* parser/parser.nit:3517 */
13643 fra.me.REG[2] = NIT_NULL;
13644 /* parser/parser.nit:3518 */
13645 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13646 /* parser/parser.nit:3519 */
13647 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13648 /* parser/parser.nit:3520 */
13649 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13650 /* parser/parser.nit:3521 */
13651 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13652 /* parser/parser.nit:3522 */
13653 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13654 /* parser/parser.nit:3523 */
13655 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
13656 /* parser/parser.nit:3524 */
13657 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
13658 /* parser/parser.nit:3525 */
13659 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
13660 /* parser/parser.nit:3527 */
13661 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*/;
13662 if (UNTAG_Bool(REGB0)) {
13663 } else {
13664 nit_abort("Assert failed", NULL, LOCATE_parser, 3527);
13665 }
13666 /* parser/parser.nit:3529 */
13667 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]*/;
13668 if (UNTAG_Bool(REGB0)) {
13669 } else {
13670 nit_abort("Assert failed", NULL, LOCATE_parser, 3529);
13671 }
13672 /* parser/parser.nit:3530 */
13673 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
13674 fra.me.REG[8] = fra.me.REG[6];
13675 /* parser/parser.nit:3532 */
13676 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]*/;
13677 if (UNTAG_Bool(REGB0)) {
13678 } else {
13679 nit_abort("Assert failed", NULL, LOCATE_parser, 3532);
13680 }
13681 /* parser/parser.nit:3533 */
13682 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
13683 /* parser/parser.nit:3535 */
13684 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]*/;
13685 if (UNTAG_Bool(REGB0)) {
13686 } else {
13687 nit_abort("Assert failed", NULL, LOCATE_parser, 3535);
13688 }
13689 /* parser/parser.nit:3536 */
13690 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
13691 fra.me.REG[6] = fra.me.REG[4];
13692 /* parser/parser.nit:3537 */
13693 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
13694 /* parser/parser.nit:3541 */
13695 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*/;
13696 if (UNTAG_Bool(REGB0)) {
13697 } else {
13698 nit_abort("Assert failed", NULL, LOCATE_parser, 3541);
13699 }
13700 /* parser/parser.nit:3542 */
13701 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
13702 fra.me.REG[10] = fra.me.REG[5];
13703 /* parser/parser.nit:3543 */
13704 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
13705 if (UNTAG_Bool(REGB0)) {
13706 } else {
13707 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
13708 if (UNTAG_Bool(REGB1)) {
13709 REGB1 = TAG_Bool(0);
13710 REGB0 = REGB1;
13711 } else {
13712 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
13713 REGB0 = REGB1;
13714 }
13715 }
13716 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13717 if (UNTAG_Bool(REGB0)) {
13718 /* parser/parser.nit:3544 */
13719 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[6]);
13720 }
13721 /* parser/parser.nit:3546 */
13722 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13723 if (UNTAG_Bool(REGB0)) {
13724 } else {
13725 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13726 if (UNTAG_Bool(REGB1)) {
13727 REGB1 = TAG_Bool(0);
13728 REGB0 = REGB1;
13729 } else {
13730 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
13731 REGB0 = REGB1;
13732 }
13733 }
13734 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13735 if (UNTAG_Bool(REGB0)) {
13736 /* parser/parser.nit:3547 */
13737 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]);
13738 }
13739 /* parser/parser.nit:3549 */
13740 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]);
13741 /* parser/parser.nit:3555 */
13742 fra.me.REG[2] = fra.me.REG[10];
13743 /* parser/parser.nit:3556 */
13744 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13745 if (UNTAG_Bool(REGB0)) {
13746 } else {
13747 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3556);
13748 }
13749 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13750 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13751 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13752 stack_frame_head = fra.me.prev;
13753 return;
13754 }
13755 static const char LOCATE_parser___ReduceAction60___action[] = "parser::ReduceAction60::(parser::ReduceAction::action)";
13756 void parser___ReduceAction60___action(val_t p0, val_t p1){
13757 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
13758 val_t REGB0;
13759 val_t REGB1;
13760 val_t tmp;
13761 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13762 fra.me.file = LOCATE_parser;
13763 fra.me.line = 3561;
13764 fra.me.meth = LOCATE_parser___ReduceAction60___action;
13765 fra.me.has_broke = 0;
13766 fra.me.REG_size = 10;
13767 fra.me.nitni_local_ref_head = NULL;
13768 fra.me.REG[0] = NIT_NULL;
13769 fra.me.REG[1] = NIT_NULL;
13770 fra.me.REG[2] = NIT_NULL;
13771 fra.me.REG[3] = NIT_NULL;
13772 fra.me.REG[4] = NIT_NULL;
13773 fra.me.REG[5] = NIT_NULL;
13774 fra.me.REG[6] = NIT_NULL;
13775 fra.me.REG[7] = NIT_NULL;
13776 fra.me.REG[8] = NIT_NULL;
13777 fra.me.REG[9] = NIT_NULL;
13778 fra.me.REG[0] = p0;
13779 fra.me.REG[1] = p1;
13780 /* parser/parser.nit:3563 */
13781 fra.me.REG[2] = NIT_NULL;
13782 /* parser/parser.nit:3564 */
13783 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13784 /* parser/parser.nit:3565 */
13785 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13786 /* parser/parser.nit:3566 */
13787 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13788 /* parser/parser.nit:3567 */
13789 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13790 /* parser/parser.nit:3568 */
13791 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
13792 /* parser/parser.nit:3569 */
13793 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
13794 /* parser/parser.nit:3570 */
13795 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
13796 /* parser/parser.nit:3572 */
13797 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]*/;
13798 if (UNTAG_Bool(REGB0)) {
13799 } else {
13800 nit_abort("Assert failed", NULL, LOCATE_parser, 3572);
13801 }
13802 /* parser/parser.nit:3573 */
13803 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
13804 fra.me.REG[8] = fra.me.REG[6];
13805 /* parser/parser.nit:3575 */
13806 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]*/;
13807 if (UNTAG_Bool(REGB0)) {
13808 } else {
13809 nit_abort("Assert failed", NULL, LOCATE_parser, 3575);
13810 }
13811 /* parser/parser.nit:3576 */
13812 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
13813 /* parser/parser.nit:3578 */
13814 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]*/;
13815 if (UNTAG_Bool(REGB0)) {
13816 } else {
13817 nit_abort("Assert failed", NULL, LOCATE_parser, 3578);
13818 }
13819 /* parser/parser.nit:3579 */
13820 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
13821 fra.me.REG[6] = fra.me.REG[4];
13822 /* parser/parser.nit:3580 */
13823 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
13824 /* parser/parser.nit:3584 */
13825 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*/;
13826 if (UNTAG_Bool(REGB0)) {
13827 } else {
13828 nit_abort("Assert failed", NULL, LOCATE_parser, 3584);
13829 }
13830 /* parser/parser.nit:3585 */
13831 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
13832 fra.me.REG[9] = fra.me.REG[5];
13833 /* parser/parser.nit:3586 */
13834 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
13835 if (UNTAG_Bool(REGB0)) {
13836 } else {
13837 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
13838 if (UNTAG_Bool(REGB1)) {
13839 REGB1 = TAG_Bool(0);
13840 REGB0 = REGB1;
13841 } else {
13842 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
13843 REGB0 = REGB1;
13844 }
13845 }
13846 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13847 if (UNTAG_Bool(REGB0)) {
13848 /* parser/parser.nit:3587 */
13849 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[6]);
13850 }
13851 /* parser/parser.nit:3589 */
13852 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13853 if (UNTAG_Bool(REGB0)) {
13854 } else {
13855 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13856 if (UNTAG_Bool(REGB1)) {
13857 REGB1 = TAG_Bool(0);
13858 REGB0 = REGB1;
13859 } else {
13860 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
13861 REGB0 = REGB1;
13862 }
13863 }
13864 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13865 if (UNTAG_Bool(REGB0)) {
13866 /* parser/parser.nit:3590 */
13867 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
13868 }
13869 /* parser/parser.nit:3592 */
13870 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]);
13871 /* parser/parser.nit:3598 */
13872 fra.me.REG[2] = fra.me.REG[9];
13873 /* parser/parser.nit:3599 */
13874 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13875 if (UNTAG_Bool(REGB0)) {
13876 } else {
13877 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3599);
13878 }
13879 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13880 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13881 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13882 stack_frame_head = fra.me.prev;
13883 return;
13884 }
13885 static const char LOCATE_parser___ReduceAction61___action[] = "parser::ReduceAction61::(parser::ReduceAction::action)";
13886 void parser___ReduceAction61___action(val_t p0, val_t p1){
13887 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
13888 val_t REGB0;
13889 val_t REGB1;
13890 val_t tmp;
13891 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13892 fra.me.file = LOCATE_parser;
13893 fra.me.line = 3604;
13894 fra.me.meth = LOCATE_parser___ReduceAction61___action;
13895 fra.me.has_broke = 0;
13896 fra.me.REG_size = 11;
13897 fra.me.nitni_local_ref_head = NULL;
13898 fra.me.REG[0] = NIT_NULL;
13899 fra.me.REG[1] = NIT_NULL;
13900 fra.me.REG[2] = NIT_NULL;
13901 fra.me.REG[3] = NIT_NULL;
13902 fra.me.REG[4] = NIT_NULL;
13903 fra.me.REG[5] = NIT_NULL;
13904 fra.me.REG[6] = NIT_NULL;
13905 fra.me.REG[7] = NIT_NULL;
13906 fra.me.REG[8] = NIT_NULL;
13907 fra.me.REG[9] = NIT_NULL;
13908 fra.me.REG[10] = NIT_NULL;
13909 fra.me.REG[0] = p0;
13910 fra.me.REG[1] = p1;
13911 /* parser/parser.nit:3606 */
13912 fra.me.REG[2] = NIT_NULL;
13913 /* parser/parser.nit:3607 */
13914 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13915 /* parser/parser.nit:3608 */
13916 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13917 /* parser/parser.nit:3609 */
13918 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13919 /* parser/parser.nit:3610 */
13920 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13921 /* parser/parser.nit:3611 */
13922 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13923 /* parser/parser.nit:3612 */
13924 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
13925 /* parser/parser.nit:3613 */
13926 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
13927 /* parser/parser.nit:3614 */
13928 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
13929 /* parser/parser.nit:3616 */
13930 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*/;
13931 if (UNTAG_Bool(REGB0)) {
13932 } else {
13933 nit_abort("Assert failed", NULL, LOCATE_parser, 3616);
13934 }
13935 /* parser/parser.nit:3618 */
13936 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]*/;
13937 if (UNTAG_Bool(REGB0)) {
13938 } else {
13939 nit_abort("Assert failed", NULL, LOCATE_parser, 3618);
13940 }
13941 /* parser/parser.nit:3619 */
13942 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[6]);
13943 fra.me.REG[9] = fra.me.REG[6];
13944 /* parser/parser.nit:3621 */
13945 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]*/;
13946 if (UNTAG_Bool(REGB0)) {
13947 } else {
13948 nit_abort("Assert failed", NULL, LOCATE_parser, 3621);
13949 }
13950 /* parser/parser.nit:3622 */
13951 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
13952 /* parser/parser.nit:3624 */
13953 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]*/;
13954 if (UNTAG_Bool(REGB0)) {
13955 } else {
13956 nit_abort("Assert failed", NULL, LOCATE_parser, 3624);
13957 }
13958 /* parser/parser.nit:3625 */
13959 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
13960 fra.me.REG[6] = fra.me.REG[4];
13961 /* parser/parser.nit:3626 */
13962 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
13963 /* parser/parser.nit:3630 */
13964 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*/;
13965 if (UNTAG_Bool(REGB0)) {
13966 } else {
13967 nit_abort("Assert failed", NULL, LOCATE_parser, 3630);
13968 }
13969 /* parser/parser.nit:3631 */
13970 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
13971 fra.me.REG[10] = fra.me.REG[5];
13972 /* parser/parser.nit:3632 */
13973 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
13974 if (UNTAG_Bool(REGB0)) {
13975 } else {
13976 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
13977 if (UNTAG_Bool(REGB1)) {
13978 REGB1 = TAG_Bool(0);
13979 REGB0 = REGB1;
13980 } else {
13981 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
13982 REGB0 = REGB1;
13983 }
13984 }
13985 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13986 if (UNTAG_Bool(REGB0)) {
13987 /* parser/parser.nit:3633 */
13988 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[6]);
13989 }
13990 /* parser/parser.nit:3635 */
13991 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13992 if (UNTAG_Bool(REGB0)) {
13993 } else {
13994 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13995 if (UNTAG_Bool(REGB1)) {
13996 REGB1 = TAG_Bool(0);
13997 REGB0 = REGB1;
13998 } else {
13999 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
14000 REGB0 = REGB1;
14001 }
14002 }
14003 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14004 if (UNTAG_Bool(REGB0)) {
14005 /* parser/parser.nit:3636 */
14006 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]);
14007 }
14008 /* parser/parser.nit:3638 */
14009 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]);
14010 /* parser/parser.nit:3644 */
14011 fra.me.REG[2] = fra.me.REG[10];
14012 /* parser/parser.nit:3645 */
14013 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14014 if (UNTAG_Bool(REGB0)) {
14015 } else {
14016 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3645);
14017 }
14018 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14019 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14020 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14021 stack_frame_head = fra.me.prev;
14022 return;
14023 }
14024 static const char LOCATE_parser___ReduceAction62___action[] = "parser::ReduceAction62::(parser::ReduceAction::action)";
14025 void parser___ReduceAction62___action(val_t p0, val_t p1){
14026 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
14027 val_t REGB0;
14028 val_t REGB1;
14029 val_t tmp;
14030 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14031 fra.me.file = LOCATE_parser;
14032 fra.me.line = 3650;
14033 fra.me.meth = LOCATE_parser___ReduceAction62___action;
14034 fra.me.has_broke = 0;
14035 fra.me.REG_size = 11;
14036 fra.me.nitni_local_ref_head = NULL;
14037 fra.me.REG[0] = NIT_NULL;
14038 fra.me.REG[1] = NIT_NULL;
14039 fra.me.REG[2] = NIT_NULL;
14040 fra.me.REG[3] = NIT_NULL;
14041 fra.me.REG[4] = NIT_NULL;
14042 fra.me.REG[5] = NIT_NULL;
14043 fra.me.REG[6] = NIT_NULL;
14044 fra.me.REG[7] = NIT_NULL;
14045 fra.me.REG[8] = NIT_NULL;
14046 fra.me.REG[9] = NIT_NULL;
14047 fra.me.REG[10] = NIT_NULL;
14048 fra.me.REG[0] = p0;
14049 fra.me.REG[1] = p1;
14050 /* parser/parser.nit:3652 */
14051 fra.me.REG[2] = NIT_NULL;
14052 /* parser/parser.nit:3653 */
14053 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14054 /* parser/parser.nit:3654 */
14055 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14056 /* parser/parser.nit:3655 */
14057 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14058 /* parser/parser.nit:3656 */
14059 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14060 /* parser/parser.nit:3657 */
14061 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14062 /* parser/parser.nit:3658 */
14063 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
14064 /* parser/parser.nit:3659 */
14065 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
14066 /* parser/parser.nit:3660 */
14067 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
14068 /* parser/parser.nit:3662 */
14069 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]*/;
14070 if (UNTAG_Bool(REGB0)) {
14071 } else {
14072 nit_abort("Assert failed", NULL, LOCATE_parser, 3662);
14073 }
14074 /* parser/parser.nit:3663 */
14075 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[7]);
14076 fra.me.REG[8] = fra.me.REG[7];
14077 /* parser/parser.nit:3665 */
14078 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]*/;
14079 if (UNTAG_Bool(REGB0)) {
14080 } else {
14081 nit_abort("Assert failed", NULL, LOCATE_parser, 3665);
14082 }
14083 /* parser/parser.nit:3666 */
14084 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[6]);
14085 fra.me.REG[9] = fra.me.REG[6];
14086 /* parser/parser.nit:3668 */
14087 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]*/;
14088 if (UNTAG_Bool(REGB0)) {
14089 } else {
14090 nit_abort("Assert failed", NULL, LOCATE_parser, 3668);
14091 }
14092 /* parser/parser.nit:3669 */
14093 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
14094 /* parser/parser.nit:3671 */
14095 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]*/;
14096 if (UNTAG_Bool(REGB0)) {
14097 } else {
14098 nit_abort("Assert failed", NULL, LOCATE_parser, 3671);
14099 }
14100 /* parser/parser.nit:3672 */
14101 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
14102 fra.me.REG[6] = fra.me.REG[4];
14103 /* parser/parser.nit:3673 */
14104 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
14105 /* parser/parser.nit:3677 */
14106 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*/;
14107 if (UNTAG_Bool(REGB0)) {
14108 } else {
14109 nit_abort("Assert failed", NULL, LOCATE_parser, 3677);
14110 }
14111 /* parser/parser.nit:3678 */
14112 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
14113 fra.me.REG[10] = fra.me.REG[5];
14114 /* parser/parser.nit:3679 */
14115 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
14116 if (UNTAG_Bool(REGB0)) {
14117 } else {
14118 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
14119 if (UNTAG_Bool(REGB1)) {
14120 REGB1 = TAG_Bool(0);
14121 REGB0 = REGB1;
14122 } else {
14123 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
14124 REGB0 = REGB1;
14125 }
14126 }
14127 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14128 if (UNTAG_Bool(REGB0)) {
14129 /* parser/parser.nit:3680 */
14130 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[6]);
14131 }
14132 /* parser/parser.nit:3682 */
14133 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
14134 if (UNTAG_Bool(REGB0)) {
14135 } else {
14136 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
14137 if (UNTAG_Bool(REGB1)) {
14138 REGB1 = TAG_Bool(0);
14139 REGB0 = REGB1;
14140 } else {
14141 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
14142 REGB0 = REGB1;
14143 }
14144 }
14145 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14146 if (UNTAG_Bool(REGB0)) {
14147 /* parser/parser.nit:3683 */
14148 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]);
14149 }
14150 /* parser/parser.nit:3685 */
14151 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]);
14152 /* parser/parser.nit:3691 */
14153 fra.me.REG[2] = fra.me.REG[10];
14154 /* parser/parser.nit:3692 */
14155 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14156 if (UNTAG_Bool(REGB0)) {
14157 } else {
14158 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3692);
14159 }
14160 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14161 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14162 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14163 stack_frame_head = fra.me.prev;
14164 return;
14165 }
14166 static const char LOCATE_parser___ReduceAction63___action[] = "parser::ReduceAction63::(parser::ReduceAction::action)";
14167 void parser___ReduceAction63___action(val_t p0, val_t p1){
14168 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
14169 val_t REGB0;
14170 val_t REGB1;
14171 val_t tmp;
14172 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14173 fra.me.file = LOCATE_parser;
14174 fra.me.line = 3697;
14175 fra.me.meth = LOCATE_parser___ReduceAction63___action;
14176 fra.me.has_broke = 0;
14177 fra.me.REG_size = 12;
14178 fra.me.nitni_local_ref_head = NULL;
14179 fra.me.REG[0] = NIT_NULL;
14180 fra.me.REG[1] = NIT_NULL;
14181 fra.me.REG[2] = NIT_NULL;
14182 fra.me.REG[3] = NIT_NULL;
14183 fra.me.REG[4] = NIT_NULL;
14184 fra.me.REG[5] = NIT_NULL;
14185 fra.me.REG[6] = NIT_NULL;
14186 fra.me.REG[7] = NIT_NULL;
14187 fra.me.REG[8] = NIT_NULL;
14188 fra.me.REG[9] = NIT_NULL;
14189 fra.me.REG[10] = NIT_NULL;
14190 fra.me.REG[11] = NIT_NULL;
14191 fra.me.REG[0] = p0;
14192 fra.me.REG[1] = p1;
14193 /* parser/parser.nit:3699 */
14194 fra.me.REG[2] = NIT_NULL;
14195 /* parser/parser.nit:3700 */
14196 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14197 /* parser/parser.nit:3701 */
14198 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14199 /* parser/parser.nit:3702 */
14200 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14201 /* parser/parser.nit:3703 */
14202 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14203 /* parser/parser.nit:3704 */
14204 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14205 /* parser/parser.nit:3705 */
14206 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14207 /* parser/parser.nit:3706 */
14208 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
14209 /* parser/parser.nit:3707 */
14210 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
14211 /* parser/parser.nit:3708 */
14212 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
14213 /* parser/parser.nit:3710 */
14214 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*/;
14215 if (UNTAG_Bool(REGB0)) {
14216 } else {
14217 nit_abort("Assert failed", NULL, LOCATE_parser, 3710);
14218 }
14219 /* parser/parser.nit:3712 */
14220 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]*/;
14221 if (UNTAG_Bool(REGB0)) {
14222 } else {
14223 nit_abort("Assert failed", NULL, LOCATE_parser, 3712);
14224 }
14225 /* parser/parser.nit:3713 */
14226 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[7]);
14227 fra.me.REG[9] = fra.me.REG[7];
14228 /* parser/parser.nit:3715 */
14229 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]*/;
14230 if (UNTAG_Bool(REGB0)) {
14231 } else {
14232 nit_abort("Assert failed", NULL, LOCATE_parser, 3715);
14233 }
14234 /* parser/parser.nit:3716 */
14235 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[6]);
14236 fra.me.REG[10] = fra.me.REG[6];
14237 /* parser/parser.nit:3718 */
14238 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]*/;
14239 if (UNTAG_Bool(REGB0)) {
14240 } else {
14241 nit_abort("Assert failed", NULL, LOCATE_parser, 3718);
14242 }
14243 /* parser/parser.nit:3719 */
14244 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
14245 /* parser/parser.nit:3721 */
14246 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]*/;
14247 if (UNTAG_Bool(REGB0)) {
14248 } else {
14249 nit_abort("Assert failed", NULL, LOCATE_parser, 3721);
14250 }
14251 /* parser/parser.nit:3722 */
14252 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
14253 fra.me.REG[6] = fra.me.REG[4];
14254 /* parser/parser.nit:3723 */
14255 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
14256 /* parser/parser.nit:3727 */
14257 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*/;
14258 if (UNTAG_Bool(REGB0)) {
14259 } else {
14260 nit_abort("Assert failed", NULL, LOCATE_parser, 3727);
14261 }
14262 /* parser/parser.nit:3728 */
14263 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
14264 fra.me.REG[11] = fra.me.REG[5];
14265 /* parser/parser.nit:3729 */
14266 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
14267 if (UNTAG_Bool(REGB0)) {
14268 } else {
14269 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
14270 if (UNTAG_Bool(REGB1)) {
14271 REGB1 = TAG_Bool(0);
14272 REGB0 = REGB1;
14273 } else {
14274 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
14275 REGB0 = REGB1;
14276 }
14277 }
14278 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14279 if (UNTAG_Bool(REGB0)) {
14280 /* parser/parser.nit:3730 */
14281 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[6]);
14282 }
14283 /* parser/parser.nit:3732 */
14284 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
14285 if (UNTAG_Bool(REGB0)) {
14286 } else {
14287 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
14288 if (UNTAG_Bool(REGB1)) {
14289 REGB1 = TAG_Bool(0);
14290 REGB0 = REGB1;
14291 } else {
14292 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
14293 REGB0 = REGB1;
14294 }
14295 }
14296 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14297 if (UNTAG_Bool(REGB0)) {
14298 /* parser/parser.nit:3733 */
14299 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[3]);
14300 }
14301 /* parser/parser.nit:3735 */
14302 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]);
14303 /* parser/parser.nit:3741 */
14304 fra.me.REG[2] = fra.me.REG[11];
14305 /* parser/parser.nit:3742 */
14306 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14307 if (UNTAG_Bool(REGB0)) {
14308 } else {
14309 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3742);
14310 }
14311 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14312 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14313 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14314 stack_frame_head = fra.me.prev;
14315 return;
14316 }
14317 static const char LOCATE_parser___ReduceAction64___action[] = "parser::ReduceAction64::(parser::ReduceAction::action)";
14318 void parser___ReduceAction64___action(val_t p0, val_t p1){
14319 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
14320 val_t REGB0;
14321 val_t tmp;
14322 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14323 fra.me.file = LOCATE_parser;
14324 fra.me.line = 3747;
14325 fra.me.meth = LOCATE_parser___ReduceAction64___action;
14326 fra.me.has_broke = 0;
14327 fra.me.REG_size = 6;
14328 fra.me.nitni_local_ref_head = NULL;
14329 fra.me.REG[0] = NIT_NULL;
14330 fra.me.REG[1] = NIT_NULL;
14331 fra.me.REG[2] = NIT_NULL;
14332 fra.me.REG[3] = NIT_NULL;
14333 fra.me.REG[4] = NIT_NULL;
14334 fra.me.REG[5] = NIT_NULL;
14335 fra.me.REG[0] = p0;
14336 fra.me.REG[1] = p1;
14337 /* parser/parser.nit:3749 */
14338 fra.me.REG[2] = NIT_NULL;
14339 /* parser/parser.nit:3750 */
14340 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14341 /* parser/parser.nit:3751 */
14342 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14343 /* parser/parser.nit:3752 */
14344 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14345 /* parser/parser.nit:3753 */
14346 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14347 /* parser/parser.nit:3754 */
14348 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14349 /* parser/parser.nit:3756 */
14350 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*/;
14351 if (UNTAG_Bool(REGB0)) {
14352 } else {
14353 nit_abort("Assert failed", NULL, LOCATE_parser, 3756);
14354 }
14355 /* parser/parser.nit:3758 */
14356 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*/;
14357 if (UNTAG_Bool(REGB0)) {
14358 } else {
14359 nit_abort("Assert failed", NULL, LOCATE_parser, 3758);
14360 }
14361 /* parser/parser.nit:3760 */
14362 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*/;
14363 if (UNTAG_Bool(REGB0)) {
14364 } else {
14365 nit_abort("Assert failed", NULL, LOCATE_parser, 3760);
14366 }
14367 /* parser/parser.nit:3761 */
14368 fra.me.REG[3] = NEW_AModuledecl_parser___parser_prod___AModuledecl___init_amoduledecl(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
14369 /* parser/parser.nit:3767 */
14370 fra.me.REG[2] = fra.me.REG[3];
14371 /* parser/parser.nit:3768 */
14372 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14373 if (UNTAG_Bool(REGB0)) {
14374 } else {
14375 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3768);
14376 }
14377 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14378 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14379 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14380 stack_frame_head = fra.me.prev;
14381 return;
14382 }
14383 static const char LOCATE_parser___ReduceAction65___action[] = "parser::ReduceAction65::(parser::ReduceAction::action)";
14384 void parser___ReduceAction65___action(val_t p0, val_t p1){
14385 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
14386 val_t REGB0;
14387 val_t tmp;
14388 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14389 fra.me.file = LOCATE_parser;
14390 fra.me.line = 3773;
14391 fra.me.meth = LOCATE_parser___ReduceAction65___action;
14392 fra.me.has_broke = 0;
14393 fra.me.REG_size = 7;
14394 fra.me.nitni_local_ref_head = NULL;
14395 fra.me.REG[0] = NIT_NULL;
14396 fra.me.REG[1] = NIT_NULL;
14397 fra.me.REG[2] = NIT_NULL;
14398 fra.me.REG[3] = NIT_NULL;
14399 fra.me.REG[4] = NIT_NULL;
14400 fra.me.REG[5] = NIT_NULL;
14401 fra.me.REG[6] = NIT_NULL;
14402 fra.me.REG[0] = p0;
14403 fra.me.REG[1] = p1;
14404 /* parser/parser.nit:3775 */
14405 fra.me.REG[2] = NIT_NULL;
14406 /* parser/parser.nit:3776 */
14407 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14408 /* parser/parser.nit:3777 */
14409 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14410 /* parser/parser.nit:3778 */
14411 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14412 /* parser/parser.nit:3779 */
14413 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14414 /* parser/parser.nit:3780 */
14415 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14416 /* parser/parser.nit:3781 */
14417 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14418 /* parser/parser.nit:3783 */
14419 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*/;
14420 if (UNTAG_Bool(REGB0)) {
14421 } else {
14422 nit_abort("Assert failed", NULL, LOCATE_parser, 3783);
14423 }
14424 /* parser/parser.nit:3785 */
14425 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwmodule, ID_parser___parser_nodes___TKwmodule)) /*cast nullable TKwmodule*/;
14426 if (UNTAG_Bool(REGB0)) {
14427 } else {
14428 nit_abort("Assert failed", NULL, LOCATE_parser, 3785);
14429 }
14430 /* parser/parser.nit:3787 */
14431 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AModuleName, ID_parser___parser_nodes___AModuleName)) /*cast nullable AModuleName*/;
14432 if (UNTAG_Bool(REGB0)) {
14433 } else {
14434 nit_abort("Assert failed", NULL, LOCATE_parser, 3787);
14435 }
14436 /* parser/parser.nit:3789 */
14437 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
14438 if (UNTAG_Bool(REGB0)) {
14439 } else {
14440 nit_abort("Assert failed", NULL, LOCATE_parser, 3789);
14441 }
14442 /* parser/parser.nit:3790 */
14443 fra.me.REG[3] = NEW_AModuledecl_parser___parser_prod___AModuledecl___init_amoduledecl(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
14444 /* parser/parser.nit:3796 */
14445 fra.me.REG[2] = fra.me.REG[3];
14446 /* parser/parser.nit:3797 */
14447 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14448 if (UNTAG_Bool(REGB0)) {
14449 } else {
14450 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3797);
14451 }
14452 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14453 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14454 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14455 stack_frame_head = fra.me.prev;
14456 return;
14457 }
14458 static const char LOCATE_parser___ReduceAction66___action[] = "parser::ReduceAction66::(parser::ReduceAction::action)";
14459 void parser___ReduceAction66___action(val_t p0, val_t p1){
14460 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
14461 val_t REGB0;
14462 val_t tmp;
14463 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14464 fra.me.file = LOCATE_parser;
14465 fra.me.line = 3802;
14466 fra.me.meth = LOCATE_parser___ReduceAction66___action;
14467 fra.me.has_broke = 0;
14468 fra.me.REG_size = 7;
14469 fra.me.nitni_local_ref_head = NULL;
14470 fra.me.REG[0] = NIT_NULL;
14471 fra.me.REG[1] = NIT_NULL;
14472 fra.me.REG[2] = NIT_NULL;
14473 fra.me.REG[3] = NIT_NULL;
14474 fra.me.REG[4] = NIT_NULL;
14475 fra.me.REG[5] = NIT_NULL;
14476 fra.me.REG[6] = NIT_NULL;
14477 fra.me.REG[0] = p0;
14478 fra.me.REG[1] = p1;
14479 /* parser/parser.nit:3804 */
14480 fra.me.REG[2] = NIT_NULL;
14481 /* parser/parser.nit:3805 */
14482 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14483 /* parser/parser.nit:3806 */
14484 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14485 /* parser/parser.nit:3807 */
14486 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14487 /* parser/parser.nit:3808 */
14488 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14489 /* parser/parser.nit:3809 */
14490 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14491 /* parser/parser.nit:3810 */
14492 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14493 /* parser/parser.nit:3812 */
14494 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*/;
14495 if (UNTAG_Bool(REGB0)) {
14496 } else {
14497 nit_abort("Assert failed", NULL, LOCATE_parser, 3812);
14498 }
14499 /* parser/parser.nit:3814 */
14500 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*/;
14501 if (UNTAG_Bool(REGB0)) {
14502 } else {
14503 nit_abort("Assert failed", NULL, LOCATE_parser, 3814);
14504 }
14505 /* parser/parser.nit:3816 */
14506 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*/;
14507 if (UNTAG_Bool(REGB0)) {
14508 } else {
14509 nit_abort("Assert failed", NULL, LOCATE_parser, 3816);
14510 }
14511 /* parser/parser.nit:3817 */
14512 fra.me.REG[3] = NEW_AStdImport_parser___parser_prod___AStdImport___init_astdimport(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
14513 /* parser/parser.nit:3823 */
14514 fra.me.REG[2] = fra.me.REG[3];
14515 /* parser/parser.nit:3824 */
14516 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14517 if (UNTAG_Bool(REGB0)) {
14518 } else {
14519 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3824);
14520 }
14521 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14522 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14523 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14524 stack_frame_head = fra.me.prev;
14525 return;
14526 }
14527 static const char LOCATE_parser___ReduceAction67___action[] = "parser::ReduceAction67::(parser::ReduceAction::action)";
14528 void parser___ReduceAction67___action(val_t p0, val_t p1){
14529 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
14530 val_t REGB0;
14531 val_t tmp;
14532 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14533 fra.me.file = LOCATE_parser;
14534 fra.me.line = 3829;
14535 fra.me.meth = LOCATE_parser___ReduceAction67___action;
14536 fra.me.has_broke = 0;
14537 fra.me.REG_size = 8;
14538 fra.me.nitni_local_ref_head = NULL;
14539 fra.me.REG[0] = NIT_NULL;
14540 fra.me.REG[1] = NIT_NULL;
14541 fra.me.REG[2] = NIT_NULL;
14542 fra.me.REG[3] = NIT_NULL;
14543 fra.me.REG[4] = NIT_NULL;
14544 fra.me.REG[5] = NIT_NULL;
14545 fra.me.REG[6] = NIT_NULL;
14546 fra.me.REG[7] = NIT_NULL;
14547 fra.me.REG[0] = p0;
14548 fra.me.REG[1] = p1;
14549 /* parser/parser.nit:3831 */
14550 fra.me.REG[2] = NIT_NULL;
14551 /* parser/parser.nit:3832 */
14552 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14553 /* parser/parser.nit:3833 */
14554 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14555 /* parser/parser.nit:3834 */
14556 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14557 /* parser/parser.nit:3835 */
14558 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14559 /* parser/parser.nit:3836 */
14560 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14561 /* parser/parser.nit:3837 */
14562 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14563 /* parser/parser.nit:3838 */
14564 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14565 /* parser/parser.nit:3840 */
14566 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*/;
14567 if (UNTAG_Bool(REGB0)) {
14568 } else {
14569 nit_abort("Assert failed", NULL, LOCATE_parser, 3840);
14570 }
14571 /* parser/parser.nit:3842 */
14572 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*/;
14573 if (UNTAG_Bool(REGB0)) {
14574 } else {
14575 nit_abort("Assert failed", NULL, LOCATE_parser, 3842);
14576 }
14577 /* parser/parser.nit:3844 */
14578 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AModuleName, ID_parser___parser_nodes___AModuleName)) /*cast nullable AModuleName*/;
14579 if (UNTAG_Bool(REGB0)) {
14580 } else {
14581 nit_abort("Assert failed", NULL, LOCATE_parser, 3844);
14582 }
14583 /* parser/parser.nit:3846 */
14584 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
14585 if (UNTAG_Bool(REGB0)) {
14586 } else {
14587 nit_abort("Assert failed", NULL, LOCATE_parser, 3846);
14588 }
14589 /* parser/parser.nit:3847 */
14590 fra.me.REG[3] = NEW_AStdImport_parser___parser_prod___AStdImport___init_astdimport(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
14591 /* parser/parser.nit:3853 */
14592 fra.me.REG[2] = fra.me.REG[3];
14593 /* parser/parser.nit:3854 */
14594 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14595 if (UNTAG_Bool(REGB0)) {
14596 } else {
14597 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3854);
14598 }
14599 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14600 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14601 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14602 stack_frame_head = fra.me.prev;
14603 return;
14604 }
14605 static const char LOCATE_parser___ReduceAction68___action[] = "parser::ReduceAction68::(parser::ReduceAction::action)";
14606 void parser___ReduceAction68___action(val_t p0, val_t p1){
14607 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
14608 val_t REGB0;
14609 val_t tmp;
14610 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14611 fra.me.file = LOCATE_parser;
14612 fra.me.line = 3859;
14613 fra.me.meth = LOCATE_parser___ReduceAction68___action;
14614 fra.me.has_broke = 0;
14615 fra.me.REG_size = 7;
14616 fra.me.nitni_local_ref_head = NULL;
14617 fra.me.REG[0] = NIT_NULL;
14618 fra.me.REG[1] = NIT_NULL;
14619 fra.me.REG[2] = NIT_NULL;
14620 fra.me.REG[3] = NIT_NULL;
14621 fra.me.REG[4] = NIT_NULL;
14622 fra.me.REG[5] = NIT_NULL;
14623 fra.me.REG[6] = NIT_NULL;
14624 fra.me.REG[0] = p0;
14625 fra.me.REG[1] = p1;
14626 /* parser/parser.nit:3861 */
14627 fra.me.REG[2] = NIT_NULL;
14628 /* parser/parser.nit:3862 */
14629 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14630 /* parser/parser.nit:3863 */
14631 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14632 /* parser/parser.nit:3864 */
14633 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14634 /* parser/parser.nit:3865 */
14635 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14636 /* parser/parser.nit:3866 */
14637 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14638 /* parser/parser.nit:3867 */
14639 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14640 /* parser/parser.nit:3869 */
14641 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*/;
14642 if (UNTAG_Bool(REGB0)) {
14643 } else {
14644 nit_abort("Assert failed", NULL, LOCATE_parser, 3869);
14645 }
14646 /* parser/parser.nit:3871 */
14647 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*/;
14648 if (UNTAG_Bool(REGB0)) {
14649 } else {
14650 nit_abort("Assert failed", NULL, LOCATE_parser, 3871);
14651 }
14652 /* parser/parser.nit:3873 */
14653 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*/;
14654 if (UNTAG_Bool(REGB0)) {
14655 } else {
14656 nit_abort("Assert failed", NULL, LOCATE_parser, 3873);
14657 }
14658 /* parser/parser.nit:3874 */
14659 fra.me.REG[3] = NEW_ANoImport_parser___parser_prod___ANoImport___init_anoimport(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
14660 /* parser/parser.nit:3879 */
14661 fra.me.REG[2] = fra.me.REG[3];
14662 /* parser/parser.nit:3880 */
14663 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14664 if (UNTAG_Bool(REGB0)) {
14665 } else {
14666 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3880);
14667 }
14668 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14669 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14670 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14671 stack_frame_head = fra.me.prev;
14672 return;
14673 }
14674 static const char LOCATE_parser___ReduceAction69___action[] = "parser::ReduceAction69::(parser::ReduceAction::action)";
14675 void parser___ReduceAction69___action(val_t p0, val_t p1){
14676 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
14677 val_t REGB0;
14678 val_t REGB1;
14679 val_t tmp;
14680 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14681 fra.me.file = LOCATE_parser;
14682 fra.me.line = 3885;
14683 fra.me.meth = LOCATE_parser___ReduceAction69___action;
14684 fra.me.has_broke = 0;
14685 fra.me.REG_size = 5;
14686 fra.me.nitni_local_ref_head = NULL;
14687 fra.me.REG[0] = NIT_NULL;
14688 fra.me.REG[1] = NIT_NULL;
14689 fra.me.REG[2] = NIT_NULL;
14690 fra.me.REG[3] = NIT_NULL;
14691 fra.me.REG[4] = NIT_NULL;
14692 fra.me.REG[0] = p0;
14693 fra.me.REG[1] = p1;
14694 /* parser/parser.nit:3887 */
14695 fra.me.REG[2] = NIT_NULL;
14696 /* parser/parser.nit:3888 */
14697 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14698 /* parser/parser.nit:3889 */
14699 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
14700 /* parser/parser.nit:3891 */
14701 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*/;
14702 if (UNTAG_Bool(REGB0)) {
14703 } else {
14704 nit_abort("Assert failed", NULL, LOCATE_parser, 3891);
14705 }
14706 /* parser/parser.nit:3892 */
14707 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
14708 if (UNTAG_Bool(REGB0)) {
14709 } else {
14710 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
14711 if (UNTAG_Bool(REGB1)) {
14712 REGB1 = TAG_Bool(0);
14713 REGB0 = REGB1;
14714 } else {
14715 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
14716 REGB0 = REGB1;
14717 }
14718 }
14719 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14720 if (UNTAG_Bool(REGB0)) {
14721 /* parser/parser.nit:3893 */
14722 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
14723 }
14724 /* parser/parser.nit:3895 */
14725 fra.me.REG[4] = NEW_AMainClassdef_parser___parser_prod___AMainClassdef___init_amainclassdef(fra.me.REG[4]);
14726 /* parser/parser.nit:3898 */
14727 fra.me.REG[2] = fra.me.REG[4];
14728 /* parser/parser.nit:3899 */
14729 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14730 if (UNTAG_Bool(REGB0)) {
14731 } else {
14732 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3899);
14733 }
14734 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14735 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14736 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14737 stack_frame_head = fra.me.prev;
14738 return;
14739 }
14740 static const char LOCATE_parser___ReduceAction70___action[] = "parser::ReduceAction70::(parser::ReduceAction::action)";
14741 void parser___ReduceAction70___action(val_t p0, val_t p1){
14742 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
14743 val_t REGB0;
14744 val_t tmp;
14745 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14746 fra.me.file = LOCATE_parser;
14747 fra.me.line = 3904;
14748 fra.me.meth = LOCATE_parser___ReduceAction70___action;
14749 fra.me.has_broke = 0;
14750 fra.me.REG_size = 4;
14751 fra.me.nitni_local_ref_head = NULL;
14752 fra.me.REG[0] = NIT_NULL;
14753 fra.me.REG[1] = NIT_NULL;
14754 fra.me.REG[2] = NIT_NULL;
14755 fra.me.REG[3] = NIT_NULL;
14756 fra.me.REG[0] = p0;
14757 fra.me.REG[1] = p1;
14758 /* parser/parser.nit:3906 */
14759 fra.me.REG[2] = NIT_NULL;
14760 /* parser/parser.nit:3907 */
14761 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14762 /* parser/parser.nit:3908 */
14763 fra.me.REG[2] = NIT_NULL;
14764 /* parser/parser.nit:3909 */
14765 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14766 if (UNTAG_Bool(REGB0)) {
14767 } else {
14768 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3909);
14769 }
14770 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14771 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14772 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14773 stack_frame_head = fra.me.prev;
14774 return;
14775 }
14776 static const char LOCATE_parser___ReduceAction71___action[] = "parser::ReduceAction71::(parser::ReduceAction::action)";
14777 void parser___ReduceAction71___action(val_t p0, val_t p1){
14778 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
14779 val_t REGB0;
14780 val_t tmp;
14781 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14782 fra.me.file = LOCATE_parser;
14783 fra.me.line = 3914;
14784 fra.me.meth = LOCATE_parser___ReduceAction71___action;
14785 fra.me.has_broke = 0;
14786 fra.me.REG_size = 5;
14787 fra.me.nitni_local_ref_head = NULL;
14788 fra.me.REG[0] = NIT_NULL;
14789 fra.me.REG[1] = NIT_NULL;
14790 fra.me.REG[2] = NIT_NULL;
14791 fra.me.REG[3] = NIT_NULL;
14792 fra.me.REG[4] = NIT_NULL;
14793 fra.me.REG[0] = p0;
14794 fra.me.REG[1] = p1;
14795 /* parser/parser.nit:3916 */
14796 fra.me.REG[2] = NIT_NULL;
14797 /* parser/parser.nit:3917 */
14798 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14799 /* parser/parser.nit:3918 */
14800 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14801 /* parser/parser.nit:3920 */
14802 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
14803 if (UNTAG_Bool(REGB0)) {
14804 } else {
14805 nit_abort("Assert failed", NULL, LOCATE_parser, 3920);
14806 }
14807 /* parser/parser.nit:3921 */
14808 fra.me.REG[3] = NEW_AMainMethPropdef_parser___parser_prod___AMainMethPropdef___init_amainmethpropdef(NIT_NULL, fra.me.REG[3]);
14809 /* parser/parser.nit:3925 */
14810 fra.me.REG[2] = fra.me.REG[3];
14811 /* parser/parser.nit:3926 */
14812 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14813 if (UNTAG_Bool(REGB0)) {
14814 } else {
14815 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3926);
14816 }
14817 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14818 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14819 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14820 stack_frame_head = fra.me.prev;
14821 return;
14822 }
14823 static const char LOCATE_parser___ReduceAction73___action[] = "parser::ReduceAction73::(parser::ReduceAction::action)";
14824 void parser___ReduceAction73___action(val_t p0, val_t p1){
14825 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
14826 val_t REGB0;
14827 val_t tmp;
14828 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14829 fra.me.file = LOCATE_parser;
14830 fra.me.line = 3931;
14831 fra.me.meth = LOCATE_parser___ReduceAction73___action;
14832 fra.me.has_broke = 0;
14833 fra.me.REG_size = 11;
14834 fra.me.nitni_local_ref_head = NULL;
14835 fra.me.REG[0] = NIT_NULL;
14836 fra.me.REG[1] = NIT_NULL;
14837 fra.me.REG[2] = NIT_NULL;
14838 fra.me.REG[3] = NIT_NULL;
14839 fra.me.REG[4] = NIT_NULL;
14840 fra.me.REG[5] = NIT_NULL;
14841 fra.me.REG[6] = NIT_NULL;
14842 fra.me.REG[7] = NIT_NULL;
14843 fra.me.REG[8] = NIT_NULL;
14844 fra.me.REG[9] = NIT_NULL;
14845 fra.me.REG[10] = NIT_NULL;
14846 fra.me.REG[0] = p0;
14847 fra.me.REG[1] = p1;
14848 /* parser/parser.nit:3933 */
14849 fra.me.REG[2] = NIT_NULL;
14850 /* parser/parser.nit:3934 */
14851 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14852 /* parser/parser.nit:3935 */
14853 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14854 /* parser/parser.nit:3936 */
14855 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14856 /* parser/parser.nit:3937 */
14857 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14858 /* parser/parser.nit:3938 */
14859 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14860 /* parser/parser.nit:3939 */
14861 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14862 /* parser/parser.nit:3940 */
14863 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14864 /* parser/parser.nit:3941 */
14865 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
14866 /* parser/parser.nit:3942 */
14867 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
14868 /* parser/parser.nit:3943 */
14869 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
14870 /* parser/parser.nit:3945 */
14871 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*/;
14872 if (UNTAG_Bool(REGB0)) {
14873 } else {
14874 nit_abort("Assert failed", NULL, LOCATE_parser, 3945);
14875 }
14876 /* parser/parser.nit:3947 */
14877 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*/;
14878 if (UNTAG_Bool(REGB0)) {
14879 } else {
14880 nit_abort("Assert failed", NULL, LOCATE_parser, 3947);
14881 }
14882 /* parser/parser.nit:3949 */
14883 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*/;
14884 if (UNTAG_Bool(REGB0)) {
14885 } else {
14886 nit_abort("Assert failed", NULL, LOCATE_parser, 3949);
14887 }
14888 /* parser/parser.nit:3951 */
14889 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*/;
14890 if (UNTAG_Bool(REGB0)) {
14891 } else {
14892 nit_abort("Assert failed", NULL, LOCATE_parser, 3951);
14893 }
14894 /* parser/parser.nit:3953 */
14895 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*/;
14896 if (UNTAG_Bool(REGB0)) {
14897 } else {
14898 nit_abort("Assert failed", NULL, LOCATE_parser, 3953);
14899 }
14900 /* parser/parser.nit:3954 */
14901 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, NIT_NULL, fra.me.REG[9], fra.me.REG[10], fra.me.REG[3]);
14902 /* parser/parser.nit:3967 */
14903 fra.me.REG[2] = fra.me.REG[3];
14904 /* parser/parser.nit:3968 */
14905 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14906 if (UNTAG_Bool(REGB0)) {
14907 } else {
14908 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3968);
14909 }
14910 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14911 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14912 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14913 stack_frame_head = fra.me.prev;
14914 return;
14915 }
14916 static const char LOCATE_parser___ReduceAction74___action[] = "parser::ReduceAction74::(parser::ReduceAction::action)";
14917 void parser___ReduceAction74___action(val_t p0, val_t p1){
14918 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
14919 val_t REGB0;
14920 val_t tmp;
14921 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14922 fra.me.file = LOCATE_parser;
14923 fra.me.line = 3973;
14924 fra.me.meth = LOCATE_parser___ReduceAction74___action;
14925 fra.me.has_broke = 0;
14926 fra.me.REG_size = 12;
14927 fra.me.nitni_local_ref_head = NULL;
14928 fra.me.REG[0] = NIT_NULL;
14929 fra.me.REG[1] = NIT_NULL;
14930 fra.me.REG[2] = NIT_NULL;
14931 fra.me.REG[3] = NIT_NULL;
14932 fra.me.REG[4] = NIT_NULL;
14933 fra.me.REG[5] = NIT_NULL;
14934 fra.me.REG[6] = NIT_NULL;
14935 fra.me.REG[7] = NIT_NULL;
14936 fra.me.REG[8] = NIT_NULL;
14937 fra.me.REG[9] = NIT_NULL;
14938 fra.me.REG[10] = NIT_NULL;
14939 fra.me.REG[11] = NIT_NULL;
14940 fra.me.REG[0] = p0;
14941 fra.me.REG[1] = p1;
14942 /* parser/parser.nit:3975 */
14943 fra.me.REG[2] = NIT_NULL;
14944 /* parser/parser.nit:3976 */
14945 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14946 /* parser/parser.nit:3977 */
14947 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14948 /* parser/parser.nit:3978 */
14949 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14950 /* parser/parser.nit:3979 */
14951 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14952 /* parser/parser.nit:3980 */
14953 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14954 /* parser/parser.nit:3981 */
14955 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14956 /* parser/parser.nit:3982 */
14957 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14958 /* parser/parser.nit:3983 */
14959 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14960 /* parser/parser.nit:3984 */
14961 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
14962 /* parser/parser.nit:3985 */
14963 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
14964 /* parser/parser.nit:3986 */
14965 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
14966 /* parser/parser.nit:3988 */
14967 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*/;
14968 if (UNTAG_Bool(REGB0)) {
14969 } else {
14970 nit_abort("Assert failed", NULL, LOCATE_parser, 3988);
14971 }
14972 /* parser/parser.nit:3990 */
14973 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*/;
14974 if (UNTAG_Bool(REGB0)) {
14975 } else {
14976 nit_abort("Assert failed", NULL, LOCATE_parser, 3990);
14977 }
14978 /* parser/parser.nit:3992 */
14979 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*/;
14980 if (UNTAG_Bool(REGB0)) {
14981 } else {
14982 nit_abort("Assert failed", NULL, LOCATE_parser, 3992);
14983 }
14984 /* parser/parser.nit:3994 */
14985 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*/;
14986 if (UNTAG_Bool(REGB0)) {
14987 } else {
14988 nit_abort("Assert failed", NULL, LOCATE_parser, 3994);
14989 }
14990 /* parser/parser.nit:3996 */
14991 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*/;
14992 if (UNTAG_Bool(REGB0)) {
14993 } else {
14994 nit_abort("Assert failed", NULL, LOCATE_parser, 3996);
14995 }
14996 /* parser/parser.nit:3998 */
14997 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*/;
14998 if (UNTAG_Bool(REGB0)) {
14999 } else {
15000 nit_abort("Assert failed", NULL, LOCATE_parser, 3998);
15001 }
15002 /* parser/parser.nit:3999 */
15003 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, NIT_NULL, fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
15004 /* parser/parser.nit:4012 */
15005 fra.me.REG[2] = fra.me.REG[3];
15006 /* parser/parser.nit:4013 */
15007 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15008 if (UNTAG_Bool(REGB0)) {
15009 } else {
15010 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4013);
15011 }
15012 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15013 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15014 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15015 stack_frame_head = fra.me.prev;
15016 return;
15017 }
15018 static const char LOCATE_parser___ReduceAction75___action[] = "parser::ReduceAction75::(parser::ReduceAction::action)";
15019 void parser___ReduceAction75___action(val_t p0, val_t p1){
15020 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
15021 val_t REGB0;
15022 val_t tmp;
15023 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15024 fra.me.file = LOCATE_parser;
15025 fra.me.line = 4018;
15026 fra.me.meth = LOCATE_parser___ReduceAction75___action;
15027 fra.me.has_broke = 0;
15028 fra.me.REG_size = 12;
15029 fra.me.nitni_local_ref_head = NULL;
15030 fra.me.REG[0] = NIT_NULL;
15031 fra.me.REG[1] = NIT_NULL;
15032 fra.me.REG[2] = NIT_NULL;
15033 fra.me.REG[3] = NIT_NULL;
15034 fra.me.REG[4] = NIT_NULL;
15035 fra.me.REG[5] = NIT_NULL;
15036 fra.me.REG[6] = NIT_NULL;
15037 fra.me.REG[7] = NIT_NULL;
15038 fra.me.REG[8] = NIT_NULL;
15039 fra.me.REG[9] = NIT_NULL;
15040 fra.me.REG[10] = NIT_NULL;
15041 fra.me.REG[11] = NIT_NULL;
15042 fra.me.REG[0] = p0;
15043 fra.me.REG[1] = p1;
15044 /* parser/parser.nit:4020 */
15045 fra.me.REG[2] = NIT_NULL;
15046 /* parser/parser.nit:4021 */
15047 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15048 /* parser/parser.nit:4022 */
15049 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15050 /* parser/parser.nit:4023 */
15051 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15052 /* parser/parser.nit:4024 */
15053 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15054 /* parser/parser.nit:4025 */
15055 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15056 /* parser/parser.nit:4026 */
15057 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15058 /* parser/parser.nit:4027 */
15059 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15060 /* parser/parser.nit:4028 */
15061 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15062 /* parser/parser.nit:4029 */
15063 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
15064 /* parser/parser.nit:4030 */
15065 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
15066 /* parser/parser.nit:4031 */
15067 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
15068 /* parser/parser.nit:4033 */
15069 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*/;
15070 if (UNTAG_Bool(REGB0)) {
15071 } else {
15072 nit_abort("Assert failed", NULL, LOCATE_parser, 4033);
15073 }
15074 /* parser/parser.nit:4035 */
15075 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*/;
15076 if (UNTAG_Bool(REGB0)) {
15077 } else {
15078 nit_abort("Assert failed", NULL, LOCATE_parser, 4035);
15079 }
15080 /* parser/parser.nit:4037 */
15081 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*/;
15082 if (UNTAG_Bool(REGB0)) {
15083 } else {
15084 nit_abort("Assert failed", NULL, LOCATE_parser, 4037);
15085 }
15086 /* parser/parser.nit:4039 */
15087 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*/;
15088 if (UNTAG_Bool(REGB0)) {
15089 } else {
15090 nit_abort("Assert failed", NULL, LOCATE_parser, 4039);
15091 }
15092 /* parser/parser.nit:4041 */
15093 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]*/;
15094 if (UNTAG_Bool(REGB0)) {
15095 } else {
15096 nit_abort("Assert failed", NULL, LOCATE_parser, 4041);
15097 }
15098 /* parser/parser.nit:4042 */
15099 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
15100 fra.me.REG[9] = fra.me.REG[4];
15101 /* parser/parser.nit:4044 */
15102 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*/;
15103 if (UNTAG_Bool(REGB0)) {
15104 } else {
15105 nit_abort("Assert failed", NULL, LOCATE_parser, 4044);
15106 }
15107 /* parser/parser.nit:4045 */
15108 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, NIT_NULL, fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
15109 /* parser/parser.nit:4058 */
15110 fra.me.REG[2] = fra.me.REG[3];
15111 /* parser/parser.nit:4059 */
15112 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15113 if (UNTAG_Bool(REGB0)) {
15114 } else {
15115 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4059);
15116 }
15117 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15118 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15119 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15120 stack_frame_head = fra.me.prev;
15121 return;
15122 }
15123 static const char LOCATE_parser___ReduceAction76___action[] = "parser::ReduceAction76::(parser::ReduceAction::action)";
15124 void parser___ReduceAction76___action(val_t p0, val_t p1){
15125 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
15126 val_t REGB0;
15127 val_t tmp;
15128 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15129 fra.me.file = LOCATE_parser;
15130 fra.me.line = 4064;
15131 fra.me.meth = LOCATE_parser___ReduceAction76___action;
15132 fra.me.has_broke = 0;
15133 fra.me.REG_size = 13;
15134 fra.me.nitni_local_ref_head = NULL;
15135 fra.me.REG[0] = NIT_NULL;
15136 fra.me.REG[1] = NIT_NULL;
15137 fra.me.REG[2] = NIT_NULL;
15138 fra.me.REG[3] = NIT_NULL;
15139 fra.me.REG[4] = NIT_NULL;
15140 fra.me.REG[5] = NIT_NULL;
15141 fra.me.REG[6] = NIT_NULL;
15142 fra.me.REG[7] = NIT_NULL;
15143 fra.me.REG[8] = NIT_NULL;
15144 fra.me.REG[9] = NIT_NULL;
15145 fra.me.REG[10] = NIT_NULL;
15146 fra.me.REG[11] = NIT_NULL;
15147 fra.me.REG[12] = NIT_NULL;
15148 fra.me.REG[0] = p0;
15149 fra.me.REG[1] = p1;
15150 /* parser/parser.nit:4066 */
15151 fra.me.REG[2] = NIT_NULL;
15152 /* parser/parser.nit:4067 */
15153 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15154 /* parser/parser.nit:4068 */
15155 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15156 /* parser/parser.nit:4069 */
15157 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15158 /* parser/parser.nit:4070 */
15159 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15160 /* parser/parser.nit:4071 */
15161 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15162 /* parser/parser.nit:4072 */
15163 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15164 /* parser/parser.nit:4073 */
15165 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15166 /* parser/parser.nit:4074 */
15167 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15168 /* parser/parser.nit:4075 */
15169 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15170 /* parser/parser.nit:4076 */
15171 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
15172 /* parser/parser.nit:4077 */
15173 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
15174 /* parser/parser.nit:4078 */
15175 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
15176 /* parser/parser.nit:4080 */
15177 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*/;
15178 if (UNTAG_Bool(REGB0)) {
15179 } else {
15180 nit_abort("Assert failed", NULL, LOCATE_parser, 4080);
15181 }
15182 /* parser/parser.nit:4082 */
15183 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*/;
15184 if (UNTAG_Bool(REGB0)) {
15185 } else {
15186 nit_abort("Assert failed", NULL, LOCATE_parser, 4082);
15187 }
15188 /* parser/parser.nit:4084 */
15189 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*/;
15190 if (UNTAG_Bool(REGB0)) {
15191 } else {
15192 nit_abort("Assert failed", NULL, LOCATE_parser, 4084);
15193 }
15194 /* parser/parser.nit:4086 */
15195 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*/;
15196 if (UNTAG_Bool(REGB0)) {
15197 } else {
15198 nit_abort("Assert failed", NULL, LOCATE_parser, 4086);
15199 }
15200 /* parser/parser.nit:4088 */
15201 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*/;
15202 if (UNTAG_Bool(REGB0)) {
15203 } else {
15204 nit_abort("Assert failed", NULL, LOCATE_parser, 4088);
15205 }
15206 /* parser/parser.nit:4090 */
15207 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]*/;
15208 if (UNTAG_Bool(REGB0)) {
15209 } else {
15210 nit_abort("Assert failed", NULL, LOCATE_parser, 4090);
15211 }
15212 /* parser/parser.nit:4091 */
15213 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
15214 fra.me.REG[10] = fra.me.REG[4];
15215 /* parser/parser.nit:4093 */
15216 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*/;
15217 if (UNTAG_Bool(REGB0)) {
15218 } else {
15219 nit_abort("Assert failed", NULL, LOCATE_parser, 4093);
15220 }
15221 /* parser/parser.nit:4094 */
15222 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, NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
15223 /* parser/parser.nit:4107 */
15224 fra.me.REG[2] = fra.me.REG[3];
15225 /* parser/parser.nit:4108 */
15226 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15227 if (UNTAG_Bool(REGB0)) {
15228 } else {
15229 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4108);
15230 }
15231 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15232 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15233 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15234 stack_frame_head = fra.me.prev;
15235 return;
15236 }
15237 static const char LOCATE_parser___ReduceAction77___action[] = "parser::ReduceAction77::(parser::ReduceAction::action)";
15238 void parser___ReduceAction77___action(val_t p0, val_t p1){
15239 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
15240 val_t REGB0;
15241 val_t tmp;
15242 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15243 fra.me.file = LOCATE_parser;
15244 fra.me.line = 4113;
15245 fra.me.meth = LOCATE_parser___ReduceAction77___action;
15246 fra.me.has_broke = 0;
15247 fra.me.REG_size = 13;
15248 fra.me.nitni_local_ref_head = NULL;
15249 fra.me.REG[0] = NIT_NULL;
15250 fra.me.REG[1] = NIT_NULL;
15251 fra.me.REG[2] = NIT_NULL;
15252 fra.me.REG[3] = NIT_NULL;
15253 fra.me.REG[4] = NIT_NULL;
15254 fra.me.REG[5] = NIT_NULL;
15255 fra.me.REG[6] = NIT_NULL;
15256 fra.me.REG[7] = NIT_NULL;
15257 fra.me.REG[8] = NIT_NULL;
15258 fra.me.REG[9] = NIT_NULL;
15259 fra.me.REG[10] = NIT_NULL;
15260 fra.me.REG[11] = NIT_NULL;
15261 fra.me.REG[12] = NIT_NULL;
15262 fra.me.REG[0] = p0;
15263 fra.me.REG[1] = p1;
15264 /* parser/parser.nit:4115 */
15265 fra.me.REG[2] = NIT_NULL;
15266 /* parser/parser.nit:4116 */
15267 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15268 /* parser/parser.nit:4117 */
15269 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15270 /* parser/parser.nit:4118 */
15271 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15272 /* parser/parser.nit:4119 */
15273 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15274 /* parser/parser.nit:4120 */
15275 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15276 /* parser/parser.nit:4121 */
15277 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15278 /* parser/parser.nit:4122 */
15279 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15280 /* parser/parser.nit:4123 */
15281 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15282 /* parser/parser.nit:4124 */
15283 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
15284 /* parser/parser.nit:4125 */
15285 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
15286 /* parser/parser.nit:4126 */
15287 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
15288 /* parser/parser.nit:4128 */
15289 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*/;
15290 if (UNTAG_Bool(REGB0)) {
15291 } else {
15292 nit_abort("Assert failed", NULL, LOCATE_parser, 4128);
15293 }
15294 /* parser/parser.nit:4130 */
15295 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*/;
15296 if (UNTAG_Bool(REGB0)) {
15297 } else {
15298 nit_abort("Assert failed", NULL, LOCATE_parser, 4130);
15299 }
15300 /* parser/parser.nit:4132 */
15301 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*/;
15302 if (UNTAG_Bool(REGB0)) {
15303 } else {
15304 nit_abort("Assert failed", NULL, LOCATE_parser, 4132);
15305 }
15306 /* parser/parser.nit:4134 */
15307 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*/;
15308 if (UNTAG_Bool(REGB0)) {
15309 } else {
15310 nit_abort("Assert failed", NULL, LOCATE_parser, 4134);
15311 }
15312 /* parser/parser.nit:4135 */
15313 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
15314 /* parser/parser.nit:4137 */
15315 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]*/;
15316 if (UNTAG_Bool(REGB0)) {
15317 } else {
15318 nit_abort("Assert failed", NULL, LOCATE_parser, 4137);
15319 }
15320 /* parser/parser.nit:4138 */
15321 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
15322 fra.me.REG[12] = fra.me.REG[4];
15323 /* parser/parser.nit:4139 */
15324 fra.me.REG[12] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[12], NIT_NULL);
15325 /* parser/parser.nit:4146 */
15326 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*/;
15327 if (UNTAG_Bool(REGB0)) {
15328 } else {
15329 nit_abort("Assert failed", NULL, LOCATE_parser, 4146);
15330 }
15331 /* parser/parser.nit:4147 */
15332 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[12], NIT_NULL, fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
15333 /* parser/parser.nit:4160 */
15334 fra.me.REG[2] = fra.me.REG[3];
15335 /* parser/parser.nit:4161 */
15336 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15337 if (UNTAG_Bool(REGB0)) {
15338 } else {
15339 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4161);
15340 }
15341 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15342 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15343 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15344 stack_frame_head = fra.me.prev;
15345 return;
15346 }
15347 static const char LOCATE_parser___ReduceAction78___action[] = "parser::ReduceAction78::(parser::ReduceAction::action)";
15348 void parser___ReduceAction78___action(val_t p0, val_t p1){
15349 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
15350 val_t REGB0;
15351 val_t tmp;
15352 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15353 fra.me.file = LOCATE_parser;
15354 fra.me.line = 4166;
15355 fra.me.meth = LOCATE_parser___ReduceAction78___action;
15356 fra.me.has_broke = 0;
15357 fra.me.REG_size = 14;
15358 fra.me.nitni_local_ref_head = NULL;
15359 fra.me.REG[0] = NIT_NULL;
15360 fra.me.REG[1] = NIT_NULL;
15361 fra.me.REG[2] = NIT_NULL;
15362 fra.me.REG[3] = NIT_NULL;
15363 fra.me.REG[4] = NIT_NULL;
15364 fra.me.REG[5] = NIT_NULL;
15365 fra.me.REG[6] = NIT_NULL;
15366 fra.me.REG[7] = NIT_NULL;
15367 fra.me.REG[8] = NIT_NULL;
15368 fra.me.REG[9] = NIT_NULL;
15369 fra.me.REG[10] = NIT_NULL;
15370 fra.me.REG[11] = NIT_NULL;
15371 fra.me.REG[12] = NIT_NULL;
15372 fra.me.REG[13] = NIT_NULL;
15373 fra.me.REG[0] = p0;
15374 fra.me.REG[1] = p1;
15375 /* parser/parser.nit:4168 */
15376 fra.me.REG[2] = NIT_NULL;
15377 /* parser/parser.nit:4169 */
15378 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15379 /* parser/parser.nit:4170 */
15380 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15381 /* parser/parser.nit:4171 */
15382 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15383 /* parser/parser.nit:4172 */
15384 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15385 /* parser/parser.nit:4173 */
15386 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15387 /* parser/parser.nit:4174 */
15388 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15389 /* parser/parser.nit:4175 */
15390 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15391 /* parser/parser.nit:4176 */
15392 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15393 /* parser/parser.nit:4177 */
15394 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15395 /* parser/parser.nit:4178 */
15396 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
15397 /* parser/parser.nit:4179 */
15398 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
15399 /* parser/parser.nit:4180 */
15400 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
15401 /* parser/parser.nit:4182 */
15402 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*/;
15403 if (UNTAG_Bool(REGB0)) {
15404 } else {
15405 nit_abort("Assert failed", NULL, LOCATE_parser, 4182);
15406 }
15407 /* parser/parser.nit:4184 */
15408 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*/;
15409 if (UNTAG_Bool(REGB0)) {
15410 } else {
15411 nit_abort("Assert failed", NULL, LOCATE_parser, 4184);
15412 }
15413 /* parser/parser.nit:4186 */
15414 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*/;
15415 if (UNTAG_Bool(REGB0)) {
15416 } else {
15417 nit_abort("Assert failed", NULL, LOCATE_parser, 4186);
15418 }
15419 /* parser/parser.nit:4188 */
15420 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*/;
15421 if (UNTAG_Bool(REGB0)) {
15422 } else {
15423 nit_abort("Assert failed", NULL, LOCATE_parser, 4188);
15424 }
15425 /* parser/parser.nit:4190 */
15426 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*/;
15427 if (UNTAG_Bool(REGB0)) {
15428 } else {
15429 nit_abort("Assert failed", NULL, LOCATE_parser, 4190);
15430 }
15431 /* parser/parser.nit:4191 */
15432 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
15433 /* parser/parser.nit:4193 */
15434 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]*/;
15435 if (UNTAG_Bool(REGB0)) {
15436 } else {
15437 nit_abort("Assert failed", NULL, LOCATE_parser, 4193);
15438 }
15439 /* parser/parser.nit:4194 */
15440 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
15441 fra.me.REG[13] = fra.me.REG[4];
15442 /* parser/parser.nit:4195 */
15443 fra.me.REG[13] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[13], NIT_NULL);
15444 /* parser/parser.nit:4202 */
15445 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*/;
15446 if (UNTAG_Bool(REGB0)) {
15447 } else {
15448 nit_abort("Assert failed", NULL, LOCATE_parser, 4202);
15449 }
15450 /* parser/parser.nit:4203 */
15451 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[13], NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
15452 /* parser/parser.nit:4216 */
15453 fra.me.REG[2] = fra.me.REG[3];
15454 /* parser/parser.nit:4217 */
15455 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15456 if (UNTAG_Bool(REGB0)) {
15457 } else {
15458 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4217);
15459 }
15460 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15461 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15462 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15463 stack_frame_head = fra.me.prev;
15464 return;
15465 }
15466 static const char LOCATE_parser___ReduceAction79___action[] = "parser::ReduceAction79::(parser::ReduceAction::action)";
15467 void parser___ReduceAction79___action(val_t p0, val_t p1){
15468 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
15469 val_t REGB0;
15470 val_t tmp;
15471 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15472 fra.me.file = LOCATE_parser;
15473 fra.me.line = 4222;
15474 fra.me.meth = LOCATE_parser___ReduceAction79___action;
15475 fra.me.has_broke = 0;
15476 fra.me.REG_size = 13;
15477 fra.me.nitni_local_ref_head = NULL;
15478 fra.me.REG[0] = NIT_NULL;
15479 fra.me.REG[1] = NIT_NULL;
15480 fra.me.REG[2] = NIT_NULL;
15481 fra.me.REG[3] = NIT_NULL;
15482 fra.me.REG[4] = NIT_NULL;
15483 fra.me.REG[5] = NIT_NULL;
15484 fra.me.REG[6] = NIT_NULL;
15485 fra.me.REG[7] = NIT_NULL;
15486 fra.me.REG[8] = NIT_NULL;
15487 fra.me.REG[9] = NIT_NULL;
15488 fra.me.REG[10] = NIT_NULL;
15489 fra.me.REG[11] = NIT_NULL;
15490 fra.me.REG[12] = NIT_NULL;
15491 fra.me.REG[0] = p0;
15492 fra.me.REG[1] = p1;
15493 /* parser/parser.nit:4224 */
15494 fra.me.REG[2] = NIT_NULL;
15495 /* parser/parser.nit:4225 */
15496 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15497 /* parser/parser.nit:4226 */
15498 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15499 /* parser/parser.nit:4227 */
15500 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15501 /* parser/parser.nit:4228 */
15502 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15503 /* parser/parser.nit:4229 */
15504 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15505 /* parser/parser.nit:4230 */
15506 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15507 /* parser/parser.nit:4231 */
15508 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15509 /* parser/parser.nit:4232 */
15510 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15511 /* parser/parser.nit:4233 */
15512 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15513 /* parser/parser.nit:4234 */
15514 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
15515 /* parser/parser.nit:4235 */
15516 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
15517 /* parser/parser.nit:4236 */
15518 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
15519 /* parser/parser.nit:4238 */
15520 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*/;
15521 if (UNTAG_Bool(REGB0)) {
15522 } else {
15523 nit_abort("Assert failed", NULL, LOCATE_parser, 4238);
15524 }
15525 /* parser/parser.nit:4240 */
15526 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*/;
15527 if (UNTAG_Bool(REGB0)) {
15528 } else {
15529 nit_abort("Assert failed", NULL, LOCATE_parser, 4240);
15530 }
15531 /* parser/parser.nit:4242 */
15532 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*/;
15533 if (UNTAG_Bool(REGB0)) {
15534 } else {
15535 nit_abort("Assert failed", NULL, LOCATE_parser, 4242);
15536 }
15537 /* parser/parser.nit:4244 */
15538 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*/;
15539 if (UNTAG_Bool(REGB0)) {
15540 } else {
15541 nit_abort("Assert failed", NULL, LOCATE_parser, 4244);
15542 }
15543 /* parser/parser.nit:4246 */
15544 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]*/;
15545 if (UNTAG_Bool(REGB0)) {
15546 } else {
15547 nit_abort("Assert failed", NULL, LOCATE_parser, 4246);
15548 }
15549 /* parser/parser.nit:4247 */
15550 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
15551 fra.me.REG[10] = fra.me.REG[5];
15552 /* parser/parser.nit:4248 */
15553 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
15554 /* parser/parser.nit:4250 */
15555 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]*/;
15556 if (UNTAG_Bool(REGB0)) {
15557 } else {
15558 nit_abort("Assert failed", NULL, LOCATE_parser, 4250);
15559 }
15560 /* parser/parser.nit:4251 */
15561 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
15562 fra.me.REG[5] = fra.me.REG[4];
15563 /* parser/parser.nit:4252 */
15564 fra.me.REG[5] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[5], NIT_NULL);
15565 /* parser/parser.nit:4259 */
15566 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*/;
15567 if (UNTAG_Bool(REGB0)) {
15568 } else {
15569 nit_abort("Assert failed", NULL, LOCATE_parser, 4259);
15570 }
15571 /* parser/parser.nit:4260 */
15572 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], NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
15573 /* parser/parser.nit:4273 */
15574 fra.me.REG[2] = fra.me.REG[3];
15575 /* parser/parser.nit:4274 */
15576 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15577 if (UNTAG_Bool(REGB0)) {
15578 } else {
15579 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4274);
15580 }
15581 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15582 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15583 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15584 stack_frame_head = fra.me.prev;
15585 return;
15586 }
15587 static const char LOCATE_parser___ReduceAction80___action[] = "parser::ReduceAction80::(parser::ReduceAction::action)";
15588 void parser___ReduceAction80___action(val_t p0, val_t p1){
15589 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
15590 val_t REGB0;
15591 val_t tmp;
15592 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15593 fra.me.file = LOCATE_parser;
15594 fra.me.line = 4279;
15595 fra.me.meth = LOCATE_parser___ReduceAction80___action;
15596 fra.me.has_broke = 0;
15597 fra.me.REG_size = 14;
15598 fra.me.nitni_local_ref_head = NULL;
15599 fra.me.REG[0] = NIT_NULL;
15600 fra.me.REG[1] = NIT_NULL;
15601 fra.me.REG[2] = NIT_NULL;
15602 fra.me.REG[3] = NIT_NULL;
15603 fra.me.REG[4] = NIT_NULL;
15604 fra.me.REG[5] = NIT_NULL;
15605 fra.me.REG[6] = NIT_NULL;
15606 fra.me.REG[7] = NIT_NULL;
15607 fra.me.REG[8] = NIT_NULL;
15608 fra.me.REG[9] = NIT_NULL;
15609 fra.me.REG[10] = NIT_NULL;
15610 fra.me.REG[11] = NIT_NULL;
15611 fra.me.REG[12] = NIT_NULL;
15612 fra.me.REG[13] = NIT_NULL;
15613 fra.me.REG[0] = p0;
15614 fra.me.REG[1] = p1;
15615 /* parser/parser.nit:4281 */
15616 fra.me.REG[2] = NIT_NULL;
15617 /* parser/parser.nit:4282 */
15618 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15619 /* parser/parser.nit:4283 */
15620 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15621 /* parser/parser.nit:4284 */
15622 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15623 /* parser/parser.nit:4285 */
15624 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15625 /* parser/parser.nit:4286 */
15626 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15627 /* parser/parser.nit:4287 */
15628 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15629 /* parser/parser.nit:4288 */
15630 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15631 /* parser/parser.nit:4289 */
15632 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15633 /* parser/parser.nit:4290 */
15634 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15635 /* parser/parser.nit:4291 */
15636 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15637 /* parser/parser.nit:4292 */
15638 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
15639 /* parser/parser.nit:4293 */
15640 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
15641 /* parser/parser.nit:4294 */
15642 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
15643 /* parser/parser.nit:4296 */
15644 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*/;
15645 if (UNTAG_Bool(REGB0)) {
15646 } else {
15647 nit_abort("Assert failed", NULL, LOCATE_parser, 4296);
15648 }
15649 /* parser/parser.nit:4298 */
15650 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*/;
15651 if (UNTAG_Bool(REGB0)) {
15652 } else {
15653 nit_abort("Assert failed", NULL, LOCATE_parser, 4298);
15654 }
15655 /* parser/parser.nit:4300 */
15656 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*/;
15657 if (UNTAG_Bool(REGB0)) {
15658 } else {
15659 nit_abort("Assert failed", NULL, LOCATE_parser, 4300);
15660 }
15661 /* parser/parser.nit:4302 */
15662 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*/;
15663 if (UNTAG_Bool(REGB0)) {
15664 } else {
15665 nit_abort("Assert failed", NULL, LOCATE_parser, 4302);
15666 }
15667 /* parser/parser.nit:4304 */
15668 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*/;
15669 if (UNTAG_Bool(REGB0)) {
15670 } else {
15671 nit_abort("Assert failed", NULL, LOCATE_parser, 4304);
15672 }
15673 /* parser/parser.nit:4306 */
15674 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]*/;
15675 if (UNTAG_Bool(REGB0)) {
15676 } else {
15677 nit_abort("Assert failed", NULL, LOCATE_parser, 4306);
15678 }
15679 /* parser/parser.nit:4307 */
15680 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
15681 fra.me.REG[11] = fra.me.REG[5];
15682 /* parser/parser.nit:4308 */
15683 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
15684 /* parser/parser.nit:4310 */
15685 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]*/;
15686 if (UNTAG_Bool(REGB0)) {
15687 } else {
15688 nit_abort("Assert failed", NULL, LOCATE_parser, 4310);
15689 }
15690 /* parser/parser.nit:4311 */
15691 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
15692 fra.me.REG[5] = fra.me.REG[4];
15693 /* parser/parser.nit:4312 */
15694 fra.me.REG[5] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[5], NIT_NULL);
15695 /* parser/parser.nit:4319 */
15696 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*/;
15697 if (UNTAG_Bool(REGB0)) {
15698 } else {
15699 nit_abort("Assert failed", NULL, LOCATE_parser, 4319);
15700 }
15701 /* parser/parser.nit:4320 */
15702 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], NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
15703 /* parser/parser.nit:4333 */
15704 fra.me.REG[2] = fra.me.REG[3];
15705 /* parser/parser.nit:4334 */
15706 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15707 if (UNTAG_Bool(REGB0)) {
15708 } else {
15709 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4334);
15710 }
15711 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15712 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15713 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15714 stack_frame_head = fra.me.prev;
15715 return;
15716 }
15717 static const char LOCATE_parser___ReduceAction81___action[] = "parser::ReduceAction81::(parser::ReduceAction::action)";
15718 void parser___ReduceAction81___action(val_t p0, val_t p1){
15719 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
15720 val_t REGB0;
15721 val_t tmp;
15722 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15723 fra.me.file = LOCATE_parser;
15724 fra.me.line = 4339;
15725 fra.me.meth = LOCATE_parser___ReduceAction81___action;
15726 fra.me.has_broke = 0;
15727 fra.me.REG_size = 12;
15728 fra.me.nitni_local_ref_head = NULL;
15729 fra.me.REG[0] = NIT_NULL;
15730 fra.me.REG[1] = NIT_NULL;
15731 fra.me.REG[2] = NIT_NULL;
15732 fra.me.REG[3] = NIT_NULL;
15733 fra.me.REG[4] = NIT_NULL;
15734 fra.me.REG[5] = NIT_NULL;
15735 fra.me.REG[6] = NIT_NULL;
15736 fra.me.REG[7] = NIT_NULL;
15737 fra.me.REG[8] = NIT_NULL;
15738 fra.me.REG[9] = NIT_NULL;
15739 fra.me.REG[10] = NIT_NULL;
15740 fra.me.REG[11] = NIT_NULL;
15741 fra.me.REG[0] = p0;
15742 fra.me.REG[1] = p1;
15743 /* parser/parser.nit:4341 */
15744 fra.me.REG[2] = NIT_NULL;
15745 /* parser/parser.nit:4342 */
15746 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15747 /* parser/parser.nit:4343 */
15748 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15749 /* parser/parser.nit:4344 */
15750 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15751 /* parser/parser.nit:4345 */
15752 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15753 /* parser/parser.nit:4346 */
15754 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15755 /* parser/parser.nit:4347 */
15756 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15757 /* parser/parser.nit:4348 */
15758 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15759 /* parser/parser.nit:4349 */
15760 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15761 /* parser/parser.nit:4350 */
15762 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
15763 /* parser/parser.nit:4351 */
15764 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
15765 /* parser/parser.nit:4352 */
15766 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
15767 /* parser/parser.nit:4354 */
15768 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*/;
15769 if (UNTAG_Bool(REGB0)) {
15770 } else {
15771 nit_abort("Assert failed", NULL, LOCATE_parser, 4354);
15772 }
15773 /* parser/parser.nit:4356 */
15774 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*/;
15775 if (UNTAG_Bool(REGB0)) {
15776 } else {
15777 nit_abort("Assert failed", NULL, LOCATE_parser, 4356);
15778 }
15779 /* parser/parser.nit:4358 */
15780 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*/;
15781 if (UNTAG_Bool(REGB0)) {
15782 } else {
15783 nit_abort("Assert failed", NULL, LOCATE_parser, 4358);
15784 }
15785 /* parser/parser.nit:4360 */
15786 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*/;
15787 if (UNTAG_Bool(REGB0)) {
15788 } else {
15789 nit_abort("Assert failed", NULL, LOCATE_parser, 4360);
15790 }
15791 /* parser/parser.nit:4362 */
15792 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*/;
15793 if (UNTAG_Bool(REGB0)) {
15794 } else {
15795 nit_abort("Assert failed", NULL, LOCATE_parser, 4362);
15796 }
15797 /* parser/parser.nit:4364 */
15798 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*/;
15799 if (UNTAG_Bool(REGB0)) {
15800 } else {
15801 nit_abort("Assert failed", NULL, LOCATE_parser, 4364);
15802 }
15803 /* parser/parser.nit:4365 */
15804 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[4], fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
15805 /* parser/parser.nit:4378 */
15806 fra.me.REG[2] = fra.me.REG[3];
15807 /* parser/parser.nit:4379 */
15808 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15809 if (UNTAG_Bool(REGB0)) {
15810 } else {
15811 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4379);
15812 }
15813 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15814 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15815 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15816 stack_frame_head = fra.me.prev;
15817 return;
15818 }
15819 static const char LOCATE_parser___ReduceAction82___action[] = "parser::ReduceAction82::(parser::ReduceAction::action)";
15820 void parser___ReduceAction82___action(val_t p0, val_t p1){
15821 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
15822 val_t REGB0;
15823 val_t tmp;
15824 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15825 fra.me.file = LOCATE_parser;
15826 fra.me.line = 4384;
15827 fra.me.meth = LOCATE_parser___ReduceAction82___action;
15828 fra.me.has_broke = 0;
15829 fra.me.REG_size = 13;
15830 fra.me.nitni_local_ref_head = NULL;
15831 fra.me.REG[0] = NIT_NULL;
15832 fra.me.REG[1] = NIT_NULL;
15833 fra.me.REG[2] = NIT_NULL;
15834 fra.me.REG[3] = NIT_NULL;
15835 fra.me.REG[4] = NIT_NULL;
15836 fra.me.REG[5] = NIT_NULL;
15837 fra.me.REG[6] = NIT_NULL;
15838 fra.me.REG[7] = NIT_NULL;
15839 fra.me.REG[8] = NIT_NULL;
15840 fra.me.REG[9] = NIT_NULL;
15841 fra.me.REG[10] = NIT_NULL;
15842 fra.me.REG[11] = NIT_NULL;
15843 fra.me.REG[12] = NIT_NULL;
15844 fra.me.REG[0] = p0;
15845 fra.me.REG[1] = p1;
15846 /* parser/parser.nit:4386 */
15847 fra.me.REG[2] = NIT_NULL;
15848 /* parser/parser.nit:4387 */
15849 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15850 /* parser/parser.nit:4388 */
15851 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15852 /* parser/parser.nit:4389 */
15853 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15854 /* parser/parser.nit:4390 */
15855 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15856 /* parser/parser.nit:4391 */
15857 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15858 /* parser/parser.nit:4392 */
15859 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15860 /* parser/parser.nit:4393 */
15861 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15862 /* parser/parser.nit:4394 */
15863 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15864 /* parser/parser.nit:4395 */
15865 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15866 /* parser/parser.nit:4396 */
15867 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
15868 /* parser/parser.nit:4397 */
15869 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
15870 /* parser/parser.nit:4398 */
15871 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
15872 /* parser/parser.nit:4400 */
15873 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*/;
15874 if (UNTAG_Bool(REGB0)) {
15875 } else {
15876 nit_abort("Assert failed", NULL, LOCATE_parser, 4400);
15877 }
15878 /* parser/parser.nit:4402 */
15879 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*/;
15880 if (UNTAG_Bool(REGB0)) {
15881 } else {
15882 nit_abort("Assert failed", NULL, LOCATE_parser, 4402);
15883 }
15884 /* parser/parser.nit:4404 */
15885 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*/;
15886 if (UNTAG_Bool(REGB0)) {
15887 } else {
15888 nit_abort("Assert failed", NULL, LOCATE_parser, 4404);
15889 }
15890 /* parser/parser.nit:4406 */
15891 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*/;
15892 if (UNTAG_Bool(REGB0)) {
15893 } else {
15894 nit_abort("Assert failed", NULL, LOCATE_parser, 4406);
15895 }
15896 /* parser/parser.nit:4408 */
15897 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*/;
15898 if (UNTAG_Bool(REGB0)) {
15899 } else {
15900 nit_abort("Assert failed", NULL, LOCATE_parser, 4408);
15901 }
15902 /* parser/parser.nit:4410 */
15903 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*/;
15904 if (UNTAG_Bool(REGB0)) {
15905 } else {
15906 nit_abort("Assert failed", NULL, LOCATE_parser, 4410);
15907 }
15908 /* parser/parser.nit:4412 */
15909 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*/;
15910 if (UNTAG_Bool(REGB0)) {
15911 } else {
15912 nit_abort("Assert failed", NULL, LOCATE_parser, 4412);
15913 }
15914 /* parser/parser.nit:4413 */
15915 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[4], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
15916 /* parser/parser.nit:4426 */
15917 fra.me.REG[2] = fra.me.REG[3];
15918 /* parser/parser.nit:4427 */
15919 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15920 if (UNTAG_Bool(REGB0)) {
15921 } else {
15922 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4427);
15923 }
15924 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15925 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15926 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15927 stack_frame_head = fra.me.prev;
15928 return;
15929 }
15930 static const char LOCATE_parser___ReduceAction83___action[] = "parser::ReduceAction83::(parser::ReduceAction::action)";
15931 void parser___ReduceAction83___action(val_t p0, val_t p1){
15932 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
15933 val_t REGB0;
15934 val_t tmp;
15935 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15936 fra.me.file = LOCATE_parser;
15937 fra.me.line = 4432;
15938 fra.me.meth = LOCATE_parser___ReduceAction83___action;
15939 fra.me.has_broke = 0;
15940 fra.me.REG_size = 13;
15941 fra.me.nitni_local_ref_head = NULL;
15942 fra.me.REG[0] = NIT_NULL;
15943 fra.me.REG[1] = NIT_NULL;
15944 fra.me.REG[2] = NIT_NULL;
15945 fra.me.REG[3] = NIT_NULL;
15946 fra.me.REG[4] = NIT_NULL;
15947 fra.me.REG[5] = NIT_NULL;
15948 fra.me.REG[6] = NIT_NULL;
15949 fra.me.REG[7] = NIT_NULL;
15950 fra.me.REG[8] = NIT_NULL;
15951 fra.me.REG[9] = NIT_NULL;
15952 fra.me.REG[10] = NIT_NULL;
15953 fra.me.REG[11] = NIT_NULL;
15954 fra.me.REG[12] = NIT_NULL;
15955 fra.me.REG[0] = p0;
15956 fra.me.REG[1] = p1;
15957 /* parser/parser.nit:4434 */
15958 fra.me.REG[2] = NIT_NULL;
15959 /* parser/parser.nit:4435 */
15960 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15961 /* parser/parser.nit:4436 */
15962 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15963 /* parser/parser.nit:4437 */
15964 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15965 /* parser/parser.nit:4438 */
15966 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15967 /* parser/parser.nit:4439 */
15968 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15969 /* parser/parser.nit:4440 */
15970 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15971 /* parser/parser.nit:4441 */
15972 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15973 /* parser/parser.nit:4442 */
15974 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15975 /* parser/parser.nit:4443 */
15976 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15977 /* parser/parser.nit:4444 */
15978 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
15979 /* parser/parser.nit:4445 */
15980 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
15981 /* parser/parser.nit:4446 */
15982 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
15983 /* parser/parser.nit:4448 */
15984 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*/;
15985 if (UNTAG_Bool(REGB0)) {
15986 } else {
15987 nit_abort("Assert failed", NULL, LOCATE_parser, 4448);
15988 }
15989 /* parser/parser.nit:4450 */
15990 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*/;
15991 if (UNTAG_Bool(REGB0)) {
15992 } else {
15993 nit_abort("Assert failed", NULL, LOCATE_parser, 4450);
15994 }
15995 /* parser/parser.nit:4452 */
15996 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*/;
15997 if (UNTAG_Bool(REGB0)) {
15998 } else {
15999 nit_abort("Assert failed", NULL, LOCATE_parser, 4452);
16000 }
16001 /* parser/parser.nit:4454 */
16002 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*/;
16003 if (UNTAG_Bool(REGB0)) {
16004 } else {
16005 nit_abort("Assert failed", NULL, LOCATE_parser, 4454);
16006 }
16007 /* parser/parser.nit:4456 */
16008 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]*/;
16009 if (UNTAG_Bool(REGB0)) {
16010 } else {
16011 nit_abort("Assert failed", NULL, LOCATE_parser, 4456);
16012 }
16013 /* parser/parser.nit:4457 */
16014 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
16015 fra.me.REG[10] = fra.me.REG[5];
16016 /* parser/parser.nit:4459 */
16017 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*/;
16018 if (UNTAG_Bool(REGB0)) {
16019 } else {
16020 nit_abort("Assert failed", NULL, LOCATE_parser, 4459);
16021 }
16022 /* parser/parser.nit:4461 */
16023 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*/;
16024 if (UNTAG_Bool(REGB0)) {
16025 } else {
16026 nit_abort("Assert failed", NULL, LOCATE_parser, 4461);
16027 }
16028 /* parser/parser.nit:4462 */
16029 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[4], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
16030 /* parser/parser.nit:4475 */
16031 fra.me.REG[2] = fra.me.REG[3];
16032 /* parser/parser.nit:4476 */
16033 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16034 if (UNTAG_Bool(REGB0)) {
16035 } else {
16036 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4476);
16037 }
16038 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16039 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16040 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16041 stack_frame_head = fra.me.prev;
16042 return;
16043 }
16044 static const char LOCATE_parser___ReduceAction84___action[] = "parser::ReduceAction84::(parser::ReduceAction::action)";
16045 void parser___ReduceAction84___action(val_t p0, val_t p1){
16046 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
16047 val_t REGB0;
16048 val_t tmp;
16049 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16050 fra.me.file = LOCATE_parser;
16051 fra.me.line = 4481;
16052 fra.me.meth = LOCATE_parser___ReduceAction84___action;
16053 fra.me.has_broke = 0;
16054 fra.me.REG_size = 14;
16055 fra.me.nitni_local_ref_head = NULL;
16056 fra.me.REG[0] = NIT_NULL;
16057 fra.me.REG[1] = NIT_NULL;
16058 fra.me.REG[2] = NIT_NULL;
16059 fra.me.REG[3] = NIT_NULL;
16060 fra.me.REG[4] = NIT_NULL;
16061 fra.me.REG[5] = NIT_NULL;
16062 fra.me.REG[6] = NIT_NULL;
16063 fra.me.REG[7] = NIT_NULL;
16064 fra.me.REG[8] = NIT_NULL;
16065 fra.me.REG[9] = NIT_NULL;
16066 fra.me.REG[10] = NIT_NULL;
16067 fra.me.REG[11] = NIT_NULL;
16068 fra.me.REG[12] = NIT_NULL;
16069 fra.me.REG[13] = NIT_NULL;
16070 fra.me.REG[0] = p0;
16071 fra.me.REG[1] = p1;
16072 /* parser/parser.nit:4483 */
16073 fra.me.REG[2] = NIT_NULL;
16074 /* parser/parser.nit:4484 */
16075 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16076 /* parser/parser.nit:4485 */
16077 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16078 /* parser/parser.nit:4486 */
16079 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16080 /* parser/parser.nit:4487 */
16081 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16082 /* parser/parser.nit:4488 */
16083 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16084 /* parser/parser.nit:4489 */
16085 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16086 /* parser/parser.nit:4490 */
16087 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16088 /* parser/parser.nit:4491 */
16089 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16090 /* parser/parser.nit:4492 */
16091 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16092 /* parser/parser.nit:4493 */
16093 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16094 /* parser/parser.nit:4494 */
16095 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
16096 /* parser/parser.nit:4495 */
16097 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
16098 /* parser/parser.nit:4496 */
16099 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
16100 /* parser/parser.nit:4498 */
16101 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*/;
16102 if (UNTAG_Bool(REGB0)) {
16103 } else {
16104 nit_abort("Assert failed", NULL, LOCATE_parser, 4498);
16105 }
16106 /* parser/parser.nit:4500 */
16107 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*/;
16108 if (UNTAG_Bool(REGB0)) {
16109 } else {
16110 nit_abort("Assert failed", NULL, LOCATE_parser, 4500);
16111 }
16112 /* parser/parser.nit:4502 */
16113 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*/;
16114 if (UNTAG_Bool(REGB0)) {
16115 } else {
16116 nit_abort("Assert failed", NULL, LOCATE_parser, 4502);
16117 }
16118 /* parser/parser.nit:4504 */
16119 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*/;
16120 if (UNTAG_Bool(REGB0)) {
16121 } else {
16122 nit_abort("Assert failed", NULL, LOCATE_parser, 4504);
16123 }
16124 /* parser/parser.nit:4506 */
16125 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*/;
16126 if (UNTAG_Bool(REGB0)) {
16127 } else {
16128 nit_abort("Assert failed", NULL, LOCATE_parser, 4506);
16129 }
16130 /* parser/parser.nit:4508 */
16131 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]*/;
16132 if (UNTAG_Bool(REGB0)) {
16133 } else {
16134 nit_abort("Assert failed", NULL, LOCATE_parser, 4508);
16135 }
16136 /* parser/parser.nit:4509 */
16137 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
16138 fra.me.REG[11] = fra.me.REG[5];
16139 /* parser/parser.nit:4511 */
16140 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*/;
16141 if (UNTAG_Bool(REGB0)) {
16142 } else {
16143 nit_abort("Assert failed", NULL, LOCATE_parser, 4511);
16144 }
16145 /* parser/parser.nit:4513 */
16146 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*/;
16147 if (UNTAG_Bool(REGB0)) {
16148 } else {
16149 nit_abort("Assert failed", NULL, LOCATE_parser, 4513);
16150 }
16151 /* parser/parser.nit:4514 */
16152 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[4], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
16153 /* parser/parser.nit:4527 */
16154 fra.me.REG[2] = fra.me.REG[3];
16155 /* parser/parser.nit:4528 */
16156 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16157 if (UNTAG_Bool(REGB0)) {
16158 } else {
16159 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4528);
16160 }
16161 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16162 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16163 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16164 stack_frame_head = fra.me.prev;
16165 return;
16166 }
16167 static const char LOCATE_parser___ReduceAction85___action[] = "parser::ReduceAction85::(parser::ReduceAction::action)";
16168 void parser___ReduceAction85___action(val_t p0, val_t p1){
16169 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
16170 val_t REGB0;
16171 val_t tmp;
16172 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16173 fra.me.file = LOCATE_parser;
16174 fra.me.line = 4533;
16175 fra.me.meth = LOCATE_parser___ReduceAction85___action;
16176 fra.me.has_broke = 0;
16177 fra.me.REG_size = 14;
16178 fra.me.nitni_local_ref_head = NULL;
16179 fra.me.REG[0] = NIT_NULL;
16180 fra.me.REG[1] = NIT_NULL;
16181 fra.me.REG[2] = NIT_NULL;
16182 fra.me.REG[3] = NIT_NULL;
16183 fra.me.REG[4] = NIT_NULL;
16184 fra.me.REG[5] = NIT_NULL;
16185 fra.me.REG[6] = NIT_NULL;
16186 fra.me.REG[7] = NIT_NULL;
16187 fra.me.REG[8] = NIT_NULL;
16188 fra.me.REG[9] = NIT_NULL;
16189 fra.me.REG[10] = NIT_NULL;
16190 fra.me.REG[11] = NIT_NULL;
16191 fra.me.REG[12] = NIT_NULL;
16192 fra.me.REG[13] = NIT_NULL;
16193 fra.me.REG[0] = p0;
16194 fra.me.REG[1] = p1;
16195 /* parser/parser.nit:4535 */
16196 fra.me.REG[2] = NIT_NULL;
16197 /* parser/parser.nit:4536 */
16198 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16199 /* parser/parser.nit:4537 */
16200 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16201 /* parser/parser.nit:4538 */
16202 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16203 /* parser/parser.nit:4539 */
16204 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16205 /* parser/parser.nit:4540 */
16206 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16207 /* parser/parser.nit:4541 */
16208 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16209 /* parser/parser.nit:4542 */
16210 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16211 /* parser/parser.nit:4543 */
16212 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16213 /* parser/parser.nit:4544 */
16214 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16215 /* parser/parser.nit:4545 */
16216 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
16217 /* parser/parser.nit:4546 */
16218 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
16219 /* parser/parser.nit:4547 */
16220 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
16221 /* parser/parser.nit:4549 */
16222 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*/;
16223 if (UNTAG_Bool(REGB0)) {
16224 } else {
16225 nit_abort("Assert failed", NULL, LOCATE_parser, 4549);
16226 }
16227 /* parser/parser.nit:4551 */
16228 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*/;
16229 if (UNTAG_Bool(REGB0)) {
16230 } else {
16231 nit_abort("Assert failed", NULL, LOCATE_parser, 4551);
16232 }
16233 /* parser/parser.nit:4553 */
16234 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*/;
16235 if (UNTAG_Bool(REGB0)) {
16236 } else {
16237 nit_abort("Assert failed", NULL, LOCATE_parser, 4553);
16238 }
16239 /* parser/parser.nit:4555 */
16240 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*/;
16241 if (UNTAG_Bool(REGB0)) {
16242 } else {
16243 nit_abort("Assert failed", NULL, LOCATE_parser, 4555);
16244 }
16245 /* parser/parser.nit:4556 */
16246 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
16247 /* parser/parser.nit:4558 */
16248 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]*/;
16249 if (UNTAG_Bool(REGB0)) {
16250 } else {
16251 nit_abort("Assert failed", NULL, LOCATE_parser, 4558);
16252 }
16253 /* parser/parser.nit:4559 */
16254 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[5]);
16255 fra.me.REG[13] = fra.me.REG[5];
16256 /* parser/parser.nit:4560 */
16257 fra.me.REG[13] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[13], NIT_NULL);
16258 /* parser/parser.nit:4567 */
16259 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*/;
16260 if (UNTAG_Bool(REGB0)) {
16261 } else {
16262 nit_abort("Assert failed", NULL, LOCATE_parser, 4567);
16263 }
16264 /* parser/parser.nit:4569 */
16265 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*/;
16266 if (UNTAG_Bool(REGB0)) {
16267 } else {
16268 nit_abort("Assert failed", NULL, LOCATE_parser, 4569);
16269 }
16270 /* parser/parser.nit:4570 */
16271 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[13], fra.me.REG[4], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
16272 /* parser/parser.nit:4583 */
16273 fra.me.REG[2] = fra.me.REG[3];
16274 /* parser/parser.nit:4584 */
16275 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16276 if (UNTAG_Bool(REGB0)) {
16277 } else {
16278 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4584);
16279 }
16280 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16281 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16282 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16283 stack_frame_head = fra.me.prev;
16284 return;
16285 }
16286 static const char LOCATE_parser___ReduceAction86___action[] = "parser::ReduceAction86::(parser::ReduceAction::action)";
16287 void parser___ReduceAction86___action(val_t p0, val_t p1){
16288 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
16289 val_t REGB0;
16290 val_t tmp;
16291 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16292 fra.me.file = LOCATE_parser;
16293 fra.me.line = 4589;
16294 fra.me.meth = LOCATE_parser___ReduceAction86___action;
16295 fra.me.has_broke = 0;
16296 fra.me.REG_size = 15;
16297 fra.me.nitni_local_ref_head = NULL;
16298 fra.me.REG[0] = NIT_NULL;
16299 fra.me.REG[1] = NIT_NULL;
16300 fra.me.REG[2] = NIT_NULL;
16301 fra.me.REG[3] = NIT_NULL;
16302 fra.me.REG[4] = NIT_NULL;
16303 fra.me.REG[5] = NIT_NULL;
16304 fra.me.REG[6] = NIT_NULL;
16305 fra.me.REG[7] = NIT_NULL;
16306 fra.me.REG[8] = NIT_NULL;
16307 fra.me.REG[9] = NIT_NULL;
16308 fra.me.REG[10] = NIT_NULL;
16309 fra.me.REG[11] = NIT_NULL;
16310 fra.me.REG[12] = NIT_NULL;
16311 fra.me.REG[13] = NIT_NULL;
16312 fra.me.REG[14] = NIT_NULL;
16313 fra.me.REG[0] = p0;
16314 fra.me.REG[1] = p1;
16315 /* parser/parser.nit:4591 */
16316 fra.me.REG[2] = NIT_NULL;
16317 /* parser/parser.nit:4592 */
16318 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16319 /* parser/parser.nit:4593 */
16320 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16321 /* parser/parser.nit:4594 */
16322 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16323 /* parser/parser.nit:4595 */
16324 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16325 /* parser/parser.nit:4596 */
16326 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16327 /* parser/parser.nit:4597 */
16328 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16329 /* parser/parser.nit:4598 */
16330 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16331 /* parser/parser.nit:4599 */
16332 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16333 /* parser/parser.nit:4600 */
16334 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16335 /* parser/parser.nit:4601 */
16336 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16337 /* parser/parser.nit:4602 */
16338 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
16339 /* parser/parser.nit:4603 */
16340 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
16341 /* parser/parser.nit:4604 */
16342 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
16343 /* parser/parser.nit:4606 */
16344 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*/;
16345 if (UNTAG_Bool(REGB0)) {
16346 } else {
16347 nit_abort("Assert failed", NULL, LOCATE_parser, 4606);
16348 }
16349 /* parser/parser.nit:4608 */
16350 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*/;
16351 if (UNTAG_Bool(REGB0)) {
16352 } else {
16353 nit_abort("Assert failed", NULL, LOCATE_parser, 4608);
16354 }
16355 /* parser/parser.nit:4610 */
16356 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*/;
16357 if (UNTAG_Bool(REGB0)) {
16358 } else {
16359 nit_abort("Assert failed", NULL, LOCATE_parser, 4610);
16360 }
16361 /* parser/parser.nit:4612 */
16362 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*/;
16363 if (UNTAG_Bool(REGB0)) {
16364 } else {
16365 nit_abort("Assert failed", NULL, LOCATE_parser, 4612);
16366 }
16367 /* parser/parser.nit:4614 */
16368 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*/;
16369 if (UNTAG_Bool(REGB0)) {
16370 } else {
16371 nit_abort("Assert failed", NULL, LOCATE_parser, 4614);
16372 }
16373 /* parser/parser.nit:4615 */
16374 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
16375 /* parser/parser.nit:4617 */
16376 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]*/;
16377 if (UNTAG_Bool(REGB0)) {
16378 } else {
16379 nit_abort("Assert failed", NULL, LOCATE_parser, 4617);
16380 }
16381 /* parser/parser.nit:4618 */
16382 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[5]);
16383 fra.me.REG[14] = fra.me.REG[5];
16384 /* parser/parser.nit:4619 */
16385 fra.me.REG[14] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[14], NIT_NULL);
16386 /* parser/parser.nit:4626 */
16387 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*/;
16388 if (UNTAG_Bool(REGB0)) {
16389 } else {
16390 nit_abort("Assert failed", NULL, LOCATE_parser, 4626);
16391 }
16392 /* parser/parser.nit:4628 */
16393 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*/;
16394 if (UNTAG_Bool(REGB0)) {
16395 } else {
16396 nit_abort("Assert failed", NULL, LOCATE_parser, 4628);
16397 }
16398 /* parser/parser.nit:4629 */
16399 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[14], fra.me.REG[4], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
16400 /* parser/parser.nit:4642 */
16401 fra.me.REG[2] = fra.me.REG[3];
16402 /* parser/parser.nit:4643 */
16403 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16404 if (UNTAG_Bool(REGB0)) {
16405 } else {
16406 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4643);
16407 }
16408 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16409 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16410 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16411 stack_frame_head = fra.me.prev;
16412 return;
16413 }
16414 static const char LOCATE_parser___ReduceAction87___action[] = "parser::ReduceAction87::(parser::ReduceAction::action)";
16415 void parser___ReduceAction87___action(val_t p0, val_t p1){
16416 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
16417 val_t REGB0;
16418 val_t tmp;
16419 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16420 fra.me.file = LOCATE_parser;
16421 fra.me.line = 4648;
16422 fra.me.meth = LOCATE_parser___ReduceAction87___action;
16423 fra.me.has_broke = 0;
16424 fra.me.REG_size = 14;
16425 fra.me.nitni_local_ref_head = NULL;
16426 fra.me.REG[0] = NIT_NULL;
16427 fra.me.REG[1] = NIT_NULL;
16428 fra.me.REG[2] = NIT_NULL;
16429 fra.me.REG[3] = NIT_NULL;
16430 fra.me.REG[4] = NIT_NULL;
16431 fra.me.REG[5] = NIT_NULL;
16432 fra.me.REG[6] = NIT_NULL;
16433 fra.me.REG[7] = NIT_NULL;
16434 fra.me.REG[8] = NIT_NULL;
16435 fra.me.REG[9] = NIT_NULL;
16436 fra.me.REG[10] = NIT_NULL;
16437 fra.me.REG[11] = NIT_NULL;
16438 fra.me.REG[12] = NIT_NULL;
16439 fra.me.REG[13] = NIT_NULL;
16440 fra.me.REG[0] = p0;
16441 fra.me.REG[1] = p1;
16442 /* parser/parser.nit:4650 */
16443 fra.me.REG[2] = NIT_NULL;
16444 /* parser/parser.nit:4651 */
16445 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16446 /* parser/parser.nit:4652 */
16447 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16448 /* parser/parser.nit:4653 */
16449 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16450 /* parser/parser.nit:4654 */
16451 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16452 /* parser/parser.nit:4655 */
16453 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16454 /* parser/parser.nit:4656 */
16455 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16456 /* parser/parser.nit:4657 */
16457 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16458 /* parser/parser.nit:4658 */
16459 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16460 /* parser/parser.nit:4659 */
16461 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16462 /* parser/parser.nit:4660 */
16463 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16464 /* parser/parser.nit:4661 */
16465 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
16466 /* parser/parser.nit:4662 */
16467 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
16468 /* parser/parser.nit:4663 */
16469 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
16470 /* parser/parser.nit:4665 */
16471 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*/;
16472 if (UNTAG_Bool(REGB0)) {
16473 } else {
16474 nit_abort("Assert failed", NULL, LOCATE_parser, 4665);
16475 }
16476 /* parser/parser.nit:4667 */
16477 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*/;
16478 if (UNTAG_Bool(REGB0)) {
16479 } else {
16480 nit_abort("Assert failed", NULL, LOCATE_parser, 4667);
16481 }
16482 /* parser/parser.nit:4669 */
16483 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*/;
16484 if (UNTAG_Bool(REGB0)) {
16485 } else {
16486 nit_abort("Assert failed", NULL, LOCATE_parser, 4669);
16487 }
16488 /* parser/parser.nit:4671 */
16489 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*/;
16490 if (UNTAG_Bool(REGB0)) {
16491 } else {
16492 nit_abort("Assert failed", NULL, LOCATE_parser, 4671);
16493 }
16494 /* parser/parser.nit:4673 */
16495 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]*/;
16496 if (UNTAG_Bool(REGB0)) {
16497 } else {
16498 nit_abort("Assert failed", NULL, LOCATE_parser, 4673);
16499 }
16500 /* parser/parser.nit:4674 */
16501 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[6]);
16502 fra.me.REG[11] = fra.me.REG[6];
16503 /* parser/parser.nit:4675 */
16504 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
16505 /* parser/parser.nit:4677 */
16506 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]*/;
16507 if (UNTAG_Bool(REGB0)) {
16508 } else {
16509 nit_abort("Assert failed", NULL, LOCATE_parser, 4677);
16510 }
16511 /* parser/parser.nit:4678 */
16512 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
16513 fra.me.REG[6] = fra.me.REG[5];
16514 /* parser/parser.nit:4679 */
16515 fra.me.REG[6] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[6], NIT_NULL);
16516 /* parser/parser.nit:4686 */
16517 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*/;
16518 if (UNTAG_Bool(REGB0)) {
16519 } else {
16520 nit_abort("Assert failed", NULL, LOCATE_parser, 4686);
16521 }
16522 /* parser/parser.nit:4688 */
16523 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*/;
16524 if (UNTAG_Bool(REGB0)) {
16525 } else {
16526 nit_abort("Assert failed", NULL, LOCATE_parser, 4688);
16527 }
16528 /* parser/parser.nit:4689 */
16529 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[4], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
16530 /* parser/parser.nit:4702 */
16531 fra.me.REG[2] = fra.me.REG[3];
16532 /* parser/parser.nit:4703 */
16533 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16534 if (UNTAG_Bool(REGB0)) {
16535 } else {
16536 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4703);
16537 }
16538 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16539 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16540 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16541 stack_frame_head = fra.me.prev;
16542 return;
16543 }
16544 static const char LOCATE_parser___ReduceAction88___action[] = "parser::ReduceAction88::(parser::ReduceAction::action)";
16545 void parser___ReduceAction88___action(val_t p0, val_t p1){
16546 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
16547 val_t REGB0;
16548 val_t tmp;
16549 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16550 fra.me.file = LOCATE_parser;
16551 fra.me.line = 4708;
16552 fra.me.meth = LOCATE_parser___ReduceAction88___action;
16553 fra.me.has_broke = 0;
16554 fra.me.REG_size = 15;
16555 fra.me.nitni_local_ref_head = NULL;
16556 fra.me.REG[0] = NIT_NULL;
16557 fra.me.REG[1] = NIT_NULL;
16558 fra.me.REG[2] = NIT_NULL;
16559 fra.me.REG[3] = NIT_NULL;
16560 fra.me.REG[4] = NIT_NULL;
16561 fra.me.REG[5] = NIT_NULL;
16562 fra.me.REG[6] = NIT_NULL;
16563 fra.me.REG[7] = NIT_NULL;
16564 fra.me.REG[8] = NIT_NULL;
16565 fra.me.REG[9] = NIT_NULL;
16566 fra.me.REG[10] = NIT_NULL;
16567 fra.me.REG[11] = NIT_NULL;
16568 fra.me.REG[12] = NIT_NULL;
16569 fra.me.REG[13] = NIT_NULL;
16570 fra.me.REG[14] = NIT_NULL;
16571 fra.me.REG[0] = p0;
16572 fra.me.REG[1] = p1;
16573 /* parser/parser.nit:4710 */
16574 fra.me.REG[2] = NIT_NULL;
16575 /* parser/parser.nit:4711 */
16576 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16577 /* parser/parser.nit:4712 */
16578 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16579 /* parser/parser.nit:4713 */
16580 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16581 /* parser/parser.nit:4714 */
16582 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16583 /* parser/parser.nit:4715 */
16584 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16585 /* parser/parser.nit:4716 */
16586 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16587 /* parser/parser.nit:4717 */
16588 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16589 /* parser/parser.nit:4718 */
16590 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16591 /* parser/parser.nit:4719 */
16592 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16593 /* parser/parser.nit:4720 */
16594 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16595 /* parser/parser.nit:4721 */
16596 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16597 /* parser/parser.nit:4722 */
16598 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
16599 /* parser/parser.nit:4723 */
16600 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
16601 /* parser/parser.nit:4724 */
16602 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
16603 /* parser/parser.nit:4726 */
16604 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*/;
16605 if (UNTAG_Bool(REGB0)) {
16606 } else {
16607 nit_abort("Assert failed", NULL, LOCATE_parser, 4726);
16608 }
16609 /* parser/parser.nit:4728 */
16610 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*/;
16611 if (UNTAG_Bool(REGB0)) {
16612 } else {
16613 nit_abort("Assert failed", NULL, LOCATE_parser, 4728);
16614 }
16615 /* parser/parser.nit:4730 */
16616 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*/;
16617 if (UNTAG_Bool(REGB0)) {
16618 } else {
16619 nit_abort("Assert failed", NULL, LOCATE_parser, 4730);
16620 }
16621 /* parser/parser.nit:4732 */
16622 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*/;
16623 if (UNTAG_Bool(REGB0)) {
16624 } else {
16625 nit_abort("Assert failed", NULL, LOCATE_parser, 4732);
16626 }
16627 /* parser/parser.nit:4734 */
16628 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*/;
16629 if (UNTAG_Bool(REGB0)) {
16630 } else {
16631 nit_abort("Assert failed", NULL, LOCATE_parser, 4734);
16632 }
16633 /* parser/parser.nit:4736 */
16634 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]*/;
16635 if (UNTAG_Bool(REGB0)) {
16636 } else {
16637 nit_abort("Assert failed", NULL, LOCATE_parser, 4736);
16638 }
16639 /* parser/parser.nit:4737 */
16640 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[6]);
16641 fra.me.REG[12] = fra.me.REG[6];
16642 /* parser/parser.nit:4738 */
16643 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
16644 /* parser/parser.nit:4740 */
16645 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]*/;
16646 if (UNTAG_Bool(REGB0)) {
16647 } else {
16648 nit_abort("Assert failed", NULL, LOCATE_parser, 4740);
16649 }
16650 /* parser/parser.nit:4741 */
16651 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
16652 fra.me.REG[6] = fra.me.REG[5];
16653 /* parser/parser.nit:4742 */
16654 fra.me.REG[6] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[6], NIT_NULL);
16655 /* parser/parser.nit:4749 */
16656 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*/;
16657 if (UNTAG_Bool(REGB0)) {
16658 } else {
16659 nit_abort("Assert failed", NULL, LOCATE_parser, 4749);
16660 }
16661 /* parser/parser.nit:4751 */
16662 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*/;
16663 if (UNTAG_Bool(REGB0)) {
16664 } else {
16665 nit_abort("Assert failed", NULL, LOCATE_parser, 4751);
16666 }
16667 /* parser/parser.nit:4752 */
16668 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[4], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
16669 /* parser/parser.nit:4765 */
16670 fra.me.REG[2] = fra.me.REG[3];
16671 /* parser/parser.nit:4766 */
16672 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16673 if (UNTAG_Bool(REGB0)) {
16674 } else {
16675 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4766);
16676 }
16677 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16678 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16679 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16680 stack_frame_head = fra.me.prev;
16681 return;
16682 }
16683 static const char LOCATE_parser___ReduceAction89___action[] = "parser::ReduceAction89::(parser::ReduceAction::action)";
16684 void parser___ReduceAction89___action(val_t p0, val_t p1){
16685 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
16686 val_t REGB0;
16687 val_t tmp;
16688 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16689 fra.me.file = LOCATE_parser;
16690 fra.me.line = 4771;
16691 fra.me.meth = LOCATE_parser___ReduceAction89___action;
16692 fra.me.has_broke = 0;
16693 fra.me.REG_size = 12;
16694 fra.me.nitni_local_ref_head = NULL;
16695 fra.me.REG[0] = NIT_NULL;
16696 fra.me.REG[1] = NIT_NULL;
16697 fra.me.REG[2] = NIT_NULL;
16698 fra.me.REG[3] = NIT_NULL;
16699 fra.me.REG[4] = NIT_NULL;
16700 fra.me.REG[5] = NIT_NULL;
16701 fra.me.REG[6] = NIT_NULL;
16702 fra.me.REG[7] = NIT_NULL;
16703 fra.me.REG[8] = NIT_NULL;
16704 fra.me.REG[9] = NIT_NULL;
16705 fra.me.REG[10] = NIT_NULL;
16706 fra.me.REG[11] = NIT_NULL;
16707 fra.me.REG[0] = p0;
16708 fra.me.REG[1] = p1;
16709 /* parser/parser.nit:4773 */
16710 fra.me.REG[2] = NIT_NULL;
16711 /* parser/parser.nit:4774 */
16712 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16713 /* parser/parser.nit:4775 */
16714 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16715 /* parser/parser.nit:4776 */
16716 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16717 /* parser/parser.nit:4777 */
16718 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16719 /* parser/parser.nit:4778 */
16720 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16721 /* parser/parser.nit:4779 */
16722 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16723 /* parser/parser.nit:4780 */
16724 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16725 /* parser/parser.nit:4781 */
16726 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16727 /* parser/parser.nit:4782 */
16728 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
16729 /* parser/parser.nit:4783 */
16730 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
16731 /* parser/parser.nit:4784 */
16732 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
16733 /* parser/parser.nit:4786 */
16734 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*/;
16735 if (UNTAG_Bool(REGB0)) {
16736 } else {
16737 nit_abort("Assert failed", NULL, LOCATE_parser, 4786);
16738 }
16739 /* parser/parser.nit:4788 */
16740 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*/;
16741 if (UNTAG_Bool(REGB0)) {
16742 } else {
16743 nit_abort("Assert failed", NULL, LOCATE_parser, 4788);
16744 }
16745 /* parser/parser.nit:4790 */
16746 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*/;
16747 if (UNTAG_Bool(REGB0)) {
16748 } else {
16749 nit_abort("Assert failed", NULL, LOCATE_parser, 4790);
16750 }
16751 /* parser/parser.nit:4792 */
16752 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*/;
16753 if (UNTAG_Bool(REGB0)) {
16754 } else {
16755 nit_abort("Assert failed", NULL, LOCATE_parser, 4792);
16756 }
16757 /* parser/parser.nit:4794 */
16758 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]*/;
16759 if (UNTAG_Bool(REGB0)) {
16760 } else {
16761 nit_abort("Assert failed", NULL, LOCATE_parser, 4794);
16762 }
16763 /* parser/parser.nit:4795 */
16764 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
16765 fra.me.REG[10] = fra.me.REG[4];
16766 /* parser/parser.nit:4797 */
16767 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*/;
16768 if (UNTAG_Bool(REGB0)) {
16769 } else {
16770 nit_abort("Assert failed", NULL, LOCATE_parser, 4797);
16771 }
16772 /* parser/parser.nit:4798 */
16773 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, NIT_NULL, fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
16774 /* parser/parser.nit:4811 */
16775 fra.me.REG[2] = fra.me.REG[3];
16776 /* parser/parser.nit:4812 */
16777 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16778 if (UNTAG_Bool(REGB0)) {
16779 } else {
16780 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4812);
16781 }
16782 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16783 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16784 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16785 stack_frame_head = fra.me.prev;
16786 return;
16787 }
16788 static const char LOCATE_parser___ReduceAction90___action[] = "parser::ReduceAction90::(parser::ReduceAction::action)";
16789 void parser___ReduceAction90___action(val_t p0, val_t p1){
16790 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
16791 val_t REGB0;
16792 val_t tmp;
16793 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16794 fra.me.file = LOCATE_parser;
16795 fra.me.line = 4817;
16796 fra.me.meth = LOCATE_parser___ReduceAction90___action;
16797 fra.me.has_broke = 0;
16798 fra.me.REG_size = 13;
16799 fra.me.nitni_local_ref_head = NULL;
16800 fra.me.REG[0] = NIT_NULL;
16801 fra.me.REG[1] = NIT_NULL;
16802 fra.me.REG[2] = NIT_NULL;
16803 fra.me.REG[3] = NIT_NULL;
16804 fra.me.REG[4] = NIT_NULL;
16805 fra.me.REG[5] = NIT_NULL;
16806 fra.me.REG[6] = NIT_NULL;
16807 fra.me.REG[7] = NIT_NULL;
16808 fra.me.REG[8] = NIT_NULL;
16809 fra.me.REG[9] = NIT_NULL;
16810 fra.me.REG[10] = NIT_NULL;
16811 fra.me.REG[11] = NIT_NULL;
16812 fra.me.REG[12] = NIT_NULL;
16813 fra.me.REG[0] = p0;
16814 fra.me.REG[1] = p1;
16815 /* parser/parser.nit:4819 */
16816 fra.me.REG[2] = NIT_NULL;
16817 /* parser/parser.nit:4820 */
16818 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16819 /* parser/parser.nit:4821 */
16820 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16821 /* parser/parser.nit:4822 */
16822 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16823 /* parser/parser.nit:4823 */
16824 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16825 /* parser/parser.nit:4824 */
16826 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16827 /* parser/parser.nit:4825 */
16828 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16829 /* parser/parser.nit:4826 */
16830 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16831 /* parser/parser.nit:4827 */
16832 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16833 /* parser/parser.nit:4828 */
16834 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16835 /* parser/parser.nit:4829 */
16836 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
16837 /* parser/parser.nit:4830 */
16838 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
16839 /* parser/parser.nit:4831 */
16840 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
16841 /* parser/parser.nit:4833 */
16842 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*/;
16843 if (UNTAG_Bool(REGB0)) {
16844 } else {
16845 nit_abort("Assert failed", NULL, LOCATE_parser, 4833);
16846 }
16847 /* parser/parser.nit:4835 */
16848 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*/;
16849 if (UNTAG_Bool(REGB0)) {
16850 } else {
16851 nit_abort("Assert failed", NULL, LOCATE_parser, 4835);
16852 }
16853 /* parser/parser.nit:4837 */
16854 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*/;
16855 if (UNTAG_Bool(REGB0)) {
16856 } else {
16857 nit_abort("Assert failed", NULL, LOCATE_parser, 4837);
16858 }
16859 /* parser/parser.nit:4839 */
16860 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*/;
16861 if (UNTAG_Bool(REGB0)) {
16862 } else {
16863 nit_abort("Assert failed", NULL, LOCATE_parser, 4839);
16864 }
16865 /* parser/parser.nit:4841 */
16866 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*/;
16867 if (UNTAG_Bool(REGB0)) {
16868 } else {
16869 nit_abort("Assert failed", NULL, LOCATE_parser, 4841);
16870 }
16871 /* parser/parser.nit:4843 */
16872 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]*/;
16873 if (UNTAG_Bool(REGB0)) {
16874 } else {
16875 nit_abort("Assert failed", NULL, LOCATE_parser, 4843);
16876 }
16877 /* parser/parser.nit:4844 */
16878 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
16879 fra.me.REG[11] = fra.me.REG[4];
16880 /* parser/parser.nit:4846 */
16881 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*/;
16882 if (UNTAG_Bool(REGB0)) {
16883 } else {
16884 nit_abort("Assert failed", NULL, LOCATE_parser, 4846);
16885 }
16886 /* parser/parser.nit:4847 */
16887 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, NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
16888 /* parser/parser.nit:4860 */
16889 fra.me.REG[2] = fra.me.REG[3];
16890 /* parser/parser.nit:4861 */
16891 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16892 if (UNTAG_Bool(REGB0)) {
16893 } else {
16894 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4861);
16895 }
16896 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16897 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16898 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16899 stack_frame_head = fra.me.prev;
16900 return;
16901 }
16902 static const char LOCATE_parser___ReduceAction91___action[] = "parser::ReduceAction91::(parser::ReduceAction::action)";
16903 void parser___ReduceAction91___action(val_t p0, val_t p1){
16904 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
16905 val_t REGB0;
16906 val_t tmp;
16907 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16908 fra.me.file = LOCATE_parser;
16909 fra.me.line = 4866;
16910 fra.me.meth = LOCATE_parser___ReduceAction91___action;
16911 fra.me.has_broke = 0;
16912 fra.me.REG_size = 13;
16913 fra.me.nitni_local_ref_head = NULL;
16914 fra.me.REG[0] = NIT_NULL;
16915 fra.me.REG[1] = NIT_NULL;
16916 fra.me.REG[2] = NIT_NULL;
16917 fra.me.REG[3] = NIT_NULL;
16918 fra.me.REG[4] = NIT_NULL;
16919 fra.me.REG[5] = NIT_NULL;
16920 fra.me.REG[6] = NIT_NULL;
16921 fra.me.REG[7] = NIT_NULL;
16922 fra.me.REG[8] = NIT_NULL;
16923 fra.me.REG[9] = NIT_NULL;
16924 fra.me.REG[10] = NIT_NULL;
16925 fra.me.REG[11] = NIT_NULL;
16926 fra.me.REG[12] = NIT_NULL;
16927 fra.me.REG[0] = p0;
16928 fra.me.REG[1] = p1;
16929 /* parser/parser.nit:4868 */
16930 fra.me.REG[2] = NIT_NULL;
16931 /* parser/parser.nit:4869 */
16932 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16933 /* parser/parser.nit:4870 */
16934 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16935 /* parser/parser.nit:4871 */
16936 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16937 /* parser/parser.nit:4872 */
16938 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16939 /* parser/parser.nit:4873 */
16940 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16941 /* parser/parser.nit:4874 */
16942 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16943 /* parser/parser.nit:4875 */
16944 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16945 /* parser/parser.nit:4876 */
16946 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16947 /* parser/parser.nit:4877 */
16948 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16949 /* parser/parser.nit:4878 */
16950 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
16951 /* parser/parser.nit:4879 */
16952 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
16953 /* parser/parser.nit:4880 */
16954 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
16955 /* parser/parser.nit:4882 */
16956 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*/;
16957 if (UNTAG_Bool(REGB0)) {
16958 } else {
16959 nit_abort("Assert failed", NULL, LOCATE_parser, 4882);
16960 }
16961 /* parser/parser.nit:4884 */
16962 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*/;
16963 if (UNTAG_Bool(REGB0)) {
16964 } else {
16965 nit_abort("Assert failed", NULL, LOCATE_parser, 4884);
16966 }
16967 /* parser/parser.nit:4886 */
16968 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*/;
16969 if (UNTAG_Bool(REGB0)) {
16970 } else {
16971 nit_abort("Assert failed", NULL, LOCATE_parser, 4886);
16972 }
16973 /* parser/parser.nit:4888 */
16974 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*/;
16975 if (UNTAG_Bool(REGB0)) {
16976 } else {
16977 nit_abort("Assert failed", NULL, LOCATE_parser, 4888);
16978 }
16979 /* parser/parser.nit:4890 */
16980 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]*/;
16981 if (UNTAG_Bool(REGB0)) {
16982 } else {
16983 nit_abort("Assert failed", NULL, LOCATE_parser, 4890);
16984 }
16985 /* parser/parser.nit:4891 */
16986 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
16987 fra.me.REG[10] = fra.me.REG[5];
16988 /* parser/parser.nit:4893 */
16989 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]*/;
16990 if (UNTAG_Bool(REGB0)) {
16991 } else {
16992 nit_abort("Assert failed", NULL, LOCATE_parser, 4893);
16993 }
16994 /* parser/parser.nit:4894 */
16995 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
16996 fra.me.REG[11] = fra.me.REG[4];
16997 /* parser/parser.nit:4896 */
16998 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*/;
16999 if (UNTAG_Bool(REGB0)) {
17000 } else {
17001 nit_abort("Assert failed", NULL, LOCATE_parser, 4896);
17002 }
17003 /* parser/parser.nit:4897 */
17004 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, NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
17005 /* parser/parser.nit:4910 */
17006 fra.me.REG[2] = fra.me.REG[3];
17007 /* parser/parser.nit:4911 */
17008 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17009 if (UNTAG_Bool(REGB0)) {
17010 } else {
17011 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4911);
17012 }
17013 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17014 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17015 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17016 stack_frame_head = fra.me.prev;
17017 return;
17018 }
17019 static const char LOCATE_parser___ReduceAction92___action[] = "parser::ReduceAction92::(parser::ReduceAction::action)";
17020 void parser___ReduceAction92___action(val_t p0, val_t p1){
17021 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
17022 val_t REGB0;
17023 val_t tmp;
17024 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17025 fra.me.file = LOCATE_parser;
17026 fra.me.line = 4916;
17027 fra.me.meth = LOCATE_parser___ReduceAction92___action;
17028 fra.me.has_broke = 0;
17029 fra.me.REG_size = 14;
17030 fra.me.nitni_local_ref_head = NULL;
17031 fra.me.REG[0] = NIT_NULL;
17032 fra.me.REG[1] = NIT_NULL;
17033 fra.me.REG[2] = NIT_NULL;
17034 fra.me.REG[3] = NIT_NULL;
17035 fra.me.REG[4] = NIT_NULL;
17036 fra.me.REG[5] = NIT_NULL;
17037 fra.me.REG[6] = NIT_NULL;
17038 fra.me.REG[7] = NIT_NULL;
17039 fra.me.REG[8] = NIT_NULL;
17040 fra.me.REG[9] = NIT_NULL;
17041 fra.me.REG[10] = NIT_NULL;
17042 fra.me.REG[11] = NIT_NULL;
17043 fra.me.REG[12] = NIT_NULL;
17044 fra.me.REG[13] = NIT_NULL;
17045 fra.me.REG[0] = p0;
17046 fra.me.REG[1] = p1;
17047 /* parser/parser.nit:4918 */
17048 fra.me.REG[2] = NIT_NULL;
17049 /* parser/parser.nit:4919 */
17050 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17051 /* parser/parser.nit:4920 */
17052 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17053 /* parser/parser.nit:4921 */
17054 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17055 /* parser/parser.nit:4922 */
17056 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17057 /* parser/parser.nit:4923 */
17058 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17059 /* parser/parser.nit:4924 */
17060 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17061 /* parser/parser.nit:4925 */
17062 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17063 /* parser/parser.nit:4926 */
17064 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17065 /* parser/parser.nit:4927 */
17066 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17067 /* parser/parser.nit:4928 */
17068 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17069 /* parser/parser.nit:4929 */
17070 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
17071 /* parser/parser.nit:4930 */
17072 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
17073 /* parser/parser.nit:4931 */
17074 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
17075 /* parser/parser.nit:4933 */
17076 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*/;
17077 if (UNTAG_Bool(REGB0)) {
17078 } else {
17079 nit_abort("Assert failed", NULL, LOCATE_parser, 4933);
17080 }
17081 /* parser/parser.nit:4935 */
17082 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*/;
17083 if (UNTAG_Bool(REGB0)) {
17084 } else {
17085 nit_abort("Assert failed", NULL, LOCATE_parser, 4935);
17086 }
17087 /* parser/parser.nit:4937 */
17088 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*/;
17089 if (UNTAG_Bool(REGB0)) {
17090 } else {
17091 nit_abort("Assert failed", NULL, LOCATE_parser, 4937);
17092 }
17093 /* parser/parser.nit:4939 */
17094 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*/;
17095 if (UNTAG_Bool(REGB0)) {
17096 } else {
17097 nit_abort("Assert failed", NULL, LOCATE_parser, 4939);
17098 }
17099 /* parser/parser.nit:4941 */
17100 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*/;
17101 if (UNTAG_Bool(REGB0)) {
17102 } else {
17103 nit_abort("Assert failed", NULL, LOCATE_parser, 4941);
17104 }
17105 /* parser/parser.nit:4943 */
17106 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]*/;
17107 if (UNTAG_Bool(REGB0)) {
17108 } else {
17109 nit_abort("Assert failed", NULL, LOCATE_parser, 4943);
17110 }
17111 /* parser/parser.nit:4944 */
17112 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
17113 fra.me.REG[11] = fra.me.REG[5];
17114 /* parser/parser.nit:4946 */
17115 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]*/;
17116 if (UNTAG_Bool(REGB0)) {
17117 } else {
17118 nit_abort("Assert failed", NULL, LOCATE_parser, 4946);
17119 }
17120 /* parser/parser.nit:4947 */
17121 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
17122 fra.me.REG[12] = fra.me.REG[4];
17123 /* parser/parser.nit:4949 */
17124 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*/;
17125 if (UNTAG_Bool(REGB0)) {
17126 } else {
17127 nit_abort("Assert failed", NULL, LOCATE_parser, 4949);
17128 }
17129 /* parser/parser.nit:4950 */
17130 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, NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
17131 /* parser/parser.nit:4963 */
17132 fra.me.REG[2] = fra.me.REG[3];
17133 /* parser/parser.nit:4964 */
17134 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17135 if (UNTAG_Bool(REGB0)) {
17136 } else {
17137 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4964);
17138 }
17139 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17140 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17141 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17142 stack_frame_head = fra.me.prev;
17143 return;
17144 }
17145 static const char LOCATE_parser___ReduceAction93___action[] = "parser::ReduceAction93::(parser::ReduceAction::action)";
17146 void parser___ReduceAction93___action(val_t p0, val_t p1){
17147 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
17148 val_t REGB0;
17149 val_t tmp;
17150 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17151 fra.me.file = LOCATE_parser;
17152 fra.me.line = 4969;
17153 fra.me.meth = LOCATE_parser___ReduceAction93___action;
17154 fra.me.has_broke = 0;
17155 fra.me.REG_size = 14;
17156 fra.me.nitni_local_ref_head = NULL;
17157 fra.me.REG[0] = NIT_NULL;
17158 fra.me.REG[1] = NIT_NULL;
17159 fra.me.REG[2] = NIT_NULL;
17160 fra.me.REG[3] = NIT_NULL;
17161 fra.me.REG[4] = NIT_NULL;
17162 fra.me.REG[5] = NIT_NULL;
17163 fra.me.REG[6] = NIT_NULL;
17164 fra.me.REG[7] = NIT_NULL;
17165 fra.me.REG[8] = NIT_NULL;
17166 fra.me.REG[9] = NIT_NULL;
17167 fra.me.REG[10] = NIT_NULL;
17168 fra.me.REG[11] = NIT_NULL;
17169 fra.me.REG[12] = NIT_NULL;
17170 fra.me.REG[13] = NIT_NULL;
17171 fra.me.REG[0] = p0;
17172 fra.me.REG[1] = p1;
17173 /* parser/parser.nit:4971 */
17174 fra.me.REG[2] = NIT_NULL;
17175 /* parser/parser.nit:4972 */
17176 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17177 /* parser/parser.nit:4973 */
17178 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17179 /* parser/parser.nit:4974 */
17180 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17181 /* parser/parser.nit:4975 */
17182 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17183 /* parser/parser.nit:4976 */
17184 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17185 /* parser/parser.nit:4977 */
17186 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17187 /* parser/parser.nit:4978 */
17188 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17189 /* parser/parser.nit:4979 */
17190 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17191 /* parser/parser.nit:4980 */
17192 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17193 /* parser/parser.nit:4981 */
17194 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
17195 /* parser/parser.nit:4982 */
17196 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
17197 /* parser/parser.nit:4983 */
17198 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
17199 /* parser/parser.nit:4985 */
17200 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*/;
17201 if (UNTAG_Bool(REGB0)) {
17202 } else {
17203 nit_abort("Assert failed", NULL, LOCATE_parser, 4985);
17204 }
17205 /* parser/parser.nit:4987 */
17206 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*/;
17207 if (UNTAG_Bool(REGB0)) {
17208 } else {
17209 nit_abort("Assert failed", NULL, LOCATE_parser, 4987);
17210 }
17211 /* parser/parser.nit:4989 */
17212 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*/;
17213 if (UNTAG_Bool(REGB0)) {
17214 } else {
17215 nit_abort("Assert failed", NULL, LOCATE_parser, 4989);
17216 }
17217 /* parser/parser.nit:4991 */
17218 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*/;
17219 if (UNTAG_Bool(REGB0)) {
17220 } else {
17221 nit_abort("Assert failed", NULL, LOCATE_parser, 4991);
17222 }
17223 /* parser/parser.nit:4992 */
17224 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
17225 /* parser/parser.nit:4994 */
17226 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]*/;
17227 if (UNTAG_Bool(REGB0)) {
17228 } else {
17229 nit_abort("Assert failed", NULL, LOCATE_parser, 4994);
17230 }
17231 /* parser/parser.nit:4995 */
17232 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[5]);
17233 fra.me.REG[13] = fra.me.REG[5];
17234 /* parser/parser.nit:4996 */
17235 fra.me.REG[13] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[13], NIT_NULL);
17236 /* parser/parser.nit:5003 */
17237 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]*/;
17238 if (UNTAG_Bool(REGB0)) {
17239 } else {
17240 nit_abort("Assert failed", NULL, LOCATE_parser, 5003);
17241 }
17242 /* parser/parser.nit:5004 */
17243 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
17244 fra.me.REG[11] = fra.me.REG[4];
17245 /* parser/parser.nit:5006 */
17246 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*/;
17247 if (UNTAG_Bool(REGB0)) {
17248 } else {
17249 nit_abort("Assert failed", NULL, LOCATE_parser, 5006);
17250 }
17251 /* parser/parser.nit:5007 */
17252 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[13], NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
17253 /* parser/parser.nit:5020 */
17254 fra.me.REG[2] = fra.me.REG[3];
17255 /* parser/parser.nit:5021 */
17256 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17257 if (UNTAG_Bool(REGB0)) {
17258 } else {
17259 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5021);
17260 }
17261 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17262 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17263 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17264 stack_frame_head = fra.me.prev;
17265 return;
17266 }
17267 static const char LOCATE_parser___ReduceAction94___action[] = "parser::ReduceAction94::(parser::ReduceAction::action)";
17268 void parser___ReduceAction94___action(val_t p0, val_t p1){
17269 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
17270 val_t REGB0;
17271 val_t tmp;
17272 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17273 fra.me.file = LOCATE_parser;
17274 fra.me.line = 5026;
17275 fra.me.meth = LOCATE_parser___ReduceAction94___action;
17276 fra.me.has_broke = 0;
17277 fra.me.REG_size = 15;
17278 fra.me.nitni_local_ref_head = NULL;
17279 fra.me.REG[0] = NIT_NULL;
17280 fra.me.REG[1] = NIT_NULL;
17281 fra.me.REG[2] = NIT_NULL;
17282 fra.me.REG[3] = NIT_NULL;
17283 fra.me.REG[4] = NIT_NULL;
17284 fra.me.REG[5] = NIT_NULL;
17285 fra.me.REG[6] = NIT_NULL;
17286 fra.me.REG[7] = NIT_NULL;
17287 fra.me.REG[8] = NIT_NULL;
17288 fra.me.REG[9] = NIT_NULL;
17289 fra.me.REG[10] = NIT_NULL;
17290 fra.me.REG[11] = NIT_NULL;
17291 fra.me.REG[12] = NIT_NULL;
17292 fra.me.REG[13] = NIT_NULL;
17293 fra.me.REG[14] = NIT_NULL;
17294 fra.me.REG[0] = p0;
17295 fra.me.REG[1] = p1;
17296 /* parser/parser.nit:5028 */
17297 fra.me.REG[2] = NIT_NULL;
17298 /* parser/parser.nit:5029 */
17299 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17300 /* parser/parser.nit:5030 */
17301 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17302 /* parser/parser.nit:5031 */
17303 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17304 /* parser/parser.nit:5032 */
17305 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17306 /* parser/parser.nit:5033 */
17307 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17308 /* parser/parser.nit:5034 */
17309 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17310 /* parser/parser.nit:5035 */
17311 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17312 /* parser/parser.nit:5036 */
17313 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17314 /* parser/parser.nit:5037 */
17315 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17316 /* parser/parser.nit:5038 */
17317 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17318 /* parser/parser.nit:5039 */
17319 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
17320 /* parser/parser.nit:5040 */
17321 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
17322 /* parser/parser.nit:5041 */
17323 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
17324 /* parser/parser.nit:5043 */
17325 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*/;
17326 if (UNTAG_Bool(REGB0)) {
17327 } else {
17328 nit_abort("Assert failed", NULL, LOCATE_parser, 5043);
17329 }
17330 /* parser/parser.nit:5045 */
17331 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*/;
17332 if (UNTAG_Bool(REGB0)) {
17333 } else {
17334 nit_abort("Assert failed", NULL, LOCATE_parser, 5045);
17335 }
17336 /* parser/parser.nit:5047 */
17337 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*/;
17338 if (UNTAG_Bool(REGB0)) {
17339 } else {
17340 nit_abort("Assert failed", NULL, LOCATE_parser, 5047);
17341 }
17342 /* parser/parser.nit:5049 */
17343 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*/;
17344 if (UNTAG_Bool(REGB0)) {
17345 } else {
17346 nit_abort("Assert failed", NULL, LOCATE_parser, 5049);
17347 }
17348 /* parser/parser.nit:5051 */
17349 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*/;
17350 if (UNTAG_Bool(REGB0)) {
17351 } else {
17352 nit_abort("Assert failed", NULL, LOCATE_parser, 5051);
17353 }
17354 /* parser/parser.nit:5052 */
17355 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
17356 /* parser/parser.nit:5054 */
17357 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]*/;
17358 if (UNTAG_Bool(REGB0)) {
17359 } else {
17360 nit_abort("Assert failed", NULL, LOCATE_parser, 5054);
17361 }
17362 /* parser/parser.nit:5055 */
17363 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[5]);
17364 fra.me.REG[14] = fra.me.REG[5];
17365 /* parser/parser.nit:5056 */
17366 fra.me.REG[14] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[14], NIT_NULL);
17367 /* parser/parser.nit:5063 */
17368 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]*/;
17369 if (UNTAG_Bool(REGB0)) {
17370 } else {
17371 nit_abort("Assert failed", NULL, LOCATE_parser, 5063);
17372 }
17373 /* parser/parser.nit:5064 */
17374 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
17375 fra.me.REG[12] = fra.me.REG[4];
17376 /* parser/parser.nit:5066 */
17377 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*/;
17378 if (UNTAG_Bool(REGB0)) {
17379 } else {
17380 nit_abort("Assert failed", NULL, LOCATE_parser, 5066);
17381 }
17382 /* parser/parser.nit:5067 */
17383 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[14], NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
17384 /* parser/parser.nit:5080 */
17385 fra.me.REG[2] = fra.me.REG[3];
17386 /* parser/parser.nit:5081 */
17387 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17388 if (UNTAG_Bool(REGB0)) {
17389 } else {
17390 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5081);
17391 }
17392 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17393 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17394 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17395 stack_frame_head = fra.me.prev;
17396 return;
17397 }
17398 static const char LOCATE_parser___ReduceAction95___action[] = "parser::ReduceAction95::(parser::ReduceAction::action)";
17399 void parser___ReduceAction95___action(val_t p0, val_t p1){
17400 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
17401 val_t REGB0;
17402 val_t tmp;
17403 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17404 fra.me.file = LOCATE_parser;
17405 fra.me.line = 5086;
17406 fra.me.meth = LOCATE_parser___ReduceAction95___action;
17407 fra.me.has_broke = 0;
17408 fra.me.REG_size = 14;
17409 fra.me.nitni_local_ref_head = NULL;
17410 fra.me.REG[0] = NIT_NULL;
17411 fra.me.REG[1] = NIT_NULL;
17412 fra.me.REG[2] = NIT_NULL;
17413 fra.me.REG[3] = NIT_NULL;
17414 fra.me.REG[4] = NIT_NULL;
17415 fra.me.REG[5] = NIT_NULL;
17416 fra.me.REG[6] = NIT_NULL;
17417 fra.me.REG[7] = NIT_NULL;
17418 fra.me.REG[8] = NIT_NULL;
17419 fra.me.REG[9] = NIT_NULL;
17420 fra.me.REG[10] = NIT_NULL;
17421 fra.me.REG[11] = NIT_NULL;
17422 fra.me.REG[12] = NIT_NULL;
17423 fra.me.REG[13] = NIT_NULL;
17424 fra.me.REG[0] = p0;
17425 fra.me.REG[1] = p1;
17426 /* parser/parser.nit:5088 */
17427 fra.me.REG[2] = NIT_NULL;
17428 /* parser/parser.nit:5089 */
17429 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17430 /* parser/parser.nit:5090 */
17431 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17432 /* parser/parser.nit:5091 */
17433 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17434 /* parser/parser.nit:5092 */
17435 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17436 /* parser/parser.nit:5093 */
17437 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17438 /* parser/parser.nit:5094 */
17439 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17440 /* parser/parser.nit:5095 */
17441 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17442 /* parser/parser.nit:5096 */
17443 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17444 /* parser/parser.nit:5097 */
17445 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17446 /* parser/parser.nit:5098 */
17447 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17448 /* parser/parser.nit:5099 */
17449 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
17450 /* parser/parser.nit:5100 */
17451 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
17452 /* parser/parser.nit:5101 */
17453 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
17454 /* parser/parser.nit:5103 */
17455 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*/;
17456 if (UNTAG_Bool(REGB0)) {
17457 } else {
17458 nit_abort("Assert failed", NULL, LOCATE_parser, 5103);
17459 }
17460 /* parser/parser.nit:5105 */
17461 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*/;
17462 if (UNTAG_Bool(REGB0)) {
17463 } else {
17464 nit_abort("Assert failed", NULL, LOCATE_parser, 5105);
17465 }
17466 /* parser/parser.nit:5107 */
17467 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*/;
17468 if (UNTAG_Bool(REGB0)) {
17469 } else {
17470 nit_abort("Assert failed", NULL, LOCATE_parser, 5107);
17471 }
17472 /* parser/parser.nit:5109 */
17473 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*/;
17474 if (UNTAG_Bool(REGB0)) {
17475 } else {
17476 nit_abort("Assert failed", NULL, LOCATE_parser, 5109);
17477 }
17478 /* parser/parser.nit:5111 */
17479 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]*/;
17480 if (UNTAG_Bool(REGB0)) {
17481 } else {
17482 nit_abort("Assert failed", NULL, LOCATE_parser, 5111);
17483 }
17484 /* parser/parser.nit:5112 */
17485 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[6]);
17486 fra.me.REG[11] = fra.me.REG[6];
17487 /* parser/parser.nit:5113 */
17488 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
17489 /* parser/parser.nit:5115 */
17490 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]*/;
17491 if (UNTAG_Bool(REGB0)) {
17492 } else {
17493 nit_abort("Assert failed", NULL, LOCATE_parser, 5115);
17494 }
17495 /* parser/parser.nit:5116 */
17496 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
17497 fra.me.REG[6] = fra.me.REG[5];
17498 /* parser/parser.nit:5117 */
17499 fra.me.REG[6] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[6], NIT_NULL);
17500 /* parser/parser.nit:5124 */
17501 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]*/;
17502 if (UNTAG_Bool(REGB0)) {
17503 } else {
17504 nit_abort("Assert failed", NULL, LOCATE_parser, 5124);
17505 }
17506 /* parser/parser.nit:5125 */
17507 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
17508 fra.me.REG[12] = fra.me.REG[4];
17509 /* parser/parser.nit:5127 */
17510 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*/;
17511 if (UNTAG_Bool(REGB0)) {
17512 } else {
17513 nit_abort("Assert failed", NULL, LOCATE_parser, 5127);
17514 }
17515 /* parser/parser.nit:5128 */
17516 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], NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
17517 /* parser/parser.nit:5141 */
17518 fra.me.REG[2] = fra.me.REG[3];
17519 /* parser/parser.nit:5142 */
17520 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17521 if (UNTAG_Bool(REGB0)) {
17522 } else {
17523 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5142);
17524 }
17525 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17526 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17527 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17528 stack_frame_head = fra.me.prev;
17529 return;
17530 }
17531 static const char LOCATE_parser___ReduceAction96___action[] = "parser::ReduceAction96::(parser::ReduceAction::action)";
17532 void parser___ReduceAction96___action(val_t p0, val_t p1){
17533 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
17534 val_t REGB0;
17535 val_t tmp;
17536 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17537 fra.me.file = LOCATE_parser;
17538 fra.me.line = 5147;
17539 fra.me.meth = LOCATE_parser___ReduceAction96___action;
17540 fra.me.has_broke = 0;
17541 fra.me.REG_size = 15;
17542 fra.me.nitni_local_ref_head = NULL;
17543 fra.me.REG[0] = NIT_NULL;
17544 fra.me.REG[1] = NIT_NULL;
17545 fra.me.REG[2] = NIT_NULL;
17546 fra.me.REG[3] = NIT_NULL;
17547 fra.me.REG[4] = NIT_NULL;
17548 fra.me.REG[5] = NIT_NULL;
17549 fra.me.REG[6] = NIT_NULL;
17550 fra.me.REG[7] = NIT_NULL;
17551 fra.me.REG[8] = NIT_NULL;
17552 fra.me.REG[9] = NIT_NULL;
17553 fra.me.REG[10] = NIT_NULL;
17554 fra.me.REG[11] = NIT_NULL;
17555 fra.me.REG[12] = NIT_NULL;
17556 fra.me.REG[13] = NIT_NULL;
17557 fra.me.REG[14] = NIT_NULL;
17558 fra.me.REG[0] = p0;
17559 fra.me.REG[1] = p1;
17560 /* parser/parser.nit:5149 */
17561 fra.me.REG[2] = NIT_NULL;
17562 /* parser/parser.nit:5150 */
17563 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17564 /* parser/parser.nit:5151 */
17565 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17566 /* parser/parser.nit:5152 */
17567 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17568 /* parser/parser.nit:5153 */
17569 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17570 /* parser/parser.nit:5154 */
17571 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17572 /* parser/parser.nit:5155 */
17573 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17574 /* parser/parser.nit:5156 */
17575 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17576 /* parser/parser.nit:5157 */
17577 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17578 /* parser/parser.nit:5158 */
17579 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17580 /* parser/parser.nit:5159 */
17581 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17582 /* parser/parser.nit:5160 */
17583 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17584 /* parser/parser.nit:5161 */
17585 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
17586 /* parser/parser.nit:5162 */
17587 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
17588 /* parser/parser.nit:5163 */
17589 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
17590 /* parser/parser.nit:5165 */
17591 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*/;
17592 if (UNTAG_Bool(REGB0)) {
17593 } else {
17594 nit_abort("Assert failed", NULL, LOCATE_parser, 5165);
17595 }
17596 /* parser/parser.nit:5167 */
17597 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*/;
17598 if (UNTAG_Bool(REGB0)) {
17599 } else {
17600 nit_abort("Assert failed", NULL, LOCATE_parser, 5167);
17601 }
17602 /* parser/parser.nit:5169 */
17603 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*/;
17604 if (UNTAG_Bool(REGB0)) {
17605 } else {
17606 nit_abort("Assert failed", NULL, LOCATE_parser, 5169);
17607 }
17608 /* parser/parser.nit:5171 */
17609 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*/;
17610 if (UNTAG_Bool(REGB0)) {
17611 } else {
17612 nit_abort("Assert failed", NULL, LOCATE_parser, 5171);
17613 }
17614 /* parser/parser.nit:5173 */
17615 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*/;
17616 if (UNTAG_Bool(REGB0)) {
17617 } else {
17618 nit_abort("Assert failed", NULL, LOCATE_parser, 5173);
17619 }
17620 /* parser/parser.nit:5175 */
17621 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]*/;
17622 if (UNTAG_Bool(REGB0)) {
17623 } else {
17624 nit_abort("Assert failed", NULL, LOCATE_parser, 5175);
17625 }
17626 /* parser/parser.nit:5176 */
17627 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[6]);
17628 fra.me.REG[12] = fra.me.REG[6];
17629 /* parser/parser.nit:5177 */
17630 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
17631 /* parser/parser.nit:5179 */
17632 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]*/;
17633 if (UNTAG_Bool(REGB0)) {
17634 } else {
17635 nit_abort("Assert failed", NULL, LOCATE_parser, 5179);
17636 }
17637 /* parser/parser.nit:5180 */
17638 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
17639 fra.me.REG[6] = fra.me.REG[5];
17640 /* parser/parser.nit:5181 */
17641 fra.me.REG[6] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[6], NIT_NULL);
17642 /* parser/parser.nit:5188 */
17643 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]*/;
17644 if (UNTAG_Bool(REGB0)) {
17645 } else {
17646 nit_abort("Assert failed", NULL, LOCATE_parser, 5188);
17647 }
17648 /* parser/parser.nit:5189 */
17649 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
17650 fra.me.REG[13] = fra.me.REG[4];
17651 /* parser/parser.nit:5191 */
17652 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*/;
17653 if (UNTAG_Bool(REGB0)) {
17654 } else {
17655 nit_abort("Assert failed", NULL, LOCATE_parser, 5191);
17656 }
17657 /* parser/parser.nit:5192 */
17658 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], NIT_NULL, fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
17659 /* parser/parser.nit:5205 */
17660 fra.me.REG[2] = fra.me.REG[3];
17661 /* parser/parser.nit:5206 */
17662 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17663 if (UNTAG_Bool(REGB0)) {
17664 } else {
17665 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5206);
17666 }
17667 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17668 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17669 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17670 stack_frame_head = fra.me.prev;
17671 return;
17672 }
17673 static const char LOCATE_parser___ReduceAction97___action[] = "parser::ReduceAction97::(parser::ReduceAction::action)";
17674 void parser___ReduceAction97___action(val_t p0, val_t p1){
17675 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
17676 val_t REGB0;
17677 val_t tmp;
17678 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17679 fra.me.file = LOCATE_parser;
17680 fra.me.line = 5211;
17681 fra.me.meth = LOCATE_parser___ReduceAction97___action;
17682 fra.me.has_broke = 0;
17683 fra.me.REG_size = 13;
17684 fra.me.nitni_local_ref_head = NULL;
17685 fra.me.REG[0] = NIT_NULL;
17686 fra.me.REG[1] = NIT_NULL;
17687 fra.me.REG[2] = NIT_NULL;
17688 fra.me.REG[3] = NIT_NULL;
17689 fra.me.REG[4] = NIT_NULL;
17690 fra.me.REG[5] = NIT_NULL;
17691 fra.me.REG[6] = NIT_NULL;
17692 fra.me.REG[7] = NIT_NULL;
17693 fra.me.REG[8] = NIT_NULL;
17694 fra.me.REG[9] = NIT_NULL;
17695 fra.me.REG[10] = NIT_NULL;
17696 fra.me.REG[11] = NIT_NULL;
17697 fra.me.REG[12] = NIT_NULL;
17698 fra.me.REG[0] = p0;
17699 fra.me.REG[1] = p1;
17700 /* parser/parser.nit:5213 */
17701 fra.me.REG[2] = NIT_NULL;
17702 /* parser/parser.nit:5214 */
17703 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17704 /* parser/parser.nit:5215 */
17705 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17706 /* parser/parser.nit:5216 */
17707 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17708 /* parser/parser.nit:5217 */
17709 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17710 /* parser/parser.nit:5218 */
17711 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17712 /* parser/parser.nit:5219 */
17713 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17714 /* parser/parser.nit:5220 */
17715 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17716 /* parser/parser.nit:5221 */
17717 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17718 /* parser/parser.nit:5222 */
17719 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17720 /* parser/parser.nit:5223 */
17721 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
17722 /* parser/parser.nit:5224 */
17723 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
17724 /* parser/parser.nit:5225 */
17725 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
17726 /* parser/parser.nit:5227 */
17727 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*/;
17728 if (UNTAG_Bool(REGB0)) {
17729 } else {
17730 nit_abort("Assert failed", NULL, LOCATE_parser, 5227);
17731 }
17732 /* parser/parser.nit:5229 */
17733 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*/;
17734 if (UNTAG_Bool(REGB0)) {
17735 } else {
17736 nit_abort("Assert failed", NULL, LOCATE_parser, 5229);
17737 }
17738 /* parser/parser.nit:5231 */
17739 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*/;
17740 if (UNTAG_Bool(REGB0)) {
17741 } else {
17742 nit_abort("Assert failed", NULL, LOCATE_parser, 5231);
17743 }
17744 /* parser/parser.nit:5233 */
17745 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*/;
17746 if (UNTAG_Bool(REGB0)) {
17747 } else {
17748 nit_abort("Assert failed", NULL, LOCATE_parser, 5233);
17749 }
17750 /* parser/parser.nit:5235 */
17751 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*/;
17752 if (UNTAG_Bool(REGB0)) {
17753 } else {
17754 nit_abort("Assert failed", NULL, LOCATE_parser, 5235);
17755 }
17756 /* parser/parser.nit:5237 */
17757 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]*/;
17758 if (UNTAG_Bool(REGB0)) {
17759 } else {
17760 nit_abort("Assert failed", NULL, LOCATE_parser, 5237);
17761 }
17762 /* parser/parser.nit:5238 */
17763 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
17764 fra.me.REG[11] = fra.me.REG[4];
17765 /* parser/parser.nit:5240 */
17766 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*/;
17767 if (UNTAG_Bool(REGB0)) {
17768 } else {
17769 nit_abort("Assert failed", NULL, LOCATE_parser, 5240);
17770 }
17771 /* parser/parser.nit:5241 */
17772 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[5], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
17773 /* parser/parser.nit:5254 */
17774 fra.me.REG[2] = fra.me.REG[3];
17775 /* parser/parser.nit:5255 */
17776 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17777 if (UNTAG_Bool(REGB0)) {
17778 } else {
17779 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5255);
17780 }
17781 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17782 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17783 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17784 stack_frame_head = fra.me.prev;
17785 return;
17786 }
17787 static const char LOCATE_parser___ReduceAction98___action[] = "parser::ReduceAction98::(parser::ReduceAction::action)";
17788 void parser___ReduceAction98___action(val_t p0, val_t p1){
17789 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
17790 val_t REGB0;
17791 val_t tmp;
17792 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17793 fra.me.file = LOCATE_parser;
17794 fra.me.line = 5260;
17795 fra.me.meth = LOCATE_parser___ReduceAction98___action;
17796 fra.me.has_broke = 0;
17797 fra.me.REG_size = 14;
17798 fra.me.nitni_local_ref_head = NULL;
17799 fra.me.REG[0] = NIT_NULL;
17800 fra.me.REG[1] = NIT_NULL;
17801 fra.me.REG[2] = NIT_NULL;
17802 fra.me.REG[3] = NIT_NULL;
17803 fra.me.REG[4] = NIT_NULL;
17804 fra.me.REG[5] = NIT_NULL;
17805 fra.me.REG[6] = NIT_NULL;
17806 fra.me.REG[7] = NIT_NULL;
17807 fra.me.REG[8] = NIT_NULL;
17808 fra.me.REG[9] = NIT_NULL;
17809 fra.me.REG[10] = NIT_NULL;
17810 fra.me.REG[11] = NIT_NULL;
17811 fra.me.REG[12] = NIT_NULL;
17812 fra.me.REG[13] = NIT_NULL;
17813 fra.me.REG[0] = p0;
17814 fra.me.REG[1] = p1;
17815 /* parser/parser.nit:5262 */
17816 fra.me.REG[2] = NIT_NULL;
17817 /* parser/parser.nit:5263 */
17818 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17819 /* parser/parser.nit:5264 */
17820 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17821 /* parser/parser.nit:5265 */
17822 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17823 /* parser/parser.nit:5266 */
17824 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17825 /* parser/parser.nit:5267 */
17826 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17827 /* parser/parser.nit:5268 */
17828 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17829 /* parser/parser.nit:5269 */
17830 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17831 /* parser/parser.nit:5270 */
17832 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17833 /* parser/parser.nit:5271 */
17834 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17835 /* parser/parser.nit:5272 */
17836 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17837 /* parser/parser.nit:5273 */
17838 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
17839 /* parser/parser.nit:5274 */
17840 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
17841 /* parser/parser.nit:5275 */
17842 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
17843 /* parser/parser.nit:5277 */
17844 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*/;
17845 if (UNTAG_Bool(REGB0)) {
17846 } else {
17847 nit_abort("Assert failed", NULL, LOCATE_parser, 5277);
17848 }
17849 /* parser/parser.nit:5279 */
17850 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*/;
17851 if (UNTAG_Bool(REGB0)) {
17852 } else {
17853 nit_abort("Assert failed", NULL, LOCATE_parser, 5279);
17854 }
17855 /* parser/parser.nit:5281 */
17856 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*/;
17857 if (UNTAG_Bool(REGB0)) {
17858 } else {
17859 nit_abort("Assert failed", NULL, LOCATE_parser, 5281);
17860 }
17861 /* parser/parser.nit:5283 */
17862 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*/;
17863 if (UNTAG_Bool(REGB0)) {
17864 } else {
17865 nit_abort("Assert failed", NULL, LOCATE_parser, 5283);
17866 }
17867 /* parser/parser.nit:5285 */
17868 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*/;
17869 if (UNTAG_Bool(REGB0)) {
17870 } else {
17871 nit_abort("Assert failed", NULL, LOCATE_parser, 5285);
17872 }
17873 /* parser/parser.nit:5287 */
17874 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*/;
17875 if (UNTAG_Bool(REGB0)) {
17876 } else {
17877 nit_abort("Assert failed", NULL, LOCATE_parser, 5287);
17878 }
17879 /* parser/parser.nit:5289 */
17880 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]*/;
17881 if (UNTAG_Bool(REGB0)) {
17882 } else {
17883 nit_abort("Assert failed", NULL, LOCATE_parser, 5289);
17884 }
17885 /* parser/parser.nit:5290 */
17886 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
17887 fra.me.REG[12] = fra.me.REG[4];
17888 /* parser/parser.nit:5292 */
17889 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*/;
17890 if (UNTAG_Bool(REGB0)) {
17891 } else {
17892 nit_abort("Assert failed", NULL, LOCATE_parser, 5292);
17893 }
17894 /* parser/parser.nit:5293 */
17895 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[5], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
17896 /* parser/parser.nit:5306 */
17897 fra.me.REG[2] = fra.me.REG[3];
17898 /* parser/parser.nit:5307 */
17899 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17900 if (UNTAG_Bool(REGB0)) {
17901 } else {
17902 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5307);
17903 }
17904 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17905 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17906 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17907 stack_frame_head = fra.me.prev;
17908 return;
17909 }
17910 static const char LOCATE_parser___ReduceAction99___action[] = "parser::ReduceAction99::(parser::ReduceAction::action)";
17911 void parser___ReduceAction99___action(val_t p0, val_t p1){
17912 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
17913 val_t REGB0;
17914 val_t tmp;
17915 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17916 fra.me.file = LOCATE_parser;
17917 fra.me.line = 5312;
17918 fra.me.meth = LOCATE_parser___ReduceAction99___action;
17919 fra.me.has_broke = 0;
17920 fra.me.REG_size = 14;
17921 fra.me.nitni_local_ref_head = NULL;
17922 fra.me.REG[0] = NIT_NULL;
17923 fra.me.REG[1] = NIT_NULL;
17924 fra.me.REG[2] = NIT_NULL;
17925 fra.me.REG[3] = NIT_NULL;
17926 fra.me.REG[4] = NIT_NULL;
17927 fra.me.REG[5] = NIT_NULL;
17928 fra.me.REG[6] = NIT_NULL;
17929 fra.me.REG[7] = NIT_NULL;
17930 fra.me.REG[8] = NIT_NULL;
17931 fra.me.REG[9] = NIT_NULL;
17932 fra.me.REG[10] = NIT_NULL;
17933 fra.me.REG[11] = NIT_NULL;
17934 fra.me.REG[12] = NIT_NULL;
17935 fra.me.REG[13] = NIT_NULL;
17936 fra.me.REG[0] = p0;
17937 fra.me.REG[1] = p1;
17938 /* parser/parser.nit:5314 */
17939 fra.me.REG[2] = NIT_NULL;
17940 /* parser/parser.nit:5315 */
17941 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17942 /* parser/parser.nit:5316 */
17943 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17944 /* parser/parser.nit:5317 */
17945 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17946 /* parser/parser.nit:5318 */
17947 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17948 /* parser/parser.nit:5319 */
17949 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17950 /* parser/parser.nit:5320 */
17951 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17952 /* parser/parser.nit:5321 */
17953 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17954 /* parser/parser.nit:5322 */
17955 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17956 /* parser/parser.nit:5323 */
17957 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17958 /* parser/parser.nit:5324 */
17959 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17960 /* parser/parser.nit:5325 */
17961 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
17962 /* parser/parser.nit:5326 */
17963 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
17964 /* parser/parser.nit:5327 */
17965 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
17966 /* parser/parser.nit:5329 */
17967 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*/;
17968 if (UNTAG_Bool(REGB0)) {
17969 } else {
17970 nit_abort("Assert failed", NULL, LOCATE_parser, 5329);
17971 }
17972 /* parser/parser.nit:5331 */
17973 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*/;
17974 if (UNTAG_Bool(REGB0)) {
17975 } else {
17976 nit_abort("Assert failed", NULL, LOCATE_parser, 5331);
17977 }
17978 /* parser/parser.nit:5333 */
17979 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*/;
17980 if (UNTAG_Bool(REGB0)) {
17981 } else {
17982 nit_abort("Assert failed", NULL, LOCATE_parser, 5333);
17983 }
17984 /* parser/parser.nit:5335 */
17985 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*/;
17986 if (UNTAG_Bool(REGB0)) {
17987 } else {
17988 nit_abort("Assert failed", NULL, LOCATE_parser, 5335);
17989 }
17990 /* parser/parser.nit:5337 */
17991 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]*/;
17992 if (UNTAG_Bool(REGB0)) {
17993 } else {
17994 nit_abort("Assert failed", NULL, LOCATE_parser, 5337);
17995 }
17996 /* parser/parser.nit:5338 */
17997 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[6]);
17998 fra.me.REG[11] = fra.me.REG[6];
17999 /* parser/parser.nit:5340 */
18000 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*/;
18001 if (UNTAG_Bool(REGB0)) {
18002 } else {
18003 nit_abort("Assert failed", NULL, LOCATE_parser, 5340);
18004 }
18005 /* parser/parser.nit:5342 */
18006 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]*/;
18007 if (UNTAG_Bool(REGB0)) {
18008 } else {
18009 nit_abort("Assert failed", NULL, LOCATE_parser, 5342);
18010 }
18011 /* parser/parser.nit:5343 */
18012 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
18013 fra.me.REG[12] = fra.me.REG[4];
18014 /* parser/parser.nit:5345 */
18015 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*/;
18016 if (UNTAG_Bool(REGB0)) {
18017 } else {
18018 nit_abort("Assert failed", NULL, LOCATE_parser, 5345);
18019 }
18020 /* parser/parser.nit:5346 */
18021 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[5], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
18022 /* parser/parser.nit:5359 */
18023 fra.me.REG[2] = fra.me.REG[3];
18024 /* parser/parser.nit:5360 */
18025 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18026 if (UNTAG_Bool(REGB0)) {
18027 } else {
18028 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5360);
18029 }
18030 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18031 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18032 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18033 stack_frame_head = fra.me.prev;
18034 return;
18035 }
18036 static const char LOCATE_parser___ReduceAction100___action[] = "parser::ReduceAction100::(parser::ReduceAction::action)";
18037 void parser___ReduceAction100___action(val_t p0, val_t p1){
18038 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
18039 val_t REGB0;
18040 val_t tmp;
18041 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18042 fra.me.file = LOCATE_parser;
18043 fra.me.line = 5365;
18044 fra.me.meth = LOCATE_parser___ReduceAction100___action;
18045 fra.me.has_broke = 0;
18046 fra.me.REG_size = 15;
18047 fra.me.nitni_local_ref_head = NULL;
18048 fra.me.REG[0] = NIT_NULL;
18049 fra.me.REG[1] = NIT_NULL;
18050 fra.me.REG[2] = NIT_NULL;
18051 fra.me.REG[3] = NIT_NULL;
18052 fra.me.REG[4] = NIT_NULL;
18053 fra.me.REG[5] = NIT_NULL;
18054 fra.me.REG[6] = NIT_NULL;
18055 fra.me.REG[7] = NIT_NULL;
18056 fra.me.REG[8] = NIT_NULL;
18057 fra.me.REG[9] = NIT_NULL;
18058 fra.me.REG[10] = NIT_NULL;
18059 fra.me.REG[11] = NIT_NULL;
18060 fra.me.REG[12] = NIT_NULL;
18061 fra.me.REG[13] = NIT_NULL;
18062 fra.me.REG[14] = NIT_NULL;
18063 fra.me.REG[0] = p0;
18064 fra.me.REG[1] = p1;
18065 /* parser/parser.nit:5367 */
18066 fra.me.REG[2] = NIT_NULL;
18067 /* parser/parser.nit:5368 */
18068 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18069 /* parser/parser.nit:5369 */
18070 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18071 /* parser/parser.nit:5370 */
18072 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18073 /* parser/parser.nit:5371 */
18074 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18075 /* parser/parser.nit:5372 */
18076 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18077 /* parser/parser.nit:5373 */
18078 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18079 /* parser/parser.nit:5374 */
18080 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18081 /* parser/parser.nit:5375 */
18082 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18083 /* parser/parser.nit:5376 */
18084 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18085 /* parser/parser.nit:5377 */
18086 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18087 /* parser/parser.nit:5378 */
18088 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18089 /* parser/parser.nit:5379 */
18090 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
18091 /* parser/parser.nit:5380 */
18092 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
18093 /* parser/parser.nit:5381 */
18094 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
18095 /* parser/parser.nit:5383 */
18096 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*/;
18097 if (UNTAG_Bool(REGB0)) {
18098 } else {
18099 nit_abort("Assert failed", NULL, LOCATE_parser, 5383);
18100 }
18101 /* parser/parser.nit:5385 */
18102 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*/;
18103 if (UNTAG_Bool(REGB0)) {
18104 } else {
18105 nit_abort("Assert failed", NULL, LOCATE_parser, 5385);
18106 }
18107 /* parser/parser.nit:5387 */
18108 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*/;
18109 if (UNTAG_Bool(REGB0)) {
18110 } else {
18111 nit_abort("Assert failed", NULL, LOCATE_parser, 5387);
18112 }
18113 /* parser/parser.nit:5389 */
18114 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*/;
18115 if (UNTAG_Bool(REGB0)) {
18116 } else {
18117 nit_abort("Assert failed", NULL, LOCATE_parser, 5389);
18118 }
18119 /* parser/parser.nit:5391 */
18120 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*/;
18121 if (UNTAG_Bool(REGB0)) {
18122 } else {
18123 nit_abort("Assert failed", NULL, LOCATE_parser, 5391);
18124 }
18125 /* parser/parser.nit:5393 */
18126 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]*/;
18127 if (UNTAG_Bool(REGB0)) {
18128 } else {
18129 nit_abort("Assert failed", NULL, LOCATE_parser, 5393);
18130 }
18131 /* parser/parser.nit:5394 */
18132 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[6]);
18133 fra.me.REG[12] = fra.me.REG[6];
18134 /* parser/parser.nit:5396 */
18135 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*/;
18136 if (UNTAG_Bool(REGB0)) {
18137 } else {
18138 nit_abort("Assert failed", NULL, LOCATE_parser, 5396);
18139 }
18140 /* parser/parser.nit:5398 */
18141 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]*/;
18142 if (UNTAG_Bool(REGB0)) {
18143 } else {
18144 nit_abort("Assert failed", NULL, LOCATE_parser, 5398);
18145 }
18146 /* parser/parser.nit:5399 */
18147 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
18148 fra.me.REG[13] = fra.me.REG[4];
18149 /* parser/parser.nit:5401 */
18150 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*/;
18151 if (UNTAG_Bool(REGB0)) {
18152 } else {
18153 nit_abort("Assert failed", NULL, LOCATE_parser, 5401);
18154 }
18155 /* parser/parser.nit:5402 */
18156 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[5], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
18157 /* parser/parser.nit:5415 */
18158 fra.me.REG[2] = fra.me.REG[3];
18159 /* parser/parser.nit:5416 */
18160 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18161 if (UNTAG_Bool(REGB0)) {
18162 } else {
18163 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5416);
18164 }
18165 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18166 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18167 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18168 stack_frame_head = fra.me.prev;
18169 return;
18170 }
18171 static const char LOCATE_parser___ReduceAction101___action[] = "parser::ReduceAction101::(parser::ReduceAction::action)";
18172 void parser___ReduceAction101___action(val_t p0, val_t p1){
18173 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
18174 val_t REGB0;
18175 val_t tmp;
18176 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18177 fra.me.file = LOCATE_parser;
18178 fra.me.line = 5421;
18179 fra.me.meth = LOCATE_parser___ReduceAction101___action;
18180 fra.me.has_broke = 0;
18181 fra.me.REG_size = 15;
18182 fra.me.nitni_local_ref_head = NULL;
18183 fra.me.REG[0] = NIT_NULL;
18184 fra.me.REG[1] = NIT_NULL;
18185 fra.me.REG[2] = NIT_NULL;
18186 fra.me.REG[3] = NIT_NULL;
18187 fra.me.REG[4] = NIT_NULL;
18188 fra.me.REG[5] = NIT_NULL;
18189 fra.me.REG[6] = NIT_NULL;
18190 fra.me.REG[7] = NIT_NULL;
18191 fra.me.REG[8] = NIT_NULL;
18192 fra.me.REG[9] = NIT_NULL;
18193 fra.me.REG[10] = NIT_NULL;
18194 fra.me.REG[11] = NIT_NULL;
18195 fra.me.REG[12] = NIT_NULL;
18196 fra.me.REG[13] = NIT_NULL;
18197 fra.me.REG[14] = NIT_NULL;
18198 fra.me.REG[0] = p0;
18199 fra.me.REG[1] = p1;
18200 /* parser/parser.nit:5423 */
18201 fra.me.REG[2] = NIT_NULL;
18202 /* parser/parser.nit:5424 */
18203 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18204 /* parser/parser.nit:5425 */
18205 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18206 /* parser/parser.nit:5426 */
18207 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18208 /* parser/parser.nit:5427 */
18209 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18210 /* parser/parser.nit:5428 */
18211 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18212 /* parser/parser.nit:5429 */
18213 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18214 /* parser/parser.nit:5430 */
18215 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18216 /* parser/parser.nit:5431 */
18217 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18218 /* parser/parser.nit:5432 */
18219 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18220 /* parser/parser.nit:5433 */
18221 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18222 /* parser/parser.nit:5434 */
18223 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
18224 /* parser/parser.nit:5435 */
18225 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
18226 /* parser/parser.nit:5436 */
18227 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
18228 /* parser/parser.nit:5438 */
18229 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*/;
18230 if (UNTAG_Bool(REGB0)) {
18231 } else {
18232 nit_abort("Assert failed", NULL, LOCATE_parser, 5438);
18233 }
18234 /* parser/parser.nit:5440 */
18235 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*/;
18236 if (UNTAG_Bool(REGB0)) {
18237 } else {
18238 nit_abort("Assert failed", NULL, LOCATE_parser, 5440);
18239 }
18240 /* parser/parser.nit:5442 */
18241 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*/;
18242 if (UNTAG_Bool(REGB0)) {
18243 } else {
18244 nit_abort("Assert failed", NULL, LOCATE_parser, 5442);
18245 }
18246 /* parser/parser.nit:5444 */
18247 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*/;
18248 if (UNTAG_Bool(REGB0)) {
18249 } else {
18250 nit_abort("Assert failed", NULL, LOCATE_parser, 5444);
18251 }
18252 /* parser/parser.nit:5445 */
18253 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
18254 /* parser/parser.nit:5447 */
18255 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]*/;
18256 if (UNTAG_Bool(REGB0)) {
18257 } else {
18258 nit_abort("Assert failed", NULL, LOCATE_parser, 5447);
18259 }
18260 /* parser/parser.nit:5448 */
18261 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[6]);
18262 fra.me.REG[14] = fra.me.REG[6];
18263 /* parser/parser.nit:5449 */
18264 fra.me.REG[14] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[14], NIT_NULL);
18265 /* parser/parser.nit:5456 */
18266 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*/;
18267 if (UNTAG_Bool(REGB0)) {
18268 } else {
18269 nit_abort("Assert failed", NULL, LOCATE_parser, 5456);
18270 }
18271 /* parser/parser.nit:5458 */
18272 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]*/;
18273 if (UNTAG_Bool(REGB0)) {
18274 } else {
18275 nit_abort("Assert failed", NULL, LOCATE_parser, 5458);
18276 }
18277 /* parser/parser.nit:5459 */
18278 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
18279 fra.me.REG[12] = fra.me.REG[4];
18280 /* parser/parser.nit:5461 */
18281 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*/;
18282 if (UNTAG_Bool(REGB0)) {
18283 } else {
18284 nit_abort("Assert failed", NULL, LOCATE_parser, 5461);
18285 }
18286 /* parser/parser.nit:5462 */
18287 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[14], fra.me.REG[5], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
18288 /* parser/parser.nit:5475 */
18289 fra.me.REG[2] = fra.me.REG[3];
18290 /* parser/parser.nit:5476 */
18291 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18292 if (UNTAG_Bool(REGB0)) {
18293 } else {
18294 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5476);
18295 }
18296 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18297 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18298 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18299 stack_frame_head = fra.me.prev;
18300 return;
18301 }
18302 static const char LOCATE_parser___ReduceAction102___action[] = "parser::ReduceAction102::(parser::ReduceAction::action)";
18303 void parser___ReduceAction102___action(val_t p0, val_t p1){
18304 struct {struct stack_frame_t me; val_t MORE_REG[15];} fra;
18305 val_t REGB0;
18306 val_t tmp;
18307 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18308 fra.me.file = LOCATE_parser;
18309 fra.me.line = 5481;
18310 fra.me.meth = LOCATE_parser___ReduceAction102___action;
18311 fra.me.has_broke = 0;
18312 fra.me.REG_size = 16;
18313 fra.me.nitni_local_ref_head = NULL;
18314 fra.me.REG[0] = NIT_NULL;
18315 fra.me.REG[1] = NIT_NULL;
18316 fra.me.REG[2] = NIT_NULL;
18317 fra.me.REG[3] = NIT_NULL;
18318 fra.me.REG[4] = NIT_NULL;
18319 fra.me.REG[5] = NIT_NULL;
18320 fra.me.REG[6] = NIT_NULL;
18321 fra.me.REG[7] = NIT_NULL;
18322 fra.me.REG[8] = NIT_NULL;
18323 fra.me.REG[9] = NIT_NULL;
18324 fra.me.REG[10] = NIT_NULL;
18325 fra.me.REG[11] = NIT_NULL;
18326 fra.me.REG[12] = NIT_NULL;
18327 fra.me.REG[13] = NIT_NULL;
18328 fra.me.REG[14] = NIT_NULL;
18329 fra.me.REG[15] = NIT_NULL;
18330 fra.me.REG[0] = p0;
18331 fra.me.REG[1] = p1;
18332 /* parser/parser.nit:5483 */
18333 fra.me.REG[2] = NIT_NULL;
18334 /* parser/parser.nit:5484 */
18335 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18336 /* parser/parser.nit:5485 */
18337 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18338 /* parser/parser.nit:5486 */
18339 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18340 /* parser/parser.nit:5487 */
18341 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18342 /* parser/parser.nit:5488 */
18343 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18344 /* parser/parser.nit:5489 */
18345 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18346 /* parser/parser.nit:5490 */
18347 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18348 /* parser/parser.nit:5491 */
18349 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18350 /* parser/parser.nit:5492 */
18351 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18352 /* parser/parser.nit:5493 */
18353 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18354 /* parser/parser.nit:5494 */
18355 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18356 /* parser/parser.nit:5495 */
18357 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
18358 /* parser/parser.nit:5496 */
18359 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
18360 /* parser/parser.nit:5497 */
18361 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
18362 /* parser/parser.nit:5499 */
18363 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*/;
18364 if (UNTAG_Bool(REGB0)) {
18365 } else {
18366 nit_abort("Assert failed", NULL, LOCATE_parser, 5499);
18367 }
18368 /* parser/parser.nit:5501 */
18369 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*/;
18370 if (UNTAG_Bool(REGB0)) {
18371 } else {
18372 nit_abort("Assert failed", NULL, LOCATE_parser, 5501);
18373 }
18374 /* parser/parser.nit:5503 */
18375 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*/;
18376 if (UNTAG_Bool(REGB0)) {
18377 } else {
18378 nit_abort("Assert failed", NULL, LOCATE_parser, 5503);
18379 }
18380 /* parser/parser.nit:5505 */
18381 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*/;
18382 if (UNTAG_Bool(REGB0)) {
18383 } else {
18384 nit_abort("Assert failed", NULL, LOCATE_parser, 5505);
18385 }
18386 /* parser/parser.nit:5507 */
18387 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*/;
18388 if (UNTAG_Bool(REGB0)) {
18389 } else {
18390 nit_abort("Assert failed", NULL, LOCATE_parser, 5507);
18391 }
18392 /* parser/parser.nit:5508 */
18393 fra.me.REG[15] = NEW_Array_standard___collection___array___Array___init();
18394 /* parser/parser.nit:5510 */
18395 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]*/;
18396 if (UNTAG_Bool(REGB0)) {
18397 } else {
18398 nit_abort("Assert failed", NULL, LOCATE_parser, 5510);
18399 }
18400 /* parser/parser.nit:5511 */
18401 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[15], fra.me.REG[6]);
18402 fra.me.REG[15] = fra.me.REG[6];
18403 /* parser/parser.nit:5512 */
18404 fra.me.REG[15] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[15], NIT_NULL);
18405 /* parser/parser.nit:5519 */
18406 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*/;
18407 if (UNTAG_Bool(REGB0)) {
18408 } else {
18409 nit_abort("Assert failed", NULL, LOCATE_parser, 5519);
18410 }
18411 /* parser/parser.nit:5521 */
18412 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]*/;
18413 if (UNTAG_Bool(REGB0)) {
18414 } else {
18415 nit_abort("Assert failed", NULL, LOCATE_parser, 5521);
18416 }
18417 /* parser/parser.nit:5522 */
18418 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
18419 fra.me.REG[13] = fra.me.REG[4];
18420 /* parser/parser.nit:5524 */
18421 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*/;
18422 if (UNTAG_Bool(REGB0)) {
18423 } else {
18424 nit_abort("Assert failed", NULL, LOCATE_parser, 5524);
18425 }
18426 /* parser/parser.nit:5525 */
18427 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[15], fra.me.REG[5], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
18428 /* parser/parser.nit:5538 */
18429 fra.me.REG[2] = fra.me.REG[3];
18430 /* parser/parser.nit:5539 */
18431 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18432 if (UNTAG_Bool(REGB0)) {
18433 } else {
18434 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5539);
18435 }
18436 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18437 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18438 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18439 stack_frame_head = fra.me.prev;
18440 return;
18441 }
18442 static const char LOCATE_parser___ReduceAction103___action[] = "parser::ReduceAction103::(parser::ReduceAction::action)";
18443 void parser___ReduceAction103___action(val_t p0, val_t p1){
18444 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
18445 val_t REGB0;
18446 val_t tmp;
18447 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18448 fra.me.file = LOCATE_parser;
18449 fra.me.line = 5544;
18450 fra.me.meth = LOCATE_parser___ReduceAction103___action;
18451 fra.me.has_broke = 0;
18452 fra.me.REG_size = 15;
18453 fra.me.nitni_local_ref_head = NULL;
18454 fra.me.REG[0] = NIT_NULL;
18455 fra.me.REG[1] = NIT_NULL;
18456 fra.me.REG[2] = NIT_NULL;
18457 fra.me.REG[3] = NIT_NULL;
18458 fra.me.REG[4] = NIT_NULL;
18459 fra.me.REG[5] = NIT_NULL;
18460 fra.me.REG[6] = NIT_NULL;
18461 fra.me.REG[7] = NIT_NULL;
18462 fra.me.REG[8] = NIT_NULL;
18463 fra.me.REG[9] = NIT_NULL;
18464 fra.me.REG[10] = NIT_NULL;
18465 fra.me.REG[11] = NIT_NULL;
18466 fra.me.REG[12] = NIT_NULL;
18467 fra.me.REG[13] = NIT_NULL;
18468 fra.me.REG[14] = NIT_NULL;
18469 fra.me.REG[0] = p0;
18470 fra.me.REG[1] = p1;
18471 /* parser/parser.nit:5546 */
18472 fra.me.REG[2] = NIT_NULL;
18473 /* parser/parser.nit:5547 */
18474 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18475 /* parser/parser.nit:5548 */
18476 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18477 /* parser/parser.nit:5549 */
18478 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18479 /* parser/parser.nit:5550 */
18480 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18481 /* parser/parser.nit:5551 */
18482 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18483 /* parser/parser.nit:5552 */
18484 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18485 /* parser/parser.nit:5553 */
18486 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18487 /* parser/parser.nit:5554 */
18488 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18489 /* parser/parser.nit:5555 */
18490 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18491 /* parser/parser.nit:5556 */
18492 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18493 /* parser/parser.nit:5557 */
18494 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18495 /* parser/parser.nit:5558 */
18496 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
18497 /* parser/parser.nit:5559 */
18498 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
18499 /* parser/parser.nit:5560 */
18500 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
18501 /* parser/parser.nit:5562 */
18502 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*/;
18503 if (UNTAG_Bool(REGB0)) {
18504 } else {
18505 nit_abort("Assert failed", NULL, LOCATE_parser, 5562);
18506 }
18507 /* parser/parser.nit:5564 */
18508 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*/;
18509 if (UNTAG_Bool(REGB0)) {
18510 } else {
18511 nit_abort("Assert failed", NULL, LOCATE_parser, 5564);
18512 }
18513 /* parser/parser.nit:5566 */
18514 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*/;
18515 if (UNTAG_Bool(REGB0)) {
18516 } else {
18517 nit_abort("Assert failed", NULL, LOCATE_parser, 5566);
18518 }
18519 /* parser/parser.nit:5568 */
18520 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*/;
18521 if (UNTAG_Bool(REGB0)) {
18522 } else {
18523 nit_abort("Assert failed", NULL, LOCATE_parser, 5568);
18524 }
18525 /* parser/parser.nit:5570 */
18526 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]*/;
18527 if (UNTAG_Bool(REGB0)) {
18528 } else {
18529 nit_abort("Assert failed", NULL, LOCATE_parser, 5570);
18530 }
18531 /* parser/parser.nit:5571 */
18532 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[7]);
18533 fra.me.REG[12] = fra.me.REG[7];
18534 /* parser/parser.nit:5572 */
18535 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
18536 /* parser/parser.nit:5574 */
18537 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]*/;
18538 if (UNTAG_Bool(REGB0)) {
18539 } else {
18540 nit_abort("Assert failed", NULL, LOCATE_parser, 5574);
18541 }
18542 /* parser/parser.nit:5575 */
18543 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
18544 fra.me.REG[7] = fra.me.REG[6];
18545 /* parser/parser.nit:5576 */
18546 fra.me.REG[7] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[7], NIT_NULL);
18547 /* parser/parser.nit:5583 */
18548 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*/;
18549 if (UNTAG_Bool(REGB0)) {
18550 } else {
18551 nit_abort("Assert failed", NULL, LOCATE_parser, 5583);
18552 }
18553 /* parser/parser.nit:5585 */
18554 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]*/;
18555 if (UNTAG_Bool(REGB0)) {
18556 } else {
18557 nit_abort("Assert failed", NULL, LOCATE_parser, 5585);
18558 }
18559 /* parser/parser.nit:5586 */
18560 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
18561 fra.me.REG[13] = fra.me.REG[4];
18562 /* parser/parser.nit:5588 */
18563 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*/;
18564 if (UNTAG_Bool(REGB0)) {
18565 } else {
18566 nit_abort("Assert failed", NULL, LOCATE_parser, 5588);
18567 }
18568 /* parser/parser.nit:5589 */
18569 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[7], fra.me.REG[5], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
18570 /* parser/parser.nit:5602 */
18571 fra.me.REG[2] = fra.me.REG[3];
18572 /* parser/parser.nit:5603 */
18573 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18574 if (UNTAG_Bool(REGB0)) {
18575 } else {
18576 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5603);
18577 }
18578 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18579 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18580 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18581 stack_frame_head = fra.me.prev;
18582 return;
18583 }
18584 static const char LOCATE_parser___ReduceAction104___action[] = "parser::ReduceAction104::(parser::ReduceAction::action)";
18585 void parser___ReduceAction104___action(val_t p0, val_t p1){
18586 struct {struct stack_frame_t me; val_t MORE_REG[15];} fra;
18587 val_t REGB0;
18588 val_t tmp;
18589 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18590 fra.me.file = LOCATE_parser;
18591 fra.me.line = 5608;
18592 fra.me.meth = LOCATE_parser___ReduceAction104___action;
18593 fra.me.has_broke = 0;
18594 fra.me.REG_size = 16;
18595 fra.me.nitni_local_ref_head = NULL;
18596 fra.me.REG[0] = NIT_NULL;
18597 fra.me.REG[1] = NIT_NULL;
18598 fra.me.REG[2] = NIT_NULL;
18599 fra.me.REG[3] = NIT_NULL;
18600 fra.me.REG[4] = NIT_NULL;
18601 fra.me.REG[5] = NIT_NULL;
18602 fra.me.REG[6] = NIT_NULL;
18603 fra.me.REG[7] = NIT_NULL;
18604 fra.me.REG[8] = NIT_NULL;
18605 fra.me.REG[9] = NIT_NULL;
18606 fra.me.REG[10] = NIT_NULL;
18607 fra.me.REG[11] = NIT_NULL;
18608 fra.me.REG[12] = NIT_NULL;
18609 fra.me.REG[13] = NIT_NULL;
18610 fra.me.REG[14] = NIT_NULL;
18611 fra.me.REG[15] = NIT_NULL;
18612 fra.me.REG[0] = p0;
18613 fra.me.REG[1] = p1;
18614 /* parser/parser.nit:5610 */
18615 fra.me.REG[2] = NIT_NULL;
18616 /* parser/parser.nit:5611 */
18617 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18618 /* parser/parser.nit:5612 */
18619 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18620 /* parser/parser.nit:5613 */
18621 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18622 /* parser/parser.nit:5614 */
18623 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18624 /* parser/parser.nit:5615 */
18625 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18626 /* parser/parser.nit:5616 */
18627 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18628 /* parser/parser.nit:5617 */
18629 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18630 /* parser/parser.nit:5618 */
18631 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18632 /* parser/parser.nit:5619 */
18633 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18634 /* parser/parser.nit:5620 */
18635 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18636 /* parser/parser.nit:5621 */
18637 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18638 /* parser/parser.nit:5622 */
18639 fra.me.REG[12] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18640 /* parser/parser.nit:5623 */
18641 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
18642 /* parser/parser.nit:5624 */
18643 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
18644 /* parser/parser.nit:5625 */
18645 fra.me.REG[15] = NEW_Array_standard___collection___array___Array___init();
18646 /* parser/parser.nit:5627 */
18647 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*/;
18648 if (UNTAG_Bool(REGB0)) {
18649 } else {
18650 nit_abort("Assert failed", NULL, LOCATE_parser, 5627);
18651 }
18652 /* parser/parser.nit:5629 */
18653 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*/;
18654 if (UNTAG_Bool(REGB0)) {
18655 } else {
18656 nit_abort("Assert failed", NULL, LOCATE_parser, 5629);
18657 }
18658 /* parser/parser.nit:5631 */
18659 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*/;
18660 if (UNTAG_Bool(REGB0)) {
18661 } else {
18662 nit_abort("Assert failed", NULL, LOCATE_parser, 5631);
18663 }
18664 /* parser/parser.nit:5633 */
18665 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*/;
18666 if (UNTAG_Bool(REGB0)) {
18667 } else {
18668 nit_abort("Assert failed", NULL, LOCATE_parser, 5633);
18669 }
18670 /* parser/parser.nit:5635 */
18671 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*/;
18672 if (UNTAG_Bool(REGB0)) {
18673 } else {
18674 nit_abort("Assert failed", NULL, LOCATE_parser, 5635);
18675 }
18676 /* parser/parser.nit:5637 */
18677 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]*/;
18678 if (UNTAG_Bool(REGB0)) {
18679 } else {
18680 nit_abort("Assert failed", NULL, LOCATE_parser, 5637);
18681 }
18682 /* parser/parser.nit:5638 */
18683 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[7]);
18684 fra.me.REG[13] = fra.me.REG[7];
18685 /* parser/parser.nit:5639 */
18686 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
18687 /* parser/parser.nit:5641 */
18688 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]*/;
18689 if (UNTAG_Bool(REGB0)) {
18690 } else {
18691 nit_abort("Assert failed", NULL, LOCATE_parser, 5641);
18692 }
18693 /* parser/parser.nit:5642 */
18694 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
18695 fra.me.REG[7] = fra.me.REG[6];
18696 /* parser/parser.nit:5643 */
18697 fra.me.REG[7] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[7], NIT_NULL);
18698 /* parser/parser.nit:5650 */
18699 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*/;
18700 if (UNTAG_Bool(REGB0)) {
18701 } else {
18702 nit_abort("Assert failed", NULL, LOCATE_parser, 5650);
18703 }
18704 /* parser/parser.nit:5652 */
18705 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]*/;
18706 if (UNTAG_Bool(REGB0)) {
18707 } else {
18708 nit_abort("Assert failed", NULL, LOCATE_parser, 5652);
18709 }
18710 /* parser/parser.nit:5653 */
18711 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
18712 fra.me.REG[14] = fra.me.REG[4];
18713 /* parser/parser.nit:5655 */
18714 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*/;
18715 if (UNTAG_Bool(REGB0)) {
18716 } else {
18717 nit_abort("Assert failed", NULL, LOCATE_parser, 5655);
18718 }
18719 /* parser/parser.nit:5656 */
18720 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[7], fra.me.REG[5], fra.me.REG[14], fra.me.REG[15], fra.me.REG[3]);
18721 /* parser/parser.nit:5669 */
18722 fra.me.REG[2] = fra.me.REG[3];
18723 /* parser/parser.nit:5670 */
18724 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18725 if (UNTAG_Bool(REGB0)) {
18726 } else {
18727 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5670);
18728 }
18729 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18730 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18731 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18732 stack_frame_head = fra.me.prev;
18733 return;
18734 }
18735 static const char LOCATE_parser___ReduceAction105___action[] = "parser::ReduceAction105::(parser::ReduceAction::action)";
18736 void parser___ReduceAction105___action(val_t p0, val_t p1){
18737 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
18738 val_t REGB0;
18739 val_t tmp;
18740 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18741 fra.me.file = LOCATE_parser;
18742 fra.me.line = 5675;
18743 fra.me.meth = LOCATE_parser___ReduceAction105___action;
18744 fra.me.has_broke = 0;
18745 fra.me.REG_size = 12;
18746 fra.me.nitni_local_ref_head = NULL;
18747 fra.me.REG[0] = NIT_NULL;
18748 fra.me.REG[1] = NIT_NULL;
18749 fra.me.REG[2] = NIT_NULL;
18750 fra.me.REG[3] = NIT_NULL;
18751 fra.me.REG[4] = NIT_NULL;
18752 fra.me.REG[5] = NIT_NULL;
18753 fra.me.REG[6] = NIT_NULL;
18754 fra.me.REG[7] = NIT_NULL;
18755 fra.me.REG[8] = NIT_NULL;
18756 fra.me.REG[9] = NIT_NULL;
18757 fra.me.REG[10] = NIT_NULL;
18758 fra.me.REG[11] = NIT_NULL;
18759 fra.me.REG[0] = p0;
18760 fra.me.REG[1] = p1;
18761 /* parser/parser.nit:5677 */
18762 fra.me.REG[2] = NIT_NULL;
18763 /* parser/parser.nit:5678 */
18764 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18765 /* parser/parser.nit:5679 */
18766 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18767 /* parser/parser.nit:5680 */
18768 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18769 /* parser/parser.nit:5681 */
18770 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18771 /* parser/parser.nit:5682 */
18772 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18773 /* parser/parser.nit:5683 */
18774 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18775 /* parser/parser.nit:5684 */
18776 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18777 /* parser/parser.nit:5685 */
18778 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18779 /* parser/parser.nit:5686 */
18780 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
18781 /* parser/parser.nit:5687 */
18782 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
18783 /* parser/parser.nit:5688 */
18784 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
18785 /* parser/parser.nit:5690 */
18786 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*/;
18787 if (UNTAG_Bool(REGB0)) {
18788 } else {
18789 nit_abort("Assert failed", NULL, LOCATE_parser, 5690);
18790 }
18791 /* parser/parser.nit:5692 */
18792 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*/;
18793 if (UNTAG_Bool(REGB0)) {
18794 } else {
18795 nit_abort("Assert failed", NULL, LOCATE_parser, 5692);
18796 }
18797 /* parser/parser.nit:5694 */
18798 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*/;
18799 if (UNTAG_Bool(REGB0)) {
18800 } else {
18801 nit_abort("Assert failed", NULL, LOCATE_parser, 5694);
18802 }
18803 /* parser/parser.nit:5696 */
18804 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*/;
18805 if (UNTAG_Bool(REGB0)) {
18806 } else {
18807 nit_abort("Assert failed", NULL, LOCATE_parser, 5696);
18808 }
18809 /* parser/parser.nit:5698 */
18810 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]*/;
18811 if (UNTAG_Bool(REGB0)) {
18812 } else {
18813 nit_abort("Assert failed", NULL, LOCATE_parser, 5698);
18814 }
18815 /* parser/parser.nit:5699 */
18816 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
18817 fra.me.REG[11] = fra.me.REG[4];
18818 /* parser/parser.nit:5701 */
18819 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*/;
18820 if (UNTAG_Bool(REGB0)) {
18821 } else {
18822 nit_abort("Assert failed", NULL, LOCATE_parser, 5701);
18823 }
18824 /* parser/parser.nit:5702 */
18825 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, NIT_NULL, fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
18826 /* parser/parser.nit:5715 */
18827 fra.me.REG[2] = fra.me.REG[3];
18828 /* parser/parser.nit:5716 */
18829 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18830 if (UNTAG_Bool(REGB0)) {
18831 } else {
18832 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5716);
18833 }
18834 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18835 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18836 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18837 stack_frame_head = fra.me.prev;
18838 return;
18839 }
18840 static const char LOCATE_parser___ReduceAction106___action[] = "parser::ReduceAction106::(parser::ReduceAction::action)";
18841 void parser___ReduceAction106___action(val_t p0, val_t p1){
18842 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
18843 val_t REGB0;
18844 val_t tmp;
18845 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18846 fra.me.file = LOCATE_parser;
18847 fra.me.line = 5721;
18848 fra.me.meth = LOCATE_parser___ReduceAction106___action;
18849 fra.me.has_broke = 0;
18850 fra.me.REG_size = 13;
18851 fra.me.nitni_local_ref_head = NULL;
18852 fra.me.REG[0] = NIT_NULL;
18853 fra.me.REG[1] = NIT_NULL;
18854 fra.me.REG[2] = NIT_NULL;
18855 fra.me.REG[3] = NIT_NULL;
18856 fra.me.REG[4] = NIT_NULL;
18857 fra.me.REG[5] = NIT_NULL;
18858 fra.me.REG[6] = NIT_NULL;
18859 fra.me.REG[7] = NIT_NULL;
18860 fra.me.REG[8] = NIT_NULL;
18861 fra.me.REG[9] = NIT_NULL;
18862 fra.me.REG[10] = NIT_NULL;
18863 fra.me.REG[11] = NIT_NULL;
18864 fra.me.REG[12] = NIT_NULL;
18865 fra.me.REG[0] = p0;
18866 fra.me.REG[1] = p1;
18867 /* parser/parser.nit:5723 */
18868 fra.me.REG[2] = NIT_NULL;
18869 /* parser/parser.nit:5724 */
18870 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18871 /* parser/parser.nit:5725 */
18872 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18873 /* parser/parser.nit:5726 */
18874 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18875 /* parser/parser.nit:5727 */
18876 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18877 /* parser/parser.nit:5728 */
18878 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18879 /* parser/parser.nit:5729 */
18880 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18881 /* parser/parser.nit:5730 */
18882 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18883 /* parser/parser.nit:5731 */
18884 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18885 /* parser/parser.nit:5732 */
18886 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18887 /* parser/parser.nit:5733 */
18888 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
18889 /* parser/parser.nit:5734 */
18890 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
18891 /* parser/parser.nit:5735 */
18892 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
18893 /* parser/parser.nit:5737 */
18894 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*/;
18895 if (UNTAG_Bool(REGB0)) {
18896 } else {
18897 nit_abort("Assert failed", NULL, LOCATE_parser, 5737);
18898 }
18899 /* parser/parser.nit:5739 */
18900 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*/;
18901 if (UNTAG_Bool(REGB0)) {
18902 } else {
18903 nit_abort("Assert failed", NULL, LOCATE_parser, 5739);
18904 }
18905 /* parser/parser.nit:5741 */
18906 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*/;
18907 if (UNTAG_Bool(REGB0)) {
18908 } else {
18909 nit_abort("Assert failed", NULL, LOCATE_parser, 5741);
18910 }
18911 /* parser/parser.nit:5743 */
18912 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*/;
18913 if (UNTAG_Bool(REGB0)) {
18914 } else {
18915 nit_abort("Assert failed", NULL, LOCATE_parser, 5743);
18916 }
18917 /* parser/parser.nit:5745 */
18918 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*/;
18919 if (UNTAG_Bool(REGB0)) {
18920 } else {
18921 nit_abort("Assert failed", NULL, LOCATE_parser, 5745);
18922 }
18923 /* parser/parser.nit:5747 */
18924 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]*/;
18925 if (UNTAG_Bool(REGB0)) {
18926 } else {
18927 nit_abort("Assert failed", NULL, LOCATE_parser, 5747);
18928 }
18929 /* parser/parser.nit:5748 */
18930 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
18931 fra.me.REG[12] = fra.me.REG[4];
18932 /* parser/parser.nit:5750 */
18933 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*/;
18934 if (UNTAG_Bool(REGB0)) {
18935 } else {
18936 nit_abort("Assert failed", NULL, LOCATE_parser, 5750);
18937 }
18938 /* parser/parser.nit:5751 */
18939 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, NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
18940 /* parser/parser.nit:5764 */
18941 fra.me.REG[2] = fra.me.REG[3];
18942 /* parser/parser.nit:5765 */
18943 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18944 if (UNTAG_Bool(REGB0)) {
18945 } else {
18946 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5765);
18947 }
18948 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18949 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18950 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18951 stack_frame_head = fra.me.prev;
18952 return;
18953 }
18954 static const char LOCATE_parser___ReduceAction107___action[] = "parser::ReduceAction107::(parser::ReduceAction::action)";
18955 void parser___ReduceAction107___action(val_t p0, val_t p1){
18956 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
18957 val_t REGB0;
18958 val_t tmp;
18959 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18960 fra.me.file = LOCATE_parser;
18961 fra.me.line = 5770;
18962 fra.me.meth = LOCATE_parser___ReduceAction107___action;
18963 fra.me.has_broke = 0;
18964 fra.me.REG_size = 13;
18965 fra.me.nitni_local_ref_head = NULL;
18966 fra.me.REG[0] = NIT_NULL;
18967 fra.me.REG[1] = NIT_NULL;
18968 fra.me.REG[2] = NIT_NULL;
18969 fra.me.REG[3] = NIT_NULL;
18970 fra.me.REG[4] = NIT_NULL;
18971 fra.me.REG[5] = NIT_NULL;
18972 fra.me.REG[6] = NIT_NULL;
18973 fra.me.REG[7] = NIT_NULL;
18974 fra.me.REG[8] = NIT_NULL;
18975 fra.me.REG[9] = NIT_NULL;
18976 fra.me.REG[10] = NIT_NULL;
18977 fra.me.REG[11] = NIT_NULL;
18978 fra.me.REG[12] = NIT_NULL;
18979 fra.me.REG[0] = p0;
18980 fra.me.REG[1] = p1;
18981 /* parser/parser.nit:5772 */
18982 fra.me.REG[2] = NIT_NULL;
18983 /* parser/parser.nit:5773 */
18984 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18985 /* parser/parser.nit:5774 */
18986 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18987 /* parser/parser.nit:5775 */
18988 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18989 /* parser/parser.nit:5776 */
18990 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18991 /* parser/parser.nit:5777 */
18992 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18993 /* parser/parser.nit:5778 */
18994 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18995 /* parser/parser.nit:5779 */
18996 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18997 /* parser/parser.nit:5780 */
18998 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18999 /* parser/parser.nit:5781 */
19000 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19001 /* parser/parser.nit:5782 */
19002 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
19003 /* parser/parser.nit:5783 */
19004 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
19005 /* parser/parser.nit:5784 */
19006 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
19007 /* parser/parser.nit:5786 */
19008 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*/;
19009 if (UNTAG_Bool(REGB0)) {
19010 } else {
19011 nit_abort("Assert failed", NULL, LOCATE_parser, 5786);
19012 }
19013 /* parser/parser.nit:5788 */
19014 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*/;
19015 if (UNTAG_Bool(REGB0)) {
19016 } else {
19017 nit_abort("Assert failed", NULL, LOCATE_parser, 5788);
19018 }
19019 /* parser/parser.nit:5790 */
19020 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*/;
19021 if (UNTAG_Bool(REGB0)) {
19022 } else {
19023 nit_abort("Assert failed", NULL, LOCATE_parser, 5790);
19024 }
19025 /* parser/parser.nit:5792 */
19026 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*/;
19027 if (UNTAG_Bool(REGB0)) {
19028 } else {
19029 nit_abort("Assert failed", NULL, LOCATE_parser, 5792);
19030 }
19031 /* parser/parser.nit:5794 */
19032 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]*/;
19033 if (UNTAG_Bool(REGB0)) {
19034 } else {
19035 nit_abort("Assert failed", NULL, LOCATE_parser, 5794);
19036 }
19037 /* parser/parser.nit:5795 */
19038 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
19039 fra.me.REG[10] = fra.me.REG[5];
19040 /* parser/parser.nit:5797 */
19041 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]*/;
19042 if (UNTAG_Bool(REGB0)) {
19043 } else {
19044 nit_abort("Assert failed", NULL, LOCATE_parser, 5797);
19045 }
19046 /* parser/parser.nit:5798 */
19047 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
19048 fra.me.REG[12] = fra.me.REG[4];
19049 /* parser/parser.nit:5800 */
19050 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*/;
19051 if (UNTAG_Bool(REGB0)) {
19052 } else {
19053 nit_abort("Assert failed", NULL, LOCATE_parser, 5800);
19054 }
19055 /* parser/parser.nit:5801 */
19056 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, NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
19057 /* parser/parser.nit:5814 */
19058 fra.me.REG[2] = fra.me.REG[3];
19059 /* parser/parser.nit:5815 */
19060 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19061 if (UNTAG_Bool(REGB0)) {
19062 } else {
19063 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5815);
19064 }
19065 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19066 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19067 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19068 stack_frame_head = fra.me.prev;
19069 return;
19070 }
19071 static const char LOCATE_parser___ReduceAction108___action[] = "parser::ReduceAction108::(parser::ReduceAction::action)";
19072 void parser___ReduceAction108___action(val_t p0, val_t p1){
19073 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
19074 val_t REGB0;
19075 val_t tmp;
19076 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19077 fra.me.file = LOCATE_parser;
19078 fra.me.line = 5820;
19079 fra.me.meth = LOCATE_parser___ReduceAction108___action;
19080 fra.me.has_broke = 0;
19081 fra.me.REG_size = 14;
19082 fra.me.nitni_local_ref_head = NULL;
19083 fra.me.REG[0] = NIT_NULL;
19084 fra.me.REG[1] = NIT_NULL;
19085 fra.me.REG[2] = NIT_NULL;
19086 fra.me.REG[3] = NIT_NULL;
19087 fra.me.REG[4] = NIT_NULL;
19088 fra.me.REG[5] = NIT_NULL;
19089 fra.me.REG[6] = NIT_NULL;
19090 fra.me.REG[7] = NIT_NULL;
19091 fra.me.REG[8] = NIT_NULL;
19092 fra.me.REG[9] = NIT_NULL;
19093 fra.me.REG[10] = NIT_NULL;
19094 fra.me.REG[11] = NIT_NULL;
19095 fra.me.REG[12] = NIT_NULL;
19096 fra.me.REG[13] = NIT_NULL;
19097 fra.me.REG[0] = p0;
19098 fra.me.REG[1] = p1;
19099 /* parser/parser.nit:5822 */
19100 fra.me.REG[2] = NIT_NULL;
19101 /* parser/parser.nit:5823 */
19102 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19103 /* parser/parser.nit:5824 */
19104 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19105 /* parser/parser.nit:5825 */
19106 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19107 /* parser/parser.nit:5826 */
19108 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19109 /* parser/parser.nit:5827 */
19110 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19111 /* parser/parser.nit:5828 */
19112 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19113 /* parser/parser.nit:5829 */
19114 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19115 /* parser/parser.nit:5830 */
19116 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19117 /* parser/parser.nit:5831 */
19118 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19119 /* parser/parser.nit:5832 */
19120 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19121 /* parser/parser.nit:5833 */
19122 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
19123 /* parser/parser.nit:5834 */
19124 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
19125 /* parser/parser.nit:5835 */
19126 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
19127 /* parser/parser.nit:5837 */
19128 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*/;
19129 if (UNTAG_Bool(REGB0)) {
19130 } else {
19131 nit_abort("Assert failed", NULL, LOCATE_parser, 5837);
19132 }
19133 /* parser/parser.nit:5839 */
19134 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*/;
19135 if (UNTAG_Bool(REGB0)) {
19136 } else {
19137 nit_abort("Assert failed", NULL, LOCATE_parser, 5839);
19138 }
19139 /* parser/parser.nit:5841 */
19140 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*/;
19141 if (UNTAG_Bool(REGB0)) {
19142 } else {
19143 nit_abort("Assert failed", NULL, LOCATE_parser, 5841);
19144 }
19145 /* parser/parser.nit:5843 */
19146 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*/;
19147 if (UNTAG_Bool(REGB0)) {
19148 } else {
19149 nit_abort("Assert failed", NULL, LOCATE_parser, 5843);
19150 }
19151 /* parser/parser.nit:5845 */
19152 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*/;
19153 if (UNTAG_Bool(REGB0)) {
19154 } else {
19155 nit_abort("Assert failed", NULL, LOCATE_parser, 5845);
19156 }
19157 /* parser/parser.nit:5847 */
19158 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]*/;
19159 if (UNTAG_Bool(REGB0)) {
19160 } else {
19161 nit_abort("Assert failed", NULL, LOCATE_parser, 5847);
19162 }
19163 /* parser/parser.nit:5848 */
19164 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
19165 fra.me.REG[11] = fra.me.REG[5];
19166 /* parser/parser.nit:5850 */
19167 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]*/;
19168 if (UNTAG_Bool(REGB0)) {
19169 } else {
19170 nit_abort("Assert failed", NULL, LOCATE_parser, 5850);
19171 }
19172 /* parser/parser.nit:5851 */
19173 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
19174 fra.me.REG[13] = fra.me.REG[4];
19175 /* parser/parser.nit:5853 */
19176 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*/;
19177 if (UNTAG_Bool(REGB0)) {
19178 } else {
19179 nit_abort("Assert failed", NULL, LOCATE_parser, 5853);
19180 }
19181 /* parser/parser.nit:5854 */
19182 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, NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
19183 /* parser/parser.nit:5867 */
19184 fra.me.REG[2] = fra.me.REG[3];
19185 /* parser/parser.nit:5868 */
19186 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19187 if (UNTAG_Bool(REGB0)) {
19188 } else {
19189 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5868);
19190 }
19191 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19192 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19193 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19194 stack_frame_head = fra.me.prev;
19195 return;
19196 }
19197 static const char LOCATE_parser___ReduceAction109___action[] = "parser::ReduceAction109::(parser::ReduceAction::action)";
19198 void parser___ReduceAction109___action(val_t p0, val_t p1){
19199 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
19200 val_t REGB0;
19201 val_t tmp;
19202 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19203 fra.me.file = LOCATE_parser;
19204 fra.me.line = 5873;
19205 fra.me.meth = LOCATE_parser___ReduceAction109___action;
19206 fra.me.has_broke = 0;
19207 fra.me.REG_size = 14;
19208 fra.me.nitni_local_ref_head = NULL;
19209 fra.me.REG[0] = NIT_NULL;
19210 fra.me.REG[1] = NIT_NULL;
19211 fra.me.REG[2] = NIT_NULL;
19212 fra.me.REG[3] = NIT_NULL;
19213 fra.me.REG[4] = NIT_NULL;
19214 fra.me.REG[5] = NIT_NULL;
19215 fra.me.REG[6] = NIT_NULL;
19216 fra.me.REG[7] = NIT_NULL;
19217 fra.me.REG[8] = NIT_NULL;
19218 fra.me.REG[9] = NIT_NULL;
19219 fra.me.REG[10] = NIT_NULL;
19220 fra.me.REG[11] = NIT_NULL;
19221 fra.me.REG[12] = NIT_NULL;
19222 fra.me.REG[13] = NIT_NULL;
19223 fra.me.REG[0] = p0;
19224 fra.me.REG[1] = p1;
19225 /* parser/parser.nit:5875 */
19226 fra.me.REG[2] = NIT_NULL;
19227 /* parser/parser.nit:5876 */
19228 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19229 /* parser/parser.nit:5877 */
19230 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19231 /* parser/parser.nit:5878 */
19232 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19233 /* parser/parser.nit:5879 */
19234 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19235 /* parser/parser.nit:5880 */
19236 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19237 /* parser/parser.nit:5881 */
19238 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19239 /* parser/parser.nit:5882 */
19240 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19241 /* parser/parser.nit:5883 */
19242 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19243 /* parser/parser.nit:5884 */
19244 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19245 /* parser/parser.nit:5885 */
19246 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
19247 /* parser/parser.nit:5886 */
19248 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
19249 /* parser/parser.nit:5887 */
19250 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
19251 /* parser/parser.nit:5889 */
19252 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*/;
19253 if (UNTAG_Bool(REGB0)) {
19254 } else {
19255 nit_abort("Assert failed", NULL, LOCATE_parser, 5889);
19256 }
19257 /* parser/parser.nit:5891 */
19258 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*/;
19259 if (UNTAG_Bool(REGB0)) {
19260 } else {
19261 nit_abort("Assert failed", NULL, LOCATE_parser, 5891);
19262 }
19263 /* parser/parser.nit:5893 */
19264 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*/;
19265 if (UNTAG_Bool(REGB0)) {
19266 } else {
19267 nit_abort("Assert failed", NULL, LOCATE_parser, 5893);
19268 }
19269 /* parser/parser.nit:5895 */
19270 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*/;
19271 if (UNTAG_Bool(REGB0)) {
19272 } else {
19273 nit_abort("Assert failed", NULL, LOCATE_parser, 5895);
19274 }
19275 /* parser/parser.nit:5896 */
19276 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
19277 /* parser/parser.nit:5898 */
19278 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]*/;
19279 if (UNTAG_Bool(REGB0)) {
19280 } else {
19281 nit_abort("Assert failed", NULL, LOCATE_parser, 5898);
19282 }
19283 /* parser/parser.nit:5899 */
19284 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[5]);
19285 fra.me.REG[13] = fra.me.REG[5];
19286 /* parser/parser.nit:5900 */
19287 fra.me.REG[13] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[13], NIT_NULL);
19288 /* parser/parser.nit:5907 */
19289 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]*/;
19290 if (UNTAG_Bool(REGB0)) {
19291 } else {
19292 nit_abort("Assert failed", NULL, LOCATE_parser, 5907);
19293 }
19294 /* parser/parser.nit:5908 */
19295 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
19296 fra.me.REG[12] = fra.me.REG[4];
19297 /* parser/parser.nit:5910 */
19298 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*/;
19299 if (UNTAG_Bool(REGB0)) {
19300 } else {
19301 nit_abort("Assert failed", NULL, LOCATE_parser, 5910);
19302 }
19303 /* parser/parser.nit:5911 */
19304 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[13], NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
19305 /* parser/parser.nit:5924 */
19306 fra.me.REG[2] = fra.me.REG[3];
19307 /* parser/parser.nit:5925 */
19308 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19309 if (UNTAG_Bool(REGB0)) {
19310 } else {
19311 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5925);
19312 }
19313 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19314 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19315 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19316 stack_frame_head = fra.me.prev;
19317 return;
19318 }
19319 static const char LOCATE_parser___ReduceAction110___action[] = "parser::ReduceAction110::(parser::ReduceAction::action)";
19320 void parser___ReduceAction110___action(val_t p0, val_t p1){
19321 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
19322 val_t REGB0;
19323 val_t tmp;
19324 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19325 fra.me.file = LOCATE_parser;
19326 fra.me.line = 5930;
19327 fra.me.meth = LOCATE_parser___ReduceAction110___action;
19328 fra.me.has_broke = 0;
19329 fra.me.REG_size = 15;
19330 fra.me.nitni_local_ref_head = NULL;
19331 fra.me.REG[0] = NIT_NULL;
19332 fra.me.REG[1] = NIT_NULL;
19333 fra.me.REG[2] = NIT_NULL;
19334 fra.me.REG[3] = NIT_NULL;
19335 fra.me.REG[4] = NIT_NULL;
19336 fra.me.REG[5] = NIT_NULL;
19337 fra.me.REG[6] = NIT_NULL;
19338 fra.me.REG[7] = NIT_NULL;
19339 fra.me.REG[8] = NIT_NULL;
19340 fra.me.REG[9] = NIT_NULL;
19341 fra.me.REG[10] = NIT_NULL;
19342 fra.me.REG[11] = NIT_NULL;
19343 fra.me.REG[12] = NIT_NULL;
19344 fra.me.REG[13] = NIT_NULL;
19345 fra.me.REG[14] = NIT_NULL;
19346 fra.me.REG[0] = p0;
19347 fra.me.REG[1] = p1;
19348 /* parser/parser.nit:5932 */
19349 fra.me.REG[2] = NIT_NULL;
19350 /* parser/parser.nit:5933 */
19351 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19352 /* parser/parser.nit:5934 */
19353 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19354 /* parser/parser.nit:5935 */
19355 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19356 /* parser/parser.nit:5936 */
19357 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19358 /* parser/parser.nit:5937 */
19359 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19360 /* parser/parser.nit:5938 */
19361 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19362 /* parser/parser.nit:5939 */
19363 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19364 /* parser/parser.nit:5940 */
19365 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19366 /* parser/parser.nit:5941 */
19367 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19368 /* parser/parser.nit:5942 */
19369 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19370 /* parser/parser.nit:5943 */
19371 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
19372 /* parser/parser.nit:5944 */
19373 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
19374 /* parser/parser.nit:5945 */
19375 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
19376 /* parser/parser.nit:5947 */
19377 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*/;
19378 if (UNTAG_Bool(REGB0)) {
19379 } else {
19380 nit_abort("Assert failed", NULL, LOCATE_parser, 5947);
19381 }
19382 /* parser/parser.nit:5949 */
19383 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*/;
19384 if (UNTAG_Bool(REGB0)) {
19385 } else {
19386 nit_abort("Assert failed", NULL, LOCATE_parser, 5949);
19387 }
19388 /* parser/parser.nit:5951 */
19389 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*/;
19390 if (UNTAG_Bool(REGB0)) {
19391 } else {
19392 nit_abort("Assert failed", NULL, LOCATE_parser, 5951);
19393 }
19394 /* parser/parser.nit:5953 */
19395 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*/;
19396 if (UNTAG_Bool(REGB0)) {
19397 } else {
19398 nit_abort("Assert failed", NULL, LOCATE_parser, 5953);
19399 }
19400 /* parser/parser.nit:5955 */
19401 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*/;
19402 if (UNTAG_Bool(REGB0)) {
19403 } else {
19404 nit_abort("Assert failed", NULL, LOCATE_parser, 5955);
19405 }
19406 /* parser/parser.nit:5956 */
19407 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
19408 /* parser/parser.nit:5958 */
19409 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]*/;
19410 if (UNTAG_Bool(REGB0)) {
19411 } else {
19412 nit_abort("Assert failed", NULL, LOCATE_parser, 5958);
19413 }
19414 /* parser/parser.nit:5959 */
19415 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[5]);
19416 fra.me.REG[14] = fra.me.REG[5];
19417 /* parser/parser.nit:5960 */
19418 fra.me.REG[14] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[14], NIT_NULL);
19419 /* parser/parser.nit:5967 */
19420 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]*/;
19421 if (UNTAG_Bool(REGB0)) {
19422 } else {
19423 nit_abort("Assert failed", NULL, LOCATE_parser, 5967);
19424 }
19425 /* parser/parser.nit:5968 */
19426 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
19427 fra.me.REG[13] = fra.me.REG[4];
19428 /* parser/parser.nit:5970 */
19429 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*/;
19430 if (UNTAG_Bool(REGB0)) {
19431 } else {
19432 nit_abort("Assert failed", NULL, LOCATE_parser, 5970);
19433 }
19434 /* parser/parser.nit:5971 */
19435 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[14], NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
19436 /* parser/parser.nit:5984 */
19437 fra.me.REG[2] = fra.me.REG[3];
19438 /* parser/parser.nit:5985 */
19439 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19440 if (UNTAG_Bool(REGB0)) {
19441 } else {
19442 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5985);
19443 }
19444 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19445 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19446 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19447 stack_frame_head = fra.me.prev;
19448 return;
19449 }
19450 static const char LOCATE_parser___ReduceAction111___action[] = "parser::ReduceAction111::(parser::ReduceAction::action)";
19451 void parser___ReduceAction111___action(val_t p0, val_t p1){
19452 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
19453 val_t REGB0;
19454 val_t tmp;
19455 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19456 fra.me.file = LOCATE_parser;
19457 fra.me.line = 5990;
19458 fra.me.meth = LOCATE_parser___ReduceAction111___action;
19459 fra.me.has_broke = 0;
19460 fra.me.REG_size = 14;
19461 fra.me.nitni_local_ref_head = NULL;
19462 fra.me.REG[0] = NIT_NULL;
19463 fra.me.REG[1] = NIT_NULL;
19464 fra.me.REG[2] = NIT_NULL;
19465 fra.me.REG[3] = NIT_NULL;
19466 fra.me.REG[4] = NIT_NULL;
19467 fra.me.REG[5] = NIT_NULL;
19468 fra.me.REG[6] = NIT_NULL;
19469 fra.me.REG[7] = NIT_NULL;
19470 fra.me.REG[8] = NIT_NULL;
19471 fra.me.REG[9] = NIT_NULL;
19472 fra.me.REG[10] = NIT_NULL;
19473 fra.me.REG[11] = NIT_NULL;
19474 fra.me.REG[12] = NIT_NULL;
19475 fra.me.REG[13] = NIT_NULL;
19476 fra.me.REG[0] = p0;
19477 fra.me.REG[1] = p1;
19478 /* parser/parser.nit:5992 */
19479 fra.me.REG[2] = NIT_NULL;
19480 /* parser/parser.nit:5993 */
19481 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19482 /* parser/parser.nit:5994 */
19483 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19484 /* parser/parser.nit:5995 */
19485 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19486 /* parser/parser.nit:5996 */
19487 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19488 /* parser/parser.nit:5997 */
19489 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19490 /* parser/parser.nit:5998 */
19491 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19492 /* parser/parser.nit:5999 */
19493 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19494 /* parser/parser.nit:6000 */
19495 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19496 /* parser/parser.nit:6001 */
19497 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19498 /* parser/parser.nit:6002 */
19499 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19500 /* parser/parser.nit:6003 */
19501 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
19502 /* parser/parser.nit:6004 */
19503 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
19504 /* parser/parser.nit:6005 */
19505 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
19506 /* parser/parser.nit:6007 */
19507 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*/;
19508 if (UNTAG_Bool(REGB0)) {
19509 } else {
19510 nit_abort("Assert failed", NULL, LOCATE_parser, 6007);
19511 }
19512 /* parser/parser.nit:6009 */
19513 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*/;
19514 if (UNTAG_Bool(REGB0)) {
19515 } else {
19516 nit_abort("Assert failed", NULL, LOCATE_parser, 6009);
19517 }
19518 /* parser/parser.nit:6011 */
19519 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*/;
19520 if (UNTAG_Bool(REGB0)) {
19521 } else {
19522 nit_abort("Assert failed", NULL, LOCATE_parser, 6011);
19523 }
19524 /* parser/parser.nit:6013 */
19525 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*/;
19526 if (UNTAG_Bool(REGB0)) {
19527 } else {
19528 nit_abort("Assert failed", NULL, LOCATE_parser, 6013);
19529 }
19530 /* parser/parser.nit:6015 */
19531 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]*/;
19532 if (UNTAG_Bool(REGB0)) {
19533 } else {
19534 nit_abort("Assert failed", NULL, LOCATE_parser, 6015);
19535 }
19536 /* parser/parser.nit:6016 */
19537 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[6]);
19538 fra.me.REG[11] = fra.me.REG[6];
19539 /* parser/parser.nit:6017 */
19540 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
19541 /* parser/parser.nit:6019 */
19542 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]*/;
19543 if (UNTAG_Bool(REGB0)) {
19544 } else {
19545 nit_abort("Assert failed", NULL, LOCATE_parser, 6019);
19546 }
19547 /* parser/parser.nit:6020 */
19548 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
19549 fra.me.REG[6] = fra.me.REG[5];
19550 /* parser/parser.nit:6021 */
19551 fra.me.REG[6] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[6], NIT_NULL);
19552 /* parser/parser.nit:6028 */
19553 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]*/;
19554 if (UNTAG_Bool(REGB0)) {
19555 } else {
19556 nit_abort("Assert failed", NULL, LOCATE_parser, 6028);
19557 }
19558 /* parser/parser.nit:6029 */
19559 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
19560 fra.me.REG[13] = fra.me.REG[4];
19561 /* parser/parser.nit:6031 */
19562 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*/;
19563 if (UNTAG_Bool(REGB0)) {
19564 } else {
19565 nit_abort("Assert failed", NULL, LOCATE_parser, 6031);
19566 }
19567 /* parser/parser.nit:6032 */
19568 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], NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
19569 /* parser/parser.nit:6045 */
19570 fra.me.REG[2] = fra.me.REG[3];
19571 /* parser/parser.nit:6046 */
19572 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19573 if (UNTAG_Bool(REGB0)) {
19574 } else {
19575 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6046);
19576 }
19577 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19578 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19579 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19580 stack_frame_head = fra.me.prev;
19581 return;
19582 }
19583 static const char LOCATE_parser___ReduceAction112___action[] = "parser::ReduceAction112::(parser::ReduceAction::action)";
19584 void parser___ReduceAction112___action(val_t p0, val_t p1){
19585 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
19586 val_t REGB0;
19587 val_t tmp;
19588 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19589 fra.me.file = LOCATE_parser;
19590 fra.me.line = 6051;
19591 fra.me.meth = LOCATE_parser___ReduceAction112___action;
19592 fra.me.has_broke = 0;
19593 fra.me.REG_size = 15;
19594 fra.me.nitni_local_ref_head = NULL;
19595 fra.me.REG[0] = NIT_NULL;
19596 fra.me.REG[1] = NIT_NULL;
19597 fra.me.REG[2] = NIT_NULL;
19598 fra.me.REG[3] = NIT_NULL;
19599 fra.me.REG[4] = NIT_NULL;
19600 fra.me.REG[5] = NIT_NULL;
19601 fra.me.REG[6] = NIT_NULL;
19602 fra.me.REG[7] = NIT_NULL;
19603 fra.me.REG[8] = NIT_NULL;
19604 fra.me.REG[9] = NIT_NULL;
19605 fra.me.REG[10] = NIT_NULL;
19606 fra.me.REG[11] = NIT_NULL;
19607 fra.me.REG[12] = NIT_NULL;
19608 fra.me.REG[13] = NIT_NULL;
19609 fra.me.REG[14] = NIT_NULL;
19610 fra.me.REG[0] = p0;
19611 fra.me.REG[1] = p1;
19612 /* parser/parser.nit:6053 */
19613 fra.me.REG[2] = NIT_NULL;
19614 /* parser/parser.nit:6054 */
19615 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19616 /* parser/parser.nit:6055 */
19617 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19618 /* parser/parser.nit:6056 */
19619 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19620 /* parser/parser.nit:6057 */
19621 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19622 /* parser/parser.nit:6058 */
19623 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19624 /* parser/parser.nit:6059 */
19625 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19626 /* parser/parser.nit:6060 */
19627 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19628 /* parser/parser.nit:6061 */
19629 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19630 /* parser/parser.nit:6062 */
19631 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19632 /* parser/parser.nit:6063 */
19633 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19634 /* parser/parser.nit:6064 */
19635 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19636 /* parser/parser.nit:6065 */
19637 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
19638 /* parser/parser.nit:6066 */
19639 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
19640 /* parser/parser.nit:6067 */
19641 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
19642 /* parser/parser.nit:6069 */
19643 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*/;
19644 if (UNTAG_Bool(REGB0)) {
19645 } else {
19646 nit_abort("Assert failed", NULL, LOCATE_parser, 6069);
19647 }
19648 /* parser/parser.nit:6071 */
19649 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*/;
19650 if (UNTAG_Bool(REGB0)) {
19651 } else {
19652 nit_abort("Assert failed", NULL, LOCATE_parser, 6071);
19653 }
19654 /* parser/parser.nit:6073 */
19655 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*/;
19656 if (UNTAG_Bool(REGB0)) {
19657 } else {
19658 nit_abort("Assert failed", NULL, LOCATE_parser, 6073);
19659 }
19660 /* parser/parser.nit:6075 */
19661 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*/;
19662 if (UNTAG_Bool(REGB0)) {
19663 } else {
19664 nit_abort("Assert failed", NULL, LOCATE_parser, 6075);
19665 }
19666 /* parser/parser.nit:6077 */
19667 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*/;
19668 if (UNTAG_Bool(REGB0)) {
19669 } else {
19670 nit_abort("Assert failed", NULL, LOCATE_parser, 6077);
19671 }
19672 /* parser/parser.nit:6079 */
19673 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]*/;
19674 if (UNTAG_Bool(REGB0)) {
19675 } else {
19676 nit_abort("Assert failed", NULL, LOCATE_parser, 6079);
19677 }
19678 /* parser/parser.nit:6080 */
19679 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[6]);
19680 fra.me.REG[12] = fra.me.REG[6];
19681 /* parser/parser.nit:6081 */
19682 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
19683 /* parser/parser.nit:6083 */
19684 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]*/;
19685 if (UNTAG_Bool(REGB0)) {
19686 } else {
19687 nit_abort("Assert failed", NULL, LOCATE_parser, 6083);
19688 }
19689 /* parser/parser.nit:6084 */
19690 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
19691 fra.me.REG[6] = fra.me.REG[5];
19692 /* parser/parser.nit:6085 */
19693 fra.me.REG[6] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[6], NIT_NULL);
19694 /* parser/parser.nit:6092 */
19695 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]*/;
19696 if (UNTAG_Bool(REGB0)) {
19697 } else {
19698 nit_abort("Assert failed", NULL, LOCATE_parser, 6092);
19699 }
19700 /* parser/parser.nit:6093 */
19701 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
19702 fra.me.REG[14] = fra.me.REG[4];
19703 /* parser/parser.nit:6095 */
19704 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*/;
19705 if (UNTAG_Bool(REGB0)) {
19706 } else {
19707 nit_abort("Assert failed", NULL, LOCATE_parser, 6095);
19708 }
19709 /* parser/parser.nit:6096 */
19710 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], NIT_NULL, fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
19711 /* parser/parser.nit:6109 */
19712 fra.me.REG[2] = fra.me.REG[3];
19713 /* parser/parser.nit:6110 */
19714 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19715 if (UNTAG_Bool(REGB0)) {
19716 } else {
19717 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6110);
19718 }
19719 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19720 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19721 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19722 stack_frame_head = fra.me.prev;
19723 return;
19724 }
19725 static const char LOCATE_parser___ReduceAction113___action[] = "parser::ReduceAction113::(parser::ReduceAction::action)";
19726 void parser___ReduceAction113___action(val_t p0, val_t p1){
19727 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
19728 val_t REGB0;
19729 val_t tmp;
19730 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19731 fra.me.file = LOCATE_parser;
19732 fra.me.line = 6115;
19733 fra.me.meth = LOCATE_parser___ReduceAction113___action;
19734 fra.me.has_broke = 0;
19735 fra.me.REG_size = 13;
19736 fra.me.nitni_local_ref_head = NULL;
19737 fra.me.REG[0] = NIT_NULL;
19738 fra.me.REG[1] = NIT_NULL;
19739 fra.me.REG[2] = NIT_NULL;
19740 fra.me.REG[3] = NIT_NULL;
19741 fra.me.REG[4] = NIT_NULL;
19742 fra.me.REG[5] = NIT_NULL;
19743 fra.me.REG[6] = NIT_NULL;
19744 fra.me.REG[7] = NIT_NULL;
19745 fra.me.REG[8] = NIT_NULL;
19746 fra.me.REG[9] = NIT_NULL;
19747 fra.me.REG[10] = NIT_NULL;
19748 fra.me.REG[11] = NIT_NULL;
19749 fra.me.REG[12] = NIT_NULL;
19750 fra.me.REG[0] = p0;
19751 fra.me.REG[1] = p1;
19752 /* parser/parser.nit:6117 */
19753 fra.me.REG[2] = NIT_NULL;
19754 /* parser/parser.nit:6118 */
19755 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19756 /* parser/parser.nit:6119 */
19757 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19758 /* parser/parser.nit:6120 */
19759 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19760 /* parser/parser.nit:6121 */
19761 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19762 /* parser/parser.nit:6122 */
19763 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19764 /* parser/parser.nit:6123 */
19765 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19766 /* parser/parser.nit:6124 */
19767 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19768 /* parser/parser.nit:6125 */
19769 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19770 /* parser/parser.nit:6126 */
19771 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19772 /* parser/parser.nit:6127 */
19773 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
19774 /* parser/parser.nit:6128 */
19775 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
19776 /* parser/parser.nit:6129 */
19777 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
19778 /* parser/parser.nit:6131 */
19779 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*/;
19780 if (UNTAG_Bool(REGB0)) {
19781 } else {
19782 nit_abort("Assert failed", NULL, LOCATE_parser, 6131);
19783 }
19784 /* parser/parser.nit:6133 */
19785 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*/;
19786 if (UNTAG_Bool(REGB0)) {
19787 } else {
19788 nit_abort("Assert failed", NULL, LOCATE_parser, 6133);
19789 }
19790 /* parser/parser.nit:6135 */
19791 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*/;
19792 if (UNTAG_Bool(REGB0)) {
19793 } else {
19794 nit_abort("Assert failed", NULL, LOCATE_parser, 6135);
19795 }
19796 /* parser/parser.nit:6137 */
19797 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*/;
19798 if (UNTAG_Bool(REGB0)) {
19799 } else {
19800 nit_abort("Assert failed", NULL, LOCATE_parser, 6137);
19801 }
19802 /* parser/parser.nit:6139 */
19803 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*/;
19804 if (UNTAG_Bool(REGB0)) {
19805 } else {
19806 nit_abort("Assert failed", NULL, LOCATE_parser, 6139);
19807 }
19808 /* parser/parser.nit:6141 */
19809 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]*/;
19810 if (UNTAG_Bool(REGB0)) {
19811 } else {
19812 nit_abort("Assert failed", NULL, LOCATE_parser, 6141);
19813 }
19814 /* parser/parser.nit:6142 */
19815 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
19816 fra.me.REG[12] = fra.me.REG[4];
19817 /* parser/parser.nit:6144 */
19818 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*/;
19819 if (UNTAG_Bool(REGB0)) {
19820 } else {
19821 nit_abort("Assert failed", NULL, LOCATE_parser, 6144);
19822 }
19823 /* parser/parser.nit:6145 */
19824 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[5], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
19825 /* parser/parser.nit:6158 */
19826 fra.me.REG[2] = fra.me.REG[3];
19827 /* parser/parser.nit:6159 */
19828 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19829 if (UNTAG_Bool(REGB0)) {
19830 } else {
19831 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6159);
19832 }
19833 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19834 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19835 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19836 stack_frame_head = fra.me.prev;
19837 return;
19838 }
19839 static const char LOCATE_parser___ReduceAction114___action[] = "parser::ReduceAction114::(parser::ReduceAction::action)";
19840 void parser___ReduceAction114___action(val_t p0, val_t p1){
19841 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
19842 val_t REGB0;
19843 val_t tmp;
19844 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19845 fra.me.file = LOCATE_parser;
19846 fra.me.line = 6164;
19847 fra.me.meth = LOCATE_parser___ReduceAction114___action;
19848 fra.me.has_broke = 0;
19849 fra.me.REG_size = 14;
19850 fra.me.nitni_local_ref_head = NULL;
19851 fra.me.REG[0] = NIT_NULL;
19852 fra.me.REG[1] = NIT_NULL;
19853 fra.me.REG[2] = NIT_NULL;
19854 fra.me.REG[3] = NIT_NULL;
19855 fra.me.REG[4] = NIT_NULL;
19856 fra.me.REG[5] = NIT_NULL;
19857 fra.me.REG[6] = NIT_NULL;
19858 fra.me.REG[7] = NIT_NULL;
19859 fra.me.REG[8] = NIT_NULL;
19860 fra.me.REG[9] = NIT_NULL;
19861 fra.me.REG[10] = NIT_NULL;
19862 fra.me.REG[11] = NIT_NULL;
19863 fra.me.REG[12] = NIT_NULL;
19864 fra.me.REG[13] = NIT_NULL;
19865 fra.me.REG[0] = p0;
19866 fra.me.REG[1] = p1;
19867 /* parser/parser.nit:6166 */
19868 fra.me.REG[2] = NIT_NULL;
19869 /* parser/parser.nit:6167 */
19870 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19871 /* parser/parser.nit:6168 */
19872 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19873 /* parser/parser.nit:6169 */
19874 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19875 /* parser/parser.nit:6170 */
19876 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19877 /* parser/parser.nit:6171 */
19878 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19879 /* parser/parser.nit:6172 */
19880 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19881 /* parser/parser.nit:6173 */
19882 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19883 /* parser/parser.nit:6174 */
19884 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19885 /* parser/parser.nit:6175 */
19886 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19887 /* parser/parser.nit:6176 */
19888 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19889 /* parser/parser.nit:6177 */
19890 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
19891 /* parser/parser.nit:6178 */
19892 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
19893 /* parser/parser.nit:6179 */
19894 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
19895 /* parser/parser.nit:6181 */
19896 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*/;
19897 if (UNTAG_Bool(REGB0)) {
19898 } else {
19899 nit_abort("Assert failed", NULL, LOCATE_parser, 6181);
19900 }
19901 /* parser/parser.nit:6183 */
19902 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*/;
19903 if (UNTAG_Bool(REGB0)) {
19904 } else {
19905 nit_abort("Assert failed", NULL, LOCATE_parser, 6183);
19906 }
19907 /* parser/parser.nit:6185 */
19908 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*/;
19909 if (UNTAG_Bool(REGB0)) {
19910 } else {
19911 nit_abort("Assert failed", NULL, LOCATE_parser, 6185);
19912 }
19913 /* parser/parser.nit:6187 */
19914 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*/;
19915 if (UNTAG_Bool(REGB0)) {
19916 } else {
19917 nit_abort("Assert failed", NULL, LOCATE_parser, 6187);
19918 }
19919 /* parser/parser.nit:6189 */
19920 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*/;
19921 if (UNTAG_Bool(REGB0)) {
19922 } else {
19923 nit_abort("Assert failed", NULL, LOCATE_parser, 6189);
19924 }
19925 /* parser/parser.nit:6191 */
19926 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*/;
19927 if (UNTAG_Bool(REGB0)) {
19928 } else {
19929 nit_abort("Assert failed", NULL, LOCATE_parser, 6191);
19930 }
19931 /* parser/parser.nit:6193 */
19932 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]*/;
19933 if (UNTAG_Bool(REGB0)) {
19934 } else {
19935 nit_abort("Assert failed", NULL, LOCATE_parser, 6193);
19936 }
19937 /* parser/parser.nit:6194 */
19938 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
19939 fra.me.REG[13] = fra.me.REG[4];
19940 /* parser/parser.nit:6196 */
19941 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*/;
19942 if (UNTAG_Bool(REGB0)) {
19943 } else {
19944 nit_abort("Assert failed", NULL, LOCATE_parser, 6196);
19945 }
19946 /* parser/parser.nit:6197 */
19947 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[5], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
19948 /* parser/parser.nit:6210 */
19949 fra.me.REG[2] = fra.me.REG[3];
19950 /* parser/parser.nit:6211 */
19951 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19952 if (UNTAG_Bool(REGB0)) {
19953 } else {
19954 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6211);
19955 }
19956 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19957 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19958 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19959 stack_frame_head = fra.me.prev;
19960 return;
19961 }
19962 static const char LOCATE_parser___ReduceAction115___action[] = "parser::ReduceAction115::(parser::ReduceAction::action)";
19963 void parser___ReduceAction115___action(val_t p0, val_t p1){
19964 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
19965 val_t REGB0;
19966 val_t tmp;
19967 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19968 fra.me.file = LOCATE_parser;
19969 fra.me.line = 6216;
19970 fra.me.meth = LOCATE_parser___ReduceAction115___action;
19971 fra.me.has_broke = 0;
19972 fra.me.REG_size = 14;
19973 fra.me.nitni_local_ref_head = NULL;
19974 fra.me.REG[0] = NIT_NULL;
19975 fra.me.REG[1] = NIT_NULL;
19976 fra.me.REG[2] = NIT_NULL;
19977 fra.me.REG[3] = NIT_NULL;
19978 fra.me.REG[4] = NIT_NULL;
19979 fra.me.REG[5] = NIT_NULL;
19980 fra.me.REG[6] = NIT_NULL;
19981 fra.me.REG[7] = NIT_NULL;
19982 fra.me.REG[8] = NIT_NULL;
19983 fra.me.REG[9] = NIT_NULL;
19984 fra.me.REG[10] = NIT_NULL;
19985 fra.me.REG[11] = NIT_NULL;
19986 fra.me.REG[12] = NIT_NULL;
19987 fra.me.REG[13] = NIT_NULL;
19988 fra.me.REG[0] = p0;
19989 fra.me.REG[1] = p1;
19990 /* parser/parser.nit:6218 */
19991 fra.me.REG[2] = NIT_NULL;
19992 /* parser/parser.nit:6219 */
19993 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19994 /* parser/parser.nit:6220 */
19995 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19996 /* parser/parser.nit:6221 */
19997 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19998 /* parser/parser.nit:6222 */
19999 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20000 /* parser/parser.nit:6223 */
20001 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20002 /* parser/parser.nit:6224 */
20003 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20004 /* parser/parser.nit:6225 */
20005 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20006 /* parser/parser.nit:6226 */
20007 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20008 /* parser/parser.nit:6227 */
20009 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20010 /* parser/parser.nit:6228 */
20011 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20012 /* parser/parser.nit:6229 */
20013 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
20014 /* parser/parser.nit:6230 */
20015 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
20016 /* parser/parser.nit:6231 */
20017 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
20018 /* parser/parser.nit:6233 */
20019 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*/;
20020 if (UNTAG_Bool(REGB0)) {
20021 } else {
20022 nit_abort("Assert failed", NULL, LOCATE_parser, 6233);
20023 }
20024 /* parser/parser.nit:6235 */
20025 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*/;
20026 if (UNTAG_Bool(REGB0)) {
20027 } else {
20028 nit_abort("Assert failed", NULL, LOCATE_parser, 6235);
20029 }
20030 /* parser/parser.nit:6237 */
20031 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*/;
20032 if (UNTAG_Bool(REGB0)) {
20033 } else {
20034 nit_abort("Assert failed", NULL, LOCATE_parser, 6237);
20035 }
20036 /* parser/parser.nit:6239 */
20037 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*/;
20038 if (UNTAG_Bool(REGB0)) {
20039 } else {
20040 nit_abort("Assert failed", NULL, LOCATE_parser, 6239);
20041 }
20042 /* parser/parser.nit:6241 */
20043 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]*/;
20044 if (UNTAG_Bool(REGB0)) {
20045 } else {
20046 nit_abort("Assert failed", NULL, LOCATE_parser, 6241);
20047 }
20048 /* parser/parser.nit:6242 */
20049 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[6]);
20050 fra.me.REG[11] = fra.me.REG[6];
20051 /* parser/parser.nit:6244 */
20052 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*/;
20053 if (UNTAG_Bool(REGB0)) {
20054 } else {
20055 nit_abort("Assert failed", NULL, LOCATE_parser, 6244);
20056 }
20057 /* parser/parser.nit:6246 */
20058 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]*/;
20059 if (UNTAG_Bool(REGB0)) {
20060 } else {
20061 nit_abort("Assert failed", NULL, LOCATE_parser, 6246);
20062 }
20063 /* parser/parser.nit:6247 */
20064 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
20065 fra.me.REG[13] = fra.me.REG[4];
20066 /* parser/parser.nit:6249 */
20067 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*/;
20068 if (UNTAG_Bool(REGB0)) {
20069 } else {
20070 nit_abort("Assert failed", NULL, LOCATE_parser, 6249);
20071 }
20072 /* parser/parser.nit:6250 */
20073 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[5], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
20074 /* parser/parser.nit:6263 */
20075 fra.me.REG[2] = fra.me.REG[3];
20076 /* parser/parser.nit:6264 */
20077 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20078 if (UNTAG_Bool(REGB0)) {
20079 } else {
20080 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6264);
20081 }
20082 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20083 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20084 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20085 stack_frame_head = fra.me.prev;
20086 return;
20087 }
20088 static const char LOCATE_parser___ReduceAction116___action[] = "parser::ReduceAction116::(parser::ReduceAction::action)";
20089 void parser___ReduceAction116___action(val_t p0, val_t p1){
20090 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
20091 val_t REGB0;
20092 val_t tmp;
20093 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20094 fra.me.file = LOCATE_parser;
20095 fra.me.line = 6269;
20096 fra.me.meth = LOCATE_parser___ReduceAction116___action;
20097 fra.me.has_broke = 0;
20098 fra.me.REG_size = 15;
20099 fra.me.nitni_local_ref_head = NULL;
20100 fra.me.REG[0] = NIT_NULL;
20101 fra.me.REG[1] = NIT_NULL;
20102 fra.me.REG[2] = NIT_NULL;
20103 fra.me.REG[3] = NIT_NULL;
20104 fra.me.REG[4] = NIT_NULL;
20105 fra.me.REG[5] = NIT_NULL;
20106 fra.me.REG[6] = NIT_NULL;
20107 fra.me.REG[7] = NIT_NULL;
20108 fra.me.REG[8] = NIT_NULL;
20109 fra.me.REG[9] = NIT_NULL;
20110 fra.me.REG[10] = NIT_NULL;
20111 fra.me.REG[11] = NIT_NULL;
20112 fra.me.REG[12] = NIT_NULL;
20113 fra.me.REG[13] = NIT_NULL;
20114 fra.me.REG[14] = NIT_NULL;
20115 fra.me.REG[0] = p0;
20116 fra.me.REG[1] = p1;
20117 /* parser/parser.nit:6271 */
20118 fra.me.REG[2] = NIT_NULL;
20119 /* parser/parser.nit:6272 */
20120 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20121 /* parser/parser.nit:6273 */
20122 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20123 /* parser/parser.nit:6274 */
20124 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20125 /* parser/parser.nit:6275 */
20126 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20127 /* parser/parser.nit:6276 */
20128 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20129 /* parser/parser.nit:6277 */
20130 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20131 /* parser/parser.nit:6278 */
20132 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20133 /* parser/parser.nit:6279 */
20134 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20135 /* parser/parser.nit:6280 */
20136 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20137 /* parser/parser.nit:6281 */
20138 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20139 /* parser/parser.nit:6282 */
20140 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20141 /* parser/parser.nit:6283 */
20142 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
20143 /* parser/parser.nit:6284 */
20144 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
20145 /* parser/parser.nit:6285 */
20146 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
20147 /* parser/parser.nit:6287 */
20148 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*/;
20149 if (UNTAG_Bool(REGB0)) {
20150 } else {
20151 nit_abort("Assert failed", NULL, LOCATE_parser, 6287);
20152 }
20153 /* parser/parser.nit:6289 */
20154 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*/;
20155 if (UNTAG_Bool(REGB0)) {
20156 } else {
20157 nit_abort("Assert failed", NULL, LOCATE_parser, 6289);
20158 }
20159 /* parser/parser.nit:6291 */
20160 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*/;
20161 if (UNTAG_Bool(REGB0)) {
20162 } else {
20163 nit_abort("Assert failed", NULL, LOCATE_parser, 6291);
20164 }
20165 /* parser/parser.nit:6293 */
20166 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*/;
20167 if (UNTAG_Bool(REGB0)) {
20168 } else {
20169 nit_abort("Assert failed", NULL, LOCATE_parser, 6293);
20170 }
20171 /* parser/parser.nit:6295 */
20172 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*/;
20173 if (UNTAG_Bool(REGB0)) {
20174 } else {
20175 nit_abort("Assert failed", NULL, LOCATE_parser, 6295);
20176 }
20177 /* parser/parser.nit:6297 */
20178 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]*/;
20179 if (UNTAG_Bool(REGB0)) {
20180 } else {
20181 nit_abort("Assert failed", NULL, LOCATE_parser, 6297);
20182 }
20183 /* parser/parser.nit:6298 */
20184 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[6]);
20185 fra.me.REG[12] = fra.me.REG[6];
20186 /* parser/parser.nit:6300 */
20187 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*/;
20188 if (UNTAG_Bool(REGB0)) {
20189 } else {
20190 nit_abort("Assert failed", NULL, LOCATE_parser, 6300);
20191 }
20192 /* parser/parser.nit:6302 */
20193 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]*/;
20194 if (UNTAG_Bool(REGB0)) {
20195 } else {
20196 nit_abort("Assert failed", NULL, LOCATE_parser, 6302);
20197 }
20198 /* parser/parser.nit:6303 */
20199 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
20200 fra.me.REG[14] = fra.me.REG[4];
20201 /* parser/parser.nit:6305 */
20202 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*/;
20203 if (UNTAG_Bool(REGB0)) {
20204 } else {
20205 nit_abort("Assert failed", NULL, LOCATE_parser, 6305);
20206 }
20207 /* parser/parser.nit:6306 */
20208 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[5], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
20209 /* parser/parser.nit:6319 */
20210 fra.me.REG[2] = fra.me.REG[3];
20211 /* parser/parser.nit:6320 */
20212 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20213 if (UNTAG_Bool(REGB0)) {
20214 } else {
20215 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6320);
20216 }
20217 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20218 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20219 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20220 stack_frame_head = fra.me.prev;
20221 return;
20222 }
20223 static const char LOCATE_parser___ReduceAction117___action[] = "parser::ReduceAction117::(parser::ReduceAction::action)";
20224 void parser___ReduceAction117___action(val_t p0, val_t p1){
20225 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
20226 val_t REGB0;
20227 val_t tmp;
20228 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20229 fra.me.file = LOCATE_parser;
20230 fra.me.line = 6325;
20231 fra.me.meth = LOCATE_parser___ReduceAction117___action;
20232 fra.me.has_broke = 0;
20233 fra.me.REG_size = 15;
20234 fra.me.nitni_local_ref_head = NULL;
20235 fra.me.REG[0] = NIT_NULL;
20236 fra.me.REG[1] = NIT_NULL;
20237 fra.me.REG[2] = NIT_NULL;
20238 fra.me.REG[3] = NIT_NULL;
20239 fra.me.REG[4] = NIT_NULL;
20240 fra.me.REG[5] = NIT_NULL;
20241 fra.me.REG[6] = NIT_NULL;
20242 fra.me.REG[7] = NIT_NULL;
20243 fra.me.REG[8] = NIT_NULL;
20244 fra.me.REG[9] = NIT_NULL;
20245 fra.me.REG[10] = NIT_NULL;
20246 fra.me.REG[11] = NIT_NULL;
20247 fra.me.REG[12] = NIT_NULL;
20248 fra.me.REG[13] = NIT_NULL;
20249 fra.me.REG[14] = NIT_NULL;
20250 fra.me.REG[0] = p0;
20251 fra.me.REG[1] = p1;
20252 /* parser/parser.nit:6327 */
20253 fra.me.REG[2] = NIT_NULL;
20254 /* parser/parser.nit:6328 */
20255 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20256 /* parser/parser.nit:6329 */
20257 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20258 /* parser/parser.nit:6330 */
20259 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20260 /* parser/parser.nit:6331 */
20261 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20262 /* parser/parser.nit:6332 */
20263 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20264 /* parser/parser.nit:6333 */
20265 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20266 /* parser/parser.nit:6334 */
20267 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20268 /* parser/parser.nit:6335 */
20269 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20270 /* parser/parser.nit:6336 */
20271 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20272 /* parser/parser.nit:6337 */
20273 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20274 /* parser/parser.nit:6338 */
20275 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
20276 /* parser/parser.nit:6339 */
20277 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
20278 /* parser/parser.nit:6340 */
20279 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
20280 /* parser/parser.nit:6342 */
20281 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*/;
20282 if (UNTAG_Bool(REGB0)) {
20283 } else {
20284 nit_abort("Assert failed", NULL, LOCATE_parser, 6342);
20285 }
20286 /* parser/parser.nit:6344 */
20287 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*/;
20288 if (UNTAG_Bool(REGB0)) {
20289 } else {
20290 nit_abort("Assert failed", NULL, LOCATE_parser, 6344);
20291 }
20292 /* parser/parser.nit:6346 */
20293 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*/;
20294 if (UNTAG_Bool(REGB0)) {
20295 } else {
20296 nit_abort("Assert failed", NULL, LOCATE_parser, 6346);
20297 }
20298 /* parser/parser.nit:6348 */
20299 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*/;
20300 if (UNTAG_Bool(REGB0)) {
20301 } else {
20302 nit_abort("Assert failed", NULL, LOCATE_parser, 6348);
20303 }
20304 /* parser/parser.nit:6349 */
20305 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
20306 /* parser/parser.nit:6351 */
20307 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]*/;
20308 if (UNTAG_Bool(REGB0)) {
20309 } else {
20310 nit_abort("Assert failed", NULL, LOCATE_parser, 6351);
20311 }
20312 /* parser/parser.nit:6352 */
20313 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[6]);
20314 fra.me.REG[14] = fra.me.REG[6];
20315 /* parser/parser.nit:6353 */
20316 fra.me.REG[14] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[14], NIT_NULL);
20317 /* parser/parser.nit:6360 */
20318 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*/;
20319 if (UNTAG_Bool(REGB0)) {
20320 } else {
20321 nit_abort("Assert failed", NULL, LOCATE_parser, 6360);
20322 }
20323 /* parser/parser.nit:6362 */
20324 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]*/;
20325 if (UNTAG_Bool(REGB0)) {
20326 } else {
20327 nit_abort("Assert failed", NULL, LOCATE_parser, 6362);
20328 }
20329 /* parser/parser.nit:6363 */
20330 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
20331 fra.me.REG[13] = fra.me.REG[4];
20332 /* parser/parser.nit:6365 */
20333 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*/;
20334 if (UNTAG_Bool(REGB0)) {
20335 } else {
20336 nit_abort("Assert failed", NULL, LOCATE_parser, 6365);
20337 }
20338 /* parser/parser.nit:6366 */
20339 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[14], fra.me.REG[5], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
20340 /* parser/parser.nit:6379 */
20341 fra.me.REG[2] = fra.me.REG[3];
20342 /* parser/parser.nit:6380 */
20343 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20344 if (UNTAG_Bool(REGB0)) {
20345 } else {
20346 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6380);
20347 }
20348 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20349 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20350 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20351 stack_frame_head = fra.me.prev;
20352 return;
20353 }
20354 static const char LOCATE_parser___ReduceAction118___action[] = "parser::ReduceAction118::(parser::ReduceAction::action)";
20355 void parser___ReduceAction118___action(val_t p0, val_t p1){
20356 struct {struct stack_frame_t me; val_t MORE_REG[15];} fra;
20357 val_t REGB0;
20358 val_t tmp;
20359 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20360 fra.me.file = LOCATE_parser;
20361 fra.me.line = 6385;
20362 fra.me.meth = LOCATE_parser___ReduceAction118___action;
20363 fra.me.has_broke = 0;
20364 fra.me.REG_size = 16;
20365 fra.me.nitni_local_ref_head = NULL;
20366 fra.me.REG[0] = NIT_NULL;
20367 fra.me.REG[1] = NIT_NULL;
20368 fra.me.REG[2] = NIT_NULL;
20369 fra.me.REG[3] = NIT_NULL;
20370 fra.me.REG[4] = NIT_NULL;
20371 fra.me.REG[5] = NIT_NULL;
20372 fra.me.REG[6] = NIT_NULL;
20373 fra.me.REG[7] = NIT_NULL;
20374 fra.me.REG[8] = NIT_NULL;
20375 fra.me.REG[9] = NIT_NULL;
20376 fra.me.REG[10] = NIT_NULL;
20377 fra.me.REG[11] = NIT_NULL;
20378 fra.me.REG[12] = NIT_NULL;
20379 fra.me.REG[13] = NIT_NULL;
20380 fra.me.REG[14] = NIT_NULL;
20381 fra.me.REG[15] = NIT_NULL;
20382 fra.me.REG[0] = p0;
20383 fra.me.REG[1] = p1;
20384 /* parser/parser.nit:6387 */
20385 fra.me.REG[2] = NIT_NULL;
20386 /* parser/parser.nit:6388 */
20387 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20388 /* parser/parser.nit:6389 */
20389 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20390 /* parser/parser.nit:6390 */
20391 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20392 /* parser/parser.nit:6391 */
20393 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20394 /* parser/parser.nit:6392 */
20395 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20396 /* parser/parser.nit:6393 */
20397 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20398 /* parser/parser.nit:6394 */
20399 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20400 /* parser/parser.nit:6395 */
20401 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20402 /* parser/parser.nit:6396 */
20403 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20404 /* parser/parser.nit:6397 */
20405 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20406 /* parser/parser.nit:6398 */
20407 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20408 /* parser/parser.nit:6399 */
20409 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
20410 /* parser/parser.nit:6400 */
20411 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
20412 /* parser/parser.nit:6401 */
20413 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
20414 /* parser/parser.nit:6403 */
20415 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*/;
20416 if (UNTAG_Bool(REGB0)) {
20417 } else {
20418 nit_abort("Assert failed", NULL, LOCATE_parser, 6403);
20419 }
20420 /* parser/parser.nit:6405 */
20421 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*/;
20422 if (UNTAG_Bool(REGB0)) {
20423 } else {
20424 nit_abort("Assert failed", NULL, LOCATE_parser, 6405);
20425 }
20426 /* parser/parser.nit:6407 */
20427 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*/;
20428 if (UNTAG_Bool(REGB0)) {
20429 } else {
20430 nit_abort("Assert failed", NULL, LOCATE_parser, 6407);
20431 }
20432 /* parser/parser.nit:6409 */
20433 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*/;
20434 if (UNTAG_Bool(REGB0)) {
20435 } else {
20436 nit_abort("Assert failed", NULL, LOCATE_parser, 6409);
20437 }
20438 /* parser/parser.nit:6411 */
20439 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*/;
20440 if (UNTAG_Bool(REGB0)) {
20441 } else {
20442 nit_abort("Assert failed", NULL, LOCATE_parser, 6411);
20443 }
20444 /* parser/parser.nit:6412 */
20445 fra.me.REG[15] = NEW_Array_standard___collection___array___Array___init();
20446 /* parser/parser.nit:6414 */
20447 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]*/;
20448 if (UNTAG_Bool(REGB0)) {
20449 } else {
20450 nit_abort("Assert failed", NULL, LOCATE_parser, 6414);
20451 }
20452 /* parser/parser.nit:6415 */
20453 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[15], fra.me.REG[6]);
20454 fra.me.REG[15] = fra.me.REG[6];
20455 /* parser/parser.nit:6416 */
20456 fra.me.REG[15] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[15], NIT_NULL);
20457 /* parser/parser.nit:6423 */
20458 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*/;
20459 if (UNTAG_Bool(REGB0)) {
20460 } else {
20461 nit_abort("Assert failed", NULL, LOCATE_parser, 6423);
20462 }
20463 /* parser/parser.nit:6425 */
20464 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]*/;
20465 if (UNTAG_Bool(REGB0)) {
20466 } else {
20467 nit_abort("Assert failed", NULL, LOCATE_parser, 6425);
20468 }
20469 /* parser/parser.nit:6426 */
20470 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
20471 fra.me.REG[14] = fra.me.REG[4];
20472 /* parser/parser.nit:6428 */
20473 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*/;
20474 if (UNTAG_Bool(REGB0)) {
20475 } else {
20476 nit_abort("Assert failed", NULL, LOCATE_parser, 6428);
20477 }
20478 /* parser/parser.nit:6429 */
20479 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[15], fra.me.REG[5], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
20480 /* parser/parser.nit:6442 */
20481 fra.me.REG[2] = fra.me.REG[3];
20482 /* parser/parser.nit:6443 */
20483 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20484 if (UNTAG_Bool(REGB0)) {
20485 } else {
20486 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6443);
20487 }
20488 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20489 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20490 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20491 stack_frame_head = fra.me.prev;
20492 return;
20493 }
20494 static const char LOCATE_parser___ReduceAction119___action[] = "parser::ReduceAction119::(parser::ReduceAction::action)";
20495 void parser___ReduceAction119___action(val_t p0, val_t p1){
20496 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
20497 val_t REGB0;
20498 val_t tmp;
20499 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20500 fra.me.file = LOCATE_parser;
20501 fra.me.line = 6448;
20502 fra.me.meth = LOCATE_parser___ReduceAction119___action;
20503 fra.me.has_broke = 0;
20504 fra.me.REG_size = 15;
20505 fra.me.nitni_local_ref_head = NULL;
20506 fra.me.REG[0] = NIT_NULL;
20507 fra.me.REG[1] = NIT_NULL;
20508 fra.me.REG[2] = NIT_NULL;
20509 fra.me.REG[3] = NIT_NULL;
20510 fra.me.REG[4] = NIT_NULL;
20511 fra.me.REG[5] = NIT_NULL;
20512 fra.me.REG[6] = NIT_NULL;
20513 fra.me.REG[7] = NIT_NULL;
20514 fra.me.REG[8] = NIT_NULL;
20515 fra.me.REG[9] = NIT_NULL;
20516 fra.me.REG[10] = NIT_NULL;
20517 fra.me.REG[11] = NIT_NULL;
20518 fra.me.REG[12] = NIT_NULL;
20519 fra.me.REG[13] = NIT_NULL;
20520 fra.me.REG[14] = NIT_NULL;
20521 fra.me.REG[0] = p0;
20522 fra.me.REG[1] = p1;
20523 /* parser/parser.nit:6450 */
20524 fra.me.REG[2] = NIT_NULL;
20525 /* parser/parser.nit:6451 */
20526 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20527 /* parser/parser.nit:6452 */
20528 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20529 /* parser/parser.nit:6453 */
20530 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20531 /* parser/parser.nit:6454 */
20532 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20533 /* parser/parser.nit:6455 */
20534 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20535 /* parser/parser.nit:6456 */
20536 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20537 /* parser/parser.nit:6457 */
20538 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20539 /* parser/parser.nit:6458 */
20540 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20541 /* parser/parser.nit:6459 */
20542 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20543 /* parser/parser.nit:6460 */
20544 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20545 /* parser/parser.nit:6461 */
20546 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20547 /* parser/parser.nit:6462 */
20548 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
20549 /* parser/parser.nit:6463 */
20550 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
20551 /* parser/parser.nit:6464 */
20552 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
20553 /* parser/parser.nit:6466 */
20554 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*/;
20555 if (UNTAG_Bool(REGB0)) {
20556 } else {
20557 nit_abort("Assert failed", NULL, LOCATE_parser, 6466);
20558 }
20559 /* parser/parser.nit:6468 */
20560 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*/;
20561 if (UNTAG_Bool(REGB0)) {
20562 } else {
20563 nit_abort("Assert failed", NULL, LOCATE_parser, 6468);
20564 }
20565 /* parser/parser.nit:6470 */
20566 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*/;
20567 if (UNTAG_Bool(REGB0)) {
20568 } else {
20569 nit_abort("Assert failed", NULL, LOCATE_parser, 6470);
20570 }
20571 /* parser/parser.nit:6472 */
20572 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*/;
20573 if (UNTAG_Bool(REGB0)) {
20574 } else {
20575 nit_abort("Assert failed", NULL, LOCATE_parser, 6472);
20576 }
20577 /* parser/parser.nit:6474 */
20578 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]*/;
20579 if (UNTAG_Bool(REGB0)) {
20580 } else {
20581 nit_abort("Assert failed", NULL, LOCATE_parser, 6474);
20582 }
20583 /* parser/parser.nit:6475 */
20584 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[7]);
20585 fra.me.REG[12] = fra.me.REG[7];
20586 /* parser/parser.nit:6476 */
20587 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
20588 /* parser/parser.nit:6478 */
20589 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]*/;
20590 if (UNTAG_Bool(REGB0)) {
20591 } else {
20592 nit_abort("Assert failed", NULL, LOCATE_parser, 6478);
20593 }
20594 /* parser/parser.nit:6479 */
20595 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
20596 fra.me.REG[7] = fra.me.REG[6];
20597 /* parser/parser.nit:6480 */
20598 fra.me.REG[7] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[7], NIT_NULL);
20599 /* parser/parser.nit:6487 */
20600 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*/;
20601 if (UNTAG_Bool(REGB0)) {
20602 } else {
20603 nit_abort("Assert failed", NULL, LOCATE_parser, 6487);
20604 }
20605 /* parser/parser.nit:6489 */
20606 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]*/;
20607 if (UNTAG_Bool(REGB0)) {
20608 } else {
20609 nit_abort("Assert failed", NULL, LOCATE_parser, 6489);
20610 }
20611 /* parser/parser.nit:6490 */
20612 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
20613 fra.me.REG[14] = fra.me.REG[4];
20614 /* parser/parser.nit:6492 */
20615 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*/;
20616 if (UNTAG_Bool(REGB0)) {
20617 } else {
20618 nit_abort("Assert failed", NULL, LOCATE_parser, 6492);
20619 }
20620 /* parser/parser.nit:6493 */
20621 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[7], fra.me.REG[5], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
20622 /* parser/parser.nit:6506 */
20623 fra.me.REG[2] = fra.me.REG[3];
20624 /* parser/parser.nit:6507 */
20625 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20626 if (UNTAG_Bool(REGB0)) {
20627 } else {
20628 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6507);
20629 }
20630 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20631 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20632 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20633 stack_frame_head = fra.me.prev;
20634 return;
20635 }
20636 static const char LOCATE_parser___ReduceAction120___action[] = "parser::ReduceAction120::(parser::ReduceAction::action)";
20637 void parser___ReduceAction120___action(val_t p0, val_t p1){
20638 struct {struct stack_frame_t me; val_t MORE_REG[15];} fra;
20639 val_t REGB0;
20640 val_t tmp;
20641 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20642 fra.me.file = LOCATE_parser;
20643 fra.me.line = 6512;
20644 fra.me.meth = LOCATE_parser___ReduceAction120___action;
20645 fra.me.has_broke = 0;
20646 fra.me.REG_size = 16;
20647 fra.me.nitni_local_ref_head = NULL;
20648 fra.me.REG[0] = NIT_NULL;
20649 fra.me.REG[1] = NIT_NULL;
20650 fra.me.REG[2] = NIT_NULL;
20651 fra.me.REG[3] = NIT_NULL;
20652 fra.me.REG[4] = NIT_NULL;
20653 fra.me.REG[5] = NIT_NULL;
20654 fra.me.REG[6] = NIT_NULL;
20655 fra.me.REG[7] = NIT_NULL;
20656 fra.me.REG[8] = NIT_NULL;
20657 fra.me.REG[9] = NIT_NULL;
20658 fra.me.REG[10] = NIT_NULL;
20659 fra.me.REG[11] = NIT_NULL;
20660 fra.me.REG[12] = NIT_NULL;
20661 fra.me.REG[13] = NIT_NULL;
20662 fra.me.REG[14] = NIT_NULL;
20663 fra.me.REG[15] = NIT_NULL;
20664 fra.me.REG[0] = p0;
20665 fra.me.REG[1] = p1;
20666 /* parser/parser.nit:6514 */
20667 fra.me.REG[2] = NIT_NULL;
20668 /* parser/parser.nit:6515 */
20669 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20670 /* parser/parser.nit:6516 */
20671 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20672 /* parser/parser.nit:6517 */
20673 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20674 /* parser/parser.nit:6518 */
20675 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20676 /* parser/parser.nit:6519 */
20677 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20678 /* parser/parser.nit:6520 */
20679 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20680 /* parser/parser.nit:6521 */
20681 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20682 /* parser/parser.nit:6522 */
20683 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20684 /* parser/parser.nit:6523 */
20685 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20686 /* parser/parser.nit:6524 */
20687 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20688 /* parser/parser.nit:6525 */
20689 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20690 /* parser/parser.nit:6526 */
20691 fra.me.REG[12] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20692 /* parser/parser.nit:6527 */
20693 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
20694 /* parser/parser.nit:6528 */
20695 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
20696 /* parser/parser.nit:6529 */
20697 fra.me.REG[15] = NEW_Array_standard___collection___array___Array___init();
20698 /* parser/parser.nit:6531 */
20699 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*/;
20700 if (UNTAG_Bool(REGB0)) {
20701 } else {
20702 nit_abort("Assert failed", NULL, LOCATE_parser, 6531);
20703 }
20704 /* parser/parser.nit:6533 */
20705 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*/;
20706 if (UNTAG_Bool(REGB0)) {
20707 } else {
20708 nit_abort("Assert failed", NULL, LOCATE_parser, 6533);
20709 }
20710 /* parser/parser.nit:6535 */
20711 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*/;
20712 if (UNTAG_Bool(REGB0)) {
20713 } else {
20714 nit_abort("Assert failed", NULL, LOCATE_parser, 6535);
20715 }
20716 /* parser/parser.nit:6537 */
20717 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*/;
20718 if (UNTAG_Bool(REGB0)) {
20719 } else {
20720 nit_abort("Assert failed", NULL, LOCATE_parser, 6537);
20721 }
20722 /* parser/parser.nit:6539 */
20723 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*/;
20724 if (UNTAG_Bool(REGB0)) {
20725 } else {
20726 nit_abort("Assert failed", NULL, LOCATE_parser, 6539);
20727 }
20728 /* parser/parser.nit:6541 */
20729 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]*/;
20730 if (UNTAG_Bool(REGB0)) {
20731 } else {
20732 nit_abort("Assert failed", NULL, LOCATE_parser, 6541);
20733 }
20734 /* parser/parser.nit:6542 */
20735 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[7]);
20736 fra.me.REG[13] = fra.me.REG[7];
20737 /* parser/parser.nit:6543 */
20738 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
20739 /* parser/parser.nit:6545 */
20740 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]*/;
20741 if (UNTAG_Bool(REGB0)) {
20742 } else {
20743 nit_abort("Assert failed", NULL, LOCATE_parser, 6545);
20744 }
20745 /* parser/parser.nit:6546 */
20746 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
20747 fra.me.REG[7] = fra.me.REG[6];
20748 /* parser/parser.nit:6547 */
20749 fra.me.REG[7] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[7], NIT_NULL);
20750 /* parser/parser.nit:6554 */
20751 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*/;
20752 if (UNTAG_Bool(REGB0)) {
20753 } else {
20754 nit_abort("Assert failed", NULL, LOCATE_parser, 6554);
20755 }
20756 /* parser/parser.nit:6556 */
20757 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]*/;
20758 if (UNTAG_Bool(REGB0)) {
20759 } else {
20760 nit_abort("Assert failed", NULL, LOCATE_parser, 6556);
20761 }
20762 /* parser/parser.nit:6557 */
20763 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[15], fra.me.REG[4]);
20764 fra.me.REG[15] = fra.me.REG[4];
20765 /* parser/parser.nit:6559 */
20766 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*/;
20767 if (UNTAG_Bool(REGB0)) {
20768 } else {
20769 nit_abort("Assert failed", NULL, LOCATE_parser, 6559);
20770 }
20771 /* parser/parser.nit:6560 */
20772 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[7], fra.me.REG[5], fra.me.REG[14], fra.me.REG[15], fra.me.REG[3]);
20773 /* parser/parser.nit:6573 */
20774 fra.me.REG[2] = fra.me.REG[3];
20775 /* parser/parser.nit:6574 */
20776 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20777 if (UNTAG_Bool(REGB0)) {
20778 } else {
20779 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6574);
20780 }
20781 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20782 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20783 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20784 stack_frame_head = fra.me.prev;
20785 return;
20786 }
20787 static const char LOCATE_parser___ReduceAction121___action[] = "parser::ReduceAction121::(parser::ReduceAction::action)";
20788 void parser___ReduceAction121___action(val_t p0, val_t p1){
20789 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
20790 val_t REGB0;
20791 val_t tmp;
20792 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20793 fra.me.file = LOCATE_parser;
20794 fra.me.line = 6579;
20795 fra.me.meth = LOCATE_parser___ReduceAction121___action;
20796 fra.me.has_broke = 0;
20797 fra.me.REG_size = 13;
20798 fra.me.nitni_local_ref_head = NULL;
20799 fra.me.REG[0] = NIT_NULL;
20800 fra.me.REG[1] = NIT_NULL;
20801 fra.me.REG[2] = NIT_NULL;
20802 fra.me.REG[3] = NIT_NULL;
20803 fra.me.REG[4] = NIT_NULL;
20804 fra.me.REG[5] = NIT_NULL;
20805 fra.me.REG[6] = NIT_NULL;
20806 fra.me.REG[7] = NIT_NULL;
20807 fra.me.REG[8] = NIT_NULL;
20808 fra.me.REG[9] = NIT_NULL;
20809 fra.me.REG[10] = NIT_NULL;
20810 fra.me.REG[11] = NIT_NULL;
20811 fra.me.REG[12] = NIT_NULL;
20812 fra.me.REG[0] = p0;
20813 fra.me.REG[1] = p1;
20814 /* parser/parser.nit:6581 */
20815 fra.me.REG[2] = NIT_NULL;
20816 /* parser/parser.nit:6582 */
20817 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20818 /* parser/parser.nit:6583 */
20819 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20820 /* parser/parser.nit:6584 */
20821 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20822 /* parser/parser.nit:6585 */
20823 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20824 /* parser/parser.nit:6586 */
20825 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20826 /* parser/parser.nit:6587 */
20827 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20828 /* parser/parser.nit:6588 */
20829 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20830 /* parser/parser.nit:6589 */
20831 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20832 /* parser/parser.nit:6590 */
20833 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20834 /* parser/parser.nit:6591 */
20835 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
20836 /* parser/parser.nit:6592 */
20837 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
20838 /* parser/parser.nit:6593 */
20839 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
20840 /* parser/parser.nit:6595 */
20841 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*/;
20842 if (UNTAG_Bool(REGB0)) {
20843 } else {
20844 nit_abort("Assert failed", NULL, LOCATE_parser, 6595);
20845 }
20846 /* parser/parser.nit:6597 */
20847 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*/;
20848 if (UNTAG_Bool(REGB0)) {
20849 } else {
20850 nit_abort("Assert failed", NULL, LOCATE_parser, 6597);
20851 }
20852 /* parser/parser.nit:6599 */
20853 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*/;
20854 if (UNTAG_Bool(REGB0)) {
20855 } else {
20856 nit_abort("Assert failed", NULL, LOCATE_parser, 6599);
20857 }
20858 /* parser/parser.nit:6601 */
20859 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*/;
20860 if (UNTAG_Bool(REGB0)) {
20861 } else {
20862 nit_abort("Assert failed", NULL, LOCATE_parser, 6601);
20863 }
20864 /* parser/parser.nit:6603 */
20865 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]*/;
20866 if (UNTAG_Bool(REGB0)) {
20867 } else {
20868 nit_abort("Assert failed", NULL, LOCATE_parser, 6603);
20869 }
20870 /* parser/parser.nit:6604 */
20871 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
20872 fra.me.REG[11] = fra.me.REG[5];
20873 /* parser/parser.nit:6606 */
20874 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]*/;
20875 if (UNTAG_Bool(REGB0)) {
20876 } else {
20877 nit_abort("Assert failed", NULL, LOCATE_parser, 6606);
20878 }
20879 /* parser/parser.nit:6607 */
20880 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
20881 fra.me.REG[12] = fra.me.REG[4];
20882 /* parser/parser.nit:6609 */
20883 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*/;
20884 if (UNTAG_Bool(REGB0)) {
20885 } else {
20886 nit_abort("Assert failed", NULL, LOCATE_parser, 6609);
20887 }
20888 /* parser/parser.nit:6610 */
20889 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, NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
20890 /* parser/parser.nit:6623 */
20891 fra.me.REG[2] = fra.me.REG[3];
20892 /* parser/parser.nit:6624 */
20893 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20894 if (UNTAG_Bool(REGB0)) {
20895 } else {
20896 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6624);
20897 }
20898 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20899 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20900 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20901 stack_frame_head = fra.me.prev;
20902 return;
20903 }
20904 static const char LOCATE_parser___ReduceAction122___action[] = "parser::ReduceAction122::(parser::ReduceAction::action)";
20905 void parser___ReduceAction122___action(val_t p0, val_t p1){
20906 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
20907 val_t REGB0;
20908 val_t tmp;
20909 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20910 fra.me.file = LOCATE_parser;
20911 fra.me.line = 6629;
20912 fra.me.meth = LOCATE_parser___ReduceAction122___action;
20913 fra.me.has_broke = 0;
20914 fra.me.REG_size = 14;
20915 fra.me.nitni_local_ref_head = NULL;
20916 fra.me.REG[0] = NIT_NULL;
20917 fra.me.REG[1] = NIT_NULL;
20918 fra.me.REG[2] = NIT_NULL;
20919 fra.me.REG[3] = NIT_NULL;
20920 fra.me.REG[4] = NIT_NULL;
20921 fra.me.REG[5] = NIT_NULL;
20922 fra.me.REG[6] = NIT_NULL;
20923 fra.me.REG[7] = NIT_NULL;
20924 fra.me.REG[8] = NIT_NULL;
20925 fra.me.REG[9] = NIT_NULL;
20926 fra.me.REG[10] = NIT_NULL;
20927 fra.me.REG[11] = NIT_NULL;
20928 fra.me.REG[12] = NIT_NULL;
20929 fra.me.REG[13] = NIT_NULL;
20930 fra.me.REG[0] = p0;
20931 fra.me.REG[1] = p1;
20932 /* parser/parser.nit:6631 */
20933 fra.me.REG[2] = NIT_NULL;
20934 /* parser/parser.nit:6632 */
20935 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20936 /* parser/parser.nit:6633 */
20937 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20938 /* parser/parser.nit:6634 */
20939 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20940 /* parser/parser.nit:6635 */
20941 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20942 /* parser/parser.nit:6636 */
20943 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20944 /* parser/parser.nit:6637 */
20945 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20946 /* parser/parser.nit:6638 */
20947 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20948 /* parser/parser.nit:6639 */
20949 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20950 /* parser/parser.nit:6640 */
20951 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20952 /* parser/parser.nit:6641 */
20953 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20954 /* parser/parser.nit:6642 */
20955 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
20956 /* parser/parser.nit:6643 */
20957 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
20958 /* parser/parser.nit:6644 */
20959 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
20960 /* parser/parser.nit:6646 */
20961 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*/;
20962 if (UNTAG_Bool(REGB0)) {
20963 } else {
20964 nit_abort("Assert failed", NULL, LOCATE_parser, 6646);
20965 }
20966 /* parser/parser.nit:6648 */
20967 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*/;
20968 if (UNTAG_Bool(REGB0)) {
20969 } else {
20970 nit_abort("Assert failed", NULL, LOCATE_parser, 6648);
20971 }
20972 /* parser/parser.nit:6650 */
20973 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*/;
20974 if (UNTAG_Bool(REGB0)) {
20975 } else {
20976 nit_abort("Assert failed", NULL, LOCATE_parser, 6650);
20977 }
20978 /* parser/parser.nit:6652 */
20979 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*/;
20980 if (UNTAG_Bool(REGB0)) {
20981 } else {
20982 nit_abort("Assert failed", NULL, LOCATE_parser, 6652);
20983 }
20984 /* parser/parser.nit:6654 */
20985 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*/;
20986 if (UNTAG_Bool(REGB0)) {
20987 } else {
20988 nit_abort("Assert failed", NULL, LOCATE_parser, 6654);
20989 }
20990 /* parser/parser.nit:6656 */
20991 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]*/;
20992 if (UNTAG_Bool(REGB0)) {
20993 } else {
20994 nit_abort("Assert failed", NULL, LOCATE_parser, 6656);
20995 }
20996 /* parser/parser.nit:6657 */
20997 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[5]);
20998 fra.me.REG[12] = fra.me.REG[5];
20999 /* parser/parser.nit:6659 */
21000 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]*/;
21001 if (UNTAG_Bool(REGB0)) {
21002 } else {
21003 nit_abort("Assert failed", NULL, LOCATE_parser, 6659);
21004 }
21005 /* parser/parser.nit:6660 */
21006 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
21007 fra.me.REG[13] = fra.me.REG[4];
21008 /* parser/parser.nit:6662 */
21009 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*/;
21010 if (UNTAG_Bool(REGB0)) {
21011 } else {
21012 nit_abort("Assert failed", NULL, LOCATE_parser, 6662);
21013 }
21014 /* parser/parser.nit:6663 */
21015 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, NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
21016 /* parser/parser.nit:6676 */
21017 fra.me.REG[2] = fra.me.REG[3];
21018 /* parser/parser.nit:6677 */
21019 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21020 if (UNTAG_Bool(REGB0)) {
21021 } else {
21022 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6677);
21023 }
21024 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21025 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21026 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21027 stack_frame_head = fra.me.prev;
21028 return;
21029 }
21030 static const char LOCATE_parser___ReduceAction123___action[] = "parser::ReduceAction123::(parser::ReduceAction::action)";
21031 void parser___ReduceAction123___action(val_t p0, val_t p1){
21032 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
21033 val_t REGB0;
21034 val_t tmp;
21035 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21036 fra.me.file = LOCATE_parser;
21037 fra.me.line = 6682;
21038 fra.me.meth = LOCATE_parser___ReduceAction123___action;
21039 fra.me.has_broke = 0;
21040 fra.me.REG_size = 14;
21041 fra.me.nitni_local_ref_head = NULL;
21042 fra.me.REG[0] = NIT_NULL;
21043 fra.me.REG[1] = NIT_NULL;
21044 fra.me.REG[2] = NIT_NULL;
21045 fra.me.REG[3] = NIT_NULL;
21046 fra.me.REG[4] = NIT_NULL;
21047 fra.me.REG[5] = NIT_NULL;
21048 fra.me.REG[6] = NIT_NULL;
21049 fra.me.REG[7] = NIT_NULL;
21050 fra.me.REG[8] = NIT_NULL;
21051 fra.me.REG[9] = NIT_NULL;
21052 fra.me.REG[10] = NIT_NULL;
21053 fra.me.REG[11] = NIT_NULL;
21054 fra.me.REG[12] = NIT_NULL;
21055 fra.me.REG[13] = NIT_NULL;
21056 fra.me.REG[0] = p0;
21057 fra.me.REG[1] = p1;
21058 /* parser/parser.nit:6684 */
21059 fra.me.REG[2] = NIT_NULL;
21060 /* parser/parser.nit:6685 */
21061 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21062 /* parser/parser.nit:6686 */
21063 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21064 /* parser/parser.nit:6687 */
21065 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21066 /* parser/parser.nit:6688 */
21067 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21068 /* parser/parser.nit:6689 */
21069 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21070 /* parser/parser.nit:6690 */
21071 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21072 /* parser/parser.nit:6691 */
21073 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21074 /* parser/parser.nit:6692 */
21075 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21076 /* parser/parser.nit:6693 */
21077 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21078 /* parser/parser.nit:6694 */
21079 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21080 /* parser/parser.nit:6695 */
21081 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
21082 /* parser/parser.nit:6696 */
21083 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
21084 /* parser/parser.nit:6697 */
21085 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
21086 /* parser/parser.nit:6699 */
21087 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*/;
21088 if (UNTAG_Bool(REGB0)) {
21089 } else {
21090 nit_abort("Assert failed", NULL, LOCATE_parser, 6699);
21091 }
21092 /* parser/parser.nit:6701 */
21093 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*/;
21094 if (UNTAG_Bool(REGB0)) {
21095 } else {
21096 nit_abort("Assert failed", NULL, LOCATE_parser, 6701);
21097 }
21098 /* parser/parser.nit:6703 */
21099 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*/;
21100 if (UNTAG_Bool(REGB0)) {
21101 } else {
21102 nit_abort("Assert failed", NULL, LOCATE_parser, 6703);
21103 }
21104 /* parser/parser.nit:6705 */
21105 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*/;
21106 if (UNTAG_Bool(REGB0)) {
21107 } else {
21108 nit_abort("Assert failed", NULL, LOCATE_parser, 6705);
21109 }
21110 /* parser/parser.nit:6707 */
21111 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]*/;
21112 if (UNTAG_Bool(REGB0)) {
21113 } else {
21114 nit_abort("Assert failed", NULL, LOCATE_parser, 6707);
21115 }
21116 /* parser/parser.nit:6708 */
21117 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[6]);
21118 fra.me.REG[11] = fra.me.REG[6];
21119 /* parser/parser.nit:6710 */
21120 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]*/;
21121 if (UNTAG_Bool(REGB0)) {
21122 } else {
21123 nit_abort("Assert failed", NULL, LOCATE_parser, 6710);
21124 }
21125 /* parser/parser.nit:6711 */
21126 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[5]);
21127 fra.me.REG[12] = fra.me.REG[5];
21128 /* parser/parser.nit:6713 */
21129 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]*/;
21130 if (UNTAG_Bool(REGB0)) {
21131 } else {
21132 nit_abort("Assert failed", NULL, LOCATE_parser, 6713);
21133 }
21134 /* parser/parser.nit:6714 */
21135 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
21136 fra.me.REG[13] = fra.me.REG[4];
21137 /* parser/parser.nit:6716 */
21138 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*/;
21139 if (UNTAG_Bool(REGB0)) {
21140 } else {
21141 nit_abort("Assert failed", NULL, LOCATE_parser, 6716);
21142 }
21143 /* parser/parser.nit:6717 */
21144 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, NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
21145 /* parser/parser.nit:6730 */
21146 fra.me.REG[2] = fra.me.REG[3];
21147 /* parser/parser.nit:6731 */
21148 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21149 if (UNTAG_Bool(REGB0)) {
21150 } else {
21151 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6731);
21152 }
21153 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21154 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21155 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21156 stack_frame_head = fra.me.prev;
21157 return;
21158 }
21159 static const char LOCATE_parser___ReduceAction124___action[] = "parser::ReduceAction124::(parser::ReduceAction::action)";
21160 void parser___ReduceAction124___action(val_t p0, val_t p1){
21161 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
21162 val_t REGB0;
21163 val_t tmp;
21164 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21165 fra.me.file = LOCATE_parser;
21166 fra.me.line = 6736;
21167 fra.me.meth = LOCATE_parser___ReduceAction124___action;
21168 fra.me.has_broke = 0;
21169 fra.me.REG_size = 15;
21170 fra.me.nitni_local_ref_head = NULL;
21171 fra.me.REG[0] = NIT_NULL;
21172 fra.me.REG[1] = NIT_NULL;
21173 fra.me.REG[2] = NIT_NULL;
21174 fra.me.REG[3] = NIT_NULL;
21175 fra.me.REG[4] = NIT_NULL;
21176 fra.me.REG[5] = NIT_NULL;
21177 fra.me.REG[6] = NIT_NULL;
21178 fra.me.REG[7] = NIT_NULL;
21179 fra.me.REG[8] = NIT_NULL;
21180 fra.me.REG[9] = NIT_NULL;
21181 fra.me.REG[10] = NIT_NULL;
21182 fra.me.REG[11] = NIT_NULL;
21183 fra.me.REG[12] = NIT_NULL;
21184 fra.me.REG[13] = NIT_NULL;
21185 fra.me.REG[14] = NIT_NULL;
21186 fra.me.REG[0] = p0;
21187 fra.me.REG[1] = p1;
21188 /* parser/parser.nit:6738 */
21189 fra.me.REG[2] = NIT_NULL;
21190 /* parser/parser.nit:6739 */
21191 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21192 /* parser/parser.nit:6740 */
21193 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21194 /* parser/parser.nit:6741 */
21195 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21196 /* parser/parser.nit:6742 */
21197 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21198 /* parser/parser.nit:6743 */
21199 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21200 /* parser/parser.nit:6744 */
21201 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21202 /* parser/parser.nit:6745 */
21203 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21204 /* parser/parser.nit:6746 */
21205 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21206 /* parser/parser.nit:6747 */
21207 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21208 /* parser/parser.nit:6748 */
21209 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21210 /* parser/parser.nit:6749 */
21211 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21212 /* parser/parser.nit:6750 */
21213 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
21214 /* parser/parser.nit:6751 */
21215 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
21216 /* parser/parser.nit:6752 */
21217 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
21218 /* parser/parser.nit:6754 */
21219 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*/;
21220 if (UNTAG_Bool(REGB0)) {
21221 } else {
21222 nit_abort("Assert failed", NULL, LOCATE_parser, 6754);
21223 }
21224 /* parser/parser.nit:6756 */
21225 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*/;
21226 if (UNTAG_Bool(REGB0)) {
21227 } else {
21228 nit_abort("Assert failed", NULL, LOCATE_parser, 6756);
21229 }
21230 /* parser/parser.nit:6758 */
21231 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*/;
21232 if (UNTAG_Bool(REGB0)) {
21233 } else {
21234 nit_abort("Assert failed", NULL, LOCATE_parser, 6758);
21235 }
21236 /* parser/parser.nit:6760 */
21237 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*/;
21238 if (UNTAG_Bool(REGB0)) {
21239 } else {
21240 nit_abort("Assert failed", NULL, LOCATE_parser, 6760);
21241 }
21242 /* parser/parser.nit:6762 */
21243 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*/;
21244 if (UNTAG_Bool(REGB0)) {
21245 } else {
21246 nit_abort("Assert failed", NULL, LOCATE_parser, 6762);
21247 }
21248 /* parser/parser.nit:6764 */
21249 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]*/;
21250 if (UNTAG_Bool(REGB0)) {
21251 } else {
21252 nit_abort("Assert failed", NULL, LOCATE_parser, 6764);
21253 }
21254 /* parser/parser.nit:6765 */
21255 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[6]);
21256 fra.me.REG[12] = fra.me.REG[6];
21257 /* parser/parser.nit:6767 */
21258 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]*/;
21259 if (UNTAG_Bool(REGB0)) {
21260 } else {
21261 nit_abort("Assert failed", NULL, LOCATE_parser, 6767);
21262 }
21263 /* parser/parser.nit:6768 */
21264 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[5]);
21265 fra.me.REG[13] = fra.me.REG[5];
21266 /* parser/parser.nit:6770 */
21267 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]*/;
21268 if (UNTAG_Bool(REGB0)) {
21269 } else {
21270 nit_abort("Assert failed", NULL, LOCATE_parser, 6770);
21271 }
21272 /* parser/parser.nit:6771 */
21273 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
21274 fra.me.REG[14] = fra.me.REG[4];
21275 /* parser/parser.nit:6773 */
21276 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*/;
21277 if (UNTAG_Bool(REGB0)) {
21278 } else {
21279 nit_abort("Assert failed", NULL, LOCATE_parser, 6773);
21280 }
21281 /* parser/parser.nit:6774 */
21282 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, NIT_NULL, fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
21283 /* parser/parser.nit:6787 */
21284 fra.me.REG[2] = fra.me.REG[3];
21285 /* parser/parser.nit:6788 */
21286 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21287 if (UNTAG_Bool(REGB0)) {
21288 } else {
21289 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6788);
21290 }
21291 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21292 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21293 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21294 stack_frame_head = fra.me.prev;
21295 return;
21296 }
21297 static const char LOCATE_parser___ReduceAction125___action[] = "parser::ReduceAction125::(parser::ReduceAction::action)";
21298 void parser___ReduceAction125___action(val_t p0, val_t p1){
21299 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
21300 val_t REGB0;
21301 val_t tmp;
21302 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21303 fra.me.file = LOCATE_parser;
21304 fra.me.line = 6793;
21305 fra.me.meth = LOCATE_parser___ReduceAction125___action;
21306 fra.me.has_broke = 0;
21307 fra.me.REG_size = 15;
21308 fra.me.nitni_local_ref_head = NULL;
21309 fra.me.REG[0] = NIT_NULL;
21310 fra.me.REG[1] = NIT_NULL;
21311 fra.me.REG[2] = NIT_NULL;
21312 fra.me.REG[3] = NIT_NULL;
21313 fra.me.REG[4] = NIT_NULL;
21314 fra.me.REG[5] = NIT_NULL;
21315 fra.me.REG[6] = NIT_NULL;
21316 fra.me.REG[7] = NIT_NULL;
21317 fra.me.REG[8] = NIT_NULL;
21318 fra.me.REG[9] = NIT_NULL;
21319 fra.me.REG[10] = NIT_NULL;
21320 fra.me.REG[11] = NIT_NULL;
21321 fra.me.REG[12] = NIT_NULL;
21322 fra.me.REG[13] = NIT_NULL;
21323 fra.me.REG[14] = NIT_NULL;
21324 fra.me.REG[0] = p0;
21325 fra.me.REG[1] = p1;
21326 /* parser/parser.nit:6795 */
21327 fra.me.REG[2] = NIT_NULL;
21328 /* parser/parser.nit:6796 */
21329 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21330 /* parser/parser.nit:6797 */
21331 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21332 /* parser/parser.nit:6798 */
21333 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21334 /* parser/parser.nit:6799 */
21335 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21336 /* parser/parser.nit:6800 */
21337 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21338 /* parser/parser.nit:6801 */
21339 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21340 /* parser/parser.nit:6802 */
21341 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21342 /* parser/parser.nit:6803 */
21343 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21344 /* parser/parser.nit:6804 */
21345 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21346 /* parser/parser.nit:6805 */
21347 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21348 /* parser/parser.nit:6806 */
21349 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
21350 /* parser/parser.nit:6807 */
21351 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
21352 /* parser/parser.nit:6808 */
21353 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
21354 /* parser/parser.nit:6810 */
21355 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*/;
21356 if (UNTAG_Bool(REGB0)) {
21357 } else {
21358 nit_abort("Assert failed", NULL, LOCATE_parser, 6810);
21359 }
21360 /* parser/parser.nit:6812 */
21361 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*/;
21362 if (UNTAG_Bool(REGB0)) {
21363 } else {
21364 nit_abort("Assert failed", NULL, LOCATE_parser, 6812);
21365 }
21366 /* parser/parser.nit:6814 */
21367 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*/;
21368 if (UNTAG_Bool(REGB0)) {
21369 } else {
21370 nit_abort("Assert failed", NULL, LOCATE_parser, 6814);
21371 }
21372 /* parser/parser.nit:6816 */
21373 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*/;
21374 if (UNTAG_Bool(REGB0)) {
21375 } else {
21376 nit_abort("Assert failed", NULL, LOCATE_parser, 6816);
21377 }
21378 /* parser/parser.nit:6817 */
21379 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
21380 /* parser/parser.nit:6819 */
21381 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]*/;
21382 if (UNTAG_Bool(REGB0)) {
21383 } else {
21384 nit_abort("Assert failed", NULL, LOCATE_parser, 6819);
21385 }
21386 /* parser/parser.nit:6820 */
21387 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[6]);
21388 fra.me.REG[14] = fra.me.REG[6];
21389 /* parser/parser.nit:6821 */
21390 fra.me.REG[14] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[14], NIT_NULL);
21391 /* parser/parser.nit:6828 */
21392 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]*/;
21393 if (UNTAG_Bool(REGB0)) {
21394 } else {
21395 nit_abort("Assert failed", NULL, LOCATE_parser, 6828);
21396 }
21397 /* parser/parser.nit:6829 */
21398 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[5]);
21399 fra.me.REG[12] = fra.me.REG[5];
21400 /* parser/parser.nit:6831 */
21401 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]*/;
21402 if (UNTAG_Bool(REGB0)) {
21403 } else {
21404 nit_abort("Assert failed", NULL, LOCATE_parser, 6831);
21405 }
21406 /* parser/parser.nit:6832 */
21407 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
21408 fra.me.REG[13] = fra.me.REG[4];
21409 /* parser/parser.nit:6834 */
21410 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*/;
21411 if (UNTAG_Bool(REGB0)) {
21412 } else {
21413 nit_abort("Assert failed", NULL, LOCATE_parser, 6834);
21414 }
21415 /* parser/parser.nit:6835 */
21416 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[14], NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
21417 /* parser/parser.nit:6848 */
21418 fra.me.REG[2] = fra.me.REG[3];
21419 /* parser/parser.nit:6849 */
21420 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21421 if (UNTAG_Bool(REGB0)) {
21422 } else {
21423 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6849);
21424 }
21425 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21426 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21427 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21428 stack_frame_head = fra.me.prev;
21429 return;
21430 }
21431 static const char LOCATE_parser___ReduceAction126___action[] = "parser::ReduceAction126::(parser::ReduceAction::action)";
21432 void parser___ReduceAction126___action(val_t p0, val_t p1){
21433 struct {struct stack_frame_t me; val_t MORE_REG[15];} fra;
21434 val_t REGB0;
21435 val_t tmp;
21436 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21437 fra.me.file = LOCATE_parser;
21438 fra.me.line = 6854;
21439 fra.me.meth = LOCATE_parser___ReduceAction126___action;
21440 fra.me.has_broke = 0;
21441 fra.me.REG_size = 16;
21442 fra.me.nitni_local_ref_head = NULL;
21443 fra.me.REG[0] = NIT_NULL;
21444 fra.me.REG[1] = NIT_NULL;
21445 fra.me.REG[2] = NIT_NULL;
21446 fra.me.REG[3] = NIT_NULL;
21447 fra.me.REG[4] = NIT_NULL;
21448 fra.me.REG[5] = NIT_NULL;
21449 fra.me.REG[6] = NIT_NULL;
21450 fra.me.REG[7] = NIT_NULL;
21451 fra.me.REG[8] = NIT_NULL;
21452 fra.me.REG[9] = NIT_NULL;
21453 fra.me.REG[10] = NIT_NULL;
21454 fra.me.REG[11] = NIT_NULL;
21455 fra.me.REG[12] = NIT_NULL;
21456 fra.me.REG[13] = NIT_NULL;
21457 fra.me.REG[14] = NIT_NULL;
21458 fra.me.REG[15] = NIT_NULL;
21459 fra.me.REG[0] = p0;
21460 fra.me.REG[1] = p1;
21461 /* parser/parser.nit:6856 */
21462 fra.me.REG[2] = NIT_NULL;
21463 /* parser/parser.nit:6857 */
21464 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21465 /* parser/parser.nit:6858 */
21466 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21467 /* parser/parser.nit:6859 */
21468 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21469 /* parser/parser.nit:6860 */
21470 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21471 /* parser/parser.nit:6861 */
21472 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21473 /* parser/parser.nit:6862 */
21474 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21475 /* parser/parser.nit:6863 */
21476 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21477 /* parser/parser.nit:6864 */
21478 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21479 /* parser/parser.nit:6865 */
21480 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21481 /* parser/parser.nit:6866 */
21482 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21483 /* parser/parser.nit:6867 */
21484 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21485 /* parser/parser.nit:6868 */
21486 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
21487 /* parser/parser.nit:6869 */
21488 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
21489 /* parser/parser.nit:6870 */
21490 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
21491 /* parser/parser.nit:6872 */
21492 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*/;
21493 if (UNTAG_Bool(REGB0)) {
21494 } else {
21495 nit_abort("Assert failed", NULL, LOCATE_parser, 6872);
21496 }
21497 /* parser/parser.nit:6874 */
21498 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*/;
21499 if (UNTAG_Bool(REGB0)) {
21500 } else {
21501 nit_abort("Assert failed", NULL, LOCATE_parser, 6874);
21502 }
21503 /* parser/parser.nit:6876 */
21504 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*/;
21505 if (UNTAG_Bool(REGB0)) {
21506 } else {
21507 nit_abort("Assert failed", NULL, LOCATE_parser, 6876);
21508 }
21509 /* parser/parser.nit:6878 */
21510 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*/;
21511 if (UNTAG_Bool(REGB0)) {
21512 } else {
21513 nit_abort("Assert failed", NULL, LOCATE_parser, 6878);
21514 }
21515 /* parser/parser.nit:6880 */
21516 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*/;
21517 if (UNTAG_Bool(REGB0)) {
21518 } else {
21519 nit_abort("Assert failed", NULL, LOCATE_parser, 6880);
21520 }
21521 /* parser/parser.nit:6881 */
21522 fra.me.REG[15] = NEW_Array_standard___collection___array___Array___init();
21523 /* parser/parser.nit:6883 */
21524 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]*/;
21525 if (UNTAG_Bool(REGB0)) {
21526 } else {
21527 nit_abort("Assert failed", NULL, LOCATE_parser, 6883);
21528 }
21529 /* parser/parser.nit:6884 */
21530 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[15], fra.me.REG[6]);
21531 fra.me.REG[15] = fra.me.REG[6];
21532 /* parser/parser.nit:6885 */
21533 fra.me.REG[15] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[15], NIT_NULL);
21534 /* parser/parser.nit:6892 */
21535 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]*/;
21536 if (UNTAG_Bool(REGB0)) {
21537 } else {
21538 nit_abort("Assert failed", NULL, LOCATE_parser, 6892);
21539 }
21540 /* parser/parser.nit:6893 */
21541 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[5]);
21542 fra.me.REG[13] = fra.me.REG[5];
21543 /* parser/parser.nit:6895 */
21544 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]*/;
21545 if (UNTAG_Bool(REGB0)) {
21546 } else {
21547 nit_abort("Assert failed", NULL, LOCATE_parser, 6895);
21548 }
21549 /* parser/parser.nit:6896 */
21550 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
21551 fra.me.REG[14] = fra.me.REG[4];
21552 /* parser/parser.nit:6898 */
21553 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*/;
21554 if (UNTAG_Bool(REGB0)) {
21555 } else {
21556 nit_abort("Assert failed", NULL, LOCATE_parser, 6898);
21557 }
21558 /* parser/parser.nit:6899 */
21559 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[15], NIT_NULL, fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
21560 /* parser/parser.nit:6912 */
21561 fra.me.REG[2] = fra.me.REG[3];
21562 /* parser/parser.nit:6913 */
21563 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21564 if (UNTAG_Bool(REGB0)) {
21565 } else {
21566 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6913);
21567 }
21568 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21569 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21570 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21571 stack_frame_head = fra.me.prev;
21572 return;
21573 }
21574 static const char LOCATE_parser___ReduceAction127___action[] = "parser::ReduceAction127::(parser::ReduceAction::action)";
21575 void parser___ReduceAction127___action(val_t p0, val_t p1){
21576 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
21577 val_t REGB0;
21578 val_t tmp;
21579 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21580 fra.me.file = LOCATE_parser;
21581 fra.me.line = 6918;
21582 fra.me.meth = LOCATE_parser___ReduceAction127___action;
21583 fra.me.has_broke = 0;
21584 fra.me.REG_size = 15;
21585 fra.me.nitni_local_ref_head = NULL;
21586 fra.me.REG[0] = NIT_NULL;
21587 fra.me.REG[1] = NIT_NULL;
21588 fra.me.REG[2] = NIT_NULL;
21589 fra.me.REG[3] = NIT_NULL;
21590 fra.me.REG[4] = NIT_NULL;
21591 fra.me.REG[5] = NIT_NULL;
21592 fra.me.REG[6] = NIT_NULL;
21593 fra.me.REG[7] = NIT_NULL;
21594 fra.me.REG[8] = NIT_NULL;
21595 fra.me.REG[9] = NIT_NULL;
21596 fra.me.REG[10] = NIT_NULL;
21597 fra.me.REG[11] = NIT_NULL;
21598 fra.me.REG[12] = NIT_NULL;
21599 fra.me.REG[13] = NIT_NULL;
21600 fra.me.REG[14] = NIT_NULL;
21601 fra.me.REG[0] = p0;
21602 fra.me.REG[1] = p1;
21603 /* parser/parser.nit:6920 */
21604 fra.me.REG[2] = NIT_NULL;
21605 /* parser/parser.nit:6921 */
21606 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21607 /* parser/parser.nit:6922 */
21608 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21609 /* parser/parser.nit:6923 */
21610 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21611 /* parser/parser.nit:6924 */
21612 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21613 /* parser/parser.nit:6925 */
21614 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21615 /* parser/parser.nit:6926 */
21616 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21617 /* parser/parser.nit:6927 */
21618 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21619 /* parser/parser.nit:6928 */
21620 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21621 /* parser/parser.nit:6929 */
21622 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21623 /* parser/parser.nit:6930 */
21624 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21625 /* parser/parser.nit:6931 */
21626 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21627 /* parser/parser.nit:6932 */
21628 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
21629 /* parser/parser.nit:6933 */
21630 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
21631 /* parser/parser.nit:6934 */
21632 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
21633 /* parser/parser.nit:6936 */
21634 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*/;
21635 if (UNTAG_Bool(REGB0)) {
21636 } else {
21637 nit_abort("Assert failed", NULL, LOCATE_parser, 6936);
21638 }
21639 /* parser/parser.nit:6938 */
21640 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*/;
21641 if (UNTAG_Bool(REGB0)) {
21642 } else {
21643 nit_abort("Assert failed", NULL, LOCATE_parser, 6938);
21644 }
21645 /* parser/parser.nit:6940 */
21646 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*/;
21647 if (UNTAG_Bool(REGB0)) {
21648 } else {
21649 nit_abort("Assert failed", NULL, LOCATE_parser, 6940);
21650 }
21651 /* parser/parser.nit:6942 */
21652 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*/;
21653 if (UNTAG_Bool(REGB0)) {
21654 } else {
21655 nit_abort("Assert failed", NULL, LOCATE_parser, 6942);
21656 }
21657 /* parser/parser.nit:6944 */
21658 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]*/;
21659 if (UNTAG_Bool(REGB0)) {
21660 } else {
21661 nit_abort("Assert failed", NULL, LOCATE_parser, 6944);
21662 }
21663 /* parser/parser.nit:6945 */
21664 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[7]);
21665 fra.me.REG[12] = fra.me.REG[7];
21666 /* parser/parser.nit:6946 */
21667 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
21668 /* parser/parser.nit:6948 */
21669 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]*/;
21670 if (UNTAG_Bool(REGB0)) {
21671 } else {
21672 nit_abort("Assert failed", NULL, LOCATE_parser, 6948);
21673 }
21674 /* parser/parser.nit:6949 */
21675 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
21676 fra.me.REG[7] = fra.me.REG[6];
21677 /* parser/parser.nit:6950 */
21678 fra.me.REG[7] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[7], NIT_NULL);
21679 /* parser/parser.nit:6957 */
21680 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]*/;
21681 if (UNTAG_Bool(REGB0)) {
21682 } else {
21683 nit_abort("Assert failed", NULL, LOCATE_parser, 6957);
21684 }
21685 /* parser/parser.nit:6958 */
21686 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[5]);
21687 fra.me.REG[13] = fra.me.REG[5];
21688 /* parser/parser.nit:6960 */
21689 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]*/;
21690 if (UNTAG_Bool(REGB0)) {
21691 } else {
21692 nit_abort("Assert failed", NULL, LOCATE_parser, 6960);
21693 }
21694 /* parser/parser.nit:6961 */
21695 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
21696 fra.me.REG[14] = fra.me.REG[4];
21697 /* parser/parser.nit:6963 */
21698 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*/;
21699 if (UNTAG_Bool(REGB0)) {
21700 } else {
21701 nit_abort("Assert failed", NULL, LOCATE_parser, 6963);
21702 }
21703 /* parser/parser.nit:6964 */
21704 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[7], NIT_NULL, fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
21705 /* parser/parser.nit:6977 */
21706 fra.me.REG[2] = fra.me.REG[3];
21707 /* parser/parser.nit:6978 */
21708 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21709 if (UNTAG_Bool(REGB0)) {
21710 } else {
21711 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6978);
21712 }
21713 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21714 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21715 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21716 stack_frame_head = fra.me.prev;
21717 return;
21718 }
21719 static const char LOCATE_parser___ReduceAction128___action[] = "parser::ReduceAction128::(parser::ReduceAction::action)";
21720 void parser___ReduceAction128___action(val_t p0, val_t p1){
21721 struct {struct stack_frame_t me; val_t MORE_REG[15];} fra;
21722 val_t REGB0;
21723 val_t tmp;
21724 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21725 fra.me.file = LOCATE_parser;
21726 fra.me.line = 6983;
21727 fra.me.meth = LOCATE_parser___ReduceAction128___action;
21728 fra.me.has_broke = 0;
21729 fra.me.REG_size = 16;
21730 fra.me.nitni_local_ref_head = NULL;
21731 fra.me.REG[0] = NIT_NULL;
21732 fra.me.REG[1] = NIT_NULL;
21733 fra.me.REG[2] = NIT_NULL;
21734 fra.me.REG[3] = NIT_NULL;
21735 fra.me.REG[4] = NIT_NULL;
21736 fra.me.REG[5] = NIT_NULL;
21737 fra.me.REG[6] = NIT_NULL;
21738 fra.me.REG[7] = NIT_NULL;
21739 fra.me.REG[8] = NIT_NULL;
21740 fra.me.REG[9] = NIT_NULL;
21741 fra.me.REG[10] = NIT_NULL;
21742 fra.me.REG[11] = NIT_NULL;
21743 fra.me.REG[12] = NIT_NULL;
21744 fra.me.REG[13] = NIT_NULL;
21745 fra.me.REG[14] = NIT_NULL;
21746 fra.me.REG[15] = NIT_NULL;
21747 fra.me.REG[0] = p0;
21748 fra.me.REG[1] = p1;
21749 /* parser/parser.nit:6985 */
21750 fra.me.REG[2] = NIT_NULL;
21751 /* parser/parser.nit:6986 */
21752 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21753 /* parser/parser.nit:6987 */
21754 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21755 /* parser/parser.nit:6988 */
21756 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21757 /* parser/parser.nit:6989 */
21758 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21759 /* parser/parser.nit:6990 */
21760 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21761 /* parser/parser.nit:6991 */
21762 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21763 /* parser/parser.nit:6992 */
21764 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21765 /* parser/parser.nit:6993 */
21766 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21767 /* parser/parser.nit:6994 */
21768 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21769 /* parser/parser.nit:6995 */
21770 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21771 /* parser/parser.nit:6996 */
21772 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21773 /* parser/parser.nit:6997 */
21774 fra.me.REG[12] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21775 /* parser/parser.nit:6998 */
21776 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
21777 /* parser/parser.nit:6999 */
21778 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
21779 /* parser/parser.nit:7000 */
21780 fra.me.REG[15] = NEW_Array_standard___collection___array___Array___init();
21781 /* parser/parser.nit:7002 */
21782 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*/;
21783 if (UNTAG_Bool(REGB0)) {
21784 } else {
21785 nit_abort("Assert failed", NULL, LOCATE_parser, 7002);
21786 }
21787 /* parser/parser.nit:7004 */
21788 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*/;
21789 if (UNTAG_Bool(REGB0)) {
21790 } else {
21791 nit_abort("Assert failed", NULL, LOCATE_parser, 7004);
21792 }
21793 /* parser/parser.nit:7006 */
21794 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*/;
21795 if (UNTAG_Bool(REGB0)) {
21796 } else {
21797 nit_abort("Assert failed", NULL, LOCATE_parser, 7006);
21798 }
21799 /* parser/parser.nit:7008 */
21800 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*/;
21801 if (UNTAG_Bool(REGB0)) {
21802 } else {
21803 nit_abort("Assert failed", NULL, LOCATE_parser, 7008);
21804 }
21805 /* parser/parser.nit:7010 */
21806 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*/;
21807 if (UNTAG_Bool(REGB0)) {
21808 } else {
21809 nit_abort("Assert failed", NULL, LOCATE_parser, 7010);
21810 }
21811 /* parser/parser.nit:7012 */
21812 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]*/;
21813 if (UNTAG_Bool(REGB0)) {
21814 } else {
21815 nit_abort("Assert failed", NULL, LOCATE_parser, 7012);
21816 }
21817 /* parser/parser.nit:7013 */
21818 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[7]);
21819 fra.me.REG[13] = fra.me.REG[7];
21820 /* parser/parser.nit:7014 */
21821 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
21822 /* parser/parser.nit:7016 */
21823 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]*/;
21824 if (UNTAG_Bool(REGB0)) {
21825 } else {
21826 nit_abort("Assert failed", NULL, LOCATE_parser, 7016);
21827 }
21828 /* parser/parser.nit:7017 */
21829 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
21830 fra.me.REG[7] = fra.me.REG[6];
21831 /* parser/parser.nit:7018 */
21832 fra.me.REG[7] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[7], NIT_NULL);
21833 /* parser/parser.nit:7025 */
21834 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]*/;
21835 if (UNTAG_Bool(REGB0)) {
21836 } else {
21837 nit_abort("Assert failed", NULL, LOCATE_parser, 7025);
21838 }
21839 /* parser/parser.nit:7026 */
21840 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[5]);
21841 fra.me.REG[14] = fra.me.REG[5];
21842 /* parser/parser.nit:7028 */
21843 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]*/;
21844 if (UNTAG_Bool(REGB0)) {
21845 } else {
21846 nit_abort("Assert failed", NULL, LOCATE_parser, 7028);
21847 }
21848 /* parser/parser.nit:7029 */
21849 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[15], fra.me.REG[4]);
21850 fra.me.REG[15] = fra.me.REG[4];
21851 /* parser/parser.nit:7031 */
21852 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*/;
21853 if (UNTAG_Bool(REGB0)) {
21854 } else {
21855 nit_abort("Assert failed", NULL, LOCATE_parser, 7031);
21856 }
21857 /* parser/parser.nit:7032 */
21858 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[7], NIT_NULL, fra.me.REG[14], fra.me.REG[15], fra.me.REG[3]);
21859 /* parser/parser.nit:7045 */
21860 fra.me.REG[2] = fra.me.REG[3];
21861 /* parser/parser.nit:7046 */
21862 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21863 if (UNTAG_Bool(REGB0)) {
21864 } else {
21865 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7046);
21866 }
21867 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21868 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21869 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21870 stack_frame_head = fra.me.prev;
21871 return;
21872 }
21873 static const char LOCATE_parser___ReduceAction129___action[] = "parser::ReduceAction129::(parser::ReduceAction::action)";
21874 void parser___ReduceAction129___action(val_t p0, val_t p1){
21875 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
21876 val_t REGB0;
21877 val_t tmp;
21878 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21879 fra.me.file = LOCATE_parser;
21880 fra.me.line = 7051;
21881 fra.me.meth = LOCATE_parser___ReduceAction129___action;
21882 fra.me.has_broke = 0;
21883 fra.me.REG_size = 14;
21884 fra.me.nitni_local_ref_head = NULL;
21885 fra.me.REG[0] = NIT_NULL;
21886 fra.me.REG[1] = NIT_NULL;
21887 fra.me.REG[2] = NIT_NULL;
21888 fra.me.REG[3] = NIT_NULL;
21889 fra.me.REG[4] = NIT_NULL;
21890 fra.me.REG[5] = NIT_NULL;
21891 fra.me.REG[6] = NIT_NULL;
21892 fra.me.REG[7] = NIT_NULL;
21893 fra.me.REG[8] = NIT_NULL;
21894 fra.me.REG[9] = NIT_NULL;
21895 fra.me.REG[10] = NIT_NULL;
21896 fra.me.REG[11] = NIT_NULL;
21897 fra.me.REG[12] = NIT_NULL;
21898 fra.me.REG[13] = NIT_NULL;
21899 fra.me.REG[0] = p0;
21900 fra.me.REG[1] = p1;
21901 /* parser/parser.nit:7053 */
21902 fra.me.REG[2] = NIT_NULL;
21903 /* parser/parser.nit:7054 */
21904 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21905 /* parser/parser.nit:7055 */
21906 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21907 /* parser/parser.nit:7056 */
21908 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21909 /* parser/parser.nit:7057 */
21910 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21911 /* parser/parser.nit:7058 */
21912 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21913 /* parser/parser.nit:7059 */
21914 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21915 /* parser/parser.nit:7060 */
21916 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21917 /* parser/parser.nit:7061 */
21918 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21919 /* parser/parser.nit:7062 */
21920 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21921 /* parser/parser.nit:7063 */
21922 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21923 /* parser/parser.nit:7064 */
21924 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
21925 /* parser/parser.nit:7065 */
21926 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
21927 /* parser/parser.nit:7066 */
21928 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
21929 /* parser/parser.nit:7068 */
21930 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*/;
21931 if (UNTAG_Bool(REGB0)) {
21932 } else {
21933 nit_abort("Assert failed", NULL, LOCATE_parser, 7068);
21934 }
21935 /* parser/parser.nit:7070 */
21936 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*/;
21937 if (UNTAG_Bool(REGB0)) {
21938 } else {
21939 nit_abort("Assert failed", NULL, LOCATE_parser, 7070);
21940 }
21941 /* parser/parser.nit:7072 */
21942 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*/;
21943 if (UNTAG_Bool(REGB0)) {
21944 } else {
21945 nit_abort("Assert failed", NULL, LOCATE_parser, 7072);
21946 }
21947 /* parser/parser.nit:7074 */
21948 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*/;
21949 if (UNTAG_Bool(REGB0)) {
21950 } else {
21951 nit_abort("Assert failed", NULL, LOCATE_parser, 7074);
21952 }
21953 /* parser/parser.nit:7076 */
21954 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*/;
21955 if (UNTAG_Bool(REGB0)) {
21956 } else {
21957 nit_abort("Assert failed", NULL, LOCATE_parser, 7076);
21958 }
21959 /* parser/parser.nit:7078 */
21960 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]*/;
21961 if (UNTAG_Bool(REGB0)) {
21962 } else {
21963 nit_abort("Assert failed", NULL, LOCATE_parser, 7078);
21964 }
21965 /* parser/parser.nit:7079 */
21966 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[5]);
21967 fra.me.REG[12] = fra.me.REG[5];
21968 /* parser/parser.nit:7081 */
21969 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]*/;
21970 if (UNTAG_Bool(REGB0)) {
21971 } else {
21972 nit_abort("Assert failed", NULL, LOCATE_parser, 7081);
21973 }
21974 /* parser/parser.nit:7082 */
21975 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
21976 fra.me.REG[13] = fra.me.REG[4];
21977 /* parser/parser.nit:7084 */
21978 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*/;
21979 if (UNTAG_Bool(REGB0)) {
21980 } else {
21981 nit_abort("Assert failed", NULL, LOCATE_parser, 7084);
21982 }
21983 /* parser/parser.nit:7085 */
21984 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[6], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
21985 /* parser/parser.nit:7098 */
21986 fra.me.REG[2] = fra.me.REG[3];
21987 /* parser/parser.nit:7099 */
21988 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21989 if (UNTAG_Bool(REGB0)) {
21990 } else {
21991 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7099);
21992 }
21993 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21994 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21995 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21996 stack_frame_head = fra.me.prev;
21997 return;
21998 }
21999 static const char LOCATE_parser___ReduceAction130___action[] = "parser::ReduceAction130::(parser::ReduceAction::action)";
22000 void parser___ReduceAction130___action(val_t p0, val_t p1){
22001 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
22002 val_t REGB0;
22003 val_t tmp;
22004 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22005 fra.me.file = LOCATE_parser;
22006 fra.me.line = 7104;
22007 fra.me.meth = LOCATE_parser___ReduceAction130___action;
22008 fra.me.has_broke = 0;
22009 fra.me.REG_size = 15;
22010 fra.me.nitni_local_ref_head = NULL;
22011 fra.me.REG[0] = NIT_NULL;
22012 fra.me.REG[1] = NIT_NULL;
22013 fra.me.REG[2] = NIT_NULL;
22014 fra.me.REG[3] = NIT_NULL;
22015 fra.me.REG[4] = NIT_NULL;
22016 fra.me.REG[5] = NIT_NULL;
22017 fra.me.REG[6] = NIT_NULL;
22018 fra.me.REG[7] = NIT_NULL;
22019 fra.me.REG[8] = NIT_NULL;
22020 fra.me.REG[9] = NIT_NULL;
22021 fra.me.REG[10] = NIT_NULL;
22022 fra.me.REG[11] = NIT_NULL;
22023 fra.me.REG[12] = NIT_NULL;
22024 fra.me.REG[13] = NIT_NULL;
22025 fra.me.REG[14] = NIT_NULL;
22026 fra.me.REG[0] = p0;
22027 fra.me.REG[1] = p1;
22028 /* parser/parser.nit:7106 */
22029 fra.me.REG[2] = NIT_NULL;
22030 /* parser/parser.nit:7107 */
22031 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22032 /* parser/parser.nit:7108 */
22033 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22034 /* parser/parser.nit:7109 */
22035 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22036 /* parser/parser.nit:7110 */
22037 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22038 /* parser/parser.nit:7111 */
22039 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22040 /* parser/parser.nit:7112 */
22041 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22042 /* parser/parser.nit:7113 */
22043 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22044 /* parser/parser.nit:7114 */
22045 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22046 /* parser/parser.nit:7115 */
22047 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22048 /* parser/parser.nit:7116 */
22049 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22050 /* parser/parser.nit:7117 */
22051 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22052 /* parser/parser.nit:7118 */
22053 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
22054 /* parser/parser.nit:7119 */
22055 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
22056 /* parser/parser.nit:7120 */
22057 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
22058 /* parser/parser.nit:7122 */
22059 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*/;
22060 if (UNTAG_Bool(REGB0)) {
22061 } else {
22062 nit_abort("Assert failed", NULL, LOCATE_parser, 7122);
22063 }
22064 /* parser/parser.nit:7124 */
22065 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*/;
22066 if (UNTAG_Bool(REGB0)) {
22067 } else {
22068 nit_abort("Assert failed", NULL, LOCATE_parser, 7124);
22069 }
22070 /* parser/parser.nit:7126 */
22071 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*/;
22072 if (UNTAG_Bool(REGB0)) {
22073 } else {
22074 nit_abort("Assert failed", NULL, LOCATE_parser, 7126);
22075 }
22076 /* parser/parser.nit:7128 */
22077 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*/;
22078 if (UNTAG_Bool(REGB0)) {
22079 } else {
22080 nit_abort("Assert failed", NULL, LOCATE_parser, 7128);
22081 }
22082 /* parser/parser.nit:7130 */
22083 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*/;
22084 if (UNTAG_Bool(REGB0)) {
22085 } else {
22086 nit_abort("Assert failed", NULL, LOCATE_parser, 7130);
22087 }
22088 /* parser/parser.nit:7132 */
22089 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*/;
22090 if (UNTAG_Bool(REGB0)) {
22091 } else {
22092 nit_abort("Assert failed", NULL, LOCATE_parser, 7132);
22093 }
22094 /* parser/parser.nit:7134 */
22095 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]*/;
22096 if (UNTAG_Bool(REGB0)) {
22097 } else {
22098 nit_abort("Assert failed", NULL, LOCATE_parser, 7134);
22099 }
22100 /* parser/parser.nit:7135 */
22101 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[5]);
22102 fra.me.REG[13] = fra.me.REG[5];
22103 /* parser/parser.nit:7137 */
22104 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]*/;
22105 if (UNTAG_Bool(REGB0)) {
22106 } else {
22107 nit_abort("Assert failed", NULL, LOCATE_parser, 7137);
22108 }
22109 /* parser/parser.nit:7138 */
22110 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
22111 fra.me.REG[14] = fra.me.REG[4];
22112 /* parser/parser.nit:7140 */
22113 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*/;
22114 if (UNTAG_Bool(REGB0)) {
22115 } else {
22116 nit_abort("Assert failed", NULL, LOCATE_parser, 7140);
22117 }
22118 /* parser/parser.nit:7141 */
22119 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[6], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
22120 /* parser/parser.nit:7154 */
22121 fra.me.REG[2] = fra.me.REG[3];
22122 /* parser/parser.nit:7155 */
22123 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22124 if (UNTAG_Bool(REGB0)) {
22125 } else {
22126 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7155);
22127 }
22128 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22129 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22130 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22131 stack_frame_head = fra.me.prev;
22132 return;
22133 }
22134 static const char LOCATE_parser___ReduceAction131___action[] = "parser::ReduceAction131::(parser::ReduceAction::action)";
22135 void parser___ReduceAction131___action(val_t p0, val_t p1){
22136 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
22137 val_t REGB0;
22138 val_t tmp;
22139 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22140 fra.me.file = LOCATE_parser;
22141 fra.me.line = 7160;
22142 fra.me.meth = LOCATE_parser___ReduceAction131___action;
22143 fra.me.has_broke = 0;
22144 fra.me.REG_size = 15;
22145 fra.me.nitni_local_ref_head = NULL;
22146 fra.me.REG[0] = NIT_NULL;
22147 fra.me.REG[1] = NIT_NULL;
22148 fra.me.REG[2] = NIT_NULL;
22149 fra.me.REG[3] = NIT_NULL;
22150 fra.me.REG[4] = NIT_NULL;
22151 fra.me.REG[5] = NIT_NULL;
22152 fra.me.REG[6] = NIT_NULL;
22153 fra.me.REG[7] = NIT_NULL;
22154 fra.me.REG[8] = NIT_NULL;
22155 fra.me.REG[9] = NIT_NULL;
22156 fra.me.REG[10] = NIT_NULL;
22157 fra.me.REG[11] = NIT_NULL;
22158 fra.me.REG[12] = NIT_NULL;
22159 fra.me.REG[13] = NIT_NULL;
22160 fra.me.REG[14] = NIT_NULL;
22161 fra.me.REG[0] = p0;
22162 fra.me.REG[1] = p1;
22163 /* parser/parser.nit:7162 */
22164 fra.me.REG[2] = NIT_NULL;
22165 /* parser/parser.nit:7163 */
22166 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22167 /* parser/parser.nit:7164 */
22168 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22169 /* parser/parser.nit:7165 */
22170 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22171 /* parser/parser.nit:7166 */
22172 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22173 /* parser/parser.nit:7167 */
22174 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22175 /* parser/parser.nit:7168 */
22176 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22177 /* parser/parser.nit:7169 */
22178 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22179 /* parser/parser.nit:7170 */
22180 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22181 /* parser/parser.nit:7171 */
22182 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22183 /* parser/parser.nit:7172 */
22184 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22185 /* parser/parser.nit:7173 */
22186 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22187 /* parser/parser.nit:7174 */
22188 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
22189 /* parser/parser.nit:7175 */
22190 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
22191 /* parser/parser.nit:7176 */
22192 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
22193 /* parser/parser.nit:7178 */
22194 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*/;
22195 if (UNTAG_Bool(REGB0)) {
22196 } else {
22197 nit_abort("Assert failed", NULL, LOCATE_parser, 7178);
22198 }
22199 /* parser/parser.nit:7180 */
22200 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*/;
22201 if (UNTAG_Bool(REGB0)) {
22202 } else {
22203 nit_abort("Assert failed", NULL, LOCATE_parser, 7180);
22204 }
22205 /* parser/parser.nit:7182 */
22206 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*/;
22207 if (UNTAG_Bool(REGB0)) {
22208 } else {
22209 nit_abort("Assert failed", NULL, LOCATE_parser, 7182);
22210 }
22211 /* parser/parser.nit:7184 */
22212 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*/;
22213 if (UNTAG_Bool(REGB0)) {
22214 } else {
22215 nit_abort("Assert failed", NULL, LOCATE_parser, 7184);
22216 }
22217 /* parser/parser.nit:7186 */
22218 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]*/;
22219 if (UNTAG_Bool(REGB0)) {
22220 } else {
22221 nit_abort("Assert failed", NULL, LOCATE_parser, 7186);
22222 }
22223 /* parser/parser.nit:7187 */
22224 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[7]);
22225 fra.me.REG[12] = fra.me.REG[7];
22226 /* parser/parser.nit:7189 */
22227 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*/;
22228 if (UNTAG_Bool(REGB0)) {
22229 } else {
22230 nit_abort("Assert failed", NULL, LOCATE_parser, 7189);
22231 }
22232 /* parser/parser.nit:7191 */
22233 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]*/;
22234 if (UNTAG_Bool(REGB0)) {
22235 } else {
22236 nit_abort("Assert failed", NULL, LOCATE_parser, 7191);
22237 }
22238 /* parser/parser.nit:7192 */
22239 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[5]);
22240 fra.me.REG[13] = fra.me.REG[5];
22241 /* parser/parser.nit:7194 */
22242 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]*/;
22243 if (UNTAG_Bool(REGB0)) {
22244 } else {
22245 nit_abort("Assert failed", NULL, LOCATE_parser, 7194);
22246 }
22247 /* parser/parser.nit:7195 */
22248 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
22249 fra.me.REG[14] = fra.me.REG[4];
22250 /* parser/parser.nit:7197 */
22251 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*/;
22252 if (UNTAG_Bool(REGB0)) {
22253 } else {
22254 nit_abort("Assert failed", NULL, LOCATE_parser, 7197);
22255 }
22256 /* parser/parser.nit:7198 */
22257 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], NIT_NULL, fra.me.REG[6], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
22258 /* parser/parser.nit:7211 */
22259 fra.me.REG[2] = fra.me.REG[3];
22260 /* parser/parser.nit:7212 */
22261 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22262 if (UNTAG_Bool(REGB0)) {
22263 } else {
22264 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7212);
22265 }
22266 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22267 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22268 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22269 stack_frame_head = fra.me.prev;
22270 return;
22271 }
22272 static const char LOCATE_parser___ReduceAction132___action[] = "parser::ReduceAction132::(parser::ReduceAction::action)";
22273 void parser___ReduceAction132___action(val_t p0, val_t p1){
22274 struct {struct stack_frame_t me; val_t MORE_REG[15];} fra;
22275 val_t REGB0;
22276 val_t tmp;
22277 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22278 fra.me.file = LOCATE_parser;
22279 fra.me.line = 7217;
22280 fra.me.meth = LOCATE_parser___ReduceAction132___action;
22281 fra.me.has_broke = 0;
22282 fra.me.REG_size = 16;
22283 fra.me.nitni_local_ref_head = NULL;
22284 fra.me.REG[0] = NIT_NULL;
22285 fra.me.REG[1] = NIT_NULL;
22286 fra.me.REG[2] = NIT_NULL;
22287 fra.me.REG[3] = NIT_NULL;
22288 fra.me.REG[4] = NIT_NULL;
22289 fra.me.REG[5] = NIT_NULL;
22290 fra.me.REG[6] = NIT_NULL;
22291 fra.me.REG[7] = NIT_NULL;
22292 fra.me.REG[8] = NIT_NULL;
22293 fra.me.REG[9] = NIT_NULL;
22294 fra.me.REG[10] = NIT_NULL;
22295 fra.me.REG[11] = NIT_NULL;
22296 fra.me.REG[12] = NIT_NULL;
22297 fra.me.REG[13] = NIT_NULL;
22298 fra.me.REG[14] = NIT_NULL;
22299 fra.me.REG[15] = NIT_NULL;
22300 fra.me.REG[0] = p0;
22301 fra.me.REG[1] = p1;
22302 /* parser/parser.nit:7219 */
22303 fra.me.REG[2] = NIT_NULL;
22304 /* parser/parser.nit:7220 */
22305 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22306 /* parser/parser.nit:7221 */
22307 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22308 /* parser/parser.nit:7222 */
22309 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22310 /* parser/parser.nit:7223 */
22311 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22312 /* parser/parser.nit:7224 */
22313 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22314 /* parser/parser.nit:7225 */
22315 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22316 /* parser/parser.nit:7226 */
22317 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22318 /* parser/parser.nit:7227 */
22319 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22320 /* parser/parser.nit:7228 */
22321 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22322 /* parser/parser.nit:7229 */
22323 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22324 /* parser/parser.nit:7230 */
22325 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22326 /* parser/parser.nit:7231 */
22327 fra.me.REG[12] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22328 /* parser/parser.nit:7232 */
22329 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
22330 /* parser/parser.nit:7233 */
22331 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
22332 /* parser/parser.nit:7234 */
22333 fra.me.REG[15] = NEW_Array_standard___collection___array___Array___init();
22334 /* parser/parser.nit:7236 */
22335 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*/;
22336 if (UNTAG_Bool(REGB0)) {
22337 } else {
22338 nit_abort("Assert failed", NULL, LOCATE_parser, 7236);
22339 }
22340 /* parser/parser.nit:7238 */
22341 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*/;
22342 if (UNTAG_Bool(REGB0)) {
22343 } else {
22344 nit_abort("Assert failed", NULL, LOCATE_parser, 7238);
22345 }
22346 /* parser/parser.nit:7240 */
22347 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*/;
22348 if (UNTAG_Bool(REGB0)) {
22349 } else {
22350 nit_abort("Assert failed", NULL, LOCATE_parser, 7240);
22351 }
22352 /* parser/parser.nit:7242 */
22353 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*/;
22354 if (UNTAG_Bool(REGB0)) {
22355 } else {
22356 nit_abort("Assert failed", NULL, LOCATE_parser, 7242);
22357 }
22358 /* parser/parser.nit:7244 */
22359 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*/;
22360 if (UNTAG_Bool(REGB0)) {
22361 } else {
22362 nit_abort("Assert failed", NULL, LOCATE_parser, 7244);
22363 }
22364 /* parser/parser.nit:7246 */
22365 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]*/;
22366 if (UNTAG_Bool(REGB0)) {
22367 } else {
22368 nit_abort("Assert failed", NULL, LOCATE_parser, 7246);
22369 }
22370 /* parser/parser.nit:7247 */
22371 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[7]);
22372 fra.me.REG[13] = fra.me.REG[7];
22373 /* parser/parser.nit:7249 */
22374 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*/;
22375 if (UNTAG_Bool(REGB0)) {
22376 } else {
22377 nit_abort("Assert failed", NULL, LOCATE_parser, 7249);
22378 }
22379 /* parser/parser.nit:7251 */
22380 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]*/;
22381 if (UNTAG_Bool(REGB0)) {
22382 } else {
22383 nit_abort("Assert failed", NULL, LOCATE_parser, 7251);
22384 }
22385 /* parser/parser.nit:7252 */
22386 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[5]);
22387 fra.me.REG[14] = fra.me.REG[5];
22388 /* parser/parser.nit:7254 */
22389 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]*/;
22390 if (UNTAG_Bool(REGB0)) {
22391 } else {
22392 nit_abort("Assert failed", NULL, LOCATE_parser, 7254);
22393 }
22394 /* parser/parser.nit:7255 */
22395 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[15], fra.me.REG[4]);
22396 fra.me.REG[15] = fra.me.REG[4];
22397 /* parser/parser.nit:7257 */
22398 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*/;
22399 if (UNTAG_Bool(REGB0)) {
22400 } else {
22401 nit_abort("Assert failed", NULL, LOCATE_parser, 7257);
22402 }
22403 /* parser/parser.nit:7258 */
22404 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], NIT_NULL, fra.me.REG[6], fra.me.REG[14], fra.me.REG[15], fra.me.REG[3]);
22405 /* parser/parser.nit:7271 */
22406 fra.me.REG[2] = fra.me.REG[3];
22407 /* parser/parser.nit:7272 */
22408 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22409 if (UNTAG_Bool(REGB0)) {
22410 } else {
22411 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7272);
22412 }
22413 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22414 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22415 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22416 stack_frame_head = fra.me.prev;
22417 return;
22418 }
22419 static const char LOCATE_parser___ReduceAction133___action[] = "parser::ReduceAction133::(parser::ReduceAction::action)";
22420 void parser___ReduceAction133___action(val_t p0, val_t p1){
22421 struct {struct stack_frame_t me; val_t MORE_REG[15];} fra;
22422 val_t REGB0;
22423 val_t tmp;
22424 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22425 fra.me.file = LOCATE_parser;
22426 fra.me.line = 7277;
22427 fra.me.meth = LOCATE_parser___ReduceAction133___action;
22428 fra.me.has_broke = 0;
22429 fra.me.REG_size = 16;
22430 fra.me.nitni_local_ref_head = NULL;
22431 fra.me.REG[0] = NIT_NULL;
22432 fra.me.REG[1] = NIT_NULL;
22433 fra.me.REG[2] = NIT_NULL;
22434 fra.me.REG[3] = NIT_NULL;
22435 fra.me.REG[4] = NIT_NULL;
22436 fra.me.REG[5] = NIT_NULL;
22437 fra.me.REG[6] = NIT_NULL;
22438 fra.me.REG[7] = NIT_NULL;
22439 fra.me.REG[8] = NIT_NULL;
22440 fra.me.REG[9] = NIT_NULL;
22441 fra.me.REG[10] = NIT_NULL;
22442 fra.me.REG[11] = NIT_NULL;
22443 fra.me.REG[12] = NIT_NULL;
22444 fra.me.REG[13] = NIT_NULL;
22445 fra.me.REG[14] = NIT_NULL;
22446 fra.me.REG[15] = NIT_NULL;
22447 fra.me.REG[0] = p0;
22448 fra.me.REG[1] = p1;
22449 /* parser/parser.nit:7279 */
22450 fra.me.REG[2] = NIT_NULL;
22451 /* parser/parser.nit:7280 */
22452 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22453 /* parser/parser.nit:7281 */
22454 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22455 /* parser/parser.nit:7282 */
22456 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22457 /* parser/parser.nit:7283 */
22458 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22459 /* parser/parser.nit:7284 */
22460 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22461 /* parser/parser.nit:7285 */
22462 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22463 /* parser/parser.nit:7286 */
22464 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22465 /* parser/parser.nit:7287 */
22466 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22467 /* parser/parser.nit:7288 */
22468 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22469 /* parser/parser.nit:7289 */
22470 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22471 /* parser/parser.nit:7290 */
22472 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22473 /* parser/parser.nit:7291 */
22474 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
22475 /* parser/parser.nit:7292 */
22476 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
22477 /* parser/parser.nit:7293 */
22478 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
22479 /* parser/parser.nit:7295 */
22480 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*/;
22481 if (UNTAG_Bool(REGB0)) {
22482 } else {
22483 nit_abort("Assert failed", NULL, LOCATE_parser, 7295);
22484 }
22485 /* parser/parser.nit:7297 */
22486 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*/;
22487 if (UNTAG_Bool(REGB0)) {
22488 } else {
22489 nit_abort("Assert failed", NULL, LOCATE_parser, 7297);
22490 }
22491 /* parser/parser.nit:7299 */
22492 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*/;
22493 if (UNTAG_Bool(REGB0)) {
22494 } else {
22495 nit_abort("Assert failed", NULL, LOCATE_parser, 7299);
22496 }
22497 /* parser/parser.nit:7301 */
22498 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*/;
22499 if (UNTAG_Bool(REGB0)) {
22500 } else {
22501 nit_abort("Assert failed", NULL, LOCATE_parser, 7301);
22502 }
22503 /* parser/parser.nit:7302 */
22504 fra.me.REG[15] = NEW_Array_standard___collection___array___Array___init();
22505 /* parser/parser.nit:7304 */
22506 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]*/;
22507 if (UNTAG_Bool(REGB0)) {
22508 } else {
22509 nit_abort("Assert failed", NULL, LOCATE_parser, 7304);
22510 }
22511 /* parser/parser.nit:7305 */
22512 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[15], fra.me.REG[7]);
22513 fra.me.REG[15] = fra.me.REG[7];
22514 /* parser/parser.nit:7306 */
22515 fra.me.REG[15] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[15], NIT_NULL);
22516 /* parser/parser.nit:7313 */
22517 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*/;
22518 if (UNTAG_Bool(REGB0)) {
22519 } else {
22520 nit_abort("Assert failed", NULL, LOCATE_parser, 7313);
22521 }
22522 /* parser/parser.nit:7315 */
22523 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]*/;
22524 if (UNTAG_Bool(REGB0)) {
22525 } else {
22526 nit_abort("Assert failed", NULL, LOCATE_parser, 7315);
22527 }
22528 /* parser/parser.nit:7316 */
22529 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[5]);
22530 fra.me.REG[13] = fra.me.REG[5];
22531 /* parser/parser.nit:7318 */
22532 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]*/;
22533 if (UNTAG_Bool(REGB0)) {
22534 } else {
22535 nit_abort("Assert failed", NULL, LOCATE_parser, 7318);
22536 }
22537 /* parser/parser.nit:7319 */
22538 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
22539 fra.me.REG[14] = fra.me.REG[4];
22540 /* parser/parser.nit:7321 */
22541 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*/;
22542 if (UNTAG_Bool(REGB0)) {
22543 } else {
22544 nit_abort("Assert failed", NULL, LOCATE_parser, 7321);
22545 }
22546 /* parser/parser.nit:7322 */
22547 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[15], fra.me.REG[6], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
22548 /* parser/parser.nit:7335 */
22549 fra.me.REG[2] = fra.me.REG[3];
22550 /* parser/parser.nit:7336 */
22551 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22552 if (UNTAG_Bool(REGB0)) {
22553 } else {
22554 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7336);
22555 }
22556 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22557 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22558 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22559 stack_frame_head = fra.me.prev;
22560 return;
22561 }
22562 static const char LOCATE_parser___ReduceAction134___action[] = "parser::ReduceAction134::(parser::ReduceAction::action)";
22563 void parser___ReduceAction134___action(val_t p0, val_t p1){
22564 struct {struct stack_frame_t me; val_t MORE_REG[16];} fra;
22565 val_t REGB0;
22566 val_t tmp;
22567 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22568 fra.me.file = LOCATE_parser;
22569 fra.me.line = 7341;
22570 fra.me.meth = LOCATE_parser___ReduceAction134___action;
22571 fra.me.has_broke = 0;
22572 fra.me.REG_size = 17;
22573 fra.me.nitni_local_ref_head = NULL;
22574 fra.me.REG[0] = NIT_NULL;
22575 fra.me.REG[1] = NIT_NULL;
22576 fra.me.REG[2] = NIT_NULL;
22577 fra.me.REG[3] = NIT_NULL;
22578 fra.me.REG[4] = NIT_NULL;
22579 fra.me.REG[5] = NIT_NULL;
22580 fra.me.REG[6] = NIT_NULL;
22581 fra.me.REG[7] = NIT_NULL;
22582 fra.me.REG[8] = NIT_NULL;
22583 fra.me.REG[9] = NIT_NULL;
22584 fra.me.REG[10] = NIT_NULL;
22585 fra.me.REG[11] = NIT_NULL;
22586 fra.me.REG[12] = NIT_NULL;
22587 fra.me.REG[13] = NIT_NULL;
22588 fra.me.REG[14] = NIT_NULL;
22589 fra.me.REG[15] = NIT_NULL;
22590 fra.me.REG[16] = NIT_NULL;
22591 fra.me.REG[0] = p0;
22592 fra.me.REG[1] = p1;
22593 /* parser/parser.nit:7343 */
22594 fra.me.REG[2] = NIT_NULL;
22595 /* parser/parser.nit:7344 */
22596 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22597 /* parser/parser.nit:7345 */
22598 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22599 /* parser/parser.nit:7346 */
22600 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22601 /* parser/parser.nit:7347 */
22602 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22603 /* parser/parser.nit:7348 */
22604 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22605 /* parser/parser.nit:7349 */
22606 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22607 /* parser/parser.nit:7350 */
22608 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22609 /* parser/parser.nit:7351 */
22610 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22611 /* parser/parser.nit:7352 */
22612 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22613 /* parser/parser.nit:7353 */
22614 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22615 /* parser/parser.nit:7354 */
22616 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22617 /* parser/parser.nit:7355 */
22618 fra.me.REG[12] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22619 /* parser/parser.nit:7356 */
22620 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
22621 /* parser/parser.nit:7357 */
22622 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
22623 /* parser/parser.nit:7358 */
22624 fra.me.REG[15] = NEW_Array_standard___collection___array___Array___init();
22625 /* parser/parser.nit:7360 */
22626 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*/;
22627 if (UNTAG_Bool(REGB0)) {
22628 } else {
22629 nit_abort("Assert failed", NULL, LOCATE_parser, 7360);
22630 }
22631 /* parser/parser.nit:7362 */
22632 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*/;
22633 if (UNTAG_Bool(REGB0)) {
22634 } else {
22635 nit_abort("Assert failed", NULL, LOCATE_parser, 7362);
22636 }
22637 /* parser/parser.nit:7364 */
22638 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*/;
22639 if (UNTAG_Bool(REGB0)) {
22640 } else {
22641 nit_abort("Assert failed", NULL, LOCATE_parser, 7364);
22642 }
22643 /* parser/parser.nit:7366 */
22644 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*/;
22645 if (UNTAG_Bool(REGB0)) {
22646 } else {
22647 nit_abort("Assert failed", NULL, LOCATE_parser, 7366);
22648 }
22649 /* parser/parser.nit:7368 */
22650 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*/;
22651 if (UNTAG_Bool(REGB0)) {
22652 } else {
22653 nit_abort("Assert failed", NULL, LOCATE_parser, 7368);
22654 }
22655 /* parser/parser.nit:7369 */
22656 fra.me.REG[16] = NEW_Array_standard___collection___array___Array___init();
22657 /* parser/parser.nit:7371 */
22658 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]*/;
22659 if (UNTAG_Bool(REGB0)) {
22660 } else {
22661 nit_abort("Assert failed", NULL, LOCATE_parser, 7371);
22662 }
22663 /* parser/parser.nit:7372 */
22664 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[16], fra.me.REG[7]);
22665 fra.me.REG[16] = fra.me.REG[7];
22666 /* parser/parser.nit:7373 */
22667 fra.me.REG[16] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[16], NIT_NULL);
22668 /* parser/parser.nit:7380 */
22669 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*/;
22670 if (UNTAG_Bool(REGB0)) {
22671 } else {
22672 nit_abort("Assert failed", NULL, LOCATE_parser, 7380);
22673 }
22674 /* parser/parser.nit:7382 */
22675 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]*/;
22676 if (UNTAG_Bool(REGB0)) {
22677 } else {
22678 nit_abort("Assert failed", NULL, LOCATE_parser, 7382);
22679 }
22680 /* parser/parser.nit:7383 */
22681 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[5]);
22682 fra.me.REG[14] = fra.me.REG[5];
22683 /* parser/parser.nit:7385 */
22684 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]*/;
22685 if (UNTAG_Bool(REGB0)) {
22686 } else {
22687 nit_abort("Assert failed", NULL, LOCATE_parser, 7385);
22688 }
22689 /* parser/parser.nit:7386 */
22690 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[15], fra.me.REG[4]);
22691 fra.me.REG[15] = fra.me.REG[4];
22692 /* parser/parser.nit:7388 */
22693 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*/;
22694 if (UNTAG_Bool(REGB0)) {
22695 } else {
22696 nit_abort("Assert failed", NULL, LOCATE_parser, 7388);
22697 }
22698 /* parser/parser.nit:7389 */
22699 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[16], fra.me.REG[6], fra.me.REG[14], fra.me.REG[15], fra.me.REG[3]);
22700 /* parser/parser.nit:7402 */
22701 fra.me.REG[2] = fra.me.REG[3];
22702 /* parser/parser.nit:7403 */
22703 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22704 if (UNTAG_Bool(REGB0)) {
22705 } else {
22706 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7403);
22707 }
22708 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22709 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22710 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22711 stack_frame_head = fra.me.prev;
22712 return;
22713 }
22714 static const char LOCATE_parser___ReduceAction135___action[] = "parser::ReduceAction135::(parser::ReduceAction::action)";
22715 void parser___ReduceAction135___action(val_t p0, val_t p1){
22716 struct {struct stack_frame_t me; val_t MORE_REG[15];} fra;
22717 val_t REGB0;
22718 val_t tmp;
22719 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22720 fra.me.file = LOCATE_parser;
22721 fra.me.line = 7408;
22722 fra.me.meth = LOCATE_parser___ReduceAction135___action;
22723 fra.me.has_broke = 0;
22724 fra.me.REG_size = 16;
22725 fra.me.nitni_local_ref_head = NULL;
22726 fra.me.REG[0] = NIT_NULL;
22727 fra.me.REG[1] = NIT_NULL;
22728 fra.me.REG[2] = NIT_NULL;
22729 fra.me.REG[3] = NIT_NULL;
22730 fra.me.REG[4] = NIT_NULL;
22731 fra.me.REG[5] = NIT_NULL;
22732 fra.me.REG[6] = NIT_NULL;
22733 fra.me.REG[7] = NIT_NULL;
22734 fra.me.REG[8] = NIT_NULL;
22735 fra.me.REG[9] = NIT_NULL;
22736 fra.me.REG[10] = NIT_NULL;
22737 fra.me.REG[11] = NIT_NULL;
22738 fra.me.REG[12] = NIT_NULL;
22739 fra.me.REG[13] = NIT_NULL;
22740 fra.me.REG[14] = NIT_NULL;
22741 fra.me.REG[15] = NIT_NULL;
22742 fra.me.REG[0] = p0;
22743 fra.me.REG[1] = p1;
22744 /* parser/parser.nit:7410 */
22745 fra.me.REG[2] = NIT_NULL;
22746 /* parser/parser.nit:7411 */
22747 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22748 /* parser/parser.nit:7412 */
22749 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22750 /* parser/parser.nit:7413 */
22751 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22752 /* parser/parser.nit:7414 */
22753 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22754 /* parser/parser.nit:7415 */
22755 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22756 /* parser/parser.nit:7416 */
22757 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22758 /* parser/parser.nit:7417 */
22759 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22760 /* parser/parser.nit:7418 */
22761 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22762 /* parser/parser.nit:7419 */
22763 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22764 /* parser/parser.nit:7420 */
22765 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22766 /* parser/parser.nit:7421 */
22767 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22768 /* parser/parser.nit:7422 */
22769 fra.me.REG[12] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22770 /* parser/parser.nit:7423 */
22771 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
22772 /* parser/parser.nit:7424 */
22773 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
22774 /* parser/parser.nit:7425 */
22775 fra.me.REG[15] = NEW_Array_standard___collection___array___Array___init();
22776 /* parser/parser.nit:7427 */
22777 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*/;
22778 if (UNTAG_Bool(REGB0)) {
22779 } else {
22780 nit_abort("Assert failed", NULL, LOCATE_parser, 7427);
22781 }
22782 /* parser/parser.nit:7429 */
22783 REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
22784 if (UNTAG_Bool(REGB0)) {
22785 } else {
22786 nit_abort("Assert failed", NULL, LOCATE_parser, 7429);
22787 }
22788 /* parser/parser.nit:7431 */
22789 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
22790 if (UNTAG_Bool(REGB0)) {
22791 } else {
22792 nit_abort("Assert failed", NULL, LOCATE_parser, 7431);
22793 }
22794 /* parser/parser.nit:7433 */
22795 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
22796 if (UNTAG_Bool(REGB0)) {
22797 } else {
22798 nit_abort("Assert failed", NULL, LOCATE_parser, 7433);
22799 }
22800 /* parser/parser.nit:7435 */
22801 REGB0 = TAG_Bool((fra.me.REG[8]!=NIT_NULL) && VAL_ISA(fra.me.REG[8], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
22802 if (UNTAG_Bool(REGB0)) {
22803 } else {
22804 nit_abort("Assert failed", NULL, LOCATE_parser, 7435);
22805 }
22806 /* parser/parser.nit:7436 */
22807 fra.me.REG[8] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[8]);
22808 fra.me.REG[13] = fra.me.REG[8];
22809 /* parser/parser.nit:7437 */
22810 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
22811 /* parser/parser.nit:7439 */
22812 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]*/;
22813 if (UNTAG_Bool(REGB0)) {
22814 } else {
22815 nit_abort("Assert failed", NULL, LOCATE_parser, 7439);
22816 }
22817 /* parser/parser.nit:7440 */
22818 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[7]);
22819 fra.me.REG[8] = fra.me.REG[7];
22820 /* parser/parser.nit:7441 */
22821 fra.me.REG[8] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[8], NIT_NULL);
22822 /* parser/parser.nit:7448 */
22823 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*/;
22824 if (UNTAG_Bool(REGB0)) {
22825 } else {
22826 nit_abort("Assert failed", NULL, LOCATE_parser, 7448);
22827 }
22828 /* parser/parser.nit:7450 */
22829 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]*/;
22830 if (UNTAG_Bool(REGB0)) {
22831 } else {
22832 nit_abort("Assert failed", NULL, LOCATE_parser, 7450);
22833 }
22834 /* parser/parser.nit:7451 */
22835 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[5]);
22836 fra.me.REG[14] = fra.me.REG[5];
22837 /* parser/parser.nit:7453 */
22838 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]*/;
22839 if (UNTAG_Bool(REGB0)) {
22840 } else {
22841 nit_abort("Assert failed", NULL, LOCATE_parser, 7453);
22842 }
22843 /* parser/parser.nit:7454 */
22844 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[15], fra.me.REG[4]);
22845 fra.me.REG[15] = fra.me.REG[4];
22846 /* parser/parser.nit:7456 */
22847 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*/;
22848 if (UNTAG_Bool(REGB0)) {
22849 } else {
22850 nit_abort("Assert failed", NULL, LOCATE_parser, 7456);
22851 }
22852 /* parser/parser.nit:7457 */
22853 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[12], NIT_NULL, fra.me.REG[11], fra.me.REG[10], fra.me.REG[9], fra.me.REG[13], fra.me.REG[8], fra.me.REG[6], fra.me.REG[14], fra.me.REG[15], fra.me.REG[3]);
22854 /* parser/parser.nit:7470 */
22855 fra.me.REG[2] = fra.me.REG[3];
22856 /* parser/parser.nit:7471 */
22857 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22858 if (UNTAG_Bool(REGB0)) {
22859 } else {
22860 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7471);
22861 }
22862 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22863 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22864 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22865 stack_frame_head = fra.me.prev;
22866 return;
22867 }
22868 static const char LOCATE_parser___ReduceAction136___action[] = "parser::ReduceAction136::(parser::ReduceAction::action)";
22869 void parser___ReduceAction136___action(val_t p0, val_t p1){
22870 struct {struct stack_frame_t me; val_t MORE_REG[16];} fra;
22871 val_t REGB0;
22872 val_t tmp;
22873 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22874 fra.me.file = LOCATE_parser;
22875 fra.me.line = 7476;
22876 fra.me.meth = LOCATE_parser___ReduceAction136___action;
22877 fra.me.has_broke = 0;
22878 fra.me.REG_size = 17;
22879 fra.me.nitni_local_ref_head = NULL;
22880 fra.me.REG[0] = NIT_NULL;
22881 fra.me.REG[1] = NIT_NULL;
22882 fra.me.REG[2] = NIT_NULL;
22883 fra.me.REG[3] = NIT_NULL;
22884 fra.me.REG[4] = NIT_NULL;
22885 fra.me.REG[5] = NIT_NULL;
22886 fra.me.REG[6] = NIT_NULL;
22887 fra.me.REG[7] = NIT_NULL;
22888 fra.me.REG[8] = NIT_NULL;
22889 fra.me.REG[9] = NIT_NULL;
22890 fra.me.REG[10] = NIT_NULL;
22891 fra.me.REG[11] = NIT_NULL;
22892 fra.me.REG[12] = NIT_NULL;
22893 fra.me.REG[13] = NIT_NULL;
22894 fra.me.REG[14] = NIT_NULL;
22895 fra.me.REG[15] = NIT_NULL;
22896 fra.me.REG[16] = NIT_NULL;
22897 fra.me.REG[0] = p0;
22898 fra.me.REG[1] = p1;
22899 /* parser/parser.nit:7478 */
22900 fra.me.REG[2] = NIT_NULL;
22901 /* parser/parser.nit:7479 */
22902 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22903 /* parser/parser.nit:7480 */
22904 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22905 /* parser/parser.nit:7481 */
22906 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22907 /* parser/parser.nit:7482 */
22908 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22909 /* parser/parser.nit:7483 */
22910 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22911 /* parser/parser.nit:7484 */
22912 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22913 /* parser/parser.nit:7485 */
22914 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22915 /* parser/parser.nit:7486 */
22916 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22917 /* parser/parser.nit:7487 */
22918 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22919 /* parser/parser.nit:7488 */
22920 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22921 /* parser/parser.nit:7489 */
22922 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22923 /* parser/parser.nit:7490 */
22924 fra.me.REG[12] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22925 /* parser/parser.nit:7491 */
22926 fra.me.REG[13] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22927 /* parser/parser.nit:7492 */
22928 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
22929 /* parser/parser.nit:7493 */
22930 fra.me.REG[15] = NEW_Array_standard___collection___array___Array___init();
22931 /* parser/parser.nit:7494 */
22932 fra.me.REG[16] = NEW_Array_standard___collection___array___Array___init();
22933 /* parser/parser.nit:7496 */
22934 REGB0 = TAG_Bool((fra.me.REG[13]==NIT_NULL) || VAL_ISA(fra.me.REG[13], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
22935 if (UNTAG_Bool(REGB0)) {
22936 } else {
22937 nit_abort("Assert failed", NULL, LOCATE_parser, 7496);
22938 }
22939 /* parser/parser.nit:7498 */
22940 REGB0 = TAG_Bool((fra.me.REG[12]==NIT_NULL) || VAL_ISA(fra.me.REG[12], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
22941 if (UNTAG_Bool(REGB0)) {
22942 } else {
22943 nit_abort("Assert failed", NULL, LOCATE_parser, 7498);
22944 }
22945 /* parser/parser.nit:7500 */
22946 REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
22947 if (UNTAG_Bool(REGB0)) {
22948 } else {
22949 nit_abort("Assert failed", NULL, LOCATE_parser, 7500);
22950 }
22951 /* parser/parser.nit:7502 */
22952 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
22953 if (UNTAG_Bool(REGB0)) {
22954 } else {
22955 nit_abort("Assert failed", NULL, LOCATE_parser, 7502);
22956 }
22957 /* parser/parser.nit:7504 */
22958 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
22959 if (UNTAG_Bool(REGB0)) {
22960 } else {
22961 nit_abort("Assert failed", NULL, LOCATE_parser, 7504);
22962 }
22963 /* parser/parser.nit:7506 */
22964 REGB0 = TAG_Bool((fra.me.REG[8]!=NIT_NULL) && VAL_ISA(fra.me.REG[8], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
22965 if (UNTAG_Bool(REGB0)) {
22966 } else {
22967 nit_abort("Assert failed", NULL, LOCATE_parser, 7506);
22968 }
22969 /* parser/parser.nit:7507 */
22970 fra.me.REG[8] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[8]);
22971 fra.me.REG[14] = fra.me.REG[8];
22972 /* parser/parser.nit:7508 */
22973 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
22974 /* parser/parser.nit:7510 */
22975 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]*/;
22976 if (UNTAG_Bool(REGB0)) {
22977 } else {
22978 nit_abort("Assert failed", NULL, LOCATE_parser, 7510);
22979 }
22980 /* parser/parser.nit:7511 */
22981 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[7]);
22982 fra.me.REG[8] = fra.me.REG[7];
22983 /* parser/parser.nit:7512 */
22984 fra.me.REG[8] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[8], NIT_NULL);
22985 /* parser/parser.nit:7519 */
22986 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*/;
22987 if (UNTAG_Bool(REGB0)) {
22988 } else {
22989 nit_abort("Assert failed", NULL, LOCATE_parser, 7519);
22990 }
22991 /* parser/parser.nit:7521 */
22992 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]*/;
22993 if (UNTAG_Bool(REGB0)) {
22994 } else {
22995 nit_abort("Assert failed", NULL, LOCATE_parser, 7521);
22996 }
22997 /* parser/parser.nit:7522 */
22998 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[15], fra.me.REG[5]);
22999 fra.me.REG[15] = fra.me.REG[5];
23000 /* parser/parser.nit:7524 */
23001 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]*/;
23002 if (UNTAG_Bool(REGB0)) {
23003 } else {
23004 nit_abort("Assert failed", NULL, LOCATE_parser, 7524);
23005 }
23006 /* parser/parser.nit:7525 */
23007 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[16], fra.me.REG[4]);
23008 fra.me.REG[16] = fra.me.REG[4];
23009 /* parser/parser.nit:7527 */
23010 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*/;
23011 if (UNTAG_Bool(REGB0)) {
23012 } else {
23013 nit_abort("Assert failed", NULL, LOCATE_parser, 7527);
23014 }
23015 /* parser/parser.nit:7528 */
23016 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[13], fra.me.REG[12], fra.me.REG[11], fra.me.REG[10], fra.me.REG[9], fra.me.REG[14], fra.me.REG[8], fra.me.REG[6], fra.me.REG[15], fra.me.REG[16], fra.me.REG[3]);
23017 /* parser/parser.nit:7541 */
23018 fra.me.REG[2] = fra.me.REG[3];
23019 /* parser/parser.nit:7542 */
23020 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23021 if (UNTAG_Bool(REGB0)) {
23022 } else {
23023 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7542);
23024 }
23025 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23026 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23027 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23028 stack_frame_head = fra.me.prev;
23029 return;
23030 }
23031 static const char LOCATE_parser___ReduceAction137___action[] = "parser::ReduceAction137::(parser::ReduceAction::action)";
23032 void parser___ReduceAction137___action(val_t p0, val_t p1){
23033 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
23034 val_t REGB0;
23035 val_t tmp;
23036 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23037 fra.me.file = LOCATE_parser;
23038 fra.me.line = 7547;
23039 fra.me.meth = LOCATE_parser___ReduceAction137___action;
23040 fra.me.has_broke = 0;
23041 fra.me.REG_size = 4;
23042 fra.me.nitni_local_ref_head = NULL;
23043 fra.me.REG[0] = NIT_NULL;
23044 fra.me.REG[1] = NIT_NULL;
23045 fra.me.REG[2] = NIT_NULL;
23046 fra.me.REG[3] = NIT_NULL;
23047 fra.me.REG[0] = p0;
23048 fra.me.REG[1] = p1;
23049 /* parser/parser.nit:7549 */
23050 fra.me.REG[2] = NIT_NULL;
23051 /* parser/parser.nit:7550 */
23052 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23053 /* parser/parser.nit:7552 */
23054 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*/;
23055 if (UNTAG_Bool(REGB0)) {
23056 } else {
23057 nit_abort("Assert failed", NULL, LOCATE_parser, 7552);
23058 }
23059 /* parser/parser.nit:7553 */
23060 fra.me.REG[3] = NEW_AConcreteClasskind_parser___parser_prod___AConcreteClasskind___init_aconcreteclasskind(fra.me.REG[3]);
23061 /* parser/parser.nit:7556 */
23062 fra.me.REG[2] = fra.me.REG[3];
23063 /* parser/parser.nit:7557 */
23064 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23065 if (UNTAG_Bool(REGB0)) {
23066 } else {
23067 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7557);
23068 }
23069 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23070 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23071 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23072 stack_frame_head = fra.me.prev;
23073 return;
23074 }
23075 static const char LOCATE_parser___ReduceAction138___action[] = "parser::ReduceAction138::(parser::ReduceAction::action)";
23076 void parser___ReduceAction138___action(val_t p0, val_t p1){
23077 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
23078 val_t REGB0;
23079 val_t tmp;
23080 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23081 fra.me.file = LOCATE_parser;
23082 fra.me.line = 7562;
23083 fra.me.meth = LOCATE_parser___ReduceAction138___action;
23084 fra.me.has_broke = 0;
23085 fra.me.REG_size = 5;
23086 fra.me.nitni_local_ref_head = NULL;
23087 fra.me.REG[0] = NIT_NULL;
23088 fra.me.REG[1] = NIT_NULL;
23089 fra.me.REG[2] = NIT_NULL;
23090 fra.me.REG[3] = NIT_NULL;
23091 fra.me.REG[4] = NIT_NULL;
23092 fra.me.REG[0] = p0;
23093 fra.me.REG[1] = p1;
23094 /* parser/parser.nit:7564 */
23095 fra.me.REG[2] = NIT_NULL;
23096 /* parser/parser.nit:7565 */
23097 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23098 /* parser/parser.nit:7566 */
23099 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23100 /* parser/parser.nit:7568 */
23101 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*/;
23102 if (UNTAG_Bool(REGB0)) {
23103 } else {
23104 nit_abort("Assert failed", NULL, LOCATE_parser, 7568);
23105 }
23106 /* parser/parser.nit:7570 */
23107 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*/;
23108 if (UNTAG_Bool(REGB0)) {
23109 } else {
23110 nit_abort("Assert failed", NULL, LOCATE_parser, 7570);
23111 }
23112 /* parser/parser.nit:7571 */
23113 fra.me.REG[3] = NEW_AAbstractClasskind_parser___parser_prod___AAbstractClasskind___init_aabstractclasskind(fra.me.REG[4], fra.me.REG[3]);
23114 /* parser/parser.nit:7575 */
23115 fra.me.REG[2] = fra.me.REG[3];
23116 /* parser/parser.nit:7576 */
23117 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23118 if (UNTAG_Bool(REGB0)) {
23119 } else {
23120 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7576);
23121 }
23122 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23123 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23124 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23125 stack_frame_head = fra.me.prev;
23126 return;
23127 }
23128 static const char LOCATE_parser___ReduceAction139___action[] = "parser::ReduceAction139::(parser::ReduceAction::action)";
23129 void parser___ReduceAction139___action(val_t p0, val_t p1){
23130 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
23131 val_t REGB0;
23132 val_t tmp;
23133 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23134 fra.me.file = LOCATE_parser;
23135 fra.me.line = 7581;
23136 fra.me.meth = LOCATE_parser___ReduceAction139___action;
23137 fra.me.has_broke = 0;
23138 fra.me.REG_size = 4;
23139 fra.me.nitni_local_ref_head = NULL;
23140 fra.me.REG[0] = NIT_NULL;
23141 fra.me.REG[1] = NIT_NULL;
23142 fra.me.REG[2] = NIT_NULL;
23143 fra.me.REG[3] = NIT_NULL;
23144 fra.me.REG[0] = p0;
23145 fra.me.REG[1] = p1;
23146 /* parser/parser.nit:7583 */
23147 fra.me.REG[2] = NIT_NULL;
23148 /* parser/parser.nit:7584 */
23149 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23150 /* parser/parser.nit:7586 */
23151 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*/;
23152 if (UNTAG_Bool(REGB0)) {
23153 } else {
23154 nit_abort("Assert failed", NULL, LOCATE_parser, 7586);
23155 }
23156 /* parser/parser.nit:7587 */
23157 fra.me.REG[3] = NEW_AInterfaceClasskind_parser___parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(fra.me.REG[3]);
23158 /* parser/parser.nit:7590 */
23159 fra.me.REG[2] = fra.me.REG[3];
23160 /* parser/parser.nit:7591 */
23161 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23162 if (UNTAG_Bool(REGB0)) {
23163 } else {
23164 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7591);
23165 }
23166 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23167 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23168 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23169 stack_frame_head = fra.me.prev;
23170 return;
23171 }
23172 static const char LOCATE_parser___ReduceAction140___action[] = "parser::ReduceAction140::(parser::ReduceAction::action)";
23173 void parser___ReduceAction140___action(val_t p0, val_t p1){
23174 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
23175 val_t REGB0;
23176 val_t tmp;
23177 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23178 fra.me.file = LOCATE_parser;
23179 fra.me.line = 7596;
23180 fra.me.meth = LOCATE_parser___ReduceAction140___action;
23181 fra.me.has_broke = 0;
23182 fra.me.REG_size = 4;
23183 fra.me.nitni_local_ref_head = NULL;
23184 fra.me.REG[0] = NIT_NULL;
23185 fra.me.REG[1] = NIT_NULL;
23186 fra.me.REG[2] = NIT_NULL;
23187 fra.me.REG[3] = NIT_NULL;
23188 fra.me.REG[0] = p0;
23189 fra.me.REG[1] = p1;
23190 /* parser/parser.nit:7598 */
23191 fra.me.REG[2] = NIT_NULL;
23192 /* parser/parser.nit:7599 */
23193 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23194 /* parser/parser.nit:7601 */
23195 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*/;
23196 if (UNTAG_Bool(REGB0)) {
23197 } else {
23198 nit_abort("Assert failed", NULL, LOCATE_parser, 7601);
23199 }
23200 /* parser/parser.nit:7602 */
23201 fra.me.REG[3] = NEW_AEnumClasskind_parser___parser_prod___AEnumClasskind___init_aenumclasskind(fra.me.REG[3]);
23202 /* parser/parser.nit:7605 */
23203 fra.me.REG[2] = fra.me.REG[3];
23204 /* parser/parser.nit:7606 */
23205 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23206 if (UNTAG_Bool(REGB0)) {
23207 } else {
23208 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7606);
23209 }
23210 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23211 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23212 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23213 stack_frame_head = fra.me.prev;
23214 return;
23215 }
23216 static const char LOCATE_parser___ReduceAction141___action[] = "parser::ReduceAction141::(parser::ReduceAction::action)";
23217 void parser___ReduceAction141___action(val_t p0, val_t p1){
23218 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
23219 val_t REGB0;
23220 val_t tmp;
23221 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23222 fra.me.file = LOCATE_parser;
23223 fra.me.line = 7611;
23224 fra.me.meth = LOCATE_parser___ReduceAction141___action;
23225 fra.me.has_broke = 0;
23226 fra.me.REG_size = 4;
23227 fra.me.nitni_local_ref_head = NULL;
23228 fra.me.REG[0] = NIT_NULL;
23229 fra.me.REG[1] = NIT_NULL;
23230 fra.me.REG[2] = NIT_NULL;
23231 fra.me.REG[3] = NIT_NULL;
23232 fra.me.REG[0] = p0;
23233 fra.me.REG[1] = p1;
23234 /* parser/parser.nit:7613 */
23235 fra.me.REG[2] = NIT_NULL;
23236 /* parser/parser.nit:7614 */
23237 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23238 /* parser/parser.nit:7616 */
23239 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*/;
23240 if (UNTAG_Bool(REGB0)) {
23241 } else {
23242 nit_abort("Assert failed", NULL, LOCATE_parser, 7616);
23243 }
23244 /* parser/parser.nit:7617 */
23245 fra.me.REG[3] = NEW_AExternClasskind_parser___parser_prod___AExternClasskind___init_aexternclasskind(fra.me.REG[3], NIT_NULL);
23246 /* parser/parser.nit:7621 */
23247 fra.me.REG[2] = fra.me.REG[3];
23248 /* parser/parser.nit:7622 */
23249 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23250 if (UNTAG_Bool(REGB0)) {
23251 } else {
23252 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7622);
23253 }
23254 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23255 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23256 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23257 stack_frame_head = fra.me.prev;
23258 return;
23259 }
23260 static const char LOCATE_parser___ReduceAction142___action[] = "parser::ReduceAction142::(parser::ReduceAction::action)";
23261 void parser___ReduceAction142___action(val_t p0, val_t p1){
23262 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
23263 val_t REGB0;
23264 val_t tmp;
23265 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23266 fra.me.file = LOCATE_parser;
23267 fra.me.line = 7627;
23268 fra.me.meth = LOCATE_parser___ReduceAction142___action;
23269 fra.me.has_broke = 0;
23270 fra.me.REG_size = 5;
23271 fra.me.nitni_local_ref_head = NULL;
23272 fra.me.REG[0] = NIT_NULL;
23273 fra.me.REG[1] = NIT_NULL;
23274 fra.me.REG[2] = NIT_NULL;
23275 fra.me.REG[3] = NIT_NULL;
23276 fra.me.REG[4] = NIT_NULL;
23277 fra.me.REG[0] = p0;
23278 fra.me.REG[1] = p1;
23279 /* parser/parser.nit:7629 */
23280 fra.me.REG[2] = NIT_NULL;
23281 /* parser/parser.nit:7630 */
23282 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23283 /* parser/parser.nit:7631 */
23284 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23285 /* parser/parser.nit:7633 */
23286 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwextern, ID_parser___parser_nodes___TKwextern)) /*cast nullable TKwextern*/;
23287 if (UNTAG_Bool(REGB0)) {
23288 } else {
23289 nit_abort("Assert failed", NULL, LOCATE_parser, 7633);
23290 }
23291 /* parser/parser.nit:7635 */
23292 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*/;
23293 if (UNTAG_Bool(REGB0)) {
23294 } else {
23295 nit_abort("Assert failed", NULL, LOCATE_parser, 7635);
23296 }
23297 /* parser/parser.nit:7636 */
23298 fra.me.REG[3] = NEW_AExternClasskind_parser___parser_prod___AExternClasskind___init_aexternclasskind(fra.me.REG[4], fra.me.REG[3]);
23299 /* parser/parser.nit:7640 */
23300 fra.me.REG[2] = fra.me.REG[3];
23301 /* parser/parser.nit:7641 */
23302 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23303 if (UNTAG_Bool(REGB0)) {
23304 } else {
23305 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7641);
23306 }
23307 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23308 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23309 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23310 stack_frame_head = fra.me.prev;
23311 return;
23312 }
23313 static const char LOCATE_parser___ReduceAction143___action[] = "parser::ReduceAction143::(parser::ReduceAction::action)";
23314 void parser___ReduceAction143___action(val_t p0, val_t p1){
23315 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
23316 val_t REGB0;
23317 val_t REGB1;
23318 val_t tmp;
23319 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23320 fra.me.file = LOCATE_parser;
23321 fra.me.line = 7646;
23322 fra.me.meth = LOCATE_parser___ReduceAction143___action;
23323 fra.me.has_broke = 0;
23324 fra.me.REG_size = 5;
23325 fra.me.nitni_local_ref_head = NULL;
23326 fra.me.REG[0] = NIT_NULL;
23327 fra.me.REG[1] = NIT_NULL;
23328 fra.me.REG[2] = NIT_NULL;
23329 fra.me.REG[3] = NIT_NULL;
23330 fra.me.REG[4] = NIT_NULL;
23331 fra.me.REG[0] = p0;
23332 fra.me.REG[1] = p1;
23333 /* parser/parser.nit:7648 */
23334 fra.me.REG[2] = NIT_NULL;
23335 /* parser/parser.nit:7649 */
23336 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23337 /* parser/parser.nit:7650 */
23338 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23339 /* parser/parser.nit:7651 */
23340 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23341 /* parser/parser.nit:7652 */
23342 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23343 /* parser/parser.nit:7653 */
23344 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23345 /* parser/parser.nit:7654 */
23346 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
23347 /* parser/parser.nit:7656 */
23348 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
23349 if (UNTAG_Bool(REGB0)) {
23350 } else {
23351 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
23352 if (UNTAG_Bool(REGB1)) {
23353 REGB1 = TAG_Bool(0);
23354 REGB0 = REGB1;
23355 } else {
23356 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
23357 REGB0 = REGB1;
23358 }
23359 }
23360 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
23361 if (UNTAG_Bool(REGB0)) {
23362 /* parser/parser.nit:7657 */
23363 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
23364 }
23365 /* parser/parser.nit:7659 */
23366 fra.me.REG[2] = fra.me.REG[4];
23367 /* parser/parser.nit:7660 */
23368 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23369 if (UNTAG_Bool(REGB0)) {
23370 } else {
23371 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7660);
23372 }
23373 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23374 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23375 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23376 stack_frame_head = fra.me.prev;
23377 return;
23378 }
23379 static const char LOCATE_parser___ReduceAction144___action[] = "parser::ReduceAction144::(parser::ReduceAction::action)";
23380 void parser___ReduceAction144___action(val_t p0, val_t p1){
23381 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
23382 val_t REGB0;
23383 val_t REGB1;
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 = 7665;
23388 fra.me.meth = LOCATE_parser___ReduceAction144___action;
23389 fra.me.has_broke = 0;
23390 fra.me.REG_size = 6;
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[0] = p0;
23399 fra.me.REG[1] = p1;
23400 /* parser/parser.nit:7667 */
23401 fra.me.REG[2] = NIT_NULL;
23402 /* parser/parser.nit:7668 */
23403 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23404 /* parser/parser.nit:7669 */
23405 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23406 /* parser/parser.nit:7670 */
23407 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23408 /* parser/parser.nit:7671 */
23409 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23410 /* parser/parser.nit:7672 */
23411 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23412 /* parser/parser.nit:7673 */
23413 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23414 /* parser/parser.nit:7674 */
23415 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
23416 /* parser/parser.nit:7677 */
23417 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]*/;
23418 if (UNTAG_Bool(REGB0)) {
23419 } else {
23420 nit_abort("Assert failed", NULL, LOCATE_parser, 7677);
23421 }
23422 /* parser/parser.nit:7678 */
23423 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
23424 if (UNTAG_Bool(REGB0)) {
23425 } else {
23426 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
23427 if (UNTAG_Bool(REGB1)) {
23428 REGB1 = TAG_Bool(0);
23429 REGB0 = REGB1;
23430 } else {
23431 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
23432 REGB0 = REGB1;
23433 }
23434 }
23435 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
23436 if (UNTAG_Bool(REGB0)) {
23437 /* parser/parser.nit:7679 */
23438 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
23439 }
23440 /* parser/parser.nit:7681 */
23441 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
23442 fra.me.REG[5] = fra.me.REG[3];
23443 /* parser/parser.nit:7682 */
23444 fra.me.REG[2] = fra.me.REG[5];
23445 /* parser/parser.nit:7683 */
23446 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23447 if (UNTAG_Bool(REGB0)) {
23448 } else {
23449 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7683);
23450 }
23451 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23452 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23453 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23454 stack_frame_head = fra.me.prev;
23455 return;
23456 }
23457 static const char LOCATE_parser___ReduceAction145___action[] = "parser::ReduceAction145::(parser::ReduceAction::action)";
23458 void parser___ReduceAction145___action(val_t p0, val_t p1){
23459 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
23460 val_t REGB0;
23461 val_t tmp;
23462 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23463 fra.me.file = LOCATE_parser;
23464 fra.me.line = 7688;
23465 fra.me.meth = LOCATE_parser___ReduceAction145___action;
23466 fra.me.has_broke = 0;
23467 fra.me.REG_size = 5;
23468 fra.me.nitni_local_ref_head = NULL;
23469 fra.me.REG[0] = NIT_NULL;
23470 fra.me.REG[1] = NIT_NULL;
23471 fra.me.REG[2] = NIT_NULL;
23472 fra.me.REG[3] = NIT_NULL;
23473 fra.me.REG[4] = NIT_NULL;
23474 fra.me.REG[0] = p0;
23475 fra.me.REG[1] = p1;
23476 /* parser/parser.nit:7690 */
23477 fra.me.REG[2] = NIT_NULL;
23478 /* parser/parser.nit:7691 */
23479 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23480 /* parser/parser.nit:7692 */
23481 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23482 /* parser/parser.nit:7693 */
23483 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23484 /* parser/parser.nit:7695 */
23485 fra.me.REG[2] = fra.me.REG[3];
23486 /* parser/parser.nit:7696 */
23487 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23488 if (UNTAG_Bool(REGB0)) {
23489 } else {
23490 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7696);
23491 }
23492 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23493 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23494 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23495 stack_frame_head = fra.me.prev;
23496 return;
23497 }
23498 static const char LOCATE_parser___ReduceAction146___action[] = "parser::ReduceAction146::(parser::ReduceAction::action)";
23499 void parser___ReduceAction146___action(val_t p0, val_t p1){
23500 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
23501 val_t REGB0;
23502 val_t tmp;
23503 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23504 fra.me.file = LOCATE_parser;
23505 fra.me.line = 7701;
23506 fra.me.meth = LOCATE_parser___ReduceAction146___action;
23507 fra.me.has_broke = 0;
23508 fra.me.REG_size = 4;
23509 fra.me.nitni_local_ref_head = NULL;
23510 fra.me.REG[0] = NIT_NULL;
23511 fra.me.REG[1] = NIT_NULL;
23512 fra.me.REG[2] = NIT_NULL;
23513 fra.me.REG[3] = NIT_NULL;
23514 fra.me.REG[0] = p0;
23515 fra.me.REG[1] = p1;
23516 /* parser/parser.nit:7703 */
23517 fra.me.REG[2] = NIT_NULL;
23518 /* parser/parser.nit:7704 */
23519 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23520 /* parser/parser.nit:7706 */
23521 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*/;
23522 if (UNTAG_Bool(REGB0)) {
23523 } else {
23524 nit_abort("Assert failed", NULL, LOCATE_parser, 7706);
23525 }
23526 /* parser/parser.nit:7707 */
23527 fra.me.REG[3] = NEW_AFormaldef_parser___parser_prod___AFormaldef___init_aformaldef(fra.me.REG[3], NIT_NULL, NIT_NULL);
23528 /* parser/parser.nit:7712 */
23529 fra.me.REG[2] = fra.me.REG[3];
23530 /* parser/parser.nit:7713 */
23531 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23532 if (UNTAG_Bool(REGB0)) {
23533 } else {
23534 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7713);
23535 }
23536 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23537 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23538 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23539 stack_frame_head = fra.me.prev;
23540 return;
23541 }
23542 static const char LOCATE_parser___ReduceAction147___action[] = "parser::ReduceAction147::(parser::ReduceAction::action)";
23543 void parser___ReduceAction147___action(val_t p0, val_t p1){
23544 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
23545 val_t REGB0;
23546 val_t tmp;
23547 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23548 fra.me.file = LOCATE_parser;
23549 fra.me.line = 7718;
23550 fra.me.meth = LOCATE_parser___ReduceAction147___action;
23551 fra.me.has_broke = 0;
23552 fra.me.REG_size = 5;
23553 fra.me.nitni_local_ref_head = NULL;
23554 fra.me.REG[0] = NIT_NULL;
23555 fra.me.REG[1] = NIT_NULL;
23556 fra.me.REG[2] = NIT_NULL;
23557 fra.me.REG[3] = NIT_NULL;
23558 fra.me.REG[4] = NIT_NULL;
23559 fra.me.REG[0] = p0;
23560 fra.me.REG[1] = p1;
23561 /* parser/parser.nit:7720 */
23562 fra.me.REG[2] = NIT_NULL;
23563 /* parser/parser.nit:7721 */
23564 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23565 /* parser/parser.nit:7722 */
23566 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23567 /* parser/parser.nit:7724 */
23568 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*/;
23569 if (UNTAG_Bool(REGB0)) {
23570 } else {
23571 nit_abort("Assert failed", NULL, LOCATE_parser, 7724);
23572 }
23573 /* parser/parser.nit:7726 */
23574 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
23575 if (UNTAG_Bool(REGB0)) {
23576 } else {
23577 nit_abort("Assert failed", NULL, LOCATE_parser, 7726);
23578 }
23579 /* parser/parser.nit:7727 */
23580 fra.me.REG[3] = NEW_AFormaldef_parser___parser_prod___AFormaldef___init_aformaldef(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
23581 /* parser/parser.nit:7732 */
23582 fra.me.REG[2] = fra.me.REG[3];
23583 /* parser/parser.nit:7733 */
23584 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23585 if (UNTAG_Bool(REGB0)) {
23586 } else {
23587 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7733);
23588 }
23589 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23590 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23591 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23592 stack_frame_head = fra.me.prev;
23593 return;
23594 }
23595 static const char LOCATE_parser___ReduceAction148___action[] = "parser::ReduceAction148::(parser::ReduceAction::action)";
23596 void parser___ReduceAction148___action(val_t p0, val_t p1){
23597 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
23598 val_t REGB0;
23599 val_t tmp;
23600 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23601 fra.me.file = LOCATE_parser;
23602 fra.me.line = 7738;
23603 fra.me.meth = LOCATE_parser___ReduceAction148___action;
23604 fra.me.has_broke = 0;
23605 fra.me.REG_size = 5;
23606 fra.me.nitni_local_ref_head = NULL;
23607 fra.me.REG[0] = NIT_NULL;
23608 fra.me.REG[1] = NIT_NULL;
23609 fra.me.REG[2] = NIT_NULL;
23610 fra.me.REG[3] = NIT_NULL;
23611 fra.me.REG[4] = NIT_NULL;
23612 fra.me.REG[0] = p0;
23613 fra.me.REG[1] = p1;
23614 /* parser/parser.nit:7740 */
23615 fra.me.REG[2] = NIT_NULL;
23616 /* parser/parser.nit:7741 */
23617 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23618 /* parser/parser.nit:7742 */
23619 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23620 /* parser/parser.nit:7744 */
23621 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*/;
23622 if (UNTAG_Bool(REGB0)) {
23623 } else {
23624 nit_abort("Assert failed", NULL, LOCATE_parser, 7744);
23625 }
23626 /* parser/parser.nit:7746 */
23627 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*/;
23628 if (UNTAG_Bool(REGB0)) {
23629 } else {
23630 nit_abort("Assert failed", NULL, LOCATE_parser, 7746);
23631 }
23632 /* parser/parser.nit:7747 */
23633 fra.me.REG[3] = NEW_AFormaldef_parser___parser_prod___AFormaldef___init_aformaldef(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
23634 /* parser/parser.nit:7752 */
23635 fra.me.REG[2] = fra.me.REG[3];
23636 /* parser/parser.nit:7753 */
23637 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23638 if (UNTAG_Bool(REGB0)) {
23639 } else {
23640 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7753);
23641 }
23642 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23643 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23644 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23645 stack_frame_head = fra.me.prev;
23646 return;
23647 }
23648 static const char LOCATE_parser___ReduceAction149___action[] = "parser::ReduceAction149::(parser::ReduceAction::action)";
23649 void parser___ReduceAction149___action(val_t p0, val_t p1){
23650 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
23651 val_t REGB0;
23652 val_t tmp;
23653 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23654 fra.me.file = LOCATE_parser;
23655 fra.me.line = 7758;
23656 fra.me.meth = LOCATE_parser___ReduceAction149___action;
23657 fra.me.has_broke = 0;
23658 fra.me.REG_size = 6;
23659 fra.me.nitni_local_ref_head = NULL;
23660 fra.me.REG[0] = NIT_NULL;
23661 fra.me.REG[1] = NIT_NULL;
23662 fra.me.REG[2] = NIT_NULL;
23663 fra.me.REG[3] = NIT_NULL;
23664 fra.me.REG[4] = NIT_NULL;
23665 fra.me.REG[5] = NIT_NULL;
23666 fra.me.REG[0] = p0;
23667 fra.me.REG[1] = p1;
23668 /* parser/parser.nit:7760 */
23669 fra.me.REG[2] = NIT_NULL;
23670 /* parser/parser.nit:7761 */
23671 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23672 /* parser/parser.nit:7762 */
23673 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23674 /* parser/parser.nit:7763 */
23675 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23676 /* parser/parser.nit:7765 */
23677 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*/;
23678 if (UNTAG_Bool(REGB0)) {
23679 } else {
23680 nit_abort("Assert failed", NULL, LOCATE_parser, 7765);
23681 }
23682 /* parser/parser.nit:7767 */
23683 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*/;
23684 if (UNTAG_Bool(REGB0)) {
23685 } else {
23686 nit_abort("Assert failed", NULL, LOCATE_parser, 7767);
23687 }
23688 /* parser/parser.nit:7769 */
23689 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
23690 if (UNTAG_Bool(REGB0)) {
23691 } else {
23692 nit_abort("Assert failed", NULL, LOCATE_parser, 7769);
23693 }
23694 /* parser/parser.nit:7770 */
23695 fra.me.REG[4] = NEW_AFormaldef_parser___parser_prod___AFormaldef___init_aformaldef(fra.me.REG[5], fra.me.REG[3], fra.me.REG[4]);
23696 /* parser/parser.nit:7775 */
23697 fra.me.REG[2] = fra.me.REG[4];
23698 /* parser/parser.nit:7776 */
23699 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23700 if (UNTAG_Bool(REGB0)) {
23701 } else {
23702 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7776);
23703 }
23704 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23705 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23706 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23707 stack_frame_head = fra.me.prev;
23708 return;
23709 }
23710 static const char LOCATE_parser___ReduceAction150___action[] = "parser::ReduceAction150::(parser::ReduceAction::action)";
23711 void parser___ReduceAction150___action(val_t p0, val_t p1){
23712 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
23713 val_t REGB0;
23714 val_t tmp;
23715 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23716 fra.me.file = LOCATE_parser;
23717 fra.me.line = 7781;
23718 fra.me.meth = LOCATE_parser___ReduceAction150___action;
23719 fra.me.has_broke = 0;
23720 fra.me.REG_size = 6;
23721 fra.me.nitni_local_ref_head = NULL;
23722 fra.me.REG[0] = NIT_NULL;
23723 fra.me.REG[1] = NIT_NULL;
23724 fra.me.REG[2] = NIT_NULL;
23725 fra.me.REG[3] = NIT_NULL;
23726 fra.me.REG[4] = NIT_NULL;
23727 fra.me.REG[5] = NIT_NULL;
23728 fra.me.REG[0] = p0;
23729 fra.me.REG[1] = p1;
23730 /* parser/parser.nit:7783 */
23731 fra.me.REG[2] = NIT_NULL;
23732 /* parser/parser.nit:7784 */
23733 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23734 /* parser/parser.nit:7785 */
23735 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23736 /* parser/parser.nit:7786 */
23737 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23738 /* parser/parser.nit:7787 */
23739 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23740 /* parser/parser.nit:7789 */
23741 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*/;
23742 if (UNTAG_Bool(REGB0)) {
23743 } else {
23744 nit_abort("Assert failed", NULL, LOCATE_parser, 7789);
23745 }
23746 /* parser/parser.nit:7791 */
23747 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*/;
23748 if (UNTAG_Bool(REGB0)) {
23749 } else {
23750 nit_abort("Assert failed", NULL, LOCATE_parser, 7791);
23751 }
23752 /* parser/parser.nit:7792 */
23753 fra.me.REG[3] = NEW_ASuperclass_parser___parser_prod___ASuperclass___init_asuperclass(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
23754 /* parser/parser.nit:7797 */
23755 fra.me.REG[2] = fra.me.REG[3];
23756 /* parser/parser.nit:7798 */
23757 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23758 if (UNTAG_Bool(REGB0)) {
23759 } else {
23760 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7798);
23761 }
23762 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23763 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23764 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23765 stack_frame_head = fra.me.prev;
23766 return;
23767 }
23768 static const char LOCATE_parser___ReduceAction151___action[] = "parser::ReduceAction151::(parser::ReduceAction::action)";
23769 void parser___ReduceAction151___action(val_t p0, val_t p1){
23770 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
23771 val_t REGB0;
23772 val_t tmp;
23773 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23774 fra.me.file = LOCATE_parser;
23775 fra.me.line = 7803;
23776 fra.me.meth = LOCATE_parser___ReduceAction151___action;
23777 fra.me.has_broke = 0;
23778 fra.me.REG_size = 7;
23779 fra.me.nitni_local_ref_head = NULL;
23780 fra.me.REG[0] = NIT_NULL;
23781 fra.me.REG[1] = NIT_NULL;
23782 fra.me.REG[2] = NIT_NULL;
23783 fra.me.REG[3] = NIT_NULL;
23784 fra.me.REG[4] = NIT_NULL;
23785 fra.me.REG[5] = NIT_NULL;
23786 fra.me.REG[6] = NIT_NULL;
23787 fra.me.REG[0] = p0;
23788 fra.me.REG[1] = p1;
23789 /* parser/parser.nit:7805 */
23790 fra.me.REG[2] = NIT_NULL;
23791 /* parser/parser.nit:7806 */
23792 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23793 /* parser/parser.nit:7807 */
23794 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23795 /* parser/parser.nit:7808 */
23796 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23797 /* parser/parser.nit:7809 */
23798 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23799 /* parser/parser.nit:7810 */
23800 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23801 /* parser/parser.nit:7812 */
23802 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwsuper, ID_parser___parser_nodes___TKwsuper)) /*cast nullable TKwsuper*/;
23803 if (UNTAG_Bool(REGB0)) {
23804 } else {
23805 nit_abort("Assert failed", NULL, LOCATE_parser, 7812);
23806 }
23807 /* parser/parser.nit:7814 */
23808 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*/;
23809 if (UNTAG_Bool(REGB0)) {
23810 } else {
23811 nit_abort("Assert failed", NULL, LOCATE_parser, 7814);
23812 }
23813 /* parser/parser.nit:7816 */
23814 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
23815 if (UNTAG_Bool(REGB0)) {
23816 } else {
23817 nit_abort("Assert failed", NULL, LOCATE_parser, 7816);
23818 }
23819 /* parser/parser.nit:7817 */
23820 fra.me.REG[3] = NEW_ASuperclass_parser___parser_prod___ASuperclass___init_asuperclass(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
23821 /* parser/parser.nit:7822 */
23822 fra.me.REG[2] = fra.me.REG[3];
23823 /* parser/parser.nit:7823 */
23824 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23825 if (UNTAG_Bool(REGB0)) {
23826 } else {
23827 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7823);
23828 }
23829 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23830 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23831 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23832 stack_frame_head = fra.me.prev;
23833 return;
23834 }
23835 static const char LOCATE_parser___ReduceAction152___action[] = "parser::ReduceAction152::(parser::ReduceAction::action)";
23836 void parser___ReduceAction152___action(val_t p0, val_t p1){
23837 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
23838 val_t REGB0;
23839 val_t tmp;
23840 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23841 fra.me.file = LOCATE_parser;
23842 fra.me.line = 7828;
23843 fra.me.meth = LOCATE_parser___ReduceAction152___action;
23844 fra.me.has_broke = 0;
23845 fra.me.REG_size = 4;
23846 fra.me.nitni_local_ref_head = NULL;
23847 fra.me.REG[0] = NIT_NULL;
23848 fra.me.REG[1] = NIT_NULL;
23849 fra.me.REG[2] = NIT_NULL;
23850 fra.me.REG[3] = NIT_NULL;
23851 fra.me.REG[0] = p0;
23852 fra.me.REG[1] = p1;
23853 /* parser/parser.nit:7830 */
23854 fra.me.REG[2] = NIT_NULL;
23855 /* parser/parser.nit:7831 */
23856 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23857 /* parser/parser.nit:7832 */
23858 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23859 /* parser/parser.nit:7834 */
23860 fra.me.REG[2] = fra.me.REG[3];
23861 /* parser/parser.nit:7835 */
23862 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23863 if (UNTAG_Bool(REGB0)) {
23864 } else {
23865 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7835);
23866 }
23867 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23868 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23869 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23870 stack_frame_head = fra.me.prev;
23871 return;
23872 }
23873 static const char LOCATE_parser___ReduceAction153___action[] = "parser::ReduceAction153::(parser::ReduceAction::action)";
23874 void parser___ReduceAction153___action(val_t p0, val_t p1){
23875 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
23876 val_t REGB0;
23877 val_t tmp;
23878 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23879 fra.me.file = LOCATE_parser;
23880 fra.me.line = 7840;
23881 fra.me.meth = LOCATE_parser___ReduceAction153___action;
23882 fra.me.has_broke = 0;
23883 fra.me.REG_size = 9;
23884 fra.me.nitni_local_ref_head = NULL;
23885 fra.me.REG[0] = NIT_NULL;
23886 fra.me.REG[1] = NIT_NULL;
23887 fra.me.REG[2] = NIT_NULL;
23888 fra.me.REG[3] = NIT_NULL;
23889 fra.me.REG[4] = NIT_NULL;
23890 fra.me.REG[5] = NIT_NULL;
23891 fra.me.REG[6] = NIT_NULL;
23892 fra.me.REG[7] = NIT_NULL;
23893 fra.me.REG[8] = NIT_NULL;
23894 fra.me.REG[0] = p0;
23895 fra.me.REG[1] = p1;
23896 /* parser/parser.nit:7842 */
23897 fra.me.REG[2] = NIT_NULL;
23898 /* parser/parser.nit:7843 */
23899 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23900 /* parser/parser.nit:7844 */
23901 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23902 /* parser/parser.nit:7845 */
23903 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23904 /* parser/parser.nit:7846 */
23905 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23906 /* parser/parser.nit:7847 */
23907 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23908 /* parser/parser.nit:7848 */
23909 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23910 /* parser/parser.nit:7849 */
23911 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23912 /* parser/parser.nit:7851 */
23913 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*/;
23914 if (UNTAG_Bool(REGB0)) {
23915 } else {
23916 nit_abort("Assert failed", NULL, LOCATE_parser, 7851);
23917 }
23918 /* parser/parser.nit:7853 */
23919 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*/;
23920 if (UNTAG_Bool(REGB0)) {
23921 } else {
23922 nit_abort("Assert failed", NULL, LOCATE_parser, 7853);
23923 }
23924 /* parser/parser.nit:7855 */
23925 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*/;
23926 if (UNTAG_Bool(REGB0)) {
23927 } else {
23928 nit_abort("Assert failed", NULL, LOCATE_parser, 7855);
23929 }
23930 /* parser/parser.nit:7857 */
23931 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*/;
23932 if (UNTAG_Bool(REGB0)) {
23933 } else {
23934 nit_abort("Assert failed", NULL, LOCATE_parser, 7857);
23935 }
23936 /* parser/parser.nit:7859 */
23937 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*/;
23938 if (UNTAG_Bool(REGB0)) {
23939 } else {
23940 nit_abort("Assert failed", NULL, LOCATE_parser, 7859);
23941 }
23942 /* parser/parser.nit:7861 */
23943 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
23944 if (UNTAG_Bool(REGB0)) {
23945 } else {
23946 nit_abort("Assert failed", NULL, LOCATE_parser, 7861);
23947 }
23948 /* parser/parser.nit:7862 */
23949 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], NIT_NULL, fra.me.REG[3]);
23950 /* parser/parser.nit:7872 */
23951 fra.me.REG[2] = fra.me.REG[3];
23952 /* parser/parser.nit:7873 */
23953 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23954 if (UNTAG_Bool(REGB0)) {
23955 } else {
23956 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7873);
23957 }
23958 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23959 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23960 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23961 stack_frame_head = fra.me.prev;
23962 return;
23963 }
23964 static const char LOCATE_parser___ReduceAction154___action[] = "parser::ReduceAction154::(parser::ReduceAction::action)";
23965 void parser___ReduceAction154___action(val_t p0, val_t p1){
23966 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
23967 val_t REGB0;
23968 val_t tmp;
23969 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23970 fra.me.file = LOCATE_parser;
23971 fra.me.line = 7878;
23972 fra.me.meth = LOCATE_parser___ReduceAction154___action;
23973 fra.me.has_broke = 0;
23974 fra.me.REG_size = 10;
23975 fra.me.nitni_local_ref_head = NULL;
23976 fra.me.REG[0] = NIT_NULL;
23977 fra.me.REG[1] = NIT_NULL;
23978 fra.me.REG[2] = NIT_NULL;
23979 fra.me.REG[3] = NIT_NULL;
23980 fra.me.REG[4] = NIT_NULL;
23981 fra.me.REG[5] = NIT_NULL;
23982 fra.me.REG[6] = NIT_NULL;
23983 fra.me.REG[7] = NIT_NULL;
23984 fra.me.REG[8] = NIT_NULL;
23985 fra.me.REG[9] = NIT_NULL;
23986 fra.me.REG[0] = p0;
23987 fra.me.REG[1] = p1;
23988 /* parser/parser.nit:7880 */
23989 fra.me.REG[2] = NIT_NULL;
23990 /* parser/parser.nit:7881 */
23991 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23992 /* parser/parser.nit:7882 */
23993 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23994 /* parser/parser.nit:7883 */
23995 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23996 /* parser/parser.nit:7884 */
23997 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23998 /* parser/parser.nit:7885 */
23999 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24000 /* parser/parser.nit:7886 */
24001 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24002 /* parser/parser.nit:7887 */
24003 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24004 /* parser/parser.nit:7888 */
24005 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24006 /* parser/parser.nit:7890 */
24007 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*/;
24008 if (UNTAG_Bool(REGB0)) {
24009 } else {
24010 nit_abort("Assert failed", NULL, LOCATE_parser, 7890);
24011 }
24012 /* parser/parser.nit:7892 */
24013 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*/;
24014 if (UNTAG_Bool(REGB0)) {
24015 } else {
24016 nit_abort("Assert failed", NULL, LOCATE_parser, 7892);
24017 }
24018 /* parser/parser.nit:7894 */
24019 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*/;
24020 if (UNTAG_Bool(REGB0)) {
24021 } else {
24022 nit_abort("Assert failed", NULL, LOCATE_parser, 7894);
24023 }
24024 /* parser/parser.nit:7896 */
24025 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*/;
24026 if (UNTAG_Bool(REGB0)) {
24027 } else {
24028 nit_abort("Assert failed", NULL, LOCATE_parser, 7896);
24029 }
24030 /* parser/parser.nit:7898 */
24031 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*/;
24032 if (UNTAG_Bool(REGB0)) {
24033 } else {
24034 nit_abort("Assert failed", NULL, LOCATE_parser, 7898);
24035 }
24036 /* parser/parser.nit:7900 */
24037 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*/;
24038 if (UNTAG_Bool(REGB0)) {
24039 } else {
24040 nit_abort("Assert failed", NULL, LOCATE_parser, 7900);
24041 }
24042 /* parser/parser.nit:7902 */
24043 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24044 if (UNTAG_Bool(REGB0)) {
24045 } else {
24046 nit_abort("Assert failed", NULL, LOCATE_parser, 7902);
24047 }
24048 /* parser/parser.nit:7903 */
24049 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], NIT_NULL, fra.me.REG[3]);
24050 /* parser/parser.nit:7913 */
24051 fra.me.REG[2] = fra.me.REG[3];
24052 /* parser/parser.nit:7914 */
24053 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24054 if (UNTAG_Bool(REGB0)) {
24055 } else {
24056 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7914);
24057 }
24058 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24059 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24060 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24061 stack_frame_head = fra.me.prev;
24062 return;
24063 }
24064 static const char LOCATE_parser___ReduceAction155___action[] = "parser::ReduceAction155::(parser::ReduceAction::action)";
24065 void parser___ReduceAction155___action(val_t p0, val_t p1){
24066 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
24067 val_t REGB0;
24068 val_t tmp;
24069 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24070 fra.me.file = LOCATE_parser;
24071 fra.me.line = 7919;
24072 fra.me.meth = LOCATE_parser___ReduceAction155___action;
24073 fra.me.has_broke = 0;
24074 fra.me.REG_size = 10;
24075 fra.me.nitni_local_ref_head = NULL;
24076 fra.me.REG[0] = NIT_NULL;
24077 fra.me.REG[1] = NIT_NULL;
24078 fra.me.REG[2] = NIT_NULL;
24079 fra.me.REG[3] = NIT_NULL;
24080 fra.me.REG[4] = NIT_NULL;
24081 fra.me.REG[5] = NIT_NULL;
24082 fra.me.REG[6] = NIT_NULL;
24083 fra.me.REG[7] = NIT_NULL;
24084 fra.me.REG[8] = NIT_NULL;
24085 fra.me.REG[9] = NIT_NULL;
24086 fra.me.REG[0] = p0;
24087 fra.me.REG[1] = p1;
24088 /* parser/parser.nit:7921 */
24089 fra.me.REG[2] = NIT_NULL;
24090 /* parser/parser.nit:7922 */
24091 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24092 /* parser/parser.nit:7923 */
24093 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24094 /* parser/parser.nit:7924 */
24095 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24096 /* parser/parser.nit:7925 */
24097 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24098 /* parser/parser.nit:7926 */
24099 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24100 /* parser/parser.nit:7927 */
24101 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24102 /* parser/parser.nit:7928 */
24103 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24104 /* parser/parser.nit:7929 */
24105 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24106 /* parser/parser.nit:7931 */
24107 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*/;
24108 if (UNTAG_Bool(REGB0)) {
24109 } else {
24110 nit_abort("Assert failed", NULL, LOCATE_parser, 7931);
24111 }
24112 /* parser/parser.nit:7933 */
24113 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*/;
24114 if (UNTAG_Bool(REGB0)) {
24115 } else {
24116 nit_abort("Assert failed", NULL, LOCATE_parser, 7933);
24117 }
24118 /* parser/parser.nit:7935 */
24119 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*/;
24120 if (UNTAG_Bool(REGB0)) {
24121 } else {
24122 nit_abort("Assert failed", NULL, LOCATE_parser, 7935);
24123 }
24124 /* parser/parser.nit:7937 */
24125 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*/;
24126 if (UNTAG_Bool(REGB0)) {
24127 } else {
24128 nit_abort("Assert failed", NULL, LOCATE_parser, 7937);
24129 }
24130 /* parser/parser.nit:7939 */
24131 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*/;
24132 if (UNTAG_Bool(REGB0)) {
24133 } else {
24134 nit_abort("Assert failed", NULL, LOCATE_parser, 7939);
24135 }
24136 /* parser/parser.nit:7941 */
24137 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
24138 if (UNTAG_Bool(REGB0)) {
24139 } else {
24140 nit_abort("Assert failed", NULL, LOCATE_parser, 7941);
24141 }
24142 /* parser/parser.nit:7943 */
24143 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24144 if (UNTAG_Bool(REGB0)) {
24145 } else {
24146 nit_abort("Assert failed", NULL, LOCATE_parser, 7943);
24147 }
24148 /* parser/parser.nit:7944 */
24149 fra.me.REG[3] = NEW_AConcreteMethPropdef_parser___parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(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]);
24150 /* parser/parser.nit:7954 */
24151 fra.me.REG[2] = fra.me.REG[3];
24152 /* parser/parser.nit:7955 */
24153 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24154 if (UNTAG_Bool(REGB0)) {
24155 } else {
24156 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7955);
24157 }
24158 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24159 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24160 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24161 stack_frame_head = fra.me.prev;
24162 return;
24163 }
24164 static const char LOCATE_parser___ReduceAction156___action[] = "parser::ReduceAction156::(parser::ReduceAction::action)";
24165 void parser___ReduceAction156___action(val_t p0, val_t p1){
24166 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
24167 val_t REGB0;
24168 val_t tmp;
24169 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24170 fra.me.file = LOCATE_parser;
24171 fra.me.line = 7960;
24172 fra.me.meth = LOCATE_parser___ReduceAction156___action;
24173 fra.me.has_broke = 0;
24174 fra.me.REG_size = 11;
24175 fra.me.nitni_local_ref_head = NULL;
24176 fra.me.REG[0] = NIT_NULL;
24177 fra.me.REG[1] = NIT_NULL;
24178 fra.me.REG[2] = NIT_NULL;
24179 fra.me.REG[3] = NIT_NULL;
24180 fra.me.REG[4] = NIT_NULL;
24181 fra.me.REG[5] = NIT_NULL;
24182 fra.me.REG[6] = NIT_NULL;
24183 fra.me.REG[7] = NIT_NULL;
24184 fra.me.REG[8] = NIT_NULL;
24185 fra.me.REG[9] = NIT_NULL;
24186 fra.me.REG[10] = NIT_NULL;
24187 fra.me.REG[0] = p0;
24188 fra.me.REG[1] = p1;
24189 /* parser/parser.nit:7962 */
24190 fra.me.REG[2] = NIT_NULL;
24191 /* parser/parser.nit:7963 */
24192 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24193 /* parser/parser.nit:7964 */
24194 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24195 /* parser/parser.nit:7965 */
24196 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24197 /* parser/parser.nit:7966 */
24198 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24199 /* parser/parser.nit:7967 */
24200 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24201 /* parser/parser.nit:7968 */
24202 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24203 /* parser/parser.nit:7969 */
24204 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24205 /* parser/parser.nit:7970 */
24206 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24207 /* parser/parser.nit:7971 */
24208 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24209 /* parser/parser.nit:7973 */
24210 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*/;
24211 if (UNTAG_Bool(REGB0)) {
24212 } else {
24213 nit_abort("Assert failed", NULL, LOCATE_parser, 7973);
24214 }
24215 /* parser/parser.nit:7975 */
24216 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*/;
24217 if (UNTAG_Bool(REGB0)) {
24218 } else {
24219 nit_abort("Assert failed", NULL, LOCATE_parser, 7975);
24220 }
24221 /* parser/parser.nit:7977 */
24222 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*/;
24223 if (UNTAG_Bool(REGB0)) {
24224 } else {
24225 nit_abort("Assert failed", NULL, LOCATE_parser, 7977);
24226 }
24227 /* parser/parser.nit:7979 */
24228 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*/;
24229 if (UNTAG_Bool(REGB0)) {
24230 } else {
24231 nit_abort("Assert failed", NULL, LOCATE_parser, 7979);
24232 }
24233 /* parser/parser.nit:7981 */
24234 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*/;
24235 if (UNTAG_Bool(REGB0)) {
24236 } else {
24237 nit_abort("Assert failed", NULL, LOCATE_parser, 7981);
24238 }
24239 /* parser/parser.nit:7983 */
24240 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*/;
24241 if (UNTAG_Bool(REGB0)) {
24242 } else {
24243 nit_abort("Assert failed", NULL, LOCATE_parser, 7983);
24244 }
24245 /* parser/parser.nit:7985 */
24246 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
24247 if (UNTAG_Bool(REGB0)) {
24248 } else {
24249 nit_abort("Assert failed", NULL, LOCATE_parser, 7985);
24250 }
24251 /* parser/parser.nit:7987 */
24252 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24253 if (UNTAG_Bool(REGB0)) {
24254 } else {
24255 nit_abort("Assert failed", NULL, LOCATE_parser, 7987);
24256 }
24257 /* parser/parser.nit:7988 */
24258 fra.me.REG[3] = NEW_AConcreteMethPropdef_parser___parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(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]);
24259 /* parser/parser.nit:7998 */
24260 fra.me.REG[2] = fra.me.REG[3];
24261 /* parser/parser.nit:7999 */
24262 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24263 if (UNTAG_Bool(REGB0)) {
24264 } else {
24265 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7999);
24266 }
24267 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24268 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24269 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24270 stack_frame_head = fra.me.prev;
24271 return;
24272 }
24273 static const char LOCATE_parser___ReduceAction157___action[] = "parser::ReduceAction157::(parser::ReduceAction::action)";
24274 void parser___ReduceAction157___action(val_t p0, val_t p1){
24275 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
24276 val_t REGB0;
24277 val_t tmp;
24278 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24279 fra.me.file = LOCATE_parser;
24280 fra.me.line = 8004;
24281 fra.me.meth = LOCATE_parser___ReduceAction157___action;
24282 fra.me.has_broke = 0;
24283 fra.me.REG_size = 9;
24284 fra.me.nitni_local_ref_head = NULL;
24285 fra.me.REG[0] = NIT_NULL;
24286 fra.me.REG[1] = NIT_NULL;
24287 fra.me.REG[2] = NIT_NULL;
24288 fra.me.REG[3] = NIT_NULL;
24289 fra.me.REG[4] = NIT_NULL;
24290 fra.me.REG[5] = NIT_NULL;
24291 fra.me.REG[6] = NIT_NULL;
24292 fra.me.REG[7] = NIT_NULL;
24293 fra.me.REG[8] = NIT_NULL;
24294 fra.me.REG[0] = p0;
24295 fra.me.REG[1] = p1;
24296 /* parser/parser.nit:8006 */
24297 fra.me.REG[2] = NIT_NULL;
24298 /* parser/parser.nit:8007 */
24299 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24300 /* parser/parser.nit:8008 */
24301 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24302 /* parser/parser.nit:8009 */
24303 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24304 /* parser/parser.nit:8010 */
24305 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24306 /* parser/parser.nit:8011 */
24307 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24308 /* parser/parser.nit:8012 */
24309 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24310 /* parser/parser.nit:8013 */
24311 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24312 /* parser/parser.nit:8014 */
24313 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24314 /* parser/parser.nit:8016 */
24315 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*/;
24316 if (UNTAG_Bool(REGB0)) {
24317 } else {
24318 nit_abort("Assert failed", NULL, LOCATE_parser, 8016);
24319 }
24320 /* parser/parser.nit:8018 */
24321 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*/;
24322 if (UNTAG_Bool(REGB0)) {
24323 } else {
24324 nit_abort("Assert failed", NULL, LOCATE_parser, 8018);
24325 }
24326 /* parser/parser.nit:8020 */
24327 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*/;
24328 if (UNTAG_Bool(REGB0)) {
24329 } else {
24330 nit_abort("Assert failed", NULL, LOCATE_parser, 8020);
24331 }
24332 /* parser/parser.nit:8022 */
24333 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*/;
24334 if (UNTAG_Bool(REGB0)) {
24335 } else {
24336 nit_abort("Assert failed", NULL, LOCATE_parser, 8022);
24337 }
24338 /* parser/parser.nit:8024 */
24339 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*/;
24340 if (UNTAG_Bool(REGB0)) {
24341 } else {
24342 nit_abort("Assert failed", NULL, LOCATE_parser, 8024);
24343 }
24344 /* parser/parser.nit:8026 */
24345 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24346 if (UNTAG_Bool(REGB0)) {
24347 } else {
24348 nit_abort("Assert failed", NULL, LOCATE_parser, 8026);
24349 }
24350 /* parser/parser.nit:8027 */
24351 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], NIT_NULL, fra.me.REG[3]);
24352 /* parser/parser.nit:8037 */
24353 fra.me.REG[2] = fra.me.REG[3];
24354 /* parser/parser.nit:8038 */
24355 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24356 if (UNTAG_Bool(REGB0)) {
24357 } else {
24358 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8038);
24359 }
24360 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24361 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24362 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24363 stack_frame_head = fra.me.prev;
24364 return;
24365 }
24366 static const char LOCATE_parser___ReduceAction158___action[] = "parser::ReduceAction158::(parser::ReduceAction::action)";
24367 void parser___ReduceAction158___action(val_t p0, val_t p1){
24368 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
24369 val_t REGB0;
24370 val_t tmp;
24371 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24372 fra.me.file = LOCATE_parser;
24373 fra.me.line = 8043;
24374 fra.me.meth = LOCATE_parser___ReduceAction158___action;
24375 fra.me.has_broke = 0;
24376 fra.me.REG_size = 10;
24377 fra.me.nitni_local_ref_head = NULL;
24378 fra.me.REG[0] = NIT_NULL;
24379 fra.me.REG[1] = NIT_NULL;
24380 fra.me.REG[2] = NIT_NULL;
24381 fra.me.REG[3] = NIT_NULL;
24382 fra.me.REG[4] = NIT_NULL;
24383 fra.me.REG[5] = NIT_NULL;
24384 fra.me.REG[6] = NIT_NULL;
24385 fra.me.REG[7] = NIT_NULL;
24386 fra.me.REG[8] = NIT_NULL;
24387 fra.me.REG[9] = NIT_NULL;
24388 fra.me.REG[0] = p0;
24389 fra.me.REG[1] = p1;
24390 /* parser/parser.nit:8045 */
24391 fra.me.REG[2] = NIT_NULL;
24392 /* parser/parser.nit:8046 */
24393 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24394 /* parser/parser.nit:8047 */
24395 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24396 /* parser/parser.nit:8048 */
24397 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24398 /* parser/parser.nit:8049 */
24399 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24400 /* parser/parser.nit:8050 */
24401 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24402 /* parser/parser.nit:8051 */
24403 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24404 /* parser/parser.nit:8052 */
24405 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24406 /* parser/parser.nit:8053 */
24407 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24408 /* parser/parser.nit:8054 */
24409 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24410 /* parser/parser.nit:8056 */
24411 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*/;
24412 if (UNTAG_Bool(REGB0)) {
24413 } else {
24414 nit_abort("Assert failed", NULL, LOCATE_parser, 8056);
24415 }
24416 /* parser/parser.nit:8058 */
24417 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*/;
24418 if (UNTAG_Bool(REGB0)) {
24419 } else {
24420 nit_abort("Assert failed", NULL, LOCATE_parser, 8058);
24421 }
24422 /* parser/parser.nit:8060 */
24423 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*/;
24424 if (UNTAG_Bool(REGB0)) {
24425 } else {
24426 nit_abort("Assert failed", NULL, LOCATE_parser, 8060);
24427 }
24428 /* parser/parser.nit:8062 */
24429 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*/;
24430 if (UNTAG_Bool(REGB0)) {
24431 } else {
24432 nit_abort("Assert failed", NULL, LOCATE_parser, 8062);
24433 }
24434 /* parser/parser.nit:8064 */
24435 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*/;
24436 if (UNTAG_Bool(REGB0)) {
24437 } else {
24438 nit_abort("Assert failed", NULL, LOCATE_parser, 8064);
24439 }
24440 /* parser/parser.nit:8066 */
24441 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*/;
24442 if (UNTAG_Bool(REGB0)) {
24443 } else {
24444 nit_abort("Assert failed", NULL, LOCATE_parser, 8066);
24445 }
24446 /* parser/parser.nit:8068 */
24447 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24448 if (UNTAG_Bool(REGB0)) {
24449 } else {
24450 nit_abort("Assert failed", NULL, LOCATE_parser, 8068);
24451 }
24452 /* parser/parser.nit:8069 */
24453 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], NIT_NULL, fra.me.REG[3]);
24454 /* parser/parser.nit:8079 */
24455 fra.me.REG[2] = fra.me.REG[3];
24456 /* parser/parser.nit:8080 */
24457 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24458 if (UNTAG_Bool(REGB0)) {
24459 } else {
24460 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8080);
24461 }
24462 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24463 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24464 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24465 stack_frame_head = fra.me.prev;
24466 return;
24467 }
24468 static const char LOCATE_parser___ReduceAction159___action[] = "parser::ReduceAction159::(parser::ReduceAction::action)";
24469 void parser___ReduceAction159___action(val_t p0, val_t p1){
24470 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
24471 val_t REGB0;
24472 val_t tmp;
24473 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24474 fra.me.file = LOCATE_parser;
24475 fra.me.line = 8085;
24476 fra.me.meth = LOCATE_parser___ReduceAction159___action;
24477 fra.me.has_broke = 0;
24478 fra.me.REG_size = 10;
24479 fra.me.nitni_local_ref_head = NULL;
24480 fra.me.REG[0] = NIT_NULL;
24481 fra.me.REG[1] = NIT_NULL;
24482 fra.me.REG[2] = NIT_NULL;
24483 fra.me.REG[3] = NIT_NULL;
24484 fra.me.REG[4] = NIT_NULL;
24485 fra.me.REG[5] = NIT_NULL;
24486 fra.me.REG[6] = NIT_NULL;
24487 fra.me.REG[7] = NIT_NULL;
24488 fra.me.REG[8] = NIT_NULL;
24489 fra.me.REG[9] = NIT_NULL;
24490 fra.me.REG[0] = p0;
24491 fra.me.REG[1] = p1;
24492 /* parser/parser.nit:8087 */
24493 fra.me.REG[2] = NIT_NULL;
24494 /* parser/parser.nit:8088 */
24495 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24496 /* parser/parser.nit:8089 */
24497 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24498 /* parser/parser.nit:8090 */
24499 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24500 /* parser/parser.nit:8091 */
24501 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24502 /* parser/parser.nit:8092 */
24503 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24504 /* parser/parser.nit:8093 */
24505 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24506 /* parser/parser.nit:8094 */
24507 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24508 /* parser/parser.nit:8095 */
24509 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24510 /* parser/parser.nit:8096 */
24511 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24512 /* parser/parser.nit:8098 */
24513 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*/;
24514 if (UNTAG_Bool(REGB0)) {
24515 } else {
24516 nit_abort("Assert failed", NULL, LOCATE_parser, 8098);
24517 }
24518 /* parser/parser.nit:8100 */
24519 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*/;
24520 if (UNTAG_Bool(REGB0)) {
24521 } else {
24522 nit_abort("Assert failed", NULL, LOCATE_parser, 8100);
24523 }
24524 /* parser/parser.nit:8102 */
24525 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*/;
24526 if (UNTAG_Bool(REGB0)) {
24527 } else {
24528 nit_abort("Assert failed", NULL, LOCATE_parser, 8102);
24529 }
24530 /* parser/parser.nit:8104 */
24531 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*/;
24532 if (UNTAG_Bool(REGB0)) {
24533 } else {
24534 nit_abort("Assert failed", NULL, LOCATE_parser, 8104);
24535 }
24536 /* parser/parser.nit:8106 */
24537 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*/;
24538 if (UNTAG_Bool(REGB0)) {
24539 } else {
24540 nit_abort("Assert failed", NULL, LOCATE_parser, 8106);
24541 }
24542 /* parser/parser.nit:8108 */
24543 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
24544 if (UNTAG_Bool(REGB0)) {
24545 } else {
24546 nit_abort("Assert failed", NULL, LOCATE_parser, 8108);
24547 }
24548 /* parser/parser.nit:8110 */
24549 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24550 if (UNTAG_Bool(REGB0)) {
24551 } else {
24552 nit_abort("Assert failed", NULL, LOCATE_parser, 8110);
24553 }
24554 /* parser/parser.nit:8111 */
24555 fra.me.REG[3] = NEW_AConcreteMethPropdef_parser___parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(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]);
24556 /* parser/parser.nit:8121 */
24557 fra.me.REG[2] = fra.me.REG[3];
24558 /* parser/parser.nit:8122 */
24559 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24560 if (UNTAG_Bool(REGB0)) {
24561 } else {
24562 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8122);
24563 }
24564 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24565 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24566 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24567 stack_frame_head = fra.me.prev;
24568 return;
24569 }
24570 static const char LOCATE_parser___ReduceAction160___action[] = "parser::ReduceAction160::(parser::ReduceAction::action)";
24571 void parser___ReduceAction160___action(val_t p0, val_t p1){
24572 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
24573 val_t REGB0;
24574 val_t tmp;
24575 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24576 fra.me.file = LOCATE_parser;
24577 fra.me.line = 8127;
24578 fra.me.meth = LOCATE_parser___ReduceAction160___action;
24579 fra.me.has_broke = 0;
24580 fra.me.REG_size = 11;
24581 fra.me.nitni_local_ref_head = NULL;
24582 fra.me.REG[0] = NIT_NULL;
24583 fra.me.REG[1] = NIT_NULL;
24584 fra.me.REG[2] = NIT_NULL;
24585 fra.me.REG[3] = NIT_NULL;
24586 fra.me.REG[4] = NIT_NULL;
24587 fra.me.REG[5] = NIT_NULL;
24588 fra.me.REG[6] = NIT_NULL;
24589 fra.me.REG[7] = NIT_NULL;
24590 fra.me.REG[8] = NIT_NULL;
24591 fra.me.REG[9] = NIT_NULL;
24592 fra.me.REG[10] = NIT_NULL;
24593 fra.me.REG[0] = p0;
24594 fra.me.REG[1] = p1;
24595 /* parser/parser.nit:8129 */
24596 fra.me.REG[2] = NIT_NULL;
24597 /* parser/parser.nit:8130 */
24598 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24599 /* parser/parser.nit:8131 */
24600 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24601 /* parser/parser.nit:8132 */
24602 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24603 /* parser/parser.nit:8133 */
24604 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24605 /* parser/parser.nit:8134 */
24606 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24607 /* parser/parser.nit:8135 */
24608 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24609 /* parser/parser.nit:8136 */
24610 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24611 /* parser/parser.nit:8137 */
24612 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24613 /* parser/parser.nit:8138 */
24614 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24615 /* parser/parser.nit:8139 */
24616 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24617 /* parser/parser.nit:8141 */
24618 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*/;
24619 if (UNTAG_Bool(REGB0)) {
24620 } else {
24621 nit_abort("Assert failed", NULL, LOCATE_parser, 8141);
24622 }
24623 /* parser/parser.nit:8143 */
24624 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*/;
24625 if (UNTAG_Bool(REGB0)) {
24626 } else {
24627 nit_abort("Assert failed", NULL, LOCATE_parser, 8143);
24628 }
24629 /* parser/parser.nit:8145 */
24630 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*/;
24631 if (UNTAG_Bool(REGB0)) {
24632 } else {
24633 nit_abort("Assert failed", NULL, LOCATE_parser, 8145);
24634 }
24635 /* parser/parser.nit:8147 */
24636 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*/;
24637 if (UNTAG_Bool(REGB0)) {
24638 } else {
24639 nit_abort("Assert failed", NULL, LOCATE_parser, 8147);
24640 }
24641 /* parser/parser.nit:8149 */
24642 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*/;
24643 if (UNTAG_Bool(REGB0)) {
24644 } else {
24645 nit_abort("Assert failed", NULL, LOCATE_parser, 8149);
24646 }
24647 /* parser/parser.nit:8151 */
24648 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*/;
24649 if (UNTAG_Bool(REGB0)) {
24650 } else {
24651 nit_abort("Assert failed", NULL, LOCATE_parser, 8151);
24652 }
24653 /* parser/parser.nit:8153 */
24654 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
24655 if (UNTAG_Bool(REGB0)) {
24656 } else {
24657 nit_abort("Assert failed", NULL, LOCATE_parser, 8153);
24658 }
24659 /* parser/parser.nit:8155 */
24660 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24661 if (UNTAG_Bool(REGB0)) {
24662 } else {
24663 nit_abort("Assert failed", NULL, LOCATE_parser, 8155);
24664 }
24665 /* parser/parser.nit:8156 */
24666 fra.me.REG[3] = NEW_AConcreteMethPropdef_parser___parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(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]);
24667 /* parser/parser.nit:8166 */
24668 fra.me.REG[2] = fra.me.REG[3];
24669 /* parser/parser.nit:8167 */
24670 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24671 if (UNTAG_Bool(REGB0)) {
24672 } else {
24673 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8167);
24674 }
24675 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24676 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24677 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24678 stack_frame_head = fra.me.prev;
24679 return;
24680 }
24681 static const char LOCATE_parser___ReduceAction161___action[] = "parser::ReduceAction161::(parser::ReduceAction::action)";
24682 void parser___ReduceAction161___action(val_t p0, val_t p1){
24683 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
24684 val_t REGB0;
24685 val_t tmp;
24686 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24687 fra.me.file = LOCATE_parser;
24688 fra.me.line = 8172;
24689 fra.me.meth = LOCATE_parser___ReduceAction161___action;
24690 fra.me.has_broke = 0;
24691 fra.me.REG_size = 9;
24692 fra.me.nitni_local_ref_head = NULL;
24693 fra.me.REG[0] = NIT_NULL;
24694 fra.me.REG[1] = NIT_NULL;
24695 fra.me.REG[2] = NIT_NULL;
24696 fra.me.REG[3] = NIT_NULL;
24697 fra.me.REG[4] = NIT_NULL;
24698 fra.me.REG[5] = NIT_NULL;
24699 fra.me.REG[6] = NIT_NULL;
24700 fra.me.REG[7] = NIT_NULL;
24701 fra.me.REG[8] = NIT_NULL;
24702 fra.me.REG[0] = p0;
24703 fra.me.REG[1] = p1;
24704 /* parser/parser.nit:8174 */
24705 fra.me.REG[2] = NIT_NULL;
24706 /* parser/parser.nit:8175 */
24707 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24708 /* parser/parser.nit:8176 */
24709 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24710 /* parser/parser.nit:8177 */
24711 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24712 /* parser/parser.nit:8178 */
24713 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24714 /* parser/parser.nit:8179 */
24715 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24716 /* parser/parser.nit:8180 */
24717 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24718 /* parser/parser.nit:8181 */
24719 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24720 /* parser/parser.nit:8182 */
24721 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24722 /* parser/parser.nit:8184 */
24723 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*/;
24724 if (UNTAG_Bool(REGB0)) {
24725 } else {
24726 nit_abort("Assert failed", NULL, LOCATE_parser, 8184);
24727 }
24728 /* parser/parser.nit:8186 */
24729 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*/;
24730 if (UNTAG_Bool(REGB0)) {
24731 } else {
24732 nit_abort("Assert failed", NULL, LOCATE_parser, 8186);
24733 }
24734 /* parser/parser.nit:8188 */
24735 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*/;
24736 if (UNTAG_Bool(REGB0)) {
24737 } else {
24738 nit_abort("Assert failed", NULL, LOCATE_parser, 8188);
24739 }
24740 /* parser/parser.nit:8190 */
24741 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*/;
24742 if (UNTAG_Bool(REGB0)) {
24743 } else {
24744 nit_abort("Assert failed", NULL, LOCATE_parser, 8190);
24745 }
24746 /* parser/parser.nit:8192 */
24747 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*/;
24748 if (UNTAG_Bool(REGB0)) {
24749 } else {
24750 nit_abort("Assert failed", NULL, LOCATE_parser, 8192);
24751 }
24752 /* parser/parser.nit:8194 */
24753 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24754 if (UNTAG_Bool(REGB0)) {
24755 } else {
24756 nit_abort("Assert failed", NULL, LOCATE_parser, 8194);
24757 }
24758 /* parser/parser.nit:8195 */
24759 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], NIT_NULL, fra.me.REG[3]);
24760 /* parser/parser.nit:8205 */
24761 fra.me.REG[2] = fra.me.REG[3];
24762 /* parser/parser.nit:8206 */
24763 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24764 if (UNTAG_Bool(REGB0)) {
24765 } else {
24766 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8206);
24767 }
24768 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24769 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24770 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24771 stack_frame_head = fra.me.prev;
24772 return;
24773 }
24774 static const char LOCATE_parser___ReduceAction162___action[] = "parser::ReduceAction162::(parser::ReduceAction::action)";
24775 void parser___ReduceAction162___action(val_t p0, val_t p1){
24776 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
24777 val_t REGB0;
24778 val_t tmp;
24779 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24780 fra.me.file = LOCATE_parser;
24781 fra.me.line = 8211;
24782 fra.me.meth = LOCATE_parser___ReduceAction162___action;
24783 fra.me.has_broke = 0;
24784 fra.me.REG_size = 10;
24785 fra.me.nitni_local_ref_head = NULL;
24786 fra.me.REG[0] = NIT_NULL;
24787 fra.me.REG[1] = NIT_NULL;
24788 fra.me.REG[2] = NIT_NULL;
24789 fra.me.REG[3] = NIT_NULL;
24790 fra.me.REG[4] = NIT_NULL;
24791 fra.me.REG[5] = NIT_NULL;
24792 fra.me.REG[6] = NIT_NULL;
24793 fra.me.REG[7] = NIT_NULL;
24794 fra.me.REG[8] = NIT_NULL;
24795 fra.me.REG[9] = NIT_NULL;
24796 fra.me.REG[0] = p0;
24797 fra.me.REG[1] = p1;
24798 /* parser/parser.nit:8213 */
24799 fra.me.REG[2] = NIT_NULL;
24800 /* parser/parser.nit:8214 */
24801 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24802 /* parser/parser.nit:8215 */
24803 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24804 /* parser/parser.nit:8216 */
24805 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24806 /* parser/parser.nit:8217 */
24807 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24808 /* parser/parser.nit:8218 */
24809 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24810 /* parser/parser.nit:8219 */
24811 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24812 /* parser/parser.nit:8220 */
24813 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24814 /* parser/parser.nit:8221 */
24815 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24816 /* parser/parser.nit:8222 */
24817 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24818 /* parser/parser.nit:8224 */
24819 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*/;
24820 if (UNTAG_Bool(REGB0)) {
24821 } else {
24822 nit_abort("Assert failed", NULL, LOCATE_parser, 8224);
24823 }
24824 /* parser/parser.nit:8226 */
24825 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*/;
24826 if (UNTAG_Bool(REGB0)) {
24827 } else {
24828 nit_abort("Assert failed", NULL, LOCATE_parser, 8226);
24829 }
24830 /* parser/parser.nit:8228 */
24831 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*/;
24832 if (UNTAG_Bool(REGB0)) {
24833 } else {
24834 nit_abort("Assert failed", NULL, LOCATE_parser, 8228);
24835 }
24836 /* parser/parser.nit:8230 */
24837 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*/;
24838 if (UNTAG_Bool(REGB0)) {
24839 } else {
24840 nit_abort("Assert failed", NULL, LOCATE_parser, 8230);
24841 }
24842 /* parser/parser.nit:8232 */
24843 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*/;
24844 if (UNTAG_Bool(REGB0)) {
24845 } else {
24846 nit_abort("Assert failed", NULL, LOCATE_parser, 8232);
24847 }
24848 /* parser/parser.nit:8234 */
24849 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*/;
24850 if (UNTAG_Bool(REGB0)) {
24851 } else {
24852 nit_abort("Assert failed", NULL, LOCATE_parser, 8234);
24853 }
24854 /* parser/parser.nit:8236 */
24855 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24856 if (UNTAG_Bool(REGB0)) {
24857 } else {
24858 nit_abort("Assert failed", NULL, LOCATE_parser, 8236);
24859 }
24860 /* parser/parser.nit:8237 */
24861 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], NIT_NULL, fra.me.REG[3]);
24862 /* parser/parser.nit:8247 */
24863 fra.me.REG[2] = fra.me.REG[3];
24864 /* parser/parser.nit:8248 */
24865 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24866 if (UNTAG_Bool(REGB0)) {
24867 } else {
24868 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8248);
24869 }
24870 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24871 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24872 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24873 stack_frame_head = fra.me.prev;
24874 return;
24875 }
24876 static const char LOCATE_parser___ReduceAction163___action[] = "parser::ReduceAction163::(parser::ReduceAction::action)";
24877 void parser___ReduceAction163___action(val_t p0, val_t p1){
24878 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
24879 val_t REGB0;
24880 val_t tmp;
24881 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24882 fra.me.file = LOCATE_parser;
24883 fra.me.line = 8253;
24884 fra.me.meth = LOCATE_parser___ReduceAction163___action;
24885 fra.me.has_broke = 0;
24886 fra.me.REG_size = 9;
24887 fra.me.nitni_local_ref_head = NULL;
24888 fra.me.REG[0] = NIT_NULL;
24889 fra.me.REG[1] = NIT_NULL;
24890 fra.me.REG[2] = NIT_NULL;
24891 fra.me.REG[3] = NIT_NULL;
24892 fra.me.REG[4] = NIT_NULL;
24893 fra.me.REG[5] = NIT_NULL;
24894 fra.me.REG[6] = NIT_NULL;
24895 fra.me.REG[7] = NIT_NULL;
24896 fra.me.REG[8] = NIT_NULL;
24897 fra.me.REG[0] = p0;
24898 fra.me.REG[1] = p1;
24899 /* parser/parser.nit:8255 */
24900 fra.me.REG[2] = NIT_NULL;
24901 /* parser/parser.nit:8256 */
24902 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24903 /* parser/parser.nit:8257 */
24904 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24905 /* parser/parser.nit:8258 */
24906 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24907 /* parser/parser.nit:8259 */
24908 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24909 /* parser/parser.nit:8260 */
24910 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24911 /* parser/parser.nit:8261 */
24912 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24913 /* parser/parser.nit:8263 */
24914 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*/;
24915 if (UNTAG_Bool(REGB0)) {
24916 } else {
24917 nit_abort("Assert failed", NULL, LOCATE_parser, 8263);
24918 }
24919 /* parser/parser.nit:8265 */
24920 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*/;
24921 if (UNTAG_Bool(REGB0)) {
24922 } else {
24923 nit_abort("Assert failed", NULL, LOCATE_parser, 8265);
24924 }
24925 /* parser/parser.nit:8267 */
24926 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*/;
24927 if (UNTAG_Bool(REGB0)) {
24928 } else {
24929 nit_abort("Assert failed", NULL, LOCATE_parser, 8267);
24930 }
24931 /* parser/parser.nit:8269 */
24932 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*/;
24933 if (UNTAG_Bool(REGB0)) {
24934 } else {
24935 nit_abort("Assert failed", NULL, LOCATE_parser, 8269);
24936 }
24937 /* parser/parser.nit:8271 */
24938 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*/;
24939 if (UNTAG_Bool(REGB0)) {
24940 } else {
24941 nit_abort("Assert failed", NULL, LOCATE_parser, 8271);
24942 }
24943 /* parser/parser.nit:8273 */
24944 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
24945 if (UNTAG_Bool(REGB0)) {
24946 } else {
24947 nit_abort("Assert failed", NULL, LOCATE_parser, 8273);
24948 }
24949 /* parser/parser.nit:8274 */
24950 fra.me.REG[3] = NEW_ADeferredMethPropdef_parser___parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(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]);
24951 /* parser/parser.nit:8283 */
24952 fra.me.REG[2] = fra.me.REG[3];
24953 /* parser/parser.nit:8284 */
24954 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24955 if (UNTAG_Bool(REGB0)) {
24956 } else {
24957 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8284);
24958 }
24959 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24960 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24961 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24962 stack_frame_head = fra.me.prev;
24963 return;
24964 }
24965 static const char LOCATE_parser___ReduceAction164___action[] = "parser::ReduceAction164::(parser::ReduceAction::action)";
24966 void parser___ReduceAction164___action(val_t p0, val_t p1){
24967 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
24968 val_t REGB0;
24969 val_t tmp;
24970 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24971 fra.me.file = LOCATE_parser;
24972 fra.me.line = 8289;
24973 fra.me.meth = LOCATE_parser___ReduceAction164___action;
24974 fra.me.has_broke = 0;
24975 fra.me.REG_size = 10;
24976 fra.me.nitni_local_ref_head = NULL;
24977 fra.me.REG[0] = NIT_NULL;
24978 fra.me.REG[1] = NIT_NULL;
24979 fra.me.REG[2] = NIT_NULL;
24980 fra.me.REG[3] = NIT_NULL;
24981 fra.me.REG[4] = NIT_NULL;
24982 fra.me.REG[5] = NIT_NULL;
24983 fra.me.REG[6] = NIT_NULL;
24984 fra.me.REG[7] = NIT_NULL;
24985 fra.me.REG[8] = NIT_NULL;
24986 fra.me.REG[9] = NIT_NULL;
24987 fra.me.REG[0] = p0;
24988 fra.me.REG[1] = p1;
24989 /* parser/parser.nit:8291 */
24990 fra.me.REG[2] = NIT_NULL;
24991 /* parser/parser.nit:8292 */
24992 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24993 /* parser/parser.nit:8293 */
24994 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24995 /* parser/parser.nit:8294 */
24996 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24997 /* parser/parser.nit:8295 */
24998 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24999 /* parser/parser.nit:8296 */
25000 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25001 /* parser/parser.nit:8297 */
25002 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25003 /* parser/parser.nit:8298 */
25004 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25005 /* parser/parser.nit:8300 */
25006 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*/;
25007 if (UNTAG_Bool(REGB0)) {
25008 } else {
25009 nit_abort("Assert failed", NULL, LOCATE_parser, 8300);
25010 }
25011 /* parser/parser.nit:8302 */
25012 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*/;
25013 if (UNTAG_Bool(REGB0)) {
25014 } else {
25015 nit_abort("Assert failed", NULL, LOCATE_parser, 8302);
25016 }
25017 /* parser/parser.nit:8304 */
25018 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*/;
25019 if (UNTAG_Bool(REGB0)) {
25020 } else {
25021 nit_abort("Assert failed", NULL, LOCATE_parser, 8304);
25022 }
25023 /* parser/parser.nit:8306 */
25024 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*/;
25025 if (UNTAG_Bool(REGB0)) {
25026 } else {
25027 nit_abort("Assert failed", NULL, LOCATE_parser, 8306);
25028 }
25029 /* parser/parser.nit:8308 */
25030 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*/;
25031 if (UNTAG_Bool(REGB0)) {
25032 } else {
25033 nit_abort("Assert failed", NULL, LOCATE_parser, 8308);
25034 }
25035 /* parser/parser.nit:8310 */
25036 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*/;
25037 if (UNTAG_Bool(REGB0)) {
25038 } else {
25039 nit_abort("Assert failed", NULL, LOCATE_parser, 8310);
25040 }
25041 /* parser/parser.nit:8312 */
25042 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
25043 if (UNTAG_Bool(REGB0)) {
25044 } else {
25045 nit_abort("Assert failed", NULL, LOCATE_parser, 8312);
25046 }
25047 /* parser/parser.nit:8313 */
25048 fra.me.REG[3] = NEW_ADeferredMethPropdef_parser___parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(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]);
25049 /* parser/parser.nit:8322 */
25050 fra.me.REG[2] = fra.me.REG[3];
25051 /* parser/parser.nit:8323 */
25052 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25053 if (UNTAG_Bool(REGB0)) {
25054 } else {
25055 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8323);
25056 }
25057 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25058 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25059 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25060 stack_frame_head = fra.me.prev;
25061 return;
25062 }
25063 static const char LOCATE_parser___ReduceAction165___action[] = "parser::ReduceAction165::(parser::ReduceAction::action)";
25064 void parser___ReduceAction165___action(val_t p0, val_t p1){
25065 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
25066 val_t REGB0;
25067 val_t tmp;
25068 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25069 fra.me.file = LOCATE_parser;
25070 fra.me.line = 8328;
25071 fra.me.meth = LOCATE_parser___ReduceAction165___action;
25072 fra.me.has_broke = 0;
25073 fra.me.REG_size = 8;
25074 fra.me.nitni_local_ref_head = NULL;
25075 fra.me.REG[0] = NIT_NULL;
25076 fra.me.REG[1] = NIT_NULL;
25077 fra.me.REG[2] = NIT_NULL;
25078 fra.me.REG[3] = NIT_NULL;
25079 fra.me.REG[4] = NIT_NULL;
25080 fra.me.REG[5] = NIT_NULL;
25081 fra.me.REG[6] = NIT_NULL;
25082 fra.me.REG[7] = NIT_NULL;
25083 fra.me.REG[0] = p0;
25084 fra.me.REG[1] = p1;
25085 /* parser/parser.nit:8330 */
25086 fra.me.REG[2] = NIT_NULL;
25087 /* parser/parser.nit:8331 */
25088 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25089 /* parser/parser.nit:8332 */
25090 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25091 /* parser/parser.nit:8333 */
25092 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25093 /* parser/parser.nit:8334 */
25094 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25095 /* parser/parser.nit:8335 */
25096 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25097 /* parser/parser.nit:8336 */
25098 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25099 /* parser/parser.nit:8337 */
25100 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25101 /* parser/parser.nit:8339 */
25102 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*/;
25103 if (UNTAG_Bool(REGB0)) {
25104 } else {
25105 nit_abort("Assert failed", NULL, LOCATE_parser, 8339);
25106 }
25107 /* parser/parser.nit:8341 */
25108 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*/;
25109 if (UNTAG_Bool(REGB0)) {
25110 } else {
25111 nit_abort("Assert failed", NULL, LOCATE_parser, 8341);
25112 }
25113 /* parser/parser.nit:8343 */
25114 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*/;
25115 if (UNTAG_Bool(REGB0)) {
25116 } else {
25117 nit_abort("Assert failed", NULL, LOCATE_parser, 8343);
25118 }
25119 /* parser/parser.nit:8345 */
25120 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*/;
25121 if (UNTAG_Bool(REGB0)) {
25122 } else {
25123 nit_abort("Assert failed", NULL, LOCATE_parser, 8345);
25124 }
25125 /* parser/parser.nit:8347 */
25126 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*/;
25127 if (UNTAG_Bool(REGB0)) {
25128 } else {
25129 nit_abort("Assert failed", NULL, LOCATE_parser, 8347);
25130 }
25131 /* parser/parser.nit:8348 */
25132 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], NIT_NULL);
25133 /* parser/parser.nit:8357 */
25134 fra.me.REG[2] = fra.me.REG[3];
25135 /* parser/parser.nit:8358 */
25136 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25137 if (UNTAG_Bool(REGB0)) {
25138 } else {
25139 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8358);
25140 }
25141 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25142 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25143 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25144 stack_frame_head = fra.me.prev;
25145 return;
25146 }
25147 static const char LOCATE_parser___ReduceAction166___action[] = "parser::ReduceAction166::(parser::ReduceAction::action)";
25148 void parser___ReduceAction166___action(val_t p0, val_t p1){
25149 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25150 val_t REGB0;
25151 val_t tmp;
25152 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25153 fra.me.file = LOCATE_parser;
25154 fra.me.line = 8363;
25155 fra.me.meth = LOCATE_parser___ReduceAction166___action;
25156 fra.me.has_broke = 0;
25157 fra.me.REG_size = 9;
25158 fra.me.nitni_local_ref_head = NULL;
25159 fra.me.REG[0] = NIT_NULL;
25160 fra.me.REG[1] = NIT_NULL;
25161 fra.me.REG[2] = NIT_NULL;
25162 fra.me.REG[3] = NIT_NULL;
25163 fra.me.REG[4] = NIT_NULL;
25164 fra.me.REG[5] = NIT_NULL;
25165 fra.me.REG[6] = NIT_NULL;
25166 fra.me.REG[7] = NIT_NULL;
25167 fra.me.REG[8] = NIT_NULL;
25168 fra.me.REG[0] = p0;
25169 fra.me.REG[1] = p1;
25170 /* parser/parser.nit:8365 */
25171 fra.me.REG[2] = NIT_NULL;
25172 /* parser/parser.nit:8366 */
25173 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25174 /* parser/parser.nit:8367 */
25175 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25176 /* parser/parser.nit:8368 */
25177 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25178 /* parser/parser.nit:8369 */
25179 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25180 /* parser/parser.nit:8370 */
25181 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25182 /* parser/parser.nit:8371 */
25183 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25184 /* parser/parser.nit:8372 */
25185 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25186 /* parser/parser.nit:8373 */
25187 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25188 /* parser/parser.nit:8375 */
25189 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*/;
25190 if (UNTAG_Bool(REGB0)) {
25191 } else {
25192 nit_abort("Assert failed", NULL, LOCATE_parser, 8375);
25193 }
25194 /* parser/parser.nit:8377 */
25195 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*/;
25196 if (UNTAG_Bool(REGB0)) {
25197 } else {
25198 nit_abort("Assert failed", NULL, LOCATE_parser, 8377);
25199 }
25200 /* parser/parser.nit:8379 */
25201 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*/;
25202 if (UNTAG_Bool(REGB0)) {
25203 } else {
25204 nit_abort("Assert failed", NULL, LOCATE_parser, 8379);
25205 }
25206 /* parser/parser.nit:8381 */
25207 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*/;
25208 if (UNTAG_Bool(REGB0)) {
25209 } else {
25210 nit_abort("Assert failed", NULL, LOCATE_parser, 8381);
25211 }
25212 /* parser/parser.nit:8383 */
25213 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*/;
25214 if (UNTAG_Bool(REGB0)) {
25215 } else {
25216 nit_abort("Assert failed", NULL, LOCATE_parser, 8383);
25217 }
25218 /* parser/parser.nit:8385 */
25219 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*/;
25220 if (UNTAG_Bool(REGB0)) {
25221 } else {
25222 nit_abort("Assert failed", NULL, LOCATE_parser, 8385);
25223 }
25224 /* parser/parser.nit:8386 */
25225 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], NIT_NULL);
25226 /* parser/parser.nit:8395 */
25227 fra.me.REG[2] = fra.me.REG[3];
25228 /* parser/parser.nit:8396 */
25229 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25230 if (UNTAG_Bool(REGB0)) {
25231 } else {
25232 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8396);
25233 }
25234 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25235 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25236 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25237 stack_frame_head = fra.me.prev;
25238 return;
25239 }
25240 static const char LOCATE_parser___ReduceAction167___action[] = "parser::ReduceAction167::(parser::ReduceAction::action)";
25241 void parser___ReduceAction167___action(val_t p0, val_t p1){
25242 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
25243 val_t REGB0;
25244 val_t tmp;
25245 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25246 fra.me.file = LOCATE_parser;
25247 fra.me.line = 8401;
25248 fra.me.meth = LOCATE_parser___ReduceAction167___action;
25249 fra.me.has_broke = 0;
25250 fra.me.REG_size = 8;
25251 fra.me.nitni_local_ref_head = NULL;
25252 fra.me.REG[0] = NIT_NULL;
25253 fra.me.REG[1] = NIT_NULL;
25254 fra.me.REG[2] = NIT_NULL;
25255 fra.me.REG[3] = NIT_NULL;
25256 fra.me.REG[4] = NIT_NULL;
25257 fra.me.REG[5] = NIT_NULL;
25258 fra.me.REG[6] = NIT_NULL;
25259 fra.me.REG[7] = NIT_NULL;
25260 fra.me.REG[0] = p0;
25261 fra.me.REG[1] = p1;
25262 /* parser/parser.nit:8403 */
25263 fra.me.REG[2] = NIT_NULL;
25264 /* parser/parser.nit:8404 */
25265 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25266 /* parser/parser.nit:8405 */
25267 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25268 /* parser/parser.nit:8406 */
25269 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25270 /* parser/parser.nit:8407 */
25271 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25272 /* parser/parser.nit:8408 */
25273 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25274 /* parser/parser.nit:8409 */
25275 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25276 /* parser/parser.nit:8410 */
25277 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25278 /* parser/parser.nit:8412 */
25279 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*/;
25280 if (UNTAG_Bool(REGB0)) {
25281 } else {
25282 nit_abort("Assert failed", NULL, LOCATE_parser, 8412);
25283 }
25284 /* parser/parser.nit:8414 */
25285 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*/;
25286 if (UNTAG_Bool(REGB0)) {
25287 } else {
25288 nit_abort("Assert failed", NULL, LOCATE_parser, 8414);
25289 }
25290 /* parser/parser.nit:8416 */
25291 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*/;
25292 if (UNTAG_Bool(REGB0)) {
25293 } else {
25294 nit_abort("Assert failed", NULL, LOCATE_parser, 8416);
25295 }
25296 /* parser/parser.nit:8418 */
25297 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*/;
25298 if (UNTAG_Bool(REGB0)) {
25299 } else {
25300 nit_abort("Assert failed", NULL, LOCATE_parser, 8418);
25301 }
25302 /* parser/parser.nit:8420 */
25303 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*/;
25304 if (UNTAG_Bool(REGB0)) {
25305 } else {
25306 nit_abort("Assert failed", NULL, LOCATE_parser, 8420);
25307 }
25308 /* parser/parser.nit:8421 */
25309 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]);
25310 /* parser/parser.nit:8429 */
25311 fra.me.REG[2] = fra.me.REG[3];
25312 /* parser/parser.nit:8430 */
25313 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25314 if (UNTAG_Bool(REGB0)) {
25315 } else {
25316 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8430);
25317 }
25318 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25319 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25320 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25321 stack_frame_head = fra.me.prev;
25322 return;
25323 }
25324 static const char LOCATE_parser___ReduceAction168___action[] = "parser::ReduceAction168::(parser::ReduceAction::action)";
25325 void parser___ReduceAction168___action(val_t p0, val_t p1){
25326 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25327 val_t REGB0;
25328 val_t tmp;
25329 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25330 fra.me.file = LOCATE_parser;
25331 fra.me.line = 8435;
25332 fra.me.meth = LOCATE_parser___ReduceAction168___action;
25333 fra.me.has_broke = 0;
25334 fra.me.REG_size = 9;
25335 fra.me.nitni_local_ref_head = NULL;
25336 fra.me.REG[0] = NIT_NULL;
25337 fra.me.REG[1] = NIT_NULL;
25338 fra.me.REG[2] = NIT_NULL;
25339 fra.me.REG[3] = NIT_NULL;
25340 fra.me.REG[4] = NIT_NULL;
25341 fra.me.REG[5] = NIT_NULL;
25342 fra.me.REG[6] = NIT_NULL;
25343 fra.me.REG[7] = NIT_NULL;
25344 fra.me.REG[8] = NIT_NULL;
25345 fra.me.REG[0] = p0;
25346 fra.me.REG[1] = p1;
25347 /* parser/parser.nit:8437 */
25348 fra.me.REG[2] = NIT_NULL;
25349 /* parser/parser.nit:8438 */
25350 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25351 /* parser/parser.nit:8439 */
25352 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25353 /* parser/parser.nit:8440 */
25354 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25355 /* parser/parser.nit:8441 */
25356 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25357 /* parser/parser.nit:8442 */
25358 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25359 /* parser/parser.nit:8443 */
25360 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25361 /* parser/parser.nit:8444 */
25362 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25363 /* parser/parser.nit:8445 */
25364 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25365 /* parser/parser.nit:8447 */
25366 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*/;
25367 if (UNTAG_Bool(REGB0)) {
25368 } else {
25369 nit_abort("Assert failed", NULL, LOCATE_parser, 8447);
25370 }
25371 /* parser/parser.nit:8449 */
25372 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*/;
25373 if (UNTAG_Bool(REGB0)) {
25374 } else {
25375 nit_abort("Assert failed", NULL, LOCATE_parser, 8449);
25376 }
25377 /* parser/parser.nit:8451 */
25378 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*/;
25379 if (UNTAG_Bool(REGB0)) {
25380 } else {
25381 nit_abort("Assert failed", NULL, LOCATE_parser, 8451);
25382 }
25383 /* parser/parser.nit:8453 */
25384 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*/;
25385 if (UNTAG_Bool(REGB0)) {
25386 } else {
25387 nit_abort("Assert failed", NULL, LOCATE_parser, 8453);
25388 }
25389 /* parser/parser.nit:8455 */
25390 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*/;
25391 if (UNTAG_Bool(REGB0)) {
25392 } else {
25393 nit_abort("Assert failed", NULL, LOCATE_parser, 8455);
25394 }
25395 /* parser/parser.nit:8457 */
25396 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*/;
25397 if (UNTAG_Bool(REGB0)) {
25398 } else {
25399 nit_abort("Assert failed", NULL, LOCATE_parser, 8457);
25400 }
25401 /* parser/parser.nit:8458 */
25402 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]);
25403 /* parser/parser.nit:8466 */
25404 fra.me.REG[2] = fra.me.REG[3];
25405 /* parser/parser.nit:8467 */
25406 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25407 if (UNTAG_Bool(REGB0)) {
25408 } else {
25409 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8467);
25410 }
25411 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25412 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25413 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25414 stack_frame_head = fra.me.prev;
25415 return;
25416 }
25417 static const char LOCATE_parser___ReduceAction169___action[] = "parser::ReduceAction169::(parser::ReduceAction::action)";
25418 void parser___ReduceAction169___action(val_t p0, val_t p1){
25419 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
25420 val_t REGB0;
25421 val_t tmp;
25422 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25423 fra.me.file = LOCATE_parser;
25424 fra.me.line = 8472;
25425 fra.me.meth = LOCATE_parser___ReduceAction169___action;
25426 fra.me.has_broke = 0;
25427 fra.me.REG_size = 8;
25428 fra.me.nitni_local_ref_head = NULL;
25429 fra.me.REG[0] = NIT_NULL;
25430 fra.me.REG[1] = NIT_NULL;
25431 fra.me.REG[2] = NIT_NULL;
25432 fra.me.REG[3] = NIT_NULL;
25433 fra.me.REG[4] = NIT_NULL;
25434 fra.me.REG[5] = NIT_NULL;
25435 fra.me.REG[6] = NIT_NULL;
25436 fra.me.REG[7] = NIT_NULL;
25437 fra.me.REG[0] = p0;
25438 fra.me.REG[1] = p1;
25439 /* parser/parser.nit:8474 */
25440 fra.me.REG[2] = NIT_NULL;
25441 /* parser/parser.nit:8475 */
25442 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25443 /* parser/parser.nit:8476 */
25444 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25445 /* parser/parser.nit:8477 */
25446 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25447 /* parser/parser.nit:8478 */
25448 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25449 /* parser/parser.nit:8479 */
25450 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25451 /* parser/parser.nit:8480 */
25452 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25453 /* parser/parser.nit:8481 */
25454 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25455 /* parser/parser.nit:8483 */
25456 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*/;
25457 if (UNTAG_Bool(REGB0)) {
25458 } else {
25459 nit_abort("Assert failed", NULL, LOCATE_parser, 8483);
25460 }
25461 /* parser/parser.nit:8485 */
25462 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*/;
25463 if (UNTAG_Bool(REGB0)) {
25464 } else {
25465 nit_abort("Assert failed", NULL, LOCATE_parser, 8485);
25466 }
25467 /* parser/parser.nit:8487 */
25468 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*/;
25469 if (UNTAG_Bool(REGB0)) {
25470 } else {
25471 nit_abort("Assert failed", NULL, LOCATE_parser, 8487);
25472 }
25473 /* parser/parser.nit:8489 */
25474 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*/;
25475 if (UNTAG_Bool(REGB0)) {
25476 } else {
25477 nit_abort("Assert failed", NULL, LOCATE_parser, 8489);
25478 }
25479 /* parser/parser.nit:8491 */
25480 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*/;
25481 if (UNTAG_Bool(REGB0)) {
25482 } else {
25483 nit_abort("Assert failed", NULL, LOCATE_parser, 8491);
25484 }
25485 /* parser/parser.nit:8492 */
25486 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);
25487 /* parser/parser.nit:8503 */
25488 fra.me.REG[2] = fra.me.REG[3];
25489 /* parser/parser.nit:8504 */
25490 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25491 if (UNTAG_Bool(REGB0)) {
25492 } else {
25493 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8504);
25494 }
25495 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25496 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25497 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25498 stack_frame_head = fra.me.prev;
25499 return;
25500 }
25501 static const char LOCATE_parser___ReduceAction170___action[] = "parser::ReduceAction170::(parser::ReduceAction::action)";
25502 void parser___ReduceAction170___action(val_t p0, val_t p1){
25503 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25504 val_t REGB0;
25505 val_t tmp;
25506 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25507 fra.me.file = LOCATE_parser;
25508 fra.me.line = 8509;
25509 fra.me.meth = LOCATE_parser___ReduceAction170___action;
25510 fra.me.has_broke = 0;
25511 fra.me.REG_size = 9;
25512 fra.me.nitni_local_ref_head = NULL;
25513 fra.me.REG[0] = NIT_NULL;
25514 fra.me.REG[1] = NIT_NULL;
25515 fra.me.REG[2] = NIT_NULL;
25516 fra.me.REG[3] = NIT_NULL;
25517 fra.me.REG[4] = NIT_NULL;
25518 fra.me.REG[5] = NIT_NULL;
25519 fra.me.REG[6] = NIT_NULL;
25520 fra.me.REG[7] = NIT_NULL;
25521 fra.me.REG[8] = NIT_NULL;
25522 fra.me.REG[0] = p0;
25523 fra.me.REG[1] = p1;
25524 /* parser/parser.nit:8511 */
25525 fra.me.REG[2] = NIT_NULL;
25526 /* parser/parser.nit:8512 */
25527 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25528 /* parser/parser.nit:8513 */
25529 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25530 /* parser/parser.nit:8514 */
25531 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25532 /* parser/parser.nit:8515 */
25533 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25534 /* parser/parser.nit:8516 */
25535 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25536 /* parser/parser.nit:8517 */
25537 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25538 /* parser/parser.nit:8518 */
25539 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25540 /* parser/parser.nit:8519 */
25541 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25542 /* parser/parser.nit:8521 */
25543 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*/;
25544 if (UNTAG_Bool(REGB0)) {
25545 } else {
25546 nit_abort("Assert failed", NULL, LOCATE_parser, 8521);
25547 }
25548 /* parser/parser.nit:8523 */
25549 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*/;
25550 if (UNTAG_Bool(REGB0)) {
25551 } else {
25552 nit_abort("Assert failed", NULL, LOCATE_parser, 8523);
25553 }
25554 /* parser/parser.nit:8525 */
25555 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*/;
25556 if (UNTAG_Bool(REGB0)) {
25557 } else {
25558 nit_abort("Assert failed", NULL, LOCATE_parser, 8525);
25559 }
25560 /* parser/parser.nit:8527 */
25561 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*/;
25562 if (UNTAG_Bool(REGB0)) {
25563 } else {
25564 nit_abort("Assert failed", NULL, LOCATE_parser, 8527);
25565 }
25566 /* parser/parser.nit:8529 */
25567 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*/;
25568 if (UNTAG_Bool(REGB0)) {
25569 } else {
25570 nit_abort("Assert failed", NULL, LOCATE_parser, 8529);
25571 }
25572 /* parser/parser.nit:8531 */
25573 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*/;
25574 if (UNTAG_Bool(REGB0)) {
25575 } else {
25576 nit_abort("Assert failed", NULL, LOCATE_parser, 8531);
25577 }
25578 /* parser/parser.nit:8532 */
25579 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);
25580 /* parser/parser.nit:8543 */
25581 fra.me.REG[2] = fra.me.REG[3];
25582 /* parser/parser.nit:8544 */
25583 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25584 if (UNTAG_Bool(REGB0)) {
25585 } else {
25586 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8544);
25587 }
25588 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25589 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25590 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25591 stack_frame_head = fra.me.prev;
25592 return;
25593 }
25594 static const char LOCATE_parser___ReduceAction171___action[] = "parser::ReduceAction171::(parser::ReduceAction::action)";
25595 void parser___ReduceAction171___action(val_t p0, val_t p1){
25596 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25597 val_t REGB0;
25598 val_t tmp;
25599 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25600 fra.me.file = LOCATE_parser;
25601 fra.me.line = 8549;
25602 fra.me.meth = LOCATE_parser___ReduceAction171___action;
25603 fra.me.has_broke = 0;
25604 fra.me.REG_size = 9;
25605 fra.me.nitni_local_ref_head = NULL;
25606 fra.me.REG[0] = NIT_NULL;
25607 fra.me.REG[1] = NIT_NULL;
25608 fra.me.REG[2] = NIT_NULL;
25609 fra.me.REG[3] = NIT_NULL;
25610 fra.me.REG[4] = NIT_NULL;
25611 fra.me.REG[5] = NIT_NULL;
25612 fra.me.REG[6] = NIT_NULL;
25613 fra.me.REG[7] = NIT_NULL;
25614 fra.me.REG[8] = NIT_NULL;
25615 fra.me.REG[0] = p0;
25616 fra.me.REG[1] = p1;
25617 /* parser/parser.nit:8551 */
25618 fra.me.REG[2] = NIT_NULL;
25619 /* parser/parser.nit:8552 */
25620 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25621 /* parser/parser.nit:8553 */
25622 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25623 /* parser/parser.nit:8554 */
25624 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25625 /* parser/parser.nit:8555 */
25626 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25627 /* parser/parser.nit:8556 */
25628 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25629 /* parser/parser.nit:8557 */
25630 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25631 /* parser/parser.nit:8558 */
25632 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25633 /* parser/parser.nit:8559 */
25634 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25635 /* parser/parser.nit:8561 */
25636 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*/;
25637 if (UNTAG_Bool(REGB0)) {
25638 } else {
25639 nit_abort("Assert failed", NULL, LOCATE_parser, 8561);
25640 }
25641 /* parser/parser.nit:8563 */
25642 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*/;
25643 if (UNTAG_Bool(REGB0)) {
25644 } else {
25645 nit_abort("Assert failed", NULL, LOCATE_parser, 8563);
25646 }
25647 /* parser/parser.nit:8565 */
25648 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*/;
25649 if (UNTAG_Bool(REGB0)) {
25650 } else {
25651 nit_abort("Assert failed", NULL, LOCATE_parser, 8565);
25652 }
25653 /* parser/parser.nit:8567 */
25654 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*/;
25655 if (UNTAG_Bool(REGB0)) {
25656 } else {
25657 nit_abort("Assert failed", NULL, LOCATE_parser, 8567);
25658 }
25659 /* parser/parser.nit:8569 */
25660 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*/;
25661 if (UNTAG_Bool(REGB0)) {
25662 } else {
25663 nit_abort("Assert failed", NULL, LOCATE_parser, 8569);
25664 }
25665 /* parser/parser.nit:8571 */
25666 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*/;
25667 if (UNTAG_Bool(REGB0)) {
25668 } else {
25669 nit_abort("Assert failed", NULL, LOCATE_parser, 8571);
25670 }
25671 /* parser/parser.nit:8572 */
25672 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);
25673 /* parser/parser.nit:8583 */
25674 fra.me.REG[2] = fra.me.REG[3];
25675 /* parser/parser.nit:8584 */
25676 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25677 if (UNTAG_Bool(REGB0)) {
25678 } else {
25679 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8584);
25680 }
25681 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25682 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25683 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25684 stack_frame_head = fra.me.prev;
25685 return;
25686 }
25687 static const char LOCATE_parser___ReduceAction172___action[] = "parser::ReduceAction172::(parser::ReduceAction::action)";
25688 void parser___ReduceAction172___action(val_t p0, val_t p1){
25689 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
25690 val_t REGB0;
25691 val_t tmp;
25692 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25693 fra.me.file = LOCATE_parser;
25694 fra.me.line = 8589;
25695 fra.me.meth = LOCATE_parser___ReduceAction172___action;
25696 fra.me.has_broke = 0;
25697 fra.me.REG_size = 10;
25698 fra.me.nitni_local_ref_head = NULL;
25699 fra.me.REG[0] = NIT_NULL;
25700 fra.me.REG[1] = NIT_NULL;
25701 fra.me.REG[2] = NIT_NULL;
25702 fra.me.REG[3] = NIT_NULL;
25703 fra.me.REG[4] = NIT_NULL;
25704 fra.me.REG[5] = NIT_NULL;
25705 fra.me.REG[6] = NIT_NULL;
25706 fra.me.REG[7] = NIT_NULL;
25707 fra.me.REG[8] = NIT_NULL;
25708 fra.me.REG[9] = NIT_NULL;
25709 fra.me.REG[0] = p0;
25710 fra.me.REG[1] = p1;
25711 /* parser/parser.nit:8591 */
25712 fra.me.REG[2] = NIT_NULL;
25713 /* parser/parser.nit:8592 */
25714 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25715 /* parser/parser.nit:8593 */
25716 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25717 /* parser/parser.nit:8594 */
25718 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25719 /* parser/parser.nit:8595 */
25720 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25721 /* parser/parser.nit:8596 */
25722 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25723 /* parser/parser.nit:8597 */
25724 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25725 /* parser/parser.nit:8598 */
25726 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25727 /* parser/parser.nit:8599 */
25728 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25729 /* parser/parser.nit:8600 */
25730 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25731 /* parser/parser.nit:8602 */
25732 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*/;
25733 if (UNTAG_Bool(REGB0)) {
25734 } else {
25735 nit_abort("Assert failed", NULL, LOCATE_parser, 8602);
25736 }
25737 /* parser/parser.nit:8604 */
25738 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*/;
25739 if (UNTAG_Bool(REGB0)) {
25740 } else {
25741 nit_abort("Assert failed", NULL, LOCATE_parser, 8604);
25742 }
25743 /* parser/parser.nit:8606 */
25744 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*/;
25745 if (UNTAG_Bool(REGB0)) {
25746 } else {
25747 nit_abort("Assert failed", NULL, LOCATE_parser, 8606);
25748 }
25749 /* parser/parser.nit:8608 */
25750 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*/;
25751 if (UNTAG_Bool(REGB0)) {
25752 } else {
25753 nit_abort("Assert failed", NULL, LOCATE_parser, 8608);
25754 }
25755 /* parser/parser.nit:8610 */
25756 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*/;
25757 if (UNTAG_Bool(REGB0)) {
25758 } else {
25759 nit_abort("Assert failed", NULL, LOCATE_parser, 8610);
25760 }
25761 /* parser/parser.nit:8612 */
25762 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*/;
25763 if (UNTAG_Bool(REGB0)) {
25764 } else {
25765 nit_abort("Assert failed", NULL, LOCATE_parser, 8612);
25766 }
25767 /* parser/parser.nit:8614 */
25768 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*/;
25769 if (UNTAG_Bool(REGB0)) {
25770 } else {
25771 nit_abort("Assert failed", NULL, LOCATE_parser, 8614);
25772 }
25773 /* parser/parser.nit:8615 */
25774 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);
25775 /* parser/parser.nit:8626 */
25776 fra.me.REG[2] = fra.me.REG[3];
25777 /* parser/parser.nit:8627 */
25778 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25779 if (UNTAG_Bool(REGB0)) {
25780 } else {
25781 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8627);
25782 }
25783 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25784 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25785 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25786 stack_frame_head = fra.me.prev;
25787 return;
25788 }
25789 static const char LOCATE_parser___ReduceAction173___action[] = "parser::ReduceAction173::(parser::ReduceAction::action)";
25790 void parser___ReduceAction173___action(val_t p0, val_t p1){
25791 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25792 val_t REGB0;
25793 val_t tmp;
25794 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25795 fra.me.file = LOCATE_parser;
25796 fra.me.line = 8632;
25797 fra.me.meth = LOCATE_parser___ReduceAction173___action;
25798 fra.me.has_broke = 0;
25799 fra.me.REG_size = 9;
25800 fra.me.nitni_local_ref_head = NULL;
25801 fra.me.REG[0] = NIT_NULL;
25802 fra.me.REG[1] = NIT_NULL;
25803 fra.me.REG[2] = NIT_NULL;
25804 fra.me.REG[3] = NIT_NULL;
25805 fra.me.REG[4] = NIT_NULL;
25806 fra.me.REG[5] = NIT_NULL;
25807 fra.me.REG[6] = NIT_NULL;
25808 fra.me.REG[7] = NIT_NULL;
25809 fra.me.REG[8] = NIT_NULL;
25810 fra.me.REG[0] = p0;
25811 fra.me.REG[1] = p1;
25812 /* parser/parser.nit:8634 */
25813 fra.me.REG[2] = NIT_NULL;
25814 /* parser/parser.nit:8635 */
25815 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25816 /* parser/parser.nit:8636 */
25817 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25818 /* parser/parser.nit:8637 */
25819 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25820 /* parser/parser.nit:8638 */
25821 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25822 /* parser/parser.nit:8639 */
25823 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25824 /* parser/parser.nit:8640 */
25825 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25826 /* parser/parser.nit:8641 */
25827 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25828 /* parser/parser.nit:8642 */
25829 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25830 /* parser/parser.nit:8644 */
25831 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*/;
25832 if (UNTAG_Bool(REGB0)) {
25833 } else {
25834 nit_abort("Assert failed", NULL, LOCATE_parser, 8644);
25835 }
25836 /* parser/parser.nit:8646 */
25837 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*/;
25838 if (UNTAG_Bool(REGB0)) {
25839 } else {
25840 nit_abort("Assert failed", NULL, LOCATE_parser, 8646);
25841 }
25842 /* parser/parser.nit:8648 */
25843 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*/;
25844 if (UNTAG_Bool(REGB0)) {
25845 } else {
25846 nit_abort("Assert failed", NULL, LOCATE_parser, 8648);
25847 }
25848 /* parser/parser.nit:8650 */
25849 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*/;
25850 if (UNTAG_Bool(REGB0)) {
25851 } else {
25852 nit_abort("Assert failed", NULL, LOCATE_parser, 8650);
25853 }
25854 /* parser/parser.nit:8652 */
25855 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*/;
25856 if (UNTAG_Bool(REGB0)) {
25857 } else {
25858 nit_abort("Assert failed", NULL, LOCATE_parser, 8652);
25859 }
25860 /* parser/parser.nit:8654 */
25861 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*/;
25862 if (UNTAG_Bool(REGB0)) {
25863 } else {
25864 nit_abort("Assert failed", NULL, LOCATE_parser, 8654);
25865 }
25866 /* parser/parser.nit:8655 */
25867 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);
25868 /* parser/parser.nit:8666 */
25869 fra.me.REG[2] = fra.me.REG[3];
25870 /* parser/parser.nit:8667 */
25871 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25872 if (UNTAG_Bool(REGB0)) {
25873 } else {
25874 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8667);
25875 }
25876 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25877 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25878 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25879 stack_frame_head = fra.me.prev;
25880 return;
25881 }
25882 static const char LOCATE_parser___ReduceAction174___action[] = "parser::ReduceAction174::(parser::ReduceAction::action)";
25883 void parser___ReduceAction174___action(val_t p0, val_t p1){
25884 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
25885 val_t REGB0;
25886 val_t tmp;
25887 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25888 fra.me.file = LOCATE_parser;
25889 fra.me.line = 8672;
25890 fra.me.meth = LOCATE_parser___ReduceAction174___action;
25891 fra.me.has_broke = 0;
25892 fra.me.REG_size = 10;
25893 fra.me.nitni_local_ref_head = NULL;
25894 fra.me.REG[0] = NIT_NULL;
25895 fra.me.REG[1] = NIT_NULL;
25896 fra.me.REG[2] = NIT_NULL;
25897 fra.me.REG[3] = NIT_NULL;
25898 fra.me.REG[4] = NIT_NULL;
25899 fra.me.REG[5] = NIT_NULL;
25900 fra.me.REG[6] = NIT_NULL;
25901 fra.me.REG[7] = NIT_NULL;
25902 fra.me.REG[8] = NIT_NULL;
25903 fra.me.REG[9] = NIT_NULL;
25904 fra.me.REG[0] = p0;
25905 fra.me.REG[1] = p1;
25906 /* parser/parser.nit:8674 */
25907 fra.me.REG[2] = NIT_NULL;
25908 /* parser/parser.nit:8675 */
25909 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25910 /* parser/parser.nit:8676 */
25911 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25912 /* parser/parser.nit:8677 */
25913 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25914 /* parser/parser.nit:8678 */
25915 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25916 /* parser/parser.nit:8679 */
25917 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25918 /* parser/parser.nit:8680 */
25919 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25920 /* parser/parser.nit:8681 */
25921 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25922 /* parser/parser.nit:8682 */
25923 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25924 /* parser/parser.nit:8683 */
25925 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25926 /* parser/parser.nit:8685 */
25927 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*/;
25928 if (UNTAG_Bool(REGB0)) {
25929 } else {
25930 nit_abort("Assert failed", NULL, LOCATE_parser, 8685);
25931 }
25932 /* parser/parser.nit:8687 */
25933 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*/;
25934 if (UNTAG_Bool(REGB0)) {
25935 } else {
25936 nit_abort("Assert failed", NULL, LOCATE_parser, 8687);
25937 }
25938 /* parser/parser.nit:8689 */
25939 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*/;
25940 if (UNTAG_Bool(REGB0)) {
25941 } else {
25942 nit_abort("Assert failed", NULL, LOCATE_parser, 8689);
25943 }
25944 /* parser/parser.nit:8691 */
25945 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*/;
25946 if (UNTAG_Bool(REGB0)) {
25947 } else {
25948 nit_abort("Assert failed", NULL, LOCATE_parser, 8691);
25949 }
25950 /* parser/parser.nit:8693 */
25951 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*/;
25952 if (UNTAG_Bool(REGB0)) {
25953 } else {
25954 nit_abort("Assert failed", NULL, LOCATE_parser, 8693);
25955 }
25956 /* parser/parser.nit:8695 */
25957 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*/;
25958 if (UNTAG_Bool(REGB0)) {
25959 } else {
25960 nit_abort("Assert failed", NULL, LOCATE_parser, 8695);
25961 }
25962 /* parser/parser.nit:8697 */
25963 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*/;
25964 if (UNTAG_Bool(REGB0)) {
25965 } else {
25966 nit_abort("Assert failed", NULL, LOCATE_parser, 8697);
25967 }
25968 /* parser/parser.nit:8698 */
25969 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);
25970 /* parser/parser.nit:8709 */
25971 fra.me.REG[2] = fra.me.REG[3];
25972 /* parser/parser.nit:8710 */
25973 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25974 if (UNTAG_Bool(REGB0)) {
25975 } else {
25976 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8710);
25977 }
25978 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25979 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25980 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25981 stack_frame_head = fra.me.prev;
25982 return;
25983 }
25984 static const char LOCATE_parser___ReduceAction175___action[] = "parser::ReduceAction175::(parser::ReduceAction::action)";
25985 void parser___ReduceAction175___action(val_t p0, val_t p1){
25986 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
25987 val_t REGB0;
25988 val_t tmp;
25989 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25990 fra.me.file = LOCATE_parser;
25991 fra.me.line = 8715;
25992 fra.me.meth = LOCATE_parser___ReduceAction175___action;
25993 fra.me.has_broke = 0;
25994 fra.me.REG_size = 10;
25995 fra.me.nitni_local_ref_head = NULL;
25996 fra.me.REG[0] = NIT_NULL;
25997 fra.me.REG[1] = NIT_NULL;
25998 fra.me.REG[2] = NIT_NULL;
25999 fra.me.REG[3] = NIT_NULL;
26000 fra.me.REG[4] = NIT_NULL;
26001 fra.me.REG[5] = NIT_NULL;
26002 fra.me.REG[6] = NIT_NULL;
26003 fra.me.REG[7] = NIT_NULL;
26004 fra.me.REG[8] = NIT_NULL;
26005 fra.me.REG[9] = NIT_NULL;
26006 fra.me.REG[0] = p0;
26007 fra.me.REG[1] = p1;
26008 /* parser/parser.nit:8717 */
26009 fra.me.REG[2] = NIT_NULL;
26010 /* parser/parser.nit:8718 */
26011 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26012 /* parser/parser.nit:8719 */
26013 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26014 /* parser/parser.nit:8720 */
26015 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26016 /* parser/parser.nit:8721 */
26017 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26018 /* parser/parser.nit:8722 */
26019 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26020 /* parser/parser.nit:8723 */
26021 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26022 /* parser/parser.nit:8724 */
26023 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26024 /* parser/parser.nit:8725 */
26025 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26026 /* parser/parser.nit:8726 */
26027 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26028 /* parser/parser.nit:8728 */
26029 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*/;
26030 if (UNTAG_Bool(REGB0)) {
26031 } else {
26032 nit_abort("Assert failed", NULL, LOCATE_parser, 8728);
26033 }
26034 /* parser/parser.nit:8730 */
26035 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*/;
26036 if (UNTAG_Bool(REGB0)) {
26037 } else {
26038 nit_abort("Assert failed", NULL, LOCATE_parser, 8730);
26039 }
26040 /* parser/parser.nit:8732 */
26041 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*/;
26042 if (UNTAG_Bool(REGB0)) {
26043 } else {
26044 nit_abort("Assert failed", NULL, LOCATE_parser, 8732);
26045 }
26046 /* parser/parser.nit:8734 */
26047 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*/;
26048 if (UNTAG_Bool(REGB0)) {
26049 } else {
26050 nit_abort("Assert failed", NULL, LOCATE_parser, 8734);
26051 }
26052 /* parser/parser.nit:8736 */
26053 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*/;
26054 if (UNTAG_Bool(REGB0)) {
26055 } else {
26056 nit_abort("Assert failed", NULL, LOCATE_parser, 8736);
26057 }
26058 /* parser/parser.nit:8738 */
26059 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*/;
26060 if (UNTAG_Bool(REGB0)) {
26061 } else {
26062 nit_abort("Assert failed", NULL, LOCATE_parser, 8738);
26063 }
26064 /* parser/parser.nit:8740 */
26065 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*/;
26066 if (UNTAG_Bool(REGB0)) {
26067 } else {
26068 nit_abort("Assert failed", NULL, LOCATE_parser, 8740);
26069 }
26070 /* parser/parser.nit:8741 */
26071 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);
26072 /* parser/parser.nit:8752 */
26073 fra.me.REG[2] = fra.me.REG[3];
26074 /* parser/parser.nit:8753 */
26075 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26076 if (UNTAG_Bool(REGB0)) {
26077 } else {
26078 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8753);
26079 }
26080 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26081 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26082 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26083 stack_frame_head = fra.me.prev;
26084 return;
26085 }
26086 static const char LOCATE_parser___ReduceAction176___action[] = "parser::ReduceAction176::(parser::ReduceAction::action)";
26087 void parser___ReduceAction176___action(val_t p0, val_t p1){
26088 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
26089 val_t REGB0;
26090 val_t tmp;
26091 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26092 fra.me.file = LOCATE_parser;
26093 fra.me.line = 8758;
26094 fra.me.meth = LOCATE_parser___ReduceAction176___action;
26095 fra.me.has_broke = 0;
26096 fra.me.REG_size = 11;
26097 fra.me.nitni_local_ref_head = NULL;
26098 fra.me.REG[0] = NIT_NULL;
26099 fra.me.REG[1] = NIT_NULL;
26100 fra.me.REG[2] = NIT_NULL;
26101 fra.me.REG[3] = NIT_NULL;
26102 fra.me.REG[4] = NIT_NULL;
26103 fra.me.REG[5] = NIT_NULL;
26104 fra.me.REG[6] = NIT_NULL;
26105 fra.me.REG[7] = NIT_NULL;
26106 fra.me.REG[8] = NIT_NULL;
26107 fra.me.REG[9] = NIT_NULL;
26108 fra.me.REG[10] = NIT_NULL;
26109 fra.me.REG[0] = p0;
26110 fra.me.REG[1] = p1;
26111 /* parser/parser.nit:8760 */
26112 fra.me.REG[2] = NIT_NULL;
26113 /* parser/parser.nit:8761 */
26114 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26115 /* parser/parser.nit:8762 */
26116 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26117 /* parser/parser.nit:8763 */
26118 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26119 /* parser/parser.nit:8764 */
26120 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26121 /* parser/parser.nit:8765 */
26122 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26123 /* parser/parser.nit:8766 */
26124 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26125 /* parser/parser.nit:8767 */
26126 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26127 /* parser/parser.nit:8768 */
26128 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26129 /* parser/parser.nit:8769 */
26130 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26131 /* parser/parser.nit:8770 */
26132 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26133 /* parser/parser.nit:8772 */
26134 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*/;
26135 if (UNTAG_Bool(REGB0)) {
26136 } else {
26137 nit_abort("Assert failed", NULL, LOCATE_parser, 8772);
26138 }
26139 /* parser/parser.nit:8774 */
26140 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*/;
26141 if (UNTAG_Bool(REGB0)) {
26142 } else {
26143 nit_abort("Assert failed", NULL, LOCATE_parser, 8774);
26144 }
26145 /* parser/parser.nit:8776 */
26146 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*/;
26147 if (UNTAG_Bool(REGB0)) {
26148 } else {
26149 nit_abort("Assert failed", NULL, LOCATE_parser, 8776);
26150 }
26151 /* parser/parser.nit:8778 */
26152 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*/;
26153 if (UNTAG_Bool(REGB0)) {
26154 } else {
26155 nit_abort("Assert failed", NULL, LOCATE_parser, 8778);
26156 }
26157 /* parser/parser.nit:8780 */
26158 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*/;
26159 if (UNTAG_Bool(REGB0)) {
26160 } else {
26161 nit_abort("Assert failed", NULL, LOCATE_parser, 8780);
26162 }
26163 /* parser/parser.nit:8782 */
26164 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*/;
26165 if (UNTAG_Bool(REGB0)) {
26166 } else {
26167 nit_abort("Assert failed", NULL, LOCATE_parser, 8782);
26168 }
26169 /* parser/parser.nit:8784 */
26170 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*/;
26171 if (UNTAG_Bool(REGB0)) {
26172 } else {
26173 nit_abort("Assert failed", NULL, LOCATE_parser, 8784);
26174 }
26175 /* parser/parser.nit:8786 */
26176 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*/;
26177 if (UNTAG_Bool(REGB0)) {
26178 } else {
26179 nit_abort("Assert failed", NULL, LOCATE_parser, 8786);
26180 }
26181 /* parser/parser.nit:8787 */
26182 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);
26183 /* parser/parser.nit:8798 */
26184 fra.me.REG[2] = fra.me.REG[3];
26185 /* parser/parser.nit:8799 */
26186 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26187 if (UNTAG_Bool(REGB0)) {
26188 } else {
26189 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8799);
26190 }
26191 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26192 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26193 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26194 stack_frame_head = fra.me.prev;
26195 return;
26196 }
26197 static const char LOCATE_parser___ReduceAction177___action[] = "parser::ReduceAction177::(parser::ReduceAction::action)";
26198 void parser___ReduceAction177___action(val_t p0, val_t p1){
26199 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
26200 val_t REGB0;
26201 val_t tmp;
26202 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26203 fra.me.file = LOCATE_parser;
26204 fra.me.line = 8804;
26205 fra.me.meth = LOCATE_parser___ReduceAction177___action;
26206 fra.me.has_broke = 0;
26207 fra.me.REG_size = 9;
26208 fra.me.nitni_local_ref_head = NULL;
26209 fra.me.REG[0] = NIT_NULL;
26210 fra.me.REG[1] = NIT_NULL;
26211 fra.me.REG[2] = NIT_NULL;
26212 fra.me.REG[3] = NIT_NULL;
26213 fra.me.REG[4] = NIT_NULL;
26214 fra.me.REG[5] = NIT_NULL;
26215 fra.me.REG[6] = NIT_NULL;
26216 fra.me.REG[7] = NIT_NULL;
26217 fra.me.REG[8] = NIT_NULL;
26218 fra.me.REG[0] = p0;
26219 fra.me.REG[1] = p1;
26220 /* parser/parser.nit:8806 */
26221 fra.me.REG[2] = NIT_NULL;
26222 /* parser/parser.nit:8807 */
26223 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26224 /* parser/parser.nit:8808 */
26225 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26226 /* parser/parser.nit:8809 */
26227 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26228 /* parser/parser.nit:8810 */
26229 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26230 /* parser/parser.nit:8811 */
26231 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26232 /* parser/parser.nit:8812 */
26233 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26234 /* parser/parser.nit:8813 */
26235 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26236 /* parser/parser.nit:8814 */
26237 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26238 /* parser/parser.nit:8816 */
26239 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*/;
26240 if (UNTAG_Bool(REGB0)) {
26241 } else {
26242 nit_abort("Assert failed", NULL, LOCATE_parser, 8816);
26243 }
26244 /* parser/parser.nit:8818 */
26245 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*/;
26246 if (UNTAG_Bool(REGB0)) {
26247 } else {
26248 nit_abort("Assert failed", NULL, LOCATE_parser, 8818);
26249 }
26250 /* parser/parser.nit:8820 */
26251 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*/;
26252 if (UNTAG_Bool(REGB0)) {
26253 } else {
26254 nit_abort("Assert failed", NULL, LOCATE_parser, 8820);
26255 }
26256 /* parser/parser.nit:8822 */
26257 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*/;
26258 if (UNTAG_Bool(REGB0)) {
26259 } else {
26260 nit_abort("Assert failed", NULL, LOCATE_parser, 8822);
26261 }
26262 /* parser/parser.nit:8824 */
26263 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*/;
26264 if (UNTAG_Bool(REGB0)) {
26265 } else {
26266 nit_abort("Assert failed", NULL, LOCATE_parser, 8824);
26267 }
26268 /* parser/parser.nit:8826 */
26269 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*/;
26270 if (UNTAG_Bool(REGB0)) {
26271 } else {
26272 nit_abort("Assert failed", NULL, LOCATE_parser, 8826);
26273 }
26274 /* parser/parser.nit:8827 */
26275 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]);
26276 /* parser/parser.nit:8838 */
26277 fra.me.REG[2] = fra.me.REG[3];
26278 /* parser/parser.nit:8839 */
26279 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26280 if (UNTAG_Bool(REGB0)) {
26281 } else {
26282 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8839);
26283 }
26284 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26285 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26286 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26287 stack_frame_head = fra.me.prev;
26288 return;
26289 }
26290 static const char LOCATE_parser___ReduceAction178___action[] = "parser::ReduceAction178::(parser::ReduceAction::action)";
26291 void parser___ReduceAction178___action(val_t p0, val_t p1){
26292 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
26293 val_t REGB0;
26294 val_t tmp;
26295 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26296 fra.me.file = LOCATE_parser;
26297 fra.me.line = 8844;
26298 fra.me.meth = LOCATE_parser___ReduceAction178___action;
26299 fra.me.has_broke = 0;
26300 fra.me.REG_size = 10;
26301 fra.me.nitni_local_ref_head = NULL;
26302 fra.me.REG[0] = NIT_NULL;
26303 fra.me.REG[1] = NIT_NULL;
26304 fra.me.REG[2] = NIT_NULL;
26305 fra.me.REG[3] = NIT_NULL;
26306 fra.me.REG[4] = NIT_NULL;
26307 fra.me.REG[5] = NIT_NULL;
26308 fra.me.REG[6] = NIT_NULL;
26309 fra.me.REG[7] = NIT_NULL;
26310 fra.me.REG[8] = NIT_NULL;
26311 fra.me.REG[9] = NIT_NULL;
26312 fra.me.REG[0] = p0;
26313 fra.me.REG[1] = p1;
26314 /* parser/parser.nit:8846 */
26315 fra.me.REG[2] = NIT_NULL;
26316 /* parser/parser.nit:8847 */
26317 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26318 /* parser/parser.nit:8848 */
26319 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26320 /* parser/parser.nit:8849 */
26321 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26322 /* parser/parser.nit:8850 */
26323 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26324 /* parser/parser.nit:8851 */
26325 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26326 /* parser/parser.nit:8852 */
26327 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26328 /* parser/parser.nit:8853 */
26329 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26330 /* parser/parser.nit:8854 */
26331 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26332 /* parser/parser.nit:8855 */
26333 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26334 /* parser/parser.nit:8857 */
26335 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*/;
26336 if (UNTAG_Bool(REGB0)) {
26337 } else {
26338 nit_abort("Assert failed", NULL, LOCATE_parser, 8857);
26339 }
26340 /* parser/parser.nit:8859 */
26341 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*/;
26342 if (UNTAG_Bool(REGB0)) {
26343 } else {
26344 nit_abort("Assert failed", NULL, LOCATE_parser, 8859);
26345 }
26346 /* parser/parser.nit:8861 */
26347 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*/;
26348 if (UNTAG_Bool(REGB0)) {
26349 } else {
26350 nit_abort("Assert failed", NULL, LOCATE_parser, 8861);
26351 }
26352 /* parser/parser.nit:8863 */
26353 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*/;
26354 if (UNTAG_Bool(REGB0)) {
26355 } else {
26356 nit_abort("Assert failed", NULL, LOCATE_parser, 8863);
26357 }
26358 /* parser/parser.nit:8865 */
26359 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*/;
26360 if (UNTAG_Bool(REGB0)) {
26361 } else {
26362 nit_abort("Assert failed", NULL, LOCATE_parser, 8865);
26363 }
26364 /* parser/parser.nit:8867 */
26365 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*/;
26366 if (UNTAG_Bool(REGB0)) {
26367 } else {
26368 nit_abort("Assert failed", NULL, LOCATE_parser, 8867);
26369 }
26370 /* parser/parser.nit:8869 */
26371 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*/;
26372 if (UNTAG_Bool(REGB0)) {
26373 } else {
26374 nit_abort("Assert failed", NULL, LOCATE_parser, 8869);
26375 }
26376 /* parser/parser.nit:8870 */
26377 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]);
26378 /* parser/parser.nit:8881 */
26379 fra.me.REG[2] = fra.me.REG[3];
26380 /* parser/parser.nit:8882 */
26381 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26382 if (UNTAG_Bool(REGB0)) {
26383 } else {
26384 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8882);
26385 }
26386 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26387 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26388 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26389 stack_frame_head = fra.me.prev;
26390 return;
26391 }
26392 static const char LOCATE_parser___ReduceAction179___action[] = "parser::ReduceAction179::(parser::ReduceAction::action)";
26393 void parser___ReduceAction179___action(val_t p0, val_t p1){
26394 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
26395 val_t REGB0;
26396 val_t tmp;
26397 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26398 fra.me.file = LOCATE_parser;
26399 fra.me.line = 8887;
26400 fra.me.meth = LOCATE_parser___ReduceAction179___action;
26401 fra.me.has_broke = 0;
26402 fra.me.REG_size = 10;
26403 fra.me.nitni_local_ref_head = NULL;
26404 fra.me.REG[0] = NIT_NULL;
26405 fra.me.REG[1] = NIT_NULL;
26406 fra.me.REG[2] = NIT_NULL;
26407 fra.me.REG[3] = NIT_NULL;
26408 fra.me.REG[4] = NIT_NULL;
26409 fra.me.REG[5] = NIT_NULL;
26410 fra.me.REG[6] = NIT_NULL;
26411 fra.me.REG[7] = NIT_NULL;
26412 fra.me.REG[8] = NIT_NULL;
26413 fra.me.REG[9] = NIT_NULL;
26414 fra.me.REG[0] = p0;
26415 fra.me.REG[1] = p1;
26416 /* parser/parser.nit:8889 */
26417 fra.me.REG[2] = NIT_NULL;
26418 /* parser/parser.nit:8890 */
26419 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26420 /* parser/parser.nit:8891 */
26421 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26422 /* parser/parser.nit:8892 */
26423 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26424 /* parser/parser.nit:8893 */
26425 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26426 /* parser/parser.nit:8894 */
26427 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26428 /* parser/parser.nit:8895 */
26429 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26430 /* parser/parser.nit:8896 */
26431 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26432 /* parser/parser.nit:8897 */
26433 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26434 /* parser/parser.nit:8898 */
26435 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26436 /* parser/parser.nit:8900 */
26437 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*/;
26438 if (UNTAG_Bool(REGB0)) {
26439 } else {
26440 nit_abort("Assert failed", NULL, LOCATE_parser, 8900);
26441 }
26442 /* parser/parser.nit:8902 */
26443 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*/;
26444 if (UNTAG_Bool(REGB0)) {
26445 } else {
26446 nit_abort("Assert failed", NULL, LOCATE_parser, 8902);
26447 }
26448 /* parser/parser.nit:8904 */
26449 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*/;
26450 if (UNTAG_Bool(REGB0)) {
26451 } else {
26452 nit_abort("Assert failed", NULL, LOCATE_parser, 8904);
26453 }
26454 /* parser/parser.nit:8906 */
26455 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*/;
26456 if (UNTAG_Bool(REGB0)) {
26457 } else {
26458 nit_abort("Assert failed", NULL, LOCATE_parser, 8906);
26459 }
26460 /* parser/parser.nit:8908 */
26461 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*/;
26462 if (UNTAG_Bool(REGB0)) {
26463 } else {
26464 nit_abort("Assert failed", NULL, LOCATE_parser, 8908);
26465 }
26466 /* parser/parser.nit:8910 */
26467 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*/;
26468 if (UNTAG_Bool(REGB0)) {
26469 } else {
26470 nit_abort("Assert failed", NULL, LOCATE_parser, 8910);
26471 }
26472 /* parser/parser.nit:8912 */
26473 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*/;
26474 if (UNTAG_Bool(REGB0)) {
26475 } else {
26476 nit_abort("Assert failed", NULL, LOCATE_parser, 8912);
26477 }
26478 /* parser/parser.nit:8913 */
26479 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]);
26480 /* parser/parser.nit:8924 */
26481 fra.me.REG[2] = fra.me.REG[3];
26482 /* parser/parser.nit:8925 */
26483 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26484 if (UNTAG_Bool(REGB0)) {
26485 } else {
26486 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8925);
26487 }
26488 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26489 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26490 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26491 stack_frame_head = fra.me.prev;
26492 return;
26493 }
26494 static const char LOCATE_parser___ReduceAction180___action[] = "parser::ReduceAction180::(parser::ReduceAction::action)";
26495 void parser___ReduceAction180___action(val_t p0, val_t p1){
26496 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
26497 val_t REGB0;
26498 val_t tmp;
26499 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26500 fra.me.file = LOCATE_parser;
26501 fra.me.line = 8930;
26502 fra.me.meth = LOCATE_parser___ReduceAction180___action;
26503 fra.me.has_broke = 0;
26504 fra.me.REG_size = 11;
26505 fra.me.nitni_local_ref_head = NULL;
26506 fra.me.REG[0] = NIT_NULL;
26507 fra.me.REG[1] = NIT_NULL;
26508 fra.me.REG[2] = NIT_NULL;
26509 fra.me.REG[3] = NIT_NULL;
26510 fra.me.REG[4] = NIT_NULL;
26511 fra.me.REG[5] = NIT_NULL;
26512 fra.me.REG[6] = NIT_NULL;
26513 fra.me.REG[7] = NIT_NULL;
26514 fra.me.REG[8] = NIT_NULL;
26515 fra.me.REG[9] = NIT_NULL;
26516 fra.me.REG[10] = NIT_NULL;
26517 fra.me.REG[0] = p0;
26518 fra.me.REG[1] = p1;
26519 /* parser/parser.nit:8932 */
26520 fra.me.REG[2] = NIT_NULL;
26521 /* parser/parser.nit:8933 */
26522 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26523 /* parser/parser.nit:8934 */
26524 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26525 /* parser/parser.nit:8935 */
26526 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26527 /* parser/parser.nit:8936 */
26528 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26529 /* parser/parser.nit:8937 */
26530 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26531 /* parser/parser.nit:8938 */
26532 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26533 /* parser/parser.nit:8939 */
26534 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26535 /* parser/parser.nit:8940 */
26536 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26537 /* parser/parser.nit:8941 */
26538 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26539 /* parser/parser.nit:8942 */
26540 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26541 /* parser/parser.nit:8944 */
26542 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*/;
26543 if (UNTAG_Bool(REGB0)) {
26544 } else {
26545 nit_abort("Assert failed", NULL, LOCATE_parser, 8944);
26546 }
26547 /* parser/parser.nit:8946 */
26548 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*/;
26549 if (UNTAG_Bool(REGB0)) {
26550 } else {
26551 nit_abort("Assert failed", NULL, LOCATE_parser, 8946);
26552 }
26553 /* parser/parser.nit:8948 */
26554 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*/;
26555 if (UNTAG_Bool(REGB0)) {
26556 } else {
26557 nit_abort("Assert failed", NULL, LOCATE_parser, 8948);
26558 }
26559 /* parser/parser.nit:8950 */
26560 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*/;
26561 if (UNTAG_Bool(REGB0)) {
26562 } else {
26563 nit_abort("Assert failed", NULL, LOCATE_parser, 8950);
26564 }
26565 /* parser/parser.nit:8952 */
26566 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*/;
26567 if (UNTAG_Bool(REGB0)) {
26568 } else {
26569 nit_abort("Assert failed", NULL, LOCATE_parser, 8952);
26570 }
26571 /* parser/parser.nit:8954 */
26572 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*/;
26573 if (UNTAG_Bool(REGB0)) {
26574 } else {
26575 nit_abort("Assert failed", NULL, LOCATE_parser, 8954);
26576 }
26577 /* parser/parser.nit:8956 */
26578 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*/;
26579 if (UNTAG_Bool(REGB0)) {
26580 } else {
26581 nit_abort("Assert failed", NULL, LOCATE_parser, 8956);
26582 }
26583 /* parser/parser.nit:8958 */
26584 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*/;
26585 if (UNTAG_Bool(REGB0)) {
26586 } else {
26587 nit_abort("Assert failed", NULL, LOCATE_parser, 8958);
26588 }
26589 /* parser/parser.nit:8959 */
26590 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]);
26591 /* parser/parser.nit:8970 */
26592 fra.me.REG[2] = fra.me.REG[3];
26593 /* parser/parser.nit:8971 */
26594 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26595 if (UNTAG_Bool(REGB0)) {
26596 } else {
26597 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8971);
26598 }
26599 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26600 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26601 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26602 stack_frame_head = fra.me.prev;
26603 return;
26604 }
26605 static const char LOCATE_parser___ReduceAction181___action[] = "parser::ReduceAction181::(parser::ReduceAction::action)";
26606 void parser___ReduceAction181___action(val_t p0, val_t p1){
26607 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
26608 val_t REGB0;
26609 val_t tmp;
26610 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26611 fra.me.file = LOCATE_parser;
26612 fra.me.line = 8976;
26613 fra.me.meth = LOCATE_parser___ReduceAction181___action;
26614 fra.me.has_broke = 0;
26615 fra.me.REG_size = 10;
26616 fra.me.nitni_local_ref_head = NULL;
26617 fra.me.REG[0] = NIT_NULL;
26618 fra.me.REG[1] = NIT_NULL;
26619 fra.me.REG[2] = NIT_NULL;
26620 fra.me.REG[3] = NIT_NULL;
26621 fra.me.REG[4] = NIT_NULL;
26622 fra.me.REG[5] = NIT_NULL;
26623 fra.me.REG[6] = NIT_NULL;
26624 fra.me.REG[7] = NIT_NULL;
26625 fra.me.REG[8] = NIT_NULL;
26626 fra.me.REG[9] = NIT_NULL;
26627 fra.me.REG[0] = p0;
26628 fra.me.REG[1] = p1;
26629 /* parser/parser.nit:8978 */
26630 fra.me.REG[2] = NIT_NULL;
26631 /* parser/parser.nit:8979 */
26632 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26633 /* parser/parser.nit:8980 */
26634 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26635 /* parser/parser.nit:8981 */
26636 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26637 /* parser/parser.nit:8982 */
26638 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26639 /* parser/parser.nit:8983 */
26640 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26641 /* parser/parser.nit:8984 */
26642 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26643 /* parser/parser.nit:8985 */
26644 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26645 /* parser/parser.nit:8986 */
26646 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26647 /* parser/parser.nit:8987 */
26648 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26649 /* parser/parser.nit:8989 */
26650 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*/;
26651 if (UNTAG_Bool(REGB0)) {
26652 } else {
26653 nit_abort("Assert failed", NULL, LOCATE_parser, 8989);
26654 }
26655 /* parser/parser.nit:8991 */
26656 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*/;
26657 if (UNTAG_Bool(REGB0)) {
26658 } else {
26659 nit_abort("Assert failed", NULL, LOCATE_parser, 8991);
26660 }
26661 /* parser/parser.nit:8993 */
26662 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*/;
26663 if (UNTAG_Bool(REGB0)) {
26664 } else {
26665 nit_abort("Assert failed", NULL, LOCATE_parser, 8993);
26666 }
26667 /* parser/parser.nit:8995 */
26668 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*/;
26669 if (UNTAG_Bool(REGB0)) {
26670 } else {
26671 nit_abort("Assert failed", NULL, LOCATE_parser, 8995);
26672 }
26673 /* parser/parser.nit:8997 */
26674 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*/;
26675 if (UNTAG_Bool(REGB0)) {
26676 } else {
26677 nit_abort("Assert failed", NULL, LOCATE_parser, 8997);
26678 }
26679 /* parser/parser.nit:8999 */
26680 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*/;
26681 if (UNTAG_Bool(REGB0)) {
26682 } else {
26683 nit_abort("Assert failed", NULL, LOCATE_parser, 8999);
26684 }
26685 /* parser/parser.nit:9001 */
26686 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*/;
26687 if (UNTAG_Bool(REGB0)) {
26688 } else {
26689 nit_abort("Assert failed", NULL, LOCATE_parser, 9001);
26690 }
26691 /* parser/parser.nit:9002 */
26692 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]);
26693 /* parser/parser.nit:9013 */
26694 fra.me.REG[2] = fra.me.REG[3];
26695 /* parser/parser.nit:9014 */
26696 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26697 if (UNTAG_Bool(REGB0)) {
26698 } else {
26699 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9014);
26700 }
26701 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26702 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26703 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26704 stack_frame_head = fra.me.prev;
26705 return;
26706 }
26707 static const char LOCATE_parser___ReduceAction182___action[] = "parser::ReduceAction182::(parser::ReduceAction::action)";
26708 void parser___ReduceAction182___action(val_t p0, val_t p1){
26709 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
26710 val_t REGB0;
26711 val_t tmp;
26712 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26713 fra.me.file = LOCATE_parser;
26714 fra.me.line = 9019;
26715 fra.me.meth = LOCATE_parser___ReduceAction182___action;
26716 fra.me.has_broke = 0;
26717 fra.me.REG_size = 11;
26718 fra.me.nitni_local_ref_head = NULL;
26719 fra.me.REG[0] = NIT_NULL;
26720 fra.me.REG[1] = NIT_NULL;
26721 fra.me.REG[2] = NIT_NULL;
26722 fra.me.REG[3] = NIT_NULL;
26723 fra.me.REG[4] = NIT_NULL;
26724 fra.me.REG[5] = NIT_NULL;
26725 fra.me.REG[6] = NIT_NULL;
26726 fra.me.REG[7] = NIT_NULL;
26727 fra.me.REG[8] = NIT_NULL;
26728 fra.me.REG[9] = NIT_NULL;
26729 fra.me.REG[10] = NIT_NULL;
26730 fra.me.REG[0] = p0;
26731 fra.me.REG[1] = p1;
26732 /* parser/parser.nit:9021 */
26733 fra.me.REG[2] = NIT_NULL;
26734 /* parser/parser.nit:9022 */
26735 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26736 /* parser/parser.nit:9023 */
26737 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26738 /* parser/parser.nit:9024 */
26739 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26740 /* parser/parser.nit:9025 */
26741 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26742 /* parser/parser.nit:9026 */
26743 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26744 /* parser/parser.nit:9027 */
26745 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26746 /* parser/parser.nit:9028 */
26747 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26748 /* parser/parser.nit:9029 */
26749 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26750 /* parser/parser.nit:9030 */
26751 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26752 /* parser/parser.nit:9031 */
26753 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26754 /* parser/parser.nit:9033 */
26755 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*/;
26756 if (UNTAG_Bool(REGB0)) {
26757 } else {
26758 nit_abort("Assert failed", NULL, LOCATE_parser, 9033);
26759 }
26760 /* parser/parser.nit:9035 */
26761 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*/;
26762 if (UNTAG_Bool(REGB0)) {
26763 } else {
26764 nit_abort("Assert failed", NULL, LOCATE_parser, 9035);
26765 }
26766 /* parser/parser.nit:9037 */
26767 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*/;
26768 if (UNTAG_Bool(REGB0)) {
26769 } else {
26770 nit_abort("Assert failed", NULL, LOCATE_parser, 9037);
26771 }
26772 /* parser/parser.nit:9039 */
26773 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*/;
26774 if (UNTAG_Bool(REGB0)) {
26775 } else {
26776 nit_abort("Assert failed", NULL, LOCATE_parser, 9039);
26777 }
26778 /* parser/parser.nit:9041 */
26779 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*/;
26780 if (UNTAG_Bool(REGB0)) {
26781 } else {
26782 nit_abort("Assert failed", NULL, LOCATE_parser, 9041);
26783 }
26784 /* parser/parser.nit:9043 */
26785 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*/;
26786 if (UNTAG_Bool(REGB0)) {
26787 } else {
26788 nit_abort("Assert failed", NULL, LOCATE_parser, 9043);
26789 }
26790 /* parser/parser.nit:9045 */
26791 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*/;
26792 if (UNTAG_Bool(REGB0)) {
26793 } else {
26794 nit_abort("Assert failed", NULL, LOCATE_parser, 9045);
26795 }
26796 /* parser/parser.nit:9047 */
26797 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*/;
26798 if (UNTAG_Bool(REGB0)) {
26799 } else {
26800 nit_abort("Assert failed", NULL, LOCATE_parser, 9047);
26801 }
26802 /* parser/parser.nit:9048 */
26803 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]);
26804 /* parser/parser.nit:9059 */
26805 fra.me.REG[2] = fra.me.REG[3];
26806 /* parser/parser.nit:9060 */
26807 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26808 if (UNTAG_Bool(REGB0)) {
26809 } else {
26810 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9060);
26811 }
26812 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26813 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26814 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26815 stack_frame_head = fra.me.prev;
26816 return;
26817 }
26818 static const char LOCATE_parser___ReduceAction183___action[] = "parser::ReduceAction183::(parser::ReduceAction::action)";
26819 void parser___ReduceAction183___action(val_t p0, val_t p1){
26820 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
26821 val_t REGB0;
26822 val_t tmp;
26823 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26824 fra.me.file = LOCATE_parser;
26825 fra.me.line = 9065;
26826 fra.me.meth = LOCATE_parser___ReduceAction183___action;
26827 fra.me.has_broke = 0;
26828 fra.me.REG_size = 11;
26829 fra.me.nitni_local_ref_head = NULL;
26830 fra.me.REG[0] = NIT_NULL;
26831 fra.me.REG[1] = NIT_NULL;
26832 fra.me.REG[2] = NIT_NULL;
26833 fra.me.REG[3] = NIT_NULL;
26834 fra.me.REG[4] = NIT_NULL;
26835 fra.me.REG[5] = NIT_NULL;
26836 fra.me.REG[6] = NIT_NULL;
26837 fra.me.REG[7] = NIT_NULL;
26838 fra.me.REG[8] = NIT_NULL;
26839 fra.me.REG[9] = NIT_NULL;
26840 fra.me.REG[10] = NIT_NULL;
26841 fra.me.REG[0] = p0;
26842 fra.me.REG[1] = p1;
26843 /* parser/parser.nit:9067 */
26844 fra.me.REG[2] = NIT_NULL;
26845 /* parser/parser.nit:9068 */
26846 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26847 /* parser/parser.nit:9069 */
26848 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26849 /* parser/parser.nit:9070 */
26850 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26851 /* parser/parser.nit:9071 */
26852 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26853 /* parser/parser.nit:9072 */
26854 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26855 /* parser/parser.nit:9073 */
26856 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26857 /* parser/parser.nit:9074 */
26858 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26859 /* parser/parser.nit:9075 */
26860 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26861 /* parser/parser.nit:9076 */
26862 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26863 /* parser/parser.nit:9077 */
26864 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26865 /* parser/parser.nit:9079 */
26866 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*/;
26867 if (UNTAG_Bool(REGB0)) {
26868 } else {
26869 nit_abort("Assert failed", NULL, LOCATE_parser, 9079);
26870 }
26871 /* parser/parser.nit:9081 */
26872 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*/;
26873 if (UNTAG_Bool(REGB0)) {
26874 } else {
26875 nit_abort("Assert failed", NULL, LOCATE_parser, 9081);
26876 }
26877 /* parser/parser.nit:9083 */
26878 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*/;
26879 if (UNTAG_Bool(REGB0)) {
26880 } else {
26881 nit_abort("Assert failed", NULL, LOCATE_parser, 9083);
26882 }
26883 /* parser/parser.nit:9085 */
26884 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*/;
26885 if (UNTAG_Bool(REGB0)) {
26886 } else {
26887 nit_abort("Assert failed", NULL, LOCATE_parser, 9085);
26888 }
26889 /* parser/parser.nit:9087 */
26890 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*/;
26891 if (UNTAG_Bool(REGB0)) {
26892 } else {
26893 nit_abort("Assert failed", NULL, LOCATE_parser, 9087);
26894 }
26895 /* parser/parser.nit:9089 */
26896 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*/;
26897 if (UNTAG_Bool(REGB0)) {
26898 } else {
26899 nit_abort("Assert failed", NULL, LOCATE_parser, 9089);
26900 }
26901 /* parser/parser.nit:9091 */
26902 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*/;
26903 if (UNTAG_Bool(REGB0)) {
26904 } else {
26905 nit_abort("Assert failed", NULL, LOCATE_parser, 9091);
26906 }
26907 /* parser/parser.nit:9093 */
26908 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*/;
26909 if (UNTAG_Bool(REGB0)) {
26910 } else {
26911 nit_abort("Assert failed", NULL, LOCATE_parser, 9093);
26912 }
26913 /* parser/parser.nit:9094 */
26914 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]);
26915 /* parser/parser.nit:9105 */
26916 fra.me.REG[2] = fra.me.REG[3];
26917 /* parser/parser.nit:9106 */
26918 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26919 if (UNTAG_Bool(REGB0)) {
26920 } else {
26921 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9106);
26922 }
26923 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26924 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26925 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26926 stack_frame_head = fra.me.prev;
26927 return;
26928 }
26929 static const char LOCATE_parser___ReduceAction184___action[] = "parser::ReduceAction184::(parser::ReduceAction::action)";
26930 void parser___ReduceAction184___action(val_t p0, val_t p1){
26931 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
26932 val_t REGB0;
26933 val_t tmp;
26934 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26935 fra.me.file = LOCATE_parser;
26936 fra.me.line = 9111;
26937 fra.me.meth = LOCATE_parser___ReduceAction184___action;
26938 fra.me.has_broke = 0;
26939 fra.me.REG_size = 12;
26940 fra.me.nitni_local_ref_head = NULL;
26941 fra.me.REG[0] = NIT_NULL;
26942 fra.me.REG[1] = NIT_NULL;
26943 fra.me.REG[2] = NIT_NULL;
26944 fra.me.REG[3] = NIT_NULL;
26945 fra.me.REG[4] = NIT_NULL;
26946 fra.me.REG[5] = NIT_NULL;
26947 fra.me.REG[6] = NIT_NULL;
26948 fra.me.REG[7] = NIT_NULL;
26949 fra.me.REG[8] = NIT_NULL;
26950 fra.me.REG[9] = NIT_NULL;
26951 fra.me.REG[10] = NIT_NULL;
26952 fra.me.REG[11] = NIT_NULL;
26953 fra.me.REG[0] = p0;
26954 fra.me.REG[1] = p1;
26955 /* parser/parser.nit:9113 */
26956 fra.me.REG[2] = NIT_NULL;
26957 /* parser/parser.nit:9114 */
26958 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26959 /* parser/parser.nit:9115 */
26960 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26961 /* parser/parser.nit:9116 */
26962 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26963 /* parser/parser.nit:9117 */
26964 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26965 /* parser/parser.nit:9118 */
26966 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26967 /* parser/parser.nit:9119 */
26968 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26969 /* parser/parser.nit:9120 */
26970 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26971 /* parser/parser.nit:9121 */
26972 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26973 /* parser/parser.nit:9122 */
26974 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26975 /* parser/parser.nit:9123 */
26976 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26977 /* parser/parser.nit:9124 */
26978 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26979 /* parser/parser.nit:9126 */
26980 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*/;
26981 if (UNTAG_Bool(REGB0)) {
26982 } else {
26983 nit_abort("Assert failed", NULL, LOCATE_parser, 9126);
26984 }
26985 /* parser/parser.nit:9128 */
26986 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*/;
26987 if (UNTAG_Bool(REGB0)) {
26988 } else {
26989 nit_abort("Assert failed", NULL, LOCATE_parser, 9128);
26990 }
26991 /* parser/parser.nit:9130 */
26992 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*/;
26993 if (UNTAG_Bool(REGB0)) {
26994 } else {
26995 nit_abort("Assert failed", NULL, LOCATE_parser, 9130);
26996 }
26997 /* parser/parser.nit:9132 */
26998 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*/;
26999 if (UNTAG_Bool(REGB0)) {
27000 } else {
27001 nit_abort("Assert failed", NULL, LOCATE_parser, 9132);
27002 }
27003 /* parser/parser.nit:9134 */
27004 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*/;
27005 if (UNTAG_Bool(REGB0)) {
27006 } else {
27007 nit_abort("Assert failed", NULL, LOCATE_parser, 9134);
27008 }
27009 /* parser/parser.nit:9136 */
27010 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*/;
27011 if (UNTAG_Bool(REGB0)) {
27012 } else {
27013 nit_abort("Assert failed", NULL, LOCATE_parser, 9136);
27014 }
27015 /* parser/parser.nit:9138 */
27016 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*/;
27017 if (UNTAG_Bool(REGB0)) {
27018 } else {
27019 nit_abort("Assert failed", NULL, LOCATE_parser, 9138);
27020 }
27021 /* parser/parser.nit:9140 */
27022 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*/;
27023 if (UNTAG_Bool(REGB0)) {
27024 } else {
27025 nit_abort("Assert failed", NULL, LOCATE_parser, 9140);
27026 }
27027 /* parser/parser.nit:9142 */
27028 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*/;
27029 if (UNTAG_Bool(REGB0)) {
27030 } else {
27031 nit_abort("Assert failed", NULL, LOCATE_parser, 9142);
27032 }
27033 /* parser/parser.nit:9143 */
27034 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]);
27035 /* parser/parser.nit:9154 */
27036 fra.me.REG[2] = fra.me.REG[3];
27037 /* parser/parser.nit:9155 */
27038 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27039 if (UNTAG_Bool(REGB0)) {
27040 } else {
27041 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9155);
27042 }
27043 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27044 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27045 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27046 stack_frame_head = fra.me.prev;
27047 return;
27048 }
27049 static const char LOCATE_parser___ReduceAction185___action[] = "parser::ReduceAction185::(parser::ReduceAction::action)";
27050 void parser___ReduceAction185___action(val_t p0, val_t p1){
27051 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
27052 val_t REGB0;
27053 val_t tmp;
27054 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27055 fra.me.file = LOCATE_parser;
27056 fra.me.line = 9160;
27057 fra.me.meth = LOCATE_parser___ReduceAction185___action;
27058 fra.me.has_broke = 0;
27059 fra.me.REG_size = 9;
27060 fra.me.nitni_local_ref_head = NULL;
27061 fra.me.REG[0] = NIT_NULL;
27062 fra.me.REG[1] = NIT_NULL;
27063 fra.me.REG[2] = NIT_NULL;
27064 fra.me.REG[3] = NIT_NULL;
27065 fra.me.REG[4] = NIT_NULL;
27066 fra.me.REG[5] = NIT_NULL;
27067 fra.me.REG[6] = NIT_NULL;
27068 fra.me.REG[7] = NIT_NULL;
27069 fra.me.REG[8] = NIT_NULL;
27070 fra.me.REG[0] = p0;
27071 fra.me.REG[1] = p1;
27072 /* parser/parser.nit:9162 */
27073 fra.me.REG[2] = NIT_NULL;
27074 /* parser/parser.nit:9163 */
27075 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27076 /* parser/parser.nit:9164 */
27077 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27078 /* parser/parser.nit:9165 */
27079 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27080 /* parser/parser.nit:9166 */
27081 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27082 /* parser/parser.nit:9167 */
27083 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27084 /* parser/parser.nit:9168 */
27085 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27086 /* parser/parser.nit:9170 */
27087 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*/;
27088 if (UNTAG_Bool(REGB0)) {
27089 } else {
27090 nit_abort("Assert failed", NULL, LOCATE_parser, 9170);
27091 }
27092 /* parser/parser.nit:9172 */
27093 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*/;
27094 if (UNTAG_Bool(REGB0)) {
27095 } else {
27096 nit_abort("Assert failed", NULL, LOCATE_parser, 9172);
27097 }
27098 /* parser/parser.nit:9174 */
27099 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*/;
27100 if (UNTAG_Bool(REGB0)) {
27101 } else {
27102 nit_abort("Assert failed", NULL, LOCATE_parser, 9174);
27103 }
27104 /* parser/parser.nit:9176 */
27105 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*/;
27106 if (UNTAG_Bool(REGB0)) {
27107 } else {
27108 nit_abort("Assert failed", NULL, LOCATE_parser, 9176);
27109 }
27110 /* parser/parser.nit:9178 */
27111 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*/;
27112 if (UNTAG_Bool(REGB0)) {
27113 } else {
27114 nit_abort("Assert failed", NULL, LOCATE_parser, 9178);
27115 }
27116 /* parser/parser.nit:9180 */
27117 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*/;
27118 if (UNTAG_Bool(REGB0)) {
27119 } else {
27120 nit_abort("Assert failed", NULL, LOCATE_parser, 9180);
27121 }
27122 /* parser/parser.nit:9181 */
27123 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]);
27124 /* parser/parser.nit:9192 */
27125 fra.me.REG[2] = fra.me.REG[3];
27126 /* parser/parser.nit:9193 */
27127 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27128 if (UNTAG_Bool(REGB0)) {
27129 } else {
27130 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9193);
27131 }
27132 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27133 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27134 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27135 stack_frame_head = fra.me.prev;
27136 return;
27137 }
27138 static const char LOCATE_parser___ReduceAction186___action[] = "parser::ReduceAction186::(parser::ReduceAction::action)";
27139 void parser___ReduceAction186___action(val_t p0, val_t p1){
27140 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
27141 val_t REGB0;
27142 val_t tmp;
27143 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27144 fra.me.file = LOCATE_parser;
27145 fra.me.line = 9198;
27146 fra.me.meth = LOCATE_parser___ReduceAction186___action;
27147 fra.me.has_broke = 0;
27148 fra.me.REG_size = 10;
27149 fra.me.nitni_local_ref_head = NULL;
27150 fra.me.REG[0] = NIT_NULL;
27151 fra.me.REG[1] = NIT_NULL;
27152 fra.me.REG[2] = NIT_NULL;
27153 fra.me.REG[3] = NIT_NULL;
27154 fra.me.REG[4] = NIT_NULL;
27155 fra.me.REG[5] = NIT_NULL;
27156 fra.me.REG[6] = NIT_NULL;
27157 fra.me.REG[7] = NIT_NULL;
27158 fra.me.REG[8] = NIT_NULL;
27159 fra.me.REG[9] = NIT_NULL;
27160 fra.me.REG[0] = p0;
27161 fra.me.REG[1] = p1;
27162 /* parser/parser.nit:9200 */
27163 fra.me.REG[2] = NIT_NULL;
27164 /* parser/parser.nit:9201 */
27165 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27166 /* parser/parser.nit:9202 */
27167 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27168 /* parser/parser.nit:9203 */
27169 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27170 /* parser/parser.nit:9204 */
27171 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27172 /* parser/parser.nit:9205 */
27173 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27174 /* parser/parser.nit:9206 */
27175 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27176 /* parser/parser.nit:9207 */
27177 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27178 /* parser/parser.nit:9209 */
27179 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*/;
27180 if (UNTAG_Bool(REGB0)) {
27181 } else {
27182 nit_abort("Assert failed", NULL, LOCATE_parser, 9209);
27183 }
27184 /* parser/parser.nit:9211 */
27185 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*/;
27186 if (UNTAG_Bool(REGB0)) {
27187 } else {
27188 nit_abort("Assert failed", NULL, LOCATE_parser, 9211);
27189 }
27190 /* parser/parser.nit:9213 */
27191 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*/;
27192 if (UNTAG_Bool(REGB0)) {
27193 } else {
27194 nit_abort("Assert failed", NULL, LOCATE_parser, 9213);
27195 }
27196 /* parser/parser.nit:9215 */
27197 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*/;
27198 if (UNTAG_Bool(REGB0)) {
27199 } else {
27200 nit_abort("Assert failed", NULL, LOCATE_parser, 9215);
27201 }
27202 /* parser/parser.nit:9217 */
27203 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*/;
27204 if (UNTAG_Bool(REGB0)) {
27205 } else {
27206 nit_abort("Assert failed", NULL, LOCATE_parser, 9217);
27207 }
27208 /* parser/parser.nit:9219 */
27209 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*/;
27210 if (UNTAG_Bool(REGB0)) {
27211 } else {
27212 nit_abort("Assert failed", NULL, LOCATE_parser, 9219);
27213 }
27214 /* parser/parser.nit:9221 */
27215 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*/;
27216 if (UNTAG_Bool(REGB0)) {
27217 } else {
27218 nit_abort("Assert failed", NULL, LOCATE_parser, 9221);
27219 }
27220 /* parser/parser.nit:9222 */
27221 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]);
27222 /* parser/parser.nit:9233 */
27223 fra.me.REG[2] = fra.me.REG[3];
27224 /* parser/parser.nit:9234 */
27225 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27226 if (UNTAG_Bool(REGB0)) {
27227 } else {
27228 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9234);
27229 }
27230 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27231 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27232 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27233 stack_frame_head = fra.me.prev;
27234 return;
27235 }
27236 static const char LOCATE_parser___ReduceAction187___action[] = "parser::ReduceAction187::(parser::ReduceAction::action)";
27237 void parser___ReduceAction187___action(val_t p0, val_t p1){
27238 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
27239 val_t REGB0;
27240 val_t tmp;
27241 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27242 fra.me.file = LOCATE_parser;
27243 fra.me.line = 9239;
27244 fra.me.meth = LOCATE_parser___ReduceAction187___action;
27245 fra.me.has_broke = 0;
27246 fra.me.REG_size = 10;
27247 fra.me.nitni_local_ref_head = NULL;
27248 fra.me.REG[0] = NIT_NULL;
27249 fra.me.REG[1] = NIT_NULL;
27250 fra.me.REG[2] = NIT_NULL;
27251 fra.me.REG[3] = NIT_NULL;
27252 fra.me.REG[4] = NIT_NULL;
27253 fra.me.REG[5] = NIT_NULL;
27254 fra.me.REG[6] = NIT_NULL;
27255 fra.me.REG[7] = NIT_NULL;
27256 fra.me.REG[8] = NIT_NULL;
27257 fra.me.REG[9] = NIT_NULL;
27258 fra.me.REG[0] = p0;
27259 fra.me.REG[1] = p1;
27260 /* parser/parser.nit:9241 */
27261 fra.me.REG[2] = NIT_NULL;
27262 /* parser/parser.nit:9242 */
27263 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27264 /* parser/parser.nit:9243 */
27265 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27266 /* parser/parser.nit:9244 */
27267 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27268 /* parser/parser.nit:9245 */
27269 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27270 /* parser/parser.nit:9246 */
27271 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27272 /* parser/parser.nit:9247 */
27273 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27274 /* parser/parser.nit:9248 */
27275 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27276 /* parser/parser.nit:9250 */
27277 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*/;
27278 if (UNTAG_Bool(REGB0)) {
27279 } else {
27280 nit_abort("Assert failed", NULL, LOCATE_parser, 9250);
27281 }
27282 /* parser/parser.nit:9252 */
27283 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*/;
27284 if (UNTAG_Bool(REGB0)) {
27285 } else {
27286 nit_abort("Assert failed", NULL, LOCATE_parser, 9252);
27287 }
27288 /* parser/parser.nit:9254 */
27289 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*/;
27290 if (UNTAG_Bool(REGB0)) {
27291 } else {
27292 nit_abort("Assert failed", NULL, LOCATE_parser, 9254);
27293 }
27294 /* parser/parser.nit:9256 */
27295 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*/;
27296 if (UNTAG_Bool(REGB0)) {
27297 } else {
27298 nit_abort("Assert failed", NULL, LOCATE_parser, 9256);
27299 }
27300 /* parser/parser.nit:9258 */
27301 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*/;
27302 if (UNTAG_Bool(REGB0)) {
27303 } else {
27304 nit_abort("Assert failed", NULL, LOCATE_parser, 9258);
27305 }
27306 /* parser/parser.nit:9260 */
27307 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*/;
27308 if (UNTAG_Bool(REGB0)) {
27309 } else {
27310 nit_abort("Assert failed", NULL, LOCATE_parser, 9260);
27311 }
27312 /* parser/parser.nit:9262 */
27313 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*/;
27314 if (UNTAG_Bool(REGB0)) {
27315 } else {
27316 nit_abort("Assert failed", NULL, LOCATE_parser, 9262);
27317 }
27318 /* parser/parser.nit:9263 */
27319 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]);
27320 /* parser/parser.nit:9274 */
27321 fra.me.REG[2] = fra.me.REG[3];
27322 /* parser/parser.nit:9275 */
27323 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27324 if (UNTAG_Bool(REGB0)) {
27325 } else {
27326 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9275);
27327 }
27328 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27329 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27330 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27331 stack_frame_head = fra.me.prev;
27332 return;
27333 }
27334 static const char LOCATE_parser___ReduceAction188___action[] = "parser::ReduceAction188::(parser::ReduceAction::action)";
27335 void parser___ReduceAction188___action(val_t p0, val_t p1){
27336 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
27337 val_t REGB0;
27338 val_t tmp;
27339 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27340 fra.me.file = LOCATE_parser;
27341 fra.me.line = 9280;
27342 fra.me.meth = LOCATE_parser___ReduceAction188___action;
27343 fra.me.has_broke = 0;
27344 fra.me.REG_size = 11;
27345 fra.me.nitni_local_ref_head = NULL;
27346 fra.me.REG[0] = NIT_NULL;
27347 fra.me.REG[1] = NIT_NULL;
27348 fra.me.REG[2] = NIT_NULL;
27349 fra.me.REG[3] = NIT_NULL;
27350 fra.me.REG[4] = NIT_NULL;
27351 fra.me.REG[5] = NIT_NULL;
27352 fra.me.REG[6] = NIT_NULL;
27353 fra.me.REG[7] = NIT_NULL;
27354 fra.me.REG[8] = NIT_NULL;
27355 fra.me.REG[9] = NIT_NULL;
27356 fra.me.REG[10] = NIT_NULL;
27357 fra.me.REG[0] = p0;
27358 fra.me.REG[1] = p1;
27359 /* parser/parser.nit:9282 */
27360 fra.me.REG[2] = NIT_NULL;
27361 /* parser/parser.nit:9283 */
27362 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27363 /* parser/parser.nit:9284 */
27364 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27365 /* parser/parser.nit:9285 */
27366 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27367 /* parser/parser.nit:9286 */
27368 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27369 /* parser/parser.nit:9287 */
27370 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27371 /* parser/parser.nit:9288 */
27372 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27373 /* parser/parser.nit:9289 */
27374 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27375 /* parser/parser.nit:9290 */
27376 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27377 /* parser/parser.nit:9292 */
27378 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*/;
27379 if (UNTAG_Bool(REGB0)) {
27380 } else {
27381 nit_abort("Assert failed", NULL, LOCATE_parser, 9292);
27382 }
27383 /* parser/parser.nit:9294 */
27384 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*/;
27385 if (UNTAG_Bool(REGB0)) {
27386 } else {
27387 nit_abort("Assert failed", NULL, LOCATE_parser, 9294);
27388 }
27389 /* parser/parser.nit:9296 */
27390 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*/;
27391 if (UNTAG_Bool(REGB0)) {
27392 } else {
27393 nit_abort("Assert failed", NULL, LOCATE_parser, 9296);
27394 }
27395 /* parser/parser.nit:9298 */
27396 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*/;
27397 if (UNTAG_Bool(REGB0)) {
27398 } else {
27399 nit_abort("Assert failed", NULL, LOCATE_parser, 9298);
27400 }
27401 /* parser/parser.nit:9300 */
27402 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*/;
27403 if (UNTAG_Bool(REGB0)) {
27404 } else {
27405 nit_abort("Assert failed", NULL, LOCATE_parser, 9300);
27406 }
27407 /* parser/parser.nit:9302 */
27408 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*/;
27409 if (UNTAG_Bool(REGB0)) {
27410 } else {
27411 nit_abort("Assert failed", NULL, LOCATE_parser, 9302);
27412 }
27413 /* parser/parser.nit:9304 */
27414 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*/;
27415 if (UNTAG_Bool(REGB0)) {
27416 } else {
27417 nit_abort("Assert failed", NULL, LOCATE_parser, 9304);
27418 }
27419 /* parser/parser.nit:9306 */
27420 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*/;
27421 if (UNTAG_Bool(REGB0)) {
27422 } else {
27423 nit_abort("Assert failed", NULL, LOCATE_parser, 9306);
27424 }
27425 /* parser/parser.nit:9307 */
27426 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]);
27427 /* parser/parser.nit:9318 */
27428 fra.me.REG[2] = fra.me.REG[3];
27429 /* parser/parser.nit:9319 */
27430 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27431 if (UNTAG_Bool(REGB0)) {
27432 } else {
27433 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9319);
27434 }
27435 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27436 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27437 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27438 stack_frame_head = fra.me.prev;
27439 return;
27440 }
27441 static const char LOCATE_parser___ReduceAction189___action[] = "parser::ReduceAction189::(parser::ReduceAction::action)";
27442 void parser___ReduceAction189___action(val_t p0, val_t p1){
27443 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
27444 val_t REGB0;
27445 val_t tmp;
27446 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27447 fra.me.file = LOCATE_parser;
27448 fra.me.line = 9324;
27449 fra.me.meth = LOCATE_parser___ReduceAction189___action;
27450 fra.me.has_broke = 0;
27451 fra.me.REG_size = 7;
27452 fra.me.nitni_local_ref_head = NULL;
27453 fra.me.REG[0] = NIT_NULL;
27454 fra.me.REG[1] = NIT_NULL;
27455 fra.me.REG[2] = NIT_NULL;
27456 fra.me.REG[3] = NIT_NULL;
27457 fra.me.REG[4] = NIT_NULL;
27458 fra.me.REG[5] = NIT_NULL;
27459 fra.me.REG[6] = NIT_NULL;
27460 fra.me.REG[0] = p0;
27461 fra.me.REG[1] = p1;
27462 /* parser/parser.nit:9326 */
27463 fra.me.REG[2] = NIT_NULL;
27464 /* parser/parser.nit:9327 */
27465 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27466 /* parser/parser.nit:9328 */
27467 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27468 /* parser/parser.nit:9329 */
27469 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27470 /* parser/parser.nit:9330 */
27471 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27472 /* parser/parser.nit:9332 */
27473 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*/;
27474 if (UNTAG_Bool(REGB0)) {
27475 } else {
27476 nit_abort("Assert failed", NULL, LOCATE_parser, 9332);
27477 }
27478 /* parser/parser.nit:9334 */
27479 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*/;
27480 if (UNTAG_Bool(REGB0)) {
27481 } else {
27482 nit_abort("Assert failed", NULL, LOCATE_parser, 9334);
27483 }
27484 /* parser/parser.nit:9336 */
27485 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*/;
27486 if (UNTAG_Bool(REGB0)) {
27487 } else {
27488 nit_abort("Assert failed", NULL, LOCATE_parser, 9336);
27489 }
27490 /* parser/parser.nit:9338 */
27491 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
27492 if (UNTAG_Bool(REGB0)) {
27493 } else {
27494 nit_abort("Assert failed", NULL, LOCATE_parser, 9338);
27495 }
27496 /* parser/parser.nit:9339 */
27497 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, NIT_NULL);
27498 /* parser/parser.nit:9352 */
27499 fra.me.REG[2] = fra.me.REG[3];
27500 /* parser/parser.nit:9353 */
27501 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27502 if (UNTAG_Bool(REGB0)) {
27503 } else {
27504 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9353);
27505 }
27506 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27507 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27508 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27509 stack_frame_head = fra.me.prev;
27510 return;
27511 }
27512 static const char LOCATE_parser___ReduceAction190___action[] = "parser::ReduceAction190::(parser::ReduceAction::action)";
27513 void parser___ReduceAction190___action(val_t p0, val_t p1){
27514 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
27515 val_t REGB0;
27516 val_t tmp;
27517 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27518 fra.me.file = LOCATE_parser;
27519 fra.me.line = 9358;
27520 fra.me.meth = LOCATE_parser___ReduceAction190___action;
27521 fra.me.has_broke = 0;
27522 fra.me.REG_size = 8;
27523 fra.me.nitni_local_ref_head = NULL;
27524 fra.me.REG[0] = NIT_NULL;
27525 fra.me.REG[1] = NIT_NULL;
27526 fra.me.REG[2] = NIT_NULL;
27527 fra.me.REG[3] = NIT_NULL;
27528 fra.me.REG[4] = NIT_NULL;
27529 fra.me.REG[5] = NIT_NULL;
27530 fra.me.REG[6] = NIT_NULL;
27531 fra.me.REG[7] = NIT_NULL;
27532 fra.me.REG[0] = p0;
27533 fra.me.REG[1] = p1;
27534 /* parser/parser.nit:9360 */
27535 fra.me.REG[2] = NIT_NULL;
27536 /* parser/parser.nit:9361 */
27537 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27538 /* parser/parser.nit:9362 */
27539 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27540 /* parser/parser.nit:9363 */
27541 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27542 /* parser/parser.nit:9364 */
27543 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27544 /* parser/parser.nit:9365 */
27545 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27546 /* parser/parser.nit:9367 */
27547 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*/;
27548 if (UNTAG_Bool(REGB0)) {
27549 } else {
27550 nit_abort("Assert failed", NULL, LOCATE_parser, 9367);
27551 }
27552 /* parser/parser.nit:9369 */
27553 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*/;
27554 if (UNTAG_Bool(REGB0)) {
27555 } else {
27556 nit_abort("Assert failed", NULL, LOCATE_parser, 9369);
27557 }
27558 /* parser/parser.nit:9371 */
27559 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*/;
27560 if (UNTAG_Bool(REGB0)) {
27561 } else {
27562 nit_abort("Assert failed", NULL, LOCATE_parser, 9371);
27563 }
27564 /* parser/parser.nit:9373 */
27565 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*/;
27566 if (UNTAG_Bool(REGB0)) {
27567 } else {
27568 nit_abort("Assert failed", NULL, LOCATE_parser, 9373);
27569 }
27570 /* parser/parser.nit:9375 */
27571 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*/;
27572 if (UNTAG_Bool(REGB0)) {
27573 } else {
27574 nit_abort("Assert failed", NULL, LOCATE_parser, 9375);
27575 }
27576 /* parser/parser.nit:9376 */
27577 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, NIT_NULL);
27578 /* parser/parser.nit:9389 */
27579 fra.me.REG[2] = fra.me.REG[3];
27580 /* parser/parser.nit:9390 */
27581 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27582 if (UNTAG_Bool(REGB0)) {
27583 } else {
27584 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9390);
27585 }
27586 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27587 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27588 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27589 stack_frame_head = fra.me.prev;
27590 return;
27591 }
27592 static const char LOCATE_parser___ReduceAction191___action[] = "parser::ReduceAction191::(parser::ReduceAction::action)";
27593 void parser___ReduceAction191___action(val_t p0, val_t p1){
27594 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
27595 val_t REGB0;
27596 val_t tmp;
27597 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27598 fra.me.file = LOCATE_parser;
27599 fra.me.line = 9395;
27600 fra.me.meth = LOCATE_parser___ReduceAction191___action;
27601 fra.me.has_broke = 0;
27602 fra.me.REG_size = 8;
27603 fra.me.nitni_local_ref_head = NULL;
27604 fra.me.REG[0] = NIT_NULL;
27605 fra.me.REG[1] = NIT_NULL;
27606 fra.me.REG[2] = NIT_NULL;
27607 fra.me.REG[3] = NIT_NULL;
27608 fra.me.REG[4] = NIT_NULL;
27609 fra.me.REG[5] = NIT_NULL;
27610 fra.me.REG[6] = NIT_NULL;
27611 fra.me.REG[7] = NIT_NULL;
27612 fra.me.REG[0] = p0;
27613 fra.me.REG[1] = p1;
27614 /* parser/parser.nit:9397 */
27615 fra.me.REG[2] = NIT_NULL;
27616 /* parser/parser.nit:9398 */
27617 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27618 /* parser/parser.nit:9399 */
27619 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27620 /* parser/parser.nit:9400 */
27621 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27622 /* parser/parser.nit:9401 */
27623 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27624 /* parser/parser.nit:9402 */
27625 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27626 /* parser/parser.nit:9404 */
27627 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*/;
27628 if (UNTAG_Bool(REGB0)) {
27629 } else {
27630 nit_abort("Assert failed", NULL, LOCATE_parser, 9404);
27631 }
27632 /* parser/parser.nit:9406 */
27633 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*/;
27634 if (UNTAG_Bool(REGB0)) {
27635 } else {
27636 nit_abort("Assert failed", NULL, LOCATE_parser, 9406);
27637 }
27638 /* parser/parser.nit:9408 */
27639 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*/;
27640 if (UNTAG_Bool(REGB0)) {
27641 } else {
27642 nit_abort("Assert failed", NULL, LOCATE_parser, 9408);
27643 }
27644 /* parser/parser.nit:9410 */
27645 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*/;
27646 if (UNTAG_Bool(REGB0)) {
27647 } else {
27648 nit_abort("Assert failed", NULL, LOCATE_parser, 9410);
27649 }
27650 /* parser/parser.nit:9412 */
27651 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*/;
27652 if (UNTAG_Bool(REGB0)) {
27653 } else {
27654 nit_abort("Assert failed", NULL, LOCATE_parser, 9412);
27655 }
27656 /* parser/parser.nit:9413 */
27657 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, NIT_NULL);
27658 /* parser/parser.nit:9426 */
27659 fra.me.REG[2] = fra.me.REG[3];
27660 /* parser/parser.nit:9427 */
27661 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27662 if (UNTAG_Bool(REGB0)) {
27663 } else {
27664 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9427);
27665 }
27666 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27667 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27668 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27669 stack_frame_head = fra.me.prev;
27670 return;
27671 }
27672 static const char LOCATE_parser___ReduceAction192___action[] = "parser::ReduceAction192::(parser::ReduceAction::action)";
27673 void parser___ReduceAction192___action(val_t p0, val_t p1){
27674 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
27675 val_t REGB0;
27676 val_t tmp;
27677 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27678 fra.me.file = LOCATE_parser;
27679 fra.me.line = 9432;
27680 fra.me.meth = LOCATE_parser___ReduceAction192___action;
27681 fra.me.has_broke = 0;
27682 fra.me.REG_size = 9;
27683 fra.me.nitni_local_ref_head = NULL;
27684 fra.me.REG[0] = NIT_NULL;
27685 fra.me.REG[1] = NIT_NULL;
27686 fra.me.REG[2] = NIT_NULL;
27687 fra.me.REG[3] = NIT_NULL;
27688 fra.me.REG[4] = NIT_NULL;
27689 fra.me.REG[5] = NIT_NULL;
27690 fra.me.REG[6] = NIT_NULL;
27691 fra.me.REG[7] = NIT_NULL;
27692 fra.me.REG[8] = NIT_NULL;
27693 fra.me.REG[0] = p0;
27694 fra.me.REG[1] = p1;
27695 /* parser/parser.nit:9434 */
27696 fra.me.REG[2] = NIT_NULL;
27697 /* parser/parser.nit:9435 */
27698 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27699 /* parser/parser.nit:9436 */
27700 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27701 /* parser/parser.nit:9437 */
27702 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27703 /* parser/parser.nit:9438 */
27704 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27705 /* parser/parser.nit:9439 */
27706 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27707 /* parser/parser.nit:9440 */
27708 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27709 /* parser/parser.nit:9442 */
27710 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*/;
27711 if (UNTAG_Bool(REGB0)) {
27712 } else {
27713 nit_abort("Assert failed", NULL, LOCATE_parser, 9442);
27714 }
27715 /* parser/parser.nit:9444 */
27716 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*/;
27717 if (UNTAG_Bool(REGB0)) {
27718 } else {
27719 nit_abort("Assert failed", NULL, LOCATE_parser, 9444);
27720 }
27721 /* parser/parser.nit:9446 */
27722 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*/;
27723 if (UNTAG_Bool(REGB0)) {
27724 } else {
27725 nit_abort("Assert failed", NULL, LOCATE_parser, 9446);
27726 }
27727 /* parser/parser.nit:9448 */
27728 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*/;
27729 if (UNTAG_Bool(REGB0)) {
27730 } else {
27731 nit_abort("Assert failed", NULL, LOCATE_parser, 9448);
27732 }
27733 /* parser/parser.nit:9450 */
27734 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*/;
27735 if (UNTAG_Bool(REGB0)) {
27736 } else {
27737 nit_abort("Assert failed", NULL, LOCATE_parser, 9450);
27738 }
27739 /* parser/parser.nit:9452 */
27740 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*/;
27741 if (UNTAG_Bool(REGB0)) {
27742 } else {
27743 nit_abort("Assert failed", NULL, LOCATE_parser, 9452);
27744 }
27745 /* parser/parser.nit:9453 */
27746 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, NIT_NULL);
27747 /* parser/parser.nit:9466 */
27748 fra.me.REG[2] = fra.me.REG[3];
27749 /* parser/parser.nit:9467 */
27750 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27751 if (UNTAG_Bool(REGB0)) {
27752 } else {
27753 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9467);
27754 }
27755 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27756 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27757 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27758 stack_frame_head = fra.me.prev;
27759 return;
27760 }
27761 static const char LOCATE_parser___ReduceAction193___action[] = "parser::ReduceAction193::(parser::ReduceAction::action)";
27762 void parser___ReduceAction193___action(val_t p0, val_t p1){
27763 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
27764 val_t REGB0;
27765 val_t tmp;
27766 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27767 fra.me.file = LOCATE_parser;
27768 fra.me.line = 9472;
27769 fra.me.meth = LOCATE_parser___ReduceAction193___action;
27770 fra.me.has_broke = 0;
27771 fra.me.REG_size = 8;
27772 fra.me.nitni_local_ref_head = NULL;
27773 fra.me.REG[0] = NIT_NULL;
27774 fra.me.REG[1] = NIT_NULL;
27775 fra.me.REG[2] = NIT_NULL;
27776 fra.me.REG[3] = NIT_NULL;
27777 fra.me.REG[4] = NIT_NULL;
27778 fra.me.REG[5] = NIT_NULL;
27779 fra.me.REG[6] = NIT_NULL;
27780 fra.me.REG[7] = NIT_NULL;
27781 fra.me.REG[0] = p0;
27782 fra.me.REG[1] = p1;
27783 /* parser/parser.nit:9474 */
27784 fra.me.REG[2] = NIT_NULL;
27785 /* parser/parser.nit:9475 */
27786 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27787 /* parser/parser.nit:9476 */
27788 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27789 /* parser/parser.nit:9477 */
27790 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27791 /* parser/parser.nit:9478 */
27792 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27793 /* parser/parser.nit:9479 */
27794 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27795 /* parser/parser.nit:9481 */
27796 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*/;
27797 if (UNTAG_Bool(REGB0)) {
27798 } else {
27799 nit_abort("Assert failed", NULL, LOCATE_parser, 9481);
27800 }
27801 /* parser/parser.nit:9483 */
27802 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*/;
27803 if (UNTAG_Bool(REGB0)) {
27804 } else {
27805 nit_abort("Assert failed", NULL, LOCATE_parser, 9483);
27806 }
27807 /* parser/parser.nit:9485 */
27808 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*/;
27809 if (UNTAG_Bool(REGB0)) {
27810 } else {
27811 nit_abort("Assert failed", NULL, LOCATE_parser, 9485);
27812 }
27813 /* parser/parser.nit:9487 */
27814 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*/;
27815 if (UNTAG_Bool(REGB0)) {
27816 } else {
27817 nit_abort("Assert failed", NULL, LOCATE_parser, 9487);
27818 }
27819 /* parser/parser.nit:9489 */
27820 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*/;
27821 if (UNTAG_Bool(REGB0)) {
27822 } else {
27823 nit_abort("Assert failed", NULL, LOCATE_parser, 9489);
27824 }
27825 /* parser/parser.nit:9490 */
27826 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, NIT_NULL);
27827 /* parser/parser.nit:9503 */
27828 fra.me.REG[2] = fra.me.REG[3];
27829 /* parser/parser.nit:9504 */
27830 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27831 if (UNTAG_Bool(REGB0)) {
27832 } else {
27833 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9504);
27834 }
27835 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27836 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27837 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27838 stack_frame_head = fra.me.prev;
27839 return;
27840 }
27841 static const char LOCATE_parser___ReduceAction194___action[] = "parser::ReduceAction194::(parser::ReduceAction::action)";
27842 void parser___ReduceAction194___action(val_t p0, val_t p1){
27843 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
27844 val_t REGB0;
27845 val_t tmp;
27846 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27847 fra.me.file = LOCATE_parser;
27848 fra.me.line = 9509;
27849 fra.me.meth = LOCATE_parser___ReduceAction194___action;
27850 fra.me.has_broke = 0;
27851 fra.me.REG_size = 9;
27852 fra.me.nitni_local_ref_head = NULL;
27853 fra.me.REG[0] = NIT_NULL;
27854 fra.me.REG[1] = NIT_NULL;
27855 fra.me.REG[2] = NIT_NULL;
27856 fra.me.REG[3] = NIT_NULL;
27857 fra.me.REG[4] = NIT_NULL;
27858 fra.me.REG[5] = NIT_NULL;
27859 fra.me.REG[6] = NIT_NULL;
27860 fra.me.REG[7] = NIT_NULL;
27861 fra.me.REG[8] = NIT_NULL;
27862 fra.me.REG[0] = p0;
27863 fra.me.REG[1] = p1;
27864 /* parser/parser.nit:9511 */
27865 fra.me.REG[2] = NIT_NULL;
27866 /* parser/parser.nit:9512 */
27867 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27868 /* parser/parser.nit:9513 */
27869 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27870 /* parser/parser.nit:9514 */
27871 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27872 /* parser/parser.nit:9515 */
27873 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27874 /* parser/parser.nit:9516 */
27875 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27876 /* parser/parser.nit:9517 */
27877 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27878 /* parser/parser.nit:9519 */
27879 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*/;
27880 if (UNTAG_Bool(REGB0)) {
27881 } else {
27882 nit_abort("Assert failed", NULL, LOCATE_parser, 9519);
27883 }
27884 /* parser/parser.nit:9521 */
27885 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*/;
27886 if (UNTAG_Bool(REGB0)) {
27887 } else {
27888 nit_abort("Assert failed", NULL, LOCATE_parser, 9521);
27889 }
27890 /* parser/parser.nit:9523 */
27891 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*/;
27892 if (UNTAG_Bool(REGB0)) {
27893 } else {
27894 nit_abort("Assert failed", NULL, LOCATE_parser, 9523);
27895 }
27896 /* parser/parser.nit:9525 */
27897 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*/;
27898 if (UNTAG_Bool(REGB0)) {
27899 } else {
27900 nit_abort("Assert failed", NULL, LOCATE_parser, 9525);
27901 }
27902 /* parser/parser.nit:9527 */
27903 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*/;
27904 if (UNTAG_Bool(REGB0)) {
27905 } else {
27906 nit_abort("Assert failed", NULL, LOCATE_parser, 9527);
27907 }
27908 /* parser/parser.nit:9529 */
27909 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*/;
27910 if (UNTAG_Bool(REGB0)) {
27911 } else {
27912 nit_abort("Assert failed", NULL, LOCATE_parser, 9529);
27913 }
27914 /* parser/parser.nit:9530 */
27915 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, NIT_NULL);
27916 /* parser/parser.nit:9543 */
27917 fra.me.REG[2] = fra.me.REG[3];
27918 /* parser/parser.nit:9544 */
27919 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27920 if (UNTAG_Bool(REGB0)) {
27921 } else {
27922 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9544);
27923 }
27924 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27925 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27926 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27927 stack_frame_head = fra.me.prev;
27928 return;
27929 }
27930 static const char LOCATE_parser___ReduceAction195___action[] = "parser::ReduceAction195::(parser::ReduceAction::action)";
27931 void parser___ReduceAction195___action(val_t p0, val_t p1){
27932 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
27933 val_t REGB0;
27934 val_t tmp;
27935 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27936 fra.me.file = LOCATE_parser;
27937 fra.me.line = 9549;
27938 fra.me.meth = LOCATE_parser___ReduceAction195___action;
27939 fra.me.has_broke = 0;
27940 fra.me.REG_size = 9;
27941 fra.me.nitni_local_ref_head = NULL;
27942 fra.me.REG[0] = NIT_NULL;
27943 fra.me.REG[1] = NIT_NULL;
27944 fra.me.REG[2] = NIT_NULL;
27945 fra.me.REG[3] = NIT_NULL;
27946 fra.me.REG[4] = NIT_NULL;
27947 fra.me.REG[5] = NIT_NULL;
27948 fra.me.REG[6] = NIT_NULL;
27949 fra.me.REG[7] = NIT_NULL;
27950 fra.me.REG[8] = NIT_NULL;
27951 fra.me.REG[0] = p0;
27952 fra.me.REG[1] = p1;
27953 /* parser/parser.nit:9551 */
27954 fra.me.REG[2] = NIT_NULL;
27955 /* parser/parser.nit:9552 */
27956 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27957 /* parser/parser.nit:9553 */
27958 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27959 /* parser/parser.nit:9554 */
27960 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27961 /* parser/parser.nit:9555 */
27962 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27963 /* parser/parser.nit:9556 */
27964 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27965 /* parser/parser.nit:9557 */
27966 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27967 /* parser/parser.nit:9559 */
27968 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*/;
27969 if (UNTAG_Bool(REGB0)) {
27970 } else {
27971 nit_abort("Assert failed", NULL, LOCATE_parser, 9559);
27972 }
27973 /* parser/parser.nit:9561 */
27974 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*/;
27975 if (UNTAG_Bool(REGB0)) {
27976 } else {
27977 nit_abort("Assert failed", NULL, LOCATE_parser, 9561);
27978 }
27979 /* parser/parser.nit:9563 */
27980 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*/;
27981 if (UNTAG_Bool(REGB0)) {
27982 } else {
27983 nit_abort("Assert failed", NULL, LOCATE_parser, 9563);
27984 }
27985 /* parser/parser.nit:9565 */
27986 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*/;
27987 if (UNTAG_Bool(REGB0)) {
27988 } else {
27989 nit_abort("Assert failed", NULL, LOCATE_parser, 9565);
27990 }
27991 /* parser/parser.nit:9567 */
27992 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*/;
27993 if (UNTAG_Bool(REGB0)) {
27994 } else {
27995 nit_abort("Assert failed", NULL, LOCATE_parser, 9567);
27996 }
27997 /* parser/parser.nit:9569 */
27998 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*/;
27999 if (UNTAG_Bool(REGB0)) {
28000 } else {
28001 nit_abort("Assert failed", NULL, LOCATE_parser, 9569);
28002 }
28003 /* parser/parser.nit:9570 */
28004 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, NIT_NULL);
28005 /* parser/parser.nit:9583 */
28006 fra.me.REG[2] = fra.me.REG[3];
28007 /* parser/parser.nit:9584 */
28008 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28009 if (UNTAG_Bool(REGB0)) {
28010 } else {
28011 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9584);
28012 }
28013 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28014 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28015 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28016 stack_frame_head = fra.me.prev;
28017 return;
28018 }
28019 static const char LOCATE_parser___ReduceAction196___action[] = "parser::ReduceAction196::(parser::ReduceAction::action)";
28020 void parser___ReduceAction196___action(val_t p0, val_t p1){
28021 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
28022 val_t REGB0;
28023 val_t tmp;
28024 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28025 fra.me.file = LOCATE_parser;
28026 fra.me.line = 9589;
28027 fra.me.meth = LOCATE_parser___ReduceAction196___action;
28028 fra.me.has_broke = 0;
28029 fra.me.REG_size = 10;
28030 fra.me.nitni_local_ref_head = NULL;
28031 fra.me.REG[0] = NIT_NULL;
28032 fra.me.REG[1] = NIT_NULL;
28033 fra.me.REG[2] = NIT_NULL;
28034 fra.me.REG[3] = NIT_NULL;
28035 fra.me.REG[4] = NIT_NULL;
28036 fra.me.REG[5] = NIT_NULL;
28037 fra.me.REG[6] = NIT_NULL;
28038 fra.me.REG[7] = NIT_NULL;
28039 fra.me.REG[8] = NIT_NULL;
28040 fra.me.REG[9] = NIT_NULL;
28041 fra.me.REG[0] = p0;
28042 fra.me.REG[1] = p1;
28043 /* parser/parser.nit:9591 */
28044 fra.me.REG[2] = NIT_NULL;
28045 /* parser/parser.nit:9592 */
28046 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28047 /* parser/parser.nit:9593 */
28048 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28049 /* parser/parser.nit:9594 */
28050 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28051 /* parser/parser.nit:9595 */
28052 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28053 /* parser/parser.nit:9596 */
28054 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28055 /* parser/parser.nit:9597 */
28056 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28057 /* parser/parser.nit:9598 */
28058 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28059 /* parser/parser.nit:9600 */
28060 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*/;
28061 if (UNTAG_Bool(REGB0)) {
28062 } else {
28063 nit_abort("Assert failed", NULL, LOCATE_parser, 9600);
28064 }
28065 /* parser/parser.nit:9602 */
28066 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*/;
28067 if (UNTAG_Bool(REGB0)) {
28068 } else {
28069 nit_abort("Assert failed", NULL, LOCATE_parser, 9602);
28070 }
28071 /* parser/parser.nit:9604 */
28072 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*/;
28073 if (UNTAG_Bool(REGB0)) {
28074 } else {
28075 nit_abort("Assert failed", NULL, LOCATE_parser, 9604);
28076 }
28077 /* parser/parser.nit:9606 */
28078 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*/;
28079 if (UNTAG_Bool(REGB0)) {
28080 } else {
28081 nit_abort("Assert failed", NULL, LOCATE_parser, 9606);
28082 }
28083 /* parser/parser.nit:9608 */
28084 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*/;
28085 if (UNTAG_Bool(REGB0)) {
28086 } else {
28087 nit_abort("Assert failed", NULL, LOCATE_parser, 9608);
28088 }
28089 /* parser/parser.nit:9610 */
28090 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*/;
28091 if (UNTAG_Bool(REGB0)) {
28092 } else {
28093 nit_abort("Assert failed", NULL, LOCATE_parser, 9610);
28094 }
28095 /* parser/parser.nit:9612 */
28096 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*/;
28097 if (UNTAG_Bool(REGB0)) {
28098 } else {
28099 nit_abort("Assert failed", NULL, LOCATE_parser, 9612);
28100 }
28101 /* parser/parser.nit:9613 */
28102 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, NIT_NULL);
28103 /* parser/parser.nit:9626 */
28104 fra.me.REG[2] = fra.me.REG[3];
28105 /* parser/parser.nit:9627 */
28106 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28107 if (UNTAG_Bool(REGB0)) {
28108 } else {
28109 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9627);
28110 }
28111 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28112 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28113 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28114 stack_frame_head = fra.me.prev;
28115 return;
28116 }
28117 static const char LOCATE_parser___ReduceAction197___action[] = "parser::ReduceAction197::(parser::ReduceAction::action)";
28118 void parser___ReduceAction197___action(val_t p0, val_t p1){
28119 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
28120 val_t REGB0;
28121 val_t tmp;
28122 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28123 fra.me.file = LOCATE_parser;
28124 fra.me.line = 9632;
28125 fra.me.meth = LOCATE_parser___ReduceAction197___action;
28126 fra.me.has_broke = 0;
28127 fra.me.REG_size = 8;
28128 fra.me.nitni_local_ref_head = NULL;
28129 fra.me.REG[0] = NIT_NULL;
28130 fra.me.REG[1] = NIT_NULL;
28131 fra.me.REG[2] = NIT_NULL;
28132 fra.me.REG[3] = NIT_NULL;
28133 fra.me.REG[4] = NIT_NULL;
28134 fra.me.REG[5] = NIT_NULL;
28135 fra.me.REG[6] = NIT_NULL;
28136 fra.me.REG[7] = NIT_NULL;
28137 fra.me.REG[0] = p0;
28138 fra.me.REG[1] = p1;
28139 /* parser/parser.nit:9634 */
28140 fra.me.REG[2] = NIT_NULL;
28141 /* parser/parser.nit:9635 */
28142 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28143 /* parser/parser.nit:9636 */
28144 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28145 /* parser/parser.nit:9637 */
28146 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28147 /* parser/parser.nit:9638 */
28148 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28149 /* parser/parser.nit:9639 */
28150 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28151 /* parser/parser.nit:9641 */
28152 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*/;
28153 if (UNTAG_Bool(REGB0)) {
28154 } else {
28155 nit_abort("Assert failed", NULL, LOCATE_parser, 9641);
28156 }
28157 /* parser/parser.nit:9643 */
28158 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*/;
28159 if (UNTAG_Bool(REGB0)) {
28160 } else {
28161 nit_abort("Assert failed", NULL, LOCATE_parser, 9643);
28162 }
28163 /* parser/parser.nit:9645 */
28164 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*/;
28165 if (UNTAG_Bool(REGB0)) {
28166 } else {
28167 nit_abort("Assert failed", NULL, LOCATE_parser, 9645);
28168 }
28169 /* parser/parser.nit:9647 */
28170 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*/;
28171 if (UNTAG_Bool(REGB0)) {
28172 } else {
28173 nit_abort("Assert failed", NULL, LOCATE_parser, 9647);
28174 }
28175 /* parser/parser.nit:9649 */
28176 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*/;
28177 if (UNTAG_Bool(REGB0)) {
28178 } else {
28179 nit_abort("Assert failed", NULL, LOCATE_parser, 9649);
28180 }
28181 /* parser/parser.nit:9650 */
28182 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, NIT_NULL);
28183 /* parser/parser.nit:9663 */
28184 fra.me.REG[2] = fra.me.REG[3];
28185 /* parser/parser.nit:9664 */
28186 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28187 if (UNTAG_Bool(REGB0)) {
28188 } else {
28189 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9664);
28190 }
28191 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28192 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28193 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28194 stack_frame_head = fra.me.prev;
28195 return;
28196 }
28197 static const char LOCATE_parser___ReduceAction198___action[] = "parser::ReduceAction198::(parser::ReduceAction::action)";
28198 void parser___ReduceAction198___action(val_t p0, val_t p1){
28199 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
28200 val_t REGB0;
28201 val_t tmp;
28202 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28203 fra.me.file = LOCATE_parser;
28204 fra.me.line = 9669;
28205 fra.me.meth = LOCATE_parser___ReduceAction198___action;
28206 fra.me.has_broke = 0;
28207 fra.me.REG_size = 9;
28208 fra.me.nitni_local_ref_head = NULL;
28209 fra.me.REG[0] = NIT_NULL;
28210 fra.me.REG[1] = NIT_NULL;
28211 fra.me.REG[2] = NIT_NULL;
28212 fra.me.REG[3] = NIT_NULL;
28213 fra.me.REG[4] = NIT_NULL;
28214 fra.me.REG[5] = NIT_NULL;
28215 fra.me.REG[6] = NIT_NULL;
28216 fra.me.REG[7] = NIT_NULL;
28217 fra.me.REG[8] = NIT_NULL;
28218 fra.me.REG[0] = p0;
28219 fra.me.REG[1] = p1;
28220 /* parser/parser.nit:9671 */
28221 fra.me.REG[2] = NIT_NULL;
28222 /* parser/parser.nit:9672 */
28223 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28224 /* parser/parser.nit:9673 */
28225 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28226 /* parser/parser.nit:9674 */
28227 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28228 /* parser/parser.nit:9675 */
28229 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28230 /* parser/parser.nit:9676 */
28231 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28232 /* parser/parser.nit:9677 */
28233 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28234 /* parser/parser.nit:9679 */
28235 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*/;
28236 if (UNTAG_Bool(REGB0)) {
28237 } else {
28238 nit_abort("Assert failed", NULL, LOCATE_parser, 9679);
28239 }
28240 /* parser/parser.nit:9681 */
28241 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*/;
28242 if (UNTAG_Bool(REGB0)) {
28243 } else {
28244 nit_abort("Assert failed", NULL, LOCATE_parser, 9681);
28245 }
28246 /* parser/parser.nit:9683 */
28247 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*/;
28248 if (UNTAG_Bool(REGB0)) {
28249 } else {
28250 nit_abort("Assert failed", NULL, LOCATE_parser, 9683);
28251 }
28252 /* parser/parser.nit:9685 */
28253 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*/;
28254 if (UNTAG_Bool(REGB0)) {
28255 } else {
28256 nit_abort("Assert failed", NULL, LOCATE_parser, 9685);
28257 }
28258 /* parser/parser.nit:9687 */
28259 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*/;
28260 if (UNTAG_Bool(REGB0)) {
28261 } else {
28262 nit_abort("Assert failed", NULL, LOCATE_parser, 9687);
28263 }
28264 /* parser/parser.nit:9689 */
28265 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*/;
28266 if (UNTAG_Bool(REGB0)) {
28267 } else {
28268 nit_abort("Assert failed", NULL, LOCATE_parser, 9689);
28269 }
28270 /* parser/parser.nit:9690 */
28271 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, NIT_NULL);
28272 /* parser/parser.nit:9703 */
28273 fra.me.REG[2] = fra.me.REG[3];
28274 /* parser/parser.nit:9704 */
28275 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28276 if (UNTAG_Bool(REGB0)) {
28277 } else {
28278 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9704);
28279 }
28280 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28281 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28282 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28283 stack_frame_head = fra.me.prev;
28284 return;
28285 }
28286 static const char LOCATE_parser___ReduceAction199___action[] = "parser::ReduceAction199::(parser::ReduceAction::action)";
28287 void parser___ReduceAction199___action(val_t p0, val_t p1){
28288 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
28289 val_t REGB0;
28290 val_t tmp;
28291 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28292 fra.me.file = LOCATE_parser;
28293 fra.me.line = 9709;
28294 fra.me.meth = LOCATE_parser___ReduceAction199___action;
28295 fra.me.has_broke = 0;
28296 fra.me.REG_size = 9;
28297 fra.me.nitni_local_ref_head = NULL;
28298 fra.me.REG[0] = NIT_NULL;
28299 fra.me.REG[1] = NIT_NULL;
28300 fra.me.REG[2] = NIT_NULL;
28301 fra.me.REG[3] = NIT_NULL;
28302 fra.me.REG[4] = NIT_NULL;
28303 fra.me.REG[5] = NIT_NULL;
28304 fra.me.REG[6] = NIT_NULL;
28305 fra.me.REG[7] = NIT_NULL;
28306 fra.me.REG[8] = NIT_NULL;
28307 fra.me.REG[0] = p0;
28308 fra.me.REG[1] = p1;
28309 /* parser/parser.nit:9711 */
28310 fra.me.REG[2] = NIT_NULL;
28311 /* parser/parser.nit:9712 */
28312 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28313 /* parser/parser.nit:9713 */
28314 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28315 /* parser/parser.nit:9714 */
28316 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28317 /* parser/parser.nit:9715 */
28318 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28319 /* parser/parser.nit:9716 */
28320 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28321 /* parser/parser.nit:9717 */
28322 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28323 /* parser/parser.nit:9719 */
28324 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*/;
28325 if (UNTAG_Bool(REGB0)) {
28326 } else {
28327 nit_abort("Assert failed", NULL, LOCATE_parser, 9719);
28328 }
28329 /* parser/parser.nit:9721 */
28330 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*/;
28331 if (UNTAG_Bool(REGB0)) {
28332 } else {
28333 nit_abort("Assert failed", NULL, LOCATE_parser, 9721);
28334 }
28335 /* parser/parser.nit:9723 */
28336 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*/;
28337 if (UNTAG_Bool(REGB0)) {
28338 } else {
28339 nit_abort("Assert failed", NULL, LOCATE_parser, 9723);
28340 }
28341 /* parser/parser.nit:9725 */
28342 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*/;
28343 if (UNTAG_Bool(REGB0)) {
28344 } else {
28345 nit_abort("Assert failed", NULL, LOCATE_parser, 9725);
28346 }
28347 /* parser/parser.nit:9727 */
28348 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*/;
28349 if (UNTAG_Bool(REGB0)) {
28350 } else {
28351 nit_abort("Assert failed", NULL, LOCATE_parser, 9727);
28352 }
28353 /* parser/parser.nit:9729 */
28354 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*/;
28355 if (UNTAG_Bool(REGB0)) {
28356 } else {
28357 nit_abort("Assert failed", NULL, LOCATE_parser, 9729);
28358 }
28359 /* parser/parser.nit:9730 */
28360 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, NIT_NULL);
28361 /* parser/parser.nit:9743 */
28362 fra.me.REG[2] = fra.me.REG[3];
28363 /* parser/parser.nit:9744 */
28364 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28365 if (UNTAG_Bool(REGB0)) {
28366 } else {
28367 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9744);
28368 }
28369 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28370 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28371 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28372 stack_frame_head = fra.me.prev;
28373 return;
28374 }
28375 static const char LOCATE_parser___ReduceAction200___action[] = "parser::ReduceAction200::(parser::ReduceAction::action)";
28376 void parser___ReduceAction200___action(val_t p0, val_t p1){
28377 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
28378 val_t REGB0;
28379 val_t tmp;
28380 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28381 fra.me.file = LOCATE_parser;
28382 fra.me.line = 9749;
28383 fra.me.meth = LOCATE_parser___ReduceAction200___action;
28384 fra.me.has_broke = 0;
28385 fra.me.REG_size = 10;
28386 fra.me.nitni_local_ref_head = NULL;
28387 fra.me.REG[0] = NIT_NULL;
28388 fra.me.REG[1] = NIT_NULL;
28389 fra.me.REG[2] = NIT_NULL;
28390 fra.me.REG[3] = NIT_NULL;
28391 fra.me.REG[4] = NIT_NULL;
28392 fra.me.REG[5] = NIT_NULL;
28393 fra.me.REG[6] = NIT_NULL;
28394 fra.me.REG[7] = NIT_NULL;
28395 fra.me.REG[8] = NIT_NULL;
28396 fra.me.REG[9] = NIT_NULL;
28397 fra.me.REG[0] = p0;
28398 fra.me.REG[1] = p1;
28399 /* parser/parser.nit:9751 */
28400 fra.me.REG[2] = NIT_NULL;
28401 /* parser/parser.nit:9752 */
28402 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28403 /* parser/parser.nit:9753 */
28404 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28405 /* parser/parser.nit:9754 */
28406 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28407 /* parser/parser.nit:9755 */
28408 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28409 /* parser/parser.nit:9756 */
28410 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28411 /* parser/parser.nit:9757 */
28412 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28413 /* parser/parser.nit:9758 */
28414 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28415 /* parser/parser.nit:9760 */
28416 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*/;
28417 if (UNTAG_Bool(REGB0)) {
28418 } else {
28419 nit_abort("Assert failed", NULL, LOCATE_parser, 9760);
28420 }
28421 /* parser/parser.nit:9762 */
28422 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*/;
28423 if (UNTAG_Bool(REGB0)) {
28424 } else {
28425 nit_abort("Assert failed", NULL, LOCATE_parser, 9762);
28426 }
28427 /* parser/parser.nit:9764 */
28428 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*/;
28429 if (UNTAG_Bool(REGB0)) {
28430 } else {
28431 nit_abort("Assert failed", NULL, LOCATE_parser, 9764);
28432 }
28433 /* parser/parser.nit:9766 */
28434 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*/;
28435 if (UNTAG_Bool(REGB0)) {
28436 } else {
28437 nit_abort("Assert failed", NULL, LOCATE_parser, 9766);
28438 }
28439 /* parser/parser.nit:9768 */
28440 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*/;
28441 if (UNTAG_Bool(REGB0)) {
28442 } else {
28443 nit_abort("Assert failed", NULL, LOCATE_parser, 9768);
28444 }
28445 /* parser/parser.nit:9770 */
28446 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*/;
28447 if (UNTAG_Bool(REGB0)) {
28448 } else {
28449 nit_abort("Assert failed", NULL, LOCATE_parser, 9770);
28450 }
28451 /* parser/parser.nit:9772 */
28452 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*/;
28453 if (UNTAG_Bool(REGB0)) {
28454 } else {
28455 nit_abort("Assert failed", NULL, LOCATE_parser, 9772);
28456 }
28457 /* parser/parser.nit:9773 */
28458 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, NIT_NULL);
28459 /* parser/parser.nit:9786 */
28460 fra.me.REG[2] = fra.me.REG[3];
28461 /* parser/parser.nit:9787 */
28462 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28463 if (UNTAG_Bool(REGB0)) {
28464 } else {
28465 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9787);
28466 }
28467 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28468 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28469 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28470 stack_frame_head = fra.me.prev;
28471 return;
28472 }
28473 static const char LOCATE_parser___ReduceAction201___action[] = "parser::ReduceAction201::(parser::ReduceAction::action)";
28474 void parser___ReduceAction201___action(val_t p0, val_t p1){
28475 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
28476 val_t REGB0;
28477 val_t tmp;
28478 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28479 fra.me.file = LOCATE_parser;
28480 fra.me.line = 9792;
28481 fra.me.meth = LOCATE_parser___ReduceAction201___action;
28482 fra.me.has_broke = 0;
28483 fra.me.REG_size = 9;
28484 fra.me.nitni_local_ref_head = NULL;
28485 fra.me.REG[0] = NIT_NULL;
28486 fra.me.REG[1] = NIT_NULL;
28487 fra.me.REG[2] = NIT_NULL;
28488 fra.me.REG[3] = NIT_NULL;
28489 fra.me.REG[4] = NIT_NULL;
28490 fra.me.REG[5] = NIT_NULL;
28491 fra.me.REG[6] = NIT_NULL;
28492 fra.me.REG[7] = NIT_NULL;
28493 fra.me.REG[8] = NIT_NULL;
28494 fra.me.REG[0] = p0;
28495 fra.me.REG[1] = p1;
28496 /* parser/parser.nit:9794 */
28497 fra.me.REG[2] = NIT_NULL;
28498 /* parser/parser.nit:9795 */
28499 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28500 /* parser/parser.nit:9796 */
28501 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28502 /* parser/parser.nit:9797 */
28503 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28504 /* parser/parser.nit:9798 */
28505 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28506 /* parser/parser.nit:9799 */
28507 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28508 /* parser/parser.nit:9800 */
28509 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28510 /* parser/parser.nit:9802 */
28511 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*/;
28512 if (UNTAG_Bool(REGB0)) {
28513 } else {
28514 nit_abort("Assert failed", NULL, LOCATE_parser, 9802);
28515 }
28516 /* parser/parser.nit:9804 */
28517 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*/;
28518 if (UNTAG_Bool(REGB0)) {
28519 } else {
28520 nit_abort("Assert failed", NULL, LOCATE_parser, 9804);
28521 }
28522 /* parser/parser.nit:9806 */
28523 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*/;
28524 if (UNTAG_Bool(REGB0)) {
28525 } else {
28526 nit_abort("Assert failed", NULL, LOCATE_parser, 9806);
28527 }
28528 /* parser/parser.nit:9808 */
28529 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*/;
28530 if (UNTAG_Bool(REGB0)) {
28531 } else {
28532 nit_abort("Assert failed", NULL, LOCATE_parser, 9808);
28533 }
28534 /* parser/parser.nit:9810 */
28535 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*/;
28536 if (UNTAG_Bool(REGB0)) {
28537 } else {
28538 nit_abort("Assert failed", NULL, LOCATE_parser, 9810);
28539 }
28540 /* parser/parser.nit:9812 */
28541 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*/;
28542 if (UNTAG_Bool(REGB0)) {
28543 } else {
28544 nit_abort("Assert failed", NULL, LOCATE_parser, 9812);
28545 }
28546 /* parser/parser.nit:9813 */
28547 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, NIT_NULL);
28548 /* parser/parser.nit:9826 */
28549 fra.me.REG[2] = fra.me.REG[3];
28550 /* parser/parser.nit:9827 */
28551 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28552 if (UNTAG_Bool(REGB0)) {
28553 } else {
28554 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9827);
28555 }
28556 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28557 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28558 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28559 stack_frame_head = fra.me.prev;
28560 return;
28561 }
28562 static const char LOCATE_parser___ReduceAction202___action[] = "parser::ReduceAction202::(parser::ReduceAction::action)";
28563 void parser___ReduceAction202___action(val_t p0, val_t p1){
28564 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
28565 val_t REGB0;
28566 val_t tmp;
28567 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28568 fra.me.file = LOCATE_parser;
28569 fra.me.line = 9832;
28570 fra.me.meth = LOCATE_parser___ReduceAction202___action;
28571 fra.me.has_broke = 0;
28572 fra.me.REG_size = 10;
28573 fra.me.nitni_local_ref_head = NULL;
28574 fra.me.REG[0] = NIT_NULL;
28575 fra.me.REG[1] = NIT_NULL;
28576 fra.me.REG[2] = NIT_NULL;
28577 fra.me.REG[3] = NIT_NULL;
28578 fra.me.REG[4] = NIT_NULL;
28579 fra.me.REG[5] = NIT_NULL;
28580 fra.me.REG[6] = NIT_NULL;
28581 fra.me.REG[7] = NIT_NULL;
28582 fra.me.REG[8] = NIT_NULL;
28583 fra.me.REG[9] = NIT_NULL;
28584 fra.me.REG[0] = p0;
28585 fra.me.REG[1] = p1;
28586 /* parser/parser.nit:9834 */
28587 fra.me.REG[2] = NIT_NULL;
28588 /* parser/parser.nit:9835 */
28589 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28590 /* parser/parser.nit:9836 */
28591 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28592 /* parser/parser.nit:9837 */
28593 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28594 /* parser/parser.nit:9838 */
28595 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28596 /* parser/parser.nit:9839 */
28597 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28598 /* parser/parser.nit:9840 */
28599 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28600 /* parser/parser.nit:9841 */
28601 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28602 /* parser/parser.nit:9843 */
28603 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*/;
28604 if (UNTAG_Bool(REGB0)) {
28605 } else {
28606 nit_abort("Assert failed", NULL, LOCATE_parser, 9843);
28607 }
28608 /* parser/parser.nit:9845 */
28609 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*/;
28610 if (UNTAG_Bool(REGB0)) {
28611 } else {
28612 nit_abort("Assert failed", NULL, LOCATE_parser, 9845);
28613 }
28614 /* parser/parser.nit:9847 */
28615 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*/;
28616 if (UNTAG_Bool(REGB0)) {
28617 } else {
28618 nit_abort("Assert failed", NULL, LOCATE_parser, 9847);
28619 }
28620 /* parser/parser.nit:9849 */
28621 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*/;
28622 if (UNTAG_Bool(REGB0)) {
28623 } else {
28624 nit_abort("Assert failed", NULL, LOCATE_parser, 9849);
28625 }
28626 /* parser/parser.nit:9851 */
28627 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*/;
28628 if (UNTAG_Bool(REGB0)) {
28629 } else {
28630 nit_abort("Assert failed", NULL, LOCATE_parser, 9851);
28631 }
28632 /* parser/parser.nit:9853 */
28633 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*/;
28634 if (UNTAG_Bool(REGB0)) {
28635 } else {
28636 nit_abort("Assert failed", NULL, LOCATE_parser, 9853);
28637 }
28638 /* parser/parser.nit:9855 */
28639 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*/;
28640 if (UNTAG_Bool(REGB0)) {
28641 } else {
28642 nit_abort("Assert failed", NULL, LOCATE_parser, 9855);
28643 }
28644 /* parser/parser.nit:9856 */
28645 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, NIT_NULL);
28646 /* parser/parser.nit:9869 */
28647 fra.me.REG[2] = fra.me.REG[3];
28648 /* parser/parser.nit:9870 */
28649 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28650 if (UNTAG_Bool(REGB0)) {
28651 } else {
28652 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9870);
28653 }
28654 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28655 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28656 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28657 stack_frame_head = fra.me.prev;
28658 return;
28659 }
28660 static const char LOCATE_parser___ReduceAction203___action[] = "parser::ReduceAction203::(parser::ReduceAction::action)";
28661 void parser___ReduceAction203___action(val_t p0, val_t p1){
28662 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
28663 val_t REGB0;
28664 val_t tmp;
28665 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28666 fra.me.file = LOCATE_parser;
28667 fra.me.line = 9875;
28668 fra.me.meth = LOCATE_parser___ReduceAction203___action;
28669 fra.me.has_broke = 0;
28670 fra.me.REG_size = 10;
28671 fra.me.nitni_local_ref_head = NULL;
28672 fra.me.REG[0] = NIT_NULL;
28673 fra.me.REG[1] = NIT_NULL;
28674 fra.me.REG[2] = NIT_NULL;
28675 fra.me.REG[3] = NIT_NULL;
28676 fra.me.REG[4] = NIT_NULL;
28677 fra.me.REG[5] = NIT_NULL;
28678 fra.me.REG[6] = NIT_NULL;
28679 fra.me.REG[7] = NIT_NULL;
28680 fra.me.REG[8] = NIT_NULL;
28681 fra.me.REG[9] = NIT_NULL;
28682 fra.me.REG[0] = p0;
28683 fra.me.REG[1] = p1;
28684 /* parser/parser.nit:9877 */
28685 fra.me.REG[2] = NIT_NULL;
28686 /* parser/parser.nit:9878 */
28687 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28688 /* parser/parser.nit:9879 */
28689 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28690 /* parser/parser.nit:9880 */
28691 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28692 /* parser/parser.nit:9881 */
28693 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28694 /* parser/parser.nit:9882 */
28695 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28696 /* parser/parser.nit:9883 */
28697 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28698 /* parser/parser.nit:9884 */
28699 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28700 /* parser/parser.nit:9886 */
28701 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*/;
28702 if (UNTAG_Bool(REGB0)) {
28703 } else {
28704 nit_abort("Assert failed", NULL, LOCATE_parser, 9886);
28705 }
28706 /* parser/parser.nit:9888 */
28707 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*/;
28708 if (UNTAG_Bool(REGB0)) {
28709 } else {
28710 nit_abort("Assert failed", NULL, LOCATE_parser, 9888);
28711 }
28712 /* parser/parser.nit:9890 */
28713 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*/;
28714 if (UNTAG_Bool(REGB0)) {
28715 } else {
28716 nit_abort("Assert failed", NULL, LOCATE_parser, 9890);
28717 }
28718 /* parser/parser.nit:9892 */
28719 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*/;
28720 if (UNTAG_Bool(REGB0)) {
28721 } else {
28722 nit_abort("Assert failed", NULL, LOCATE_parser, 9892);
28723 }
28724 /* parser/parser.nit:9894 */
28725 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*/;
28726 if (UNTAG_Bool(REGB0)) {
28727 } else {
28728 nit_abort("Assert failed", NULL, LOCATE_parser, 9894);
28729 }
28730 /* parser/parser.nit:9896 */
28731 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*/;
28732 if (UNTAG_Bool(REGB0)) {
28733 } else {
28734 nit_abort("Assert failed", NULL, LOCATE_parser, 9896);
28735 }
28736 /* parser/parser.nit:9898 */
28737 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*/;
28738 if (UNTAG_Bool(REGB0)) {
28739 } else {
28740 nit_abort("Assert failed", NULL, LOCATE_parser, 9898);
28741 }
28742 /* parser/parser.nit:9899 */
28743 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, NIT_NULL);
28744 /* parser/parser.nit:9912 */
28745 fra.me.REG[2] = fra.me.REG[3];
28746 /* parser/parser.nit:9913 */
28747 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28748 if (UNTAG_Bool(REGB0)) {
28749 } else {
28750 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9913);
28751 }
28752 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28753 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28754 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28755 stack_frame_head = fra.me.prev;
28756 return;
28757 }
28758 static const char LOCATE_parser___ReduceAction204___action[] = "parser::ReduceAction204::(parser::ReduceAction::action)";
28759 void parser___ReduceAction204___action(val_t p0, val_t p1){
28760 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
28761 val_t REGB0;
28762 val_t tmp;
28763 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28764 fra.me.file = LOCATE_parser;
28765 fra.me.line = 9918;
28766 fra.me.meth = LOCATE_parser___ReduceAction204___action;
28767 fra.me.has_broke = 0;
28768 fra.me.REG_size = 11;
28769 fra.me.nitni_local_ref_head = NULL;
28770 fra.me.REG[0] = NIT_NULL;
28771 fra.me.REG[1] = NIT_NULL;
28772 fra.me.REG[2] = NIT_NULL;
28773 fra.me.REG[3] = NIT_NULL;
28774 fra.me.REG[4] = NIT_NULL;
28775 fra.me.REG[5] = NIT_NULL;
28776 fra.me.REG[6] = NIT_NULL;
28777 fra.me.REG[7] = NIT_NULL;
28778 fra.me.REG[8] = NIT_NULL;
28779 fra.me.REG[9] = NIT_NULL;
28780 fra.me.REG[10] = NIT_NULL;
28781 fra.me.REG[0] = p0;
28782 fra.me.REG[1] = p1;
28783 /* parser/parser.nit:9920 */
28784 fra.me.REG[2] = NIT_NULL;
28785 /* parser/parser.nit:9921 */
28786 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28787 /* parser/parser.nit:9922 */
28788 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28789 /* parser/parser.nit:9923 */
28790 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28791 /* parser/parser.nit:9924 */
28792 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28793 /* parser/parser.nit:9925 */
28794 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28795 /* parser/parser.nit:9926 */
28796 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28797 /* parser/parser.nit:9927 */
28798 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28799 /* parser/parser.nit:9928 */
28800 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28801 /* parser/parser.nit:9930 */
28802 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*/;
28803 if (UNTAG_Bool(REGB0)) {
28804 } else {
28805 nit_abort("Assert failed", NULL, LOCATE_parser, 9930);
28806 }
28807 /* parser/parser.nit:9932 */
28808 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*/;
28809 if (UNTAG_Bool(REGB0)) {
28810 } else {
28811 nit_abort("Assert failed", NULL, LOCATE_parser, 9932);
28812 }
28813 /* parser/parser.nit:9934 */
28814 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*/;
28815 if (UNTAG_Bool(REGB0)) {
28816 } else {
28817 nit_abort("Assert failed", NULL, LOCATE_parser, 9934);
28818 }
28819 /* parser/parser.nit:9936 */
28820 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*/;
28821 if (UNTAG_Bool(REGB0)) {
28822 } else {
28823 nit_abort("Assert failed", NULL, LOCATE_parser, 9936);
28824 }
28825 /* parser/parser.nit:9938 */
28826 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*/;
28827 if (UNTAG_Bool(REGB0)) {
28828 } else {
28829 nit_abort("Assert failed", NULL, LOCATE_parser, 9938);
28830 }
28831 /* parser/parser.nit:9940 */
28832 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*/;
28833 if (UNTAG_Bool(REGB0)) {
28834 } else {
28835 nit_abort("Assert failed", NULL, LOCATE_parser, 9940);
28836 }
28837 /* parser/parser.nit:9942 */
28838 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*/;
28839 if (UNTAG_Bool(REGB0)) {
28840 } else {
28841 nit_abort("Assert failed", NULL, LOCATE_parser, 9942);
28842 }
28843 /* parser/parser.nit:9944 */
28844 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*/;
28845 if (UNTAG_Bool(REGB0)) {
28846 } else {
28847 nit_abort("Assert failed", NULL, LOCATE_parser, 9944);
28848 }
28849 /* parser/parser.nit:9945 */
28850 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, NIT_NULL);
28851 /* parser/parser.nit:9958 */
28852 fra.me.REG[2] = fra.me.REG[3];
28853 /* parser/parser.nit:9959 */
28854 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28855 if (UNTAG_Bool(REGB0)) {
28856 } else {
28857 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9959);
28858 }
28859 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28860 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28861 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28862 stack_frame_head = fra.me.prev;
28863 return;
28864 }
28865 static const char LOCATE_parser___ReduceAction205___action[] = "parser::ReduceAction205::(parser::ReduceAction::action)";
28866 void parser___ReduceAction205___action(val_t p0, val_t p1){
28867 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
28868 val_t REGB0;
28869 val_t tmp;
28870 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28871 fra.me.file = LOCATE_parser;
28872 fra.me.line = 9964;
28873 fra.me.meth = LOCATE_parser___ReduceAction205___action;
28874 fra.me.has_broke = 0;
28875 fra.me.REG_size = 8;
28876 fra.me.nitni_local_ref_head = NULL;
28877 fra.me.REG[0] = NIT_NULL;
28878 fra.me.REG[1] = NIT_NULL;
28879 fra.me.REG[2] = NIT_NULL;
28880 fra.me.REG[3] = NIT_NULL;
28881 fra.me.REG[4] = NIT_NULL;
28882 fra.me.REG[5] = NIT_NULL;
28883 fra.me.REG[6] = NIT_NULL;
28884 fra.me.REG[7] = NIT_NULL;
28885 fra.me.REG[0] = p0;
28886 fra.me.REG[1] = p1;
28887 /* parser/parser.nit:9966 */
28888 fra.me.REG[2] = NIT_NULL;
28889 /* parser/parser.nit:9967 */
28890 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28891 /* parser/parser.nit:9968 */
28892 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28893 /* parser/parser.nit:9969 */
28894 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28895 /* parser/parser.nit:9970 */
28896 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28897 /* parser/parser.nit:9971 */
28898 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28899 /* parser/parser.nit:9972 */
28900 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28901 /* parser/parser.nit:9973 */
28902 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28903 /* parser/parser.nit:9975 */
28904 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*/;
28905 if (UNTAG_Bool(REGB0)) {
28906 } else {
28907 nit_abort("Assert failed", NULL, LOCATE_parser, 9975);
28908 }
28909 /* parser/parser.nit:9977 */
28910 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*/;
28911 if (UNTAG_Bool(REGB0)) {
28912 } else {
28913 nit_abort("Assert failed", NULL, LOCATE_parser, 9977);
28914 }
28915 /* parser/parser.nit:9979 */
28916 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*/;
28917 if (UNTAG_Bool(REGB0)) {
28918 } else {
28919 nit_abort("Assert failed", NULL, LOCATE_parser, 9979);
28920 }
28921 /* parser/parser.nit:9981 */
28922 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*/;
28923 if (UNTAG_Bool(REGB0)) {
28924 } else {
28925 nit_abort("Assert failed", NULL, LOCATE_parser, 9981);
28926 }
28927 /* parser/parser.nit:9983 */
28928 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28929 if (UNTAG_Bool(REGB0)) {
28930 } else {
28931 nit_abort("Assert failed", NULL, LOCATE_parser, 9983);
28932 }
28933 /* parser/parser.nit:9984 */
28934 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, NIT_NULL, fra.me.REG[3]);
28935 /* parser/parser.nit:9997 */
28936 fra.me.REG[2] = fra.me.REG[3];
28937 /* parser/parser.nit:9998 */
28938 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28939 if (UNTAG_Bool(REGB0)) {
28940 } else {
28941 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9998);
28942 }
28943 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28944 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28945 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28946 stack_frame_head = fra.me.prev;
28947 return;
28948 }
28949 static const char LOCATE_parser___ReduceAction206___action[] = "parser::ReduceAction206::(parser::ReduceAction::action)";
28950 void parser___ReduceAction206___action(val_t p0, val_t p1){
28951 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
28952 val_t REGB0;
28953 val_t tmp;
28954 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28955 fra.me.file = LOCATE_parser;
28956 fra.me.line = 10003;
28957 fra.me.meth = LOCATE_parser___ReduceAction206___action;
28958 fra.me.has_broke = 0;
28959 fra.me.REG_size = 9;
28960 fra.me.nitni_local_ref_head = NULL;
28961 fra.me.REG[0] = NIT_NULL;
28962 fra.me.REG[1] = NIT_NULL;
28963 fra.me.REG[2] = NIT_NULL;
28964 fra.me.REG[3] = NIT_NULL;
28965 fra.me.REG[4] = NIT_NULL;
28966 fra.me.REG[5] = NIT_NULL;
28967 fra.me.REG[6] = NIT_NULL;
28968 fra.me.REG[7] = NIT_NULL;
28969 fra.me.REG[8] = NIT_NULL;
28970 fra.me.REG[0] = p0;
28971 fra.me.REG[1] = p1;
28972 /* parser/parser.nit:10005 */
28973 fra.me.REG[2] = NIT_NULL;
28974 /* parser/parser.nit:10006 */
28975 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28976 /* parser/parser.nit:10007 */
28977 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28978 /* parser/parser.nit:10008 */
28979 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28980 /* parser/parser.nit:10009 */
28981 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28982 /* parser/parser.nit:10010 */
28983 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28984 /* parser/parser.nit:10011 */
28985 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28986 /* parser/parser.nit:10012 */
28987 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28988 /* parser/parser.nit:10013 */
28989 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28990 /* parser/parser.nit:10015 */
28991 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*/;
28992 if (UNTAG_Bool(REGB0)) {
28993 } else {
28994 nit_abort("Assert failed", NULL, LOCATE_parser, 10015);
28995 }
28996 /* parser/parser.nit:10017 */
28997 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*/;
28998 if (UNTAG_Bool(REGB0)) {
28999 } else {
29000 nit_abort("Assert failed", NULL, LOCATE_parser, 10017);
29001 }
29002 /* parser/parser.nit:10019 */
29003 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*/;
29004 if (UNTAG_Bool(REGB0)) {
29005 } else {
29006 nit_abort("Assert failed", NULL, LOCATE_parser, 10019);
29007 }
29008 /* parser/parser.nit:10021 */
29009 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*/;
29010 if (UNTAG_Bool(REGB0)) {
29011 } else {
29012 nit_abort("Assert failed", NULL, LOCATE_parser, 10021);
29013 }
29014 /* parser/parser.nit:10023 */
29015 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*/;
29016 if (UNTAG_Bool(REGB0)) {
29017 } else {
29018 nit_abort("Assert failed", NULL, LOCATE_parser, 10023);
29019 }
29020 /* parser/parser.nit:10025 */
29021 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29022 if (UNTAG_Bool(REGB0)) {
29023 } else {
29024 nit_abort("Assert failed", NULL, LOCATE_parser, 10025);
29025 }
29026 /* parser/parser.nit:10026 */
29027 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, NIT_NULL, fra.me.REG[3]);
29028 /* parser/parser.nit:10039 */
29029 fra.me.REG[2] = fra.me.REG[3];
29030 /* parser/parser.nit:10040 */
29031 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29032 if (UNTAG_Bool(REGB0)) {
29033 } else {
29034 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10040);
29035 }
29036 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29037 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29038 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29039 stack_frame_head = fra.me.prev;
29040 return;
29041 }
29042 static const char LOCATE_parser___ReduceAction207___action[] = "parser::ReduceAction207::(parser::ReduceAction::action)";
29043 void parser___ReduceAction207___action(val_t p0, val_t p1){
29044 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
29045 val_t REGB0;
29046 val_t tmp;
29047 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29048 fra.me.file = LOCATE_parser;
29049 fra.me.line = 10045;
29050 fra.me.meth = LOCATE_parser___ReduceAction207___action;
29051 fra.me.has_broke = 0;
29052 fra.me.REG_size = 9;
29053 fra.me.nitni_local_ref_head = NULL;
29054 fra.me.REG[0] = NIT_NULL;
29055 fra.me.REG[1] = NIT_NULL;
29056 fra.me.REG[2] = NIT_NULL;
29057 fra.me.REG[3] = NIT_NULL;
29058 fra.me.REG[4] = NIT_NULL;
29059 fra.me.REG[5] = NIT_NULL;
29060 fra.me.REG[6] = NIT_NULL;
29061 fra.me.REG[7] = NIT_NULL;
29062 fra.me.REG[8] = NIT_NULL;
29063 fra.me.REG[0] = p0;
29064 fra.me.REG[1] = p1;
29065 /* parser/parser.nit:10047 */
29066 fra.me.REG[2] = NIT_NULL;
29067 /* parser/parser.nit:10048 */
29068 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29069 /* parser/parser.nit:10049 */
29070 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29071 /* parser/parser.nit:10050 */
29072 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29073 /* parser/parser.nit:10051 */
29074 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29075 /* parser/parser.nit:10052 */
29076 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29077 /* parser/parser.nit:10053 */
29078 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29079 /* parser/parser.nit:10054 */
29080 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29081 /* parser/parser.nit:10055 */
29082 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29083 /* parser/parser.nit:10057 */
29084 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*/;
29085 if (UNTAG_Bool(REGB0)) {
29086 } else {
29087 nit_abort("Assert failed", NULL, LOCATE_parser, 10057);
29088 }
29089 /* parser/parser.nit:10059 */
29090 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*/;
29091 if (UNTAG_Bool(REGB0)) {
29092 } else {
29093 nit_abort("Assert failed", NULL, LOCATE_parser, 10059);
29094 }
29095 /* parser/parser.nit:10061 */
29096 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*/;
29097 if (UNTAG_Bool(REGB0)) {
29098 } else {
29099 nit_abort("Assert failed", NULL, LOCATE_parser, 10061);
29100 }
29101 /* parser/parser.nit:10063 */
29102 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*/;
29103 if (UNTAG_Bool(REGB0)) {
29104 } else {
29105 nit_abort("Assert failed", NULL, LOCATE_parser, 10063);
29106 }
29107 /* parser/parser.nit:10065 */
29108 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*/;
29109 if (UNTAG_Bool(REGB0)) {
29110 } else {
29111 nit_abort("Assert failed", NULL, LOCATE_parser, 10065);
29112 }
29113 /* parser/parser.nit:10067 */
29114 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29115 if (UNTAG_Bool(REGB0)) {
29116 } else {
29117 nit_abort("Assert failed", NULL, LOCATE_parser, 10067);
29118 }
29119 /* parser/parser.nit:10068 */
29120 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, NIT_NULL, fra.me.REG[3]);
29121 /* parser/parser.nit:10081 */
29122 fra.me.REG[2] = fra.me.REG[3];
29123 /* parser/parser.nit:10082 */
29124 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29125 if (UNTAG_Bool(REGB0)) {
29126 } else {
29127 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10082);
29128 }
29129 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29130 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29131 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29132 stack_frame_head = fra.me.prev;
29133 return;
29134 }
29135 static const char LOCATE_parser___ReduceAction208___action[] = "parser::ReduceAction208::(parser::ReduceAction::action)";
29136 void parser___ReduceAction208___action(val_t p0, val_t p1){
29137 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
29138 val_t REGB0;
29139 val_t tmp;
29140 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29141 fra.me.file = LOCATE_parser;
29142 fra.me.line = 10087;
29143 fra.me.meth = LOCATE_parser___ReduceAction208___action;
29144 fra.me.has_broke = 0;
29145 fra.me.REG_size = 10;
29146 fra.me.nitni_local_ref_head = NULL;
29147 fra.me.REG[0] = NIT_NULL;
29148 fra.me.REG[1] = NIT_NULL;
29149 fra.me.REG[2] = NIT_NULL;
29150 fra.me.REG[3] = NIT_NULL;
29151 fra.me.REG[4] = NIT_NULL;
29152 fra.me.REG[5] = NIT_NULL;
29153 fra.me.REG[6] = NIT_NULL;
29154 fra.me.REG[7] = NIT_NULL;
29155 fra.me.REG[8] = NIT_NULL;
29156 fra.me.REG[9] = NIT_NULL;
29157 fra.me.REG[0] = p0;
29158 fra.me.REG[1] = p1;
29159 /* parser/parser.nit:10089 */
29160 fra.me.REG[2] = NIT_NULL;
29161 /* parser/parser.nit:10090 */
29162 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29163 /* parser/parser.nit:10091 */
29164 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29165 /* parser/parser.nit:10092 */
29166 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29167 /* parser/parser.nit:10093 */
29168 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29169 /* parser/parser.nit:10094 */
29170 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29171 /* parser/parser.nit:10095 */
29172 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29173 /* parser/parser.nit:10096 */
29174 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29175 /* parser/parser.nit:10097 */
29176 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29177 /* parser/parser.nit:10098 */
29178 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29179 /* parser/parser.nit:10100 */
29180 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*/;
29181 if (UNTAG_Bool(REGB0)) {
29182 } else {
29183 nit_abort("Assert failed", NULL, LOCATE_parser, 10100);
29184 }
29185 /* parser/parser.nit:10102 */
29186 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*/;
29187 if (UNTAG_Bool(REGB0)) {
29188 } else {
29189 nit_abort("Assert failed", NULL, LOCATE_parser, 10102);
29190 }
29191 /* parser/parser.nit:10104 */
29192 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*/;
29193 if (UNTAG_Bool(REGB0)) {
29194 } else {
29195 nit_abort("Assert failed", NULL, LOCATE_parser, 10104);
29196 }
29197 /* parser/parser.nit:10106 */
29198 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*/;
29199 if (UNTAG_Bool(REGB0)) {
29200 } else {
29201 nit_abort("Assert failed", NULL, LOCATE_parser, 10106);
29202 }
29203 /* parser/parser.nit:10108 */
29204 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*/;
29205 if (UNTAG_Bool(REGB0)) {
29206 } else {
29207 nit_abort("Assert failed", NULL, LOCATE_parser, 10108);
29208 }
29209 /* parser/parser.nit:10110 */
29210 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*/;
29211 if (UNTAG_Bool(REGB0)) {
29212 } else {
29213 nit_abort("Assert failed", NULL, LOCATE_parser, 10110);
29214 }
29215 /* parser/parser.nit:10112 */
29216 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29217 if (UNTAG_Bool(REGB0)) {
29218 } else {
29219 nit_abort("Assert failed", NULL, LOCATE_parser, 10112);
29220 }
29221 /* parser/parser.nit:10113 */
29222 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, NIT_NULL, fra.me.REG[3]);
29223 /* parser/parser.nit:10126 */
29224 fra.me.REG[2] = fra.me.REG[3];
29225 /* parser/parser.nit:10127 */
29226 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29227 if (UNTAG_Bool(REGB0)) {
29228 } else {
29229 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10127);
29230 }
29231 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29232 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29233 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29234 stack_frame_head = fra.me.prev;
29235 return;
29236 }
29237 static const char LOCATE_parser___ReduceAction209___action[] = "parser::ReduceAction209::(parser::ReduceAction::action)";
29238 void parser___ReduceAction209___action(val_t p0, val_t p1){
29239 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
29240 val_t REGB0;
29241 val_t tmp;
29242 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29243 fra.me.file = LOCATE_parser;
29244 fra.me.line = 10132;
29245 fra.me.meth = LOCATE_parser___ReduceAction209___action;
29246 fra.me.has_broke = 0;
29247 fra.me.REG_size = 9;
29248 fra.me.nitni_local_ref_head = NULL;
29249 fra.me.REG[0] = NIT_NULL;
29250 fra.me.REG[1] = NIT_NULL;
29251 fra.me.REG[2] = NIT_NULL;
29252 fra.me.REG[3] = NIT_NULL;
29253 fra.me.REG[4] = NIT_NULL;
29254 fra.me.REG[5] = NIT_NULL;
29255 fra.me.REG[6] = NIT_NULL;
29256 fra.me.REG[7] = NIT_NULL;
29257 fra.me.REG[8] = NIT_NULL;
29258 fra.me.REG[0] = p0;
29259 fra.me.REG[1] = p1;
29260 /* parser/parser.nit:10134 */
29261 fra.me.REG[2] = NIT_NULL;
29262 /* parser/parser.nit:10135 */
29263 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29264 /* parser/parser.nit:10136 */
29265 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29266 /* parser/parser.nit:10137 */
29267 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29268 /* parser/parser.nit:10138 */
29269 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29270 /* parser/parser.nit:10139 */
29271 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29272 /* parser/parser.nit:10140 */
29273 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29274 /* parser/parser.nit:10141 */
29275 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29276 /* parser/parser.nit:10142 */
29277 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29278 /* parser/parser.nit:10144 */
29279 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*/;
29280 if (UNTAG_Bool(REGB0)) {
29281 } else {
29282 nit_abort("Assert failed", NULL, LOCATE_parser, 10144);
29283 }
29284 /* parser/parser.nit:10146 */
29285 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*/;
29286 if (UNTAG_Bool(REGB0)) {
29287 } else {
29288 nit_abort("Assert failed", NULL, LOCATE_parser, 10146);
29289 }
29290 /* parser/parser.nit:10148 */
29291 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*/;
29292 if (UNTAG_Bool(REGB0)) {
29293 } else {
29294 nit_abort("Assert failed", NULL, LOCATE_parser, 10148);
29295 }
29296 /* parser/parser.nit:10150 */
29297 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*/;
29298 if (UNTAG_Bool(REGB0)) {
29299 } else {
29300 nit_abort("Assert failed", NULL, LOCATE_parser, 10150);
29301 }
29302 /* parser/parser.nit:10152 */
29303 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*/;
29304 if (UNTAG_Bool(REGB0)) {
29305 } else {
29306 nit_abort("Assert failed", NULL, LOCATE_parser, 10152);
29307 }
29308 /* parser/parser.nit:10154 */
29309 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29310 if (UNTAG_Bool(REGB0)) {
29311 } else {
29312 nit_abort("Assert failed", NULL, LOCATE_parser, 10154);
29313 }
29314 /* parser/parser.nit:10155 */
29315 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, NIT_NULL, fra.me.REG[3]);
29316 /* parser/parser.nit:10168 */
29317 fra.me.REG[2] = fra.me.REG[3];
29318 /* parser/parser.nit:10169 */
29319 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29320 if (UNTAG_Bool(REGB0)) {
29321 } else {
29322 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10169);
29323 }
29324 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29325 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29326 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29327 stack_frame_head = fra.me.prev;
29328 return;
29329 }
29330 static const char LOCATE_parser___ReduceAction210___action[] = "parser::ReduceAction210::(parser::ReduceAction::action)";
29331 void parser___ReduceAction210___action(val_t p0, val_t p1){
29332 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
29333 val_t REGB0;
29334 val_t tmp;
29335 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29336 fra.me.file = LOCATE_parser;
29337 fra.me.line = 10174;
29338 fra.me.meth = LOCATE_parser___ReduceAction210___action;
29339 fra.me.has_broke = 0;
29340 fra.me.REG_size = 10;
29341 fra.me.nitni_local_ref_head = NULL;
29342 fra.me.REG[0] = NIT_NULL;
29343 fra.me.REG[1] = NIT_NULL;
29344 fra.me.REG[2] = NIT_NULL;
29345 fra.me.REG[3] = NIT_NULL;
29346 fra.me.REG[4] = NIT_NULL;
29347 fra.me.REG[5] = NIT_NULL;
29348 fra.me.REG[6] = NIT_NULL;
29349 fra.me.REG[7] = NIT_NULL;
29350 fra.me.REG[8] = NIT_NULL;
29351 fra.me.REG[9] = NIT_NULL;
29352 fra.me.REG[0] = p0;
29353 fra.me.REG[1] = p1;
29354 /* parser/parser.nit:10176 */
29355 fra.me.REG[2] = NIT_NULL;
29356 /* parser/parser.nit:10177 */
29357 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29358 /* parser/parser.nit:10178 */
29359 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29360 /* parser/parser.nit:10179 */
29361 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29362 /* parser/parser.nit:10180 */
29363 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29364 /* parser/parser.nit:10181 */
29365 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29366 /* parser/parser.nit:10182 */
29367 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29368 /* parser/parser.nit:10183 */
29369 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29370 /* parser/parser.nit:10184 */
29371 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29372 /* parser/parser.nit:10185 */
29373 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29374 /* parser/parser.nit:10187 */
29375 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*/;
29376 if (UNTAG_Bool(REGB0)) {
29377 } else {
29378 nit_abort("Assert failed", NULL, LOCATE_parser, 10187);
29379 }
29380 /* parser/parser.nit:10189 */
29381 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*/;
29382 if (UNTAG_Bool(REGB0)) {
29383 } else {
29384 nit_abort("Assert failed", NULL, LOCATE_parser, 10189);
29385 }
29386 /* parser/parser.nit:10191 */
29387 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*/;
29388 if (UNTAG_Bool(REGB0)) {
29389 } else {
29390 nit_abort("Assert failed", NULL, LOCATE_parser, 10191);
29391 }
29392 /* parser/parser.nit:10193 */
29393 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*/;
29394 if (UNTAG_Bool(REGB0)) {
29395 } else {
29396 nit_abort("Assert failed", NULL, LOCATE_parser, 10193);
29397 }
29398 /* parser/parser.nit:10195 */
29399 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*/;
29400 if (UNTAG_Bool(REGB0)) {
29401 } else {
29402 nit_abort("Assert failed", NULL, LOCATE_parser, 10195);
29403 }
29404 /* parser/parser.nit:10197 */
29405 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*/;
29406 if (UNTAG_Bool(REGB0)) {
29407 } else {
29408 nit_abort("Assert failed", NULL, LOCATE_parser, 10197);
29409 }
29410 /* parser/parser.nit:10199 */
29411 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29412 if (UNTAG_Bool(REGB0)) {
29413 } else {
29414 nit_abort("Assert failed", NULL, LOCATE_parser, 10199);
29415 }
29416 /* parser/parser.nit:10200 */
29417 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, NIT_NULL, fra.me.REG[3]);
29418 /* parser/parser.nit:10213 */
29419 fra.me.REG[2] = fra.me.REG[3];
29420 /* parser/parser.nit:10214 */
29421 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29422 if (UNTAG_Bool(REGB0)) {
29423 } else {
29424 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10214);
29425 }
29426 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29427 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29428 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29429 stack_frame_head = fra.me.prev;
29430 return;
29431 }
29432 static const char LOCATE_parser___ReduceAction211___action[] = "parser::ReduceAction211::(parser::ReduceAction::action)";
29433 void parser___ReduceAction211___action(val_t p0, val_t p1){
29434 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
29435 val_t REGB0;
29436 val_t tmp;
29437 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29438 fra.me.file = LOCATE_parser;
29439 fra.me.line = 10219;
29440 fra.me.meth = LOCATE_parser___ReduceAction211___action;
29441 fra.me.has_broke = 0;
29442 fra.me.REG_size = 10;
29443 fra.me.nitni_local_ref_head = NULL;
29444 fra.me.REG[0] = NIT_NULL;
29445 fra.me.REG[1] = NIT_NULL;
29446 fra.me.REG[2] = NIT_NULL;
29447 fra.me.REG[3] = NIT_NULL;
29448 fra.me.REG[4] = NIT_NULL;
29449 fra.me.REG[5] = NIT_NULL;
29450 fra.me.REG[6] = NIT_NULL;
29451 fra.me.REG[7] = NIT_NULL;
29452 fra.me.REG[8] = NIT_NULL;
29453 fra.me.REG[9] = NIT_NULL;
29454 fra.me.REG[0] = p0;
29455 fra.me.REG[1] = p1;
29456 /* parser/parser.nit:10221 */
29457 fra.me.REG[2] = NIT_NULL;
29458 /* parser/parser.nit:10222 */
29459 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29460 /* parser/parser.nit:10223 */
29461 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29462 /* parser/parser.nit:10224 */
29463 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29464 /* parser/parser.nit:10225 */
29465 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29466 /* parser/parser.nit:10226 */
29467 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29468 /* parser/parser.nit:10227 */
29469 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29470 /* parser/parser.nit:10228 */
29471 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29472 /* parser/parser.nit:10229 */
29473 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29474 /* parser/parser.nit:10230 */
29475 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29476 /* parser/parser.nit:10232 */
29477 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*/;
29478 if (UNTAG_Bool(REGB0)) {
29479 } else {
29480 nit_abort("Assert failed", NULL, LOCATE_parser, 10232);
29481 }
29482 /* parser/parser.nit:10234 */
29483 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*/;
29484 if (UNTAG_Bool(REGB0)) {
29485 } else {
29486 nit_abort("Assert failed", NULL, LOCATE_parser, 10234);
29487 }
29488 /* parser/parser.nit:10236 */
29489 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*/;
29490 if (UNTAG_Bool(REGB0)) {
29491 } else {
29492 nit_abort("Assert failed", NULL, LOCATE_parser, 10236);
29493 }
29494 /* parser/parser.nit:10238 */
29495 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*/;
29496 if (UNTAG_Bool(REGB0)) {
29497 } else {
29498 nit_abort("Assert failed", NULL, LOCATE_parser, 10238);
29499 }
29500 /* parser/parser.nit:10240 */
29501 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*/;
29502 if (UNTAG_Bool(REGB0)) {
29503 } else {
29504 nit_abort("Assert failed", NULL, LOCATE_parser, 10240);
29505 }
29506 /* parser/parser.nit:10242 */
29507 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*/;
29508 if (UNTAG_Bool(REGB0)) {
29509 } else {
29510 nit_abort("Assert failed", NULL, LOCATE_parser, 10242);
29511 }
29512 /* parser/parser.nit:10244 */
29513 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29514 if (UNTAG_Bool(REGB0)) {
29515 } else {
29516 nit_abort("Assert failed", NULL, LOCATE_parser, 10244);
29517 }
29518 /* parser/parser.nit:10245 */
29519 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, NIT_NULL, fra.me.REG[3]);
29520 /* parser/parser.nit:10258 */
29521 fra.me.REG[2] = fra.me.REG[3];
29522 /* parser/parser.nit:10259 */
29523 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29524 if (UNTAG_Bool(REGB0)) {
29525 } else {
29526 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10259);
29527 }
29528 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29529 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29530 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29531 stack_frame_head = fra.me.prev;
29532 return;
29533 }
29534 static const char LOCATE_parser___ReduceAction212___action[] = "parser::ReduceAction212::(parser::ReduceAction::action)";
29535 void parser___ReduceAction212___action(val_t p0, val_t p1){
29536 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
29537 val_t REGB0;
29538 val_t tmp;
29539 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29540 fra.me.file = LOCATE_parser;
29541 fra.me.line = 10264;
29542 fra.me.meth = LOCATE_parser___ReduceAction212___action;
29543 fra.me.has_broke = 0;
29544 fra.me.REG_size = 11;
29545 fra.me.nitni_local_ref_head = NULL;
29546 fra.me.REG[0] = NIT_NULL;
29547 fra.me.REG[1] = NIT_NULL;
29548 fra.me.REG[2] = NIT_NULL;
29549 fra.me.REG[3] = NIT_NULL;
29550 fra.me.REG[4] = NIT_NULL;
29551 fra.me.REG[5] = NIT_NULL;
29552 fra.me.REG[6] = NIT_NULL;
29553 fra.me.REG[7] = NIT_NULL;
29554 fra.me.REG[8] = NIT_NULL;
29555 fra.me.REG[9] = NIT_NULL;
29556 fra.me.REG[10] = NIT_NULL;
29557 fra.me.REG[0] = p0;
29558 fra.me.REG[1] = p1;
29559 /* parser/parser.nit:10266 */
29560 fra.me.REG[2] = NIT_NULL;
29561 /* parser/parser.nit:10267 */
29562 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29563 /* parser/parser.nit:10268 */
29564 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29565 /* parser/parser.nit:10269 */
29566 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29567 /* parser/parser.nit:10270 */
29568 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29569 /* parser/parser.nit:10271 */
29570 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29571 /* parser/parser.nit:10272 */
29572 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29573 /* parser/parser.nit:10273 */
29574 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29575 /* parser/parser.nit:10274 */
29576 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29577 /* parser/parser.nit:10275 */
29578 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29579 /* parser/parser.nit:10276 */
29580 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29581 /* parser/parser.nit:10278 */
29582 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*/;
29583 if (UNTAG_Bool(REGB0)) {
29584 } else {
29585 nit_abort("Assert failed", NULL, LOCATE_parser, 10278);
29586 }
29587 /* parser/parser.nit:10280 */
29588 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*/;
29589 if (UNTAG_Bool(REGB0)) {
29590 } else {
29591 nit_abort("Assert failed", NULL, LOCATE_parser, 10280);
29592 }
29593 /* parser/parser.nit:10282 */
29594 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*/;
29595 if (UNTAG_Bool(REGB0)) {
29596 } else {
29597 nit_abort("Assert failed", NULL, LOCATE_parser, 10282);
29598 }
29599 /* parser/parser.nit:10284 */
29600 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*/;
29601 if (UNTAG_Bool(REGB0)) {
29602 } else {
29603 nit_abort("Assert failed", NULL, LOCATE_parser, 10284);
29604 }
29605 /* parser/parser.nit:10286 */
29606 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*/;
29607 if (UNTAG_Bool(REGB0)) {
29608 } else {
29609 nit_abort("Assert failed", NULL, LOCATE_parser, 10286);
29610 }
29611 /* parser/parser.nit:10288 */
29612 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*/;
29613 if (UNTAG_Bool(REGB0)) {
29614 } else {
29615 nit_abort("Assert failed", NULL, LOCATE_parser, 10288);
29616 }
29617 /* parser/parser.nit:10290 */
29618 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*/;
29619 if (UNTAG_Bool(REGB0)) {
29620 } else {
29621 nit_abort("Assert failed", NULL, LOCATE_parser, 10290);
29622 }
29623 /* parser/parser.nit:10292 */
29624 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29625 if (UNTAG_Bool(REGB0)) {
29626 } else {
29627 nit_abort("Assert failed", NULL, LOCATE_parser, 10292);
29628 }
29629 /* parser/parser.nit:10293 */
29630 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, NIT_NULL, fra.me.REG[3]);
29631 /* parser/parser.nit:10306 */
29632 fra.me.REG[2] = fra.me.REG[3];
29633 /* parser/parser.nit:10307 */
29634 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29635 if (UNTAG_Bool(REGB0)) {
29636 } else {
29637 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10307);
29638 }
29639 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29640 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29641 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29642 stack_frame_head = fra.me.prev;
29643 return;
29644 }
29645 static const char LOCATE_parser___ReduceAction213___action[] = "parser::ReduceAction213::(parser::ReduceAction::action)";
29646 void parser___ReduceAction213___action(val_t p0, val_t p1){
29647 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
29648 val_t REGB0;
29649 val_t tmp;
29650 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29651 fra.me.file = LOCATE_parser;
29652 fra.me.line = 10312;
29653 fra.me.meth = LOCATE_parser___ReduceAction213___action;
29654 fra.me.has_broke = 0;
29655 fra.me.REG_size = 9;
29656 fra.me.nitni_local_ref_head = NULL;
29657 fra.me.REG[0] = NIT_NULL;
29658 fra.me.REG[1] = NIT_NULL;
29659 fra.me.REG[2] = NIT_NULL;
29660 fra.me.REG[3] = NIT_NULL;
29661 fra.me.REG[4] = NIT_NULL;
29662 fra.me.REG[5] = NIT_NULL;
29663 fra.me.REG[6] = NIT_NULL;
29664 fra.me.REG[7] = NIT_NULL;
29665 fra.me.REG[8] = NIT_NULL;
29666 fra.me.REG[0] = p0;
29667 fra.me.REG[1] = p1;
29668 /* parser/parser.nit:10314 */
29669 fra.me.REG[2] = NIT_NULL;
29670 /* parser/parser.nit:10315 */
29671 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29672 /* parser/parser.nit:10316 */
29673 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29674 /* parser/parser.nit:10317 */
29675 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29676 /* parser/parser.nit:10318 */
29677 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29678 /* parser/parser.nit:10319 */
29679 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29680 /* parser/parser.nit:10320 */
29681 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29682 /* parser/parser.nit:10321 */
29683 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29684 /* parser/parser.nit:10322 */
29685 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29686 /* parser/parser.nit:10324 */
29687 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*/;
29688 if (UNTAG_Bool(REGB0)) {
29689 } else {
29690 nit_abort("Assert failed", NULL, LOCATE_parser, 10324);
29691 }
29692 /* parser/parser.nit:10326 */
29693 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*/;
29694 if (UNTAG_Bool(REGB0)) {
29695 } else {
29696 nit_abort("Assert failed", NULL, LOCATE_parser, 10326);
29697 }
29698 /* parser/parser.nit:10328 */
29699 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*/;
29700 if (UNTAG_Bool(REGB0)) {
29701 } else {
29702 nit_abort("Assert failed", NULL, LOCATE_parser, 10328);
29703 }
29704 /* parser/parser.nit:10330 */
29705 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*/;
29706 if (UNTAG_Bool(REGB0)) {
29707 } else {
29708 nit_abort("Assert failed", NULL, LOCATE_parser, 10330);
29709 }
29710 /* parser/parser.nit:10332 */
29711 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*/;
29712 if (UNTAG_Bool(REGB0)) {
29713 } else {
29714 nit_abort("Assert failed", NULL, LOCATE_parser, 10332);
29715 }
29716 /* parser/parser.nit:10334 */
29717 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29718 if (UNTAG_Bool(REGB0)) {
29719 } else {
29720 nit_abort("Assert failed", NULL, LOCATE_parser, 10334);
29721 }
29722 /* parser/parser.nit:10335 */
29723 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], NIT_NULL, fra.me.REG[3]);
29724 /* parser/parser.nit:10348 */
29725 fra.me.REG[2] = fra.me.REG[3];
29726 /* parser/parser.nit:10349 */
29727 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29728 if (UNTAG_Bool(REGB0)) {
29729 } else {
29730 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10349);
29731 }
29732 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29733 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29734 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29735 stack_frame_head = fra.me.prev;
29736 return;
29737 }
29738 static const char LOCATE_parser___ReduceAction214___action[] = "parser::ReduceAction214::(parser::ReduceAction::action)";
29739 void parser___ReduceAction214___action(val_t p0, val_t p1){
29740 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
29741 val_t REGB0;
29742 val_t tmp;
29743 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29744 fra.me.file = LOCATE_parser;
29745 fra.me.line = 10354;
29746 fra.me.meth = LOCATE_parser___ReduceAction214___action;
29747 fra.me.has_broke = 0;
29748 fra.me.REG_size = 10;
29749 fra.me.nitni_local_ref_head = NULL;
29750 fra.me.REG[0] = NIT_NULL;
29751 fra.me.REG[1] = NIT_NULL;
29752 fra.me.REG[2] = NIT_NULL;
29753 fra.me.REG[3] = NIT_NULL;
29754 fra.me.REG[4] = NIT_NULL;
29755 fra.me.REG[5] = NIT_NULL;
29756 fra.me.REG[6] = NIT_NULL;
29757 fra.me.REG[7] = NIT_NULL;
29758 fra.me.REG[8] = NIT_NULL;
29759 fra.me.REG[9] = NIT_NULL;
29760 fra.me.REG[0] = p0;
29761 fra.me.REG[1] = p1;
29762 /* parser/parser.nit:10356 */
29763 fra.me.REG[2] = NIT_NULL;
29764 /* parser/parser.nit:10357 */
29765 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29766 /* parser/parser.nit:10358 */
29767 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29768 /* parser/parser.nit:10359 */
29769 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29770 /* parser/parser.nit:10360 */
29771 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29772 /* parser/parser.nit:10361 */
29773 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29774 /* parser/parser.nit:10362 */
29775 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29776 /* parser/parser.nit:10363 */
29777 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29778 /* parser/parser.nit:10364 */
29779 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29780 /* parser/parser.nit:10365 */
29781 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29782 /* parser/parser.nit:10367 */
29783 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*/;
29784 if (UNTAG_Bool(REGB0)) {
29785 } else {
29786 nit_abort("Assert failed", NULL, LOCATE_parser, 10367);
29787 }
29788 /* parser/parser.nit:10369 */
29789 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*/;
29790 if (UNTAG_Bool(REGB0)) {
29791 } else {
29792 nit_abort("Assert failed", NULL, LOCATE_parser, 10369);
29793 }
29794 /* parser/parser.nit:10371 */
29795 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*/;
29796 if (UNTAG_Bool(REGB0)) {
29797 } else {
29798 nit_abort("Assert failed", NULL, LOCATE_parser, 10371);
29799 }
29800 /* parser/parser.nit:10373 */
29801 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*/;
29802 if (UNTAG_Bool(REGB0)) {
29803 } else {
29804 nit_abort("Assert failed", NULL, LOCATE_parser, 10373);
29805 }
29806 /* parser/parser.nit:10375 */
29807 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*/;
29808 if (UNTAG_Bool(REGB0)) {
29809 } else {
29810 nit_abort("Assert failed", NULL, LOCATE_parser, 10375);
29811 }
29812 /* parser/parser.nit:10377 */
29813 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*/;
29814 if (UNTAG_Bool(REGB0)) {
29815 } else {
29816 nit_abort("Assert failed", NULL, LOCATE_parser, 10377);
29817 }
29818 /* parser/parser.nit:10379 */
29819 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29820 if (UNTAG_Bool(REGB0)) {
29821 } else {
29822 nit_abort("Assert failed", NULL, LOCATE_parser, 10379);
29823 }
29824 /* parser/parser.nit:10380 */
29825 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], NIT_NULL, fra.me.REG[3]);
29826 /* parser/parser.nit:10393 */
29827 fra.me.REG[2] = fra.me.REG[3];
29828 /* parser/parser.nit:10394 */
29829 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29830 if (UNTAG_Bool(REGB0)) {
29831 } else {
29832 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10394);
29833 }
29834 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29835 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29836 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29837 stack_frame_head = fra.me.prev;
29838 return;
29839 }
29840 static const char LOCATE_parser___ReduceAction215___action[] = "parser::ReduceAction215::(parser::ReduceAction::action)";
29841 void parser___ReduceAction215___action(val_t p0, val_t p1){
29842 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
29843 val_t REGB0;
29844 val_t tmp;
29845 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29846 fra.me.file = LOCATE_parser;
29847 fra.me.line = 10399;
29848 fra.me.meth = LOCATE_parser___ReduceAction215___action;
29849 fra.me.has_broke = 0;
29850 fra.me.REG_size = 10;
29851 fra.me.nitni_local_ref_head = NULL;
29852 fra.me.REG[0] = NIT_NULL;
29853 fra.me.REG[1] = NIT_NULL;
29854 fra.me.REG[2] = NIT_NULL;
29855 fra.me.REG[3] = NIT_NULL;
29856 fra.me.REG[4] = NIT_NULL;
29857 fra.me.REG[5] = NIT_NULL;
29858 fra.me.REG[6] = NIT_NULL;
29859 fra.me.REG[7] = NIT_NULL;
29860 fra.me.REG[8] = NIT_NULL;
29861 fra.me.REG[9] = NIT_NULL;
29862 fra.me.REG[0] = p0;
29863 fra.me.REG[1] = p1;
29864 /* parser/parser.nit:10401 */
29865 fra.me.REG[2] = NIT_NULL;
29866 /* parser/parser.nit:10402 */
29867 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29868 /* parser/parser.nit:10403 */
29869 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29870 /* parser/parser.nit:10404 */
29871 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29872 /* parser/parser.nit:10405 */
29873 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29874 /* parser/parser.nit:10406 */
29875 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29876 /* parser/parser.nit:10407 */
29877 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29878 /* parser/parser.nit:10408 */
29879 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29880 /* parser/parser.nit:10409 */
29881 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29882 /* parser/parser.nit:10410 */
29883 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29884 /* parser/parser.nit:10412 */
29885 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*/;
29886 if (UNTAG_Bool(REGB0)) {
29887 } else {
29888 nit_abort("Assert failed", NULL, LOCATE_parser, 10412);
29889 }
29890 /* parser/parser.nit:10414 */
29891 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*/;
29892 if (UNTAG_Bool(REGB0)) {
29893 } else {
29894 nit_abort("Assert failed", NULL, LOCATE_parser, 10414);
29895 }
29896 /* parser/parser.nit:10416 */
29897 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*/;
29898 if (UNTAG_Bool(REGB0)) {
29899 } else {
29900 nit_abort("Assert failed", NULL, LOCATE_parser, 10416);
29901 }
29902 /* parser/parser.nit:10418 */
29903 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*/;
29904 if (UNTAG_Bool(REGB0)) {
29905 } else {
29906 nit_abort("Assert failed", NULL, LOCATE_parser, 10418);
29907 }
29908 /* parser/parser.nit:10420 */
29909 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*/;
29910 if (UNTAG_Bool(REGB0)) {
29911 } else {
29912 nit_abort("Assert failed", NULL, LOCATE_parser, 10420);
29913 }
29914 /* parser/parser.nit:10422 */
29915 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*/;
29916 if (UNTAG_Bool(REGB0)) {
29917 } else {
29918 nit_abort("Assert failed", NULL, LOCATE_parser, 10422);
29919 }
29920 /* parser/parser.nit:10424 */
29921 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29922 if (UNTAG_Bool(REGB0)) {
29923 } else {
29924 nit_abort("Assert failed", NULL, LOCATE_parser, 10424);
29925 }
29926 /* parser/parser.nit:10425 */
29927 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], NIT_NULL, fra.me.REG[3]);
29928 /* parser/parser.nit:10438 */
29929 fra.me.REG[2] = fra.me.REG[3];
29930 /* parser/parser.nit:10439 */
29931 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29932 if (UNTAG_Bool(REGB0)) {
29933 } else {
29934 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10439);
29935 }
29936 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29937 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29938 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29939 stack_frame_head = fra.me.prev;
29940 return;
29941 }
29942 static const char LOCATE_parser___ReduceAction216___action[] = "parser::ReduceAction216::(parser::ReduceAction::action)";
29943 void parser___ReduceAction216___action(val_t p0, val_t p1){
29944 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
29945 val_t REGB0;
29946 val_t tmp;
29947 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29948 fra.me.file = LOCATE_parser;
29949 fra.me.line = 10444;
29950 fra.me.meth = LOCATE_parser___ReduceAction216___action;
29951 fra.me.has_broke = 0;
29952 fra.me.REG_size = 11;
29953 fra.me.nitni_local_ref_head = NULL;
29954 fra.me.REG[0] = NIT_NULL;
29955 fra.me.REG[1] = NIT_NULL;
29956 fra.me.REG[2] = NIT_NULL;
29957 fra.me.REG[3] = NIT_NULL;
29958 fra.me.REG[4] = NIT_NULL;
29959 fra.me.REG[5] = NIT_NULL;
29960 fra.me.REG[6] = NIT_NULL;
29961 fra.me.REG[7] = NIT_NULL;
29962 fra.me.REG[8] = NIT_NULL;
29963 fra.me.REG[9] = NIT_NULL;
29964 fra.me.REG[10] = NIT_NULL;
29965 fra.me.REG[0] = p0;
29966 fra.me.REG[1] = p1;
29967 /* parser/parser.nit:10446 */
29968 fra.me.REG[2] = NIT_NULL;
29969 /* parser/parser.nit:10447 */
29970 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29971 /* parser/parser.nit:10448 */
29972 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29973 /* parser/parser.nit:10449 */
29974 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29975 /* parser/parser.nit:10450 */
29976 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29977 /* parser/parser.nit:10451 */
29978 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29979 /* parser/parser.nit:10452 */
29980 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29981 /* parser/parser.nit:10453 */
29982 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29983 /* parser/parser.nit:10454 */
29984 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29985 /* parser/parser.nit:10455 */
29986 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29987 /* parser/parser.nit:10456 */
29988 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29989 /* parser/parser.nit:10458 */
29990 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*/;
29991 if (UNTAG_Bool(REGB0)) {
29992 } else {
29993 nit_abort("Assert failed", NULL, LOCATE_parser, 10458);
29994 }
29995 /* parser/parser.nit:10460 */
29996 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*/;
29997 if (UNTAG_Bool(REGB0)) {
29998 } else {
29999 nit_abort("Assert failed", NULL, LOCATE_parser, 10460);
30000 }
30001 /* parser/parser.nit:10462 */
30002 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*/;
30003 if (UNTAG_Bool(REGB0)) {
30004 } else {
30005 nit_abort("Assert failed", NULL, LOCATE_parser, 10462);
30006 }
30007 /* parser/parser.nit:10464 */
30008 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*/;
30009 if (UNTAG_Bool(REGB0)) {
30010 } else {
30011 nit_abort("Assert failed", NULL, LOCATE_parser, 10464);
30012 }
30013 /* parser/parser.nit:10466 */
30014 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*/;
30015 if (UNTAG_Bool(REGB0)) {
30016 } else {
30017 nit_abort("Assert failed", NULL, LOCATE_parser, 10466);
30018 }
30019 /* parser/parser.nit:10468 */
30020 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*/;
30021 if (UNTAG_Bool(REGB0)) {
30022 } else {
30023 nit_abort("Assert failed", NULL, LOCATE_parser, 10468);
30024 }
30025 /* parser/parser.nit:10470 */
30026 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*/;
30027 if (UNTAG_Bool(REGB0)) {
30028 } else {
30029 nit_abort("Assert failed", NULL, LOCATE_parser, 10470);
30030 }
30031 /* parser/parser.nit:10472 */
30032 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30033 if (UNTAG_Bool(REGB0)) {
30034 } else {
30035 nit_abort("Assert failed", NULL, LOCATE_parser, 10472);
30036 }
30037 /* parser/parser.nit:10473 */
30038 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], NIT_NULL, fra.me.REG[3]);
30039 /* parser/parser.nit:10486 */
30040 fra.me.REG[2] = fra.me.REG[3];
30041 /* parser/parser.nit:10487 */
30042 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30043 if (UNTAG_Bool(REGB0)) {
30044 } else {
30045 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10487);
30046 }
30047 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30048 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30049 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30050 stack_frame_head = fra.me.prev;
30051 return;
30052 }
30053 static const char LOCATE_parser___ReduceAction217___action[] = "parser::ReduceAction217::(parser::ReduceAction::action)";
30054 void parser___ReduceAction217___action(val_t p0, val_t p1){
30055 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
30056 val_t REGB0;
30057 val_t tmp;
30058 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30059 fra.me.file = LOCATE_parser;
30060 fra.me.line = 10492;
30061 fra.me.meth = LOCATE_parser___ReduceAction217___action;
30062 fra.me.has_broke = 0;
30063 fra.me.REG_size = 10;
30064 fra.me.nitni_local_ref_head = NULL;
30065 fra.me.REG[0] = NIT_NULL;
30066 fra.me.REG[1] = NIT_NULL;
30067 fra.me.REG[2] = NIT_NULL;
30068 fra.me.REG[3] = NIT_NULL;
30069 fra.me.REG[4] = NIT_NULL;
30070 fra.me.REG[5] = NIT_NULL;
30071 fra.me.REG[6] = NIT_NULL;
30072 fra.me.REG[7] = NIT_NULL;
30073 fra.me.REG[8] = NIT_NULL;
30074 fra.me.REG[9] = NIT_NULL;
30075 fra.me.REG[0] = p0;
30076 fra.me.REG[1] = p1;
30077 /* parser/parser.nit:10494 */
30078 fra.me.REG[2] = NIT_NULL;
30079 /* parser/parser.nit:10495 */
30080 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30081 /* parser/parser.nit:10496 */
30082 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30083 /* parser/parser.nit:10497 */
30084 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30085 /* parser/parser.nit:10498 */
30086 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30087 /* parser/parser.nit:10499 */
30088 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30089 /* parser/parser.nit:10500 */
30090 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30091 /* parser/parser.nit:10501 */
30092 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30093 /* parser/parser.nit:10502 */
30094 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30095 /* parser/parser.nit:10503 */
30096 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30097 /* parser/parser.nit:10505 */
30098 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*/;
30099 if (UNTAG_Bool(REGB0)) {
30100 } else {
30101 nit_abort("Assert failed", NULL, LOCATE_parser, 10505);
30102 }
30103 /* parser/parser.nit:10507 */
30104 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*/;
30105 if (UNTAG_Bool(REGB0)) {
30106 } else {
30107 nit_abort("Assert failed", NULL, LOCATE_parser, 10507);
30108 }
30109 /* parser/parser.nit:10509 */
30110 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*/;
30111 if (UNTAG_Bool(REGB0)) {
30112 } else {
30113 nit_abort("Assert failed", NULL, LOCATE_parser, 10509);
30114 }
30115 /* parser/parser.nit:10511 */
30116 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*/;
30117 if (UNTAG_Bool(REGB0)) {
30118 } else {
30119 nit_abort("Assert failed", NULL, LOCATE_parser, 10511);
30120 }
30121 /* parser/parser.nit:10513 */
30122 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*/;
30123 if (UNTAG_Bool(REGB0)) {
30124 } else {
30125 nit_abort("Assert failed", NULL, LOCATE_parser, 10513);
30126 }
30127 /* parser/parser.nit:10515 */
30128 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*/;
30129 if (UNTAG_Bool(REGB0)) {
30130 } else {
30131 nit_abort("Assert failed", NULL, LOCATE_parser, 10515);
30132 }
30133 /* parser/parser.nit:10517 */
30134 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30135 if (UNTAG_Bool(REGB0)) {
30136 } else {
30137 nit_abort("Assert failed", NULL, LOCATE_parser, 10517);
30138 }
30139 /* parser/parser.nit:10518 */
30140 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], NIT_NULL, fra.me.REG[3]);
30141 /* parser/parser.nit:10531 */
30142 fra.me.REG[2] = fra.me.REG[3];
30143 /* parser/parser.nit:10532 */
30144 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30145 if (UNTAG_Bool(REGB0)) {
30146 } else {
30147 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10532);
30148 }
30149 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30150 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30151 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30152 stack_frame_head = fra.me.prev;
30153 return;
30154 }
30155 static const char LOCATE_parser___ReduceAction218___action[] = "parser::ReduceAction218::(parser::ReduceAction::action)";
30156 void parser___ReduceAction218___action(val_t p0, val_t p1){
30157 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
30158 val_t REGB0;
30159 val_t tmp;
30160 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30161 fra.me.file = LOCATE_parser;
30162 fra.me.line = 10537;
30163 fra.me.meth = LOCATE_parser___ReduceAction218___action;
30164 fra.me.has_broke = 0;
30165 fra.me.REG_size = 11;
30166 fra.me.nitni_local_ref_head = NULL;
30167 fra.me.REG[0] = NIT_NULL;
30168 fra.me.REG[1] = NIT_NULL;
30169 fra.me.REG[2] = NIT_NULL;
30170 fra.me.REG[3] = NIT_NULL;
30171 fra.me.REG[4] = NIT_NULL;
30172 fra.me.REG[5] = NIT_NULL;
30173 fra.me.REG[6] = NIT_NULL;
30174 fra.me.REG[7] = NIT_NULL;
30175 fra.me.REG[8] = NIT_NULL;
30176 fra.me.REG[9] = NIT_NULL;
30177 fra.me.REG[10] = NIT_NULL;
30178 fra.me.REG[0] = p0;
30179 fra.me.REG[1] = p1;
30180 /* parser/parser.nit:10539 */
30181 fra.me.REG[2] = NIT_NULL;
30182 /* parser/parser.nit:10540 */
30183 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30184 /* parser/parser.nit:10541 */
30185 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30186 /* parser/parser.nit:10542 */
30187 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30188 /* parser/parser.nit:10543 */
30189 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30190 /* parser/parser.nit:10544 */
30191 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30192 /* parser/parser.nit:10545 */
30193 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30194 /* parser/parser.nit:10546 */
30195 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30196 /* parser/parser.nit:10547 */
30197 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30198 /* parser/parser.nit:10548 */
30199 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30200 /* parser/parser.nit:10549 */
30201 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30202 /* parser/parser.nit:10551 */
30203 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*/;
30204 if (UNTAG_Bool(REGB0)) {
30205 } else {
30206 nit_abort("Assert failed", NULL, LOCATE_parser, 10551);
30207 }
30208 /* parser/parser.nit:10553 */
30209 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*/;
30210 if (UNTAG_Bool(REGB0)) {
30211 } else {
30212 nit_abort("Assert failed", NULL, LOCATE_parser, 10553);
30213 }
30214 /* parser/parser.nit:10555 */
30215 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*/;
30216 if (UNTAG_Bool(REGB0)) {
30217 } else {
30218 nit_abort("Assert failed", NULL, LOCATE_parser, 10555);
30219 }
30220 /* parser/parser.nit:10557 */
30221 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*/;
30222 if (UNTAG_Bool(REGB0)) {
30223 } else {
30224 nit_abort("Assert failed", NULL, LOCATE_parser, 10557);
30225 }
30226 /* parser/parser.nit:10559 */
30227 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*/;
30228 if (UNTAG_Bool(REGB0)) {
30229 } else {
30230 nit_abort("Assert failed", NULL, LOCATE_parser, 10559);
30231 }
30232 /* parser/parser.nit:10561 */
30233 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*/;
30234 if (UNTAG_Bool(REGB0)) {
30235 } else {
30236 nit_abort("Assert failed", NULL, LOCATE_parser, 10561);
30237 }
30238 /* parser/parser.nit:10563 */
30239 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*/;
30240 if (UNTAG_Bool(REGB0)) {
30241 } else {
30242 nit_abort("Assert failed", NULL, LOCATE_parser, 10563);
30243 }
30244 /* parser/parser.nit:10565 */
30245 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30246 if (UNTAG_Bool(REGB0)) {
30247 } else {
30248 nit_abort("Assert failed", NULL, LOCATE_parser, 10565);
30249 }
30250 /* parser/parser.nit:10566 */
30251 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], NIT_NULL, fra.me.REG[3]);
30252 /* parser/parser.nit:10579 */
30253 fra.me.REG[2] = fra.me.REG[3];
30254 /* parser/parser.nit:10580 */
30255 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30256 if (UNTAG_Bool(REGB0)) {
30257 } else {
30258 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10580);
30259 }
30260 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30261 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30262 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30263 stack_frame_head = fra.me.prev;
30264 return;
30265 }
30266 static const char LOCATE_parser___ReduceAction219___action[] = "parser::ReduceAction219::(parser::ReduceAction::action)";
30267 void parser___ReduceAction219___action(val_t p0, val_t p1){
30268 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
30269 val_t REGB0;
30270 val_t tmp;
30271 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30272 fra.me.file = LOCATE_parser;
30273 fra.me.line = 10585;
30274 fra.me.meth = LOCATE_parser___ReduceAction219___action;
30275 fra.me.has_broke = 0;
30276 fra.me.REG_size = 11;
30277 fra.me.nitni_local_ref_head = NULL;
30278 fra.me.REG[0] = NIT_NULL;
30279 fra.me.REG[1] = NIT_NULL;
30280 fra.me.REG[2] = NIT_NULL;
30281 fra.me.REG[3] = NIT_NULL;
30282 fra.me.REG[4] = NIT_NULL;
30283 fra.me.REG[5] = NIT_NULL;
30284 fra.me.REG[6] = NIT_NULL;
30285 fra.me.REG[7] = NIT_NULL;
30286 fra.me.REG[8] = NIT_NULL;
30287 fra.me.REG[9] = NIT_NULL;
30288 fra.me.REG[10] = NIT_NULL;
30289 fra.me.REG[0] = p0;
30290 fra.me.REG[1] = p1;
30291 /* parser/parser.nit:10587 */
30292 fra.me.REG[2] = NIT_NULL;
30293 /* parser/parser.nit:10588 */
30294 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30295 /* parser/parser.nit:10589 */
30296 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30297 /* parser/parser.nit:10590 */
30298 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30299 /* parser/parser.nit:10591 */
30300 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30301 /* parser/parser.nit:10592 */
30302 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30303 /* parser/parser.nit:10593 */
30304 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30305 /* parser/parser.nit:10594 */
30306 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30307 /* parser/parser.nit:10595 */
30308 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30309 /* parser/parser.nit:10596 */
30310 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30311 /* parser/parser.nit:10597 */
30312 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30313 /* parser/parser.nit:10599 */
30314 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*/;
30315 if (UNTAG_Bool(REGB0)) {
30316 } else {
30317 nit_abort("Assert failed", NULL, LOCATE_parser, 10599);
30318 }
30319 /* parser/parser.nit:10601 */
30320 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*/;
30321 if (UNTAG_Bool(REGB0)) {
30322 } else {
30323 nit_abort("Assert failed", NULL, LOCATE_parser, 10601);
30324 }
30325 /* parser/parser.nit:10603 */
30326 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*/;
30327 if (UNTAG_Bool(REGB0)) {
30328 } else {
30329 nit_abort("Assert failed", NULL, LOCATE_parser, 10603);
30330 }
30331 /* parser/parser.nit:10605 */
30332 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*/;
30333 if (UNTAG_Bool(REGB0)) {
30334 } else {
30335 nit_abort("Assert failed", NULL, LOCATE_parser, 10605);
30336 }
30337 /* parser/parser.nit:10607 */
30338 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*/;
30339 if (UNTAG_Bool(REGB0)) {
30340 } else {
30341 nit_abort("Assert failed", NULL, LOCATE_parser, 10607);
30342 }
30343 /* parser/parser.nit:10609 */
30344 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*/;
30345 if (UNTAG_Bool(REGB0)) {
30346 } else {
30347 nit_abort("Assert failed", NULL, LOCATE_parser, 10609);
30348 }
30349 /* parser/parser.nit:10611 */
30350 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*/;
30351 if (UNTAG_Bool(REGB0)) {
30352 } else {
30353 nit_abort("Assert failed", NULL, LOCATE_parser, 10611);
30354 }
30355 /* parser/parser.nit:10613 */
30356 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30357 if (UNTAG_Bool(REGB0)) {
30358 } else {
30359 nit_abort("Assert failed", NULL, LOCATE_parser, 10613);
30360 }
30361 /* parser/parser.nit:10614 */
30362 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], NIT_NULL, fra.me.REG[3]);
30363 /* parser/parser.nit:10627 */
30364 fra.me.REG[2] = fra.me.REG[3];
30365 /* parser/parser.nit:10628 */
30366 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30367 if (UNTAG_Bool(REGB0)) {
30368 } else {
30369 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10628);
30370 }
30371 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30372 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30373 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30374 stack_frame_head = fra.me.prev;
30375 return;
30376 }
30377 static const char LOCATE_parser___ReduceAction220___action[] = "parser::ReduceAction220::(parser::ReduceAction::action)";
30378 void parser___ReduceAction220___action(val_t p0, val_t p1){
30379 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
30380 val_t REGB0;
30381 val_t tmp;
30382 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30383 fra.me.file = LOCATE_parser;
30384 fra.me.line = 10633;
30385 fra.me.meth = LOCATE_parser___ReduceAction220___action;
30386 fra.me.has_broke = 0;
30387 fra.me.REG_size = 12;
30388 fra.me.nitni_local_ref_head = NULL;
30389 fra.me.REG[0] = NIT_NULL;
30390 fra.me.REG[1] = NIT_NULL;
30391 fra.me.REG[2] = NIT_NULL;
30392 fra.me.REG[3] = NIT_NULL;
30393 fra.me.REG[4] = NIT_NULL;
30394 fra.me.REG[5] = NIT_NULL;
30395 fra.me.REG[6] = NIT_NULL;
30396 fra.me.REG[7] = NIT_NULL;
30397 fra.me.REG[8] = NIT_NULL;
30398 fra.me.REG[9] = NIT_NULL;
30399 fra.me.REG[10] = NIT_NULL;
30400 fra.me.REG[11] = NIT_NULL;
30401 fra.me.REG[0] = p0;
30402 fra.me.REG[1] = p1;
30403 /* parser/parser.nit:10635 */
30404 fra.me.REG[2] = NIT_NULL;
30405 /* parser/parser.nit:10636 */
30406 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30407 /* parser/parser.nit:10637 */
30408 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30409 /* parser/parser.nit:10638 */
30410 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30411 /* parser/parser.nit:10639 */
30412 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30413 /* parser/parser.nit:10640 */
30414 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30415 /* parser/parser.nit:10641 */
30416 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30417 /* parser/parser.nit:10642 */
30418 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30419 /* parser/parser.nit:10643 */
30420 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30421 /* parser/parser.nit:10644 */
30422 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30423 /* parser/parser.nit:10645 */
30424 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30425 /* parser/parser.nit:10646 */
30426 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30427 /* parser/parser.nit:10648 */
30428 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*/;
30429 if (UNTAG_Bool(REGB0)) {
30430 } else {
30431 nit_abort("Assert failed", NULL, LOCATE_parser, 10648);
30432 }
30433 /* parser/parser.nit:10650 */
30434 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*/;
30435 if (UNTAG_Bool(REGB0)) {
30436 } else {
30437 nit_abort("Assert failed", NULL, LOCATE_parser, 10650);
30438 }
30439 /* parser/parser.nit:10652 */
30440 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*/;
30441 if (UNTAG_Bool(REGB0)) {
30442 } else {
30443 nit_abort("Assert failed", NULL, LOCATE_parser, 10652);
30444 }
30445 /* parser/parser.nit:10654 */
30446 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*/;
30447 if (UNTAG_Bool(REGB0)) {
30448 } else {
30449 nit_abort("Assert failed", NULL, LOCATE_parser, 10654);
30450 }
30451 /* parser/parser.nit:10656 */
30452 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*/;
30453 if (UNTAG_Bool(REGB0)) {
30454 } else {
30455 nit_abort("Assert failed", NULL, LOCATE_parser, 10656);
30456 }
30457 /* parser/parser.nit:10658 */
30458 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*/;
30459 if (UNTAG_Bool(REGB0)) {
30460 } else {
30461 nit_abort("Assert failed", NULL, LOCATE_parser, 10658);
30462 }
30463 /* parser/parser.nit:10660 */
30464 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*/;
30465 if (UNTAG_Bool(REGB0)) {
30466 } else {
30467 nit_abort("Assert failed", NULL, LOCATE_parser, 10660);
30468 }
30469 /* parser/parser.nit:10662 */
30470 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*/;
30471 if (UNTAG_Bool(REGB0)) {
30472 } else {
30473 nit_abort("Assert failed", NULL, LOCATE_parser, 10662);
30474 }
30475 /* parser/parser.nit:10664 */
30476 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30477 if (UNTAG_Bool(REGB0)) {
30478 } else {
30479 nit_abort("Assert failed", NULL, LOCATE_parser, 10664);
30480 }
30481 /* parser/parser.nit:10665 */
30482 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], NIT_NULL, fra.me.REG[3]);
30483 /* parser/parser.nit:10678 */
30484 fra.me.REG[2] = fra.me.REG[3];
30485 /* parser/parser.nit:10679 */
30486 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30487 if (UNTAG_Bool(REGB0)) {
30488 } else {
30489 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10679);
30490 }
30491 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30492 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30493 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30494 stack_frame_head = fra.me.prev;
30495 return;
30496 }
30497 static const char LOCATE_parser___ReduceAction221___action[] = "parser::ReduceAction221::(parser::ReduceAction::action)";
30498 void parser___ReduceAction221___action(val_t p0, val_t p1){
30499 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
30500 val_t REGB0;
30501 val_t tmp;
30502 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30503 fra.me.file = LOCATE_parser;
30504 fra.me.line = 10684;
30505 fra.me.meth = LOCATE_parser___ReduceAction221___action;
30506 fra.me.has_broke = 0;
30507 fra.me.REG_size = 7;
30508 fra.me.nitni_local_ref_head = NULL;
30509 fra.me.REG[0] = NIT_NULL;
30510 fra.me.REG[1] = NIT_NULL;
30511 fra.me.REG[2] = NIT_NULL;
30512 fra.me.REG[3] = NIT_NULL;
30513 fra.me.REG[4] = NIT_NULL;
30514 fra.me.REG[5] = NIT_NULL;
30515 fra.me.REG[6] = NIT_NULL;
30516 fra.me.REG[0] = p0;
30517 fra.me.REG[1] = p1;
30518 /* parser/parser.nit:10686 */
30519 fra.me.REG[2] = NIT_NULL;
30520 /* parser/parser.nit:10687 */
30521 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30522 /* parser/parser.nit:10688 */
30523 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30524 /* parser/parser.nit:10689 */
30525 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30526 /* parser/parser.nit:10690 */
30527 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30528 /* parser/parser.nit:10692 */
30529 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*/;
30530 if (UNTAG_Bool(REGB0)) {
30531 } else {
30532 nit_abort("Assert failed", NULL, LOCATE_parser, 10692);
30533 }
30534 /* parser/parser.nit:10694 */
30535 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*/;
30536 if (UNTAG_Bool(REGB0)) {
30537 } else {
30538 nit_abort("Assert failed", NULL, LOCATE_parser, 10694);
30539 }
30540 /* parser/parser.nit:10696 */
30541 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*/;
30542 if (UNTAG_Bool(REGB0)) {
30543 } else {
30544 nit_abort("Assert failed", NULL, LOCATE_parser, 10696);
30545 }
30546 /* parser/parser.nit:10698 */
30547 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*/;
30548 if (UNTAG_Bool(REGB0)) {
30549 } else {
30550 nit_abort("Assert failed", NULL, LOCATE_parser, 10698);
30551 }
30552 /* parser/parser.nit:10699 */
30553 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, NIT_NULL);
30554 /* parser/parser.nit:10712 */
30555 fra.me.REG[2] = fra.me.REG[3];
30556 /* parser/parser.nit:10713 */
30557 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30558 if (UNTAG_Bool(REGB0)) {
30559 } else {
30560 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10713);
30561 }
30562 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30563 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30564 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30565 stack_frame_head = fra.me.prev;
30566 return;
30567 }
30568 static const char LOCATE_parser___ReduceAction222___action[] = "parser::ReduceAction222::(parser::ReduceAction::action)";
30569 void parser___ReduceAction222___action(val_t p0, val_t p1){
30570 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
30571 val_t REGB0;
30572 val_t tmp;
30573 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30574 fra.me.file = LOCATE_parser;
30575 fra.me.line = 10718;
30576 fra.me.meth = LOCATE_parser___ReduceAction222___action;
30577 fra.me.has_broke = 0;
30578 fra.me.REG_size = 8;
30579 fra.me.nitni_local_ref_head = NULL;
30580 fra.me.REG[0] = NIT_NULL;
30581 fra.me.REG[1] = NIT_NULL;
30582 fra.me.REG[2] = NIT_NULL;
30583 fra.me.REG[3] = NIT_NULL;
30584 fra.me.REG[4] = NIT_NULL;
30585 fra.me.REG[5] = NIT_NULL;
30586 fra.me.REG[6] = NIT_NULL;
30587 fra.me.REG[7] = NIT_NULL;
30588 fra.me.REG[0] = p0;
30589 fra.me.REG[1] = p1;
30590 /* parser/parser.nit:10720 */
30591 fra.me.REG[2] = NIT_NULL;
30592 /* parser/parser.nit:10721 */
30593 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30594 /* parser/parser.nit:10722 */
30595 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30596 /* parser/parser.nit:10723 */
30597 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30598 /* parser/parser.nit:10724 */
30599 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30600 /* parser/parser.nit:10725 */
30601 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30602 /* parser/parser.nit:10727 */
30603 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*/;
30604 if (UNTAG_Bool(REGB0)) {
30605 } else {
30606 nit_abort("Assert failed", NULL, LOCATE_parser, 10727);
30607 }
30608 /* parser/parser.nit:10729 */
30609 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*/;
30610 if (UNTAG_Bool(REGB0)) {
30611 } else {
30612 nit_abort("Assert failed", NULL, LOCATE_parser, 10729);
30613 }
30614 /* parser/parser.nit:10731 */
30615 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*/;
30616 if (UNTAG_Bool(REGB0)) {
30617 } else {
30618 nit_abort("Assert failed", NULL, LOCATE_parser, 10731);
30619 }
30620 /* parser/parser.nit:10733 */
30621 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*/;
30622 if (UNTAG_Bool(REGB0)) {
30623 } else {
30624 nit_abort("Assert failed", NULL, LOCATE_parser, 10733);
30625 }
30626 /* parser/parser.nit:10735 */
30627 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*/;
30628 if (UNTAG_Bool(REGB0)) {
30629 } else {
30630 nit_abort("Assert failed", NULL, LOCATE_parser, 10735);
30631 }
30632 /* parser/parser.nit:10736 */
30633 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, NIT_NULL);
30634 /* parser/parser.nit:10749 */
30635 fra.me.REG[2] = fra.me.REG[3];
30636 /* parser/parser.nit:10750 */
30637 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30638 if (UNTAG_Bool(REGB0)) {
30639 } else {
30640 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10750);
30641 }
30642 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30643 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30644 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30645 stack_frame_head = fra.me.prev;
30646 return;
30647 }
30648 static const char LOCATE_parser___ReduceAction223___action[] = "parser::ReduceAction223::(parser::ReduceAction::action)";
30649 void parser___ReduceAction223___action(val_t p0, val_t p1){
30650 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
30651 val_t REGB0;
30652 val_t tmp;
30653 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30654 fra.me.file = LOCATE_parser;
30655 fra.me.line = 10755;
30656 fra.me.meth = LOCATE_parser___ReduceAction223___action;
30657 fra.me.has_broke = 0;
30658 fra.me.REG_size = 8;
30659 fra.me.nitni_local_ref_head = NULL;
30660 fra.me.REG[0] = NIT_NULL;
30661 fra.me.REG[1] = NIT_NULL;
30662 fra.me.REG[2] = NIT_NULL;
30663 fra.me.REG[3] = NIT_NULL;
30664 fra.me.REG[4] = NIT_NULL;
30665 fra.me.REG[5] = NIT_NULL;
30666 fra.me.REG[6] = NIT_NULL;
30667 fra.me.REG[7] = NIT_NULL;
30668 fra.me.REG[0] = p0;
30669 fra.me.REG[1] = p1;
30670 /* parser/parser.nit:10757 */
30671 fra.me.REG[2] = NIT_NULL;
30672 /* parser/parser.nit:10758 */
30673 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30674 /* parser/parser.nit:10759 */
30675 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30676 /* parser/parser.nit:10760 */
30677 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30678 /* parser/parser.nit:10761 */
30679 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30680 /* parser/parser.nit:10762 */
30681 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30682 /* parser/parser.nit:10764 */
30683 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*/;
30684 if (UNTAG_Bool(REGB0)) {
30685 } else {
30686 nit_abort("Assert failed", NULL, LOCATE_parser, 10764);
30687 }
30688 /* parser/parser.nit:10766 */
30689 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*/;
30690 if (UNTAG_Bool(REGB0)) {
30691 } else {
30692 nit_abort("Assert failed", NULL, LOCATE_parser, 10766);
30693 }
30694 /* parser/parser.nit:10768 */
30695 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*/;
30696 if (UNTAG_Bool(REGB0)) {
30697 } else {
30698 nit_abort("Assert failed", NULL, LOCATE_parser, 10768);
30699 }
30700 /* parser/parser.nit:10770 */
30701 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*/;
30702 if (UNTAG_Bool(REGB0)) {
30703 } else {
30704 nit_abort("Assert failed", NULL, LOCATE_parser, 10770);
30705 }
30706 /* parser/parser.nit:10772 */
30707 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*/;
30708 if (UNTAG_Bool(REGB0)) {
30709 } else {
30710 nit_abort("Assert failed", NULL, LOCATE_parser, 10772);
30711 }
30712 /* parser/parser.nit:10773 */
30713 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, NIT_NULL);
30714 /* parser/parser.nit:10786 */
30715 fra.me.REG[2] = fra.me.REG[3];
30716 /* parser/parser.nit:10787 */
30717 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30718 if (UNTAG_Bool(REGB0)) {
30719 } else {
30720 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10787);
30721 }
30722 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30723 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30724 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30725 stack_frame_head = fra.me.prev;
30726 return;
30727 }
30728 static const char LOCATE_parser___ReduceAction224___action[] = "parser::ReduceAction224::(parser::ReduceAction::action)";
30729 void parser___ReduceAction224___action(val_t p0, val_t p1){
30730 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
30731 val_t REGB0;
30732 val_t tmp;
30733 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30734 fra.me.file = LOCATE_parser;
30735 fra.me.line = 10792;
30736 fra.me.meth = LOCATE_parser___ReduceAction224___action;
30737 fra.me.has_broke = 0;
30738 fra.me.REG_size = 9;
30739 fra.me.nitni_local_ref_head = NULL;
30740 fra.me.REG[0] = NIT_NULL;
30741 fra.me.REG[1] = NIT_NULL;
30742 fra.me.REG[2] = NIT_NULL;
30743 fra.me.REG[3] = NIT_NULL;
30744 fra.me.REG[4] = NIT_NULL;
30745 fra.me.REG[5] = NIT_NULL;
30746 fra.me.REG[6] = NIT_NULL;
30747 fra.me.REG[7] = NIT_NULL;
30748 fra.me.REG[8] = NIT_NULL;
30749 fra.me.REG[0] = p0;
30750 fra.me.REG[1] = p1;
30751 /* parser/parser.nit:10794 */
30752 fra.me.REG[2] = NIT_NULL;
30753 /* parser/parser.nit:10795 */
30754 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30755 /* parser/parser.nit:10796 */
30756 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30757 /* parser/parser.nit:10797 */
30758 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30759 /* parser/parser.nit:10798 */
30760 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30761 /* parser/parser.nit:10799 */
30762 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30763 /* parser/parser.nit:10800 */
30764 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30765 /* parser/parser.nit:10802 */
30766 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*/;
30767 if (UNTAG_Bool(REGB0)) {
30768 } else {
30769 nit_abort("Assert failed", NULL, LOCATE_parser, 10802);
30770 }
30771 /* parser/parser.nit:10804 */
30772 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*/;
30773 if (UNTAG_Bool(REGB0)) {
30774 } else {
30775 nit_abort("Assert failed", NULL, LOCATE_parser, 10804);
30776 }
30777 /* parser/parser.nit:10806 */
30778 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*/;
30779 if (UNTAG_Bool(REGB0)) {
30780 } else {
30781 nit_abort("Assert failed", NULL, LOCATE_parser, 10806);
30782 }
30783 /* parser/parser.nit:10808 */
30784 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*/;
30785 if (UNTAG_Bool(REGB0)) {
30786 } else {
30787 nit_abort("Assert failed", NULL, LOCATE_parser, 10808);
30788 }
30789 /* parser/parser.nit:10810 */
30790 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*/;
30791 if (UNTAG_Bool(REGB0)) {
30792 } else {
30793 nit_abort("Assert failed", NULL, LOCATE_parser, 10810);
30794 }
30795 /* parser/parser.nit:10812 */
30796 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*/;
30797 if (UNTAG_Bool(REGB0)) {
30798 } else {
30799 nit_abort("Assert failed", NULL, LOCATE_parser, 10812);
30800 }
30801 /* parser/parser.nit:10813 */
30802 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, NIT_NULL);
30803 /* parser/parser.nit:10826 */
30804 fra.me.REG[2] = fra.me.REG[3];
30805 /* parser/parser.nit:10827 */
30806 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30807 if (UNTAG_Bool(REGB0)) {
30808 } else {
30809 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10827);
30810 }
30811 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30812 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30813 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30814 stack_frame_head = fra.me.prev;
30815 return;
30816 }
30817 static const char LOCATE_parser___ReduceAction225___action[] = "parser::ReduceAction225::(parser::ReduceAction::action)";
30818 void parser___ReduceAction225___action(val_t p0, val_t p1){
30819 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
30820 val_t REGB0;
30821 val_t tmp;
30822 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30823 fra.me.file = LOCATE_parser;
30824 fra.me.line = 10832;
30825 fra.me.meth = LOCATE_parser___ReduceAction225___action;
30826 fra.me.has_broke = 0;
30827 fra.me.REG_size = 8;
30828 fra.me.nitni_local_ref_head = NULL;
30829 fra.me.REG[0] = NIT_NULL;
30830 fra.me.REG[1] = NIT_NULL;
30831 fra.me.REG[2] = NIT_NULL;
30832 fra.me.REG[3] = NIT_NULL;
30833 fra.me.REG[4] = NIT_NULL;
30834 fra.me.REG[5] = NIT_NULL;
30835 fra.me.REG[6] = NIT_NULL;
30836 fra.me.REG[7] = NIT_NULL;
30837 fra.me.REG[0] = p0;
30838 fra.me.REG[1] = p1;
30839 /* parser/parser.nit:10834 */
30840 fra.me.REG[2] = NIT_NULL;
30841 /* parser/parser.nit:10835 */
30842 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30843 /* parser/parser.nit:10836 */
30844 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30845 /* parser/parser.nit:10837 */
30846 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30847 /* parser/parser.nit:10838 */
30848 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30849 /* parser/parser.nit:10839 */
30850 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30851 /* parser/parser.nit:10841 */
30852 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*/;
30853 if (UNTAG_Bool(REGB0)) {
30854 } else {
30855 nit_abort("Assert failed", NULL, LOCATE_parser, 10841);
30856 }
30857 /* parser/parser.nit:10843 */
30858 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*/;
30859 if (UNTAG_Bool(REGB0)) {
30860 } else {
30861 nit_abort("Assert failed", NULL, LOCATE_parser, 10843);
30862 }
30863 /* parser/parser.nit:10845 */
30864 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*/;
30865 if (UNTAG_Bool(REGB0)) {
30866 } else {
30867 nit_abort("Assert failed", NULL, LOCATE_parser, 10845);
30868 }
30869 /* parser/parser.nit:10847 */
30870 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*/;
30871 if (UNTAG_Bool(REGB0)) {
30872 } else {
30873 nit_abort("Assert failed", NULL, LOCATE_parser, 10847);
30874 }
30875 /* parser/parser.nit:10849 */
30876 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*/;
30877 if (UNTAG_Bool(REGB0)) {
30878 } else {
30879 nit_abort("Assert failed", NULL, LOCATE_parser, 10849);
30880 }
30881 /* parser/parser.nit:10850 */
30882 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, NIT_NULL);
30883 /* parser/parser.nit:10863 */
30884 fra.me.REG[2] = fra.me.REG[4];
30885 /* parser/parser.nit:10864 */
30886 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30887 if (UNTAG_Bool(REGB0)) {
30888 } else {
30889 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10864);
30890 }
30891 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30892 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30893 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30894 stack_frame_head = fra.me.prev;
30895 return;
30896 }
30897 static const char LOCATE_parser___ReduceAction226___action[] = "parser::ReduceAction226::(parser::ReduceAction::action)";
30898 void parser___ReduceAction226___action(val_t p0, val_t p1){
30899 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
30900 val_t REGB0;
30901 val_t tmp;
30902 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30903 fra.me.file = LOCATE_parser;
30904 fra.me.line = 10869;
30905 fra.me.meth = LOCATE_parser___ReduceAction226___action;
30906 fra.me.has_broke = 0;
30907 fra.me.REG_size = 9;
30908 fra.me.nitni_local_ref_head = NULL;
30909 fra.me.REG[0] = NIT_NULL;
30910 fra.me.REG[1] = NIT_NULL;
30911 fra.me.REG[2] = NIT_NULL;
30912 fra.me.REG[3] = NIT_NULL;
30913 fra.me.REG[4] = NIT_NULL;
30914 fra.me.REG[5] = NIT_NULL;
30915 fra.me.REG[6] = NIT_NULL;
30916 fra.me.REG[7] = NIT_NULL;
30917 fra.me.REG[8] = NIT_NULL;
30918 fra.me.REG[0] = p0;
30919 fra.me.REG[1] = p1;
30920 /* parser/parser.nit:10871 */
30921 fra.me.REG[2] = NIT_NULL;
30922 /* parser/parser.nit:10872 */
30923 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30924 /* parser/parser.nit:10873 */
30925 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30926 /* parser/parser.nit:10874 */
30927 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30928 /* parser/parser.nit:10875 */
30929 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30930 /* parser/parser.nit:10876 */
30931 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30932 /* parser/parser.nit:10877 */
30933 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30934 /* parser/parser.nit:10879 */
30935 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*/;
30936 if (UNTAG_Bool(REGB0)) {
30937 } else {
30938 nit_abort("Assert failed", NULL, LOCATE_parser, 10879);
30939 }
30940 /* parser/parser.nit:10881 */
30941 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*/;
30942 if (UNTAG_Bool(REGB0)) {
30943 } else {
30944 nit_abort("Assert failed", NULL, LOCATE_parser, 10881);
30945 }
30946 /* parser/parser.nit:10883 */
30947 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*/;
30948 if (UNTAG_Bool(REGB0)) {
30949 } else {
30950 nit_abort("Assert failed", NULL, LOCATE_parser, 10883);
30951 }
30952 /* parser/parser.nit:10885 */
30953 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*/;
30954 if (UNTAG_Bool(REGB0)) {
30955 } else {
30956 nit_abort("Assert failed", NULL, LOCATE_parser, 10885);
30957 }
30958 /* parser/parser.nit:10887 */
30959 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*/;
30960 if (UNTAG_Bool(REGB0)) {
30961 } else {
30962 nit_abort("Assert failed", NULL, LOCATE_parser, 10887);
30963 }
30964 /* parser/parser.nit:10889 */
30965 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*/;
30966 if (UNTAG_Bool(REGB0)) {
30967 } else {
30968 nit_abort("Assert failed", NULL, LOCATE_parser, 10889);
30969 }
30970 /* parser/parser.nit:10890 */
30971 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, NIT_NULL);
30972 /* parser/parser.nit:10903 */
30973 fra.me.REG[2] = fra.me.REG[4];
30974 /* parser/parser.nit:10904 */
30975 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30976 if (UNTAG_Bool(REGB0)) {
30977 } else {
30978 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10904);
30979 }
30980 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30981 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30982 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30983 stack_frame_head = fra.me.prev;
30984 return;
30985 }
30986 static const char LOCATE_parser___ReduceAction227___action[] = "parser::ReduceAction227::(parser::ReduceAction::action)";
30987 void parser___ReduceAction227___action(val_t p0, val_t p1){
30988 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
30989 val_t REGB0;
30990 val_t tmp;
30991 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30992 fra.me.file = LOCATE_parser;
30993 fra.me.line = 10909;
30994 fra.me.meth = LOCATE_parser___ReduceAction227___action;
30995 fra.me.has_broke = 0;
30996 fra.me.REG_size = 9;
30997 fra.me.nitni_local_ref_head = NULL;
30998 fra.me.REG[0] = NIT_NULL;
30999 fra.me.REG[1] = NIT_NULL;
31000 fra.me.REG[2] = NIT_NULL;
31001 fra.me.REG[3] = NIT_NULL;
31002 fra.me.REG[4] = NIT_NULL;
31003 fra.me.REG[5] = NIT_NULL;
31004 fra.me.REG[6] = NIT_NULL;
31005 fra.me.REG[7] = NIT_NULL;
31006 fra.me.REG[8] = NIT_NULL;
31007 fra.me.REG[0] = p0;
31008 fra.me.REG[1] = p1;
31009 /* parser/parser.nit:10911 */
31010 fra.me.REG[2] = NIT_NULL;
31011 /* parser/parser.nit:10912 */
31012 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31013 /* parser/parser.nit:10913 */
31014 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31015 /* parser/parser.nit:10914 */
31016 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31017 /* parser/parser.nit:10915 */
31018 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31019 /* parser/parser.nit:10916 */
31020 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31021 /* parser/parser.nit:10917 */
31022 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31023 /* parser/parser.nit:10919 */
31024 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*/;
31025 if (UNTAG_Bool(REGB0)) {
31026 } else {
31027 nit_abort("Assert failed", NULL, LOCATE_parser, 10919);
31028 }
31029 /* parser/parser.nit:10921 */
31030 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*/;
31031 if (UNTAG_Bool(REGB0)) {
31032 } else {
31033 nit_abort("Assert failed", NULL, LOCATE_parser, 10921);
31034 }
31035 /* parser/parser.nit:10923 */
31036 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*/;
31037 if (UNTAG_Bool(REGB0)) {
31038 } else {
31039 nit_abort("Assert failed", NULL, LOCATE_parser, 10923);
31040 }
31041 /* parser/parser.nit:10925 */
31042 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*/;
31043 if (UNTAG_Bool(REGB0)) {
31044 } else {
31045 nit_abort("Assert failed", NULL, LOCATE_parser, 10925);
31046 }
31047 /* parser/parser.nit:10927 */
31048 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*/;
31049 if (UNTAG_Bool(REGB0)) {
31050 } else {
31051 nit_abort("Assert failed", NULL, LOCATE_parser, 10927);
31052 }
31053 /* parser/parser.nit:10929 */
31054 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*/;
31055 if (UNTAG_Bool(REGB0)) {
31056 } else {
31057 nit_abort("Assert failed", NULL, LOCATE_parser, 10929);
31058 }
31059 /* parser/parser.nit:10930 */
31060 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, NIT_NULL);
31061 /* parser/parser.nit:10943 */
31062 fra.me.REG[2] = fra.me.REG[4];
31063 /* parser/parser.nit:10944 */
31064 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31065 if (UNTAG_Bool(REGB0)) {
31066 } else {
31067 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10944);
31068 }
31069 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31070 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31071 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31072 stack_frame_head = fra.me.prev;
31073 return;
31074 }
31075 static const char LOCATE_parser___ReduceAction228___action[] = "parser::ReduceAction228::(parser::ReduceAction::action)";
31076 void parser___ReduceAction228___action(val_t p0, val_t p1){
31077 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
31078 val_t REGB0;
31079 val_t tmp;
31080 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31081 fra.me.file = LOCATE_parser;
31082 fra.me.line = 10949;
31083 fra.me.meth = LOCATE_parser___ReduceAction228___action;
31084 fra.me.has_broke = 0;
31085 fra.me.REG_size = 10;
31086 fra.me.nitni_local_ref_head = NULL;
31087 fra.me.REG[0] = NIT_NULL;
31088 fra.me.REG[1] = NIT_NULL;
31089 fra.me.REG[2] = NIT_NULL;
31090 fra.me.REG[3] = NIT_NULL;
31091 fra.me.REG[4] = NIT_NULL;
31092 fra.me.REG[5] = NIT_NULL;
31093 fra.me.REG[6] = NIT_NULL;
31094 fra.me.REG[7] = NIT_NULL;
31095 fra.me.REG[8] = NIT_NULL;
31096 fra.me.REG[9] = NIT_NULL;
31097 fra.me.REG[0] = p0;
31098 fra.me.REG[1] = p1;
31099 /* parser/parser.nit:10951 */
31100 fra.me.REG[2] = NIT_NULL;
31101 /* parser/parser.nit:10952 */
31102 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31103 /* parser/parser.nit:10953 */
31104 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31105 /* parser/parser.nit:10954 */
31106 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31107 /* parser/parser.nit:10955 */
31108 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31109 /* parser/parser.nit:10956 */
31110 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31111 /* parser/parser.nit:10957 */
31112 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31113 /* parser/parser.nit:10958 */
31114 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31115 /* parser/parser.nit:10960 */
31116 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*/;
31117 if (UNTAG_Bool(REGB0)) {
31118 } else {
31119 nit_abort("Assert failed", NULL, LOCATE_parser, 10960);
31120 }
31121 /* parser/parser.nit:10962 */
31122 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*/;
31123 if (UNTAG_Bool(REGB0)) {
31124 } else {
31125 nit_abort("Assert failed", NULL, LOCATE_parser, 10962);
31126 }
31127 /* parser/parser.nit:10964 */
31128 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*/;
31129 if (UNTAG_Bool(REGB0)) {
31130 } else {
31131 nit_abort("Assert failed", NULL, LOCATE_parser, 10964);
31132 }
31133 /* parser/parser.nit:10966 */
31134 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*/;
31135 if (UNTAG_Bool(REGB0)) {
31136 } else {
31137 nit_abort("Assert failed", NULL, LOCATE_parser, 10966);
31138 }
31139 /* parser/parser.nit:10968 */
31140 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*/;
31141 if (UNTAG_Bool(REGB0)) {
31142 } else {
31143 nit_abort("Assert failed", NULL, LOCATE_parser, 10968);
31144 }
31145 /* parser/parser.nit:10970 */
31146 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*/;
31147 if (UNTAG_Bool(REGB0)) {
31148 } else {
31149 nit_abort("Assert failed", NULL, LOCATE_parser, 10970);
31150 }
31151 /* parser/parser.nit:10972 */
31152 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*/;
31153 if (UNTAG_Bool(REGB0)) {
31154 } else {
31155 nit_abort("Assert failed", NULL, LOCATE_parser, 10972);
31156 }
31157 /* parser/parser.nit:10973 */
31158 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, NIT_NULL);
31159 /* parser/parser.nit:10986 */
31160 fra.me.REG[2] = fra.me.REG[4];
31161 /* parser/parser.nit:10987 */
31162 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31163 if (UNTAG_Bool(REGB0)) {
31164 } else {
31165 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10987);
31166 }
31167 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31168 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31169 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31170 stack_frame_head = fra.me.prev;
31171 return;
31172 }
31173 static const char LOCATE_parser___ReduceAction229___action[] = "parser::ReduceAction229::(parser::ReduceAction::action)";
31174 void parser___ReduceAction229___action(val_t p0, val_t p1){
31175 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
31176 val_t REGB0;
31177 val_t tmp;
31178 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31179 fra.me.file = LOCATE_parser;
31180 fra.me.line = 10992;
31181 fra.me.meth = LOCATE_parser___ReduceAction229___action;
31182 fra.me.has_broke = 0;
31183 fra.me.REG_size = 8;
31184 fra.me.nitni_local_ref_head = NULL;
31185 fra.me.REG[0] = NIT_NULL;
31186 fra.me.REG[1] = NIT_NULL;
31187 fra.me.REG[2] = NIT_NULL;
31188 fra.me.REG[3] = NIT_NULL;
31189 fra.me.REG[4] = NIT_NULL;
31190 fra.me.REG[5] = NIT_NULL;
31191 fra.me.REG[6] = NIT_NULL;
31192 fra.me.REG[7] = NIT_NULL;
31193 fra.me.REG[0] = p0;
31194 fra.me.REG[1] = p1;
31195 /* parser/parser.nit:10994 */
31196 fra.me.REG[2] = NIT_NULL;
31197 /* parser/parser.nit:10995 */
31198 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31199 /* parser/parser.nit:10996 */
31200 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31201 /* parser/parser.nit:10997 */
31202 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31203 /* parser/parser.nit:10998 */
31204 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31205 /* parser/parser.nit:10999 */
31206 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31207 /* parser/parser.nit:11001 */
31208 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*/;
31209 if (UNTAG_Bool(REGB0)) {
31210 } else {
31211 nit_abort("Assert failed", NULL, LOCATE_parser, 11001);
31212 }
31213 /* parser/parser.nit:11003 */
31214 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*/;
31215 if (UNTAG_Bool(REGB0)) {
31216 } else {
31217 nit_abort("Assert failed", NULL, LOCATE_parser, 11003);
31218 }
31219 /* parser/parser.nit:11005 */
31220 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*/;
31221 if (UNTAG_Bool(REGB0)) {
31222 } else {
31223 nit_abort("Assert failed", NULL, LOCATE_parser, 11005);
31224 }
31225 /* parser/parser.nit:11007 */
31226 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*/;
31227 if (UNTAG_Bool(REGB0)) {
31228 } else {
31229 nit_abort("Assert failed", NULL, LOCATE_parser, 11007);
31230 }
31231 /* parser/parser.nit:11009 */
31232 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
31233 if (UNTAG_Bool(REGB0)) {
31234 } else {
31235 nit_abort("Assert failed", NULL, LOCATE_parser, 11009);
31236 }
31237 /* parser/parser.nit:11010 */
31238 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], NIT_NULL);
31239 /* parser/parser.nit:11023 */
31240 fra.me.REG[2] = fra.me.REG[3];
31241 /* parser/parser.nit:11024 */
31242 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31243 if (UNTAG_Bool(REGB0)) {
31244 } else {
31245 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11024);
31246 }
31247 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31248 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31249 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31250 stack_frame_head = fra.me.prev;
31251 return;
31252 }
31253 static const char LOCATE_parser___ReduceAction230___action[] = "parser::ReduceAction230::(parser::ReduceAction::action)";
31254 void parser___ReduceAction230___action(val_t p0, val_t p1){
31255 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
31256 val_t REGB0;
31257 val_t tmp;
31258 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31259 fra.me.file = LOCATE_parser;
31260 fra.me.line = 11029;
31261 fra.me.meth = LOCATE_parser___ReduceAction230___action;
31262 fra.me.has_broke = 0;
31263 fra.me.REG_size = 9;
31264 fra.me.nitni_local_ref_head = NULL;
31265 fra.me.REG[0] = NIT_NULL;
31266 fra.me.REG[1] = NIT_NULL;
31267 fra.me.REG[2] = NIT_NULL;
31268 fra.me.REG[3] = NIT_NULL;
31269 fra.me.REG[4] = NIT_NULL;
31270 fra.me.REG[5] = NIT_NULL;
31271 fra.me.REG[6] = NIT_NULL;
31272 fra.me.REG[7] = NIT_NULL;
31273 fra.me.REG[8] = NIT_NULL;
31274 fra.me.REG[0] = p0;
31275 fra.me.REG[1] = p1;
31276 /* parser/parser.nit:11031 */
31277 fra.me.REG[2] = NIT_NULL;
31278 /* parser/parser.nit:11032 */
31279 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31280 /* parser/parser.nit:11033 */
31281 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31282 /* parser/parser.nit:11034 */
31283 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31284 /* parser/parser.nit:11035 */
31285 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31286 /* parser/parser.nit:11036 */
31287 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31288 /* parser/parser.nit:11037 */
31289 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31290 /* parser/parser.nit:11039 */
31291 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*/;
31292 if (UNTAG_Bool(REGB0)) {
31293 } else {
31294 nit_abort("Assert failed", NULL, LOCATE_parser, 11039);
31295 }
31296 /* parser/parser.nit:11041 */
31297 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*/;
31298 if (UNTAG_Bool(REGB0)) {
31299 } else {
31300 nit_abort("Assert failed", NULL, LOCATE_parser, 11041);
31301 }
31302 /* parser/parser.nit:11043 */
31303 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*/;
31304 if (UNTAG_Bool(REGB0)) {
31305 } else {
31306 nit_abort("Assert failed", NULL, LOCATE_parser, 11043);
31307 }
31308 /* parser/parser.nit:11045 */
31309 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*/;
31310 if (UNTAG_Bool(REGB0)) {
31311 } else {
31312 nit_abort("Assert failed", NULL, LOCATE_parser, 11045);
31313 }
31314 /* parser/parser.nit:11047 */
31315 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*/;
31316 if (UNTAG_Bool(REGB0)) {
31317 } else {
31318 nit_abort("Assert failed", NULL, LOCATE_parser, 11047);
31319 }
31320 /* parser/parser.nit:11049 */
31321 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
31322 if (UNTAG_Bool(REGB0)) {
31323 } else {
31324 nit_abort("Assert failed", NULL, LOCATE_parser, 11049);
31325 }
31326 /* parser/parser.nit:11050 */
31327 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], NIT_NULL);
31328 /* parser/parser.nit:11063 */
31329 fra.me.REG[2] = fra.me.REG[3];
31330 /* parser/parser.nit:11064 */
31331 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31332 if (UNTAG_Bool(REGB0)) {
31333 } else {
31334 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11064);
31335 }
31336 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31337 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31338 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31339 stack_frame_head = fra.me.prev;
31340 return;
31341 }
31342 static const char LOCATE_parser___ReduceAction231___action[] = "parser::ReduceAction231::(parser::ReduceAction::action)";
31343 void parser___ReduceAction231___action(val_t p0, val_t p1){
31344 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
31345 val_t REGB0;
31346 val_t tmp;
31347 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31348 fra.me.file = LOCATE_parser;
31349 fra.me.line = 11069;
31350 fra.me.meth = LOCATE_parser___ReduceAction231___action;
31351 fra.me.has_broke = 0;
31352 fra.me.REG_size = 9;
31353 fra.me.nitni_local_ref_head = NULL;
31354 fra.me.REG[0] = NIT_NULL;
31355 fra.me.REG[1] = NIT_NULL;
31356 fra.me.REG[2] = NIT_NULL;
31357 fra.me.REG[3] = NIT_NULL;
31358 fra.me.REG[4] = NIT_NULL;
31359 fra.me.REG[5] = NIT_NULL;
31360 fra.me.REG[6] = NIT_NULL;
31361 fra.me.REG[7] = NIT_NULL;
31362 fra.me.REG[8] = NIT_NULL;
31363 fra.me.REG[0] = p0;
31364 fra.me.REG[1] = p1;
31365 /* parser/parser.nit:11071 */
31366 fra.me.REG[2] = NIT_NULL;
31367 /* parser/parser.nit:11072 */
31368 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31369 /* parser/parser.nit:11073 */
31370 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31371 /* parser/parser.nit:11074 */
31372 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31373 /* parser/parser.nit:11075 */
31374 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31375 /* parser/parser.nit:11076 */
31376 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31377 /* parser/parser.nit:11077 */
31378 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31379 /* parser/parser.nit:11079 */
31380 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*/;
31381 if (UNTAG_Bool(REGB0)) {
31382 } else {
31383 nit_abort("Assert failed", NULL, LOCATE_parser, 11079);
31384 }
31385 /* parser/parser.nit:11081 */
31386 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*/;
31387 if (UNTAG_Bool(REGB0)) {
31388 } else {
31389 nit_abort("Assert failed", NULL, LOCATE_parser, 11081);
31390 }
31391 /* parser/parser.nit:11083 */
31392 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*/;
31393 if (UNTAG_Bool(REGB0)) {
31394 } else {
31395 nit_abort("Assert failed", NULL, LOCATE_parser, 11083);
31396 }
31397 /* parser/parser.nit:11085 */
31398 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*/;
31399 if (UNTAG_Bool(REGB0)) {
31400 } else {
31401 nit_abort("Assert failed", NULL, LOCATE_parser, 11085);
31402 }
31403 /* parser/parser.nit:11087 */
31404 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*/;
31405 if (UNTAG_Bool(REGB0)) {
31406 } else {
31407 nit_abort("Assert failed", NULL, LOCATE_parser, 11087);
31408 }
31409 /* parser/parser.nit:11089 */
31410 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
31411 if (UNTAG_Bool(REGB0)) {
31412 } else {
31413 nit_abort("Assert failed", NULL, LOCATE_parser, 11089);
31414 }
31415 /* parser/parser.nit:11090 */
31416 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], NIT_NULL);
31417 /* parser/parser.nit:11103 */
31418 fra.me.REG[2] = fra.me.REG[3];
31419 /* parser/parser.nit:11104 */
31420 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31421 if (UNTAG_Bool(REGB0)) {
31422 } else {
31423 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11104);
31424 }
31425 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31426 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31427 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31428 stack_frame_head = fra.me.prev;
31429 return;
31430 }
31431 static const char LOCATE_parser___ReduceAction232___action[] = "parser::ReduceAction232::(parser::ReduceAction::action)";
31432 void parser___ReduceAction232___action(val_t p0, val_t p1){
31433 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
31434 val_t REGB0;
31435 val_t tmp;
31436 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31437 fra.me.file = LOCATE_parser;
31438 fra.me.line = 11109;
31439 fra.me.meth = LOCATE_parser___ReduceAction232___action;
31440 fra.me.has_broke = 0;
31441 fra.me.REG_size = 10;
31442 fra.me.nitni_local_ref_head = NULL;
31443 fra.me.REG[0] = NIT_NULL;
31444 fra.me.REG[1] = NIT_NULL;
31445 fra.me.REG[2] = NIT_NULL;
31446 fra.me.REG[3] = NIT_NULL;
31447 fra.me.REG[4] = NIT_NULL;
31448 fra.me.REG[5] = NIT_NULL;
31449 fra.me.REG[6] = NIT_NULL;
31450 fra.me.REG[7] = NIT_NULL;
31451 fra.me.REG[8] = NIT_NULL;
31452 fra.me.REG[9] = NIT_NULL;
31453 fra.me.REG[0] = p0;
31454 fra.me.REG[1] = p1;
31455 /* parser/parser.nit:11111 */
31456 fra.me.REG[2] = NIT_NULL;
31457 /* parser/parser.nit:11112 */
31458 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31459 /* parser/parser.nit:11113 */
31460 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31461 /* parser/parser.nit:11114 */
31462 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31463 /* parser/parser.nit:11115 */
31464 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31465 /* parser/parser.nit:11116 */
31466 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31467 /* parser/parser.nit:11117 */
31468 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31469 /* parser/parser.nit:11118 */
31470 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31471 /* parser/parser.nit:11120 */
31472 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*/;
31473 if (UNTAG_Bool(REGB0)) {
31474 } else {
31475 nit_abort("Assert failed", NULL, LOCATE_parser, 11120);
31476 }
31477 /* parser/parser.nit:11122 */
31478 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*/;
31479 if (UNTAG_Bool(REGB0)) {
31480 } else {
31481 nit_abort("Assert failed", NULL, LOCATE_parser, 11122);
31482 }
31483 /* parser/parser.nit:11124 */
31484 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*/;
31485 if (UNTAG_Bool(REGB0)) {
31486 } else {
31487 nit_abort("Assert failed", NULL, LOCATE_parser, 11124);
31488 }
31489 /* parser/parser.nit:11126 */
31490 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*/;
31491 if (UNTAG_Bool(REGB0)) {
31492 } else {
31493 nit_abort("Assert failed", NULL, LOCATE_parser, 11126);
31494 }
31495 /* parser/parser.nit:11128 */
31496 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*/;
31497 if (UNTAG_Bool(REGB0)) {
31498 } else {
31499 nit_abort("Assert failed", NULL, LOCATE_parser, 11128);
31500 }
31501 /* parser/parser.nit:11130 */
31502 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*/;
31503 if (UNTAG_Bool(REGB0)) {
31504 } else {
31505 nit_abort("Assert failed", NULL, LOCATE_parser, 11130);
31506 }
31507 /* parser/parser.nit:11132 */
31508 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
31509 if (UNTAG_Bool(REGB0)) {
31510 } else {
31511 nit_abort("Assert failed", NULL, LOCATE_parser, 11132);
31512 }
31513 /* parser/parser.nit:11133 */
31514 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], NIT_NULL);
31515 /* parser/parser.nit:11146 */
31516 fra.me.REG[2] = fra.me.REG[3];
31517 /* parser/parser.nit:11147 */
31518 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31519 if (UNTAG_Bool(REGB0)) {
31520 } else {
31521 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11147);
31522 }
31523 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31524 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31525 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31526 stack_frame_head = fra.me.prev;
31527 return;
31528 }
31529 static const char LOCATE_parser___ReduceAction233___action[] = "parser::ReduceAction233::(parser::ReduceAction::action)";
31530 void parser___ReduceAction233___action(val_t p0, val_t p1){
31531 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
31532 val_t REGB0;
31533 val_t tmp;
31534 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31535 fra.me.file = LOCATE_parser;
31536 fra.me.line = 11152;
31537 fra.me.meth = LOCATE_parser___ReduceAction233___action;
31538 fra.me.has_broke = 0;
31539 fra.me.REG_size = 9;
31540 fra.me.nitni_local_ref_head = NULL;
31541 fra.me.REG[0] = NIT_NULL;
31542 fra.me.REG[1] = NIT_NULL;
31543 fra.me.REG[2] = NIT_NULL;
31544 fra.me.REG[3] = NIT_NULL;
31545 fra.me.REG[4] = NIT_NULL;
31546 fra.me.REG[5] = NIT_NULL;
31547 fra.me.REG[6] = NIT_NULL;
31548 fra.me.REG[7] = NIT_NULL;
31549 fra.me.REG[8] = NIT_NULL;
31550 fra.me.REG[0] = p0;
31551 fra.me.REG[1] = p1;
31552 /* parser/parser.nit:11154 */
31553 fra.me.REG[2] = NIT_NULL;
31554 /* parser/parser.nit:11155 */
31555 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31556 /* parser/parser.nit:11156 */
31557 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31558 /* parser/parser.nit:11157 */
31559 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31560 /* parser/parser.nit:11158 */
31561 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31562 /* parser/parser.nit:11159 */
31563 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31564 /* parser/parser.nit:11160 */
31565 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31566 /* parser/parser.nit:11162 */
31567 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*/;
31568 if (UNTAG_Bool(REGB0)) {
31569 } else {
31570 nit_abort("Assert failed", NULL, LOCATE_parser, 11162);
31571 }
31572 /* parser/parser.nit:11164 */
31573 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*/;
31574 if (UNTAG_Bool(REGB0)) {
31575 } else {
31576 nit_abort("Assert failed", NULL, LOCATE_parser, 11164);
31577 }
31578 /* parser/parser.nit:11166 */
31579 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*/;
31580 if (UNTAG_Bool(REGB0)) {
31581 } else {
31582 nit_abort("Assert failed", NULL, LOCATE_parser, 11166);
31583 }
31584 /* parser/parser.nit:11168 */
31585 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*/;
31586 if (UNTAG_Bool(REGB0)) {
31587 } else {
31588 nit_abort("Assert failed", NULL, LOCATE_parser, 11168);
31589 }
31590 /* parser/parser.nit:11170 */
31591 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*/;
31592 if (UNTAG_Bool(REGB0)) {
31593 } else {
31594 nit_abort("Assert failed", NULL, LOCATE_parser, 11170);
31595 }
31596 /* parser/parser.nit:11172 */
31597 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
31598 if (UNTAG_Bool(REGB0)) {
31599 } else {
31600 nit_abort("Assert failed", NULL, LOCATE_parser, 11172);
31601 }
31602 /* parser/parser.nit:11173 */
31603 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], NIT_NULL);
31604 /* parser/parser.nit:11186 */
31605 fra.me.REG[2] = fra.me.REG[3];
31606 /* parser/parser.nit:11187 */
31607 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31608 if (UNTAG_Bool(REGB0)) {
31609 } else {
31610 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11187);
31611 }
31612 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31613 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31614 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31615 stack_frame_head = fra.me.prev;
31616 return;
31617 }
31618 static const char LOCATE_parser___ReduceAction234___action[] = "parser::ReduceAction234::(parser::ReduceAction::action)";
31619 void parser___ReduceAction234___action(val_t p0, val_t p1){
31620 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
31621 val_t REGB0;
31622 val_t tmp;
31623 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31624 fra.me.file = LOCATE_parser;
31625 fra.me.line = 11192;
31626 fra.me.meth = LOCATE_parser___ReduceAction234___action;
31627 fra.me.has_broke = 0;
31628 fra.me.REG_size = 10;
31629 fra.me.nitni_local_ref_head = NULL;
31630 fra.me.REG[0] = NIT_NULL;
31631 fra.me.REG[1] = NIT_NULL;
31632 fra.me.REG[2] = NIT_NULL;
31633 fra.me.REG[3] = NIT_NULL;
31634 fra.me.REG[4] = NIT_NULL;
31635 fra.me.REG[5] = NIT_NULL;
31636 fra.me.REG[6] = NIT_NULL;
31637 fra.me.REG[7] = NIT_NULL;
31638 fra.me.REG[8] = NIT_NULL;
31639 fra.me.REG[9] = NIT_NULL;
31640 fra.me.REG[0] = p0;
31641 fra.me.REG[1] = p1;
31642 /* parser/parser.nit:11194 */
31643 fra.me.REG[2] = NIT_NULL;
31644 /* parser/parser.nit:11195 */
31645 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31646 /* parser/parser.nit:11196 */
31647 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31648 /* parser/parser.nit:11197 */
31649 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31650 /* parser/parser.nit:11198 */
31651 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31652 /* parser/parser.nit:11199 */
31653 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31654 /* parser/parser.nit:11200 */
31655 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31656 /* parser/parser.nit:11201 */
31657 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31658 /* parser/parser.nit:11203 */
31659 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*/;
31660 if (UNTAG_Bool(REGB0)) {
31661 } else {
31662 nit_abort("Assert failed", NULL, LOCATE_parser, 11203);
31663 }
31664 /* parser/parser.nit:11205 */
31665 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*/;
31666 if (UNTAG_Bool(REGB0)) {
31667 } else {
31668 nit_abort("Assert failed", NULL, LOCATE_parser, 11205);
31669 }
31670 /* parser/parser.nit:11207 */
31671 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*/;
31672 if (UNTAG_Bool(REGB0)) {
31673 } else {
31674 nit_abort("Assert failed", NULL, LOCATE_parser, 11207);
31675 }
31676 /* parser/parser.nit:11209 */
31677 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*/;
31678 if (UNTAG_Bool(REGB0)) {
31679 } else {
31680 nit_abort("Assert failed", NULL, LOCATE_parser, 11209);
31681 }
31682 /* parser/parser.nit:11211 */
31683 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*/;
31684 if (UNTAG_Bool(REGB0)) {
31685 } else {
31686 nit_abort("Assert failed", NULL, LOCATE_parser, 11211);
31687 }
31688 /* parser/parser.nit:11213 */
31689 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*/;
31690 if (UNTAG_Bool(REGB0)) {
31691 } else {
31692 nit_abort("Assert failed", NULL, LOCATE_parser, 11213);
31693 }
31694 /* parser/parser.nit:11215 */
31695 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
31696 if (UNTAG_Bool(REGB0)) {
31697 } else {
31698 nit_abort("Assert failed", NULL, LOCATE_parser, 11215);
31699 }
31700 /* parser/parser.nit:11216 */
31701 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], NIT_NULL);
31702 /* parser/parser.nit:11229 */
31703 fra.me.REG[2] = fra.me.REG[3];
31704 /* parser/parser.nit:11230 */
31705 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31706 if (UNTAG_Bool(REGB0)) {
31707 } else {
31708 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11230);
31709 }
31710 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31711 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31712 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31713 stack_frame_head = fra.me.prev;
31714 return;
31715 }
31716 static const char LOCATE_parser___ReduceAction235___action[] = "parser::ReduceAction235::(parser::ReduceAction::action)";
31717 void parser___ReduceAction235___action(val_t p0, val_t p1){
31718 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
31719 val_t REGB0;
31720 val_t tmp;
31721 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31722 fra.me.file = LOCATE_parser;
31723 fra.me.line = 11235;
31724 fra.me.meth = LOCATE_parser___ReduceAction235___action;
31725 fra.me.has_broke = 0;
31726 fra.me.REG_size = 10;
31727 fra.me.nitni_local_ref_head = NULL;
31728 fra.me.REG[0] = NIT_NULL;
31729 fra.me.REG[1] = NIT_NULL;
31730 fra.me.REG[2] = NIT_NULL;
31731 fra.me.REG[3] = NIT_NULL;
31732 fra.me.REG[4] = NIT_NULL;
31733 fra.me.REG[5] = NIT_NULL;
31734 fra.me.REG[6] = NIT_NULL;
31735 fra.me.REG[7] = NIT_NULL;
31736 fra.me.REG[8] = NIT_NULL;
31737 fra.me.REG[9] = NIT_NULL;
31738 fra.me.REG[0] = p0;
31739 fra.me.REG[1] = p1;
31740 /* parser/parser.nit:11237 */
31741 fra.me.REG[2] = NIT_NULL;
31742 /* parser/parser.nit:11238 */
31743 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31744 /* parser/parser.nit:11239 */
31745 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31746 /* parser/parser.nit:11240 */
31747 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31748 /* parser/parser.nit:11241 */
31749 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31750 /* parser/parser.nit:11242 */
31751 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31752 /* parser/parser.nit:11243 */
31753 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31754 /* parser/parser.nit:11244 */
31755 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31756 /* parser/parser.nit:11246 */
31757 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*/;
31758 if (UNTAG_Bool(REGB0)) {
31759 } else {
31760 nit_abort("Assert failed", NULL, LOCATE_parser, 11246);
31761 }
31762 /* parser/parser.nit:11248 */
31763 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*/;
31764 if (UNTAG_Bool(REGB0)) {
31765 } else {
31766 nit_abort("Assert failed", NULL, LOCATE_parser, 11248);
31767 }
31768 /* parser/parser.nit:11250 */
31769 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*/;
31770 if (UNTAG_Bool(REGB0)) {
31771 } else {
31772 nit_abort("Assert failed", NULL, LOCATE_parser, 11250);
31773 }
31774 /* parser/parser.nit:11252 */
31775 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*/;
31776 if (UNTAG_Bool(REGB0)) {
31777 } else {
31778 nit_abort("Assert failed", NULL, LOCATE_parser, 11252);
31779 }
31780 /* parser/parser.nit:11254 */
31781 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*/;
31782 if (UNTAG_Bool(REGB0)) {
31783 } else {
31784 nit_abort("Assert failed", NULL, LOCATE_parser, 11254);
31785 }
31786 /* parser/parser.nit:11256 */
31787 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*/;
31788 if (UNTAG_Bool(REGB0)) {
31789 } else {
31790 nit_abort("Assert failed", NULL, LOCATE_parser, 11256);
31791 }
31792 /* parser/parser.nit:11258 */
31793 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
31794 if (UNTAG_Bool(REGB0)) {
31795 } else {
31796 nit_abort("Assert failed", NULL, LOCATE_parser, 11258);
31797 }
31798 /* parser/parser.nit:11259 */
31799 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], NIT_NULL);
31800 /* parser/parser.nit:11272 */
31801 fra.me.REG[2] = fra.me.REG[3];
31802 /* parser/parser.nit:11273 */
31803 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31804 if (UNTAG_Bool(REGB0)) {
31805 } else {
31806 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11273);
31807 }
31808 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31809 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31810 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31811 stack_frame_head = fra.me.prev;
31812 return;
31813 }
31814 static const char LOCATE_parser___ReduceAction236___action[] = "parser::ReduceAction236::(parser::ReduceAction::action)";
31815 void parser___ReduceAction236___action(val_t p0, val_t p1){
31816 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
31817 val_t REGB0;
31818 val_t tmp;
31819 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31820 fra.me.file = LOCATE_parser;
31821 fra.me.line = 11278;
31822 fra.me.meth = LOCATE_parser___ReduceAction236___action;
31823 fra.me.has_broke = 0;
31824 fra.me.REG_size = 11;
31825 fra.me.nitni_local_ref_head = NULL;
31826 fra.me.REG[0] = NIT_NULL;
31827 fra.me.REG[1] = NIT_NULL;
31828 fra.me.REG[2] = NIT_NULL;
31829 fra.me.REG[3] = NIT_NULL;
31830 fra.me.REG[4] = NIT_NULL;
31831 fra.me.REG[5] = NIT_NULL;
31832 fra.me.REG[6] = NIT_NULL;
31833 fra.me.REG[7] = NIT_NULL;
31834 fra.me.REG[8] = NIT_NULL;
31835 fra.me.REG[9] = NIT_NULL;
31836 fra.me.REG[10] = NIT_NULL;
31837 fra.me.REG[0] = p0;
31838 fra.me.REG[1] = p1;
31839 /* parser/parser.nit:11280 */
31840 fra.me.REG[2] = NIT_NULL;
31841 /* parser/parser.nit:11281 */
31842 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31843 /* parser/parser.nit:11282 */
31844 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31845 /* parser/parser.nit:11283 */
31846 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31847 /* parser/parser.nit:11284 */
31848 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31849 /* parser/parser.nit:11285 */
31850 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31851 /* parser/parser.nit:11286 */
31852 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31853 /* parser/parser.nit:11287 */
31854 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31855 /* parser/parser.nit:11288 */
31856 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31857 /* parser/parser.nit:11290 */
31858 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*/;
31859 if (UNTAG_Bool(REGB0)) {
31860 } else {
31861 nit_abort("Assert failed", NULL, LOCATE_parser, 11290);
31862 }
31863 /* parser/parser.nit:11292 */
31864 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*/;
31865 if (UNTAG_Bool(REGB0)) {
31866 } else {
31867 nit_abort("Assert failed", NULL, LOCATE_parser, 11292);
31868 }
31869 /* parser/parser.nit:11294 */
31870 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*/;
31871 if (UNTAG_Bool(REGB0)) {
31872 } else {
31873 nit_abort("Assert failed", NULL, LOCATE_parser, 11294);
31874 }
31875 /* parser/parser.nit:11296 */
31876 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*/;
31877 if (UNTAG_Bool(REGB0)) {
31878 } else {
31879 nit_abort("Assert failed", NULL, LOCATE_parser, 11296);
31880 }
31881 /* parser/parser.nit:11298 */
31882 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*/;
31883 if (UNTAG_Bool(REGB0)) {
31884 } else {
31885 nit_abort("Assert failed", NULL, LOCATE_parser, 11298);
31886 }
31887 /* parser/parser.nit:11300 */
31888 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*/;
31889 if (UNTAG_Bool(REGB0)) {
31890 } else {
31891 nit_abort("Assert failed", NULL, LOCATE_parser, 11300);
31892 }
31893 /* parser/parser.nit:11302 */
31894 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*/;
31895 if (UNTAG_Bool(REGB0)) {
31896 } else {
31897 nit_abort("Assert failed", NULL, LOCATE_parser, 11302);
31898 }
31899 /* parser/parser.nit:11304 */
31900 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
31901 if (UNTAG_Bool(REGB0)) {
31902 } else {
31903 nit_abort("Assert failed", NULL, LOCATE_parser, 11304);
31904 }
31905 /* parser/parser.nit:11305 */
31906 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], NIT_NULL);
31907 /* parser/parser.nit:11318 */
31908 fra.me.REG[2] = fra.me.REG[3];
31909 /* parser/parser.nit:11319 */
31910 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31911 if (UNTAG_Bool(REGB0)) {
31912 } else {
31913 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11319);
31914 }
31915 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31916 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31917 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31918 stack_frame_head = fra.me.prev;
31919 return;
31920 }
31921 static const char LOCATE_parser___ReduceAction237___action[] = "parser::ReduceAction237::(parser::ReduceAction::action)";
31922 void parser___ReduceAction237___action(val_t p0, val_t p1){
31923 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
31924 val_t REGB0;
31925 val_t tmp;
31926 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31927 fra.me.file = LOCATE_parser;
31928 fra.me.line = 11324;
31929 fra.me.meth = LOCATE_parser___ReduceAction237___action;
31930 fra.me.has_broke = 0;
31931 fra.me.REG_size = 8;
31932 fra.me.nitni_local_ref_head = NULL;
31933 fra.me.REG[0] = NIT_NULL;
31934 fra.me.REG[1] = NIT_NULL;
31935 fra.me.REG[2] = NIT_NULL;
31936 fra.me.REG[3] = NIT_NULL;
31937 fra.me.REG[4] = NIT_NULL;
31938 fra.me.REG[5] = NIT_NULL;
31939 fra.me.REG[6] = NIT_NULL;
31940 fra.me.REG[7] = NIT_NULL;
31941 fra.me.REG[0] = p0;
31942 fra.me.REG[1] = p1;
31943 /* parser/parser.nit:11326 */
31944 fra.me.REG[2] = NIT_NULL;
31945 /* parser/parser.nit:11327 */
31946 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31947 /* parser/parser.nit:11328 */
31948 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31949 /* parser/parser.nit:11329 */
31950 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31951 /* parser/parser.nit:11330 */
31952 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31953 /* parser/parser.nit:11331 */
31954 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31955 /* parser/parser.nit:11332 */
31956 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31957 /* parser/parser.nit:11333 */
31958 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31959 /* parser/parser.nit:11335 */
31960 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*/;
31961 if (UNTAG_Bool(REGB0)) {
31962 } else {
31963 nit_abort("Assert failed", NULL, LOCATE_parser, 11335);
31964 }
31965 /* parser/parser.nit:11337 */
31966 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*/;
31967 if (UNTAG_Bool(REGB0)) {
31968 } else {
31969 nit_abort("Assert failed", NULL, LOCATE_parser, 11337);
31970 }
31971 /* parser/parser.nit:11339 */
31972 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*/;
31973 if (UNTAG_Bool(REGB0)) {
31974 } else {
31975 nit_abort("Assert failed", NULL, LOCATE_parser, 11339);
31976 }
31977 /* parser/parser.nit:11341 */
31978 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*/;
31979 if (UNTAG_Bool(REGB0)) {
31980 } else {
31981 nit_abort("Assert failed", NULL, LOCATE_parser, 11341);
31982 }
31983 /* parser/parser.nit:11343 */
31984 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
31985 if (UNTAG_Bool(REGB0)) {
31986 } else {
31987 nit_abort("Assert failed", NULL, LOCATE_parser, 11343);
31988 }
31989 /* parser/parser.nit:11344 */
31990 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, NIT_NULL, fra.me.REG[3]);
31991 /* parser/parser.nit:11357 */
31992 fra.me.REG[2] = fra.me.REG[3];
31993 /* parser/parser.nit:11358 */
31994 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31995 if (UNTAG_Bool(REGB0)) {
31996 } else {
31997 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11358);
31998 }
31999 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32000 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32001 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32002 stack_frame_head = fra.me.prev;
32003 return;
32004 }
32005 static const char LOCATE_parser___ReduceAction238___action[] = "parser::ReduceAction238::(parser::ReduceAction::action)";
32006 void parser___ReduceAction238___action(val_t p0, val_t p1){
32007 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
32008 val_t REGB0;
32009 val_t tmp;
32010 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32011 fra.me.file = LOCATE_parser;
32012 fra.me.line = 11363;
32013 fra.me.meth = LOCATE_parser___ReduceAction238___action;
32014 fra.me.has_broke = 0;
32015 fra.me.REG_size = 9;
32016 fra.me.nitni_local_ref_head = NULL;
32017 fra.me.REG[0] = NIT_NULL;
32018 fra.me.REG[1] = NIT_NULL;
32019 fra.me.REG[2] = NIT_NULL;
32020 fra.me.REG[3] = NIT_NULL;
32021 fra.me.REG[4] = NIT_NULL;
32022 fra.me.REG[5] = NIT_NULL;
32023 fra.me.REG[6] = NIT_NULL;
32024 fra.me.REG[7] = NIT_NULL;
32025 fra.me.REG[8] = NIT_NULL;
32026 fra.me.REG[0] = p0;
32027 fra.me.REG[1] = p1;
32028 /* parser/parser.nit:11365 */
32029 fra.me.REG[2] = NIT_NULL;
32030 /* parser/parser.nit:11366 */
32031 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32032 /* parser/parser.nit:11367 */
32033 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32034 /* parser/parser.nit:11368 */
32035 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32036 /* parser/parser.nit:11369 */
32037 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32038 /* parser/parser.nit:11370 */
32039 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32040 /* parser/parser.nit:11371 */
32041 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32042 /* parser/parser.nit:11372 */
32043 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32044 /* parser/parser.nit:11373 */
32045 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32046 /* parser/parser.nit:11375 */
32047 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*/;
32048 if (UNTAG_Bool(REGB0)) {
32049 } else {
32050 nit_abort("Assert failed", NULL, LOCATE_parser, 11375);
32051 }
32052 /* parser/parser.nit:11377 */
32053 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*/;
32054 if (UNTAG_Bool(REGB0)) {
32055 } else {
32056 nit_abort("Assert failed", NULL, LOCATE_parser, 11377);
32057 }
32058 /* parser/parser.nit:11379 */
32059 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*/;
32060 if (UNTAG_Bool(REGB0)) {
32061 } else {
32062 nit_abort("Assert failed", NULL, LOCATE_parser, 11379);
32063 }
32064 /* parser/parser.nit:11381 */
32065 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*/;
32066 if (UNTAG_Bool(REGB0)) {
32067 } else {
32068 nit_abort("Assert failed", NULL, LOCATE_parser, 11381);
32069 }
32070 /* parser/parser.nit:11383 */
32071 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*/;
32072 if (UNTAG_Bool(REGB0)) {
32073 } else {
32074 nit_abort("Assert failed", NULL, LOCATE_parser, 11383);
32075 }
32076 /* parser/parser.nit:11385 */
32077 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
32078 if (UNTAG_Bool(REGB0)) {
32079 } else {
32080 nit_abort("Assert failed", NULL, LOCATE_parser, 11385);
32081 }
32082 /* parser/parser.nit:11386 */
32083 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, NIT_NULL, fra.me.REG[3]);
32084 /* parser/parser.nit:11399 */
32085 fra.me.REG[2] = fra.me.REG[3];
32086 /* parser/parser.nit:11400 */
32087 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32088 if (UNTAG_Bool(REGB0)) {
32089 } else {
32090 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11400);
32091 }
32092 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32093 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32094 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32095 stack_frame_head = fra.me.prev;
32096 return;
32097 }
32098 static const char LOCATE_parser___ReduceAction239___action[] = "parser::ReduceAction239::(parser::ReduceAction::action)";
32099 void parser___ReduceAction239___action(val_t p0, val_t p1){
32100 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
32101 val_t REGB0;
32102 val_t tmp;
32103 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32104 fra.me.file = LOCATE_parser;
32105 fra.me.line = 11405;
32106 fra.me.meth = LOCATE_parser___ReduceAction239___action;
32107 fra.me.has_broke = 0;
32108 fra.me.REG_size = 9;
32109 fra.me.nitni_local_ref_head = NULL;
32110 fra.me.REG[0] = NIT_NULL;
32111 fra.me.REG[1] = NIT_NULL;
32112 fra.me.REG[2] = NIT_NULL;
32113 fra.me.REG[3] = NIT_NULL;
32114 fra.me.REG[4] = NIT_NULL;
32115 fra.me.REG[5] = NIT_NULL;
32116 fra.me.REG[6] = NIT_NULL;
32117 fra.me.REG[7] = NIT_NULL;
32118 fra.me.REG[8] = NIT_NULL;
32119 fra.me.REG[0] = p0;
32120 fra.me.REG[1] = p1;
32121 /* parser/parser.nit:11407 */
32122 fra.me.REG[2] = NIT_NULL;
32123 /* parser/parser.nit:11408 */
32124 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32125 /* parser/parser.nit:11409 */
32126 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32127 /* parser/parser.nit:11410 */
32128 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32129 /* parser/parser.nit:11411 */
32130 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32131 /* parser/parser.nit:11412 */
32132 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32133 /* parser/parser.nit:11413 */
32134 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32135 /* parser/parser.nit:11414 */
32136 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32137 /* parser/parser.nit:11415 */
32138 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32139 /* parser/parser.nit:11417 */
32140 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*/;
32141 if (UNTAG_Bool(REGB0)) {
32142 } else {
32143 nit_abort("Assert failed", NULL, LOCATE_parser, 11417);
32144 }
32145 /* parser/parser.nit:11419 */
32146 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*/;
32147 if (UNTAG_Bool(REGB0)) {
32148 } else {
32149 nit_abort("Assert failed", NULL, LOCATE_parser, 11419);
32150 }
32151 /* parser/parser.nit:11421 */
32152 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*/;
32153 if (UNTAG_Bool(REGB0)) {
32154 } else {
32155 nit_abort("Assert failed", NULL, LOCATE_parser, 11421);
32156 }
32157 /* parser/parser.nit:11423 */
32158 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*/;
32159 if (UNTAG_Bool(REGB0)) {
32160 } else {
32161 nit_abort("Assert failed", NULL, LOCATE_parser, 11423);
32162 }
32163 /* parser/parser.nit:11425 */
32164 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*/;
32165 if (UNTAG_Bool(REGB0)) {
32166 } else {
32167 nit_abort("Assert failed", NULL, LOCATE_parser, 11425);
32168 }
32169 /* parser/parser.nit:11427 */
32170 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
32171 if (UNTAG_Bool(REGB0)) {
32172 } else {
32173 nit_abort("Assert failed", NULL, LOCATE_parser, 11427);
32174 }
32175 /* parser/parser.nit:11428 */
32176 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], NIT_NULL, fra.me.REG[3]);
32177 /* parser/parser.nit:11441 */
32178 fra.me.REG[2] = fra.me.REG[3];
32179 /* parser/parser.nit:11442 */
32180 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32181 if (UNTAG_Bool(REGB0)) {
32182 } else {
32183 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11442);
32184 }
32185 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32186 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32187 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32188 stack_frame_head = fra.me.prev;
32189 return;
32190 }
32191 static const char LOCATE_parser___ReduceAction240___action[] = "parser::ReduceAction240::(parser::ReduceAction::action)";
32192 void parser___ReduceAction240___action(val_t p0, val_t p1){
32193 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
32194 val_t REGB0;
32195 val_t tmp;
32196 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32197 fra.me.file = LOCATE_parser;
32198 fra.me.line = 11447;
32199 fra.me.meth = LOCATE_parser___ReduceAction240___action;
32200 fra.me.has_broke = 0;
32201 fra.me.REG_size = 10;
32202 fra.me.nitni_local_ref_head = NULL;
32203 fra.me.REG[0] = NIT_NULL;
32204 fra.me.REG[1] = NIT_NULL;
32205 fra.me.REG[2] = NIT_NULL;
32206 fra.me.REG[3] = NIT_NULL;
32207 fra.me.REG[4] = NIT_NULL;
32208 fra.me.REG[5] = NIT_NULL;
32209 fra.me.REG[6] = NIT_NULL;
32210 fra.me.REG[7] = NIT_NULL;
32211 fra.me.REG[8] = NIT_NULL;
32212 fra.me.REG[9] = NIT_NULL;
32213 fra.me.REG[0] = p0;
32214 fra.me.REG[1] = p1;
32215 /* parser/parser.nit:11449 */
32216 fra.me.REG[2] = NIT_NULL;
32217 /* parser/parser.nit:11450 */
32218 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32219 /* parser/parser.nit:11451 */
32220 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32221 /* parser/parser.nit:11452 */
32222 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32223 /* parser/parser.nit:11453 */
32224 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32225 /* parser/parser.nit:11454 */
32226 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32227 /* parser/parser.nit:11455 */
32228 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32229 /* parser/parser.nit:11456 */
32230 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32231 /* parser/parser.nit:11457 */
32232 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32233 /* parser/parser.nit:11458 */
32234 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32235 /* parser/parser.nit:11460 */
32236 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*/;
32237 if (UNTAG_Bool(REGB0)) {
32238 } else {
32239 nit_abort("Assert failed", NULL, LOCATE_parser, 11460);
32240 }
32241 /* parser/parser.nit:11462 */
32242 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*/;
32243 if (UNTAG_Bool(REGB0)) {
32244 } else {
32245 nit_abort("Assert failed", NULL, LOCATE_parser, 11462);
32246 }
32247 /* parser/parser.nit:11464 */
32248 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*/;
32249 if (UNTAG_Bool(REGB0)) {
32250 } else {
32251 nit_abort("Assert failed", NULL, LOCATE_parser, 11464);
32252 }
32253 /* parser/parser.nit:11466 */
32254 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*/;
32255 if (UNTAG_Bool(REGB0)) {
32256 } else {
32257 nit_abort("Assert failed", NULL, LOCATE_parser, 11466);
32258 }
32259 /* parser/parser.nit:11468 */
32260 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*/;
32261 if (UNTAG_Bool(REGB0)) {
32262 } else {
32263 nit_abort("Assert failed", NULL, LOCATE_parser, 11468);
32264 }
32265 /* parser/parser.nit:11470 */
32266 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*/;
32267 if (UNTAG_Bool(REGB0)) {
32268 } else {
32269 nit_abort("Assert failed", NULL, LOCATE_parser, 11470);
32270 }
32271 /* parser/parser.nit:11472 */
32272 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
32273 if (UNTAG_Bool(REGB0)) {
32274 } else {
32275 nit_abort("Assert failed", NULL, LOCATE_parser, 11472);
32276 }
32277 /* parser/parser.nit:11473 */
32278 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], NIT_NULL, fra.me.REG[3]);
32279 /* parser/parser.nit:11486 */
32280 fra.me.REG[2] = fra.me.REG[3];
32281 /* parser/parser.nit:11487 */
32282 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32283 if (UNTAG_Bool(REGB0)) {
32284 } else {
32285 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11487);
32286 }
32287 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32288 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32289 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32290 stack_frame_head = fra.me.prev;
32291 return;
32292 }
32293 static const char LOCATE_parser___ReduceAction241___action[] = "parser::ReduceAction241::(parser::ReduceAction::action)";
32294 void parser___ReduceAction241___action(val_t p0, val_t p1){
32295 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
32296 val_t REGB0;
32297 val_t tmp;
32298 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32299 fra.me.file = LOCATE_parser;
32300 fra.me.line = 11492;
32301 fra.me.meth = LOCATE_parser___ReduceAction241___action;
32302 fra.me.has_broke = 0;
32303 fra.me.REG_size = 9;
32304 fra.me.nitni_local_ref_head = NULL;
32305 fra.me.REG[0] = NIT_NULL;
32306 fra.me.REG[1] = NIT_NULL;
32307 fra.me.REG[2] = NIT_NULL;
32308 fra.me.REG[3] = NIT_NULL;
32309 fra.me.REG[4] = NIT_NULL;
32310 fra.me.REG[5] = NIT_NULL;
32311 fra.me.REG[6] = NIT_NULL;
32312 fra.me.REG[7] = NIT_NULL;
32313 fra.me.REG[8] = NIT_NULL;
32314 fra.me.REG[0] = p0;
32315 fra.me.REG[1] = p1;
32316 /* parser/parser.nit:11494 */
32317 fra.me.REG[2] = NIT_NULL;
32318 /* parser/parser.nit:11495 */
32319 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32320 /* parser/parser.nit:11496 */
32321 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32322 /* parser/parser.nit:11497 */
32323 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32324 /* parser/parser.nit:11498 */
32325 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32326 /* parser/parser.nit:11499 */
32327 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32328 /* parser/parser.nit:11500 */
32329 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32330 /* parser/parser.nit:11501 */
32331 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32332 /* parser/parser.nit:11502 */
32333 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32334 /* parser/parser.nit:11504 */
32335 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*/;
32336 if (UNTAG_Bool(REGB0)) {
32337 } else {
32338 nit_abort("Assert failed", NULL, LOCATE_parser, 11504);
32339 }
32340 /* parser/parser.nit:11506 */
32341 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*/;
32342 if (UNTAG_Bool(REGB0)) {
32343 } else {
32344 nit_abort("Assert failed", NULL, LOCATE_parser, 11506);
32345 }
32346 /* parser/parser.nit:11508 */
32347 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*/;
32348 if (UNTAG_Bool(REGB0)) {
32349 } else {
32350 nit_abort("Assert failed", NULL, LOCATE_parser, 11508);
32351 }
32352 /* parser/parser.nit:11510 */
32353 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*/;
32354 if (UNTAG_Bool(REGB0)) {
32355 } else {
32356 nit_abort("Assert failed", NULL, LOCATE_parser, 11510);
32357 }
32358 /* parser/parser.nit:11512 */
32359 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*/;
32360 if (UNTAG_Bool(REGB0)) {
32361 } else {
32362 nit_abort("Assert failed", NULL, LOCATE_parser, 11512);
32363 }
32364 /* parser/parser.nit:11514 */
32365 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
32366 if (UNTAG_Bool(REGB0)) {
32367 } else {
32368 nit_abort("Assert failed", NULL, LOCATE_parser, 11514);
32369 }
32370 /* parser/parser.nit:11515 */
32371 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, NIT_NULL, fra.me.REG[3]);
32372 /* parser/parser.nit:11528 */
32373 fra.me.REG[2] = fra.me.REG[3];
32374 /* parser/parser.nit:11529 */
32375 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32376 if (UNTAG_Bool(REGB0)) {
32377 } else {
32378 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11529);
32379 }
32380 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32381 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32382 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32383 stack_frame_head = fra.me.prev;
32384 return;
32385 }
32386 static const char LOCATE_parser___ReduceAction242___action[] = "parser::ReduceAction242::(parser::ReduceAction::action)";
32387 void parser___ReduceAction242___action(val_t p0, val_t p1){
32388 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
32389 val_t REGB0;
32390 val_t tmp;
32391 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32392 fra.me.file = LOCATE_parser;
32393 fra.me.line = 11534;
32394 fra.me.meth = LOCATE_parser___ReduceAction242___action;
32395 fra.me.has_broke = 0;
32396 fra.me.REG_size = 10;
32397 fra.me.nitni_local_ref_head = NULL;
32398 fra.me.REG[0] = NIT_NULL;
32399 fra.me.REG[1] = NIT_NULL;
32400 fra.me.REG[2] = NIT_NULL;
32401 fra.me.REG[3] = NIT_NULL;
32402 fra.me.REG[4] = NIT_NULL;
32403 fra.me.REG[5] = NIT_NULL;
32404 fra.me.REG[6] = NIT_NULL;
32405 fra.me.REG[7] = NIT_NULL;
32406 fra.me.REG[8] = NIT_NULL;
32407 fra.me.REG[9] = NIT_NULL;
32408 fra.me.REG[0] = p0;
32409 fra.me.REG[1] = p1;
32410 /* parser/parser.nit:11536 */
32411 fra.me.REG[2] = NIT_NULL;
32412 /* parser/parser.nit:11537 */
32413 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32414 /* parser/parser.nit:11538 */
32415 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32416 /* parser/parser.nit:11539 */
32417 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32418 /* parser/parser.nit:11540 */
32419 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32420 /* parser/parser.nit:11541 */
32421 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32422 /* parser/parser.nit:11542 */
32423 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32424 /* parser/parser.nit:11543 */
32425 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32426 /* parser/parser.nit:11544 */
32427 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32428 /* parser/parser.nit:11545 */
32429 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32430 /* parser/parser.nit:11547 */
32431 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*/;
32432 if (UNTAG_Bool(REGB0)) {
32433 } else {
32434 nit_abort("Assert failed", NULL, LOCATE_parser, 11547);
32435 }
32436 /* parser/parser.nit:11549 */
32437 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*/;
32438 if (UNTAG_Bool(REGB0)) {
32439 } else {
32440 nit_abort("Assert failed", NULL, LOCATE_parser, 11549);
32441 }
32442 /* parser/parser.nit:11551 */
32443 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*/;
32444 if (UNTAG_Bool(REGB0)) {
32445 } else {
32446 nit_abort("Assert failed", NULL, LOCATE_parser, 11551);
32447 }
32448 /* parser/parser.nit:11553 */
32449 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*/;
32450 if (UNTAG_Bool(REGB0)) {
32451 } else {
32452 nit_abort("Assert failed", NULL, LOCATE_parser, 11553);
32453 }
32454 /* parser/parser.nit:11555 */
32455 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*/;
32456 if (UNTAG_Bool(REGB0)) {
32457 } else {
32458 nit_abort("Assert failed", NULL, LOCATE_parser, 11555);
32459 }
32460 /* parser/parser.nit:11557 */
32461 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*/;
32462 if (UNTAG_Bool(REGB0)) {
32463 } else {
32464 nit_abort("Assert failed", NULL, LOCATE_parser, 11557);
32465 }
32466 /* parser/parser.nit:11559 */
32467 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
32468 if (UNTAG_Bool(REGB0)) {
32469 } else {
32470 nit_abort("Assert failed", NULL, LOCATE_parser, 11559);
32471 }
32472 /* parser/parser.nit:11560 */
32473 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, NIT_NULL, fra.me.REG[3]);
32474 /* parser/parser.nit:11573 */
32475 fra.me.REG[2] = fra.me.REG[3];
32476 /* parser/parser.nit:11574 */
32477 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32478 if (UNTAG_Bool(REGB0)) {
32479 } else {
32480 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11574);
32481 }
32482 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32483 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32484 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32485 stack_frame_head = fra.me.prev;
32486 return;
32487 }
32488 static const char LOCATE_parser___ReduceAction243___action[] = "parser::ReduceAction243::(parser::ReduceAction::action)";
32489 void parser___ReduceAction243___action(val_t p0, val_t p1){
32490 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
32491 val_t REGB0;
32492 val_t tmp;
32493 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32494 fra.me.file = LOCATE_parser;
32495 fra.me.line = 11579;
32496 fra.me.meth = LOCATE_parser___ReduceAction243___action;
32497 fra.me.has_broke = 0;
32498 fra.me.REG_size = 10;
32499 fra.me.nitni_local_ref_head = NULL;
32500 fra.me.REG[0] = NIT_NULL;
32501 fra.me.REG[1] = NIT_NULL;
32502 fra.me.REG[2] = NIT_NULL;
32503 fra.me.REG[3] = NIT_NULL;
32504 fra.me.REG[4] = NIT_NULL;
32505 fra.me.REG[5] = NIT_NULL;
32506 fra.me.REG[6] = NIT_NULL;
32507 fra.me.REG[7] = NIT_NULL;
32508 fra.me.REG[8] = NIT_NULL;
32509 fra.me.REG[9] = NIT_NULL;
32510 fra.me.REG[0] = p0;
32511 fra.me.REG[1] = p1;
32512 /* parser/parser.nit:11581 */
32513 fra.me.REG[2] = NIT_NULL;
32514 /* parser/parser.nit:11582 */
32515 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32516 /* parser/parser.nit:11583 */
32517 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32518 /* parser/parser.nit:11584 */
32519 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32520 /* parser/parser.nit:11585 */
32521 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32522 /* parser/parser.nit:11586 */
32523 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32524 /* parser/parser.nit:11587 */
32525 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32526 /* parser/parser.nit:11588 */
32527 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32528 /* parser/parser.nit:11589 */
32529 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32530 /* parser/parser.nit:11590 */
32531 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32532 /* parser/parser.nit:11592 */
32533 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*/;
32534 if (UNTAG_Bool(REGB0)) {
32535 } else {
32536 nit_abort("Assert failed", NULL, LOCATE_parser, 11592);
32537 }
32538 /* parser/parser.nit:11594 */
32539 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*/;
32540 if (UNTAG_Bool(REGB0)) {
32541 } else {
32542 nit_abort("Assert failed", NULL, LOCATE_parser, 11594);
32543 }
32544 /* parser/parser.nit:11596 */
32545 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*/;
32546 if (UNTAG_Bool(REGB0)) {
32547 } else {
32548 nit_abort("Assert failed", NULL, LOCATE_parser, 11596);
32549 }
32550 /* parser/parser.nit:11598 */
32551 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*/;
32552 if (UNTAG_Bool(REGB0)) {
32553 } else {
32554 nit_abort("Assert failed", NULL, LOCATE_parser, 11598);
32555 }
32556 /* parser/parser.nit:11600 */
32557 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*/;
32558 if (UNTAG_Bool(REGB0)) {
32559 } else {
32560 nit_abort("Assert failed", NULL, LOCATE_parser, 11600);
32561 }
32562 /* parser/parser.nit:11602 */
32563 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*/;
32564 if (UNTAG_Bool(REGB0)) {
32565 } else {
32566 nit_abort("Assert failed", NULL, LOCATE_parser, 11602);
32567 }
32568 /* parser/parser.nit:11604 */
32569 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
32570 if (UNTAG_Bool(REGB0)) {
32571 } else {
32572 nit_abort("Assert failed", NULL, LOCATE_parser, 11604);
32573 }
32574 /* parser/parser.nit:11605 */
32575 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], NIT_NULL, fra.me.REG[3]);
32576 /* parser/parser.nit:11618 */
32577 fra.me.REG[2] = fra.me.REG[3];
32578 /* parser/parser.nit:11619 */
32579 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32580 if (UNTAG_Bool(REGB0)) {
32581 } else {
32582 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11619);
32583 }
32584 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32585 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32586 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32587 stack_frame_head = fra.me.prev;
32588 return;
32589 }
32590 static const char LOCATE_parser___ReduceAction244___action[] = "parser::ReduceAction244::(parser::ReduceAction::action)";
32591 void parser___ReduceAction244___action(val_t p0, val_t p1){
32592 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
32593 val_t REGB0;
32594 val_t tmp;
32595 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32596 fra.me.file = LOCATE_parser;
32597 fra.me.line = 11624;
32598 fra.me.meth = LOCATE_parser___ReduceAction244___action;
32599 fra.me.has_broke = 0;
32600 fra.me.REG_size = 11;
32601 fra.me.nitni_local_ref_head = NULL;
32602 fra.me.REG[0] = NIT_NULL;
32603 fra.me.REG[1] = NIT_NULL;
32604 fra.me.REG[2] = NIT_NULL;
32605 fra.me.REG[3] = NIT_NULL;
32606 fra.me.REG[4] = NIT_NULL;
32607 fra.me.REG[5] = NIT_NULL;
32608 fra.me.REG[6] = NIT_NULL;
32609 fra.me.REG[7] = NIT_NULL;
32610 fra.me.REG[8] = NIT_NULL;
32611 fra.me.REG[9] = NIT_NULL;
32612 fra.me.REG[10] = NIT_NULL;
32613 fra.me.REG[0] = p0;
32614 fra.me.REG[1] = p1;
32615 /* parser/parser.nit:11626 */
32616 fra.me.REG[2] = NIT_NULL;
32617 /* parser/parser.nit:11627 */
32618 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32619 /* parser/parser.nit:11628 */
32620 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32621 /* parser/parser.nit:11629 */
32622 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32623 /* parser/parser.nit:11630 */
32624 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32625 /* parser/parser.nit:11631 */
32626 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32627 /* parser/parser.nit:11632 */
32628 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32629 /* parser/parser.nit:11633 */
32630 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32631 /* parser/parser.nit:11634 */
32632 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32633 /* parser/parser.nit:11635 */
32634 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32635 /* parser/parser.nit:11636 */
32636 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32637 /* parser/parser.nit:11638 */
32638 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*/;
32639 if (UNTAG_Bool(REGB0)) {
32640 } else {
32641 nit_abort("Assert failed", NULL, LOCATE_parser, 11638);
32642 }
32643 /* parser/parser.nit:11640 */
32644 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*/;
32645 if (UNTAG_Bool(REGB0)) {
32646 } else {
32647 nit_abort("Assert failed", NULL, LOCATE_parser, 11640);
32648 }
32649 /* parser/parser.nit:11642 */
32650 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*/;
32651 if (UNTAG_Bool(REGB0)) {
32652 } else {
32653 nit_abort("Assert failed", NULL, LOCATE_parser, 11642);
32654 }
32655 /* parser/parser.nit:11644 */
32656 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*/;
32657 if (UNTAG_Bool(REGB0)) {
32658 } else {
32659 nit_abort("Assert failed", NULL, LOCATE_parser, 11644);
32660 }
32661 /* parser/parser.nit:11646 */
32662 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*/;
32663 if (UNTAG_Bool(REGB0)) {
32664 } else {
32665 nit_abort("Assert failed", NULL, LOCATE_parser, 11646);
32666 }
32667 /* parser/parser.nit:11648 */
32668 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*/;
32669 if (UNTAG_Bool(REGB0)) {
32670 } else {
32671 nit_abort("Assert failed", NULL, LOCATE_parser, 11648);
32672 }
32673 /* parser/parser.nit:11650 */
32674 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*/;
32675 if (UNTAG_Bool(REGB0)) {
32676 } else {
32677 nit_abort("Assert failed", NULL, LOCATE_parser, 11650);
32678 }
32679 /* parser/parser.nit:11652 */
32680 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
32681 if (UNTAG_Bool(REGB0)) {
32682 } else {
32683 nit_abort("Assert failed", NULL, LOCATE_parser, 11652);
32684 }
32685 /* parser/parser.nit:11653 */
32686 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], NIT_NULL, fra.me.REG[3]);
32687 /* parser/parser.nit:11666 */
32688 fra.me.REG[2] = fra.me.REG[3];
32689 /* parser/parser.nit:11667 */
32690 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32691 if (UNTAG_Bool(REGB0)) {
32692 } else {
32693 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11667);
32694 }
32695 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32696 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32697 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32698 stack_frame_head = fra.me.prev;
32699 return;
32700 }
32701 static const char LOCATE_parser___ReduceAction245___action[] = "parser::ReduceAction245::(parser::ReduceAction::action)";
32702 void parser___ReduceAction245___action(val_t p0, val_t p1){
32703 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
32704 val_t REGB0;
32705 val_t tmp;
32706 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32707 fra.me.file = LOCATE_parser;
32708 fra.me.line = 11672;
32709 fra.me.meth = LOCATE_parser___ReduceAction245___action;
32710 fra.me.has_broke = 0;
32711 fra.me.REG_size = 9;
32712 fra.me.nitni_local_ref_head = NULL;
32713 fra.me.REG[0] = NIT_NULL;
32714 fra.me.REG[1] = NIT_NULL;
32715 fra.me.REG[2] = NIT_NULL;
32716 fra.me.REG[3] = NIT_NULL;
32717 fra.me.REG[4] = NIT_NULL;
32718 fra.me.REG[5] = NIT_NULL;
32719 fra.me.REG[6] = NIT_NULL;
32720 fra.me.REG[7] = NIT_NULL;
32721 fra.me.REG[8] = NIT_NULL;
32722 fra.me.REG[0] = p0;
32723 fra.me.REG[1] = p1;
32724 /* parser/parser.nit:11674 */
32725 fra.me.REG[2] = NIT_NULL;
32726 /* parser/parser.nit:11675 */
32727 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32728 /* parser/parser.nit:11676 */
32729 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32730 /* parser/parser.nit:11677 */
32731 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32732 /* parser/parser.nit:11678 */
32733 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32734 /* parser/parser.nit:11679 */
32735 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32736 /* parser/parser.nit:11680 */
32737 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32738 /* parser/parser.nit:11681 */
32739 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32740 /* parser/parser.nit:11682 */
32741 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32742 /* parser/parser.nit:11684 */
32743 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*/;
32744 if (UNTAG_Bool(REGB0)) {
32745 } else {
32746 nit_abort("Assert failed", NULL, LOCATE_parser, 11684);
32747 }
32748 /* parser/parser.nit:11686 */
32749 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*/;
32750 if (UNTAG_Bool(REGB0)) {
32751 } else {
32752 nit_abort("Assert failed", NULL, LOCATE_parser, 11686);
32753 }
32754 /* parser/parser.nit:11688 */
32755 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*/;
32756 if (UNTAG_Bool(REGB0)) {
32757 } else {
32758 nit_abort("Assert failed", NULL, LOCATE_parser, 11688);
32759 }
32760 /* parser/parser.nit:11690 */
32761 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*/;
32762 if (UNTAG_Bool(REGB0)) {
32763 } else {
32764 nit_abort("Assert failed", NULL, LOCATE_parser, 11690);
32765 }
32766 /* parser/parser.nit:11692 */
32767 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
32768 if (UNTAG_Bool(REGB0)) {
32769 } else {
32770 nit_abort("Assert failed", NULL, LOCATE_parser, 11692);
32771 }
32772 /* parser/parser.nit:11694 */
32773 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*/;
32774 if (UNTAG_Bool(REGB0)) {
32775 } else {
32776 nit_abort("Assert failed", NULL, LOCATE_parser, 11694);
32777 }
32778 /* parser/parser.nit:11695 */
32779 fra.me.REG[4] = 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], NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
32780 /* parser/parser.nit:11708 */
32781 fra.me.REG[2] = fra.me.REG[4];
32782 /* parser/parser.nit:11709 */
32783 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32784 if (UNTAG_Bool(REGB0)) {
32785 } else {
32786 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11709);
32787 }
32788 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32789 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32790 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32791 stack_frame_head = fra.me.prev;
32792 return;
32793 }
32794 static const char LOCATE_parser___ReduceAction246___action[] = "parser::ReduceAction246::(parser::ReduceAction::action)";
32795 void parser___ReduceAction246___action(val_t p0, val_t p1){
32796 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
32797 val_t REGB0;
32798 val_t tmp;
32799 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32800 fra.me.file = LOCATE_parser;
32801 fra.me.line = 11714;
32802 fra.me.meth = LOCATE_parser___ReduceAction246___action;
32803 fra.me.has_broke = 0;
32804 fra.me.REG_size = 10;
32805 fra.me.nitni_local_ref_head = NULL;
32806 fra.me.REG[0] = NIT_NULL;
32807 fra.me.REG[1] = NIT_NULL;
32808 fra.me.REG[2] = NIT_NULL;
32809 fra.me.REG[3] = NIT_NULL;
32810 fra.me.REG[4] = NIT_NULL;
32811 fra.me.REG[5] = NIT_NULL;
32812 fra.me.REG[6] = NIT_NULL;
32813 fra.me.REG[7] = NIT_NULL;
32814 fra.me.REG[8] = NIT_NULL;
32815 fra.me.REG[9] = NIT_NULL;
32816 fra.me.REG[0] = p0;
32817 fra.me.REG[1] = p1;
32818 /* parser/parser.nit:11716 */
32819 fra.me.REG[2] = NIT_NULL;
32820 /* parser/parser.nit:11717 */
32821 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32822 /* parser/parser.nit:11718 */
32823 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32824 /* parser/parser.nit:11719 */
32825 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32826 /* parser/parser.nit:11720 */
32827 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32828 /* parser/parser.nit:11721 */
32829 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32830 /* parser/parser.nit:11722 */
32831 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32832 /* parser/parser.nit:11723 */
32833 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32834 /* parser/parser.nit:11724 */
32835 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32836 /* parser/parser.nit:11725 */
32837 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32838 /* parser/parser.nit:11727 */
32839 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*/;
32840 if (UNTAG_Bool(REGB0)) {
32841 } else {
32842 nit_abort("Assert failed", NULL, LOCATE_parser, 11727);
32843 }
32844 /* parser/parser.nit:11729 */
32845 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*/;
32846 if (UNTAG_Bool(REGB0)) {
32847 } else {
32848 nit_abort("Assert failed", NULL, LOCATE_parser, 11729);
32849 }
32850 /* parser/parser.nit:11731 */
32851 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*/;
32852 if (UNTAG_Bool(REGB0)) {
32853 } else {
32854 nit_abort("Assert failed", NULL, LOCATE_parser, 11731);
32855 }
32856 /* parser/parser.nit:11733 */
32857 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*/;
32858 if (UNTAG_Bool(REGB0)) {
32859 } else {
32860 nit_abort("Assert failed", NULL, LOCATE_parser, 11733);
32861 }
32862 /* parser/parser.nit:11735 */
32863 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*/;
32864 if (UNTAG_Bool(REGB0)) {
32865 } else {
32866 nit_abort("Assert failed", NULL, LOCATE_parser, 11735);
32867 }
32868 /* parser/parser.nit:11737 */
32869 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
32870 if (UNTAG_Bool(REGB0)) {
32871 } else {
32872 nit_abort("Assert failed", NULL, LOCATE_parser, 11737);
32873 }
32874 /* parser/parser.nit:11739 */
32875 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*/;
32876 if (UNTAG_Bool(REGB0)) {
32877 } else {
32878 nit_abort("Assert failed", NULL, LOCATE_parser, 11739);
32879 }
32880 /* parser/parser.nit:11740 */
32881 fra.me.REG[4] = 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], NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
32882 /* parser/parser.nit:11753 */
32883 fra.me.REG[2] = fra.me.REG[4];
32884 /* parser/parser.nit:11754 */
32885 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32886 if (UNTAG_Bool(REGB0)) {
32887 } else {
32888 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11754);
32889 }
32890 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32891 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32892 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32893 stack_frame_head = fra.me.prev;
32894 return;
32895 }
32896 static const char LOCATE_parser___ReduceAction247___action[] = "parser::ReduceAction247::(parser::ReduceAction::action)";
32897 void parser___ReduceAction247___action(val_t p0, val_t p1){
32898 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
32899 val_t REGB0;
32900 val_t tmp;
32901 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32902 fra.me.file = LOCATE_parser;
32903 fra.me.line = 11759;
32904 fra.me.meth = LOCATE_parser___ReduceAction247___action;
32905 fra.me.has_broke = 0;
32906 fra.me.REG_size = 10;
32907 fra.me.nitni_local_ref_head = NULL;
32908 fra.me.REG[0] = NIT_NULL;
32909 fra.me.REG[1] = NIT_NULL;
32910 fra.me.REG[2] = NIT_NULL;
32911 fra.me.REG[3] = NIT_NULL;
32912 fra.me.REG[4] = NIT_NULL;
32913 fra.me.REG[5] = NIT_NULL;
32914 fra.me.REG[6] = NIT_NULL;
32915 fra.me.REG[7] = NIT_NULL;
32916 fra.me.REG[8] = NIT_NULL;
32917 fra.me.REG[9] = NIT_NULL;
32918 fra.me.REG[0] = p0;
32919 fra.me.REG[1] = p1;
32920 /* parser/parser.nit:11761 */
32921 fra.me.REG[2] = NIT_NULL;
32922 /* parser/parser.nit:11762 */
32923 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32924 /* parser/parser.nit:11763 */
32925 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32926 /* parser/parser.nit:11764 */
32927 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32928 /* parser/parser.nit:11765 */
32929 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32930 /* parser/parser.nit:11766 */
32931 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32932 /* parser/parser.nit:11767 */
32933 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32934 /* parser/parser.nit:11768 */
32935 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32936 /* parser/parser.nit:11769 */
32937 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32938 /* parser/parser.nit:11770 */
32939 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32940 /* parser/parser.nit:11772 */
32941 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*/;
32942 if (UNTAG_Bool(REGB0)) {
32943 } else {
32944 nit_abort("Assert failed", NULL, LOCATE_parser, 11772);
32945 }
32946 /* parser/parser.nit:11774 */
32947 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*/;
32948 if (UNTAG_Bool(REGB0)) {
32949 } else {
32950 nit_abort("Assert failed", NULL, LOCATE_parser, 11774);
32951 }
32952 /* parser/parser.nit:11776 */
32953 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*/;
32954 if (UNTAG_Bool(REGB0)) {
32955 } else {
32956 nit_abort("Assert failed", NULL, LOCATE_parser, 11776);
32957 }
32958 /* parser/parser.nit:11778 */
32959 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*/;
32960 if (UNTAG_Bool(REGB0)) {
32961 } else {
32962 nit_abort("Assert failed", NULL, LOCATE_parser, 11778);
32963 }
32964 /* parser/parser.nit:11780 */
32965 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*/;
32966 if (UNTAG_Bool(REGB0)) {
32967 } else {
32968 nit_abort("Assert failed", NULL, LOCATE_parser, 11780);
32969 }
32970 /* parser/parser.nit:11782 */
32971 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
32972 if (UNTAG_Bool(REGB0)) {
32973 } else {
32974 nit_abort("Assert failed", NULL, LOCATE_parser, 11782);
32975 }
32976 /* parser/parser.nit:11784 */
32977 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*/;
32978 if (UNTAG_Bool(REGB0)) {
32979 } else {
32980 nit_abort("Assert failed", NULL, LOCATE_parser, 11784);
32981 }
32982 /* parser/parser.nit:11785 */
32983 fra.me.REG[4] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[4]);
32984 /* parser/parser.nit:11798 */
32985 fra.me.REG[2] = fra.me.REG[4];
32986 /* parser/parser.nit:11799 */
32987 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32988 if (UNTAG_Bool(REGB0)) {
32989 } else {
32990 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11799);
32991 }
32992 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32993 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32994 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32995 stack_frame_head = fra.me.prev;
32996 return;
32997 }
32998 static const char LOCATE_parser___ReduceAction248___action[] = "parser::ReduceAction248::(parser::ReduceAction::action)";
32999 void parser___ReduceAction248___action(val_t p0, val_t p1){
33000 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
33001 val_t REGB0;
33002 val_t tmp;
33003 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33004 fra.me.file = LOCATE_parser;
33005 fra.me.line = 11804;
33006 fra.me.meth = LOCATE_parser___ReduceAction248___action;
33007 fra.me.has_broke = 0;
33008 fra.me.REG_size = 11;
33009 fra.me.nitni_local_ref_head = NULL;
33010 fra.me.REG[0] = NIT_NULL;
33011 fra.me.REG[1] = NIT_NULL;
33012 fra.me.REG[2] = NIT_NULL;
33013 fra.me.REG[3] = NIT_NULL;
33014 fra.me.REG[4] = NIT_NULL;
33015 fra.me.REG[5] = NIT_NULL;
33016 fra.me.REG[6] = NIT_NULL;
33017 fra.me.REG[7] = NIT_NULL;
33018 fra.me.REG[8] = NIT_NULL;
33019 fra.me.REG[9] = NIT_NULL;
33020 fra.me.REG[10] = NIT_NULL;
33021 fra.me.REG[0] = p0;
33022 fra.me.REG[1] = p1;
33023 /* parser/parser.nit:11806 */
33024 fra.me.REG[2] = NIT_NULL;
33025 /* parser/parser.nit:11807 */
33026 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33027 /* parser/parser.nit:11808 */
33028 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33029 /* parser/parser.nit:11809 */
33030 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33031 /* parser/parser.nit:11810 */
33032 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33033 /* parser/parser.nit:11811 */
33034 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33035 /* parser/parser.nit:11812 */
33036 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33037 /* parser/parser.nit:11813 */
33038 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33039 /* parser/parser.nit:11814 */
33040 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33041 /* parser/parser.nit:11815 */
33042 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33043 /* parser/parser.nit:11816 */
33044 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33045 /* parser/parser.nit:11818 */
33046 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*/;
33047 if (UNTAG_Bool(REGB0)) {
33048 } else {
33049 nit_abort("Assert failed", NULL, LOCATE_parser, 11818);
33050 }
33051 /* parser/parser.nit:11820 */
33052 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*/;
33053 if (UNTAG_Bool(REGB0)) {
33054 } else {
33055 nit_abort("Assert failed", NULL, LOCATE_parser, 11820);
33056 }
33057 /* parser/parser.nit:11822 */
33058 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*/;
33059 if (UNTAG_Bool(REGB0)) {
33060 } else {
33061 nit_abort("Assert failed", NULL, LOCATE_parser, 11822);
33062 }
33063 /* parser/parser.nit:11824 */
33064 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*/;
33065 if (UNTAG_Bool(REGB0)) {
33066 } else {
33067 nit_abort("Assert failed", NULL, LOCATE_parser, 11824);
33068 }
33069 /* parser/parser.nit:11826 */
33070 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*/;
33071 if (UNTAG_Bool(REGB0)) {
33072 } else {
33073 nit_abort("Assert failed", NULL, LOCATE_parser, 11826);
33074 }
33075 /* parser/parser.nit:11828 */
33076 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*/;
33077 if (UNTAG_Bool(REGB0)) {
33078 } else {
33079 nit_abort("Assert failed", NULL, LOCATE_parser, 11828);
33080 }
33081 /* parser/parser.nit:11830 */
33082 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
33083 if (UNTAG_Bool(REGB0)) {
33084 } else {
33085 nit_abort("Assert failed", NULL, LOCATE_parser, 11830);
33086 }
33087 /* parser/parser.nit:11832 */
33088 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*/;
33089 if (UNTAG_Bool(REGB0)) {
33090 } else {
33091 nit_abort("Assert failed", NULL, LOCATE_parser, 11832);
33092 }
33093 /* parser/parser.nit:11833 */
33094 fra.me.REG[4] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], NIT_NULL, NIT_NULL, 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], fra.me.REG[4]);
33095 /* parser/parser.nit:11846 */
33096 fra.me.REG[2] = fra.me.REG[4];
33097 /* parser/parser.nit:11847 */
33098 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33099 if (UNTAG_Bool(REGB0)) {
33100 } else {
33101 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11847);
33102 }
33103 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33104 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33105 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33106 stack_frame_head = fra.me.prev;
33107 return;
33108 }
33109 static const char LOCATE_parser___ReduceAction249___action[] = "parser::ReduceAction249::(parser::ReduceAction::action)";
33110 void parser___ReduceAction249___action(val_t p0, val_t p1){
33111 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
33112 val_t REGB0;
33113 val_t tmp;
33114 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33115 fra.me.file = LOCATE_parser;
33116 fra.me.line = 11852;
33117 fra.me.meth = LOCATE_parser___ReduceAction249___action;
33118 fra.me.has_broke = 0;
33119 fra.me.REG_size = 10;
33120 fra.me.nitni_local_ref_head = NULL;
33121 fra.me.REG[0] = NIT_NULL;
33122 fra.me.REG[1] = NIT_NULL;
33123 fra.me.REG[2] = NIT_NULL;
33124 fra.me.REG[3] = NIT_NULL;
33125 fra.me.REG[4] = NIT_NULL;
33126 fra.me.REG[5] = NIT_NULL;
33127 fra.me.REG[6] = NIT_NULL;
33128 fra.me.REG[7] = NIT_NULL;
33129 fra.me.REG[8] = NIT_NULL;
33130 fra.me.REG[9] = NIT_NULL;
33131 fra.me.REG[0] = p0;
33132 fra.me.REG[1] = p1;
33133 /* parser/parser.nit:11854 */
33134 fra.me.REG[2] = NIT_NULL;
33135 /* parser/parser.nit:11855 */
33136 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33137 /* parser/parser.nit:11856 */
33138 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33139 /* parser/parser.nit:11857 */
33140 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33141 /* parser/parser.nit:11858 */
33142 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33143 /* parser/parser.nit:11859 */
33144 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33145 /* parser/parser.nit:11860 */
33146 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33147 /* parser/parser.nit:11861 */
33148 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33149 /* parser/parser.nit:11862 */
33150 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33151 /* parser/parser.nit:11863 */
33152 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33153 /* parser/parser.nit:11865 */
33154 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*/;
33155 if (UNTAG_Bool(REGB0)) {
33156 } else {
33157 nit_abort("Assert failed", NULL, LOCATE_parser, 11865);
33158 }
33159 /* parser/parser.nit:11867 */
33160 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
33161 if (UNTAG_Bool(REGB0)) {
33162 } else {
33163 nit_abort("Assert failed", NULL, LOCATE_parser, 11867);
33164 }
33165 /* parser/parser.nit:11869 */
33166 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*/;
33167 if (UNTAG_Bool(REGB0)) {
33168 } else {
33169 nit_abort("Assert failed", NULL, LOCATE_parser, 11869);
33170 }
33171 /* parser/parser.nit:11871 */
33172 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*/;
33173 if (UNTAG_Bool(REGB0)) {
33174 } else {
33175 nit_abort("Assert failed", NULL, LOCATE_parser, 11871);
33176 }
33177 /* parser/parser.nit:11873 */
33178 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*/;
33179 if (UNTAG_Bool(REGB0)) {
33180 } else {
33181 nit_abort("Assert failed", NULL, LOCATE_parser, 11873);
33182 }
33183 /* parser/parser.nit:11875 */
33184 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
33185 if (UNTAG_Bool(REGB0)) {
33186 } else {
33187 nit_abort("Assert failed", NULL, LOCATE_parser, 11875);
33188 }
33189 /* parser/parser.nit:11877 */
33190 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*/;
33191 if (UNTAG_Bool(REGB0)) {
33192 } else {
33193 nit_abort("Assert failed", NULL, LOCATE_parser, 11877);
33194 }
33195 /* parser/parser.nit:11878 */
33196 fra.me.REG[4] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
33197 /* parser/parser.nit:11891 */
33198 fra.me.REG[2] = fra.me.REG[4];
33199 /* parser/parser.nit:11892 */
33200 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33201 if (UNTAG_Bool(REGB0)) {
33202 } else {
33203 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11892);
33204 }
33205 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33206 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33207 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33208 stack_frame_head = fra.me.prev;
33209 return;
33210 }
33211 static const char LOCATE_parser___ReduceAction250___action[] = "parser::ReduceAction250::(parser::ReduceAction::action)";
33212 void parser___ReduceAction250___action(val_t p0, val_t p1){
33213 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
33214 val_t REGB0;
33215 val_t tmp;
33216 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33217 fra.me.file = LOCATE_parser;
33218 fra.me.line = 11897;
33219 fra.me.meth = LOCATE_parser___ReduceAction250___action;
33220 fra.me.has_broke = 0;
33221 fra.me.REG_size = 11;
33222 fra.me.nitni_local_ref_head = NULL;
33223 fra.me.REG[0] = NIT_NULL;
33224 fra.me.REG[1] = NIT_NULL;
33225 fra.me.REG[2] = NIT_NULL;
33226 fra.me.REG[3] = NIT_NULL;
33227 fra.me.REG[4] = NIT_NULL;
33228 fra.me.REG[5] = NIT_NULL;
33229 fra.me.REG[6] = NIT_NULL;
33230 fra.me.REG[7] = NIT_NULL;
33231 fra.me.REG[8] = NIT_NULL;
33232 fra.me.REG[9] = NIT_NULL;
33233 fra.me.REG[10] = NIT_NULL;
33234 fra.me.REG[0] = p0;
33235 fra.me.REG[1] = p1;
33236 /* parser/parser.nit:11899 */
33237 fra.me.REG[2] = NIT_NULL;
33238 /* parser/parser.nit:11900 */
33239 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33240 /* parser/parser.nit:11901 */
33241 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33242 /* parser/parser.nit:11902 */
33243 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33244 /* parser/parser.nit:11903 */
33245 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33246 /* parser/parser.nit:11904 */
33247 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33248 /* parser/parser.nit:11905 */
33249 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33250 /* parser/parser.nit:11906 */
33251 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33252 /* parser/parser.nit:11907 */
33253 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33254 /* parser/parser.nit:11908 */
33255 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33256 /* parser/parser.nit:11909 */
33257 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33258 /* parser/parser.nit:11911 */
33259 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*/;
33260 if (UNTAG_Bool(REGB0)) {
33261 } else {
33262 nit_abort("Assert failed", NULL, LOCATE_parser, 11911);
33263 }
33264 /* parser/parser.nit:11913 */
33265 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
33266 if (UNTAG_Bool(REGB0)) {
33267 } else {
33268 nit_abort("Assert failed", NULL, LOCATE_parser, 11913);
33269 }
33270 /* parser/parser.nit:11915 */
33271 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*/;
33272 if (UNTAG_Bool(REGB0)) {
33273 } else {
33274 nit_abort("Assert failed", NULL, LOCATE_parser, 11915);
33275 }
33276 /* parser/parser.nit:11917 */
33277 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*/;
33278 if (UNTAG_Bool(REGB0)) {
33279 } else {
33280 nit_abort("Assert failed", NULL, LOCATE_parser, 11917);
33281 }
33282 /* parser/parser.nit:11919 */
33283 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*/;
33284 if (UNTAG_Bool(REGB0)) {
33285 } else {
33286 nit_abort("Assert failed", NULL, LOCATE_parser, 11919);
33287 }
33288 /* parser/parser.nit:11921 */
33289 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*/;
33290 if (UNTAG_Bool(REGB0)) {
33291 } else {
33292 nit_abort("Assert failed", NULL, LOCATE_parser, 11921);
33293 }
33294 /* parser/parser.nit:11923 */
33295 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
33296 if (UNTAG_Bool(REGB0)) {
33297 } else {
33298 nit_abort("Assert failed", NULL, LOCATE_parser, 11923);
33299 }
33300 /* parser/parser.nit:11925 */
33301 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*/;
33302 if (UNTAG_Bool(REGB0)) {
33303 } else {
33304 nit_abort("Assert failed", NULL, LOCATE_parser, 11925);
33305 }
33306 /* parser/parser.nit:11926 */
33307 fra.me.REG[4] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], NIT_NULL, fra.me.REG[5], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
33308 /* parser/parser.nit:11939 */
33309 fra.me.REG[2] = fra.me.REG[4];
33310 /* parser/parser.nit:11940 */
33311 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33312 if (UNTAG_Bool(REGB0)) {
33313 } else {
33314 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11940);
33315 }
33316 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33317 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33318 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33319 stack_frame_head = fra.me.prev;
33320 return;
33321 }
33322 static const char LOCATE_parser___ReduceAction251___action[] = "parser::ReduceAction251::(parser::ReduceAction::action)";
33323 void parser___ReduceAction251___action(val_t p0, val_t p1){
33324 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
33325 val_t REGB0;
33326 val_t tmp;
33327 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33328 fra.me.file = LOCATE_parser;
33329 fra.me.line = 11945;
33330 fra.me.meth = LOCATE_parser___ReduceAction251___action;
33331 fra.me.has_broke = 0;
33332 fra.me.REG_size = 11;
33333 fra.me.nitni_local_ref_head = NULL;
33334 fra.me.REG[0] = NIT_NULL;
33335 fra.me.REG[1] = NIT_NULL;
33336 fra.me.REG[2] = NIT_NULL;
33337 fra.me.REG[3] = NIT_NULL;
33338 fra.me.REG[4] = NIT_NULL;
33339 fra.me.REG[5] = NIT_NULL;
33340 fra.me.REG[6] = NIT_NULL;
33341 fra.me.REG[7] = NIT_NULL;
33342 fra.me.REG[8] = NIT_NULL;
33343 fra.me.REG[9] = NIT_NULL;
33344 fra.me.REG[10] = NIT_NULL;
33345 fra.me.REG[0] = p0;
33346 fra.me.REG[1] = p1;
33347 /* parser/parser.nit:11947 */
33348 fra.me.REG[2] = NIT_NULL;
33349 /* parser/parser.nit:11948 */
33350 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33351 /* parser/parser.nit:11949 */
33352 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33353 /* parser/parser.nit:11950 */
33354 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33355 /* parser/parser.nit:11951 */
33356 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33357 /* parser/parser.nit:11952 */
33358 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33359 /* parser/parser.nit:11953 */
33360 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33361 /* parser/parser.nit:11954 */
33362 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33363 /* parser/parser.nit:11955 */
33364 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33365 /* parser/parser.nit:11956 */
33366 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33367 /* parser/parser.nit:11957 */
33368 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33369 /* parser/parser.nit:11959 */
33370 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*/;
33371 if (UNTAG_Bool(REGB0)) {
33372 } else {
33373 nit_abort("Assert failed", NULL, LOCATE_parser, 11959);
33374 }
33375 /* parser/parser.nit:11961 */
33376 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
33377 if (UNTAG_Bool(REGB0)) {
33378 } else {
33379 nit_abort("Assert failed", NULL, LOCATE_parser, 11961);
33380 }
33381 /* parser/parser.nit:11963 */
33382 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*/;
33383 if (UNTAG_Bool(REGB0)) {
33384 } else {
33385 nit_abort("Assert failed", NULL, LOCATE_parser, 11963);
33386 }
33387 /* parser/parser.nit:11965 */
33388 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
33389 if (UNTAG_Bool(REGB0)) {
33390 } else {
33391 nit_abort("Assert failed", NULL, LOCATE_parser, 11965);
33392 }
33393 /* parser/parser.nit:11967 */
33394 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
33395 if (UNTAG_Bool(REGB0)) {
33396 } else {
33397 nit_abort("Assert failed", NULL, LOCATE_parser, 11967);
33398 }
33399 /* parser/parser.nit:11969 */
33400 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*/;
33401 if (UNTAG_Bool(REGB0)) {
33402 } else {
33403 nit_abort("Assert failed", NULL, LOCATE_parser, 11969);
33404 }
33405 /* parser/parser.nit:11971 */
33406 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
33407 if (UNTAG_Bool(REGB0)) {
33408 } else {
33409 nit_abort("Assert failed", NULL, LOCATE_parser, 11971);
33410 }
33411 /* parser/parser.nit:11973 */
33412 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*/;
33413 if (UNTAG_Bool(REGB0)) {
33414 } else {
33415 nit_abort("Assert failed", NULL, LOCATE_parser, 11973);
33416 }
33417 /* parser/parser.nit:11974 */
33418 fra.me.REG[4] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[9], fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[4]);
33419 /* parser/parser.nit:11987 */
33420 fra.me.REG[2] = fra.me.REG[4];
33421 /* parser/parser.nit:11988 */
33422 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33423 if (UNTAG_Bool(REGB0)) {
33424 } else {
33425 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11988);
33426 }
33427 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33428 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33429 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33430 stack_frame_head = fra.me.prev;
33431 return;
33432 }
33433 static const char LOCATE_parser___ReduceAction252___action[] = "parser::ReduceAction252::(parser::ReduceAction::action)";
33434 void parser___ReduceAction252___action(val_t p0, val_t p1){
33435 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
33436 val_t REGB0;
33437 val_t tmp;
33438 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33439 fra.me.file = LOCATE_parser;
33440 fra.me.line = 11993;
33441 fra.me.meth = LOCATE_parser___ReduceAction252___action;
33442 fra.me.has_broke = 0;
33443 fra.me.REG_size = 12;
33444 fra.me.nitni_local_ref_head = NULL;
33445 fra.me.REG[0] = NIT_NULL;
33446 fra.me.REG[1] = NIT_NULL;
33447 fra.me.REG[2] = NIT_NULL;
33448 fra.me.REG[3] = NIT_NULL;
33449 fra.me.REG[4] = NIT_NULL;
33450 fra.me.REG[5] = NIT_NULL;
33451 fra.me.REG[6] = NIT_NULL;
33452 fra.me.REG[7] = NIT_NULL;
33453 fra.me.REG[8] = NIT_NULL;
33454 fra.me.REG[9] = NIT_NULL;
33455 fra.me.REG[10] = NIT_NULL;
33456 fra.me.REG[11] = NIT_NULL;
33457 fra.me.REG[0] = p0;
33458 fra.me.REG[1] = p1;
33459 /* parser/parser.nit:11995 */
33460 fra.me.REG[2] = NIT_NULL;
33461 /* parser/parser.nit:11996 */
33462 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33463 /* parser/parser.nit:11997 */
33464 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33465 /* parser/parser.nit:11998 */
33466 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33467 /* parser/parser.nit:11999 */
33468 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33469 /* parser/parser.nit:12000 */
33470 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33471 /* parser/parser.nit:12001 */
33472 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33473 /* parser/parser.nit:12002 */
33474 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33475 /* parser/parser.nit:12003 */
33476 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33477 /* parser/parser.nit:12004 */
33478 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33479 /* parser/parser.nit:12005 */
33480 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33481 /* parser/parser.nit:12006 */
33482 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33483 /* parser/parser.nit:12008 */
33484 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*/;
33485 if (UNTAG_Bool(REGB0)) {
33486 } else {
33487 nit_abort("Assert failed", NULL, LOCATE_parser, 12008);
33488 }
33489 /* parser/parser.nit:12010 */
33490 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
33491 if (UNTAG_Bool(REGB0)) {
33492 } else {
33493 nit_abort("Assert failed", NULL, LOCATE_parser, 12010);
33494 }
33495 /* parser/parser.nit:12012 */
33496 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*/;
33497 if (UNTAG_Bool(REGB0)) {
33498 } else {
33499 nit_abort("Assert failed", NULL, LOCATE_parser, 12012);
33500 }
33501 /* parser/parser.nit:12014 */
33502 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*/;
33503 if (UNTAG_Bool(REGB0)) {
33504 } else {
33505 nit_abort("Assert failed", NULL, LOCATE_parser, 12014);
33506 }
33507 /* parser/parser.nit:12016 */
33508 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
33509 if (UNTAG_Bool(REGB0)) {
33510 } else {
33511 nit_abort("Assert failed", NULL, LOCATE_parser, 12016);
33512 }
33513 /* parser/parser.nit:12018 */
33514 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
33515 if (UNTAG_Bool(REGB0)) {
33516 } else {
33517 nit_abort("Assert failed", NULL, LOCATE_parser, 12018);
33518 }
33519 /* parser/parser.nit:12020 */
33520 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*/;
33521 if (UNTAG_Bool(REGB0)) {
33522 } else {
33523 nit_abort("Assert failed", NULL, LOCATE_parser, 12020);
33524 }
33525 /* parser/parser.nit:12022 */
33526 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
33527 if (UNTAG_Bool(REGB0)) {
33528 } else {
33529 nit_abort("Assert failed", NULL, LOCATE_parser, 12022);
33530 }
33531 /* parser/parser.nit:12024 */
33532 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*/;
33533 if (UNTAG_Bool(REGB0)) {
33534 } else {
33535 nit_abort("Assert failed", NULL, LOCATE_parser, 12024);
33536 }
33537 /* parser/parser.nit:12025 */
33538 fra.me.REG[4] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], NIT_NULL, fra.me.REG[5], 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[3], fra.me.REG[4]);
33539 /* parser/parser.nit:12038 */
33540 fra.me.REG[2] = fra.me.REG[4];
33541 /* parser/parser.nit:12039 */
33542 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33543 if (UNTAG_Bool(REGB0)) {
33544 } else {
33545 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12039);
33546 }
33547 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33548 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33549 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33550 stack_frame_head = fra.me.prev;
33551 return;
33552 }
33553 static const char LOCATE_parser___ReduceAction253___action[] = "parser::ReduceAction253::(parser::ReduceAction::action)";
33554 void parser___ReduceAction253___action(val_t p0, val_t p1){
33555 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
33556 val_t REGB0;
33557 val_t tmp;
33558 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33559 fra.me.file = LOCATE_parser;
33560 fra.me.line = 12044;
33561 fra.me.meth = LOCATE_parser___ReduceAction253___action;
33562 fra.me.has_broke = 0;
33563 fra.me.REG_size = 8;
33564 fra.me.nitni_local_ref_head = NULL;
33565 fra.me.REG[0] = NIT_NULL;
33566 fra.me.REG[1] = NIT_NULL;
33567 fra.me.REG[2] = NIT_NULL;
33568 fra.me.REG[3] = NIT_NULL;
33569 fra.me.REG[4] = NIT_NULL;
33570 fra.me.REG[5] = NIT_NULL;
33571 fra.me.REG[6] = NIT_NULL;
33572 fra.me.REG[7] = NIT_NULL;
33573 fra.me.REG[0] = p0;
33574 fra.me.REG[1] = p1;
33575 /* parser/parser.nit:12046 */
33576 fra.me.REG[2] = NIT_NULL;
33577 /* parser/parser.nit:12047 */
33578 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33579 /* parser/parser.nit:12048 */
33580 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33581 /* parser/parser.nit:12049 */
33582 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33583 /* parser/parser.nit:12050 */
33584 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33585 /* parser/parser.nit:12051 */
33586 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33587 /* parser/parser.nit:12052 */
33588 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33589 /* parser/parser.nit:12054 */
33590 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*/;
33591 if (UNTAG_Bool(REGB0)) {
33592 } else {
33593 nit_abort("Assert failed", NULL, LOCATE_parser, 12054);
33594 }
33595 /* parser/parser.nit:12056 */
33596 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*/;
33597 if (UNTAG_Bool(REGB0)) {
33598 } else {
33599 nit_abort("Assert failed", NULL, LOCATE_parser, 12056);
33600 }
33601 /* parser/parser.nit:12058 */
33602 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*/;
33603 if (UNTAG_Bool(REGB0)) {
33604 } else {
33605 nit_abort("Assert failed", NULL, LOCATE_parser, 12058);
33606 }
33607 /* parser/parser.nit:12060 */
33608 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*/;
33609 if (UNTAG_Bool(REGB0)) {
33610 } else {
33611 nit_abort("Assert failed", NULL, LOCATE_parser, 12060);
33612 }
33613 /* parser/parser.nit:12062 */
33614 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
33615 if (UNTAG_Bool(REGB0)) {
33616 } else {
33617 nit_abort("Assert failed", NULL, LOCATE_parser, 12062);
33618 }
33619 /* parser/parser.nit:12063 */
33620 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], NIT_NULL, fra.me.REG[3]);
33621 /* parser/parser.nit:12073 */
33622 fra.me.REG[2] = fra.me.REG[3];
33623 /* parser/parser.nit:12074 */
33624 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33625 if (UNTAG_Bool(REGB0)) {
33626 } else {
33627 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12074);
33628 }
33629 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33630 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33631 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33632 stack_frame_head = fra.me.prev;
33633 return;
33634 }
33635 static const char LOCATE_parser___ReduceAction254___action[] = "parser::ReduceAction254::(parser::ReduceAction::action)";
33636 void parser___ReduceAction254___action(val_t p0, val_t p1){
33637 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
33638 val_t REGB0;
33639 val_t tmp;
33640 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33641 fra.me.file = LOCATE_parser;
33642 fra.me.line = 12079;
33643 fra.me.meth = LOCATE_parser___ReduceAction254___action;
33644 fra.me.has_broke = 0;
33645 fra.me.REG_size = 9;
33646 fra.me.nitni_local_ref_head = NULL;
33647 fra.me.REG[0] = NIT_NULL;
33648 fra.me.REG[1] = NIT_NULL;
33649 fra.me.REG[2] = NIT_NULL;
33650 fra.me.REG[3] = NIT_NULL;
33651 fra.me.REG[4] = NIT_NULL;
33652 fra.me.REG[5] = NIT_NULL;
33653 fra.me.REG[6] = NIT_NULL;
33654 fra.me.REG[7] = NIT_NULL;
33655 fra.me.REG[8] = NIT_NULL;
33656 fra.me.REG[0] = p0;
33657 fra.me.REG[1] = p1;
33658 /* parser/parser.nit:12081 */
33659 fra.me.REG[2] = NIT_NULL;
33660 /* parser/parser.nit:12082 */
33661 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33662 /* parser/parser.nit:12083 */
33663 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33664 /* parser/parser.nit:12084 */
33665 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33666 /* parser/parser.nit:12085 */
33667 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33668 /* parser/parser.nit:12086 */
33669 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33670 /* parser/parser.nit:12087 */
33671 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33672 /* parser/parser.nit:12088 */
33673 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33674 /* parser/parser.nit:12090 */
33675 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*/;
33676 if (UNTAG_Bool(REGB0)) {
33677 } else {
33678 nit_abort("Assert failed", NULL, LOCATE_parser, 12090);
33679 }
33680 /* parser/parser.nit:12092 */
33681 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*/;
33682 if (UNTAG_Bool(REGB0)) {
33683 } else {
33684 nit_abort("Assert failed", NULL, LOCATE_parser, 12092);
33685 }
33686 /* parser/parser.nit:12094 */
33687 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*/;
33688 if (UNTAG_Bool(REGB0)) {
33689 } else {
33690 nit_abort("Assert failed", NULL, LOCATE_parser, 12094);
33691 }
33692 /* parser/parser.nit:12096 */
33693 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*/;
33694 if (UNTAG_Bool(REGB0)) {
33695 } else {
33696 nit_abort("Assert failed", NULL, LOCATE_parser, 12096);
33697 }
33698 /* parser/parser.nit:12098 */
33699 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*/;
33700 if (UNTAG_Bool(REGB0)) {
33701 } else {
33702 nit_abort("Assert failed", NULL, LOCATE_parser, 12098);
33703 }
33704 /* parser/parser.nit:12100 */
33705 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
33706 if (UNTAG_Bool(REGB0)) {
33707 } else {
33708 nit_abort("Assert failed", NULL, LOCATE_parser, 12100);
33709 }
33710 /* parser/parser.nit:12101 */
33711 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], NIT_NULL, fra.me.REG[3]);
33712 /* parser/parser.nit:12111 */
33713 fra.me.REG[2] = fra.me.REG[3];
33714 /* parser/parser.nit:12112 */
33715 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33716 if (UNTAG_Bool(REGB0)) {
33717 } else {
33718 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12112);
33719 }
33720 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33721 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33722 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33723 stack_frame_head = fra.me.prev;
33724 return;
33725 }
33726 static const char LOCATE_parser___ReduceAction255___action[] = "parser::ReduceAction255::(parser::ReduceAction::action)";
33727 void parser___ReduceAction255___action(val_t p0, val_t p1){
33728 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
33729 val_t REGB0;
33730 val_t tmp;
33731 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33732 fra.me.file = LOCATE_parser;
33733 fra.me.line = 12117;
33734 fra.me.meth = LOCATE_parser___ReduceAction255___action;
33735 fra.me.has_broke = 0;
33736 fra.me.REG_size = 9;
33737 fra.me.nitni_local_ref_head = NULL;
33738 fra.me.REG[0] = NIT_NULL;
33739 fra.me.REG[1] = NIT_NULL;
33740 fra.me.REG[2] = NIT_NULL;
33741 fra.me.REG[3] = NIT_NULL;
33742 fra.me.REG[4] = NIT_NULL;
33743 fra.me.REG[5] = NIT_NULL;
33744 fra.me.REG[6] = NIT_NULL;
33745 fra.me.REG[7] = NIT_NULL;
33746 fra.me.REG[8] = NIT_NULL;
33747 fra.me.REG[0] = p0;
33748 fra.me.REG[1] = p1;
33749 /* parser/parser.nit:12119 */
33750 fra.me.REG[2] = NIT_NULL;
33751 /* parser/parser.nit:12120 */
33752 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33753 /* parser/parser.nit:12121 */
33754 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33755 /* parser/parser.nit:12122 */
33756 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33757 /* parser/parser.nit:12123 */
33758 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33759 /* parser/parser.nit:12124 */
33760 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33761 /* parser/parser.nit:12125 */
33762 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33763 /* parser/parser.nit:12126 */
33764 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33765 /* parser/parser.nit:12128 */
33766 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*/;
33767 if (UNTAG_Bool(REGB0)) {
33768 } else {
33769 nit_abort("Assert failed", NULL, LOCATE_parser, 12128);
33770 }
33771 /* parser/parser.nit:12130 */
33772 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*/;
33773 if (UNTAG_Bool(REGB0)) {
33774 } else {
33775 nit_abort("Assert failed", NULL, LOCATE_parser, 12130);
33776 }
33777 /* parser/parser.nit:12132 */
33778 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*/;
33779 if (UNTAG_Bool(REGB0)) {
33780 } else {
33781 nit_abort("Assert failed", NULL, LOCATE_parser, 12132);
33782 }
33783 /* parser/parser.nit:12134 */
33784 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*/;
33785 if (UNTAG_Bool(REGB0)) {
33786 } else {
33787 nit_abort("Assert failed", NULL, LOCATE_parser, 12134);
33788 }
33789 /* parser/parser.nit:12136 */
33790 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*/;
33791 if (UNTAG_Bool(REGB0)) {
33792 } else {
33793 nit_abort("Assert failed", NULL, LOCATE_parser, 12136);
33794 }
33795 /* parser/parser.nit:12138 */
33796 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
33797 if (UNTAG_Bool(REGB0)) {
33798 } else {
33799 nit_abort("Assert failed", NULL, LOCATE_parser, 12138);
33800 }
33801 /* parser/parser.nit:12139 */
33802 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], NIT_NULL, fra.me.REG[3]);
33803 /* parser/parser.nit:12149 */
33804 fra.me.REG[2] = fra.me.REG[3];
33805 /* parser/parser.nit:12150 */
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, 12150);
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___ReduceAction256___action[] = "parser::ReduceAction256::(parser::ReduceAction::action)";
33818 void parser___ReduceAction256___action(val_t p0, val_t p1){
33819 struct {struct stack_frame_t me; val_t MORE_REG[9];} 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 = 12155;
33825 fra.me.meth = LOCATE_parser___ReduceAction256___action;
33826 fra.me.has_broke = 0;
33827 fra.me.REG_size = 10;
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[4] = NIT_NULL;
33834 fra.me.REG[5] = NIT_NULL;
33835 fra.me.REG[6] = NIT_NULL;
33836 fra.me.REG[7] = NIT_NULL;
33837 fra.me.REG[8] = NIT_NULL;
33838 fra.me.REG[9] = NIT_NULL;
33839 fra.me.REG[0] = p0;
33840 fra.me.REG[1] = p1;
33841 /* parser/parser.nit:12157 */
33842 fra.me.REG[2] = NIT_NULL;
33843 /* parser/parser.nit:12158 */
33844 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33845 /* parser/parser.nit:12159 */
33846 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33847 /* parser/parser.nit:12160 */
33848 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33849 /* parser/parser.nit:12161 */
33850 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33851 /* parser/parser.nit:12162 */
33852 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33853 /* parser/parser.nit:12163 */
33854 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33855 /* parser/parser.nit:12164 */
33856 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33857 /* parser/parser.nit:12165 */
33858 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33859 /* parser/parser.nit:12167 */
33860 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*/;
33861 if (UNTAG_Bool(REGB0)) {
33862 } else {
33863 nit_abort("Assert failed", NULL, LOCATE_parser, 12167);
33864 }
33865 /* parser/parser.nit:12169 */
33866 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*/;
33867 if (UNTAG_Bool(REGB0)) {
33868 } else {
33869 nit_abort("Assert failed", NULL, LOCATE_parser, 12169);
33870 }
33871 /* parser/parser.nit:12171 */
33872 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*/;
33873 if (UNTAG_Bool(REGB0)) {
33874 } else {
33875 nit_abort("Assert failed", NULL, LOCATE_parser, 12171);
33876 }
33877 /* parser/parser.nit:12173 */
33878 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*/;
33879 if (UNTAG_Bool(REGB0)) {
33880 } else {
33881 nit_abort("Assert failed", NULL, LOCATE_parser, 12173);
33882 }
33883 /* parser/parser.nit:12175 */
33884 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*/;
33885 if (UNTAG_Bool(REGB0)) {
33886 } else {
33887 nit_abort("Assert failed", NULL, LOCATE_parser, 12175);
33888 }
33889 /* parser/parser.nit:12177 */
33890 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*/;
33891 if (UNTAG_Bool(REGB0)) {
33892 } else {
33893 nit_abort("Assert failed", NULL, LOCATE_parser, 12177);
33894 }
33895 /* parser/parser.nit:12179 */
33896 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
33897 if (UNTAG_Bool(REGB0)) {
33898 } else {
33899 nit_abort("Assert failed", NULL, LOCATE_parser, 12179);
33900 }
33901 /* parser/parser.nit:12180 */
33902 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], NIT_NULL, fra.me.REG[3]);
33903 /* parser/parser.nit:12190 */
33904 fra.me.REG[2] = fra.me.REG[3];
33905 /* parser/parser.nit:12191 */
33906 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33907 if (UNTAG_Bool(REGB0)) {
33908 } else {
33909 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12191);
33910 }
33911 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33912 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33913 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33914 stack_frame_head = fra.me.prev;
33915 return;
33916 }
33917 static const char LOCATE_parser___ReduceAction257___action[] = "parser::ReduceAction257::(parser::ReduceAction::action)";
33918 void parser___ReduceAction257___action(val_t p0, val_t p1){
33919 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
33920 val_t REGB0;
33921 val_t tmp;
33922 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33923 fra.me.file = LOCATE_parser;
33924 fra.me.line = 12196;
33925 fra.me.meth = LOCATE_parser___ReduceAction257___action;
33926 fra.me.has_broke = 0;
33927 fra.me.REG_size = 9;
33928 fra.me.nitni_local_ref_head = NULL;
33929 fra.me.REG[0] = NIT_NULL;
33930 fra.me.REG[1] = NIT_NULL;
33931 fra.me.REG[2] = NIT_NULL;
33932 fra.me.REG[3] = NIT_NULL;
33933 fra.me.REG[4] = NIT_NULL;
33934 fra.me.REG[5] = NIT_NULL;
33935 fra.me.REG[6] = NIT_NULL;
33936 fra.me.REG[7] = NIT_NULL;
33937 fra.me.REG[8] = NIT_NULL;
33938 fra.me.REG[0] = p0;
33939 fra.me.REG[1] = p1;
33940 /* parser/parser.nit:12198 */
33941 fra.me.REG[2] = NIT_NULL;
33942 /* parser/parser.nit:12199 */
33943 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33944 /* parser/parser.nit:12200 */
33945 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33946 /* parser/parser.nit:12201 */
33947 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33948 /* parser/parser.nit:12202 */
33949 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33950 /* parser/parser.nit:12203 */
33951 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33952 /* parser/parser.nit:12204 */
33953 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33954 /* parser/parser.nit:12205 */
33955 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33956 /* parser/parser.nit:12207 */
33957 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*/;
33958 if (UNTAG_Bool(REGB0)) {
33959 } else {
33960 nit_abort("Assert failed", NULL, LOCATE_parser, 12207);
33961 }
33962 /* parser/parser.nit:12209 */
33963 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*/;
33964 if (UNTAG_Bool(REGB0)) {
33965 } else {
33966 nit_abort("Assert failed", NULL, LOCATE_parser, 12209);
33967 }
33968 /* parser/parser.nit:12211 */
33969 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*/;
33970 if (UNTAG_Bool(REGB0)) {
33971 } else {
33972 nit_abort("Assert failed", NULL, LOCATE_parser, 12211);
33973 }
33974 /* parser/parser.nit:12213 */
33975 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*/;
33976 if (UNTAG_Bool(REGB0)) {
33977 } else {
33978 nit_abort("Assert failed", NULL, LOCATE_parser, 12213);
33979 }
33980 /* parser/parser.nit:12215 */
33981 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
33982 if (UNTAG_Bool(REGB0)) {
33983 } else {
33984 nit_abort("Assert failed", NULL, LOCATE_parser, 12215);
33985 }
33986 /* parser/parser.nit:12217 */
33987 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
33988 if (UNTAG_Bool(REGB0)) {
33989 } else {
33990 nit_abort("Assert failed", NULL, LOCATE_parser, 12217);
33991 }
33992 /* parser/parser.nit:12218 */
33993 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], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
33994 /* parser/parser.nit:12228 */
33995 fra.me.REG[2] = fra.me.REG[3];
33996 /* parser/parser.nit:12229 */
33997 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33998 if (UNTAG_Bool(REGB0)) {
33999 } else {
34000 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12229);
34001 }
34002 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34003 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34004 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34005 stack_frame_head = fra.me.prev;
34006 return;
34007 }
34008 static const char LOCATE_parser___ReduceAction258___action[] = "parser::ReduceAction258::(parser::ReduceAction::action)";
34009 void parser___ReduceAction258___action(val_t p0, val_t p1){
34010 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
34011 val_t REGB0;
34012 val_t tmp;
34013 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34014 fra.me.file = LOCATE_parser;
34015 fra.me.line = 12234;
34016 fra.me.meth = LOCATE_parser___ReduceAction258___action;
34017 fra.me.has_broke = 0;
34018 fra.me.REG_size = 10;
34019 fra.me.nitni_local_ref_head = NULL;
34020 fra.me.REG[0] = NIT_NULL;
34021 fra.me.REG[1] = NIT_NULL;
34022 fra.me.REG[2] = NIT_NULL;
34023 fra.me.REG[3] = NIT_NULL;
34024 fra.me.REG[4] = NIT_NULL;
34025 fra.me.REG[5] = NIT_NULL;
34026 fra.me.REG[6] = NIT_NULL;
34027 fra.me.REG[7] = NIT_NULL;
34028 fra.me.REG[8] = NIT_NULL;
34029 fra.me.REG[9] = NIT_NULL;
34030 fra.me.REG[0] = p0;
34031 fra.me.REG[1] = p1;
34032 /* parser/parser.nit:12236 */
34033 fra.me.REG[2] = NIT_NULL;
34034 /* parser/parser.nit:12237 */
34035 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34036 /* parser/parser.nit:12238 */
34037 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34038 /* parser/parser.nit:12239 */
34039 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34040 /* parser/parser.nit:12240 */
34041 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34042 /* parser/parser.nit:12241 */
34043 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34044 /* parser/parser.nit:12242 */
34045 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34046 /* parser/parser.nit:12243 */
34047 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34048 /* parser/parser.nit:12244 */
34049 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34050 /* parser/parser.nit:12246 */
34051 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*/;
34052 if (UNTAG_Bool(REGB0)) {
34053 } else {
34054 nit_abort("Assert failed", NULL, LOCATE_parser, 12246);
34055 }
34056 /* parser/parser.nit:12248 */
34057 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*/;
34058 if (UNTAG_Bool(REGB0)) {
34059 } else {
34060 nit_abort("Assert failed", NULL, LOCATE_parser, 12248);
34061 }
34062 /* parser/parser.nit:12250 */
34063 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*/;
34064 if (UNTAG_Bool(REGB0)) {
34065 } else {
34066 nit_abort("Assert failed", NULL, LOCATE_parser, 12250);
34067 }
34068 /* parser/parser.nit:12252 */
34069 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*/;
34070 if (UNTAG_Bool(REGB0)) {
34071 } else {
34072 nit_abort("Assert failed", NULL, LOCATE_parser, 12252);
34073 }
34074 /* parser/parser.nit:12254 */
34075 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*/;
34076 if (UNTAG_Bool(REGB0)) {
34077 } else {
34078 nit_abort("Assert failed", NULL, LOCATE_parser, 12254);
34079 }
34080 /* parser/parser.nit:12256 */
34081 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
34082 if (UNTAG_Bool(REGB0)) {
34083 } else {
34084 nit_abort("Assert failed", NULL, LOCATE_parser, 12256);
34085 }
34086 /* parser/parser.nit:12258 */
34087 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
34088 if (UNTAG_Bool(REGB0)) {
34089 } else {
34090 nit_abort("Assert failed", NULL, LOCATE_parser, 12258);
34091 }
34092 /* parser/parser.nit:12259 */
34093 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], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
34094 /* parser/parser.nit:12269 */
34095 fra.me.REG[2] = fra.me.REG[3];
34096 /* parser/parser.nit:12270 */
34097 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34098 if (UNTAG_Bool(REGB0)) {
34099 } else {
34100 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12270);
34101 }
34102 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34103 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34104 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34105 stack_frame_head = fra.me.prev;
34106 return;
34107 }
34108 static const char LOCATE_parser___ReduceAction259___action[] = "parser::ReduceAction259::(parser::ReduceAction::action)";
34109 void parser___ReduceAction259___action(val_t p0, val_t p1){
34110 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
34111 val_t REGB0;
34112 val_t tmp;
34113 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34114 fra.me.file = LOCATE_parser;
34115 fra.me.line = 12275;
34116 fra.me.meth = LOCATE_parser___ReduceAction259___action;
34117 fra.me.has_broke = 0;
34118 fra.me.REG_size = 10;
34119 fra.me.nitni_local_ref_head = NULL;
34120 fra.me.REG[0] = NIT_NULL;
34121 fra.me.REG[1] = NIT_NULL;
34122 fra.me.REG[2] = NIT_NULL;
34123 fra.me.REG[3] = NIT_NULL;
34124 fra.me.REG[4] = NIT_NULL;
34125 fra.me.REG[5] = NIT_NULL;
34126 fra.me.REG[6] = NIT_NULL;
34127 fra.me.REG[7] = NIT_NULL;
34128 fra.me.REG[8] = NIT_NULL;
34129 fra.me.REG[9] = NIT_NULL;
34130 fra.me.REG[0] = p0;
34131 fra.me.REG[1] = p1;
34132 /* parser/parser.nit:12277 */
34133 fra.me.REG[2] = NIT_NULL;
34134 /* parser/parser.nit:12278 */
34135 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34136 /* parser/parser.nit:12279 */
34137 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34138 /* parser/parser.nit:12280 */
34139 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34140 /* parser/parser.nit:12281 */
34141 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34142 /* parser/parser.nit:12282 */
34143 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34144 /* parser/parser.nit:12283 */
34145 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34146 /* parser/parser.nit:12284 */
34147 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34148 /* parser/parser.nit:12285 */
34149 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34150 /* parser/parser.nit:12287 */
34151 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*/;
34152 if (UNTAG_Bool(REGB0)) {
34153 } else {
34154 nit_abort("Assert failed", NULL, LOCATE_parser, 12287);
34155 }
34156 /* parser/parser.nit:12289 */
34157 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*/;
34158 if (UNTAG_Bool(REGB0)) {
34159 } else {
34160 nit_abort("Assert failed", NULL, LOCATE_parser, 12289);
34161 }
34162 /* parser/parser.nit:12291 */
34163 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
34164 if (UNTAG_Bool(REGB0)) {
34165 } else {
34166 nit_abort("Assert failed", NULL, LOCATE_parser, 12291);
34167 }
34168 /* parser/parser.nit:12293 */
34169 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*/;
34170 if (UNTAG_Bool(REGB0)) {
34171 } else {
34172 nit_abort("Assert failed", NULL, LOCATE_parser, 12293);
34173 }
34174 /* parser/parser.nit:12295 */
34175 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*/;
34176 if (UNTAG_Bool(REGB0)) {
34177 } else {
34178 nit_abort("Assert failed", NULL, LOCATE_parser, 12295);
34179 }
34180 /* parser/parser.nit:12297 */
34181 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
34182 if (UNTAG_Bool(REGB0)) {
34183 } else {
34184 nit_abort("Assert failed", NULL, LOCATE_parser, 12297);
34185 }
34186 /* parser/parser.nit:12299 */
34187 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
34188 if (UNTAG_Bool(REGB0)) {
34189 } else {
34190 nit_abort("Assert failed", NULL, LOCATE_parser, 12299);
34191 }
34192 /* parser/parser.nit:12300 */
34193 fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(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]);
34194 /* parser/parser.nit:12310 */
34195 fra.me.REG[2] = fra.me.REG[3];
34196 /* parser/parser.nit:12311 */
34197 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34198 if (UNTAG_Bool(REGB0)) {
34199 } else {
34200 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12311);
34201 }
34202 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34203 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34204 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34205 stack_frame_head = fra.me.prev;
34206 return;
34207 }
34208 static const char LOCATE_parser___ReduceAction260___action[] = "parser::ReduceAction260::(parser::ReduceAction::action)";
34209 void parser___ReduceAction260___action(val_t p0, val_t p1){
34210 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
34211 val_t REGB0;
34212 val_t tmp;
34213 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34214 fra.me.file = LOCATE_parser;
34215 fra.me.line = 12316;
34216 fra.me.meth = LOCATE_parser___ReduceAction260___action;
34217 fra.me.has_broke = 0;
34218 fra.me.REG_size = 11;
34219 fra.me.nitni_local_ref_head = NULL;
34220 fra.me.REG[0] = NIT_NULL;
34221 fra.me.REG[1] = NIT_NULL;
34222 fra.me.REG[2] = NIT_NULL;
34223 fra.me.REG[3] = NIT_NULL;
34224 fra.me.REG[4] = NIT_NULL;
34225 fra.me.REG[5] = NIT_NULL;
34226 fra.me.REG[6] = NIT_NULL;
34227 fra.me.REG[7] = NIT_NULL;
34228 fra.me.REG[8] = NIT_NULL;
34229 fra.me.REG[9] = NIT_NULL;
34230 fra.me.REG[10] = NIT_NULL;
34231 fra.me.REG[0] = p0;
34232 fra.me.REG[1] = p1;
34233 /* parser/parser.nit:12318 */
34234 fra.me.REG[2] = NIT_NULL;
34235 /* parser/parser.nit:12319 */
34236 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34237 /* parser/parser.nit:12320 */
34238 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34239 /* parser/parser.nit:12321 */
34240 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34241 /* parser/parser.nit:12322 */
34242 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34243 /* parser/parser.nit:12323 */
34244 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34245 /* parser/parser.nit:12324 */
34246 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34247 /* parser/parser.nit:12325 */
34248 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34249 /* parser/parser.nit:12326 */
34250 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34251 /* parser/parser.nit:12327 */
34252 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34253 /* parser/parser.nit:12329 */
34254 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*/;
34255 if (UNTAG_Bool(REGB0)) {
34256 } else {
34257 nit_abort("Assert failed", NULL, LOCATE_parser, 12329);
34258 }
34259 /* parser/parser.nit:12331 */
34260 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*/;
34261 if (UNTAG_Bool(REGB0)) {
34262 } else {
34263 nit_abort("Assert failed", NULL, LOCATE_parser, 12331);
34264 }
34265 /* parser/parser.nit:12333 */
34266 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*/;
34267 if (UNTAG_Bool(REGB0)) {
34268 } else {
34269 nit_abort("Assert failed", NULL, LOCATE_parser, 12333);
34270 }
34271 /* parser/parser.nit:12335 */
34272 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
34273 if (UNTAG_Bool(REGB0)) {
34274 } else {
34275 nit_abort("Assert failed", NULL, LOCATE_parser, 12335);
34276 }
34277 /* parser/parser.nit:12337 */
34278 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*/;
34279 if (UNTAG_Bool(REGB0)) {
34280 } else {
34281 nit_abort("Assert failed", NULL, LOCATE_parser, 12337);
34282 }
34283 /* parser/parser.nit:12339 */
34284 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*/;
34285 if (UNTAG_Bool(REGB0)) {
34286 } else {
34287 nit_abort("Assert failed", NULL, LOCATE_parser, 12339);
34288 }
34289 /* parser/parser.nit:12341 */
34290 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
34291 if (UNTAG_Bool(REGB0)) {
34292 } else {
34293 nit_abort("Assert failed", NULL, LOCATE_parser, 12341);
34294 }
34295 /* parser/parser.nit:12343 */
34296 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
34297 if (UNTAG_Bool(REGB0)) {
34298 } else {
34299 nit_abort("Assert failed", NULL, LOCATE_parser, 12343);
34300 }
34301 /* parser/parser.nit:12344 */
34302 fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(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]);
34303 /* parser/parser.nit:12354 */
34304 fra.me.REG[2] = fra.me.REG[3];
34305 /* parser/parser.nit:12355 */
34306 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34307 if (UNTAG_Bool(REGB0)) {
34308 } else {
34309 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12355);
34310 }
34311 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34312 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34313 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34314 stack_frame_head = fra.me.prev;
34315 return;
34316 }
34317 static const char LOCATE_parser___ReduceAction261___action[] = "parser::ReduceAction261::(parser::ReduceAction::action)";
34318 void parser___ReduceAction261___action(val_t p0, val_t p1){
34319 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
34320 val_t REGB0;
34321 val_t tmp;
34322 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34323 fra.me.file = LOCATE_parser;
34324 fra.me.line = 12360;
34325 fra.me.meth = LOCATE_parser___ReduceAction261___action;
34326 fra.me.has_broke = 0;
34327 fra.me.REG_size = 8;
34328 fra.me.nitni_local_ref_head = NULL;
34329 fra.me.REG[0] = NIT_NULL;
34330 fra.me.REG[1] = NIT_NULL;
34331 fra.me.REG[2] = NIT_NULL;
34332 fra.me.REG[3] = NIT_NULL;
34333 fra.me.REG[4] = NIT_NULL;
34334 fra.me.REG[5] = NIT_NULL;
34335 fra.me.REG[6] = NIT_NULL;
34336 fra.me.REG[7] = NIT_NULL;
34337 fra.me.REG[0] = p0;
34338 fra.me.REG[1] = p1;
34339 /* parser/parser.nit:12362 */
34340 fra.me.REG[2] = NIT_NULL;
34341 /* parser/parser.nit:12363 */
34342 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34343 /* parser/parser.nit:12364 */
34344 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34345 /* parser/parser.nit:12365 */
34346 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34347 /* parser/parser.nit:12366 */
34348 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34349 /* parser/parser.nit:12367 */
34350 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34351 /* parser/parser.nit:12368 */
34352 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34353 /* parser/parser.nit:12369 */
34354 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34355 /* parser/parser.nit:12371 */
34356 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*/;
34357 if (UNTAG_Bool(REGB0)) {
34358 } else {
34359 nit_abort("Assert failed", NULL, LOCATE_parser, 12371);
34360 }
34361 /* parser/parser.nit:12373 */
34362 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*/;
34363 if (UNTAG_Bool(REGB0)) {
34364 } else {
34365 nit_abort("Assert failed", NULL, LOCATE_parser, 12373);
34366 }
34367 /* parser/parser.nit:12375 */
34368 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*/;
34369 if (UNTAG_Bool(REGB0)) {
34370 } else {
34371 nit_abort("Assert failed", NULL, LOCATE_parser, 12375);
34372 }
34373 /* parser/parser.nit:12377 */
34374 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*/;
34375 if (UNTAG_Bool(REGB0)) {
34376 } else {
34377 nit_abort("Assert failed", NULL, LOCATE_parser, 12377);
34378 }
34379 /* parser/parser.nit:12379 */
34380 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
34381 if (UNTAG_Bool(REGB0)) {
34382 } else {
34383 nit_abort("Assert failed", NULL, LOCATE_parser, 12379);
34384 }
34385 /* parser/parser.nit:12380 */
34386 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], NIT_NULL, fra.me.REG[3]);
34387 /* parser/parser.nit:12390 */
34388 fra.me.REG[2] = fra.me.REG[3];
34389 /* parser/parser.nit:12391 */
34390 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34391 if (UNTAG_Bool(REGB0)) {
34392 } else {
34393 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12391);
34394 }
34395 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34396 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34397 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34398 stack_frame_head = fra.me.prev;
34399 return;
34400 }
34401 static const char LOCATE_parser___ReduceAction262___action[] = "parser::ReduceAction262::(parser::ReduceAction::action)";
34402 void parser___ReduceAction262___action(val_t p0, val_t p1){
34403 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
34404 val_t REGB0;
34405 val_t tmp;
34406 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34407 fra.me.file = LOCATE_parser;
34408 fra.me.line = 12396;
34409 fra.me.meth = LOCATE_parser___ReduceAction262___action;
34410 fra.me.has_broke = 0;
34411 fra.me.REG_size = 9;
34412 fra.me.nitni_local_ref_head = NULL;
34413 fra.me.REG[0] = NIT_NULL;
34414 fra.me.REG[1] = NIT_NULL;
34415 fra.me.REG[2] = NIT_NULL;
34416 fra.me.REG[3] = NIT_NULL;
34417 fra.me.REG[4] = NIT_NULL;
34418 fra.me.REG[5] = NIT_NULL;
34419 fra.me.REG[6] = NIT_NULL;
34420 fra.me.REG[7] = NIT_NULL;
34421 fra.me.REG[8] = NIT_NULL;
34422 fra.me.REG[0] = p0;
34423 fra.me.REG[1] = p1;
34424 /* parser/parser.nit:12398 */
34425 fra.me.REG[2] = NIT_NULL;
34426 /* parser/parser.nit:12399 */
34427 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34428 /* parser/parser.nit:12400 */
34429 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34430 /* parser/parser.nit:12401 */
34431 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34432 /* parser/parser.nit:12402 */
34433 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34434 /* parser/parser.nit:12403 */
34435 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34436 /* parser/parser.nit:12404 */
34437 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34438 /* parser/parser.nit:12405 */
34439 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34440 /* parser/parser.nit:12406 */
34441 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34442 /* parser/parser.nit:12408 */
34443 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*/;
34444 if (UNTAG_Bool(REGB0)) {
34445 } else {
34446 nit_abort("Assert failed", NULL, LOCATE_parser, 12408);
34447 }
34448 /* parser/parser.nit:12410 */
34449 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*/;
34450 if (UNTAG_Bool(REGB0)) {
34451 } else {
34452 nit_abort("Assert failed", NULL, LOCATE_parser, 12410);
34453 }
34454 /* parser/parser.nit:12412 */
34455 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*/;
34456 if (UNTAG_Bool(REGB0)) {
34457 } else {
34458 nit_abort("Assert failed", NULL, LOCATE_parser, 12412);
34459 }
34460 /* parser/parser.nit:12414 */
34461 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*/;
34462 if (UNTAG_Bool(REGB0)) {
34463 } else {
34464 nit_abort("Assert failed", NULL, LOCATE_parser, 12414);
34465 }
34466 /* parser/parser.nit:12416 */
34467 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*/;
34468 if (UNTAG_Bool(REGB0)) {
34469 } else {
34470 nit_abort("Assert failed", NULL, LOCATE_parser, 12416);
34471 }
34472 /* parser/parser.nit:12418 */
34473 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
34474 if (UNTAG_Bool(REGB0)) {
34475 } else {
34476 nit_abort("Assert failed", NULL, LOCATE_parser, 12418);
34477 }
34478 /* parser/parser.nit:12419 */
34479 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], NIT_NULL, fra.me.REG[3]);
34480 /* parser/parser.nit:12429 */
34481 fra.me.REG[2] = fra.me.REG[3];
34482 /* parser/parser.nit:12430 */
34483 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34484 if (UNTAG_Bool(REGB0)) {
34485 } else {
34486 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12430);
34487 }
34488 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34489 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34490 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34491 stack_frame_head = fra.me.prev;
34492 return;
34493 }
34494 static const char LOCATE_parser___ReduceAction263___action[] = "parser::ReduceAction263::(parser::ReduceAction::action)";
34495 void parser___ReduceAction263___action(val_t p0, val_t p1){
34496 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
34497 val_t REGB0;
34498 val_t tmp;
34499 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34500 fra.me.file = LOCATE_parser;
34501 fra.me.line = 12435;
34502 fra.me.meth = LOCATE_parser___ReduceAction263___action;
34503 fra.me.has_broke = 0;
34504 fra.me.REG_size = 9;
34505 fra.me.nitni_local_ref_head = NULL;
34506 fra.me.REG[0] = NIT_NULL;
34507 fra.me.REG[1] = NIT_NULL;
34508 fra.me.REG[2] = NIT_NULL;
34509 fra.me.REG[3] = NIT_NULL;
34510 fra.me.REG[4] = NIT_NULL;
34511 fra.me.REG[5] = NIT_NULL;
34512 fra.me.REG[6] = NIT_NULL;
34513 fra.me.REG[7] = NIT_NULL;
34514 fra.me.REG[8] = NIT_NULL;
34515 fra.me.REG[0] = p0;
34516 fra.me.REG[1] = p1;
34517 /* parser/parser.nit:12437 */
34518 fra.me.REG[2] = NIT_NULL;
34519 /* parser/parser.nit:12438 */
34520 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34521 /* parser/parser.nit:12439 */
34522 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34523 /* parser/parser.nit:12440 */
34524 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34525 /* parser/parser.nit:12441 */
34526 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34527 /* parser/parser.nit:12442 */
34528 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34529 /* parser/parser.nit:12443 */
34530 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34531 /* parser/parser.nit:12444 */
34532 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34533 /* parser/parser.nit:12445 */
34534 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34535 /* parser/parser.nit:12447 */
34536 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*/;
34537 if (UNTAG_Bool(REGB0)) {
34538 } else {
34539 nit_abort("Assert failed", NULL, LOCATE_parser, 12447);
34540 }
34541 /* parser/parser.nit:12449 */
34542 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*/;
34543 if (UNTAG_Bool(REGB0)) {
34544 } else {
34545 nit_abort("Assert failed", NULL, LOCATE_parser, 12449);
34546 }
34547 /* parser/parser.nit:12451 */
34548 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*/;
34549 if (UNTAG_Bool(REGB0)) {
34550 } else {
34551 nit_abort("Assert failed", NULL, LOCATE_parser, 12451);
34552 }
34553 /* parser/parser.nit:12453 */
34554 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*/;
34555 if (UNTAG_Bool(REGB0)) {
34556 } else {
34557 nit_abort("Assert failed", NULL, LOCATE_parser, 12453);
34558 }
34559 /* parser/parser.nit:12455 */
34560 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*/;
34561 if (UNTAG_Bool(REGB0)) {
34562 } else {
34563 nit_abort("Assert failed", NULL, LOCATE_parser, 12455);
34564 }
34565 /* parser/parser.nit:12457 */
34566 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
34567 if (UNTAG_Bool(REGB0)) {
34568 } else {
34569 nit_abort("Assert failed", NULL, LOCATE_parser, 12457);
34570 }
34571 /* parser/parser.nit:12458 */
34572 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], NIT_NULL, fra.me.REG[3]);
34573 /* parser/parser.nit:12468 */
34574 fra.me.REG[2] = fra.me.REG[3];
34575 /* parser/parser.nit:12469 */
34576 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34577 if (UNTAG_Bool(REGB0)) {
34578 } else {
34579 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12469);
34580 }
34581 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34582 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34583 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34584 stack_frame_head = fra.me.prev;
34585 return;
34586 }
34587 static const char LOCATE_parser___ReduceAction264___action[] = "parser::ReduceAction264::(parser::ReduceAction::action)";
34588 void parser___ReduceAction264___action(val_t p0, val_t p1){
34589 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
34590 val_t REGB0;
34591 val_t tmp;
34592 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34593 fra.me.file = LOCATE_parser;
34594 fra.me.line = 12474;
34595 fra.me.meth = LOCATE_parser___ReduceAction264___action;
34596 fra.me.has_broke = 0;
34597 fra.me.REG_size = 10;
34598 fra.me.nitni_local_ref_head = NULL;
34599 fra.me.REG[0] = NIT_NULL;
34600 fra.me.REG[1] = NIT_NULL;
34601 fra.me.REG[2] = NIT_NULL;
34602 fra.me.REG[3] = NIT_NULL;
34603 fra.me.REG[4] = NIT_NULL;
34604 fra.me.REG[5] = NIT_NULL;
34605 fra.me.REG[6] = NIT_NULL;
34606 fra.me.REG[7] = NIT_NULL;
34607 fra.me.REG[8] = NIT_NULL;
34608 fra.me.REG[9] = NIT_NULL;
34609 fra.me.REG[0] = p0;
34610 fra.me.REG[1] = p1;
34611 /* parser/parser.nit:12476 */
34612 fra.me.REG[2] = NIT_NULL;
34613 /* parser/parser.nit:12477 */
34614 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34615 /* parser/parser.nit:12478 */
34616 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34617 /* parser/parser.nit:12479 */
34618 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34619 /* parser/parser.nit:12480 */
34620 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34621 /* parser/parser.nit:12481 */
34622 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34623 /* parser/parser.nit:12482 */
34624 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34625 /* parser/parser.nit:12483 */
34626 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34627 /* parser/parser.nit:12484 */
34628 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34629 /* parser/parser.nit:12485 */
34630 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34631 /* parser/parser.nit:12487 */
34632 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*/;
34633 if (UNTAG_Bool(REGB0)) {
34634 } else {
34635 nit_abort("Assert failed", NULL, LOCATE_parser, 12487);
34636 }
34637 /* parser/parser.nit:12489 */
34638 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*/;
34639 if (UNTAG_Bool(REGB0)) {
34640 } else {
34641 nit_abort("Assert failed", NULL, LOCATE_parser, 12489);
34642 }
34643 /* parser/parser.nit:12491 */
34644 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*/;
34645 if (UNTAG_Bool(REGB0)) {
34646 } else {
34647 nit_abort("Assert failed", NULL, LOCATE_parser, 12491);
34648 }
34649 /* parser/parser.nit:12493 */
34650 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*/;
34651 if (UNTAG_Bool(REGB0)) {
34652 } else {
34653 nit_abort("Assert failed", NULL, LOCATE_parser, 12493);
34654 }
34655 /* parser/parser.nit:12495 */
34656 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*/;
34657 if (UNTAG_Bool(REGB0)) {
34658 } else {
34659 nit_abort("Assert failed", NULL, LOCATE_parser, 12495);
34660 }
34661 /* parser/parser.nit:12497 */
34662 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*/;
34663 if (UNTAG_Bool(REGB0)) {
34664 } else {
34665 nit_abort("Assert failed", NULL, LOCATE_parser, 12497);
34666 }
34667 /* parser/parser.nit:12499 */
34668 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
34669 if (UNTAG_Bool(REGB0)) {
34670 } else {
34671 nit_abort("Assert failed", NULL, LOCATE_parser, 12499);
34672 }
34673 /* parser/parser.nit:12500 */
34674 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], NIT_NULL, fra.me.REG[3]);
34675 /* parser/parser.nit:12510 */
34676 fra.me.REG[2] = fra.me.REG[3];
34677 /* parser/parser.nit:12511 */
34678 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34679 if (UNTAG_Bool(REGB0)) {
34680 } else {
34681 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12511);
34682 }
34683 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34684 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34685 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34686 stack_frame_head = fra.me.prev;
34687 return;
34688 }
34689 static const char LOCATE_parser___ReduceAction265___action[] = "parser::ReduceAction265::(parser::ReduceAction::action)";
34690 void parser___ReduceAction265___action(val_t p0, val_t p1){
34691 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
34692 val_t REGB0;
34693 val_t tmp;
34694 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34695 fra.me.file = LOCATE_parser;
34696 fra.me.line = 12516;
34697 fra.me.meth = LOCATE_parser___ReduceAction265___action;
34698 fra.me.has_broke = 0;
34699 fra.me.REG_size = 9;
34700 fra.me.nitni_local_ref_head = NULL;
34701 fra.me.REG[0] = NIT_NULL;
34702 fra.me.REG[1] = NIT_NULL;
34703 fra.me.REG[2] = NIT_NULL;
34704 fra.me.REG[3] = NIT_NULL;
34705 fra.me.REG[4] = NIT_NULL;
34706 fra.me.REG[5] = NIT_NULL;
34707 fra.me.REG[6] = NIT_NULL;
34708 fra.me.REG[7] = NIT_NULL;
34709 fra.me.REG[8] = NIT_NULL;
34710 fra.me.REG[0] = p0;
34711 fra.me.REG[1] = p1;
34712 /* parser/parser.nit:12518 */
34713 fra.me.REG[2] = NIT_NULL;
34714 /* parser/parser.nit:12519 */
34715 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34716 /* parser/parser.nit:12520 */
34717 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34718 /* parser/parser.nit:12521 */
34719 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34720 /* parser/parser.nit:12522 */
34721 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34722 /* parser/parser.nit:12523 */
34723 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34724 /* parser/parser.nit:12524 */
34725 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34726 /* parser/parser.nit:12525 */
34727 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34728 /* parser/parser.nit:12526 */
34729 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34730 /* parser/parser.nit:12528 */
34731 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*/;
34732 if (UNTAG_Bool(REGB0)) {
34733 } else {
34734 nit_abort("Assert failed", NULL, LOCATE_parser, 12528);
34735 }
34736 /* parser/parser.nit:12530 */
34737 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*/;
34738 if (UNTAG_Bool(REGB0)) {
34739 } else {
34740 nit_abort("Assert failed", NULL, LOCATE_parser, 12530);
34741 }
34742 /* parser/parser.nit:12532 */
34743 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*/;
34744 if (UNTAG_Bool(REGB0)) {
34745 } else {
34746 nit_abort("Assert failed", NULL, LOCATE_parser, 12532);
34747 }
34748 /* parser/parser.nit:12534 */
34749 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*/;
34750 if (UNTAG_Bool(REGB0)) {
34751 } else {
34752 nit_abort("Assert failed", NULL, LOCATE_parser, 12534);
34753 }
34754 /* parser/parser.nit:12536 */
34755 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
34756 if (UNTAG_Bool(REGB0)) {
34757 } else {
34758 nit_abort("Assert failed", NULL, LOCATE_parser, 12536);
34759 }
34760 /* parser/parser.nit:12538 */
34761 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
34762 if (UNTAG_Bool(REGB0)) {
34763 } else {
34764 nit_abort("Assert failed", NULL, LOCATE_parser, 12538);
34765 }
34766 /* parser/parser.nit:12539 */
34767 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], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
34768 /* parser/parser.nit:12549 */
34769 fra.me.REG[2] = fra.me.REG[3];
34770 /* parser/parser.nit:12550 */
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, 12550);
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___ReduceAction266___action[] = "parser::ReduceAction266::(parser::ReduceAction::action)";
34783 void parser___ReduceAction266___action(val_t p0, val_t p1){
34784 struct {struct stack_frame_t me; val_t MORE_REG[9];} 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 = 12555;
34790 fra.me.meth = LOCATE_parser___ReduceAction266___action;
34791 fra.me.has_broke = 0;
34792 fra.me.REG_size = 10;
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[5] = NIT_NULL;
34800 fra.me.REG[6] = NIT_NULL;
34801 fra.me.REG[7] = NIT_NULL;
34802 fra.me.REG[8] = NIT_NULL;
34803 fra.me.REG[9] = NIT_NULL;
34804 fra.me.REG[0] = p0;
34805 fra.me.REG[1] = p1;
34806 /* parser/parser.nit:12557 */
34807 fra.me.REG[2] = NIT_NULL;
34808 /* parser/parser.nit:12558 */
34809 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34810 /* parser/parser.nit:12559 */
34811 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34812 /* parser/parser.nit:12560 */
34813 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34814 /* parser/parser.nit:12561 */
34815 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34816 /* parser/parser.nit:12562 */
34817 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34818 /* parser/parser.nit:12563 */
34819 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34820 /* parser/parser.nit:12564 */
34821 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34822 /* parser/parser.nit:12565 */
34823 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34824 /* parser/parser.nit:12566 */
34825 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34826 /* parser/parser.nit:12568 */
34827 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*/;
34828 if (UNTAG_Bool(REGB0)) {
34829 } else {
34830 nit_abort("Assert failed", NULL, LOCATE_parser, 12568);
34831 }
34832 /* parser/parser.nit:12570 */
34833 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*/;
34834 if (UNTAG_Bool(REGB0)) {
34835 } else {
34836 nit_abort("Assert failed", NULL, LOCATE_parser, 12570);
34837 }
34838 /* parser/parser.nit:12572 */
34839 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*/;
34840 if (UNTAG_Bool(REGB0)) {
34841 } else {
34842 nit_abort("Assert failed", NULL, LOCATE_parser, 12572);
34843 }
34844 /* parser/parser.nit:12574 */
34845 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*/;
34846 if (UNTAG_Bool(REGB0)) {
34847 } else {
34848 nit_abort("Assert failed", NULL, LOCATE_parser, 12574);
34849 }
34850 /* parser/parser.nit:12576 */
34851 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*/;
34852 if (UNTAG_Bool(REGB0)) {
34853 } else {
34854 nit_abort("Assert failed", NULL, LOCATE_parser, 12576);
34855 }
34856 /* parser/parser.nit:12578 */
34857 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
34858 if (UNTAG_Bool(REGB0)) {
34859 } else {
34860 nit_abort("Assert failed", NULL, LOCATE_parser, 12578);
34861 }
34862 /* parser/parser.nit:12580 */
34863 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
34864 if (UNTAG_Bool(REGB0)) {
34865 } else {
34866 nit_abort("Assert failed", NULL, LOCATE_parser, 12580);
34867 }
34868 /* parser/parser.nit:12581 */
34869 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], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
34870 /* parser/parser.nit:12591 */
34871 fra.me.REG[2] = fra.me.REG[3];
34872 /* parser/parser.nit:12592 */
34873 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34874 if (UNTAG_Bool(REGB0)) {
34875 } else {
34876 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12592);
34877 }
34878 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34879 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34880 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34881 stack_frame_head = fra.me.prev;
34882 return;
34883 }
34884 static const char LOCATE_parser___ReduceAction267___action[] = "parser::ReduceAction267::(parser::ReduceAction::action)";
34885 void parser___ReduceAction267___action(val_t p0, val_t p1){
34886 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
34887 val_t REGB0;
34888 val_t tmp;
34889 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34890 fra.me.file = LOCATE_parser;
34891 fra.me.line = 12597;
34892 fra.me.meth = LOCATE_parser___ReduceAction267___action;
34893 fra.me.has_broke = 0;
34894 fra.me.REG_size = 10;
34895 fra.me.nitni_local_ref_head = NULL;
34896 fra.me.REG[0] = NIT_NULL;
34897 fra.me.REG[1] = NIT_NULL;
34898 fra.me.REG[2] = NIT_NULL;
34899 fra.me.REG[3] = NIT_NULL;
34900 fra.me.REG[4] = NIT_NULL;
34901 fra.me.REG[5] = NIT_NULL;
34902 fra.me.REG[6] = NIT_NULL;
34903 fra.me.REG[7] = NIT_NULL;
34904 fra.me.REG[8] = NIT_NULL;
34905 fra.me.REG[9] = NIT_NULL;
34906 fra.me.REG[0] = p0;
34907 fra.me.REG[1] = p1;
34908 /* parser/parser.nit:12599 */
34909 fra.me.REG[2] = NIT_NULL;
34910 /* parser/parser.nit:12600 */
34911 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34912 /* parser/parser.nit:12601 */
34913 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34914 /* parser/parser.nit:12602 */
34915 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34916 /* parser/parser.nit:12603 */
34917 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34918 /* parser/parser.nit:12604 */
34919 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34920 /* parser/parser.nit:12605 */
34921 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34922 /* parser/parser.nit:12606 */
34923 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34924 /* parser/parser.nit:12607 */
34925 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34926 /* parser/parser.nit:12608 */
34927 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34928 /* parser/parser.nit:12610 */
34929 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*/;
34930 if (UNTAG_Bool(REGB0)) {
34931 } else {
34932 nit_abort("Assert failed", NULL, LOCATE_parser, 12610);
34933 }
34934 /* parser/parser.nit:12612 */
34935 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*/;
34936 if (UNTAG_Bool(REGB0)) {
34937 } else {
34938 nit_abort("Assert failed", NULL, LOCATE_parser, 12612);
34939 }
34940 /* parser/parser.nit:12614 */
34941 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
34942 if (UNTAG_Bool(REGB0)) {
34943 } else {
34944 nit_abort("Assert failed", NULL, LOCATE_parser, 12614);
34945 }
34946 /* parser/parser.nit:12616 */
34947 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*/;
34948 if (UNTAG_Bool(REGB0)) {
34949 } else {
34950 nit_abort("Assert failed", NULL, LOCATE_parser, 12616);
34951 }
34952 /* parser/parser.nit:12618 */
34953 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*/;
34954 if (UNTAG_Bool(REGB0)) {
34955 } else {
34956 nit_abort("Assert failed", NULL, LOCATE_parser, 12618);
34957 }
34958 /* parser/parser.nit:12620 */
34959 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
34960 if (UNTAG_Bool(REGB0)) {
34961 } else {
34962 nit_abort("Assert failed", NULL, LOCATE_parser, 12620);
34963 }
34964 /* parser/parser.nit:12622 */
34965 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
34966 if (UNTAG_Bool(REGB0)) {
34967 } else {
34968 nit_abort("Assert failed", NULL, LOCATE_parser, 12622);
34969 }
34970 /* parser/parser.nit:12623 */
34971 fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(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]);
34972 /* parser/parser.nit:12633 */
34973 fra.me.REG[2] = fra.me.REG[3];
34974 /* parser/parser.nit:12634 */
34975 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34976 if (UNTAG_Bool(REGB0)) {
34977 } else {
34978 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12634);
34979 }
34980 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34981 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34982 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34983 stack_frame_head = fra.me.prev;
34984 return;
34985 }
34986 static const char LOCATE_parser___ReduceAction268___action[] = "parser::ReduceAction268::(parser::ReduceAction::action)";
34987 void parser___ReduceAction268___action(val_t p0, val_t p1){
34988 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
34989 val_t REGB0;
34990 val_t tmp;
34991 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34992 fra.me.file = LOCATE_parser;
34993 fra.me.line = 12639;
34994 fra.me.meth = LOCATE_parser___ReduceAction268___action;
34995 fra.me.has_broke = 0;
34996 fra.me.REG_size = 11;
34997 fra.me.nitni_local_ref_head = NULL;
34998 fra.me.REG[0] = NIT_NULL;
34999 fra.me.REG[1] = NIT_NULL;
35000 fra.me.REG[2] = NIT_NULL;
35001 fra.me.REG[3] = NIT_NULL;
35002 fra.me.REG[4] = NIT_NULL;
35003 fra.me.REG[5] = NIT_NULL;
35004 fra.me.REG[6] = NIT_NULL;
35005 fra.me.REG[7] = NIT_NULL;
35006 fra.me.REG[8] = NIT_NULL;
35007 fra.me.REG[9] = NIT_NULL;
35008 fra.me.REG[10] = NIT_NULL;
35009 fra.me.REG[0] = p0;
35010 fra.me.REG[1] = p1;
35011 /* parser/parser.nit:12641 */
35012 fra.me.REG[2] = NIT_NULL;
35013 /* parser/parser.nit:12642 */
35014 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35015 /* parser/parser.nit:12643 */
35016 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35017 /* parser/parser.nit:12644 */
35018 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35019 /* parser/parser.nit:12645 */
35020 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35021 /* parser/parser.nit:12646 */
35022 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35023 /* parser/parser.nit:12647 */
35024 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35025 /* parser/parser.nit:12648 */
35026 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35027 /* parser/parser.nit:12649 */
35028 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35029 /* parser/parser.nit:12650 */
35030 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35031 /* parser/parser.nit:12651 */
35032 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35033 /* parser/parser.nit:12653 */
35034 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*/;
35035 if (UNTAG_Bool(REGB0)) {
35036 } else {
35037 nit_abort("Assert failed", NULL, LOCATE_parser, 12653);
35038 }
35039 /* parser/parser.nit:12655 */
35040 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*/;
35041 if (UNTAG_Bool(REGB0)) {
35042 } else {
35043 nit_abort("Assert failed", NULL, LOCATE_parser, 12655);
35044 }
35045 /* parser/parser.nit:12657 */
35046 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*/;
35047 if (UNTAG_Bool(REGB0)) {
35048 } else {
35049 nit_abort("Assert failed", NULL, LOCATE_parser, 12657);
35050 }
35051 /* parser/parser.nit:12659 */
35052 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
35053 if (UNTAG_Bool(REGB0)) {
35054 } else {
35055 nit_abort("Assert failed", NULL, LOCATE_parser, 12659);
35056 }
35057 /* parser/parser.nit:12661 */
35058 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*/;
35059 if (UNTAG_Bool(REGB0)) {
35060 } else {
35061 nit_abort("Assert failed", NULL, LOCATE_parser, 12661);
35062 }
35063 /* parser/parser.nit:12663 */
35064 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*/;
35065 if (UNTAG_Bool(REGB0)) {
35066 } else {
35067 nit_abort("Assert failed", NULL, LOCATE_parser, 12663);
35068 }
35069 /* parser/parser.nit:12665 */
35070 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
35071 if (UNTAG_Bool(REGB0)) {
35072 } else {
35073 nit_abort("Assert failed", NULL, LOCATE_parser, 12665);
35074 }
35075 /* parser/parser.nit:12667 */
35076 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
35077 if (UNTAG_Bool(REGB0)) {
35078 } else {
35079 nit_abort("Assert failed", NULL, LOCATE_parser, 12667);
35080 }
35081 /* parser/parser.nit:12668 */
35082 fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(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]);
35083 /* parser/parser.nit:12678 */
35084 fra.me.REG[2] = fra.me.REG[3];
35085 /* parser/parser.nit:12679 */
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, 12679);
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___ReduceAction269___action[] = "parser::ReduceAction269::(parser::ReduceAction::action)";
35098 void parser___ReduceAction269___action(val_t p0, val_t p1){
35099 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
35100 val_t REGB0;
35101 val_t tmp;
35102 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35103 fra.me.file = LOCATE_parser;
35104 fra.me.line = 12684;
35105 fra.me.meth = LOCATE_parser___ReduceAction269___action;
35106 fra.me.has_broke = 0;
35107 fra.me.REG_size = 8;
35108 fra.me.nitni_local_ref_head = NULL;
35109 fra.me.REG[0] = NIT_NULL;
35110 fra.me.REG[1] = NIT_NULL;
35111 fra.me.REG[2] = NIT_NULL;
35112 fra.me.REG[3] = NIT_NULL;
35113 fra.me.REG[4] = NIT_NULL;
35114 fra.me.REG[5] = NIT_NULL;
35115 fra.me.REG[6] = NIT_NULL;
35116 fra.me.REG[7] = NIT_NULL;
35117 fra.me.REG[0] = p0;
35118 fra.me.REG[1] = p1;
35119 /* parser/parser.nit:12686 */
35120 fra.me.REG[2] = NIT_NULL;
35121 /* parser/parser.nit:12687 */
35122 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35123 /* parser/parser.nit:12688 */
35124 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35125 /* parser/parser.nit:12689 */
35126 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35127 /* parser/parser.nit:12690 */
35128 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35129 /* parser/parser.nit:12691 */
35130 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35131 /* parser/parser.nit:12693 */
35132 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*/;
35133 if (UNTAG_Bool(REGB0)) {
35134 } else {
35135 nit_abort("Assert failed", NULL, LOCATE_parser, 12693);
35136 }
35137 /* parser/parser.nit:12695 */
35138 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*/;
35139 if (UNTAG_Bool(REGB0)) {
35140 } else {
35141 nit_abort("Assert failed", NULL, LOCATE_parser, 12695);
35142 }
35143 /* parser/parser.nit:12697 */
35144 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*/;
35145 if (UNTAG_Bool(REGB0)) {
35146 } else {
35147 nit_abort("Assert failed", NULL, LOCATE_parser, 12697);
35148 }
35149 /* parser/parser.nit:12699 */
35150 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*/;
35151 if (UNTAG_Bool(REGB0)) {
35152 } else {
35153 nit_abort("Assert failed", NULL, LOCATE_parser, 12699);
35154 }
35155 /* parser/parser.nit:12701 */
35156 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*/;
35157 if (UNTAG_Bool(REGB0)) {
35158 } else {
35159 nit_abort("Assert failed", NULL, LOCATE_parser, 12701);
35160 }
35161 /* parser/parser.nit:12702 */
35162 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], NIT_NULL);
35163 /* parser/parser.nit:12711 */
35164 fra.me.REG[2] = fra.me.REG[3];
35165 /* parser/parser.nit:12712 */
35166 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35167 if (UNTAG_Bool(REGB0)) {
35168 } else {
35169 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12712);
35170 }
35171 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35172 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35173 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35174 stack_frame_head = fra.me.prev;
35175 return;
35176 }
35177 static const char LOCATE_parser___ReduceAction270___action[] = "parser::ReduceAction270::(parser::ReduceAction::action)";
35178 void parser___ReduceAction270___action(val_t p0, val_t p1){
35179 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
35180 val_t REGB0;
35181 val_t tmp;
35182 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35183 fra.me.file = LOCATE_parser;
35184 fra.me.line = 12717;
35185 fra.me.meth = LOCATE_parser___ReduceAction270___action;
35186 fra.me.has_broke = 0;
35187 fra.me.REG_size = 9;
35188 fra.me.nitni_local_ref_head = NULL;
35189 fra.me.REG[0] = NIT_NULL;
35190 fra.me.REG[1] = NIT_NULL;
35191 fra.me.REG[2] = NIT_NULL;
35192 fra.me.REG[3] = NIT_NULL;
35193 fra.me.REG[4] = NIT_NULL;
35194 fra.me.REG[5] = NIT_NULL;
35195 fra.me.REG[6] = NIT_NULL;
35196 fra.me.REG[7] = NIT_NULL;
35197 fra.me.REG[8] = NIT_NULL;
35198 fra.me.REG[0] = p0;
35199 fra.me.REG[1] = p1;
35200 /* parser/parser.nit:12719 */
35201 fra.me.REG[2] = NIT_NULL;
35202 /* parser/parser.nit:12720 */
35203 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35204 /* parser/parser.nit:12721 */
35205 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35206 /* parser/parser.nit:12722 */
35207 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35208 /* parser/parser.nit:12723 */
35209 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35210 /* parser/parser.nit:12724 */
35211 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35212 /* parser/parser.nit:12725 */
35213 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35214 /* parser/parser.nit:12727 */
35215 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*/;
35216 if (UNTAG_Bool(REGB0)) {
35217 } else {
35218 nit_abort("Assert failed", NULL, LOCATE_parser, 12727);
35219 }
35220 /* parser/parser.nit:12729 */
35221 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*/;
35222 if (UNTAG_Bool(REGB0)) {
35223 } else {
35224 nit_abort("Assert failed", NULL, LOCATE_parser, 12729);
35225 }
35226 /* parser/parser.nit:12731 */
35227 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*/;
35228 if (UNTAG_Bool(REGB0)) {
35229 } else {
35230 nit_abort("Assert failed", NULL, LOCATE_parser, 12731);
35231 }
35232 /* parser/parser.nit:12733 */
35233 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*/;
35234 if (UNTAG_Bool(REGB0)) {
35235 } else {
35236 nit_abort("Assert failed", NULL, LOCATE_parser, 12733);
35237 }
35238 /* parser/parser.nit:12735 */
35239 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*/;
35240 if (UNTAG_Bool(REGB0)) {
35241 } else {
35242 nit_abort("Assert failed", NULL, LOCATE_parser, 12735);
35243 }
35244 /* parser/parser.nit:12737 */
35245 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*/;
35246 if (UNTAG_Bool(REGB0)) {
35247 } else {
35248 nit_abort("Assert failed", NULL, LOCATE_parser, 12737);
35249 }
35250 /* parser/parser.nit:12738 */
35251 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], NIT_NULL);
35252 /* parser/parser.nit:12747 */
35253 fra.me.REG[2] = fra.me.REG[3];
35254 /* parser/parser.nit:12748 */
35255 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35256 if (UNTAG_Bool(REGB0)) {
35257 } else {
35258 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12748);
35259 }
35260 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35261 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35262 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35263 stack_frame_head = fra.me.prev;
35264 return;
35265 }
35266 static const char LOCATE_parser___ReduceAction271___action[] = "parser::ReduceAction271::(parser::ReduceAction::action)";
35267 void parser___ReduceAction271___action(val_t p0, val_t p1){
35268 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
35269 val_t REGB0;
35270 val_t tmp;
35271 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35272 fra.me.file = LOCATE_parser;
35273 fra.me.line = 12753;
35274 fra.me.meth = LOCATE_parser___ReduceAction271___action;
35275 fra.me.has_broke = 0;
35276 fra.me.REG_size = 9;
35277 fra.me.nitni_local_ref_head = NULL;
35278 fra.me.REG[0] = NIT_NULL;
35279 fra.me.REG[1] = NIT_NULL;
35280 fra.me.REG[2] = NIT_NULL;
35281 fra.me.REG[3] = NIT_NULL;
35282 fra.me.REG[4] = NIT_NULL;
35283 fra.me.REG[5] = NIT_NULL;
35284 fra.me.REG[6] = NIT_NULL;
35285 fra.me.REG[7] = NIT_NULL;
35286 fra.me.REG[8] = NIT_NULL;
35287 fra.me.REG[0] = p0;
35288 fra.me.REG[1] = p1;
35289 /* parser/parser.nit:12755 */
35290 fra.me.REG[2] = NIT_NULL;
35291 /* parser/parser.nit:12756 */
35292 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35293 /* parser/parser.nit:12757 */
35294 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35295 /* parser/parser.nit:12758 */
35296 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35297 /* parser/parser.nit:12759 */
35298 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35299 /* parser/parser.nit:12760 */
35300 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35301 /* parser/parser.nit:12761 */
35302 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35303 /* parser/parser.nit:12763 */
35304 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*/;
35305 if (UNTAG_Bool(REGB0)) {
35306 } else {
35307 nit_abort("Assert failed", NULL, LOCATE_parser, 12763);
35308 }
35309 /* parser/parser.nit:12765 */
35310 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*/;
35311 if (UNTAG_Bool(REGB0)) {
35312 } else {
35313 nit_abort("Assert failed", NULL, LOCATE_parser, 12765);
35314 }
35315 /* parser/parser.nit:12767 */
35316 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwtype, ID_parser___parser_nodes___TKwtype)) /*cast nullable TKwtype*/;
35317 if (UNTAG_Bool(REGB0)) {
35318 } else {
35319 nit_abort("Assert failed", NULL, LOCATE_parser, 12767);
35320 }
35321 /* parser/parser.nit:12769 */
35322 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*/;
35323 if (UNTAG_Bool(REGB0)) {
35324 } else {
35325 nit_abort("Assert failed", NULL, LOCATE_parser, 12769);
35326 }
35327 /* parser/parser.nit:12771 */
35328 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*/;
35329 if (UNTAG_Bool(REGB0)) {
35330 } else {
35331 nit_abort("Assert failed", NULL, LOCATE_parser, 12771);
35332 }
35333 /* parser/parser.nit:12773 */
35334 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
35335 if (UNTAG_Bool(REGB0)) {
35336 } else {
35337 nit_abort("Assert failed", NULL, LOCATE_parser, 12773);
35338 }
35339 /* parser/parser.nit:12774 */
35340 fra.me.REG[3] = NEW_ATypePropdef_parser___parser_prod___ATypePropdef___init_atypepropdef(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]);
35341 /* parser/parser.nit:12783 */
35342 fra.me.REG[2] = fra.me.REG[3];
35343 /* parser/parser.nit:12784 */
35344 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35345 if (UNTAG_Bool(REGB0)) {
35346 } else {
35347 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12784);
35348 }
35349 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35350 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35351 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35352 stack_frame_head = fra.me.prev;
35353 return;
35354 }
35355 static const char LOCATE_parser___ReduceAction272___action[] = "parser::ReduceAction272::(parser::ReduceAction::action)";
35356 void parser___ReduceAction272___action(val_t p0, val_t p1){
35357 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
35358 val_t REGB0;
35359 val_t tmp;
35360 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35361 fra.me.file = LOCATE_parser;
35362 fra.me.line = 12789;
35363 fra.me.meth = LOCATE_parser___ReduceAction272___action;
35364 fra.me.has_broke = 0;
35365 fra.me.REG_size = 10;
35366 fra.me.nitni_local_ref_head = NULL;
35367 fra.me.REG[0] = NIT_NULL;
35368 fra.me.REG[1] = NIT_NULL;
35369 fra.me.REG[2] = NIT_NULL;
35370 fra.me.REG[3] = NIT_NULL;
35371 fra.me.REG[4] = NIT_NULL;
35372 fra.me.REG[5] = NIT_NULL;
35373 fra.me.REG[6] = NIT_NULL;
35374 fra.me.REG[7] = NIT_NULL;
35375 fra.me.REG[8] = NIT_NULL;
35376 fra.me.REG[9] = NIT_NULL;
35377 fra.me.REG[0] = p0;
35378 fra.me.REG[1] = p1;
35379 /* parser/parser.nit:12791 */
35380 fra.me.REG[2] = NIT_NULL;
35381 /* parser/parser.nit:12792 */
35382 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35383 /* parser/parser.nit:12793 */
35384 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35385 /* parser/parser.nit:12794 */
35386 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35387 /* parser/parser.nit:12795 */
35388 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35389 /* parser/parser.nit:12796 */
35390 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35391 /* parser/parser.nit:12797 */
35392 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35393 /* parser/parser.nit:12798 */
35394 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35395 /* parser/parser.nit:12800 */
35396 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*/;
35397 if (UNTAG_Bool(REGB0)) {
35398 } else {
35399 nit_abort("Assert failed", NULL, LOCATE_parser, 12800);
35400 }
35401 /* parser/parser.nit:12802 */
35402 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*/;
35403 if (UNTAG_Bool(REGB0)) {
35404 } else {
35405 nit_abort("Assert failed", NULL, LOCATE_parser, 12802);
35406 }
35407 /* parser/parser.nit:12804 */
35408 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*/;
35409 if (UNTAG_Bool(REGB0)) {
35410 } else {
35411 nit_abort("Assert failed", NULL, LOCATE_parser, 12804);
35412 }
35413 /* parser/parser.nit:12806 */
35414 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwtype, ID_parser___parser_nodes___TKwtype)) /*cast nullable TKwtype*/;
35415 if (UNTAG_Bool(REGB0)) {
35416 } else {
35417 nit_abort("Assert failed", NULL, LOCATE_parser, 12806);
35418 }
35419 /* parser/parser.nit:12808 */
35420 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*/;
35421 if (UNTAG_Bool(REGB0)) {
35422 } else {
35423 nit_abort("Assert failed", NULL, LOCATE_parser, 12808);
35424 }
35425 /* parser/parser.nit:12810 */
35426 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*/;
35427 if (UNTAG_Bool(REGB0)) {
35428 } else {
35429 nit_abort("Assert failed", NULL, LOCATE_parser, 12810);
35430 }
35431 /* parser/parser.nit:12812 */
35432 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
35433 if (UNTAG_Bool(REGB0)) {
35434 } else {
35435 nit_abort("Assert failed", NULL, LOCATE_parser, 12812);
35436 }
35437 /* parser/parser.nit:12813 */
35438 fra.me.REG[3] = NEW_ATypePropdef_parser___parser_prod___ATypePropdef___init_atypepropdef(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]);
35439 /* parser/parser.nit:12822 */
35440 fra.me.REG[2] = fra.me.REG[3];
35441 /* parser/parser.nit:12823 */
35442 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35443 if (UNTAG_Bool(REGB0)) {
35444 } else {
35445 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12823);
35446 }
35447 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35448 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35449 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35450 stack_frame_head = fra.me.prev;
35451 return;
35452 }
35453 static const char LOCATE_parser___ReduceAction273___action[] = "parser::ReduceAction273::(parser::ReduceAction::action)";
35454 void parser___ReduceAction273___action(val_t p0, val_t p1){
35455 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
35456 val_t REGB0;
35457 val_t tmp;
35458 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35459 fra.me.file = LOCATE_parser;
35460 fra.me.line = 12828;
35461 fra.me.meth = LOCATE_parser___ReduceAction273___action;
35462 fra.me.has_broke = 0;
35463 fra.me.REG_size = 7;
35464 fra.me.nitni_local_ref_head = NULL;
35465 fra.me.REG[0] = NIT_NULL;
35466 fra.me.REG[1] = NIT_NULL;
35467 fra.me.REG[2] = NIT_NULL;
35468 fra.me.REG[3] = NIT_NULL;
35469 fra.me.REG[4] = NIT_NULL;
35470 fra.me.REG[5] = NIT_NULL;
35471 fra.me.REG[6] = NIT_NULL;
35472 fra.me.REG[0] = p0;
35473 fra.me.REG[1] = p1;
35474 /* parser/parser.nit:12830 */
35475 fra.me.REG[2] = NIT_NULL;
35476 /* parser/parser.nit:12831 */
35477 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35478 /* parser/parser.nit:12832 */
35479 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35480 /* parser/parser.nit:12833 */
35481 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35482 /* parser/parser.nit:12834 */
35483 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35484 /* parser/parser.nit:12835 */
35485 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35486 /* parser/parser.nit:12836 */
35487 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35488 /* parser/parser.nit:12838 */
35489 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*/;
35490 if (UNTAG_Bool(REGB0)) {
35491 } else {
35492 nit_abort("Assert failed", NULL, LOCATE_parser, 12838);
35493 }
35494 /* parser/parser.nit:12840 */
35495 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*/;
35496 if (UNTAG_Bool(REGB0)) {
35497 } else {
35498 nit_abort("Assert failed", NULL, LOCATE_parser, 12840);
35499 }
35500 /* parser/parser.nit:12842 */
35501 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*/;
35502 if (UNTAG_Bool(REGB0)) {
35503 } else {
35504 nit_abort("Assert failed", NULL, LOCATE_parser, 12842);
35505 }
35506 /* parser/parser.nit:12844 */
35507 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*/;
35508 if (UNTAG_Bool(REGB0)) {
35509 } else {
35510 nit_abort("Assert failed", NULL, LOCATE_parser, 12844);
35511 }
35512 /* parser/parser.nit:12845 */
35513 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);
35514 /* parser/parser.nit:12856 */
35515 fra.me.REG[2] = fra.me.REG[3];
35516 /* parser/parser.nit:12857 */
35517 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35518 if (UNTAG_Bool(REGB0)) {
35519 } else {
35520 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12857);
35521 }
35522 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35523 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35524 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35525 stack_frame_head = fra.me.prev;
35526 return;
35527 }
35528 static const char LOCATE_parser___ReduceAction274___action[] = "parser::ReduceAction274::(parser::ReduceAction::action)";
35529 void parser___ReduceAction274___action(val_t p0, val_t p1){
35530 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
35531 val_t REGB0;
35532 val_t tmp;
35533 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35534 fra.me.file = LOCATE_parser;
35535 fra.me.line = 12862;
35536 fra.me.meth = LOCATE_parser___ReduceAction274___action;
35537 fra.me.has_broke = 0;
35538 fra.me.REG_size = 8;
35539 fra.me.nitni_local_ref_head = NULL;
35540 fra.me.REG[0] = NIT_NULL;
35541 fra.me.REG[1] = NIT_NULL;
35542 fra.me.REG[2] = NIT_NULL;
35543 fra.me.REG[3] = NIT_NULL;
35544 fra.me.REG[4] = NIT_NULL;
35545 fra.me.REG[5] = NIT_NULL;
35546 fra.me.REG[6] = NIT_NULL;
35547 fra.me.REG[7] = NIT_NULL;
35548 fra.me.REG[0] = p0;
35549 fra.me.REG[1] = p1;
35550 /* parser/parser.nit:12864 */
35551 fra.me.REG[2] = NIT_NULL;
35552 /* parser/parser.nit:12865 */
35553 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35554 /* parser/parser.nit:12866 */
35555 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35556 /* parser/parser.nit:12867 */
35557 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35558 /* parser/parser.nit:12868 */
35559 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35560 /* parser/parser.nit:12869 */
35561 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35562 /* parser/parser.nit:12870 */
35563 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35564 /* parser/parser.nit:12871 */
35565 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35566 /* parser/parser.nit:12873 */
35567 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*/;
35568 if (UNTAG_Bool(REGB0)) {
35569 } else {
35570 nit_abort("Assert failed", NULL, LOCATE_parser, 12873);
35571 }
35572 /* parser/parser.nit:12875 */
35573 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*/;
35574 if (UNTAG_Bool(REGB0)) {
35575 } else {
35576 nit_abort("Assert failed", NULL, LOCATE_parser, 12875);
35577 }
35578 /* parser/parser.nit:12877 */
35579 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*/;
35580 if (UNTAG_Bool(REGB0)) {
35581 } else {
35582 nit_abort("Assert failed", NULL, LOCATE_parser, 12877);
35583 }
35584 /* parser/parser.nit:12879 */
35585 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*/;
35586 if (UNTAG_Bool(REGB0)) {
35587 } else {
35588 nit_abort("Assert failed", NULL, LOCATE_parser, 12879);
35589 }
35590 /* parser/parser.nit:12881 */
35591 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*/;
35592 if (UNTAG_Bool(REGB0)) {
35593 } else {
35594 nit_abort("Assert failed", NULL, LOCATE_parser, 12881);
35595 }
35596 /* parser/parser.nit:12882 */
35597 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);
35598 /* parser/parser.nit:12893 */
35599 fra.me.REG[2] = fra.me.REG[3];
35600 /* parser/parser.nit:12894 */
35601 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35602 if (UNTAG_Bool(REGB0)) {
35603 } else {
35604 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12894);
35605 }
35606 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35607 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35608 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35609 stack_frame_head = fra.me.prev;
35610 return;
35611 }
35612 static const char LOCATE_parser___ReduceAction275___action[] = "parser::ReduceAction275::(parser::ReduceAction::action)";
35613 void parser___ReduceAction275___action(val_t p0, val_t p1){
35614 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
35615 val_t REGB0;
35616 val_t tmp;
35617 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35618 fra.me.file = LOCATE_parser;
35619 fra.me.line = 12899;
35620 fra.me.meth = LOCATE_parser___ReduceAction275___action;
35621 fra.me.has_broke = 0;
35622 fra.me.REG_size = 8;
35623 fra.me.nitni_local_ref_head = NULL;
35624 fra.me.REG[0] = NIT_NULL;
35625 fra.me.REG[1] = NIT_NULL;
35626 fra.me.REG[2] = NIT_NULL;
35627 fra.me.REG[3] = NIT_NULL;
35628 fra.me.REG[4] = NIT_NULL;
35629 fra.me.REG[5] = NIT_NULL;
35630 fra.me.REG[6] = NIT_NULL;
35631 fra.me.REG[7] = NIT_NULL;
35632 fra.me.REG[0] = p0;
35633 fra.me.REG[1] = p1;
35634 /* parser/parser.nit:12901 */
35635 fra.me.REG[2] = NIT_NULL;
35636 /* parser/parser.nit:12902 */
35637 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35638 /* parser/parser.nit:12903 */
35639 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35640 /* parser/parser.nit:12904 */
35641 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35642 /* parser/parser.nit:12905 */
35643 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35644 /* parser/parser.nit:12906 */
35645 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35646 /* parser/parser.nit:12907 */
35647 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35648 /* parser/parser.nit:12908 */
35649 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35650 /* parser/parser.nit:12910 */
35651 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*/;
35652 if (UNTAG_Bool(REGB0)) {
35653 } else {
35654 nit_abort("Assert failed", NULL, LOCATE_parser, 12910);
35655 }
35656 /* parser/parser.nit:12912 */
35657 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*/;
35658 if (UNTAG_Bool(REGB0)) {
35659 } else {
35660 nit_abort("Assert failed", NULL, LOCATE_parser, 12912);
35661 }
35662 /* parser/parser.nit:12914 */
35663 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*/;
35664 if (UNTAG_Bool(REGB0)) {
35665 } else {
35666 nit_abort("Assert failed", NULL, LOCATE_parser, 12914);
35667 }
35668 /* parser/parser.nit:12916 */
35669 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*/;
35670 if (UNTAG_Bool(REGB0)) {
35671 } else {
35672 nit_abort("Assert failed", NULL, LOCATE_parser, 12916);
35673 }
35674 /* parser/parser.nit:12918 */
35675 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*/;
35676 if (UNTAG_Bool(REGB0)) {
35677 } else {
35678 nit_abort("Assert failed", NULL, LOCATE_parser, 12918);
35679 }
35680 /* parser/parser.nit:12919 */
35681 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);
35682 /* parser/parser.nit:12930 */
35683 fra.me.REG[2] = fra.me.REG[3];
35684 /* parser/parser.nit:12931 */
35685 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35686 if (UNTAG_Bool(REGB0)) {
35687 } else {
35688 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12931);
35689 }
35690 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35691 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35692 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35693 stack_frame_head = fra.me.prev;
35694 return;
35695 }
35696 static const char LOCATE_parser___ReduceAction276___action[] = "parser::ReduceAction276::(parser::ReduceAction::action)";
35697 void parser___ReduceAction276___action(val_t p0, val_t p1){
35698 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
35699 val_t REGB0;
35700 val_t tmp;
35701 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35702 fra.me.file = LOCATE_parser;
35703 fra.me.line = 12936;
35704 fra.me.meth = LOCATE_parser___ReduceAction276___action;
35705 fra.me.has_broke = 0;
35706 fra.me.REG_size = 9;
35707 fra.me.nitni_local_ref_head = NULL;
35708 fra.me.REG[0] = NIT_NULL;
35709 fra.me.REG[1] = NIT_NULL;
35710 fra.me.REG[2] = NIT_NULL;
35711 fra.me.REG[3] = NIT_NULL;
35712 fra.me.REG[4] = NIT_NULL;
35713 fra.me.REG[5] = NIT_NULL;
35714 fra.me.REG[6] = NIT_NULL;
35715 fra.me.REG[7] = NIT_NULL;
35716 fra.me.REG[8] = NIT_NULL;
35717 fra.me.REG[0] = p0;
35718 fra.me.REG[1] = p1;
35719 /* parser/parser.nit:12938 */
35720 fra.me.REG[2] = NIT_NULL;
35721 /* parser/parser.nit:12939 */
35722 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35723 /* parser/parser.nit:12940 */
35724 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35725 /* parser/parser.nit:12941 */
35726 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35727 /* parser/parser.nit:12942 */
35728 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35729 /* parser/parser.nit:12943 */
35730 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35731 /* parser/parser.nit:12944 */
35732 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35733 /* parser/parser.nit:12945 */
35734 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35735 /* parser/parser.nit:12946 */
35736 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35737 /* parser/parser.nit:12948 */
35738 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*/;
35739 if (UNTAG_Bool(REGB0)) {
35740 } else {
35741 nit_abort("Assert failed", NULL, LOCATE_parser, 12948);
35742 }
35743 /* parser/parser.nit:12950 */
35744 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*/;
35745 if (UNTAG_Bool(REGB0)) {
35746 } else {
35747 nit_abort("Assert failed", NULL, LOCATE_parser, 12950);
35748 }
35749 /* parser/parser.nit:12952 */
35750 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*/;
35751 if (UNTAG_Bool(REGB0)) {
35752 } else {
35753 nit_abort("Assert failed", NULL, LOCATE_parser, 12952);
35754 }
35755 /* parser/parser.nit:12954 */
35756 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*/;
35757 if (UNTAG_Bool(REGB0)) {
35758 } else {
35759 nit_abort("Assert failed", NULL, LOCATE_parser, 12954);
35760 }
35761 /* parser/parser.nit:12956 */
35762 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*/;
35763 if (UNTAG_Bool(REGB0)) {
35764 } else {
35765 nit_abort("Assert failed", NULL, LOCATE_parser, 12956);
35766 }
35767 /* parser/parser.nit:12958 */
35768 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*/;
35769 if (UNTAG_Bool(REGB0)) {
35770 } else {
35771 nit_abort("Assert failed", NULL, LOCATE_parser, 12958);
35772 }
35773 /* parser/parser.nit:12959 */
35774 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);
35775 /* parser/parser.nit:12970 */
35776 fra.me.REG[2] = fra.me.REG[3];
35777 /* parser/parser.nit:12971 */
35778 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35779 if (UNTAG_Bool(REGB0)) {
35780 } else {
35781 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12971);
35782 }
35783 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35784 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35785 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35786 stack_frame_head = fra.me.prev;
35787 return;
35788 }
35789 static const char LOCATE_parser___ReduceAction277___action[] = "parser::ReduceAction277::(parser::ReduceAction::action)";
35790 void parser___ReduceAction277___action(val_t p0, val_t p1){
35791 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
35792 val_t REGB0;
35793 val_t tmp;
35794 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35795 fra.me.file = LOCATE_parser;
35796 fra.me.line = 12976;
35797 fra.me.meth = LOCATE_parser___ReduceAction277___action;
35798 fra.me.has_broke = 0;
35799 fra.me.REG_size = 8;
35800 fra.me.nitni_local_ref_head = NULL;
35801 fra.me.REG[0] = NIT_NULL;
35802 fra.me.REG[1] = NIT_NULL;
35803 fra.me.REG[2] = NIT_NULL;
35804 fra.me.REG[3] = NIT_NULL;
35805 fra.me.REG[4] = NIT_NULL;
35806 fra.me.REG[5] = NIT_NULL;
35807 fra.me.REG[6] = NIT_NULL;
35808 fra.me.REG[7] = NIT_NULL;
35809 fra.me.REG[0] = p0;
35810 fra.me.REG[1] = p1;
35811 /* parser/parser.nit:12978 */
35812 fra.me.REG[2] = NIT_NULL;
35813 /* parser/parser.nit:12979 */
35814 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35815 /* parser/parser.nit:12980 */
35816 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35817 /* parser/parser.nit:12981 */
35818 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35819 /* parser/parser.nit:12982 */
35820 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35821 /* parser/parser.nit:12983 */
35822 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35823 /* parser/parser.nit:12984 */
35824 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35825 /* parser/parser.nit:12985 */
35826 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35827 /* parser/parser.nit:12987 */
35828 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*/;
35829 if (UNTAG_Bool(REGB0)) {
35830 } else {
35831 nit_abort("Assert failed", NULL, LOCATE_parser, 12987);
35832 }
35833 /* parser/parser.nit:12989 */
35834 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*/;
35835 if (UNTAG_Bool(REGB0)) {
35836 } else {
35837 nit_abort("Assert failed", NULL, LOCATE_parser, 12989);
35838 }
35839 /* parser/parser.nit:12991 */
35840 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*/;
35841 if (UNTAG_Bool(REGB0)) {
35842 } else {
35843 nit_abort("Assert failed", NULL, LOCATE_parser, 12991);
35844 }
35845 /* parser/parser.nit:12993 */
35846 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*/;
35847 if (UNTAG_Bool(REGB0)) {
35848 } else {
35849 nit_abort("Assert failed", NULL, LOCATE_parser, 12993);
35850 }
35851 /* parser/parser.nit:12995 */
35852 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*/;
35853 if (UNTAG_Bool(REGB0)) {
35854 } else {
35855 nit_abort("Assert failed", NULL, LOCATE_parser, 12995);
35856 }
35857 /* parser/parser.nit:12996 */
35858 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);
35859 /* parser/parser.nit:13007 */
35860 fra.me.REG[2] = fra.me.REG[3];
35861 /* parser/parser.nit:13008 */
35862 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35863 if (UNTAG_Bool(REGB0)) {
35864 } else {
35865 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13008);
35866 }
35867 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35868 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35869 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35870 stack_frame_head = fra.me.prev;
35871 return;
35872 }
35873 static const char LOCATE_parser___ReduceAction278___action[] = "parser::ReduceAction278::(parser::ReduceAction::action)";
35874 void parser___ReduceAction278___action(val_t p0, val_t p1){
35875 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
35876 val_t REGB0;
35877 val_t tmp;
35878 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35879 fra.me.file = LOCATE_parser;
35880 fra.me.line = 13013;
35881 fra.me.meth = LOCATE_parser___ReduceAction278___action;
35882 fra.me.has_broke = 0;
35883 fra.me.REG_size = 9;
35884 fra.me.nitni_local_ref_head = NULL;
35885 fra.me.REG[0] = NIT_NULL;
35886 fra.me.REG[1] = NIT_NULL;
35887 fra.me.REG[2] = NIT_NULL;
35888 fra.me.REG[3] = NIT_NULL;
35889 fra.me.REG[4] = NIT_NULL;
35890 fra.me.REG[5] = NIT_NULL;
35891 fra.me.REG[6] = NIT_NULL;
35892 fra.me.REG[7] = NIT_NULL;
35893 fra.me.REG[8] = NIT_NULL;
35894 fra.me.REG[0] = p0;
35895 fra.me.REG[1] = p1;
35896 /* parser/parser.nit:13015 */
35897 fra.me.REG[2] = NIT_NULL;
35898 /* parser/parser.nit:13016 */
35899 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35900 /* parser/parser.nit:13017 */
35901 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35902 /* parser/parser.nit:13018 */
35903 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35904 /* parser/parser.nit:13019 */
35905 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35906 /* parser/parser.nit:13020 */
35907 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35908 /* parser/parser.nit:13021 */
35909 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35910 /* parser/parser.nit:13022 */
35911 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35912 /* parser/parser.nit:13023 */
35913 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35914 /* parser/parser.nit:13025 */
35915 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*/;
35916 if (UNTAG_Bool(REGB0)) {
35917 } else {
35918 nit_abort("Assert failed", NULL, LOCATE_parser, 13025);
35919 }
35920 /* parser/parser.nit:13027 */
35921 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*/;
35922 if (UNTAG_Bool(REGB0)) {
35923 } else {
35924 nit_abort("Assert failed", NULL, LOCATE_parser, 13027);
35925 }
35926 /* parser/parser.nit:13029 */
35927 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*/;
35928 if (UNTAG_Bool(REGB0)) {
35929 } else {
35930 nit_abort("Assert failed", NULL, LOCATE_parser, 13029);
35931 }
35932 /* parser/parser.nit:13031 */
35933 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*/;
35934 if (UNTAG_Bool(REGB0)) {
35935 } else {
35936 nit_abort("Assert failed", NULL, LOCATE_parser, 13031);
35937 }
35938 /* parser/parser.nit:13033 */
35939 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*/;
35940 if (UNTAG_Bool(REGB0)) {
35941 } else {
35942 nit_abort("Assert failed", NULL, LOCATE_parser, 13033);
35943 }
35944 /* parser/parser.nit:13035 */
35945 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*/;
35946 if (UNTAG_Bool(REGB0)) {
35947 } else {
35948 nit_abort("Assert failed", NULL, LOCATE_parser, 13035);
35949 }
35950 /* parser/parser.nit:13036 */
35951 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);
35952 /* parser/parser.nit:13047 */
35953 fra.me.REG[2] = fra.me.REG[3];
35954 /* parser/parser.nit:13048 */
35955 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35956 if (UNTAG_Bool(REGB0)) {
35957 } else {
35958 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13048);
35959 }
35960 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35961 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35962 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35963 stack_frame_head = fra.me.prev;
35964 return;
35965 }
35966 static const char LOCATE_parser___ReduceAction279___action[] = "parser::ReduceAction279::(parser::ReduceAction::action)";
35967 void parser___ReduceAction279___action(val_t p0, val_t p1){
35968 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
35969 val_t REGB0;
35970 val_t tmp;
35971 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35972 fra.me.file = LOCATE_parser;
35973 fra.me.line = 13053;
35974 fra.me.meth = LOCATE_parser___ReduceAction279___action;
35975 fra.me.has_broke = 0;
35976 fra.me.REG_size = 9;
35977 fra.me.nitni_local_ref_head = NULL;
35978 fra.me.REG[0] = NIT_NULL;
35979 fra.me.REG[1] = NIT_NULL;
35980 fra.me.REG[2] = NIT_NULL;
35981 fra.me.REG[3] = NIT_NULL;
35982 fra.me.REG[4] = NIT_NULL;
35983 fra.me.REG[5] = NIT_NULL;
35984 fra.me.REG[6] = NIT_NULL;
35985 fra.me.REG[7] = NIT_NULL;
35986 fra.me.REG[8] = NIT_NULL;
35987 fra.me.REG[0] = p0;
35988 fra.me.REG[1] = p1;
35989 /* parser/parser.nit:13055 */
35990 fra.me.REG[2] = NIT_NULL;
35991 /* parser/parser.nit:13056 */
35992 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35993 /* parser/parser.nit:13057 */
35994 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35995 /* parser/parser.nit:13058 */
35996 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35997 /* parser/parser.nit:13059 */
35998 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35999 /* parser/parser.nit:13060 */
36000 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36001 /* parser/parser.nit:13061 */
36002 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36003 /* parser/parser.nit:13062 */
36004 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36005 /* parser/parser.nit:13063 */
36006 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36007 /* parser/parser.nit:13065 */
36008 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*/;
36009 if (UNTAG_Bool(REGB0)) {
36010 } else {
36011 nit_abort("Assert failed", NULL, LOCATE_parser, 13065);
36012 }
36013 /* parser/parser.nit:13067 */
36014 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*/;
36015 if (UNTAG_Bool(REGB0)) {
36016 } else {
36017 nit_abort("Assert failed", NULL, LOCATE_parser, 13067);
36018 }
36019 /* parser/parser.nit:13069 */
36020 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*/;
36021 if (UNTAG_Bool(REGB0)) {
36022 } else {
36023 nit_abort("Assert failed", NULL, LOCATE_parser, 13069);
36024 }
36025 /* parser/parser.nit:13071 */
36026 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*/;
36027 if (UNTAG_Bool(REGB0)) {
36028 } else {
36029 nit_abort("Assert failed", NULL, LOCATE_parser, 13071);
36030 }
36031 /* parser/parser.nit:13073 */
36032 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*/;
36033 if (UNTAG_Bool(REGB0)) {
36034 } else {
36035 nit_abort("Assert failed", NULL, LOCATE_parser, 13073);
36036 }
36037 /* parser/parser.nit:13075 */
36038 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*/;
36039 if (UNTAG_Bool(REGB0)) {
36040 } else {
36041 nit_abort("Assert failed", NULL, LOCATE_parser, 13075);
36042 }
36043 /* parser/parser.nit:13076 */
36044 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);
36045 /* parser/parser.nit:13087 */
36046 fra.me.REG[2] = fra.me.REG[3];
36047 /* parser/parser.nit:13088 */
36048 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36049 if (UNTAG_Bool(REGB0)) {
36050 } else {
36051 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13088);
36052 }
36053 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36054 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36055 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36056 stack_frame_head = fra.me.prev;
36057 return;
36058 }
36059 static const char LOCATE_parser___ReduceAction280___action[] = "parser::ReduceAction280::(parser::ReduceAction::action)";
36060 void parser___ReduceAction280___action(val_t p0, val_t p1){
36061 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
36062 val_t REGB0;
36063 val_t tmp;
36064 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36065 fra.me.file = LOCATE_parser;
36066 fra.me.line = 13093;
36067 fra.me.meth = LOCATE_parser___ReduceAction280___action;
36068 fra.me.has_broke = 0;
36069 fra.me.REG_size = 10;
36070 fra.me.nitni_local_ref_head = NULL;
36071 fra.me.REG[0] = NIT_NULL;
36072 fra.me.REG[1] = NIT_NULL;
36073 fra.me.REG[2] = NIT_NULL;
36074 fra.me.REG[3] = NIT_NULL;
36075 fra.me.REG[4] = NIT_NULL;
36076 fra.me.REG[5] = NIT_NULL;
36077 fra.me.REG[6] = NIT_NULL;
36078 fra.me.REG[7] = NIT_NULL;
36079 fra.me.REG[8] = NIT_NULL;
36080 fra.me.REG[9] = NIT_NULL;
36081 fra.me.REG[0] = p0;
36082 fra.me.REG[1] = p1;
36083 /* parser/parser.nit:13095 */
36084 fra.me.REG[2] = NIT_NULL;
36085 /* parser/parser.nit:13096 */
36086 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36087 /* parser/parser.nit:13097 */
36088 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36089 /* parser/parser.nit:13098 */
36090 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36091 /* parser/parser.nit:13099 */
36092 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36093 /* parser/parser.nit:13100 */
36094 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36095 /* parser/parser.nit:13101 */
36096 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36097 /* parser/parser.nit:13102 */
36098 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36099 /* parser/parser.nit:13103 */
36100 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36101 /* parser/parser.nit:13104 */
36102 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36103 /* parser/parser.nit:13106 */
36104 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*/;
36105 if (UNTAG_Bool(REGB0)) {
36106 } else {
36107 nit_abort("Assert failed", NULL, LOCATE_parser, 13106);
36108 }
36109 /* parser/parser.nit:13108 */
36110 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*/;
36111 if (UNTAG_Bool(REGB0)) {
36112 } else {
36113 nit_abort("Assert failed", NULL, LOCATE_parser, 13108);
36114 }
36115 /* parser/parser.nit:13110 */
36116 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*/;
36117 if (UNTAG_Bool(REGB0)) {
36118 } else {
36119 nit_abort("Assert failed", NULL, LOCATE_parser, 13110);
36120 }
36121 /* parser/parser.nit:13112 */
36122 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*/;
36123 if (UNTAG_Bool(REGB0)) {
36124 } else {
36125 nit_abort("Assert failed", NULL, LOCATE_parser, 13112);
36126 }
36127 /* parser/parser.nit:13114 */
36128 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*/;
36129 if (UNTAG_Bool(REGB0)) {
36130 } else {
36131 nit_abort("Assert failed", NULL, LOCATE_parser, 13114);
36132 }
36133 /* parser/parser.nit:13116 */
36134 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*/;
36135 if (UNTAG_Bool(REGB0)) {
36136 } else {
36137 nit_abort("Assert failed", NULL, LOCATE_parser, 13116);
36138 }
36139 /* parser/parser.nit:13118 */
36140 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*/;
36141 if (UNTAG_Bool(REGB0)) {
36142 } else {
36143 nit_abort("Assert failed", NULL, LOCATE_parser, 13118);
36144 }
36145 /* parser/parser.nit:13119 */
36146 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);
36147 /* parser/parser.nit:13130 */
36148 fra.me.REG[2] = fra.me.REG[3];
36149 /* parser/parser.nit:13131 */
36150 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36151 if (UNTAG_Bool(REGB0)) {
36152 } else {
36153 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13131);
36154 }
36155 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36156 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36157 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36158 stack_frame_head = fra.me.prev;
36159 return;
36160 }
36161 static const char LOCATE_parser___ReduceAction281___action[] = "parser::ReduceAction281::(parser::ReduceAction::action)";
36162 void parser___ReduceAction281___action(val_t p0, val_t p1){
36163 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
36164 val_t REGB0;
36165 val_t tmp;
36166 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36167 fra.me.file = LOCATE_parser;
36168 fra.me.line = 13136;
36169 fra.me.meth = LOCATE_parser___ReduceAction281___action;
36170 fra.me.has_broke = 0;
36171 fra.me.REG_size = 8;
36172 fra.me.nitni_local_ref_head = NULL;
36173 fra.me.REG[0] = NIT_NULL;
36174 fra.me.REG[1] = NIT_NULL;
36175 fra.me.REG[2] = NIT_NULL;
36176 fra.me.REG[3] = NIT_NULL;
36177 fra.me.REG[4] = NIT_NULL;
36178 fra.me.REG[5] = NIT_NULL;
36179 fra.me.REG[6] = NIT_NULL;
36180 fra.me.REG[7] = NIT_NULL;
36181 fra.me.REG[0] = p0;
36182 fra.me.REG[1] = p1;
36183 /* parser/parser.nit:13138 */
36184 fra.me.REG[2] = NIT_NULL;
36185 /* parser/parser.nit:13139 */
36186 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36187 /* parser/parser.nit:13140 */
36188 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36189 /* parser/parser.nit:13141 */
36190 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36191 /* parser/parser.nit:13142 */
36192 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36193 /* parser/parser.nit:13143 */
36194 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36195 /* parser/parser.nit:13144 */
36196 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36197 /* parser/parser.nit:13145 */
36198 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36199 /* parser/parser.nit:13147 */
36200 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*/;
36201 if (UNTAG_Bool(REGB0)) {
36202 } else {
36203 nit_abort("Assert failed", NULL, LOCATE_parser, 13147);
36204 }
36205 /* parser/parser.nit:13149 */
36206 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*/;
36207 if (UNTAG_Bool(REGB0)) {
36208 } else {
36209 nit_abort("Assert failed", NULL, LOCATE_parser, 13149);
36210 }
36211 /* parser/parser.nit:13151 */
36212 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*/;
36213 if (UNTAG_Bool(REGB0)) {
36214 } else {
36215 nit_abort("Assert failed", NULL, LOCATE_parser, 13151);
36216 }
36217 /* parser/parser.nit:13153 */
36218 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*/;
36219 if (UNTAG_Bool(REGB0)) {
36220 } else {
36221 nit_abort("Assert failed", NULL, LOCATE_parser, 13153);
36222 }
36223 /* parser/parser.nit:13155 */
36224 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*/;
36225 if (UNTAG_Bool(REGB0)) {
36226 } else {
36227 nit_abort("Assert failed", NULL, LOCATE_parser, 13155);
36228 }
36229 /* parser/parser.nit:13156 */
36230 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);
36231 /* parser/parser.nit:13167 */
36232 fra.me.REG[2] = fra.me.REG[3];
36233 /* parser/parser.nit:13168 */
36234 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36235 if (UNTAG_Bool(REGB0)) {
36236 } else {
36237 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13168);
36238 }
36239 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36240 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36241 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36242 stack_frame_head = fra.me.prev;
36243 return;
36244 }
36245 static const char LOCATE_parser___ReduceAction282___action[] = "parser::ReduceAction282::(parser::ReduceAction::action)";
36246 void parser___ReduceAction282___action(val_t p0, val_t p1){
36247 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
36248 val_t REGB0;
36249 val_t tmp;
36250 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36251 fra.me.file = LOCATE_parser;
36252 fra.me.line = 13173;
36253 fra.me.meth = LOCATE_parser___ReduceAction282___action;
36254 fra.me.has_broke = 0;
36255 fra.me.REG_size = 9;
36256 fra.me.nitni_local_ref_head = NULL;
36257 fra.me.REG[0] = NIT_NULL;
36258 fra.me.REG[1] = NIT_NULL;
36259 fra.me.REG[2] = NIT_NULL;
36260 fra.me.REG[3] = NIT_NULL;
36261 fra.me.REG[4] = NIT_NULL;
36262 fra.me.REG[5] = NIT_NULL;
36263 fra.me.REG[6] = NIT_NULL;
36264 fra.me.REG[7] = NIT_NULL;
36265 fra.me.REG[8] = NIT_NULL;
36266 fra.me.REG[0] = p0;
36267 fra.me.REG[1] = p1;
36268 /* parser/parser.nit:13175 */
36269 fra.me.REG[2] = NIT_NULL;
36270 /* parser/parser.nit:13176 */
36271 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36272 /* parser/parser.nit:13177 */
36273 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36274 /* parser/parser.nit:13178 */
36275 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36276 /* parser/parser.nit:13179 */
36277 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36278 /* parser/parser.nit:13180 */
36279 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36280 /* parser/parser.nit:13181 */
36281 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36282 /* parser/parser.nit:13182 */
36283 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36284 /* parser/parser.nit:13183 */
36285 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36286 /* parser/parser.nit:13185 */
36287 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*/;
36288 if (UNTAG_Bool(REGB0)) {
36289 } else {
36290 nit_abort("Assert failed", NULL, LOCATE_parser, 13185);
36291 }
36292 /* parser/parser.nit:13187 */
36293 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*/;
36294 if (UNTAG_Bool(REGB0)) {
36295 } else {
36296 nit_abort("Assert failed", NULL, LOCATE_parser, 13187);
36297 }
36298 /* parser/parser.nit:13189 */
36299 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*/;
36300 if (UNTAG_Bool(REGB0)) {
36301 } else {
36302 nit_abort("Assert failed", NULL, LOCATE_parser, 13189);
36303 }
36304 /* parser/parser.nit:13191 */
36305 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*/;
36306 if (UNTAG_Bool(REGB0)) {
36307 } else {
36308 nit_abort("Assert failed", NULL, LOCATE_parser, 13191);
36309 }
36310 /* parser/parser.nit:13193 */
36311 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*/;
36312 if (UNTAG_Bool(REGB0)) {
36313 } else {
36314 nit_abort("Assert failed", NULL, LOCATE_parser, 13193);
36315 }
36316 /* parser/parser.nit:13195 */
36317 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*/;
36318 if (UNTAG_Bool(REGB0)) {
36319 } else {
36320 nit_abort("Assert failed", NULL, LOCATE_parser, 13195);
36321 }
36322 /* parser/parser.nit:13196 */
36323 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);
36324 /* parser/parser.nit:13207 */
36325 fra.me.REG[2] = fra.me.REG[3];
36326 /* parser/parser.nit:13208 */
36327 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36328 if (UNTAG_Bool(REGB0)) {
36329 } else {
36330 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13208);
36331 }
36332 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36333 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36334 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36335 stack_frame_head = fra.me.prev;
36336 return;
36337 }
36338 static const char LOCATE_parser___ReduceAction283___action[] = "parser::ReduceAction283::(parser::ReduceAction::action)";
36339 void parser___ReduceAction283___action(val_t p0, val_t p1){
36340 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
36341 val_t REGB0;
36342 val_t tmp;
36343 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36344 fra.me.file = LOCATE_parser;
36345 fra.me.line = 13213;
36346 fra.me.meth = LOCATE_parser___ReduceAction283___action;
36347 fra.me.has_broke = 0;
36348 fra.me.REG_size = 9;
36349 fra.me.nitni_local_ref_head = NULL;
36350 fra.me.REG[0] = NIT_NULL;
36351 fra.me.REG[1] = NIT_NULL;
36352 fra.me.REG[2] = NIT_NULL;
36353 fra.me.REG[3] = NIT_NULL;
36354 fra.me.REG[4] = NIT_NULL;
36355 fra.me.REG[5] = NIT_NULL;
36356 fra.me.REG[6] = NIT_NULL;
36357 fra.me.REG[7] = NIT_NULL;
36358 fra.me.REG[8] = NIT_NULL;
36359 fra.me.REG[0] = p0;
36360 fra.me.REG[1] = p1;
36361 /* parser/parser.nit:13215 */
36362 fra.me.REG[2] = NIT_NULL;
36363 /* parser/parser.nit:13216 */
36364 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36365 /* parser/parser.nit:13217 */
36366 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36367 /* parser/parser.nit:13218 */
36368 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36369 /* parser/parser.nit:13219 */
36370 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36371 /* parser/parser.nit:13220 */
36372 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36373 /* parser/parser.nit:13221 */
36374 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36375 /* parser/parser.nit:13222 */
36376 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36377 /* parser/parser.nit:13223 */
36378 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36379 /* parser/parser.nit:13225 */
36380 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*/;
36381 if (UNTAG_Bool(REGB0)) {
36382 } else {
36383 nit_abort("Assert failed", NULL, LOCATE_parser, 13225);
36384 }
36385 /* parser/parser.nit:13227 */
36386 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*/;
36387 if (UNTAG_Bool(REGB0)) {
36388 } else {
36389 nit_abort("Assert failed", NULL, LOCATE_parser, 13227);
36390 }
36391 /* parser/parser.nit:13229 */
36392 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*/;
36393 if (UNTAG_Bool(REGB0)) {
36394 } else {
36395 nit_abort("Assert failed", NULL, LOCATE_parser, 13229);
36396 }
36397 /* parser/parser.nit:13231 */
36398 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*/;
36399 if (UNTAG_Bool(REGB0)) {
36400 } else {
36401 nit_abort("Assert failed", NULL, LOCATE_parser, 13231);
36402 }
36403 /* parser/parser.nit:13233 */
36404 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*/;
36405 if (UNTAG_Bool(REGB0)) {
36406 } else {
36407 nit_abort("Assert failed", NULL, LOCATE_parser, 13233);
36408 }
36409 /* parser/parser.nit:13235 */
36410 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*/;
36411 if (UNTAG_Bool(REGB0)) {
36412 } else {
36413 nit_abort("Assert failed", NULL, LOCATE_parser, 13235);
36414 }
36415 /* parser/parser.nit:13236 */
36416 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);
36417 /* parser/parser.nit:13247 */
36418 fra.me.REG[2] = fra.me.REG[3];
36419 /* parser/parser.nit:13248 */
36420 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36421 if (UNTAG_Bool(REGB0)) {
36422 } else {
36423 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13248);
36424 }
36425 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36426 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36427 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36428 stack_frame_head = fra.me.prev;
36429 return;
36430 }
36431 static const char LOCATE_parser___ReduceAction284___action[] = "parser::ReduceAction284::(parser::ReduceAction::action)";
36432 void parser___ReduceAction284___action(val_t p0, val_t p1){
36433 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
36434 val_t REGB0;
36435 val_t tmp;
36436 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36437 fra.me.file = LOCATE_parser;
36438 fra.me.line = 13253;
36439 fra.me.meth = LOCATE_parser___ReduceAction284___action;
36440 fra.me.has_broke = 0;
36441 fra.me.REG_size = 10;
36442 fra.me.nitni_local_ref_head = NULL;
36443 fra.me.REG[0] = NIT_NULL;
36444 fra.me.REG[1] = NIT_NULL;
36445 fra.me.REG[2] = NIT_NULL;
36446 fra.me.REG[3] = NIT_NULL;
36447 fra.me.REG[4] = NIT_NULL;
36448 fra.me.REG[5] = NIT_NULL;
36449 fra.me.REG[6] = NIT_NULL;
36450 fra.me.REG[7] = NIT_NULL;
36451 fra.me.REG[8] = NIT_NULL;
36452 fra.me.REG[9] = NIT_NULL;
36453 fra.me.REG[0] = p0;
36454 fra.me.REG[1] = p1;
36455 /* parser/parser.nit:13255 */
36456 fra.me.REG[2] = NIT_NULL;
36457 /* parser/parser.nit:13256 */
36458 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36459 /* parser/parser.nit:13257 */
36460 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36461 /* parser/parser.nit:13258 */
36462 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36463 /* parser/parser.nit:13259 */
36464 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36465 /* parser/parser.nit:13260 */
36466 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36467 /* parser/parser.nit:13261 */
36468 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36469 /* parser/parser.nit:13262 */
36470 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36471 /* parser/parser.nit:13263 */
36472 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36473 /* parser/parser.nit:13264 */
36474 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36475 /* parser/parser.nit:13266 */
36476 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*/;
36477 if (UNTAG_Bool(REGB0)) {
36478 } else {
36479 nit_abort("Assert failed", NULL, LOCATE_parser, 13266);
36480 }
36481 /* parser/parser.nit:13268 */
36482 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*/;
36483 if (UNTAG_Bool(REGB0)) {
36484 } else {
36485 nit_abort("Assert failed", NULL, LOCATE_parser, 13268);
36486 }
36487 /* parser/parser.nit:13270 */
36488 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*/;
36489 if (UNTAG_Bool(REGB0)) {
36490 } else {
36491 nit_abort("Assert failed", NULL, LOCATE_parser, 13270);
36492 }
36493 /* parser/parser.nit:13272 */
36494 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*/;
36495 if (UNTAG_Bool(REGB0)) {
36496 } else {
36497 nit_abort("Assert failed", NULL, LOCATE_parser, 13272);
36498 }
36499 /* parser/parser.nit:13274 */
36500 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*/;
36501 if (UNTAG_Bool(REGB0)) {
36502 } else {
36503 nit_abort("Assert failed", NULL, LOCATE_parser, 13274);
36504 }
36505 /* parser/parser.nit:13276 */
36506 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*/;
36507 if (UNTAG_Bool(REGB0)) {
36508 } else {
36509 nit_abort("Assert failed", NULL, LOCATE_parser, 13276);
36510 }
36511 /* parser/parser.nit:13278 */
36512 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*/;
36513 if (UNTAG_Bool(REGB0)) {
36514 } else {
36515 nit_abort("Assert failed", NULL, LOCATE_parser, 13278);
36516 }
36517 /* parser/parser.nit:13279 */
36518 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);
36519 /* parser/parser.nit:13290 */
36520 fra.me.REG[2] = fra.me.REG[3];
36521 /* parser/parser.nit:13291 */
36522 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36523 if (UNTAG_Bool(REGB0)) {
36524 } else {
36525 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13291);
36526 }
36527 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36528 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36529 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36530 stack_frame_head = fra.me.prev;
36531 return;
36532 }
36533 static const char LOCATE_parser___ReduceAction285___action[] = "parser::ReduceAction285::(parser::ReduceAction::action)";
36534 void parser___ReduceAction285___action(val_t p0, val_t p1){
36535 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
36536 val_t REGB0;
36537 val_t tmp;
36538 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36539 fra.me.file = LOCATE_parser;
36540 fra.me.line = 13296;
36541 fra.me.meth = LOCATE_parser___ReduceAction285___action;
36542 fra.me.has_broke = 0;
36543 fra.me.REG_size = 9;
36544 fra.me.nitni_local_ref_head = NULL;
36545 fra.me.REG[0] = NIT_NULL;
36546 fra.me.REG[1] = NIT_NULL;
36547 fra.me.REG[2] = NIT_NULL;
36548 fra.me.REG[3] = NIT_NULL;
36549 fra.me.REG[4] = NIT_NULL;
36550 fra.me.REG[5] = NIT_NULL;
36551 fra.me.REG[6] = NIT_NULL;
36552 fra.me.REG[7] = NIT_NULL;
36553 fra.me.REG[8] = NIT_NULL;
36554 fra.me.REG[0] = p0;
36555 fra.me.REG[1] = p1;
36556 /* parser/parser.nit:13298 */
36557 fra.me.REG[2] = NIT_NULL;
36558 /* parser/parser.nit:13299 */
36559 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36560 /* parser/parser.nit:13300 */
36561 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36562 /* parser/parser.nit:13301 */
36563 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36564 /* parser/parser.nit:13302 */
36565 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36566 /* parser/parser.nit:13303 */
36567 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36568 /* parser/parser.nit:13304 */
36569 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36570 /* parser/parser.nit:13305 */
36571 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36572 /* parser/parser.nit:13306 */
36573 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36574 /* parser/parser.nit:13308 */
36575 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*/;
36576 if (UNTAG_Bool(REGB0)) {
36577 } else {
36578 nit_abort("Assert failed", NULL, LOCATE_parser, 13308);
36579 }
36580 /* parser/parser.nit:13310 */
36581 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*/;
36582 if (UNTAG_Bool(REGB0)) {
36583 } else {
36584 nit_abort("Assert failed", NULL, LOCATE_parser, 13310);
36585 }
36586 /* parser/parser.nit:13312 */
36587 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*/;
36588 if (UNTAG_Bool(REGB0)) {
36589 } else {
36590 nit_abort("Assert failed", NULL, LOCATE_parser, 13312);
36591 }
36592 /* parser/parser.nit:13314 */
36593 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*/;
36594 if (UNTAG_Bool(REGB0)) {
36595 } else {
36596 nit_abort("Assert failed", NULL, LOCATE_parser, 13314);
36597 }
36598 /* parser/parser.nit:13316 */
36599 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*/;
36600 if (UNTAG_Bool(REGB0)) {
36601 } else {
36602 nit_abort("Assert failed", NULL, LOCATE_parser, 13316);
36603 }
36604 /* parser/parser.nit:13318 */
36605 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*/;
36606 if (UNTAG_Bool(REGB0)) {
36607 } else {
36608 nit_abort("Assert failed", NULL, LOCATE_parser, 13318);
36609 }
36610 /* parser/parser.nit:13319 */
36611 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);
36612 /* parser/parser.nit:13330 */
36613 fra.me.REG[2] = fra.me.REG[3];
36614 /* parser/parser.nit:13331 */
36615 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36616 if (UNTAG_Bool(REGB0)) {
36617 } else {
36618 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13331);
36619 }
36620 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36621 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36622 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36623 stack_frame_head = fra.me.prev;
36624 return;
36625 }
36626 static const char LOCATE_parser___ReduceAction286___action[] = "parser::ReduceAction286::(parser::ReduceAction::action)";
36627 void parser___ReduceAction286___action(val_t p0, val_t p1){
36628 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
36629 val_t REGB0;
36630 val_t tmp;
36631 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36632 fra.me.file = LOCATE_parser;
36633 fra.me.line = 13336;
36634 fra.me.meth = LOCATE_parser___ReduceAction286___action;
36635 fra.me.has_broke = 0;
36636 fra.me.REG_size = 10;
36637 fra.me.nitni_local_ref_head = NULL;
36638 fra.me.REG[0] = NIT_NULL;
36639 fra.me.REG[1] = NIT_NULL;
36640 fra.me.REG[2] = NIT_NULL;
36641 fra.me.REG[3] = NIT_NULL;
36642 fra.me.REG[4] = NIT_NULL;
36643 fra.me.REG[5] = NIT_NULL;
36644 fra.me.REG[6] = NIT_NULL;
36645 fra.me.REG[7] = NIT_NULL;
36646 fra.me.REG[8] = NIT_NULL;
36647 fra.me.REG[9] = NIT_NULL;
36648 fra.me.REG[0] = p0;
36649 fra.me.REG[1] = p1;
36650 /* parser/parser.nit:13338 */
36651 fra.me.REG[2] = NIT_NULL;
36652 /* parser/parser.nit:13339 */
36653 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36654 /* parser/parser.nit:13340 */
36655 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36656 /* parser/parser.nit:13341 */
36657 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36658 /* parser/parser.nit:13342 */
36659 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36660 /* parser/parser.nit:13343 */
36661 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36662 /* parser/parser.nit:13344 */
36663 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36664 /* parser/parser.nit:13345 */
36665 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36666 /* parser/parser.nit:13346 */
36667 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36668 /* parser/parser.nit:13347 */
36669 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36670 /* parser/parser.nit:13349 */
36671 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*/;
36672 if (UNTAG_Bool(REGB0)) {
36673 } else {
36674 nit_abort("Assert failed", NULL, LOCATE_parser, 13349);
36675 }
36676 /* parser/parser.nit:13351 */
36677 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*/;
36678 if (UNTAG_Bool(REGB0)) {
36679 } else {
36680 nit_abort("Assert failed", NULL, LOCATE_parser, 13351);
36681 }
36682 /* parser/parser.nit:13353 */
36683 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*/;
36684 if (UNTAG_Bool(REGB0)) {
36685 } else {
36686 nit_abort("Assert failed", NULL, LOCATE_parser, 13353);
36687 }
36688 /* parser/parser.nit:13355 */
36689 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*/;
36690 if (UNTAG_Bool(REGB0)) {
36691 } else {
36692 nit_abort("Assert failed", NULL, LOCATE_parser, 13355);
36693 }
36694 /* parser/parser.nit:13357 */
36695 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*/;
36696 if (UNTAG_Bool(REGB0)) {
36697 } else {
36698 nit_abort("Assert failed", NULL, LOCATE_parser, 13357);
36699 }
36700 /* parser/parser.nit:13359 */
36701 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*/;
36702 if (UNTAG_Bool(REGB0)) {
36703 } else {
36704 nit_abort("Assert failed", NULL, LOCATE_parser, 13359);
36705 }
36706 /* parser/parser.nit:13361 */
36707 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*/;
36708 if (UNTAG_Bool(REGB0)) {
36709 } else {
36710 nit_abort("Assert failed", NULL, LOCATE_parser, 13361);
36711 }
36712 /* parser/parser.nit:13362 */
36713 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);
36714 /* parser/parser.nit:13373 */
36715 fra.me.REG[2] = fra.me.REG[3];
36716 /* parser/parser.nit:13374 */
36717 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36718 if (UNTAG_Bool(REGB0)) {
36719 } else {
36720 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13374);
36721 }
36722 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36723 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36724 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36725 stack_frame_head = fra.me.prev;
36726 return;
36727 }
36728 static const char LOCATE_parser___ReduceAction287___action[] = "parser::ReduceAction287::(parser::ReduceAction::action)";
36729 void parser___ReduceAction287___action(val_t p0, val_t p1){
36730 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
36731 val_t REGB0;
36732 val_t tmp;
36733 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36734 fra.me.file = LOCATE_parser;
36735 fra.me.line = 13379;
36736 fra.me.meth = LOCATE_parser___ReduceAction287___action;
36737 fra.me.has_broke = 0;
36738 fra.me.REG_size = 10;
36739 fra.me.nitni_local_ref_head = NULL;
36740 fra.me.REG[0] = NIT_NULL;
36741 fra.me.REG[1] = NIT_NULL;
36742 fra.me.REG[2] = NIT_NULL;
36743 fra.me.REG[3] = NIT_NULL;
36744 fra.me.REG[4] = NIT_NULL;
36745 fra.me.REG[5] = NIT_NULL;
36746 fra.me.REG[6] = NIT_NULL;
36747 fra.me.REG[7] = NIT_NULL;
36748 fra.me.REG[8] = NIT_NULL;
36749 fra.me.REG[9] = NIT_NULL;
36750 fra.me.REG[0] = p0;
36751 fra.me.REG[1] = p1;
36752 /* parser/parser.nit:13381 */
36753 fra.me.REG[2] = NIT_NULL;
36754 /* parser/parser.nit:13382 */
36755 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36756 /* parser/parser.nit:13383 */
36757 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36758 /* parser/parser.nit:13384 */
36759 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36760 /* parser/parser.nit:13385 */
36761 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36762 /* parser/parser.nit:13386 */
36763 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36764 /* parser/parser.nit:13387 */
36765 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36766 /* parser/parser.nit:13388 */
36767 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36768 /* parser/parser.nit:13389 */
36769 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36770 /* parser/parser.nit:13390 */
36771 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36772 /* parser/parser.nit:13392 */
36773 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*/;
36774 if (UNTAG_Bool(REGB0)) {
36775 } else {
36776 nit_abort("Assert failed", NULL, LOCATE_parser, 13392);
36777 }
36778 /* parser/parser.nit:13394 */
36779 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*/;
36780 if (UNTAG_Bool(REGB0)) {
36781 } else {
36782 nit_abort("Assert failed", NULL, LOCATE_parser, 13394);
36783 }
36784 /* parser/parser.nit:13396 */
36785 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*/;
36786 if (UNTAG_Bool(REGB0)) {
36787 } else {
36788 nit_abort("Assert failed", NULL, LOCATE_parser, 13396);
36789 }
36790 /* parser/parser.nit:13398 */
36791 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*/;
36792 if (UNTAG_Bool(REGB0)) {
36793 } else {
36794 nit_abort("Assert failed", NULL, LOCATE_parser, 13398);
36795 }
36796 /* parser/parser.nit:13400 */
36797 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*/;
36798 if (UNTAG_Bool(REGB0)) {
36799 } else {
36800 nit_abort("Assert failed", NULL, LOCATE_parser, 13400);
36801 }
36802 /* parser/parser.nit:13402 */
36803 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*/;
36804 if (UNTAG_Bool(REGB0)) {
36805 } else {
36806 nit_abort("Assert failed", NULL, LOCATE_parser, 13402);
36807 }
36808 /* parser/parser.nit:13404 */
36809 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*/;
36810 if (UNTAG_Bool(REGB0)) {
36811 } else {
36812 nit_abort("Assert failed", NULL, LOCATE_parser, 13404);
36813 }
36814 /* parser/parser.nit:13405 */
36815 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);
36816 /* parser/parser.nit:13416 */
36817 fra.me.REG[2] = fra.me.REG[3];
36818 /* parser/parser.nit:13417 */
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, 13417);
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___ReduceAction288___action[] = "parser::ReduceAction288::(parser::ReduceAction::action)";
36831 void parser___ReduceAction288___action(val_t p0, val_t p1){
36832 struct {struct stack_frame_t me; val_t MORE_REG[10];} 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 = 13422;
36838 fra.me.meth = LOCATE_parser___ReduceAction288___action;
36839 fra.me.has_broke = 0;
36840 fra.me.REG_size = 11;
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[10] = NIT_NULL;
36853 fra.me.REG[0] = p0;
36854 fra.me.REG[1] = p1;
36855 /* parser/parser.nit:13424 */
36856 fra.me.REG[2] = NIT_NULL;
36857 /* parser/parser.nit:13425 */
36858 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36859 /* parser/parser.nit:13426 */
36860 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36861 /* parser/parser.nit:13427 */
36862 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36863 /* parser/parser.nit:13428 */
36864 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36865 /* parser/parser.nit:13429 */
36866 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36867 /* parser/parser.nit:13430 */
36868 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36869 /* parser/parser.nit:13431 */
36870 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36871 /* parser/parser.nit:13432 */
36872 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36873 /* parser/parser.nit:13433 */
36874 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36875 /* parser/parser.nit:13434 */
36876 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36877 /* parser/parser.nit:13436 */
36878 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*/;
36879 if (UNTAG_Bool(REGB0)) {
36880 } else {
36881 nit_abort("Assert failed", NULL, LOCATE_parser, 13436);
36882 }
36883 /* parser/parser.nit:13438 */
36884 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*/;
36885 if (UNTAG_Bool(REGB0)) {
36886 } else {
36887 nit_abort("Assert failed", NULL, LOCATE_parser, 13438);
36888 }
36889 /* parser/parser.nit:13440 */
36890 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*/;
36891 if (UNTAG_Bool(REGB0)) {
36892 } else {
36893 nit_abort("Assert failed", NULL, LOCATE_parser, 13440);
36894 }
36895 /* parser/parser.nit:13442 */
36896 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*/;
36897 if (UNTAG_Bool(REGB0)) {
36898 } else {
36899 nit_abort("Assert failed", NULL, LOCATE_parser, 13442);
36900 }
36901 /* parser/parser.nit:13444 */
36902 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*/;
36903 if (UNTAG_Bool(REGB0)) {
36904 } else {
36905 nit_abort("Assert failed", NULL, LOCATE_parser, 13444);
36906 }
36907 /* parser/parser.nit:13446 */
36908 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*/;
36909 if (UNTAG_Bool(REGB0)) {
36910 } else {
36911 nit_abort("Assert failed", NULL, LOCATE_parser, 13446);
36912 }
36913 /* parser/parser.nit:13448 */
36914 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*/;
36915 if (UNTAG_Bool(REGB0)) {
36916 } else {
36917 nit_abort("Assert failed", NULL, LOCATE_parser, 13448);
36918 }
36919 /* parser/parser.nit:13450 */
36920 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*/;
36921 if (UNTAG_Bool(REGB0)) {
36922 } else {
36923 nit_abort("Assert failed", NULL, LOCATE_parser, 13450);
36924 }
36925 /* parser/parser.nit:13451 */
36926 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);
36927 /* parser/parser.nit:13462 */
36928 fra.me.REG[2] = fra.me.REG[3];
36929 /* parser/parser.nit:13463 */
36930 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36931 if (UNTAG_Bool(REGB0)) {
36932 } else {
36933 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13463);
36934 }
36935 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36936 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36937 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36938 stack_frame_head = fra.me.prev;
36939 return;
36940 }
36941 static const char LOCATE_parser___ReduceAction289___action[] = "parser::ReduceAction289::(parser::ReduceAction::action)";
36942 void parser___ReduceAction289___action(val_t p0, val_t p1){
36943 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
36944 val_t REGB0;
36945 val_t tmp;
36946 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36947 fra.me.file = LOCATE_parser;
36948 fra.me.line = 13468;
36949 fra.me.meth = LOCATE_parser___ReduceAction289___action;
36950 fra.me.has_broke = 0;
36951 fra.me.REG_size = 8;
36952 fra.me.nitni_local_ref_head = NULL;
36953 fra.me.REG[0] = NIT_NULL;
36954 fra.me.REG[1] = NIT_NULL;
36955 fra.me.REG[2] = NIT_NULL;
36956 fra.me.REG[3] = NIT_NULL;
36957 fra.me.REG[4] = NIT_NULL;
36958 fra.me.REG[5] = NIT_NULL;
36959 fra.me.REG[6] = NIT_NULL;
36960 fra.me.REG[7] = NIT_NULL;
36961 fra.me.REG[0] = p0;
36962 fra.me.REG[1] = p1;
36963 /* parser/parser.nit:13470 */
36964 fra.me.REG[2] = NIT_NULL;
36965 /* parser/parser.nit:13471 */
36966 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36967 /* parser/parser.nit:13472 */
36968 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36969 /* parser/parser.nit:13473 */
36970 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36971 /* parser/parser.nit:13474 */
36972 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36973 /* parser/parser.nit:13475 */
36974 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36975 /* parser/parser.nit:13476 */
36976 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36977 /* parser/parser.nit:13477 */
36978 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36979 /* parser/parser.nit:13479 */
36980 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*/;
36981 if (UNTAG_Bool(REGB0)) {
36982 } else {
36983 nit_abort("Assert failed", NULL, LOCATE_parser, 13479);
36984 }
36985 /* parser/parser.nit:13481 */
36986 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*/;
36987 if (UNTAG_Bool(REGB0)) {
36988 } else {
36989 nit_abort("Assert failed", NULL, LOCATE_parser, 13481);
36990 }
36991 /* parser/parser.nit:13483 */
36992 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*/;
36993 if (UNTAG_Bool(REGB0)) {
36994 } else {
36995 nit_abort("Assert failed", NULL, LOCATE_parser, 13483);
36996 }
36997 /* parser/parser.nit:13485 */
36998 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*/;
36999 if (UNTAG_Bool(REGB0)) {
37000 } else {
37001 nit_abort("Assert failed", NULL, LOCATE_parser, 13485);
37002 }
37003 /* parser/parser.nit:13487 */
37004 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*/;
37005 if (UNTAG_Bool(REGB0)) {
37006 } else {
37007 nit_abort("Assert failed", NULL, LOCATE_parser, 13487);
37008 }
37009 /* parser/parser.nit:13488 */
37010 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]);
37011 /* parser/parser.nit:13499 */
37012 fra.me.REG[2] = fra.me.REG[3];
37013 /* parser/parser.nit:13500 */
37014 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37015 if (UNTAG_Bool(REGB0)) {
37016 } else {
37017 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13500);
37018 }
37019 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37020 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37021 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37022 stack_frame_head = fra.me.prev;
37023 return;
37024 }
37025 static const char LOCATE_parser___ReduceAction290___action[] = "parser::ReduceAction290::(parser::ReduceAction::action)";
37026 void parser___ReduceAction290___action(val_t p0, val_t p1){
37027 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
37028 val_t REGB0;
37029 val_t tmp;
37030 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37031 fra.me.file = LOCATE_parser;
37032 fra.me.line = 13505;
37033 fra.me.meth = LOCATE_parser___ReduceAction290___action;
37034 fra.me.has_broke = 0;
37035 fra.me.REG_size = 9;
37036 fra.me.nitni_local_ref_head = NULL;
37037 fra.me.REG[0] = NIT_NULL;
37038 fra.me.REG[1] = NIT_NULL;
37039 fra.me.REG[2] = NIT_NULL;
37040 fra.me.REG[3] = NIT_NULL;
37041 fra.me.REG[4] = NIT_NULL;
37042 fra.me.REG[5] = NIT_NULL;
37043 fra.me.REG[6] = NIT_NULL;
37044 fra.me.REG[7] = NIT_NULL;
37045 fra.me.REG[8] = NIT_NULL;
37046 fra.me.REG[0] = p0;
37047 fra.me.REG[1] = p1;
37048 /* parser/parser.nit:13507 */
37049 fra.me.REG[2] = NIT_NULL;
37050 /* parser/parser.nit:13508 */
37051 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37052 /* parser/parser.nit:13509 */
37053 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37054 /* parser/parser.nit:13510 */
37055 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37056 /* parser/parser.nit:13511 */
37057 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37058 /* parser/parser.nit:13512 */
37059 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37060 /* parser/parser.nit:13513 */
37061 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37062 /* parser/parser.nit:13514 */
37063 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37064 /* parser/parser.nit:13515 */
37065 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37066 /* parser/parser.nit:13517 */
37067 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*/;
37068 if (UNTAG_Bool(REGB0)) {
37069 } else {
37070 nit_abort("Assert failed", NULL, LOCATE_parser, 13517);
37071 }
37072 /* parser/parser.nit:13519 */
37073 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*/;
37074 if (UNTAG_Bool(REGB0)) {
37075 } else {
37076 nit_abort("Assert failed", NULL, LOCATE_parser, 13519);
37077 }
37078 /* parser/parser.nit:13521 */
37079 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*/;
37080 if (UNTAG_Bool(REGB0)) {
37081 } else {
37082 nit_abort("Assert failed", NULL, LOCATE_parser, 13521);
37083 }
37084 /* parser/parser.nit:13523 */
37085 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*/;
37086 if (UNTAG_Bool(REGB0)) {
37087 } else {
37088 nit_abort("Assert failed", NULL, LOCATE_parser, 13523);
37089 }
37090 /* parser/parser.nit:13525 */
37091 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*/;
37092 if (UNTAG_Bool(REGB0)) {
37093 } else {
37094 nit_abort("Assert failed", NULL, LOCATE_parser, 13525);
37095 }
37096 /* parser/parser.nit:13527 */
37097 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*/;
37098 if (UNTAG_Bool(REGB0)) {
37099 } else {
37100 nit_abort("Assert failed", NULL, LOCATE_parser, 13527);
37101 }
37102 /* parser/parser.nit:13528 */
37103 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]);
37104 /* parser/parser.nit:13539 */
37105 fra.me.REG[2] = fra.me.REG[3];
37106 /* parser/parser.nit:13540 */
37107 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37108 if (UNTAG_Bool(REGB0)) {
37109 } else {
37110 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13540);
37111 }
37112 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37113 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37114 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37115 stack_frame_head = fra.me.prev;
37116 return;
37117 }
37118 static const char LOCATE_parser___ReduceAction291___action[] = "parser::ReduceAction291::(parser::ReduceAction::action)";
37119 void parser___ReduceAction291___action(val_t p0, val_t p1){
37120 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
37121 val_t REGB0;
37122 val_t tmp;
37123 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37124 fra.me.file = LOCATE_parser;
37125 fra.me.line = 13545;
37126 fra.me.meth = LOCATE_parser___ReduceAction291___action;
37127 fra.me.has_broke = 0;
37128 fra.me.REG_size = 9;
37129 fra.me.nitni_local_ref_head = NULL;
37130 fra.me.REG[0] = NIT_NULL;
37131 fra.me.REG[1] = NIT_NULL;
37132 fra.me.REG[2] = NIT_NULL;
37133 fra.me.REG[3] = NIT_NULL;
37134 fra.me.REG[4] = NIT_NULL;
37135 fra.me.REG[5] = NIT_NULL;
37136 fra.me.REG[6] = NIT_NULL;
37137 fra.me.REG[7] = NIT_NULL;
37138 fra.me.REG[8] = NIT_NULL;
37139 fra.me.REG[0] = p0;
37140 fra.me.REG[1] = p1;
37141 /* parser/parser.nit:13547 */
37142 fra.me.REG[2] = NIT_NULL;
37143 /* parser/parser.nit:13548 */
37144 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37145 /* parser/parser.nit:13549 */
37146 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37147 /* parser/parser.nit:13550 */
37148 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37149 /* parser/parser.nit:13551 */
37150 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37151 /* parser/parser.nit:13552 */
37152 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37153 /* parser/parser.nit:13553 */
37154 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37155 /* parser/parser.nit:13554 */
37156 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37157 /* parser/parser.nit:13555 */
37158 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37159 /* parser/parser.nit:13557 */
37160 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*/;
37161 if (UNTAG_Bool(REGB0)) {
37162 } else {
37163 nit_abort("Assert failed", NULL, LOCATE_parser, 13557);
37164 }
37165 /* parser/parser.nit:13559 */
37166 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*/;
37167 if (UNTAG_Bool(REGB0)) {
37168 } else {
37169 nit_abort("Assert failed", NULL, LOCATE_parser, 13559);
37170 }
37171 /* parser/parser.nit:13561 */
37172 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*/;
37173 if (UNTAG_Bool(REGB0)) {
37174 } else {
37175 nit_abort("Assert failed", NULL, LOCATE_parser, 13561);
37176 }
37177 /* parser/parser.nit:13563 */
37178 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*/;
37179 if (UNTAG_Bool(REGB0)) {
37180 } else {
37181 nit_abort("Assert failed", NULL, LOCATE_parser, 13563);
37182 }
37183 /* parser/parser.nit:13565 */
37184 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*/;
37185 if (UNTAG_Bool(REGB0)) {
37186 } else {
37187 nit_abort("Assert failed", NULL, LOCATE_parser, 13565);
37188 }
37189 /* parser/parser.nit:13567 */
37190 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*/;
37191 if (UNTAG_Bool(REGB0)) {
37192 } else {
37193 nit_abort("Assert failed", NULL, LOCATE_parser, 13567);
37194 }
37195 /* parser/parser.nit:13568 */
37196 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]);
37197 /* parser/parser.nit:13579 */
37198 fra.me.REG[2] = fra.me.REG[3];
37199 /* parser/parser.nit:13580 */
37200 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37201 if (UNTAG_Bool(REGB0)) {
37202 } else {
37203 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13580);
37204 }
37205 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37206 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37207 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37208 stack_frame_head = fra.me.prev;
37209 return;
37210 }
37211 static const char LOCATE_parser___ReduceAction292___action[] = "parser::ReduceAction292::(parser::ReduceAction::action)";
37212 void parser___ReduceAction292___action(val_t p0, val_t p1){
37213 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
37214 val_t REGB0;
37215 val_t tmp;
37216 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37217 fra.me.file = LOCATE_parser;
37218 fra.me.line = 13585;
37219 fra.me.meth = LOCATE_parser___ReduceAction292___action;
37220 fra.me.has_broke = 0;
37221 fra.me.REG_size = 10;
37222 fra.me.nitni_local_ref_head = NULL;
37223 fra.me.REG[0] = NIT_NULL;
37224 fra.me.REG[1] = NIT_NULL;
37225 fra.me.REG[2] = NIT_NULL;
37226 fra.me.REG[3] = NIT_NULL;
37227 fra.me.REG[4] = NIT_NULL;
37228 fra.me.REG[5] = NIT_NULL;
37229 fra.me.REG[6] = NIT_NULL;
37230 fra.me.REG[7] = NIT_NULL;
37231 fra.me.REG[8] = NIT_NULL;
37232 fra.me.REG[9] = NIT_NULL;
37233 fra.me.REG[0] = p0;
37234 fra.me.REG[1] = p1;
37235 /* parser/parser.nit:13587 */
37236 fra.me.REG[2] = NIT_NULL;
37237 /* parser/parser.nit:13588 */
37238 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37239 /* parser/parser.nit:13589 */
37240 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37241 /* parser/parser.nit:13590 */
37242 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37243 /* parser/parser.nit:13591 */
37244 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37245 /* parser/parser.nit:13592 */
37246 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37247 /* parser/parser.nit:13593 */
37248 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37249 /* parser/parser.nit:13594 */
37250 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37251 /* parser/parser.nit:13595 */
37252 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37253 /* parser/parser.nit:13596 */
37254 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37255 /* parser/parser.nit:13598 */
37256 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*/;
37257 if (UNTAG_Bool(REGB0)) {
37258 } else {
37259 nit_abort("Assert failed", NULL, LOCATE_parser, 13598);
37260 }
37261 /* parser/parser.nit:13600 */
37262 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*/;
37263 if (UNTAG_Bool(REGB0)) {
37264 } else {
37265 nit_abort("Assert failed", NULL, LOCATE_parser, 13600);
37266 }
37267 /* parser/parser.nit:13602 */
37268 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*/;
37269 if (UNTAG_Bool(REGB0)) {
37270 } else {
37271 nit_abort("Assert failed", NULL, LOCATE_parser, 13602);
37272 }
37273 /* parser/parser.nit:13604 */
37274 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*/;
37275 if (UNTAG_Bool(REGB0)) {
37276 } else {
37277 nit_abort("Assert failed", NULL, LOCATE_parser, 13604);
37278 }
37279 /* parser/parser.nit:13606 */
37280 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*/;
37281 if (UNTAG_Bool(REGB0)) {
37282 } else {
37283 nit_abort("Assert failed", NULL, LOCATE_parser, 13606);
37284 }
37285 /* parser/parser.nit:13608 */
37286 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*/;
37287 if (UNTAG_Bool(REGB0)) {
37288 } else {
37289 nit_abort("Assert failed", NULL, LOCATE_parser, 13608);
37290 }
37291 /* parser/parser.nit:13610 */
37292 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*/;
37293 if (UNTAG_Bool(REGB0)) {
37294 } else {
37295 nit_abort("Assert failed", NULL, LOCATE_parser, 13610);
37296 }
37297 /* parser/parser.nit:13611 */
37298 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]);
37299 /* parser/parser.nit:13622 */
37300 fra.me.REG[2] = fra.me.REG[3];
37301 /* parser/parser.nit:13623 */
37302 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37303 if (UNTAG_Bool(REGB0)) {
37304 } else {
37305 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13623);
37306 }
37307 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37308 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37309 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37310 stack_frame_head = fra.me.prev;
37311 return;
37312 }
37313 static const char LOCATE_parser___ReduceAction293___action[] = "parser::ReduceAction293::(parser::ReduceAction::action)";
37314 void parser___ReduceAction293___action(val_t p0, val_t p1){
37315 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
37316 val_t REGB0;
37317 val_t tmp;
37318 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37319 fra.me.file = LOCATE_parser;
37320 fra.me.line = 13628;
37321 fra.me.meth = LOCATE_parser___ReduceAction293___action;
37322 fra.me.has_broke = 0;
37323 fra.me.REG_size = 9;
37324 fra.me.nitni_local_ref_head = NULL;
37325 fra.me.REG[0] = NIT_NULL;
37326 fra.me.REG[1] = NIT_NULL;
37327 fra.me.REG[2] = NIT_NULL;
37328 fra.me.REG[3] = NIT_NULL;
37329 fra.me.REG[4] = NIT_NULL;
37330 fra.me.REG[5] = NIT_NULL;
37331 fra.me.REG[6] = NIT_NULL;
37332 fra.me.REG[7] = NIT_NULL;
37333 fra.me.REG[8] = NIT_NULL;
37334 fra.me.REG[0] = p0;
37335 fra.me.REG[1] = p1;
37336 /* parser/parser.nit:13630 */
37337 fra.me.REG[2] = NIT_NULL;
37338 /* parser/parser.nit:13631 */
37339 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37340 /* parser/parser.nit:13632 */
37341 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37342 /* parser/parser.nit:13633 */
37343 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37344 /* parser/parser.nit:13634 */
37345 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37346 /* parser/parser.nit:13635 */
37347 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37348 /* parser/parser.nit:13636 */
37349 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37350 /* parser/parser.nit:13637 */
37351 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37352 /* parser/parser.nit:13638 */
37353 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37354 /* parser/parser.nit:13640 */
37355 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*/;
37356 if (UNTAG_Bool(REGB0)) {
37357 } else {
37358 nit_abort("Assert failed", NULL, LOCATE_parser, 13640);
37359 }
37360 /* parser/parser.nit:13642 */
37361 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*/;
37362 if (UNTAG_Bool(REGB0)) {
37363 } else {
37364 nit_abort("Assert failed", NULL, LOCATE_parser, 13642);
37365 }
37366 /* parser/parser.nit:13644 */
37367 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*/;
37368 if (UNTAG_Bool(REGB0)) {
37369 } else {
37370 nit_abort("Assert failed", NULL, LOCATE_parser, 13644);
37371 }
37372 /* parser/parser.nit:13646 */
37373 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*/;
37374 if (UNTAG_Bool(REGB0)) {
37375 } else {
37376 nit_abort("Assert failed", NULL, LOCATE_parser, 13646);
37377 }
37378 /* parser/parser.nit:13648 */
37379 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*/;
37380 if (UNTAG_Bool(REGB0)) {
37381 } else {
37382 nit_abort("Assert failed", NULL, LOCATE_parser, 13648);
37383 }
37384 /* parser/parser.nit:13650 */
37385 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*/;
37386 if (UNTAG_Bool(REGB0)) {
37387 } else {
37388 nit_abort("Assert failed", NULL, LOCATE_parser, 13650);
37389 }
37390 /* parser/parser.nit:13651 */
37391 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]);
37392 /* parser/parser.nit:13662 */
37393 fra.me.REG[2] = fra.me.REG[3];
37394 /* parser/parser.nit:13663 */
37395 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37396 if (UNTAG_Bool(REGB0)) {
37397 } else {
37398 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13663);
37399 }
37400 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37401 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37402 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37403 stack_frame_head = fra.me.prev;
37404 return;
37405 }
37406 static const char LOCATE_parser___ReduceAction294___action[] = "parser::ReduceAction294::(parser::ReduceAction::action)";
37407 void parser___ReduceAction294___action(val_t p0, val_t p1){
37408 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
37409 val_t REGB0;
37410 val_t tmp;
37411 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37412 fra.me.file = LOCATE_parser;
37413 fra.me.line = 13668;
37414 fra.me.meth = LOCATE_parser___ReduceAction294___action;
37415 fra.me.has_broke = 0;
37416 fra.me.REG_size = 10;
37417 fra.me.nitni_local_ref_head = NULL;
37418 fra.me.REG[0] = NIT_NULL;
37419 fra.me.REG[1] = NIT_NULL;
37420 fra.me.REG[2] = NIT_NULL;
37421 fra.me.REG[3] = NIT_NULL;
37422 fra.me.REG[4] = NIT_NULL;
37423 fra.me.REG[5] = NIT_NULL;
37424 fra.me.REG[6] = NIT_NULL;
37425 fra.me.REG[7] = NIT_NULL;
37426 fra.me.REG[8] = NIT_NULL;
37427 fra.me.REG[9] = NIT_NULL;
37428 fra.me.REG[0] = p0;
37429 fra.me.REG[1] = p1;
37430 /* parser/parser.nit:13670 */
37431 fra.me.REG[2] = NIT_NULL;
37432 /* parser/parser.nit:13671 */
37433 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37434 /* parser/parser.nit:13672 */
37435 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37436 /* parser/parser.nit:13673 */
37437 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37438 /* parser/parser.nit:13674 */
37439 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37440 /* parser/parser.nit:13675 */
37441 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37442 /* parser/parser.nit:13676 */
37443 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37444 /* parser/parser.nit:13677 */
37445 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37446 /* parser/parser.nit:13678 */
37447 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37448 /* parser/parser.nit:13679 */
37449 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37450 /* parser/parser.nit:13681 */
37451 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*/;
37452 if (UNTAG_Bool(REGB0)) {
37453 } else {
37454 nit_abort("Assert failed", NULL, LOCATE_parser, 13681);
37455 }
37456 /* parser/parser.nit:13683 */
37457 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*/;
37458 if (UNTAG_Bool(REGB0)) {
37459 } else {
37460 nit_abort("Assert failed", NULL, LOCATE_parser, 13683);
37461 }
37462 /* parser/parser.nit:13685 */
37463 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*/;
37464 if (UNTAG_Bool(REGB0)) {
37465 } else {
37466 nit_abort("Assert failed", NULL, LOCATE_parser, 13685);
37467 }
37468 /* parser/parser.nit:13687 */
37469 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*/;
37470 if (UNTAG_Bool(REGB0)) {
37471 } else {
37472 nit_abort("Assert failed", NULL, LOCATE_parser, 13687);
37473 }
37474 /* parser/parser.nit:13689 */
37475 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*/;
37476 if (UNTAG_Bool(REGB0)) {
37477 } else {
37478 nit_abort("Assert failed", NULL, LOCATE_parser, 13689);
37479 }
37480 /* parser/parser.nit:13691 */
37481 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*/;
37482 if (UNTAG_Bool(REGB0)) {
37483 } else {
37484 nit_abort("Assert failed", NULL, LOCATE_parser, 13691);
37485 }
37486 /* parser/parser.nit:13693 */
37487 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*/;
37488 if (UNTAG_Bool(REGB0)) {
37489 } else {
37490 nit_abort("Assert failed", NULL, LOCATE_parser, 13693);
37491 }
37492 /* parser/parser.nit:13694 */
37493 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]);
37494 /* parser/parser.nit:13705 */
37495 fra.me.REG[2] = fra.me.REG[3];
37496 /* parser/parser.nit:13706 */
37497 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37498 if (UNTAG_Bool(REGB0)) {
37499 } else {
37500 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13706);
37501 }
37502 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37503 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37504 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37505 stack_frame_head = fra.me.prev;
37506 return;
37507 }
37508 static const char LOCATE_parser___ReduceAction295___action[] = "parser::ReduceAction295::(parser::ReduceAction::action)";
37509 void parser___ReduceAction295___action(val_t p0, val_t p1){
37510 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
37511 val_t REGB0;
37512 val_t tmp;
37513 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37514 fra.me.file = LOCATE_parser;
37515 fra.me.line = 13711;
37516 fra.me.meth = LOCATE_parser___ReduceAction295___action;
37517 fra.me.has_broke = 0;
37518 fra.me.REG_size = 10;
37519 fra.me.nitni_local_ref_head = NULL;
37520 fra.me.REG[0] = NIT_NULL;
37521 fra.me.REG[1] = NIT_NULL;
37522 fra.me.REG[2] = NIT_NULL;
37523 fra.me.REG[3] = NIT_NULL;
37524 fra.me.REG[4] = NIT_NULL;
37525 fra.me.REG[5] = NIT_NULL;
37526 fra.me.REG[6] = NIT_NULL;
37527 fra.me.REG[7] = NIT_NULL;
37528 fra.me.REG[8] = NIT_NULL;
37529 fra.me.REG[9] = NIT_NULL;
37530 fra.me.REG[0] = p0;
37531 fra.me.REG[1] = p1;
37532 /* parser/parser.nit:13713 */
37533 fra.me.REG[2] = NIT_NULL;
37534 /* parser/parser.nit:13714 */
37535 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37536 /* parser/parser.nit:13715 */
37537 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37538 /* parser/parser.nit:13716 */
37539 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37540 /* parser/parser.nit:13717 */
37541 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37542 /* parser/parser.nit:13718 */
37543 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37544 /* parser/parser.nit:13719 */
37545 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37546 /* parser/parser.nit:13720 */
37547 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37548 /* parser/parser.nit:13721 */
37549 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37550 /* parser/parser.nit:13722 */
37551 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37552 /* parser/parser.nit:13724 */
37553 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*/;
37554 if (UNTAG_Bool(REGB0)) {
37555 } else {
37556 nit_abort("Assert failed", NULL, LOCATE_parser, 13724);
37557 }
37558 /* parser/parser.nit:13726 */
37559 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*/;
37560 if (UNTAG_Bool(REGB0)) {
37561 } else {
37562 nit_abort("Assert failed", NULL, LOCATE_parser, 13726);
37563 }
37564 /* parser/parser.nit:13728 */
37565 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*/;
37566 if (UNTAG_Bool(REGB0)) {
37567 } else {
37568 nit_abort("Assert failed", NULL, LOCATE_parser, 13728);
37569 }
37570 /* parser/parser.nit:13730 */
37571 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*/;
37572 if (UNTAG_Bool(REGB0)) {
37573 } else {
37574 nit_abort("Assert failed", NULL, LOCATE_parser, 13730);
37575 }
37576 /* parser/parser.nit:13732 */
37577 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*/;
37578 if (UNTAG_Bool(REGB0)) {
37579 } else {
37580 nit_abort("Assert failed", NULL, LOCATE_parser, 13732);
37581 }
37582 /* parser/parser.nit:13734 */
37583 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*/;
37584 if (UNTAG_Bool(REGB0)) {
37585 } else {
37586 nit_abort("Assert failed", NULL, LOCATE_parser, 13734);
37587 }
37588 /* parser/parser.nit:13736 */
37589 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*/;
37590 if (UNTAG_Bool(REGB0)) {
37591 } else {
37592 nit_abort("Assert failed", NULL, LOCATE_parser, 13736);
37593 }
37594 /* parser/parser.nit:13737 */
37595 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]);
37596 /* parser/parser.nit:13748 */
37597 fra.me.REG[2] = fra.me.REG[3];
37598 /* parser/parser.nit:13749 */
37599 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37600 if (UNTAG_Bool(REGB0)) {
37601 } else {
37602 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13749);
37603 }
37604 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37605 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37606 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37607 stack_frame_head = fra.me.prev;
37608 return;
37609 }
37610 static const char LOCATE_parser___ReduceAction296___action[] = "parser::ReduceAction296::(parser::ReduceAction::action)";
37611 void parser___ReduceAction296___action(val_t p0, val_t p1){
37612 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
37613 val_t REGB0;
37614 val_t tmp;
37615 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37616 fra.me.file = LOCATE_parser;
37617 fra.me.line = 13754;
37618 fra.me.meth = LOCATE_parser___ReduceAction296___action;
37619 fra.me.has_broke = 0;
37620 fra.me.REG_size = 11;
37621 fra.me.nitni_local_ref_head = NULL;
37622 fra.me.REG[0] = NIT_NULL;
37623 fra.me.REG[1] = NIT_NULL;
37624 fra.me.REG[2] = NIT_NULL;
37625 fra.me.REG[3] = NIT_NULL;
37626 fra.me.REG[4] = NIT_NULL;
37627 fra.me.REG[5] = NIT_NULL;
37628 fra.me.REG[6] = NIT_NULL;
37629 fra.me.REG[7] = NIT_NULL;
37630 fra.me.REG[8] = NIT_NULL;
37631 fra.me.REG[9] = NIT_NULL;
37632 fra.me.REG[10] = NIT_NULL;
37633 fra.me.REG[0] = p0;
37634 fra.me.REG[1] = p1;
37635 /* parser/parser.nit:13756 */
37636 fra.me.REG[2] = NIT_NULL;
37637 /* parser/parser.nit:13757 */
37638 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37639 /* parser/parser.nit:13758 */
37640 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37641 /* parser/parser.nit:13759 */
37642 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37643 /* parser/parser.nit:13760 */
37644 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37645 /* parser/parser.nit:13761 */
37646 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37647 /* parser/parser.nit:13762 */
37648 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37649 /* parser/parser.nit:13763 */
37650 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37651 /* parser/parser.nit:13764 */
37652 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37653 /* parser/parser.nit:13765 */
37654 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37655 /* parser/parser.nit:13766 */
37656 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37657 /* parser/parser.nit:13768 */
37658 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*/;
37659 if (UNTAG_Bool(REGB0)) {
37660 } else {
37661 nit_abort("Assert failed", NULL, LOCATE_parser, 13768);
37662 }
37663 /* parser/parser.nit:13770 */
37664 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*/;
37665 if (UNTAG_Bool(REGB0)) {
37666 } else {
37667 nit_abort("Assert failed", NULL, LOCATE_parser, 13770);
37668 }
37669 /* parser/parser.nit:13772 */
37670 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*/;
37671 if (UNTAG_Bool(REGB0)) {
37672 } else {
37673 nit_abort("Assert failed", NULL, LOCATE_parser, 13772);
37674 }
37675 /* parser/parser.nit:13774 */
37676 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*/;
37677 if (UNTAG_Bool(REGB0)) {
37678 } else {
37679 nit_abort("Assert failed", NULL, LOCATE_parser, 13774);
37680 }
37681 /* parser/parser.nit:13776 */
37682 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*/;
37683 if (UNTAG_Bool(REGB0)) {
37684 } else {
37685 nit_abort("Assert failed", NULL, LOCATE_parser, 13776);
37686 }
37687 /* parser/parser.nit:13778 */
37688 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*/;
37689 if (UNTAG_Bool(REGB0)) {
37690 } else {
37691 nit_abort("Assert failed", NULL, LOCATE_parser, 13778);
37692 }
37693 /* parser/parser.nit:13780 */
37694 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*/;
37695 if (UNTAG_Bool(REGB0)) {
37696 } else {
37697 nit_abort("Assert failed", NULL, LOCATE_parser, 13780);
37698 }
37699 /* parser/parser.nit:13782 */
37700 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*/;
37701 if (UNTAG_Bool(REGB0)) {
37702 } else {
37703 nit_abort("Assert failed", NULL, LOCATE_parser, 13782);
37704 }
37705 /* parser/parser.nit:13783 */
37706 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]);
37707 /* parser/parser.nit:13794 */
37708 fra.me.REG[2] = fra.me.REG[3];
37709 /* parser/parser.nit:13795 */
37710 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37711 if (UNTAG_Bool(REGB0)) {
37712 } else {
37713 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13795);
37714 }
37715 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37716 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37717 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37718 stack_frame_head = fra.me.prev;
37719 return;
37720 }
37721 static const char LOCATE_parser___ReduceAction297___action[] = "parser::ReduceAction297::(parser::ReduceAction::action)";
37722 void parser___ReduceAction297___action(val_t p0, val_t p1){
37723 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
37724 val_t REGB0;
37725 val_t tmp;
37726 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37727 fra.me.file = LOCATE_parser;
37728 fra.me.line = 13800;
37729 fra.me.meth = LOCATE_parser___ReduceAction297___action;
37730 fra.me.has_broke = 0;
37731 fra.me.REG_size = 9;
37732 fra.me.nitni_local_ref_head = NULL;
37733 fra.me.REG[0] = NIT_NULL;
37734 fra.me.REG[1] = NIT_NULL;
37735 fra.me.REG[2] = NIT_NULL;
37736 fra.me.REG[3] = NIT_NULL;
37737 fra.me.REG[4] = NIT_NULL;
37738 fra.me.REG[5] = NIT_NULL;
37739 fra.me.REG[6] = NIT_NULL;
37740 fra.me.REG[7] = NIT_NULL;
37741 fra.me.REG[8] = NIT_NULL;
37742 fra.me.REG[0] = p0;
37743 fra.me.REG[1] = p1;
37744 /* parser/parser.nit:13802 */
37745 fra.me.REG[2] = NIT_NULL;
37746 /* parser/parser.nit:13803 */
37747 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37748 /* parser/parser.nit:13804 */
37749 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37750 /* parser/parser.nit:13805 */
37751 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37752 /* parser/parser.nit:13806 */
37753 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37754 /* parser/parser.nit:13807 */
37755 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37756 /* parser/parser.nit:13808 */
37757 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37758 /* parser/parser.nit:13809 */
37759 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37760 /* parser/parser.nit:13810 */
37761 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37762 /* parser/parser.nit:13812 */
37763 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*/;
37764 if (UNTAG_Bool(REGB0)) {
37765 } else {
37766 nit_abort("Assert failed", NULL, LOCATE_parser, 13812);
37767 }
37768 /* parser/parser.nit:13814 */
37769 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*/;
37770 if (UNTAG_Bool(REGB0)) {
37771 } else {
37772 nit_abort("Assert failed", NULL, LOCATE_parser, 13814);
37773 }
37774 /* parser/parser.nit:13816 */
37775 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*/;
37776 if (UNTAG_Bool(REGB0)) {
37777 } else {
37778 nit_abort("Assert failed", NULL, LOCATE_parser, 13816);
37779 }
37780 /* parser/parser.nit:13818 */
37781 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*/;
37782 if (UNTAG_Bool(REGB0)) {
37783 } else {
37784 nit_abort("Assert failed", NULL, LOCATE_parser, 13818);
37785 }
37786 /* parser/parser.nit:13820 */
37787 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*/;
37788 if (UNTAG_Bool(REGB0)) {
37789 } else {
37790 nit_abort("Assert failed", NULL, LOCATE_parser, 13820);
37791 }
37792 /* parser/parser.nit:13822 */
37793 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*/;
37794 if (UNTAG_Bool(REGB0)) {
37795 } else {
37796 nit_abort("Assert failed", NULL, LOCATE_parser, 13822);
37797 }
37798 /* parser/parser.nit:13823 */
37799 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]);
37800 /* parser/parser.nit:13834 */
37801 fra.me.REG[2] = fra.me.REG[3];
37802 /* parser/parser.nit:13835 */
37803 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37804 if (UNTAG_Bool(REGB0)) {
37805 } else {
37806 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13835);
37807 }
37808 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37809 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37810 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37811 stack_frame_head = fra.me.prev;
37812 return;
37813 }
37814 static const char LOCATE_parser___ReduceAction298___action[] = "parser::ReduceAction298::(parser::ReduceAction::action)";
37815 void parser___ReduceAction298___action(val_t p0, val_t p1){
37816 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
37817 val_t REGB0;
37818 val_t tmp;
37819 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37820 fra.me.file = LOCATE_parser;
37821 fra.me.line = 13840;
37822 fra.me.meth = LOCATE_parser___ReduceAction298___action;
37823 fra.me.has_broke = 0;
37824 fra.me.REG_size = 10;
37825 fra.me.nitni_local_ref_head = NULL;
37826 fra.me.REG[0] = NIT_NULL;
37827 fra.me.REG[1] = NIT_NULL;
37828 fra.me.REG[2] = NIT_NULL;
37829 fra.me.REG[3] = NIT_NULL;
37830 fra.me.REG[4] = NIT_NULL;
37831 fra.me.REG[5] = NIT_NULL;
37832 fra.me.REG[6] = NIT_NULL;
37833 fra.me.REG[7] = NIT_NULL;
37834 fra.me.REG[8] = NIT_NULL;
37835 fra.me.REG[9] = NIT_NULL;
37836 fra.me.REG[0] = p0;
37837 fra.me.REG[1] = p1;
37838 /* parser/parser.nit:13842 */
37839 fra.me.REG[2] = NIT_NULL;
37840 /* parser/parser.nit:13843 */
37841 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37842 /* parser/parser.nit:13844 */
37843 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37844 /* parser/parser.nit:13845 */
37845 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37846 /* parser/parser.nit:13846 */
37847 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37848 /* parser/parser.nit:13847 */
37849 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37850 /* parser/parser.nit:13848 */
37851 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37852 /* parser/parser.nit:13849 */
37853 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37854 /* parser/parser.nit:13850 */
37855 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37856 /* parser/parser.nit:13851 */
37857 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37858 /* parser/parser.nit:13853 */
37859 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*/;
37860 if (UNTAG_Bool(REGB0)) {
37861 } else {
37862 nit_abort("Assert failed", NULL, LOCATE_parser, 13853);
37863 }
37864 /* parser/parser.nit:13855 */
37865 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*/;
37866 if (UNTAG_Bool(REGB0)) {
37867 } else {
37868 nit_abort("Assert failed", NULL, LOCATE_parser, 13855);
37869 }
37870 /* parser/parser.nit:13857 */
37871 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*/;
37872 if (UNTAG_Bool(REGB0)) {
37873 } else {
37874 nit_abort("Assert failed", NULL, LOCATE_parser, 13857);
37875 }
37876 /* parser/parser.nit:13859 */
37877 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*/;
37878 if (UNTAG_Bool(REGB0)) {
37879 } else {
37880 nit_abort("Assert failed", NULL, LOCATE_parser, 13859);
37881 }
37882 /* parser/parser.nit:13861 */
37883 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*/;
37884 if (UNTAG_Bool(REGB0)) {
37885 } else {
37886 nit_abort("Assert failed", NULL, LOCATE_parser, 13861);
37887 }
37888 /* parser/parser.nit:13863 */
37889 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*/;
37890 if (UNTAG_Bool(REGB0)) {
37891 } else {
37892 nit_abort("Assert failed", NULL, LOCATE_parser, 13863);
37893 }
37894 /* parser/parser.nit:13865 */
37895 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*/;
37896 if (UNTAG_Bool(REGB0)) {
37897 } else {
37898 nit_abort("Assert failed", NULL, LOCATE_parser, 13865);
37899 }
37900 /* parser/parser.nit:13866 */
37901 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]);
37902 /* parser/parser.nit:13877 */
37903 fra.me.REG[2] = fra.me.REG[3];
37904 /* parser/parser.nit:13878 */
37905 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37906 if (UNTAG_Bool(REGB0)) {
37907 } else {
37908 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13878);
37909 }
37910 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37911 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37912 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37913 stack_frame_head = fra.me.prev;
37914 return;
37915 }
37916 static const char LOCATE_parser___ReduceAction299___action[] = "parser::ReduceAction299::(parser::ReduceAction::action)";
37917 void parser___ReduceAction299___action(val_t p0, val_t p1){
37918 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
37919 val_t REGB0;
37920 val_t tmp;
37921 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37922 fra.me.file = LOCATE_parser;
37923 fra.me.line = 13883;
37924 fra.me.meth = LOCATE_parser___ReduceAction299___action;
37925 fra.me.has_broke = 0;
37926 fra.me.REG_size = 10;
37927 fra.me.nitni_local_ref_head = NULL;
37928 fra.me.REG[0] = NIT_NULL;
37929 fra.me.REG[1] = NIT_NULL;
37930 fra.me.REG[2] = NIT_NULL;
37931 fra.me.REG[3] = NIT_NULL;
37932 fra.me.REG[4] = NIT_NULL;
37933 fra.me.REG[5] = NIT_NULL;
37934 fra.me.REG[6] = NIT_NULL;
37935 fra.me.REG[7] = NIT_NULL;
37936 fra.me.REG[8] = NIT_NULL;
37937 fra.me.REG[9] = NIT_NULL;
37938 fra.me.REG[0] = p0;
37939 fra.me.REG[1] = p1;
37940 /* parser/parser.nit:13885 */
37941 fra.me.REG[2] = NIT_NULL;
37942 /* parser/parser.nit:13886 */
37943 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37944 /* parser/parser.nit:13887 */
37945 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37946 /* parser/parser.nit:13888 */
37947 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37948 /* parser/parser.nit:13889 */
37949 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37950 /* parser/parser.nit:13890 */
37951 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37952 /* parser/parser.nit:13891 */
37953 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37954 /* parser/parser.nit:13892 */
37955 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37956 /* parser/parser.nit:13893 */
37957 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37958 /* parser/parser.nit:13894 */
37959 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37960 /* parser/parser.nit:13896 */
37961 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*/;
37962 if (UNTAG_Bool(REGB0)) {
37963 } else {
37964 nit_abort("Assert failed", NULL, LOCATE_parser, 13896);
37965 }
37966 /* parser/parser.nit:13898 */
37967 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*/;
37968 if (UNTAG_Bool(REGB0)) {
37969 } else {
37970 nit_abort("Assert failed", NULL, LOCATE_parser, 13898);
37971 }
37972 /* parser/parser.nit:13900 */
37973 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*/;
37974 if (UNTAG_Bool(REGB0)) {
37975 } else {
37976 nit_abort("Assert failed", NULL, LOCATE_parser, 13900);
37977 }
37978 /* parser/parser.nit:13902 */
37979 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*/;
37980 if (UNTAG_Bool(REGB0)) {
37981 } else {
37982 nit_abort("Assert failed", NULL, LOCATE_parser, 13902);
37983 }
37984 /* parser/parser.nit:13904 */
37985 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*/;
37986 if (UNTAG_Bool(REGB0)) {
37987 } else {
37988 nit_abort("Assert failed", NULL, LOCATE_parser, 13904);
37989 }
37990 /* parser/parser.nit:13906 */
37991 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*/;
37992 if (UNTAG_Bool(REGB0)) {
37993 } else {
37994 nit_abort("Assert failed", NULL, LOCATE_parser, 13906);
37995 }
37996 /* parser/parser.nit:13908 */
37997 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*/;
37998 if (UNTAG_Bool(REGB0)) {
37999 } else {
38000 nit_abort("Assert failed", NULL, LOCATE_parser, 13908);
38001 }
38002 /* parser/parser.nit:13909 */
38003 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]);
38004 /* parser/parser.nit:13920 */
38005 fra.me.REG[2] = fra.me.REG[3];
38006 /* parser/parser.nit:13921 */
38007 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38008 if (UNTAG_Bool(REGB0)) {
38009 } else {
38010 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13921);
38011 }
38012 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38013 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38014 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38015 stack_frame_head = fra.me.prev;
38016 return;
38017 }
38018 static const char LOCATE_parser___ReduceAction300___action[] = "parser::ReduceAction300::(parser::ReduceAction::action)";
38019 void parser___ReduceAction300___action(val_t p0, val_t p1){
38020 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
38021 val_t REGB0;
38022 val_t tmp;
38023 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38024 fra.me.file = LOCATE_parser;
38025 fra.me.line = 13926;
38026 fra.me.meth = LOCATE_parser___ReduceAction300___action;
38027 fra.me.has_broke = 0;
38028 fra.me.REG_size = 11;
38029 fra.me.nitni_local_ref_head = NULL;
38030 fra.me.REG[0] = NIT_NULL;
38031 fra.me.REG[1] = NIT_NULL;
38032 fra.me.REG[2] = NIT_NULL;
38033 fra.me.REG[3] = NIT_NULL;
38034 fra.me.REG[4] = NIT_NULL;
38035 fra.me.REG[5] = NIT_NULL;
38036 fra.me.REG[6] = NIT_NULL;
38037 fra.me.REG[7] = NIT_NULL;
38038 fra.me.REG[8] = NIT_NULL;
38039 fra.me.REG[9] = NIT_NULL;
38040 fra.me.REG[10] = NIT_NULL;
38041 fra.me.REG[0] = p0;
38042 fra.me.REG[1] = p1;
38043 /* parser/parser.nit:13928 */
38044 fra.me.REG[2] = NIT_NULL;
38045 /* parser/parser.nit:13929 */
38046 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38047 /* parser/parser.nit:13930 */
38048 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38049 /* parser/parser.nit:13931 */
38050 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38051 /* parser/parser.nit:13932 */
38052 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38053 /* parser/parser.nit:13933 */
38054 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38055 /* parser/parser.nit:13934 */
38056 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38057 /* parser/parser.nit:13935 */
38058 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38059 /* parser/parser.nit:13936 */
38060 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38061 /* parser/parser.nit:13937 */
38062 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38063 /* parser/parser.nit:13938 */
38064 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38065 /* parser/parser.nit:13940 */
38066 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*/;
38067 if (UNTAG_Bool(REGB0)) {
38068 } else {
38069 nit_abort("Assert failed", NULL, LOCATE_parser, 13940);
38070 }
38071 /* parser/parser.nit:13942 */
38072 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*/;
38073 if (UNTAG_Bool(REGB0)) {
38074 } else {
38075 nit_abort("Assert failed", NULL, LOCATE_parser, 13942);
38076 }
38077 /* parser/parser.nit:13944 */
38078 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*/;
38079 if (UNTAG_Bool(REGB0)) {
38080 } else {
38081 nit_abort("Assert failed", NULL, LOCATE_parser, 13944);
38082 }
38083 /* parser/parser.nit:13946 */
38084 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*/;
38085 if (UNTAG_Bool(REGB0)) {
38086 } else {
38087 nit_abort("Assert failed", NULL, LOCATE_parser, 13946);
38088 }
38089 /* parser/parser.nit:13948 */
38090 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*/;
38091 if (UNTAG_Bool(REGB0)) {
38092 } else {
38093 nit_abort("Assert failed", NULL, LOCATE_parser, 13948);
38094 }
38095 /* parser/parser.nit:13950 */
38096 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*/;
38097 if (UNTAG_Bool(REGB0)) {
38098 } else {
38099 nit_abort("Assert failed", NULL, LOCATE_parser, 13950);
38100 }
38101 /* parser/parser.nit:13952 */
38102 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*/;
38103 if (UNTAG_Bool(REGB0)) {
38104 } else {
38105 nit_abort("Assert failed", NULL, LOCATE_parser, 13952);
38106 }
38107 /* parser/parser.nit:13954 */
38108 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*/;
38109 if (UNTAG_Bool(REGB0)) {
38110 } else {
38111 nit_abort("Assert failed", NULL, LOCATE_parser, 13954);
38112 }
38113 /* parser/parser.nit:13955 */
38114 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]);
38115 /* parser/parser.nit:13966 */
38116 fra.me.REG[2] = fra.me.REG[3];
38117 /* parser/parser.nit:13967 */
38118 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38119 if (UNTAG_Bool(REGB0)) {
38120 } else {
38121 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13967);
38122 }
38123 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38124 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38125 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38126 stack_frame_head = fra.me.prev;
38127 return;
38128 }
38129 static const char LOCATE_parser___ReduceAction301___action[] = "parser::ReduceAction301::(parser::ReduceAction::action)";
38130 void parser___ReduceAction301___action(val_t p0, val_t p1){
38131 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
38132 val_t REGB0;
38133 val_t tmp;
38134 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38135 fra.me.file = LOCATE_parser;
38136 fra.me.line = 13972;
38137 fra.me.meth = LOCATE_parser___ReduceAction301___action;
38138 fra.me.has_broke = 0;
38139 fra.me.REG_size = 10;
38140 fra.me.nitni_local_ref_head = NULL;
38141 fra.me.REG[0] = NIT_NULL;
38142 fra.me.REG[1] = NIT_NULL;
38143 fra.me.REG[2] = NIT_NULL;
38144 fra.me.REG[3] = NIT_NULL;
38145 fra.me.REG[4] = NIT_NULL;
38146 fra.me.REG[5] = NIT_NULL;
38147 fra.me.REG[6] = NIT_NULL;
38148 fra.me.REG[7] = NIT_NULL;
38149 fra.me.REG[8] = NIT_NULL;
38150 fra.me.REG[9] = NIT_NULL;
38151 fra.me.REG[0] = p0;
38152 fra.me.REG[1] = p1;
38153 /* parser/parser.nit:13974 */
38154 fra.me.REG[2] = NIT_NULL;
38155 /* parser/parser.nit:13975 */
38156 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38157 /* parser/parser.nit:13976 */
38158 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38159 /* parser/parser.nit:13977 */
38160 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38161 /* parser/parser.nit:13978 */
38162 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38163 /* parser/parser.nit:13979 */
38164 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38165 /* parser/parser.nit:13980 */
38166 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38167 /* parser/parser.nit:13981 */
38168 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38169 /* parser/parser.nit:13982 */
38170 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38171 /* parser/parser.nit:13983 */
38172 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38173 /* parser/parser.nit:13985 */
38174 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*/;
38175 if (UNTAG_Bool(REGB0)) {
38176 } else {
38177 nit_abort("Assert failed", NULL, LOCATE_parser, 13985);
38178 }
38179 /* parser/parser.nit:13987 */
38180 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*/;
38181 if (UNTAG_Bool(REGB0)) {
38182 } else {
38183 nit_abort("Assert failed", NULL, LOCATE_parser, 13987);
38184 }
38185 /* parser/parser.nit:13989 */
38186 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*/;
38187 if (UNTAG_Bool(REGB0)) {
38188 } else {
38189 nit_abort("Assert failed", NULL, LOCATE_parser, 13989);
38190 }
38191 /* parser/parser.nit:13991 */
38192 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*/;
38193 if (UNTAG_Bool(REGB0)) {
38194 } else {
38195 nit_abort("Assert failed", NULL, LOCATE_parser, 13991);
38196 }
38197 /* parser/parser.nit:13993 */
38198 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*/;
38199 if (UNTAG_Bool(REGB0)) {
38200 } else {
38201 nit_abort("Assert failed", NULL, LOCATE_parser, 13993);
38202 }
38203 /* parser/parser.nit:13995 */
38204 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*/;
38205 if (UNTAG_Bool(REGB0)) {
38206 } else {
38207 nit_abort("Assert failed", NULL, LOCATE_parser, 13995);
38208 }
38209 /* parser/parser.nit:13997 */
38210 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*/;
38211 if (UNTAG_Bool(REGB0)) {
38212 } else {
38213 nit_abort("Assert failed", NULL, LOCATE_parser, 13997);
38214 }
38215 /* parser/parser.nit:13998 */
38216 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]);
38217 /* parser/parser.nit:14009 */
38218 fra.me.REG[2] = fra.me.REG[3];
38219 /* parser/parser.nit:14010 */
38220 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38221 if (UNTAG_Bool(REGB0)) {
38222 } else {
38223 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14010);
38224 }
38225 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38226 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38227 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38228 stack_frame_head = fra.me.prev;
38229 return;
38230 }
38231 static const char LOCATE_parser___ReduceAction302___action[] = "parser::ReduceAction302::(parser::ReduceAction::action)";
38232 void parser___ReduceAction302___action(val_t p0, val_t p1){
38233 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
38234 val_t REGB0;
38235 val_t tmp;
38236 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38237 fra.me.file = LOCATE_parser;
38238 fra.me.line = 14015;
38239 fra.me.meth = LOCATE_parser___ReduceAction302___action;
38240 fra.me.has_broke = 0;
38241 fra.me.REG_size = 11;
38242 fra.me.nitni_local_ref_head = NULL;
38243 fra.me.REG[0] = NIT_NULL;
38244 fra.me.REG[1] = NIT_NULL;
38245 fra.me.REG[2] = NIT_NULL;
38246 fra.me.REG[3] = NIT_NULL;
38247 fra.me.REG[4] = NIT_NULL;
38248 fra.me.REG[5] = NIT_NULL;
38249 fra.me.REG[6] = NIT_NULL;
38250 fra.me.REG[7] = NIT_NULL;
38251 fra.me.REG[8] = NIT_NULL;
38252 fra.me.REG[9] = NIT_NULL;
38253 fra.me.REG[10] = NIT_NULL;
38254 fra.me.REG[0] = p0;
38255 fra.me.REG[1] = p1;
38256 /* parser/parser.nit:14017 */
38257 fra.me.REG[2] = NIT_NULL;
38258 /* parser/parser.nit:14018 */
38259 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38260 /* parser/parser.nit:14019 */
38261 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38262 /* parser/parser.nit:14020 */
38263 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38264 /* parser/parser.nit:14021 */
38265 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38266 /* parser/parser.nit:14022 */
38267 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38268 /* parser/parser.nit:14023 */
38269 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38270 /* parser/parser.nit:14024 */
38271 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38272 /* parser/parser.nit:14025 */
38273 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38274 /* parser/parser.nit:14026 */
38275 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38276 /* parser/parser.nit:14027 */
38277 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38278 /* parser/parser.nit:14029 */
38279 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*/;
38280 if (UNTAG_Bool(REGB0)) {
38281 } else {
38282 nit_abort("Assert failed", NULL, LOCATE_parser, 14029);
38283 }
38284 /* parser/parser.nit:14031 */
38285 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*/;
38286 if (UNTAG_Bool(REGB0)) {
38287 } else {
38288 nit_abort("Assert failed", NULL, LOCATE_parser, 14031);
38289 }
38290 /* parser/parser.nit:14033 */
38291 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*/;
38292 if (UNTAG_Bool(REGB0)) {
38293 } else {
38294 nit_abort("Assert failed", NULL, LOCATE_parser, 14033);
38295 }
38296 /* parser/parser.nit:14035 */
38297 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*/;
38298 if (UNTAG_Bool(REGB0)) {
38299 } else {
38300 nit_abort("Assert failed", NULL, LOCATE_parser, 14035);
38301 }
38302 /* parser/parser.nit:14037 */
38303 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*/;
38304 if (UNTAG_Bool(REGB0)) {
38305 } else {
38306 nit_abort("Assert failed", NULL, LOCATE_parser, 14037);
38307 }
38308 /* parser/parser.nit:14039 */
38309 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*/;
38310 if (UNTAG_Bool(REGB0)) {
38311 } else {
38312 nit_abort("Assert failed", NULL, LOCATE_parser, 14039);
38313 }
38314 /* parser/parser.nit:14041 */
38315 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*/;
38316 if (UNTAG_Bool(REGB0)) {
38317 } else {
38318 nit_abort("Assert failed", NULL, LOCATE_parser, 14041);
38319 }
38320 /* parser/parser.nit:14043 */
38321 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*/;
38322 if (UNTAG_Bool(REGB0)) {
38323 } else {
38324 nit_abort("Assert failed", NULL, LOCATE_parser, 14043);
38325 }
38326 /* parser/parser.nit:14044 */
38327 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]);
38328 /* parser/parser.nit:14055 */
38329 fra.me.REG[2] = fra.me.REG[3];
38330 /* parser/parser.nit:14056 */
38331 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38332 if (UNTAG_Bool(REGB0)) {
38333 } else {
38334 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14056);
38335 }
38336 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38337 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38338 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38339 stack_frame_head = fra.me.prev;
38340 return;
38341 }
38342 static const char LOCATE_parser___ReduceAction303___action[] = "parser::ReduceAction303::(parser::ReduceAction::action)";
38343 void parser___ReduceAction303___action(val_t p0, val_t p1){
38344 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
38345 val_t REGB0;
38346 val_t tmp;
38347 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38348 fra.me.file = LOCATE_parser;
38349 fra.me.line = 14061;
38350 fra.me.meth = LOCATE_parser___ReduceAction303___action;
38351 fra.me.has_broke = 0;
38352 fra.me.REG_size = 11;
38353 fra.me.nitni_local_ref_head = NULL;
38354 fra.me.REG[0] = NIT_NULL;
38355 fra.me.REG[1] = NIT_NULL;
38356 fra.me.REG[2] = NIT_NULL;
38357 fra.me.REG[3] = NIT_NULL;
38358 fra.me.REG[4] = NIT_NULL;
38359 fra.me.REG[5] = NIT_NULL;
38360 fra.me.REG[6] = NIT_NULL;
38361 fra.me.REG[7] = NIT_NULL;
38362 fra.me.REG[8] = NIT_NULL;
38363 fra.me.REG[9] = NIT_NULL;
38364 fra.me.REG[10] = NIT_NULL;
38365 fra.me.REG[0] = p0;
38366 fra.me.REG[1] = p1;
38367 /* parser/parser.nit:14063 */
38368 fra.me.REG[2] = NIT_NULL;
38369 /* parser/parser.nit:14064 */
38370 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38371 /* parser/parser.nit:14065 */
38372 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38373 /* parser/parser.nit:14066 */
38374 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38375 /* parser/parser.nit:14067 */
38376 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38377 /* parser/parser.nit:14068 */
38378 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38379 /* parser/parser.nit:14069 */
38380 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38381 /* parser/parser.nit:14070 */
38382 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38383 /* parser/parser.nit:14071 */
38384 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38385 /* parser/parser.nit:14072 */
38386 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38387 /* parser/parser.nit:14073 */
38388 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38389 /* parser/parser.nit:14075 */
38390 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*/;
38391 if (UNTAG_Bool(REGB0)) {
38392 } else {
38393 nit_abort("Assert failed", NULL, LOCATE_parser, 14075);
38394 }
38395 /* parser/parser.nit:14077 */
38396 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*/;
38397 if (UNTAG_Bool(REGB0)) {
38398 } else {
38399 nit_abort("Assert failed", NULL, LOCATE_parser, 14077);
38400 }
38401 /* parser/parser.nit:14079 */
38402 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*/;
38403 if (UNTAG_Bool(REGB0)) {
38404 } else {
38405 nit_abort("Assert failed", NULL, LOCATE_parser, 14079);
38406 }
38407 /* parser/parser.nit:14081 */
38408 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*/;
38409 if (UNTAG_Bool(REGB0)) {
38410 } else {
38411 nit_abort("Assert failed", NULL, LOCATE_parser, 14081);
38412 }
38413 /* parser/parser.nit:14083 */
38414 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*/;
38415 if (UNTAG_Bool(REGB0)) {
38416 } else {
38417 nit_abort("Assert failed", NULL, LOCATE_parser, 14083);
38418 }
38419 /* parser/parser.nit:14085 */
38420 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*/;
38421 if (UNTAG_Bool(REGB0)) {
38422 } else {
38423 nit_abort("Assert failed", NULL, LOCATE_parser, 14085);
38424 }
38425 /* parser/parser.nit:14087 */
38426 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*/;
38427 if (UNTAG_Bool(REGB0)) {
38428 } else {
38429 nit_abort("Assert failed", NULL, LOCATE_parser, 14087);
38430 }
38431 /* parser/parser.nit:14089 */
38432 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*/;
38433 if (UNTAG_Bool(REGB0)) {
38434 } else {
38435 nit_abort("Assert failed", NULL, LOCATE_parser, 14089);
38436 }
38437 /* parser/parser.nit:14090 */
38438 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]);
38439 /* parser/parser.nit:14101 */
38440 fra.me.REG[2] = fra.me.REG[3];
38441 /* parser/parser.nit:14102 */
38442 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38443 if (UNTAG_Bool(REGB0)) {
38444 } else {
38445 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14102);
38446 }
38447 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38448 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38449 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38450 stack_frame_head = fra.me.prev;
38451 return;
38452 }
38453 static const char LOCATE_parser___ReduceAction304___action[] = "parser::ReduceAction304::(parser::ReduceAction::action)";
38454 void parser___ReduceAction304___action(val_t p0, val_t p1){
38455 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
38456 val_t REGB0;
38457 val_t tmp;
38458 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38459 fra.me.file = LOCATE_parser;
38460 fra.me.line = 14107;
38461 fra.me.meth = LOCATE_parser___ReduceAction304___action;
38462 fra.me.has_broke = 0;
38463 fra.me.REG_size = 12;
38464 fra.me.nitni_local_ref_head = NULL;
38465 fra.me.REG[0] = NIT_NULL;
38466 fra.me.REG[1] = NIT_NULL;
38467 fra.me.REG[2] = NIT_NULL;
38468 fra.me.REG[3] = NIT_NULL;
38469 fra.me.REG[4] = NIT_NULL;
38470 fra.me.REG[5] = NIT_NULL;
38471 fra.me.REG[6] = NIT_NULL;
38472 fra.me.REG[7] = NIT_NULL;
38473 fra.me.REG[8] = NIT_NULL;
38474 fra.me.REG[9] = NIT_NULL;
38475 fra.me.REG[10] = NIT_NULL;
38476 fra.me.REG[11] = NIT_NULL;
38477 fra.me.REG[0] = p0;
38478 fra.me.REG[1] = p1;
38479 /* parser/parser.nit:14109 */
38480 fra.me.REG[2] = NIT_NULL;
38481 /* parser/parser.nit:14110 */
38482 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38483 /* parser/parser.nit:14111 */
38484 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38485 /* parser/parser.nit:14112 */
38486 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38487 /* parser/parser.nit:14113 */
38488 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38489 /* parser/parser.nit:14114 */
38490 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38491 /* parser/parser.nit:14115 */
38492 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38493 /* parser/parser.nit:14116 */
38494 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38495 /* parser/parser.nit:14117 */
38496 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38497 /* parser/parser.nit:14118 */
38498 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38499 /* parser/parser.nit:14119 */
38500 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38501 /* parser/parser.nit:14120 */
38502 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38503 /* parser/parser.nit:14122 */
38504 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*/;
38505 if (UNTAG_Bool(REGB0)) {
38506 } else {
38507 nit_abort("Assert failed", NULL, LOCATE_parser, 14122);
38508 }
38509 /* parser/parser.nit:14124 */
38510 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*/;
38511 if (UNTAG_Bool(REGB0)) {
38512 } else {
38513 nit_abort("Assert failed", NULL, LOCATE_parser, 14124);
38514 }
38515 /* parser/parser.nit:14126 */
38516 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*/;
38517 if (UNTAG_Bool(REGB0)) {
38518 } else {
38519 nit_abort("Assert failed", NULL, LOCATE_parser, 14126);
38520 }
38521 /* parser/parser.nit:14128 */
38522 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*/;
38523 if (UNTAG_Bool(REGB0)) {
38524 } else {
38525 nit_abort("Assert failed", NULL, LOCATE_parser, 14128);
38526 }
38527 /* parser/parser.nit:14130 */
38528 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*/;
38529 if (UNTAG_Bool(REGB0)) {
38530 } else {
38531 nit_abort("Assert failed", NULL, LOCATE_parser, 14130);
38532 }
38533 /* parser/parser.nit:14132 */
38534 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*/;
38535 if (UNTAG_Bool(REGB0)) {
38536 } else {
38537 nit_abort("Assert failed", NULL, LOCATE_parser, 14132);
38538 }
38539 /* parser/parser.nit:14134 */
38540 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*/;
38541 if (UNTAG_Bool(REGB0)) {
38542 } else {
38543 nit_abort("Assert failed", NULL, LOCATE_parser, 14134);
38544 }
38545 /* parser/parser.nit:14136 */
38546 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*/;
38547 if (UNTAG_Bool(REGB0)) {
38548 } else {
38549 nit_abort("Assert failed", NULL, LOCATE_parser, 14136);
38550 }
38551 /* parser/parser.nit:14138 */
38552 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*/;
38553 if (UNTAG_Bool(REGB0)) {
38554 } else {
38555 nit_abort("Assert failed", NULL, LOCATE_parser, 14138);
38556 }
38557 /* parser/parser.nit:14139 */
38558 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]);
38559 /* parser/parser.nit:14150 */
38560 fra.me.REG[2] = fra.me.REG[3];
38561 /* parser/parser.nit:14151 */
38562 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38563 if (UNTAG_Bool(REGB0)) {
38564 } else {
38565 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14151);
38566 }
38567 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38568 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38569 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38570 stack_frame_head = fra.me.prev;
38571 return;
38572 }
38573 static const char LOCATE_parser___ReduceAction305___action[] = "parser::ReduceAction305::(parser::ReduceAction::action)";
38574 void parser___ReduceAction305___action(val_t p0, val_t p1){
38575 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
38576 val_t REGB0;
38577 val_t tmp;
38578 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38579 fra.me.file = LOCATE_parser;
38580 fra.me.line = 14156;
38581 fra.me.meth = LOCATE_parser___ReduceAction305___action;
38582 fra.me.has_broke = 0;
38583 fra.me.REG_size = 8;
38584 fra.me.nitni_local_ref_head = NULL;
38585 fra.me.REG[0] = NIT_NULL;
38586 fra.me.REG[1] = NIT_NULL;
38587 fra.me.REG[2] = NIT_NULL;
38588 fra.me.REG[3] = NIT_NULL;
38589 fra.me.REG[4] = NIT_NULL;
38590 fra.me.REG[5] = NIT_NULL;
38591 fra.me.REG[6] = NIT_NULL;
38592 fra.me.REG[7] = NIT_NULL;
38593 fra.me.REG[0] = p0;
38594 fra.me.REG[1] = p1;
38595 /* parser/parser.nit:14158 */
38596 fra.me.REG[2] = NIT_NULL;
38597 /* parser/parser.nit:14159 */
38598 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38599 /* parser/parser.nit:14160 */
38600 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38601 /* parser/parser.nit:14161 */
38602 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38603 /* parser/parser.nit:14162 */
38604 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38605 /* parser/parser.nit:14163 */
38606 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38607 /* parser/parser.nit:14165 */
38608 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*/;
38609 if (UNTAG_Bool(REGB0)) {
38610 } else {
38611 nit_abort("Assert failed", NULL, LOCATE_parser, 14165);
38612 }
38613 /* parser/parser.nit:14167 */
38614 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*/;
38615 if (UNTAG_Bool(REGB0)) {
38616 } else {
38617 nit_abort("Assert failed", NULL, LOCATE_parser, 14167);
38618 }
38619 /* parser/parser.nit:14169 */
38620 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*/;
38621 if (UNTAG_Bool(REGB0)) {
38622 } else {
38623 nit_abort("Assert failed", NULL, LOCATE_parser, 14169);
38624 }
38625 /* parser/parser.nit:14171 */
38626 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*/;
38627 if (UNTAG_Bool(REGB0)) {
38628 } else {
38629 nit_abort("Assert failed", NULL, LOCATE_parser, 14171);
38630 }
38631 /* parser/parser.nit:14173 */
38632 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*/;
38633 if (UNTAG_Bool(REGB0)) {
38634 } else {
38635 nit_abort("Assert failed", NULL, LOCATE_parser, 14173);
38636 }
38637 /* parser/parser.nit:14174 */
38638 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]);
38639 /* parser/parser.nit:14185 */
38640 fra.me.REG[2] = fra.me.REG[3];
38641 /* parser/parser.nit:14186 */
38642 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38643 if (UNTAG_Bool(REGB0)) {
38644 } else {
38645 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14186);
38646 }
38647 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38648 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38649 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38650 stack_frame_head = fra.me.prev;
38651 return;
38652 }
38653 static const char LOCATE_parser___ReduceAction306___action[] = "parser::ReduceAction306::(parser::ReduceAction::action)";
38654 void parser___ReduceAction306___action(val_t p0, val_t p1){
38655 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
38656 val_t REGB0;
38657 val_t tmp;
38658 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38659 fra.me.file = LOCATE_parser;
38660 fra.me.line = 14191;
38661 fra.me.meth = LOCATE_parser___ReduceAction306___action;
38662 fra.me.has_broke = 0;
38663 fra.me.REG_size = 9;
38664 fra.me.nitni_local_ref_head = NULL;
38665 fra.me.REG[0] = NIT_NULL;
38666 fra.me.REG[1] = NIT_NULL;
38667 fra.me.REG[2] = NIT_NULL;
38668 fra.me.REG[3] = NIT_NULL;
38669 fra.me.REG[4] = NIT_NULL;
38670 fra.me.REG[5] = NIT_NULL;
38671 fra.me.REG[6] = NIT_NULL;
38672 fra.me.REG[7] = NIT_NULL;
38673 fra.me.REG[8] = NIT_NULL;
38674 fra.me.REG[0] = p0;
38675 fra.me.REG[1] = p1;
38676 /* parser/parser.nit:14193 */
38677 fra.me.REG[2] = NIT_NULL;
38678 /* parser/parser.nit:14194 */
38679 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38680 /* parser/parser.nit:14195 */
38681 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38682 /* parser/parser.nit:14196 */
38683 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38684 /* parser/parser.nit:14197 */
38685 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38686 /* parser/parser.nit:14198 */
38687 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38688 /* parser/parser.nit:14199 */
38689 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38690 /* parser/parser.nit:14201 */
38691 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*/;
38692 if (UNTAG_Bool(REGB0)) {
38693 } else {
38694 nit_abort("Assert failed", NULL, LOCATE_parser, 14201);
38695 }
38696 /* parser/parser.nit:14203 */
38697 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*/;
38698 if (UNTAG_Bool(REGB0)) {
38699 } else {
38700 nit_abort("Assert failed", NULL, LOCATE_parser, 14203);
38701 }
38702 /* parser/parser.nit:14205 */
38703 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*/;
38704 if (UNTAG_Bool(REGB0)) {
38705 } else {
38706 nit_abort("Assert failed", NULL, LOCATE_parser, 14205);
38707 }
38708 /* parser/parser.nit:14207 */
38709 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*/;
38710 if (UNTAG_Bool(REGB0)) {
38711 } else {
38712 nit_abort("Assert failed", NULL, LOCATE_parser, 14207);
38713 }
38714 /* parser/parser.nit:14209 */
38715 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*/;
38716 if (UNTAG_Bool(REGB0)) {
38717 } else {
38718 nit_abort("Assert failed", NULL, LOCATE_parser, 14209);
38719 }
38720 /* parser/parser.nit:14211 */
38721 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*/;
38722 if (UNTAG_Bool(REGB0)) {
38723 } else {
38724 nit_abort("Assert failed", NULL, LOCATE_parser, 14211);
38725 }
38726 /* parser/parser.nit:14212 */
38727 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]);
38728 /* parser/parser.nit:14223 */
38729 fra.me.REG[2] = fra.me.REG[3];
38730 /* parser/parser.nit:14224 */
38731 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38732 if (UNTAG_Bool(REGB0)) {
38733 } else {
38734 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14224);
38735 }
38736 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38737 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38738 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38739 stack_frame_head = fra.me.prev;
38740 return;
38741 }
38742 static const char LOCATE_parser___ReduceAction307___action[] = "parser::ReduceAction307::(parser::ReduceAction::action)";
38743 void parser___ReduceAction307___action(val_t p0, val_t p1){
38744 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
38745 val_t REGB0;
38746 val_t tmp;
38747 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38748 fra.me.file = LOCATE_parser;
38749 fra.me.line = 14229;
38750 fra.me.meth = LOCATE_parser___ReduceAction307___action;
38751 fra.me.has_broke = 0;
38752 fra.me.REG_size = 9;
38753 fra.me.nitni_local_ref_head = NULL;
38754 fra.me.REG[0] = NIT_NULL;
38755 fra.me.REG[1] = NIT_NULL;
38756 fra.me.REG[2] = NIT_NULL;
38757 fra.me.REG[3] = NIT_NULL;
38758 fra.me.REG[4] = NIT_NULL;
38759 fra.me.REG[5] = NIT_NULL;
38760 fra.me.REG[6] = NIT_NULL;
38761 fra.me.REG[7] = NIT_NULL;
38762 fra.me.REG[8] = NIT_NULL;
38763 fra.me.REG[0] = p0;
38764 fra.me.REG[1] = p1;
38765 /* parser/parser.nit:14231 */
38766 fra.me.REG[2] = NIT_NULL;
38767 /* parser/parser.nit:14232 */
38768 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38769 /* parser/parser.nit:14233 */
38770 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38771 /* parser/parser.nit:14234 */
38772 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38773 /* parser/parser.nit:14235 */
38774 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38775 /* parser/parser.nit:14236 */
38776 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38777 /* parser/parser.nit:14237 */
38778 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38779 /* parser/parser.nit:14239 */
38780 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*/;
38781 if (UNTAG_Bool(REGB0)) {
38782 } else {
38783 nit_abort("Assert failed", NULL, LOCATE_parser, 14239);
38784 }
38785 /* parser/parser.nit:14241 */
38786 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*/;
38787 if (UNTAG_Bool(REGB0)) {
38788 } else {
38789 nit_abort("Assert failed", NULL, LOCATE_parser, 14241);
38790 }
38791 /* parser/parser.nit:14243 */
38792 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*/;
38793 if (UNTAG_Bool(REGB0)) {
38794 } else {
38795 nit_abort("Assert failed", NULL, LOCATE_parser, 14243);
38796 }
38797 /* parser/parser.nit:14245 */
38798 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*/;
38799 if (UNTAG_Bool(REGB0)) {
38800 } else {
38801 nit_abort("Assert failed", NULL, LOCATE_parser, 14245);
38802 }
38803 /* parser/parser.nit:14247 */
38804 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*/;
38805 if (UNTAG_Bool(REGB0)) {
38806 } else {
38807 nit_abort("Assert failed", NULL, LOCATE_parser, 14247);
38808 }
38809 /* parser/parser.nit:14249 */
38810 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*/;
38811 if (UNTAG_Bool(REGB0)) {
38812 } else {
38813 nit_abort("Assert failed", NULL, LOCATE_parser, 14249);
38814 }
38815 /* parser/parser.nit:14250 */
38816 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]);
38817 /* parser/parser.nit:14261 */
38818 fra.me.REG[2] = fra.me.REG[3];
38819 /* parser/parser.nit:14262 */
38820 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38821 if (UNTAG_Bool(REGB0)) {
38822 } else {
38823 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14262);
38824 }
38825 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38826 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38827 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38828 stack_frame_head = fra.me.prev;
38829 return;
38830 }
38831 static const char LOCATE_parser___ReduceAction308___action[] = "parser::ReduceAction308::(parser::ReduceAction::action)";
38832 void parser___ReduceAction308___action(val_t p0, val_t p1){
38833 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
38834 val_t REGB0;
38835 val_t tmp;
38836 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38837 fra.me.file = LOCATE_parser;
38838 fra.me.line = 14267;
38839 fra.me.meth = LOCATE_parser___ReduceAction308___action;
38840 fra.me.has_broke = 0;
38841 fra.me.REG_size = 10;
38842 fra.me.nitni_local_ref_head = NULL;
38843 fra.me.REG[0] = NIT_NULL;
38844 fra.me.REG[1] = NIT_NULL;
38845 fra.me.REG[2] = NIT_NULL;
38846 fra.me.REG[3] = NIT_NULL;
38847 fra.me.REG[4] = NIT_NULL;
38848 fra.me.REG[5] = NIT_NULL;
38849 fra.me.REG[6] = NIT_NULL;
38850 fra.me.REG[7] = NIT_NULL;
38851 fra.me.REG[8] = NIT_NULL;
38852 fra.me.REG[9] = NIT_NULL;
38853 fra.me.REG[0] = p0;
38854 fra.me.REG[1] = p1;
38855 /* parser/parser.nit:14269 */
38856 fra.me.REG[2] = NIT_NULL;
38857 /* parser/parser.nit:14270 */
38858 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38859 /* parser/parser.nit:14271 */
38860 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38861 /* parser/parser.nit:14272 */
38862 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38863 /* parser/parser.nit:14273 */
38864 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38865 /* parser/parser.nit:14274 */
38866 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38867 /* parser/parser.nit:14275 */
38868 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38869 /* parser/parser.nit:14276 */
38870 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38871 /* parser/parser.nit:14278 */
38872 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*/;
38873 if (UNTAG_Bool(REGB0)) {
38874 } else {
38875 nit_abort("Assert failed", NULL, LOCATE_parser, 14278);
38876 }
38877 /* parser/parser.nit:14280 */
38878 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*/;
38879 if (UNTAG_Bool(REGB0)) {
38880 } else {
38881 nit_abort("Assert failed", NULL, LOCATE_parser, 14280);
38882 }
38883 /* parser/parser.nit:14282 */
38884 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*/;
38885 if (UNTAG_Bool(REGB0)) {
38886 } else {
38887 nit_abort("Assert failed", NULL, LOCATE_parser, 14282);
38888 }
38889 /* parser/parser.nit:14284 */
38890 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*/;
38891 if (UNTAG_Bool(REGB0)) {
38892 } else {
38893 nit_abort("Assert failed", NULL, LOCATE_parser, 14284);
38894 }
38895 /* parser/parser.nit:14286 */
38896 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*/;
38897 if (UNTAG_Bool(REGB0)) {
38898 } else {
38899 nit_abort("Assert failed", NULL, LOCATE_parser, 14286);
38900 }
38901 /* parser/parser.nit:14288 */
38902 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*/;
38903 if (UNTAG_Bool(REGB0)) {
38904 } else {
38905 nit_abort("Assert failed", NULL, LOCATE_parser, 14288);
38906 }
38907 /* parser/parser.nit:14290 */
38908 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*/;
38909 if (UNTAG_Bool(REGB0)) {
38910 } else {
38911 nit_abort("Assert failed", NULL, LOCATE_parser, 14290);
38912 }
38913 /* parser/parser.nit:14291 */
38914 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]);
38915 /* parser/parser.nit:14302 */
38916 fra.me.REG[2] = fra.me.REG[3];
38917 /* parser/parser.nit:14303 */
38918 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38919 if (UNTAG_Bool(REGB0)) {
38920 } else {
38921 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14303);
38922 }
38923 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38924 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38925 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38926 stack_frame_head = fra.me.prev;
38927 return;
38928 }
38929 static const char LOCATE_parser___ReduceAction309___action[] = "parser::ReduceAction309::(parser::ReduceAction::action)";
38930 void parser___ReduceAction309___action(val_t p0, val_t p1){
38931 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
38932 val_t REGB0;
38933 val_t tmp;
38934 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38935 fra.me.file = LOCATE_parser;
38936 fra.me.line = 14308;
38937 fra.me.meth = LOCATE_parser___ReduceAction309___action;
38938 fra.me.has_broke = 0;
38939 fra.me.REG_size = 9;
38940 fra.me.nitni_local_ref_head = NULL;
38941 fra.me.REG[0] = NIT_NULL;
38942 fra.me.REG[1] = NIT_NULL;
38943 fra.me.REG[2] = NIT_NULL;
38944 fra.me.REG[3] = NIT_NULL;
38945 fra.me.REG[4] = NIT_NULL;
38946 fra.me.REG[5] = NIT_NULL;
38947 fra.me.REG[6] = NIT_NULL;
38948 fra.me.REG[7] = NIT_NULL;
38949 fra.me.REG[8] = NIT_NULL;
38950 fra.me.REG[0] = p0;
38951 fra.me.REG[1] = p1;
38952 /* parser/parser.nit:14310 */
38953 fra.me.REG[2] = NIT_NULL;
38954 /* parser/parser.nit:14311 */
38955 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38956 /* parser/parser.nit:14312 */
38957 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38958 /* parser/parser.nit:14313 */
38959 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38960 /* parser/parser.nit:14314 */
38961 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38962 /* parser/parser.nit:14315 */
38963 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38964 /* parser/parser.nit:14316 */
38965 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38966 /* parser/parser.nit:14318 */
38967 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*/;
38968 if (UNTAG_Bool(REGB0)) {
38969 } else {
38970 nit_abort("Assert failed", NULL, LOCATE_parser, 14318);
38971 }
38972 /* parser/parser.nit:14320 */
38973 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*/;
38974 if (UNTAG_Bool(REGB0)) {
38975 } else {
38976 nit_abort("Assert failed", NULL, LOCATE_parser, 14320);
38977 }
38978 /* parser/parser.nit:14322 */
38979 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*/;
38980 if (UNTAG_Bool(REGB0)) {
38981 } else {
38982 nit_abort("Assert failed", NULL, LOCATE_parser, 14322);
38983 }
38984 /* parser/parser.nit:14324 */
38985 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*/;
38986 if (UNTAG_Bool(REGB0)) {
38987 } else {
38988 nit_abort("Assert failed", NULL, LOCATE_parser, 14324);
38989 }
38990 /* parser/parser.nit:14326 */
38991 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*/;
38992 if (UNTAG_Bool(REGB0)) {
38993 } else {
38994 nit_abort("Assert failed", NULL, LOCATE_parser, 14326);
38995 }
38996 /* parser/parser.nit:14328 */
38997 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*/;
38998 if (UNTAG_Bool(REGB0)) {
38999 } else {
39000 nit_abort("Assert failed", NULL, LOCATE_parser, 14328);
39001 }
39002 /* parser/parser.nit:14329 */
39003 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]);
39004 /* parser/parser.nit:14340 */
39005 fra.me.REG[2] = fra.me.REG[3];
39006 /* parser/parser.nit:14341 */
39007 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39008 if (UNTAG_Bool(REGB0)) {
39009 } else {
39010 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14341);
39011 }
39012 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39013 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39014 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39015 stack_frame_head = fra.me.prev;
39016 return;
39017 }
39018 static const char LOCATE_parser___ReduceAction310___action[] = "parser::ReduceAction310::(parser::ReduceAction::action)";
39019 void parser___ReduceAction310___action(val_t p0, val_t p1){
39020 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
39021 val_t REGB0;
39022 val_t tmp;
39023 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39024 fra.me.file = LOCATE_parser;
39025 fra.me.line = 14346;
39026 fra.me.meth = LOCATE_parser___ReduceAction310___action;
39027 fra.me.has_broke = 0;
39028 fra.me.REG_size = 10;
39029 fra.me.nitni_local_ref_head = NULL;
39030 fra.me.REG[0] = NIT_NULL;
39031 fra.me.REG[1] = NIT_NULL;
39032 fra.me.REG[2] = NIT_NULL;
39033 fra.me.REG[3] = NIT_NULL;
39034 fra.me.REG[4] = NIT_NULL;
39035 fra.me.REG[5] = NIT_NULL;
39036 fra.me.REG[6] = NIT_NULL;
39037 fra.me.REG[7] = NIT_NULL;
39038 fra.me.REG[8] = NIT_NULL;
39039 fra.me.REG[9] = NIT_NULL;
39040 fra.me.REG[0] = p0;
39041 fra.me.REG[1] = p1;
39042 /* parser/parser.nit:14348 */
39043 fra.me.REG[2] = NIT_NULL;
39044 /* parser/parser.nit:14349 */
39045 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39046 /* parser/parser.nit:14350 */
39047 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39048 /* parser/parser.nit:14351 */
39049 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39050 /* parser/parser.nit:14352 */
39051 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39052 /* parser/parser.nit:14353 */
39053 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39054 /* parser/parser.nit:14354 */
39055 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39056 /* parser/parser.nit:14355 */
39057 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39058 /* parser/parser.nit:14357 */
39059 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*/;
39060 if (UNTAG_Bool(REGB0)) {
39061 } else {
39062 nit_abort("Assert failed", NULL, LOCATE_parser, 14357);
39063 }
39064 /* parser/parser.nit:14359 */
39065 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*/;
39066 if (UNTAG_Bool(REGB0)) {
39067 } else {
39068 nit_abort("Assert failed", NULL, LOCATE_parser, 14359);
39069 }
39070 /* parser/parser.nit:14361 */
39071 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*/;
39072 if (UNTAG_Bool(REGB0)) {
39073 } else {
39074 nit_abort("Assert failed", NULL, LOCATE_parser, 14361);
39075 }
39076 /* parser/parser.nit:14363 */
39077 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*/;
39078 if (UNTAG_Bool(REGB0)) {
39079 } else {
39080 nit_abort("Assert failed", NULL, LOCATE_parser, 14363);
39081 }
39082 /* parser/parser.nit:14365 */
39083 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*/;
39084 if (UNTAG_Bool(REGB0)) {
39085 } else {
39086 nit_abort("Assert failed", NULL, LOCATE_parser, 14365);
39087 }
39088 /* parser/parser.nit:14367 */
39089 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*/;
39090 if (UNTAG_Bool(REGB0)) {
39091 } else {
39092 nit_abort("Assert failed", NULL, LOCATE_parser, 14367);
39093 }
39094 /* parser/parser.nit:14369 */
39095 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*/;
39096 if (UNTAG_Bool(REGB0)) {
39097 } else {
39098 nit_abort("Assert failed", NULL, LOCATE_parser, 14369);
39099 }
39100 /* parser/parser.nit:14370 */
39101 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]);
39102 /* parser/parser.nit:14381 */
39103 fra.me.REG[2] = fra.me.REG[3];
39104 /* parser/parser.nit:14382 */
39105 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39106 if (UNTAG_Bool(REGB0)) {
39107 } else {
39108 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14382);
39109 }
39110 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39111 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39112 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39113 stack_frame_head = fra.me.prev;
39114 return;
39115 }
39116 static const char LOCATE_parser___ReduceAction311___action[] = "parser::ReduceAction311::(parser::ReduceAction::action)";
39117 void parser___ReduceAction311___action(val_t p0, val_t p1){
39118 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
39119 val_t REGB0;
39120 val_t tmp;
39121 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39122 fra.me.file = LOCATE_parser;
39123 fra.me.line = 14387;
39124 fra.me.meth = LOCATE_parser___ReduceAction311___action;
39125 fra.me.has_broke = 0;
39126 fra.me.REG_size = 10;
39127 fra.me.nitni_local_ref_head = NULL;
39128 fra.me.REG[0] = NIT_NULL;
39129 fra.me.REG[1] = NIT_NULL;
39130 fra.me.REG[2] = NIT_NULL;
39131 fra.me.REG[3] = NIT_NULL;
39132 fra.me.REG[4] = NIT_NULL;
39133 fra.me.REG[5] = NIT_NULL;
39134 fra.me.REG[6] = NIT_NULL;
39135 fra.me.REG[7] = NIT_NULL;
39136 fra.me.REG[8] = NIT_NULL;
39137 fra.me.REG[9] = NIT_NULL;
39138 fra.me.REG[0] = p0;
39139 fra.me.REG[1] = p1;
39140 /* parser/parser.nit:14389 */
39141 fra.me.REG[2] = NIT_NULL;
39142 /* parser/parser.nit:14390 */
39143 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39144 /* parser/parser.nit:14391 */
39145 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39146 /* parser/parser.nit:14392 */
39147 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39148 /* parser/parser.nit:14393 */
39149 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39150 /* parser/parser.nit:14394 */
39151 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39152 /* parser/parser.nit:14395 */
39153 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39154 /* parser/parser.nit:14396 */
39155 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39156 /* parser/parser.nit:14398 */
39157 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*/;
39158 if (UNTAG_Bool(REGB0)) {
39159 } else {
39160 nit_abort("Assert failed", NULL, LOCATE_parser, 14398);
39161 }
39162 /* parser/parser.nit:14400 */
39163 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*/;
39164 if (UNTAG_Bool(REGB0)) {
39165 } else {
39166 nit_abort("Assert failed", NULL, LOCATE_parser, 14400);
39167 }
39168 /* parser/parser.nit:14402 */
39169 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*/;
39170 if (UNTAG_Bool(REGB0)) {
39171 } else {
39172 nit_abort("Assert failed", NULL, LOCATE_parser, 14402);
39173 }
39174 /* parser/parser.nit:14404 */
39175 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*/;
39176 if (UNTAG_Bool(REGB0)) {
39177 } else {
39178 nit_abort("Assert failed", NULL, LOCATE_parser, 14404);
39179 }
39180 /* parser/parser.nit:14406 */
39181 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*/;
39182 if (UNTAG_Bool(REGB0)) {
39183 } else {
39184 nit_abort("Assert failed", NULL, LOCATE_parser, 14406);
39185 }
39186 /* parser/parser.nit:14408 */
39187 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*/;
39188 if (UNTAG_Bool(REGB0)) {
39189 } else {
39190 nit_abort("Assert failed", NULL, LOCATE_parser, 14408);
39191 }
39192 /* parser/parser.nit:14410 */
39193 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*/;
39194 if (UNTAG_Bool(REGB0)) {
39195 } else {
39196 nit_abort("Assert failed", NULL, LOCATE_parser, 14410);
39197 }
39198 /* parser/parser.nit:14411 */
39199 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]);
39200 /* parser/parser.nit:14422 */
39201 fra.me.REG[2] = fra.me.REG[3];
39202 /* parser/parser.nit:14423 */
39203 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39204 if (UNTAG_Bool(REGB0)) {
39205 } else {
39206 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14423);
39207 }
39208 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39209 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39210 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39211 stack_frame_head = fra.me.prev;
39212 return;
39213 }
39214 static const char LOCATE_parser___ReduceAction312___action[] = "parser::ReduceAction312::(parser::ReduceAction::action)";
39215 void parser___ReduceAction312___action(val_t p0, val_t p1){
39216 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
39217 val_t REGB0;
39218 val_t tmp;
39219 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39220 fra.me.file = LOCATE_parser;
39221 fra.me.line = 14428;
39222 fra.me.meth = LOCATE_parser___ReduceAction312___action;
39223 fra.me.has_broke = 0;
39224 fra.me.REG_size = 11;
39225 fra.me.nitni_local_ref_head = NULL;
39226 fra.me.REG[0] = NIT_NULL;
39227 fra.me.REG[1] = NIT_NULL;
39228 fra.me.REG[2] = NIT_NULL;
39229 fra.me.REG[3] = NIT_NULL;
39230 fra.me.REG[4] = NIT_NULL;
39231 fra.me.REG[5] = NIT_NULL;
39232 fra.me.REG[6] = NIT_NULL;
39233 fra.me.REG[7] = NIT_NULL;
39234 fra.me.REG[8] = NIT_NULL;
39235 fra.me.REG[9] = NIT_NULL;
39236 fra.me.REG[10] = NIT_NULL;
39237 fra.me.REG[0] = p0;
39238 fra.me.REG[1] = p1;
39239 /* parser/parser.nit:14430 */
39240 fra.me.REG[2] = NIT_NULL;
39241 /* parser/parser.nit:14431 */
39242 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39243 /* parser/parser.nit:14432 */
39244 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39245 /* parser/parser.nit:14433 */
39246 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39247 /* parser/parser.nit:14434 */
39248 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39249 /* parser/parser.nit:14435 */
39250 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39251 /* parser/parser.nit:14436 */
39252 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39253 /* parser/parser.nit:14437 */
39254 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39255 /* parser/parser.nit:14438 */
39256 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39257 /* parser/parser.nit:14440 */
39258 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*/;
39259 if (UNTAG_Bool(REGB0)) {
39260 } else {
39261 nit_abort("Assert failed", NULL, LOCATE_parser, 14440);
39262 }
39263 /* parser/parser.nit:14442 */
39264 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*/;
39265 if (UNTAG_Bool(REGB0)) {
39266 } else {
39267 nit_abort("Assert failed", NULL, LOCATE_parser, 14442);
39268 }
39269 /* parser/parser.nit:14444 */
39270 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*/;
39271 if (UNTAG_Bool(REGB0)) {
39272 } else {
39273 nit_abort("Assert failed", NULL, LOCATE_parser, 14444);
39274 }
39275 /* parser/parser.nit:14446 */
39276 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*/;
39277 if (UNTAG_Bool(REGB0)) {
39278 } else {
39279 nit_abort("Assert failed", NULL, LOCATE_parser, 14446);
39280 }
39281 /* parser/parser.nit:14448 */
39282 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*/;
39283 if (UNTAG_Bool(REGB0)) {
39284 } else {
39285 nit_abort("Assert failed", NULL, LOCATE_parser, 14448);
39286 }
39287 /* parser/parser.nit:14450 */
39288 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*/;
39289 if (UNTAG_Bool(REGB0)) {
39290 } else {
39291 nit_abort("Assert failed", NULL, LOCATE_parser, 14450);
39292 }
39293 /* parser/parser.nit:14452 */
39294 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*/;
39295 if (UNTAG_Bool(REGB0)) {
39296 } else {
39297 nit_abort("Assert failed", NULL, LOCATE_parser, 14452);
39298 }
39299 /* parser/parser.nit:14454 */
39300 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*/;
39301 if (UNTAG_Bool(REGB0)) {
39302 } else {
39303 nit_abort("Assert failed", NULL, LOCATE_parser, 14454);
39304 }
39305 /* parser/parser.nit:14455 */
39306 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]);
39307 /* parser/parser.nit:14466 */
39308 fra.me.REG[2] = fra.me.REG[3];
39309 /* parser/parser.nit:14467 */
39310 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39311 if (UNTAG_Bool(REGB0)) {
39312 } else {
39313 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14467);
39314 }
39315 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39316 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39317 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39318 stack_frame_head = fra.me.prev;
39319 return;
39320 }
39321 static const char LOCATE_parser___ReduceAction313___action[] = "parser::ReduceAction313::(parser::ReduceAction::action)";
39322 void parser___ReduceAction313___action(val_t p0, val_t p1){
39323 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
39324 val_t REGB0;
39325 val_t tmp;
39326 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39327 fra.me.file = LOCATE_parser;
39328 fra.me.line = 14472;
39329 fra.me.meth = LOCATE_parser___ReduceAction313___action;
39330 fra.me.has_broke = 0;
39331 fra.me.REG_size = 9;
39332 fra.me.nitni_local_ref_head = NULL;
39333 fra.me.REG[0] = NIT_NULL;
39334 fra.me.REG[1] = NIT_NULL;
39335 fra.me.REG[2] = NIT_NULL;
39336 fra.me.REG[3] = NIT_NULL;
39337 fra.me.REG[4] = NIT_NULL;
39338 fra.me.REG[5] = NIT_NULL;
39339 fra.me.REG[6] = NIT_NULL;
39340 fra.me.REG[7] = NIT_NULL;
39341 fra.me.REG[8] = NIT_NULL;
39342 fra.me.REG[0] = p0;
39343 fra.me.REG[1] = p1;
39344 /* parser/parser.nit:14474 */
39345 fra.me.REG[2] = NIT_NULL;
39346 /* parser/parser.nit:14475 */
39347 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39348 /* parser/parser.nit:14476 */
39349 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39350 /* parser/parser.nit:14477 */
39351 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39352 /* parser/parser.nit:14478 */
39353 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39354 /* parser/parser.nit:14479 */
39355 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39356 /* parser/parser.nit:14480 */
39357 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39358 /* parser/parser.nit:14482 */
39359 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*/;
39360 if (UNTAG_Bool(REGB0)) {
39361 } else {
39362 nit_abort("Assert failed", NULL, LOCATE_parser, 14482);
39363 }
39364 /* parser/parser.nit:14484 */
39365 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*/;
39366 if (UNTAG_Bool(REGB0)) {
39367 } else {
39368 nit_abort("Assert failed", NULL, LOCATE_parser, 14484);
39369 }
39370 /* parser/parser.nit:14486 */
39371 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*/;
39372 if (UNTAG_Bool(REGB0)) {
39373 } else {
39374 nit_abort("Assert failed", NULL, LOCATE_parser, 14486);
39375 }
39376 /* parser/parser.nit:14488 */
39377 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*/;
39378 if (UNTAG_Bool(REGB0)) {
39379 } else {
39380 nit_abort("Assert failed", NULL, LOCATE_parser, 14488);
39381 }
39382 /* parser/parser.nit:14490 */
39383 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*/;
39384 if (UNTAG_Bool(REGB0)) {
39385 } else {
39386 nit_abort("Assert failed", NULL, LOCATE_parser, 14490);
39387 }
39388 /* parser/parser.nit:14492 */
39389 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*/;
39390 if (UNTAG_Bool(REGB0)) {
39391 } else {
39392 nit_abort("Assert failed", NULL, LOCATE_parser, 14492);
39393 }
39394 /* parser/parser.nit:14493 */
39395 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]);
39396 /* parser/parser.nit:14504 */
39397 fra.me.REG[2] = fra.me.REG[3];
39398 /* parser/parser.nit:14505 */
39399 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39400 if (UNTAG_Bool(REGB0)) {
39401 } else {
39402 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14505);
39403 }
39404 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39405 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39406 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39407 stack_frame_head = fra.me.prev;
39408 return;
39409 }
39410 static const char LOCATE_parser___ReduceAction314___action[] = "parser::ReduceAction314::(parser::ReduceAction::action)";
39411 void parser___ReduceAction314___action(val_t p0, val_t p1){
39412 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
39413 val_t REGB0;
39414 val_t tmp;
39415 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39416 fra.me.file = LOCATE_parser;
39417 fra.me.line = 14510;
39418 fra.me.meth = LOCATE_parser___ReduceAction314___action;
39419 fra.me.has_broke = 0;
39420 fra.me.REG_size = 10;
39421 fra.me.nitni_local_ref_head = NULL;
39422 fra.me.REG[0] = NIT_NULL;
39423 fra.me.REG[1] = NIT_NULL;
39424 fra.me.REG[2] = NIT_NULL;
39425 fra.me.REG[3] = NIT_NULL;
39426 fra.me.REG[4] = NIT_NULL;
39427 fra.me.REG[5] = NIT_NULL;
39428 fra.me.REG[6] = NIT_NULL;
39429 fra.me.REG[7] = NIT_NULL;
39430 fra.me.REG[8] = NIT_NULL;
39431 fra.me.REG[9] = NIT_NULL;
39432 fra.me.REG[0] = p0;
39433 fra.me.REG[1] = p1;
39434 /* parser/parser.nit:14512 */
39435 fra.me.REG[2] = NIT_NULL;
39436 /* parser/parser.nit:14513 */
39437 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39438 /* parser/parser.nit:14514 */
39439 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39440 /* parser/parser.nit:14515 */
39441 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39442 /* parser/parser.nit:14516 */
39443 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39444 /* parser/parser.nit:14517 */
39445 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39446 /* parser/parser.nit:14518 */
39447 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39448 /* parser/parser.nit:14519 */
39449 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39450 /* parser/parser.nit:14521 */
39451 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*/;
39452 if (UNTAG_Bool(REGB0)) {
39453 } else {
39454 nit_abort("Assert failed", NULL, LOCATE_parser, 14521);
39455 }
39456 /* parser/parser.nit:14523 */
39457 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*/;
39458 if (UNTAG_Bool(REGB0)) {
39459 } else {
39460 nit_abort("Assert failed", NULL, LOCATE_parser, 14523);
39461 }
39462 /* parser/parser.nit:14525 */
39463 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*/;
39464 if (UNTAG_Bool(REGB0)) {
39465 } else {
39466 nit_abort("Assert failed", NULL, LOCATE_parser, 14525);
39467 }
39468 /* parser/parser.nit:14527 */
39469 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*/;
39470 if (UNTAG_Bool(REGB0)) {
39471 } else {
39472 nit_abort("Assert failed", NULL, LOCATE_parser, 14527);
39473 }
39474 /* parser/parser.nit:14529 */
39475 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*/;
39476 if (UNTAG_Bool(REGB0)) {
39477 } else {
39478 nit_abort("Assert failed", NULL, LOCATE_parser, 14529);
39479 }
39480 /* parser/parser.nit:14531 */
39481 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*/;
39482 if (UNTAG_Bool(REGB0)) {
39483 } else {
39484 nit_abort("Assert failed", NULL, LOCATE_parser, 14531);
39485 }
39486 /* parser/parser.nit:14533 */
39487 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*/;
39488 if (UNTAG_Bool(REGB0)) {
39489 } else {
39490 nit_abort("Assert failed", NULL, LOCATE_parser, 14533);
39491 }
39492 /* parser/parser.nit:14534 */
39493 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]);
39494 /* parser/parser.nit:14545 */
39495 fra.me.REG[2] = fra.me.REG[3];
39496 /* parser/parser.nit:14546 */
39497 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39498 if (UNTAG_Bool(REGB0)) {
39499 } else {
39500 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14546);
39501 }
39502 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39503 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39504 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39505 stack_frame_head = fra.me.prev;
39506 return;
39507 }
39508 static const char LOCATE_parser___ReduceAction315___action[] = "parser::ReduceAction315::(parser::ReduceAction::action)";
39509 void parser___ReduceAction315___action(val_t p0, val_t p1){
39510 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
39511 val_t REGB0;
39512 val_t tmp;
39513 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39514 fra.me.file = LOCATE_parser;
39515 fra.me.line = 14551;
39516 fra.me.meth = LOCATE_parser___ReduceAction315___action;
39517 fra.me.has_broke = 0;
39518 fra.me.REG_size = 10;
39519 fra.me.nitni_local_ref_head = NULL;
39520 fra.me.REG[0] = NIT_NULL;
39521 fra.me.REG[1] = NIT_NULL;
39522 fra.me.REG[2] = NIT_NULL;
39523 fra.me.REG[3] = NIT_NULL;
39524 fra.me.REG[4] = NIT_NULL;
39525 fra.me.REG[5] = NIT_NULL;
39526 fra.me.REG[6] = NIT_NULL;
39527 fra.me.REG[7] = NIT_NULL;
39528 fra.me.REG[8] = NIT_NULL;
39529 fra.me.REG[9] = NIT_NULL;
39530 fra.me.REG[0] = p0;
39531 fra.me.REG[1] = p1;
39532 /* parser/parser.nit:14553 */
39533 fra.me.REG[2] = NIT_NULL;
39534 /* parser/parser.nit:14554 */
39535 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39536 /* parser/parser.nit:14555 */
39537 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39538 /* parser/parser.nit:14556 */
39539 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39540 /* parser/parser.nit:14557 */
39541 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39542 /* parser/parser.nit:14558 */
39543 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39544 /* parser/parser.nit:14559 */
39545 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39546 /* parser/parser.nit:14560 */
39547 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39548 /* parser/parser.nit:14562 */
39549 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*/;
39550 if (UNTAG_Bool(REGB0)) {
39551 } else {
39552 nit_abort("Assert failed", NULL, LOCATE_parser, 14562);
39553 }
39554 /* parser/parser.nit:14564 */
39555 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*/;
39556 if (UNTAG_Bool(REGB0)) {
39557 } else {
39558 nit_abort("Assert failed", NULL, LOCATE_parser, 14564);
39559 }
39560 /* parser/parser.nit:14566 */
39561 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*/;
39562 if (UNTAG_Bool(REGB0)) {
39563 } else {
39564 nit_abort("Assert failed", NULL, LOCATE_parser, 14566);
39565 }
39566 /* parser/parser.nit:14568 */
39567 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*/;
39568 if (UNTAG_Bool(REGB0)) {
39569 } else {
39570 nit_abort("Assert failed", NULL, LOCATE_parser, 14568);
39571 }
39572 /* parser/parser.nit:14570 */
39573 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*/;
39574 if (UNTAG_Bool(REGB0)) {
39575 } else {
39576 nit_abort("Assert failed", NULL, LOCATE_parser, 14570);
39577 }
39578 /* parser/parser.nit:14572 */
39579 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*/;
39580 if (UNTAG_Bool(REGB0)) {
39581 } else {
39582 nit_abort("Assert failed", NULL, LOCATE_parser, 14572);
39583 }
39584 /* parser/parser.nit:14574 */
39585 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*/;
39586 if (UNTAG_Bool(REGB0)) {
39587 } else {
39588 nit_abort("Assert failed", NULL, LOCATE_parser, 14574);
39589 }
39590 /* parser/parser.nit:14575 */
39591 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]);
39592 /* parser/parser.nit:14586 */
39593 fra.me.REG[2] = fra.me.REG[3];
39594 /* parser/parser.nit:14587 */
39595 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39596 if (UNTAG_Bool(REGB0)) {
39597 } else {
39598 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14587);
39599 }
39600 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39601 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39602 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39603 stack_frame_head = fra.me.prev;
39604 return;
39605 }
39606 static const char LOCATE_parser___ReduceAction316___action[] = "parser::ReduceAction316::(parser::ReduceAction::action)";
39607 void parser___ReduceAction316___action(val_t p0, val_t p1){
39608 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
39609 val_t REGB0;
39610 val_t tmp;
39611 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39612 fra.me.file = LOCATE_parser;
39613 fra.me.line = 14592;
39614 fra.me.meth = LOCATE_parser___ReduceAction316___action;
39615 fra.me.has_broke = 0;
39616 fra.me.REG_size = 11;
39617 fra.me.nitni_local_ref_head = NULL;
39618 fra.me.REG[0] = NIT_NULL;
39619 fra.me.REG[1] = NIT_NULL;
39620 fra.me.REG[2] = NIT_NULL;
39621 fra.me.REG[3] = NIT_NULL;
39622 fra.me.REG[4] = NIT_NULL;
39623 fra.me.REG[5] = NIT_NULL;
39624 fra.me.REG[6] = NIT_NULL;
39625 fra.me.REG[7] = NIT_NULL;
39626 fra.me.REG[8] = NIT_NULL;
39627 fra.me.REG[9] = NIT_NULL;
39628 fra.me.REG[10] = NIT_NULL;
39629 fra.me.REG[0] = p0;
39630 fra.me.REG[1] = p1;
39631 /* parser/parser.nit:14594 */
39632 fra.me.REG[2] = NIT_NULL;
39633 /* parser/parser.nit:14595 */
39634 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39635 /* parser/parser.nit:14596 */
39636 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39637 /* parser/parser.nit:14597 */
39638 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39639 /* parser/parser.nit:14598 */
39640 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39641 /* parser/parser.nit:14599 */
39642 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39643 /* parser/parser.nit:14600 */
39644 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39645 /* parser/parser.nit:14601 */
39646 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39647 /* parser/parser.nit:14602 */
39648 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39649 /* parser/parser.nit:14604 */
39650 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*/;
39651 if (UNTAG_Bool(REGB0)) {
39652 } else {
39653 nit_abort("Assert failed", NULL, LOCATE_parser, 14604);
39654 }
39655 /* parser/parser.nit:14606 */
39656 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*/;
39657 if (UNTAG_Bool(REGB0)) {
39658 } else {
39659 nit_abort("Assert failed", NULL, LOCATE_parser, 14606);
39660 }
39661 /* parser/parser.nit:14608 */
39662 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*/;
39663 if (UNTAG_Bool(REGB0)) {
39664 } else {
39665 nit_abort("Assert failed", NULL, LOCATE_parser, 14608);
39666 }
39667 /* parser/parser.nit:14610 */
39668 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*/;
39669 if (UNTAG_Bool(REGB0)) {
39670 } else {
39671 nit_abort("Assert failed", NULL, LOCATE_parser, 14610);
39672 }
39673 /* parser/parser.nit:14612 */
39674 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*/;
39675 if (UNTAG_Bool(REGB0)) {
39676 } else {
39677 nit_abort("Assert failed", NULL, LOCATE_parser, 14612);
39678 }
39679 /* parser/parser.nit:14614 */
39680 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*/;
39681 if (UNTAG_Bool(REGB0)) {
39682 } else {
39683 nit_abort("Assert failed", NULL, LOCATE_parser, 14614);
39684 }
39685 /* parser/parser.nit:14616 */
39686 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*/;
39687 if (UNTAG_Bool(REGB0)) {
39688 } else {
39689 nit_abort("Assert failed", NULL, LOCATE_parser, 14616);
39690 }
39691 /* parser/parser.nit:14618 */
39692 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*/;
39693 if (UNTAG_Bool(REGB0)) {
39694 } else {
39695 nit_abort("Assert failed", NULL, LOCATE_parser, 14618);
39696 }
39697 /* parser/parser.nit:14619 */
39698 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]);
39699 /* parser/parser.nit:14630 */
39700 fra.me.REG[2] = fra.me.REG[3];
39701 /* parser/parser.nit:14631 */
39702 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39703 if (UNTAG_Bool(REGB0)) {
39704 } else {
39705 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14631);
39706 }
39707 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39708 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39709 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39710 stack_frame_head = fra.me.prev;
39711 return;
39712 }
39713 static const char LOCATE_parser___ReduceAction317___action[] = "parser::ReduceAction317::(parser::ReduceAction::action)";
39714 void parser___ReduceAction317___action(val_t p0, val_t p1){
39715 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
39716 val_t REGB0;
39717 val_t tmp;
39718 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39719 fra.me.file = LOCATE_parser;
39720 fra.me.line = 14636;
39721 fra.me.meth = LOCATE_parser___ReduceAction317___action;
39722 fra.me.has_broke = 0;
39723 fra.me.REG_size = 10;
39724 fra.me.nitni_local_ref_head = NULL;
39725 fra.me.REG[0] = NIT_NULL;
39726 fra.me.REG[1] = NIT_NULL;
39727 fra.me.REG[2] = NIT_NULL;
39728 fra.me.REG[3] = NIT_NULL;
39729 fra.me.REG[4] = NIT_NULL;
39730 fra.me.REG[5] = NIT_NULL;
39731 fra.me.REG[6] = NIT_NULL;
39732 fra.me.REG[7] = NIT_NULL;
39733 fra.me.REG[8] = NIT_NULL;
39734 fra.me.REG[9] = NIT_NULL;
39735 fra.me.REG[0] = p0;
39736 fra.me.REG[1] = p1;
39737 /* parser/parser.nit:14638 */
39738 fra.me.REG[2] = NIT_NULL;
39739 /* parser/parser.nit:14639 */
39740 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39741 /* parser/parser.nit:14640 */
39742 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39743 /* parser/parser.nit:14641 */
39744 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39745 /* parser/parser.nit:14642 */
39746 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39747 /* parser/parser.nit:14643 */
39748 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39749 /* parser/parser.nit:14644 */
39750 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39751 /* parser/parser.nit:14645 */
39752 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39753 /* parser/parser.nit:14647 */
39754 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*/;
39755 if (UNTAG_Bool(REGB0)) {
39756 } else {
39757 nit_abort("Assert failed", NULL, LOCATE_parser, 14647);
39758 }
39759 /* parser/parser.nit:14649 */
39760 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*/;
39761 if (UNTAG_Bool(REGB0)) {
39762 } else {
39763 nit_abort("Assert failed", NULL, LOCATE_parser, 14649);
39764 }
39765 /* parser/parser.nit:14651 */
39766 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*/;
39767 if (UNTAG_Bool(REGB0)) {
39768 } else {
39769 nit_abort("Assert failed", NULL, LOCATE_parser, 14651);
39770 }
39771 /* parser/parser.nit:14653 */
39772 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*/;
39773 if (UNTAG_Bool(REGB0)) {
39774 } else {
39775 nit_abort("Assert failed", NULL, LOCATE_parser, 14653);
39776 }
39777 /* parser/parser.nit:14655 */
39778 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*/;
39779 if (UNTAG_Bool(REGB0)) {
39780 } else {
39781 nit_abort("Assert failed", NULL, LOCATE_parser, 14655);
39782 }
39783 /* parser/parser.nit:14657 */
39784 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*/;
39785 if (UNTAG_Bool(REGB0)) {
39786 } else {
39787 nit_abort("Assert failed", NULL, LOCATE_parser, 14657);
39788 }
39789 /* parser/parser.nit:14659 */
39790 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*/;
39791 if (UNTAG_Bool(REGB0)) {
39792 } else {
39793 nit_abort("Assert failed", NULL, LOCATE_parser, 14659);
39794 }
39795 /* parser/parser.nit:14660 */
39796 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]);
39797 /* parser/parser.nit:14671 */
39798 fra.me.REG[2] = fra.me.REG[3];
39799 /* parser/parser.nit:14672 */
39800 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39801 if (UNTAG_Bool(REGB0)) {
39802 } else {
39803 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14672);
39804 }
39805 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39806 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39807 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39808 stack_frame_head = fra.me.prev;
39809 return;
39810 }
39811 static const char LOCATE_parser___ReduceAction318___action[] = "parser::ReduceAction318::(parser::ReduceAction::action)";
39812 void parser___ReduceAction318___action(val_t p0, val_t p1){
39813 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
39814 val_t REGB0;
39815 val_t tmp;
39816 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39817 fra.me.file = LOCATE_parser;
39818 fra.me.line = 14677;
39819 fra.me.meth = LOCATE_parser___ReduceAction318___action;
39820 fra.me.has_broke = 0;
39821 fra.me.REG_size = 11;
39822 fra.me.nitni_local_ref_head = NULL;
39823 fra.me.REG[0] = NIT_NULL;
39824 fra.me.REG[1] = NIT_NULL;
39825 fra.me.REG[2] = NIT_NULL;
39826 fra.me.REG[3] = NIT_NULL;
39827 fra.me.REG[4] = NIT_NULL;
39828 fra.me.REG[5] = NIT_NULL;
39829 fra.me.REG[6] = NIT_NULL;
39830 fra.me.REG[7] = NIT_NULL;
39831 fra.me.REG[8] = NIT_NULL;
39832 fra.me.REG[9] = NIT_NULL;
39833 fra.me.REG[10] = NIT_NULL;
39834 fra.me.REG[0] = p0;
39835 fra.me.REG[1] = p1;
39836 /* parser/parser.nit:14679 */
39837 fra.me.REG[2] = NIT_NULL;
39838 /* parser/parser.nit:14680 */
39839 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39840 /* parser/parser.nit:14681 */
39841 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39842 /* parser/parser.nit:14682 */
39843 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39844 /* parser/parser.nit:14683 */
39845 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39846 /* parser/parser.nit:14684 */
39847 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39848 /* parser/parser.nit:14685 */
39849 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39850 /* parser/parser.nit:14686 */
39851 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39852 /* parser/parser.nit:14687 */
39853 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39854 /* parser/parser.nit:14689 */
39855 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*/;
39856 if (UNTAG_Bool(REGB0)) {
39857 } else {
39858 nit_abort("Assert failed", NULL, LOCATE_parser, 14689);
39859 }
39860 /* parser/parser.nit:14691 */
39861 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*/;
39862 if (UNTAG_Bool(REGB0)) {
39863 } else {
39864 nit_abort("Assert failed", NULL, LOCATE_parser, 14691);
39865 }
39866 /* parser/parser.nit:14693 */
39867 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*/;
39868 if (UNTAG_Bool(REGB0)) {
39869 } else {
39870 nit_abort("Assert failed", NULL, LOCATE_parser, 14693);
39871 }
39872 /* parser/parser.nit:14695 */
39873 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*/;
39874 if (UNTAG_Bool(REGB0)) {
39875 } else {
39876 nit_abort("Assert failed", NULL, LOCATE_parser, 14695);
39877 }
39878 /* parser/parser.nit:14697 */
39879 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*/;
39880 if (UNTAG_Bool(REGB0)) {
39881 } else {
39882 nit_abort("Assert failed", NULL, LOCATE_parser, 14697);
39883 }
39884 /* parser/parser.nit:14699 */
39885 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*/;
39886 if (UNTAG_Bool(REGB0)) {
39887 } else {
39888 nit_abort("Assert failed", NULL, LOCATE_parser, 14699);
39889 }
39890 /* parser/parser.nit:14701 */
39891 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*/;
39892 if (UNTAG_Bool(REGB0)) {
39893 } else {
39894 nit_abort("Assert failed", NULL, LOCATE_parser, 14701);
39895 }
39896 /* parser/parser.nit:14703 */
39897 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*/;
39898 if (UNTAG_Bool(REGB0)) {
39899 } else {
39900 nit_abort("Assert failed", NULL, LOCATE_parser, 14703);
39901 }
39902 /* parser/parser.nit:14704 */
39903 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]);
39904 /* parser/parser.nit:14715 */
39905 fra.me.REG[2] = fra.me.REG[3];
39906 /* parser/parser.nit:14716 */
39907 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39908 if (UNTAG_Bool(REGB0)) {
39909 } else {
39910 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14716);
39911 }
39912 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39913 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39914 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39915 stack_frame_head = fra.me.prev;
39916 return;
39917 }
39918 static const char LOCATE_parser___ReduceAction319___action[] = "parser::ReduceAction319::(parser::ReduceAction::action)";
39919 void parser___ReduceAction319___action(val_t p0, val_t p1){
39920 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
39921 val_t REGB0;
39922 val_t tmp;
39923 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39924 fra.me.file = LOCATE_parser;
39925 fra.me.line = 14721;
39926 fra.me.meth = LOCATE_parser___ReduceAction319___action;
39927 fra.me.has_broke = 0;
39928 fra.me.REG_size = 11;
39929 fra.me.nitni_local_ref_head = NULL;
39930 fra.me.REG[0] = NIT_NULL;
39931 fra.me.REG[1] = NIT_NULL;
39932 fra.me.REG[2] = NIT_NULL;
39933 fra.me.REG[3] = NIT_NULL;
39934 fra.me.REG[4] = NIT_NULL;
39935 fra.me.REG[5] = NIT_NULL;
39936 fra.me.REG[6] = NIT_NULL;
39937 fra.me.REG[7] = NIT_NULL;
39938 fra.me.REG[8] = NIT_NULL;
39939 fra.me.REG[9] = NIT_NULL;
39940 fra.me.REG[10] = NIT_NULL;
39941 fra.me.REG[0] = p0;
39942 fra.me.REG[1] = p1;
39943 /* parser/parser.nit:14723 */
39944 fra.me.REG[2] = NIT_NULL;
39945 /* parser/parser.nit:14724 */
39946 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39947 /* parser/parser.nit:14725 */
39948 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39949 /* parser/parser.nit:14726 */
39950 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39951 /* parser/parser.nit:14727 */
39952 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39953 /* parser/parser.nit:14728 */
39954 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39955 /* parser/parser.nit:14729 */
39956 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39957 /* parser/parser.nit:14730 */
39958 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39959 /* parser/parser.nit:14731 */
39960 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39961 /* parser/parser.nit:14733 */
39962 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*/;
39963 if (UNTAG_Bool(REGB0)) {
39964 } else {
39965 nit_abort("Assert failed", NULL, LOCATE_parser, 14733);
39966 }
39967 /* parser/parser.nit:14735 */
39968 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*/;
39969 if (UNTAG_Bool(REGB0)) {
39970 } else {
39971 nit_abort("Assert failed", NULL, LOCATE_parser, 14735);
39972 }
39973 /* parser/parser.nit:14737 */
39974 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*/;
39975 if (UNTAG_Bool(REGB0)) {
39976 } else {
39977 nit_abort("Assert failed", NULL, LOCATE_parser, 14737);
39978 }
39979 /* parser/parser.nit:14739 */
39980 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*/;
39981 if (UNTAG_Bool(REGB0)) {
39982 } else {
39983 nit_abort("Assert failed", NULL, LOCATE_parser, 14739);
39984 }
39985 /* parser/parser.nit:14741 */
39986 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*/;
39987 if (UNTAG_Bool(REGB0)) {
39988 } else {
39989 nit_abort("Assert failed", NULL, LOCATE_parser, 14741);
39990 }
39991 /* parser/parser.nit:14743 */
39992 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*/;
39993 if (UNTAG_Bool(REGB0)) {
39994 } else {
39995 nit_abort("Assert failed", NULL, LOCATE_parser, 14743);
39996 }
39997 /* parser/parser.nit:14745 */
39998 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*/;
39999 if (UNTAG_Bool(REGB0)) {
40000 } else {
40001 nit_abort("Assert failed", NULL, LOCATE_parser, 14745);
40002 }
40003 /* parser/parser.nit:14747 */
40004 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*/;
40005 if (UNTAG_Bool(REGB0)) {
40006 } else {
40007 nit_abort("Assert failed", NULL, LOCATE_parser, 14747);
40008 }
40009 /* parser/parser.nit:14748 */
40010 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]);
40011 /* parser/parser.nit:14759 */
40012 fra.me.REG[2] = fra.me.REG[3];
40013 /* parser/parser.nit:14760 */
40014 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40015 if (UNTAG_Bool(REGB0)) {
40016 } else {
40017 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14760);
40018 }
40019 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40020 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40021 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40022 stack_frame_head = fra.me.prev;
40023 return;
40024 }
40025 static const char LOCATE_parser___ReduceAction320___action[] = "parser::ReduceAction320::(parser::ReduceAction::action)";
40026 void parser___ReduceAction320___action(val_t p0, val_t p1){
40027 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
40028 val_t REGB0;
40029 val_t tmp;
40030 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40031 fra.me.file = LOCATE_parser;
40032 fra.me.line = 14765;
40033 fra.me.meth = LOCATE_parser___ReduceAction320___action;
40034 fra.me.has_broke = 0;
40035 fra.me.REG_size = 12;
40036 fra.me.nitni_local_ref_head = NULL;
40037 fra.me.REG[0] = NIT_NULL;
40038 fra.me.REG[1] = NIT_NULL;
40039 fra.me.REG[2] = NIT_NULL;
40040 fra.me.REG[3] = NIT_NULL;
40041 fra.me.REG[4] = NIT_NULL;
40042 fra.me.REG[5] = NIT_NULL;
40043 fra.me.REG[6] = NIT_NULL;
40044 fra.me.REG[7] = NIT_NULL;
40045 fra.me.REG[8] = NIT_NULL;
40046 fra.me.REG[9] = NIT_NULL;
40047 fra.me.REG[10] = NIT_NULL;
40048 fra.me.REG[11] = NIT_NULL;
40049 fra.me.REG[0] = p0;
40050 fra.me.REG[1] = p1;
40051 /* parser/parser.nit:14767 */
40052 fra.me.REG[2] = NIT_NULL;
40053 /* parser/parser.nit:14768 */
40054 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40055 /* parser/parser.nit:14769 */
40056 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40057 /* parser/parser.nit:14770 */
40058 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40059 /* parser/parser.nit:14771 */
40060 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40061 /* parser/parser.nit:14772 */
40062 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40063 /* parser/parser.nit:14773 */
40064 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40065 /* parser/parser.nit:14774 */
40066 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40067 /* parser/parser.nit:14775 */
40068 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40069 /* parser/parser.nit:14776 */
40070 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40071 /* parser/parser.nit:14778 */
40072 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*/;
40073 if (UNTAG_Bool(REGB0)) {
40074 } else {
40075 nit_abort("Assert failed", NULL, LOCATE_parser, 14778);
40076 }
40077 /* parser/parser.nit:14780 */
40078 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*/;
40079 if (UNTAG_Bool(REGB0)) {
40080 } else {
40081 nit_abort("Assert failed", NULL, LOCATE_parser, 14780);
40082 }
40083 /* parser/parser.nit:14782 */
40084 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*/;
40085 if (UNTAG_Bool(REGB0)) {
40086 } else {
40087 nit_abort("Assert failed", NULL, LOCATE_parser, 14782);
40088 }
40089 /* parser/parser.nit:14784 */
40090 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*/;
40091 if (UNTAG_Bool(REGB0)) {
40092 } else {
40093 nit_abort("Assert failed", NULL, LOCATE_parser, 14784);
40094 }
40095 /* parser/parser.nit:14786 */
40096 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*/;
40097 if (UNTAG_Bool(REGB0)) {
40098 } else {
40099 nit_abort("Assert failed", NULL, LOCATE_parser, 14786);
40100 }
40101 /* parser/parser.nit:14788 */
40102 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*/;
40103 if (UNTAG_Bool(REGB0)) {
40104 } else {
40105 nit_abort("Assert failed", NULL, LOCATE_parser, 14788);
40106 }
40107 /* parser/parser.nit:14790 */
40108 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*/;
40109 if (UNTAG_Bool(REGB0)) {
40110 } else {
40111 nit_abort("Assert failed", NULL, LOCATE_parser, 14790);
40112 }
40113 /* parser/parser.nit:14792 */
40114 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*/;
40115 if (UNTAG_Bool(REGB0)) {
40116 } else {
40117 nit_abort("Assert failed", NULL, LOCATE_parser, 14792);
40118 }
40119 /* parser/parser.nit:14794 */
40120 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*/;
40121 if (UNTAG_Bool(REGB0)) {
40122 } else {
40123 nit_abort("Assert failed", NULL, LOCATE_parser, 14794);
40124 }
40125 /* parser/parser.nit:14795 */
40126 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]);
40127 /* parser/parser.nit:14806 */
40128 fra.me.REG[2] = fra.me.REG[3];
40129 /* parser/parser.nit:14807 */
40130 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40131 if (UNTAG_Bool(REGB0)) {
40132 } else {
40133 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14807);
40134 }
40135 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40136 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40137 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40138 stack_frame_head = fra.me.prev;
40139 return;
40140 }
40141 static const char LOCATE_parser___ReduceAction321___action[] = "parser::ReduceAction321::(parser::ReduceAction::action)";
40142 void parser___ReduceAction321___action(val_t p0, val_t p1){
40143 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
40144 val_t REGB0;
40145 val_t tmp;
40146 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40147 fra.me.file = LOCATE_parser;
40148 fra.me.line = 14812;
40149 fra.me.meth = LOCATE_parser___ReduceAction321___action;
40150 fra.me.has_broke = 0;
40151 fra.me.REG_size = 5;
40152 fra.me.nitni_local_ref_head = NULL;
40153 fra.me.REG[0] = NIT_NULL;
40154 fra.me.REG[1] = NIT_NULL;
40155 fra.me.REG[2] = NIT_NULL;
40156 fra.me.REG[3] = NIT_NULL;
40157 fra.me.REG[4] = NIT_NULL;
40158 fra.me.REG[0] = p0;
40159 fra.me.REG[1] = p1;
40160 /* parser/parser.nit:14814 */
40161 fra.me.REG[2] = NIT_NULL;
40162 /* parser/parser.nit:14815 */
40163 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40164 /* parser/parser.nit:14816 */
40165 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40166 /* parser/parser.nit:14818 */
40167 fra.me.REG[2] = fra.me.REG[3];
40168 /* parser/parser.nit:14819 */
40169 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40170 if (UNTAG_Bool(REGB0)) {
40171 } else {
40172 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14819);
40173 }
40174 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40175 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40176 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40177 stack_frame_head = fra.me.prev;
40178 return;
40179 }
40180 static const char LOCATE_parser___ReduceAction322___action[] = "parser::ReduceAction322::(parser::ReduceAction::action)";
40181 void parser___ReduceAction322___action(val_t p0, val_t p1){
40182 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
40183 val_t REGB0;
40184 val_t tmp;
40185 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40186 fra.me.file = LOCATE_parser;
40187 fra.me.line = 14824;
40188 fra.me.meth = LOCATE_parser___ReduceAction322___action;
40189 fra.me.has_broke = 0;
40190 fra.me.REG_size = 5;
40191 fra.me.nitni_local_ref_head = NULL;
40192 fra.me.REG[0] = NIT_NULL;
40193 fra.me.REG[1] = NIT_NULL;
40194 fra.me.REG[2] = NIT_NULL;
40195 fra.me.REG[3] = NIT_NULL;
40196 fra.me.REG[4] = NIT_NULL;
40197 fra.me.REG[0] = p0;
40198 fra.me.REG[1] = p1;
40199 /* parser/parser.nit:14826 */
40200 fra.me.REG[2] = NIT_NULL;
40201 /* parser/parser.nit:14827 */
40202 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40203 /* parser/parser.nit:14828 */
40204 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40205 /* parser/parser.nit:14829 */
40206 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40207 /* parser/parser.nit:14830 */
40208 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40209 /* parser/parser.nit:14832 */
40210 fra.me.REG[2] = fra.me.REG[3];
40211 /* parser/parser.nit:14833 */
40212 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40213 if (UNTAG_Bool(REGB0)) {
40214 } else {
40215 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14833);
40216 }
40217 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40218 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40219 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40220 stack_frame_head = fra.me.prev;
40221 return;
40222 }
40223 static const char LOCATE_parser___ReduceAction324___action[] = "parser::ReduceAction324::(parser::ReduceAction::action)";
40224 void parser___ReduceAction324___action(val_t p0, val_t p1){
40225 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
40226 val_t REGB0;
40227 val_t tmp;
40228 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40229 fra.me.file = LOCATE_parser;
40230 fra.me.line = 14838;
40231 fra.me.meth = LOCATE_parser___ReduceAction324___action;
40232 fra.me.has_broke = 0;
40233 fra.me.REG_size = 5;
40234 fra.me.nitni_local_ref_head = NULL;
40235 fra.me.REG[0] = NIT_NULL;
40236 fra.me.REG[1] = NIT_NULL;
40237 fra.me.REG[2] = NIT_NULL;
40238 fra.me.REG[3] = NIT_NULL;
40239 fra.me.REG[4] = NIT_NULL;
40240 fra.me.REG[0] = p0;
40241 fra.me.REG[1] = p1;
40242 /* parser/parser.nit:14840 */
40243 fra.me.REG[2] = NIT_NULL;
40244 /* parser/parser.nit:14841 */
40245 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40246 /* parser/parser.nit:14842 */
40247 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40248 /* parser/parser.nit:14843 */
40249 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40250 /* parser/parser.nit:14845 */
40251 fra.me.REG[2] = fra.me.REG[3];
40252 /* parser/parser.nit:14846 */
40253 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40254 if (UNTAG_Bool(REGB0)) {
40255 } else {
40256 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14846);
40257 }
40258 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40259 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40260 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40261 stack_frame_head = fra.me.prev;
40262 return;
40263 }
40264 static const char LOCATE_parser___ReduceAction325___action[] = "parser::ReduceAction325::(parser::ReduceAction::action)";
40265 void parser___ReduceAction325___action(val_t p0, val_t p1){
40266 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
40267 val_t REGB0;
40268 val_t tmp;
40269 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40270 fra.me.file = LOCATE_parser;
40271 fra.me.line = 14851;
40272 fra.me.meth = LOCATE_parser___ReduceAction325___action;
40273 fra.me.has_broke = 0;
40274 fra.me.REG_size = 4;
40275 fra.me.nitni_local_ref_head = NULL;
40276 fra.me.REG[0] = NIT_NULL;
40277 fra.me.REG[1] = NIT_NULL;
40278 fra.me.REG[2] = NIT_NULL;
40279 fra.me.REG[3] = NIT_NULL;
40280 fra.me.REG[0] = p0;
40281 fra.me.REG[1] = p1;
40282 /* parser/parser.nit:14853 */
40283 fra.me.REG[2] = NIT_NULL;
40284 /* parser/parser.nit:14854 */
40285 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40286 /* parser/parser.nit:14856 */
40287 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*/;
40288 if (UNTAG_Bool(REGB0)) {
40289 } else {
40290 nit_abort("Assert failed", NULL, LOCATE_parser, 14856);
40291 }
40292 /* parser/parser.nit:14857 */
40293 fra.me.REG[3] = NEW_AReadAble_parser___parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[3]);
40294 /* parser/parser.nit:14861 */
40295 fra.me.REG[2] = fra.me.REG[3];
40296 /* parser/parser.nit:14862 */
40297 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40298 if (UNTAG_Bool(REGB0)) {
40299 } else {
40300 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14862);
40301 }
40302 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40303 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40304 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40305 stack_frame_head = fra.me.prev;
40306 return;
40307 }
40308 static const char LOCATE_parser___ReduceAction326___action[] = "parser::ReduceAction326::(parser::ReduceAction::action)";
40309 void parser___ReduceAction326___action(val_t p0, val_t p1){
40310 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
40311 val_t REGB0;
40312 val_t tmp;
40313 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40314 fra.me.file = LOCATE_parser;
40315 fra.me.line = 14867;
40316 fra.me.meth = LOCATE_parser___ReduceAction326___action;
40317 fra.me.has_broke = 0;
40318 fra.me.REG_size = 5;
40319 fra.me.nitni_local_ref_head = NULL;
40320 fra.me.REG[0] = NIT_NULL;
40321 fra.me.REG[1] = NIT_NULL;
40322 fra.me.REG[2] = NIT_NULL;
40323 fra.me.REG[3] = NIT_NULL;
40324 fra.me.REG[4] = NIT_NULL;
40325 fra.me.REG[0] = p0;
40326 fra.me.REG[1] = p1;
40327 /* parser/parser.nit:14869 */
40328 fra.me.REG[2] = NIT_NULL;
40329 /* parser/parser.nit:14870 */
40330 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40331 /* parser/parser.nit:14871 */
40332 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40333 /* parser/parser.nit:14873 */
40334 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*/;
40335 if (UNTAG_Bool(REGB0)) {
40336 } else {
40337 nit_abort("Assert failed", NULL, LOCATE_parser, 14873);
40338 }
40339 /* parser/parser.nit:14875 */
40340 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*/;
40341 if (UNTAG_Bool(REGB0)) {
40342 } else {
40343 nit_abort("Assert failed", NULL, LOCATE_parser, 14875);
40344 }
40345 /* parser/parser.nit:14876 */
40346 fra.me.REG[3] = NEW_AReadAble_parser___parser_prod___AReadAble___init_areadable(fra.me.REG[4], fra.me.REG[3]);
40347 /* parser/parser.nit:14880 */
40348 fra.me.REG[2] = fra.me.REG[3];
40349 /* parser/parser.nit:14881 */
40350 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40351 if (UNTAG_Bool(REGB0)) {
40352 } else {
40353 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14881);
40354 }
40355 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40356 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40357 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40358 stack_frame_head = fra.me.prev;
40359 return;
40360 }
40361 static const char LOCATE_parser___ReduceAction327___action[] = "parser::ReduceAction327::(parser::ReduceAction::action)";
40362 void parser___ReduceAction327___action(val_t p0, val_t p1){
40363 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
40364 val_t REGB0;
40365 val_t tmp;
40366 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40367 fra.me.file = LOCATE_parser;
40368 fra.me.line = 14886;
40369 fra.me.meth = LOCATE_parser___ReduceAction327___action;
40370 fra.me.has_broke = 0;
40371 fra.me.REG_size = 4;
40372 fra.me.nitni_local_ref_head = NULL;
40373 fra.me.REG[0] = NIT_NULL;
40374 fra.me.REG[1] = NIT_NULL;
40375 fra.me.REG[2] = NIT_NULL;
40376 fra.me.REG[3] = NIT_NULL;
40377 fra.me.REG[0] = p0;
40378 fra.me.REG[1] = p1;
40379 /* parser/parser.nit:14888 */
40380 fra.me.REG[2] = NIT_NULL;
40381 /* parser/parser.nit:14889 */
40382 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40383 /* parser/parser.nit:14891 */
40384 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*/;
40385 if (UNTAG_Bool(REGB0)) {
40386 } else {
40387 nit_abort("Assert failed", NULL, LOCATE_parser, 14891);
40388 }
40389 /* parser/parser.nit:14892 */
40390 fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(NIT_NULL, NIT_NULL, fra.me.REG[3]);
40391 /* parser/parser.nit:14897 */
40392 fra.me.REG[2] = fra.me.REG[3];
40393 /* parser/parser.nit:14898 */
40394 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40395 if (UNTAG_Bool(REGB0)) {
40396 } else {
40397 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14898);
40398 }
40399 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40400 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40401 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40402 stack_frame_head = fra.me.prev;
40403 return;
40404 }
40405 static const char LOCATE_parser___ReduceAction328___action[] = "parser::ReduceAction328::(parser::ReduceAction::action)";
40406 void parser___ReduceAction328___action(val_t p0, val_t p1){
40407 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
40408 val_t REGB0;
40409 val_t tmp;
40410 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40411 fra.me.file = LOCATE_parser;
40412 fra.me.line = 14903;
40413 fra.me.meth = LOCATE_parser___ReduceAction328___action;
40414 fra.me.has_broke = 0;
40415 fra.me.REG_size = 5;
40416 fra.me.nitni_local_ref_head = NULL;
40417 fra.me.REG[0] = NIT_NULL;
40418 fra.me.REG[1] = NIT_NULL;
40419 fra.me.REG[2] = NIT_NULL;
40420 fra.me.REG[3] = NIT_NULL;
40421 fra.me.REG[4] = NIT_NULL;
40422 fra.me.REG[0] = p0;
40423 fra.me.REG[1] = p1;
40424 /* parser/parser.nit:14905 */
40425 fra.me.REG[2] = NIT_NULL;
40426 /* parser/parser.nit:14906 */
40427 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40428 /* parser/parser.nit:14907 */
40429 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40430 /* parser/parser.nit:14909 */
40431 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*/;
40432 if (UNTAG_Bool(REGB0)) {
40433 } else {
40434 nit_abort("Assert failed", NULL, LOCATE_parser, 14909);
40435 }
40436 /* parser/parser.nit:14911 */
40437 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*/;
40438 if (UNTAG_Bool(REGB0)) {
40439 } else {
40440 nit_abort("Assert failed", NULL, LOCATE_parser, 14911);
40441 }
40442 /* parser/parser.nit:14912 */
40443 fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
40444 /* parser/parser.nit:14917 */
40445 fra.me.REG[2] = fra.me.REG[3];
40446 /* parser/parser.nit:14918 */
40447 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40448 if (UNTAG_Bool(REGB0)) {
40449 } else {
40450 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14918);
40451 }
40452 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40453 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40454 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40455 stack_frame_head = fra.me.prev;
40456 return;
40457 }
40458 static const char LOCATE_parser___ReduceAction329___action[] = "parser::ReduceAction329::(parser::ReduceAction::action)";
40459 void parser___ReduceAction329___action(val_t p0, val_t p1){
40460 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
40461 val_t REGB0;
40462 val_t tmp;
40463 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40464 fra.me.file = LOCATE_parser;
40465 fra.me.line = 14923;
40466 fra.me.meth = LOCATE_parser___ReduceAction329___action;
40467 fra.me.has_broke = 0;
40468 fra.me.REG_size = 5;
40469 fra.me.nitni_local_ref_head = NULL;
40470 fra.me.REG[0] = NIT_NULL;
40471 fra.me.REG[1] = NIT_NULL;
40472 fra.me.REG[2] = NIT_NULL;
40473 fra.me.REG[3] = NIT_NULL;
40474 fra.me.REG[4] = NIT_NULL;
40475 fra.me.REG[0] = p0;
40476 fra.me.REG[1] = p1;
40477 /* parser/parser.nit:14925 */
40478 fra.me.REG[2] = NIT_NULL;
40479 /* parser/parser.nit:14926 */
40480 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40481 /* parser/parser.nit:14927 */
40482 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40483 /* parser/parser.nit:14929 */
40484 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*/;
40485 if (UNTAG_Bool(REGB0)) {
40486 } else {
40487 nit_abort("Assert failed", NULL, LOCATE_parser, 14929);
40488 }
40489 /* parser/parser.nit:14931 */
40490 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*/;
40491 if (UNTAG_Bool(REGB0)) {
40492 } else {
40493 nit_abort("Assert failed", NULL, LOCATE_parser, 14931);
40494 }
40495 /* parser/parser.nit:14932 */
40496 fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
40497 /* parser/parser.nit:14937 */
40498 fra.me.REG[2] = fra.me.REG[3];
40499 /* parser/parser.nit:14938 */
40500 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40501 if (UNTAG_Bool(REGB0)) {
40502 } else {
40503 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14938);
40504 }
40505 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40506 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40507 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40508 stack_frame_head = fra.me.prev;
40509 return;
40510 }
40511 static const char LOCATE_parser___ReduceAction330___action[] = "parser::ReduceAction330::(parser::ReduceAction::action)";
40512 void parser___ReduceAction330___action(val_t p0, val_t p1){
40513 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
40514 val_t REGB0;
40515 val_t tmp;
40516 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40517 fra.me.file = LOCATE_parser;
40518 fra.me.line = 14943;
40519 fra.me.meth = LOCATE_parser___ReduceAction330___action;
40520 fra.me.has_broke = 0;
40521 fra.me.REG_size = 6;
40522 fra.me.nitni_local_ref_head = NULL;
40523 fra.me.REG[0] = NIT_NULL;
40524 fra.me.REG[1] = NIT_NULL;
40525 fra.me.REG[2] = NIT_NULL;
40526 fra.me.REG[3] = NIT_NULL;
40527 fra.me.REG[4] = NIT_NULL;
40528 fra.me.REG[5] = NIT_NULL;
40529 fra.me.REG[0] = p0;
40530 fra.me.REG[1] = p1;
40531 /* parser/parser.nit:14945 */
40532 fra.me.REG[2] = NIT_NULL;
40533 /* parser/parser.nit:14946 */
40534 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40535 /* parser/parser.nit:14947 */
40536 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40537 /* parser/parser.nit:14948 */
40538 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40539 /* parser/parser.nit:14950 */
40540 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*/;
40541 if (UNTAG_Bool(REGB0)) {
40542 } else {
40543 nit_abort("Assert failed", NULL, LOCATE_parser, 14950);
40544 }
40545 /* parser/parser.nit:14952 */
40546 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*/;
40547 if (UNTAG_Bool(REGB0)) {
40548 } else {
40549 nit_abort("Assert failed", NULL, LOCATE_parser, 14952);
40550 }
40551 /* parser/parser.nit:14954 */
40552 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*/;
40553 if (UNTAG_Bool(REGB0)) {
40554 } else {
40555 nit_abort("Assert failed", NULL, LOCATE_parser, 14954);
40556 }
40557 /* parser/parser.nit:14955 */
40558 fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
40559 /* parser/parser.nit:14960 */
40560 fra.me.REG[2] = fra.me.REG[3];
40561 /* parser/parser.nit:14961 */
40562 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40563 if (UNTAG_Bool(REGB0)) {
40564 } else {
40565 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14961);
40566 }
40567 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40568 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40569 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40570 stack_frame_head = fra.me.prev;
40571 return;
40572 }
40573 static const char LOCATE_parser___ReduceAction331___action[] = "parser::ReduceAction331::(parser::ReduceAction::action)";
40574 void parser___ReduceAction331___action(val_t p0, val_t p1){
40575 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
40576 val_t REGB0;
40577 val_t tmp;
40578 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40579 fra.me.file = LOCATE_parser;
40580 fra.me.line = 14966;
40581 fra.me.meth = LOCATE_parser___ReduceAction331___action;
40582 fra.me.has_broke = 0;
40583 fra.me.REG_size = 4;
40584 fra.me.nitni_local_ref_head = NULL;
40585 fra.me.REG[0] = NIT_NULL;
40586 fra.me.REG[1] = NIT_NULL;
40587 fra.me.REG[2] = NIT_NULL;
40588 fra.me.REG[3] = NIT_NULL;
40589 fra.me.REG[0] = p0;
40590 fra.me.REG[1] = p1;
40591 /* parser/parser.nit:14968 */
40592 fra.me.REG[2] = NIT_NULL;
40593 /* parser/parser.nit:14969 */
40594 fra.me.REG[3] = NEW_APublicVisibility_parser___parser_prod___APublicVisibility___init_apublicvisibility();
40595 /* parser/parser.nit:14970 */
40596 fra.me.REG[2] = fra.me.REG[3];
40597 /* parser/parser.nit:14971 */
40598 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40599 if (UNTAG_Bool(REGB0)) {
40600 } else {
40601 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14971);
40602 }
40603 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40604 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40605 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40606 stack_frame_head = fra.me.prev;
40607 return;
40608 }
40609 static const char LOCATE_parser___ReduceAction332___action[] = "parser::ReduceAction332::(parser::ReduceAction::action)";
40610 void parser___ReduceAction332___action(val_t p0, val_t p1){
40611 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
40612 val_t REGB0;
40613 val_t tmp;
40614 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40615 fra.me.file = LOCATE_parser;
40616 fra.me.line = 14976;
40617 fra.me.meth = LOCATE_parser___ReduceAction332___action;
40618 fra.me.has_broke = 0;
40619 fra.me.REG_size = 4;
40620 fra.me.nitni_local_ref_head = NULL;
40621 fra.me.REG[0] = NIT_NULL;
40622 fra.me.REG[1] = NIT_NULL;
40623 fra.me.REG[2] = NIT_NULL;
40624 fra.me.REG[3] = NIT_NULL;
40625 fra.me.REG[0] = p0;
40626 fra.me.REG[1] = p1;
40627 /* parser/parser.nit:14978 */
40628 fra.me.REG[2] = NIT_NULL;
40629 /* parser/parser.nit:14979 */
40630 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40631 /* parser/parser.nit:14980 */
40632 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40633 /* parser/parser.nit:14982 */
40634 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*/;
40635 if (UNTAG_Bool(REGB0)) {
40636 } else {
40637 nit_abort("Assert failed", NULL, LOCATE_parser, 14982);
40638 }
40639 /* parser/parser.nit:14983 */
40640 fra.me.REG[3] = NEW_APrivateVisibility_parser___parser_prod___APrivateVisibility___init_aprivatevisibility(fra.me.REG[3]);
40641 /* parser/parser.nit:14986 */
40642 fra.me.REG[2] = fra.me.REG[3];
40643 /* parser/parser.nit:14987 */
40644 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40645 if (UNTAG_Bool(REGB0)) {
40646 } else {
40647 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14987);
40648 }
40649 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40650 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40651 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40652 stack_frame_head = fra.me.prev;
40653 return;
40654 }
40655 static const char LOCATE_parser___ReduceAction333___action[] = "parser::ReduceAction333::(parser::ReduceAction::action)";
40656 void parser___ReduceAction333___action(val_t p0, val_t p1){
40657 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
40658 val_t REGB0;
40659 val_t tmp;
40660 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40661 fra.me.file = LOCATE_parser;
40662 fra.me.line = 14992;
40663 fra.me.meth = LOCATE_parser___ReduceAction333___action;
40664 fra.me.has_broke = 0;
40665 fra.me.REG_size = 4;
40666 fra.me.nitni_local_ref_head = NULL;
40667 fra.me.REG[0] = NIT_NULL;
40668 fra.me.REG[1] = NIT_NULL;
40669 fra.me.REG[2] = NIT_NULL;
40670 fra.me.REG[3] = NIT_NULL;
40671 fra.me.REG[0] = p0;
40672 fra.me.REG[1] = p1;
40673 /* parser/parser.nit:14994 */
40674 fra.me.REG[2] = NIT_NULL;
40675 /* parser/parser.nit:14995 */
40676 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40677 /* parser/parser.nit:14996 */
40678 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40679 /* parser/parser.nit:14998 */
40680 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*/;
40681 if (UNTAG_Bool(REGB0)) {
40682 } else {
40683 nit_abort("Assert failed", NULL, LOCATE_parser, 14998);
40684 }
40685 /* parser/parser.nit:14999 */
40686 fra.me.REG[3] = NEW_AProtectedVisibility_parser___parser_prod___AProtectedVisibility___init_aprotectedvisibility(fra.me.REG[3]);
40687 /* parser/parser.nit:15002 */
40688 fra.me.REG[2] = fra.me.REG[3];
40689 /* parser/parser.nit:15003 */
40690 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40691 if (UNTAG_Bool(REGB0)) {
40692 } else {
40693 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15003);
40694 }
40695 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40696 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40697 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40698 stack_frame_head = fra.me.prev;
40699 return;
40700 }
40701 static const char LOCATE_parser___ReduceAction334___action[] = "parser::ReduceAction334::(parser::ReduceAction::action)";
40702 void parser___ReduceAction334___action(val_t p0, val_t p1){
40703 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
40704 val_t REGB0;
40705 val_t tmp;
40706 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40707 fra.me.file = LOCATE_parser;
40708 fra.me.line = 15008;
40709 fra.me.meth = LOCATE_parser___ReduceAction334___action;
40710 fra.me.has_broke = 0;
40711 fra.me.REG_size = 4;
40712 fra.me.nitni_local_ref_head = NULL;
40713 fra.me.REG[0] = NIT_NULL;
40714 fra.me.REG[1] = NIT_NULL;
40715 fra.me.REG[2] = NIT_NULL;
40716 fra.me.REG[3] = NIT_NULL;
40717 fra.me.REG[0] = p0;
40718 fra.me.REG[1] = p1;
40719 /* parser/parser.nit:15010 */
40720 fra.me.REG[2] = NIT_NULL;
40721 /* parser/parser.nit:15011 */
40722 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40723 /* parser/parser.nit:15012 */
40724 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40725 /* parser/parser.nit:15014 */
40726 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*/;
40727 if (UNTAG_Bool(REGB0)) {
40728 } else {
40729 nit_abort("Assert failed", NULL, LOCATE_parser, 15014);
40730 }
40731 /* parser/parser.nit:15015 */
40732 fra.me.REG[3] = NEW_AIntrudeVisibility_parser___parser_prod___AIntrudeVisibility___init_aintrudevisibility(fra.me.REG[3]);
40733 /* parser/parser.nit:15018 */
40734 fra.me.REG[2] = fra.me.REG[3];
40735 /* parser/parser.nit:15019 */
40736 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40737 if (UNTAG_Bool(REGB0)) {
40738 } else {
40739 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15019);
40740 }
40741 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40742 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40743 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40744 stack_frame_head = fra.me.prev;
40745 return;
40746 }
40747 static const char LOCATE_parser___ReduceAction335___action[] = "parser::ReduceAction335::(parser::ReduceAction::action)";
40748 void parser___ReduceAction335___action(val_t p0, val_t p1){
40749 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
40750 val_t REGB0;
40751 val_t tmp;
40752 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40753 fra.me.file = LOCATE_parser;
40754 fra.me.line = 15024;
40755 fra.me.meth = LOCATE_parser___ReduceAction335___action;
40756 fra.me.has_broke = 0;
40757 fra.me.REG_size = 4;
40758 fra.me.nitni_local_ref_head = NULL;
40759 fra.me.REG[0] = NIT_NULL;
40760 fra.me.REG[1] = NIT_NULL;
40761 fra.me.REG[2] = NIT_NULL;
40762 fra.me.REG[3] = NIT_NULL;
40763 fra.me.REG[0] = p0;
40764 fra.me.REG[1] = p1;
40765 /* parser/parser.nit:15026 */
40766 fra.me.REG[2] = NIT_NULL;
40767 /* parser/parser.nit:15027 */
40768 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40769 /* parser/parser.nit:15029 */
40770 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*/;
40771 if (UNTAG_Bool(REGB0)) {
40772 } else {
40773 nit_abort("Assert failed", NULL, LOCATE_parser, 15029);
40774 }
40775 /* parser/parser.nit:15030 */
40776 fra.me.REG[3] = NEW_AIdMethid_parser___parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
40777 /* parser/parser.nit:15033 */
40778 fra.me.REG[2] = fra.me.REG[3];
40779 /* parser/parser.nit:15034 */
40780 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40781 if (UNTAG_Bool(REGB0)) {
40782 } else {
40783 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15034);
40784 }
40785 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40786 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40787 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40788 stack_frame_head = fra.me.prev;
40789 return;
40790 }
40791 static const char LOCATE_parser___ReduceAction336___action[] = "parser::ReduceAction336::(parser::ReduceAction::action)";
40792 void parser___ReduceAction336___action(val_t p0, val_t p1){
40793 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
40794 val_t REGB0;
40795 val_t tmp;
40796 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40797 fra.me.file = LOCATE_parser;
40798 fra.me.line = 15039;
40799 fra.me.meth = LOCATE_parser___ReduceAction336___action;
40800 fra.me.has_broke = 0;
40801 fra.me.REG_size = 4;
40802 fra.me.nitni_local_ref_head = NULL;
40803 fra.me.REG[0] = NIT_NULL;
40804 fra.me.REG[1] = NIT_NULL;
40805 fra.me.REG[2] = NIT_NULL;
40806 fra.me.REG[3] = NIT_NULL;
40807 fra.me.REG[0] = p0;
40808 fra.me.REG[1] = p1;
40809 /* parser/parser.nit:15041 */
40810 fra.me.REG[2] = NIT_NULL;
40811 /* parser/parser.nit:15042 */
40812 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40813 /* parser/parser.nit:15044 */
40814 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*/;
40815 if (UNTAG_Bool(REGB0)) {
40816 } else {
40817 nit_abort("Assert failed", NULL, LOCATE_parser, 15044);
40818 }
40819 /* parser/parser.nit:15045 */
40820 fra.me.REG[3] = NEW_APlusMethid_parser___parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
40821 /* parser/parser.nit:15048 */
40822 fra.me.REG[2] = fra.me.REG[3];
40823 /* parser/parser.nit:15049 */
40824 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40825 if (UNTAG_Bool(REGB0)) {
40826 } else {
40827 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15049);
40828 }
40829 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40830 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40831 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40832 stack_frame_head = fra.me.prev;
40833 return;
40834 }
40835 static const char LOCATE_parser___ReduceAction337___action[] = "parser::ReduceAction337::(parser::ReduceAction::action)";
40836 void parser___ReduceAction337___action(val_t p0, val_t p1){
40837 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
40838 val_t REGB0;
40839 val_t tmp;
40840 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40841 fra.me.file = LOCATE_parser;
40842 fra.me.line = 15054;
40843 fra.me.meth = LOCATE_parser___ReduceAction337___action;
40844 fra.me.has_broke = 0;
40845 fra.me.REG_size = 4;
40846 fra.me.nitni_local_ref_head = NULL;
40847 fra.me.REG[0] = NIT_NULL;
40848 fra.me.REG[1] = NIT_NULL;
40849 fra.me.REG[2] = NIT_NULL;
40850 fra.me.REG[3] = NIT_NULL;
40851 fra.me.REG[0] = p0;
40852 fra.me.REG[1] = p1;
40853 /* parser/parser.nit:15056 */
40854 fra.me.REG[2] = NIT_NULL;
40855 /* parser/parser.nit:15057 */
40856 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40857 /* parser/parser.nit:15059 */
40858 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*/;
40859 if (UNTAG_Bool(REGB0)) {
40860 } else {
40861 nit_abort("Assert failed", NULL, LOCATE_parser, 15059);
40862 }
40863 /* parser/parser.nit:15060 */
40864 fra.me.REG[3] = NEW_AMinusMethid_parser___parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
40865 /* parser/parser.nit:15063 */
40866 fra.me.REG[2] = fra.me.REG[3];
40867 /* parser/parser.nit:15064 */
40868 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40869 if (UNTAG_Bool(REGB0)) {
40870 } else {
40871 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15064);
40872 }
40873 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40874 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40875 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40876 stack_frame_head = fra.me.prev;
40877 return;
40878 }
40879 static const char LOCATE_parser___ReduceAction338___action[] = "parser::ReduceAction338::(parser::ReduceAction::action)";
40880 void parser___ReduceAction338___action(val_t p0, val_t p1){
40881 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
40882 val_t REGB0;
40883 val_t tmp;
40884 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40885 fra.me.file = LOCATE_parser;
40886 fra.me.line = 15069;
40887 fra.me.meth = LOCATE_parser___ReduceAction338___action;
40888 fra.me.has_broke = 0;
40889 fra.me.REG_size = 4;
40890 fra.me.nitni_local_ref_head = NULL;
40891 fra.me.REG[0] = NIT_NULL;
40892 fra.me.REG[1] = NIT_NULL;
40893 fra.me.REG[2] = NIT_NULL;
40894 fra.me.REG[3] = NIT_NULL;
40895 fra.me.REG[0] = p0;
40896 fra.me.REG[1] = p1;
40897 /* parser/parser.nit:15071 */
40898 fra.me.REG[2] = NIT_NULL;
40899 /* parser/parser.nit:15072 */
40900 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40901 /* parser/parser.nit:15074 */
40902 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*/;
40903 if (UNTAG_Bool(REGB0)) {
40904 } else {
40905 nit_abort("Assert failed", NULL, LOCATE_parser, 15074);
40906 }
40907 /* parser/parser.nit:15075 */
40908 fra.me.REG[3] = NEW_AStarMethid_parser___parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
40909 /* parser/parser.nit:15078 */
40910 fra.me.REG[2] = fra.me.REG[3];
40911 /* parser/parser.nit:15079 */
40912 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40913 if (UNTAG_Bool(REGB0)) {
40914 } else {
40915 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15079);
40916 }
40917 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40918 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40919 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40920 stack_frame_head = fra.me.prev;
40921 return;
40922 }
40923 static const char LOCATE_parser___ReduceAction339___action[] = "parser::ReduceAction339::(parser::ReduceAction::action)";
40924 void parser___ReduceAction339___action(val_t p0, val_t p1){
40925 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
40926 val_t REGB0;
40927 val_t tmp;
40928 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40929 fra.me.file = LOCATE_parser;
40930 fra.me.line = 15084;
40931 fra.me.meth = LOCATE_parser___ReduceAction339___action;
40932 fra.me.has_broke = 0;
40933 fra.me.REG_size = 4;
40934 fra.me.nitni_local_ref_head = NULL;
40935 fra.me.REG[0] = NIT_NULL;
40936 fra.me.REG[1] = NIT_NULL;
40937 fra.me.REG[2] = NIT_NULL;
40938 fra.me.REG[3] = NIT_NULL;
40939 fra.me.REG[0] = p0;
40940 fra.me.REG[1] = p1;
40941 /* parser/parser.nit:15086 */
40942 fra.me.REG[2] = NIT_NULL;
40943 /* parser/parser.nit:15087 */
40944 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40945 /* parser/parser.nit:15089 */
40946 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*/;
40947 if (UNTAG_Bool(REGB0)) {
40948 } else {
40949 nit_abort("Assert failed", NULL, LOCATE_parser, 15089);
40950 }
40951 /* parser/parser.nit:15090 */
40952 fra.me.REG[3] = NEW_ASlashMethid_parser___parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
40953 /* parser/parser.nit:15093 */
40954 fra.me.REG[2] = fra.me.REG[3];
40955 /* parser/parser.nit:15094 */
40956 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40957 if (UNTAG_Bool(REGB0)) {
40958 } else {
40959 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15094);
40960 }
40961 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40962 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40963 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40964 stack_frame_head = fra.me.prev;
40965 return;
40966 }
40967 static const char LOCATE_parser___ReduceAction340___action[] = "parser::ReduceAction340::(parser::ReduceAction::action)";
40968 void parser___ReduceAction340___action(val_t p0, val_t p1){
40969 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
40970 val_t REGB0;
40971 val_t tmp;
40972 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40973 fra.me.file = LOCATE_parser;
40974 fra.me.line = 15099;
40975 fra.me.meth = LOCATE_parser___ReduceAction340___action;
40976 fra.me.has_broke = 0;
40977 fra.me.REG_size = 4;
40978 fra.me.nitni_local_ref_head = NULL;
40979 fra.me.REG[0] = NIT_NULL;
40980 fra.me.REG[1] = NIT_NULL;
40981 fra.me.REG[2] = NIT_NULL;
40982 fra.me.REG[3] = NIT_NULL;
40983 fra.me.REG[0] = p0;
40984 fra.me.REG[1] = p1;
40985 /* parser/parser.nit:15101 */
40986 fra.me.REG[2] = NIT_NULL;
40987 /* parser/parser.nit:15102 */
40988 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40989 /* parser/parser.nit:15104 */
40990 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*/;
40991 if (UNTAG_Bool(REGB0)) {
40992 } else {
40993 nit_abort("Assert failed", NULL, LOCATE_parser, 15104);
40994 }
40995 /* parser/parser.nit:15105 */
40996 fra.me.REG[3] = NEW_APercentMethid_parser___parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
40997 /* parser/parser.nit:15108 */
40998 fra.me.REG[2] = fra.me.REG[3];
40999 /* parser/parser.nit:15109 */
41000 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41001 if (UNTAG_Bool(REGB0)) {
41002 } else {
41003 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15109);
41004 }
41005 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41006 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41007 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41008 stack_frame_head = fra.me.prev;
41009 return;
41010 }
41011 static const char LOCATE_parser___ReduceAction341___action[] = "parser::ReduceAction341::(parser::ReduceAction::action)";
41012 void parser___ReduceAction341___action(val_t p0, val_t p1){
41013 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
41014 val_t REGB0;
41015 val_t tmp;
41016 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41017 fra.me.file = LOCATE_parser;
41018 fra.me.line = 15114;
41019 fra.me.meth = LOCATE_parser___ReduceAction341___action;
41020 fra.me.has_broke = 0;
41021 fra.me.REG_size = 4;
41022 fra.me.nitni_local_ref_head = NULL;
41023 fra.me.REG[0] = NIT_NULL;
41024 fra.me.REG[1] = NIT_NULL;
41025 fra.me.REG[2] = NIT_NULL;
41026 fra.me.REG[3] = NIT_NULL;
41027 fra.me.REG[0] = p0;
41028 fra.me.REG[1] = p1;
41029 /* parser/parser.nit:15116 */
41030 fra.me.REG[2] = NIT_NULL;
41031 /* parser/parser.nit:15117 */
41032 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41033 /* parser/parser.nit:15119 */
41034 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*/;
41035 if (UNTAG_Bool(REGB0)) {
41036 } else {
41037 nit_abort("Assert failed", NULL, LOCATE_parser, 15119);
41038 }
41039 /* parser/parser.nit:15120 */
41040 fra.me.REG[3] = NEW_AEqMethid_parser___parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
41041 /* parser/parser.nit:15123 */
41042 fra.me.REG[2] = fra.me.REG[3];
41043 /* parser/parser.nit:15124 */
41044 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41045 if (UNTAG_Bool(REGB0)) {
41046 } else {
41047 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15124);
41048 }
41049 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41050 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41051 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41052 stack_frame_head = fra.me.prev;
41053 return;
41054 }
41055 static const char LOCATE_parser___ReduceAction342___action[] = "parser::ReduceAction342::(parser::ReduceAction::action)";
41056 void parser___ReduceAction342___action(val_t p0, val_t p1){
41057 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
41058 val_t REGB0;
41059 val_t tmp;
41060 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41061 fra.me.file = LOCATE_parser;
41062 fra.me.line = 15129;
41063 fra.me.meth = LOCATE_parser___ReduceAction342___action;
41064 fra.me.has_broke = 0;
41065 fra.me.REG_size = 4;
41066 fra.me.nitni_local_ref_head = NULL;
41067 fra.me.REG[0] = NIT_NULL;
41068 fra.me.REG[1] = NIT_NULL;
41069 fra.me.REG[2] = NIT_NULL;
41070 fra.me.REG[3] = NIT_NULL;
41071 fra.me.REG[0] = p0;
41072 fra.me.REG[1] = p1;
41073 /* parser/parser.nit:15131 */
41074 fra.me.REG[2] = NIT_NULL;
41075 /* parser/parser.nit:15132 */
41076 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41077 /* parser/parser.nit:15134 */
41078 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*/;
41079 if (UNTAG_Bool(REGB0)) {
41080 } else {
41081 nit_abort("Assert failed", NULL, LOCATE_parser, 15134);
41082 }
41083 /* parser/parser.nit:15135 */
41084 fra.me.REG[3] = NEW_ANeMethid_parser___parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
41085 /* parser/parser.nit:15138 */
41086 fra.me.REG[2] = fra.me.REG[3];
41087 /* parser/parser.nit:15139 */
41088 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41089 if (UNTAG_Bool(REGB0)) {
41090 } else {
41091 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15139);
41092 }
41093 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41094 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41095 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41096 stack_frame_head = fra.me.prev;
41097 return;
41098 }
41099 static const char LOCATE_parser___ReduceAction343___action[] = "parser::ReduceAction343::(parser::ReduceAction::action)";
41100 void parser___ReduceAction343___action(val_t p0, val_t p1){
41101 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
41102 val_t REGB0;
41103 val_t tmp;
41104 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41105 fra.me.file = LOCATE_parser;
41106 fra.me.line = 15144;
41107 fra.me.meth = LOCATE_parser___ReduceAction343___action;
41108 fra.me.has_broke = 0;
41109 fra.me.REG_size = 4;
41110 fra.me.nitni_local_ref_head = NULL;
41111 fra.me.REG[0] = NIT_NULL;
41112 fra.me.REG[1] = NIT_NULL;
41113 fra.me.REG[2] = NIT_NULL;
41114 fra.me.REG[3] = NIT_NULL;
41115 fra.me.REG[0] = p0;
41116 fra.me.REG[1] = p1;
41117 /* parser/parser.nit:15146 */
41118 fra.me.REG[2] = NIT_NULL;
41119 /* parser/parser.nit:15147 */
41120 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41121 /* parser/parser.nit:15149 */
41122 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*/;
41123 if (UNTAG_Bool(REGB0)) {
41124 } else {
41125 nit_abort("Assert failed", NULL, LOCATE_parser, 15149);
41126 }
41127 /* parser/parser.nit:15150 */
41128 fra.me.REG[3] = NEW_ALeMethid_parser___parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
41129 /* parser/parser.nit:15153 */
41130 fra.me.REG[2] = fra.me.REG[3];
41131 /* parser/parser.nit:15154 */
41132 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41133 if (UNTAG_Bool(REGB0)) {
41134 } else {
41135 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15154);
41136 }
41137 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41138 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41139 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41140 stack_frame_head = fra.me.prev;
41141 return;
41142 }
41143 static const char LOCATE_parser___ReduceAction344___action[] = "parser::ReduceAction344::(parser::ReduceAction::action)";
41144 void parser___ReduceAction344___action(val_t p0, val_t p1){
41145 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
41146 val_t REGB0;
41147 val_t tmp;
41148 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41149 fra.me.file = LOCATE_parser;
41150 fra.me.line = 15159;
41151 fra.me.meth = LOCATE_parser___ReduceAction344___action;
41152 fra.me.has_broke = 0;
41153 fra.me.REG_size = 4;
41154 fra.me.nitni_local_ref_head = NULL;
41155 fra.me.REG[0] = NIT_NULL;
41156 fra.me.REG[1] = NIT_NULL;
41157 fra.me.REG[2] = NIT_NULL;
41158 fra.me.REG[3] = NIT_NULL;
41159 fra.me.REG[0] = p0;
41160 fra.me.REG[1] = p1;
41161 /* parser/parser.nit:15161 */
41162 fra.me.REG[2] = NIT_NULL;
41163 /* parser/parser.nit:15162 */
41164 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41165 /* parser/parser.nit:15164 */
41166 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*/;
41167 if (UNTAG_Bool(REGB0)) {
41168 } else {
41169 nit_abort("Assert failed", NULL, LOCATE_parser, 15164);
41170 }
41171 /* parser/parser.nit:15165 */
41172 fra.me.REG[3] = NEW_AGeMethid_parser___parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
41173 /* parser/parser.nit:15168 */
41174 fra.me.REG[2] = fra.me.REG[3];
41175 /* parser/parser.nit:15169 */
41176 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41177 if (UNTAG_Bool(REGB0)) {
41178 } else {
41179 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15169);
41180 }
41181 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41182 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41183 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41184 stack_frame_head = fra.me.prev;
41185 return;
41186 }
41187 static const char LOCATE_parser___ReduceAction345___action[] = "parser::ReduceAction345::(parser::ReduceAction::action)";
41188 void parser___ReduceAction345___action(val_t p0, val_t p1){
41189 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
41190 val_t REGB0;
41191 val_t tmp;
41192 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41193 fra.me.file = LOCATE_parser;
41194 fra.me.line = 15174;
41195 fra.me.meth = LOCATE_parser___ReduceAction345___action;
41196 fra.me.has_broke = 0;
41197 fra.me.REG_size = 4;
41198 fra.me.nitni_local_ref_head = NULL;
41199 fra.me.REG[0] = NIT_NULL;
41200 fra.me.REG[1] = NIT_NULL;
41201 fra.me.REG[2] = NIT_NULL;
41202 fra.me.REG[3] = NIT_NULL;
41203 fra.me.REG[0] = p0;
41204 fra.me.REG[1] = p1;
41205 /* parser/parser.nit:15176 */
41206 fra.me.REG[2] = NIT_NULL;
41207 /* parser/parser.nit:15177 */
41208 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41209 /* parser/parser.nit:15179 */
41210 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*/;
41211 if (UNTAG_Bool(REGB0)) {
41212 } else {
41213 nit_abort("Assert failed", NULL, LOCATE_parser, 15179);
41214 }
41215 /* parser/parser.nit:15180 */
41216 fra.me.REG[3] = NEW_ALtMethid_parser___parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
41217 /* parser/parser.nit:15183 */
41218 fra.me.REG[2] = fra.me.REG[3];
41219 /* parser/parser.nit:15184 */
41220 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41221 if (UNTAG_Bool(REGB0)) {
41222 } else {
41223 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15184);
41224 }
41225 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41226 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41227 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41228 stack_frame_head = fra.me.prev;
41229 return;
41230 }
41231 static const char LOCATE_parser___ReduceAction346___action[] = "parser::ReduceAction346::(parser::ReduceAction::action)";
41232 void parser___ReduceAction346___action(val_t p0, val_t p1){
41233 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
41234 val_t REGB0;
41235 val_t tmp;
41236 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41237 fra.me.file = LOCATE_parser;
41238 fra.me.line = 15189;
41239 fra.me.meth = LOCATE_parser___ReduceAction346___action;
41240 fra.me.has_broke = 0;
41241 fra.me.REG_size = 4;
41242 fra.me.nitni_local_ref_head = NULL;
41243 fra.me.REG[0] = NIT_NULL;
41244 fra.me.REG[1] = NIT_NULL;
41245 fra.me.REG[2] = NIT_NULL;
41246 fra.me.REG[3] = NIT_NULL;
41247 fra.me.REG[0] = p0;
41248 fra.me.REG[1] = p1;
41249 /* parser/parser.nit:15191 */
41250 fra.me.REG[2] = NIT_NULL;
41251 /* parser/parser.nit:15192 */
41252 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41253 /* parser/parser.nit:15194 */
41254 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*/;
41255 if (UNTAG_Bool(REGB0)) {
41256 } else {
41257 nit_abort("Assert failed", NULL, LOCATE_parser, 15194);
41258 }
41259 /* parser/parser.nit:15195 */
41260 fra.me.REG[3] = NEW_AGtMethid_parser___parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
41261 /* parser/parser.nit:15198 */
41262 fra.me.REG[2] = fra.me.REG[3];
41263 /* parser/parser.nit:15199 */
41264 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41265 if (UNTAG_Bool(REGB0)) {
41266 } else {
41267 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15199);
41268 }
41269 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41270 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41271 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41272 stack_frame_head = fra.me.prev;
41273 return;
41274 }
41275 static const char LOCATE_parser___ReduceAction347___action[] = "parser::ReduceAction347::(parser::ReduceAction::action)";
41276 void parser___ReduceAction347___action(val_t p0, val_t p1){
41277 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
41278 val_t REGB0;
41279 val_t tmp;
41280 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41281 fra.me.file = LOCATE_parser;
41282 fra.me.line = 15204;
41283 fra.me.meth = LOCATE_parser___ReduceAction347___action;
41284 fra.me.has_broke = 0;
41285 fra.me.REG_size = 4;
41286 fra.me.nitni_local_ref_head = NULL;
41287 fra.me.REG[0] = NIT_NULL;
41288 fra.me.REG[1] = NIT_NULL;
41289 fra.me.REG[2] = NIT_NULL;
41290 fra.me.REG[3] = NIT_NULL;
41291 fra.me.REG[0] = p0;
41292 fra.me.REG[1] = p1;
41293 /* parser/parser.nit:15206 */
41294 fra.me.REG[2] = NIT_NULL;
41295 /* parser/parser.nit:15207 */
41296 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41297 /* parser/parser.nit:15209 */
41298 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*/;
41299 if (UNTAG_Bool(REGB0)) {
41300 } else {
41301 nit_abort("Assert failed", NULL, LOCATE_parser, 15209);
41302 }
41303 /* parser/parser.nit:15210 */
41304 fra.me.REG[3] = NEW_ALlMethid_parser___parser_prod___ALlMethid___init_allmethid(fra.me.REG[3]);
41305 /* parser/parser.nit:15213 */
41306 fra.me.REG[2] = fra.me.REG[3];
41307 /* parser/parser.nit:15214 */
41308 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41309 if (UNTAG_Bool(REGB0)) {
41310 } else {
41311 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15214);
41312 }
41313 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41314 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41315 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41316 stack_frame_head = fra.me.prev;
41317 return;
41318 }
41319 static const char LOCATE_parser___ReduceAction348___action[] = "parser::ReduceAction348::(parser::ReduceAction::action)";
41320 void parser___ReduceAction348___action(val_t p0, val_t p1){
41321 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
41322 val_t REGB0;
41323 val_t tmp;
41324 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41325 fra.me.file = LOCATE_parser;
41326 fra.me.line = 15219;
41327 fra.me.meth = LOCATE_parser___ReduceAction348___action;
41328 fra.me.has_broke = 0;
41329 fra.me.REG_size = 4;
41330 fra.me.nitni_local_ref_head = NULL;
41331 fra.me.REG[0] = NIT_NULL;
41332 fra.me.REG[1] = NIT_NULL;
41333 fra.me.REG[2] = NIT_NULL;
41334 fra.me.REG[3] = NIT_NULL;
41335 fra.me.REG[0] = p0;
41336 fra.me.REG[1] = p1;
41337 /* parser/parser.nit:15221 */
41338 fra.me.REG[2] = NIT_NULL;
41339 /* parser/parser.nit:15222 */
41340 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41341 /* parser/parser.nit:15224 */
41342 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*/;
41343 if (UNTAG_Bool(REGB0)) {
41344 } else {
41345 nit_abort("Assert failed", NULL, LOCATE_parser, 15224);
41346 }
41347 /* parser/parser.nit:15225 */
41348 fra.me.REG[3] = NEW_AGgMethid_parser___parser_prod___AGgMethid___init_aggmethid(fra.me.REG[3]);
41349 /* parser/parser.nit:15228 */
41350 fra.me.REG[2] = fra.me.REG[3];
41351 /* parser/parser.nit:15229 */
41352 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41353 if (UNTAG_Bool(REGB0)) {
41354 } else {
41355 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15229);
41356 }
41357 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41358 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41359 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41360 stack_frame_head = fra.me.prev;
41361 return;
41362 }
41363 static const char LOCATE_parser___ReduceAction349___action[] = "parser::ReduceAction349::(parser::ReduceAction::action)";
41364 void parser___ReduceAction349___action(val_t p0, val_t p1){
41365 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41366 val_t REGB0;
41367 val_t tmp;
41368 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41369 fra.me.file = LOCATE_parser;
41370 fra.me.line = 15234;
41371 fra.me.meth = LOCATE_parser___ReduceAction349___action;
41372 fra.me.has_broke = 0;
41373 fra.me.REG_size = 5;
41374 fra.me.nitni_local_ref_head = NULL;
41375 fra.me.REG[0] = NIT_NULL;
41376 fra.me.REG[1] = NIT_NULL;
41377 fra.me.REG[2] = NIT_NULL;
41378 fra.me.REG[3] = NIT_NULL;
41379 fra.me.REG[4] = NIT_NULL;
41380 fra.me.REG[0] = p0;
41381 fra.me.REG[1] = p1;
41382 /* parser/parser.nit:15236 */
41383 fra.me.REG[2] = NIT_NULL;
41384 /* parser/parser.nit:15237 */
41385 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41386 /* parser/parser.nit:15238 */
41387 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41388 /* parser/parser.nit:15240 */
41389 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*/;
41390 if (UNTAG_Bool(REGB0)) {
41391 } else {
41392 nit_abort("Assert failed", NULL, LOCATE_parser, 15240);
41393 }
41394 /* parser/parser.nit:15242 */
41395 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*/;
41396 if (UNTAG_Bool(REGB0)) {
41397 } else {
41398 nit_abort("Assert failed", NULL, LOCATE_parser, 15242);
41399 }
41400 /* parser/parser.nit:15243 */
41401 fra.me.REG[3] = NEW_ABraMethid_parser___parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
41402 /* parser/parser.nit:15247 */
41403 fra.me.REG[2] = fra.me.REG[3];
41404 /* parser/parser.nit:15248 */
41405 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41406 if (UNTAG_Bool(REGB0)) {
41407 } else {
41408 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15248);
41409 }
41410 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41411 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41412 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41413 stack_frame_head = fra.me.prev;
41414 return;
41415 }
41416 static const char LOCATE_parser___ReduceAction350___action[] = "parser::ReduceAction350::(parser::ReduceAction::action)";
41417 void parser___ReduceAction350___action(val_t p0, val_t p1){
41418 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
41419 val_t REGB0;
41420 val_t tmp;
41421 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41422 fra.me.file = LOCATE_parser;
41423 fra.me.line = 15253;
41424 fra.me.meth = LOCATE_parser___ReduceAction350___action;
41425 fra.me.has_broke = 0;
41426 fra.me.REG_size = 4;
41427 fra.me.nitni_local_ref_head = NULL;
41428 fra.me.REG[0] = NIT_NULL;
41429 fra.me.REG[1] = NIT_NULL;
41430 fra.me.REG[2] = NIT_NULL;
41431 fra.me.REG[3] = NIT_NULL;
41432 fra.me.REG[0] = p0;
41433 fra.me.REG[1] = p1;
41434 /* parser/parser.nit:15255 */
41435 fra.me.REG[2] = NIT_NULL;
41436 /* parser/parser.nit:15256 */
41437 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41438 /* parser/parser.nit:15258 */
41439 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*/;
41440 if (UNTAG_Bool(REGB0)) {
41441 } else {
41442 nit_abort("Assert failed", NULL, LOCATE_parser, 15258);
41443 }
41444 /* parser/parser.nit:15259 */
41445 fra.me.REG[3] = NEW_AStarshipMethid_parser___parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
41446 /* parser/parser.nit:15262 */
41447 fra.me.REG[2] = fra.me.REG[3];
41448 /* parser/parser.nit:15263 */
41449 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41450 if (UNTAG_Bool(REGB0)) {
41451 } else {
41452 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15263);
41453 }
41454 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41455 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41456 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41457 stack_frame_head = fra.me.prev;
41458 return;
41459 }
41460 static const char LOCATE_parser___ReduceAction351___action[] = "parser::ReduceAction351::(parser::ReduceAction::action)";
41461 void parser___ReduceAction351___action(val_t p0, val_t p1){
41462 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41463 val_t REGB0;
41464 val_t tmp;
41465 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41466 fra.me.file = LOCATE_parser;
41467 fra.me.line = 15268;
41468 fra.me.meth = LOCATE_parser___ReduceAction351___action;
41469 fra.me.has_broke = 0;
41470 fra.me.REG_size = 5;
41471 fra.me.nitni_local_ref_head = NULL;
41472 fra.me.REG[0] = NIT_NULL;
41473 fra.me.REG[1] = NIT_NULL;
41474 fra.me.REG[2] = NIT_NULL;
41475 fra.me.REG[3] = NIT_NULL;
41476 fra.me.REG[4] = NIT_NULL;
41477 fra.me.REG[0] = p0;
41478 fra.me.REG[1] = p1;
41479 /* parser/parser.nit:15270 */
41480 fra.me.REG[2] = NIT_NULL;
41481 /* parser/parser.nit:15271 */
41482 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41483 /* parser/parser.nit:15272 */
41484 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41485 /* parser/parser.nit:15274 */
41486 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*/;
41487 if (UNTAG_Bool(REGB0)) {
41488 } else {
41489 nit_abort("Assert failed", NULL, LOCATE_parser, 15274);
41490 }
41491 /* parser/parser.nit:15276 */
41492 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*/;
41493 if (UNTAG_Bool(REGB0)) {
41494 } else {
41495 nit_abort("Assert failed", NULL, LOCATE_parser, 15276);
41496 }
41497 /* parser/parser.nit:15277 */
41498 fra.me.REG[3] = NEW_AAssignMethid_parser___parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
41499 /* parser/parser.nit:15281 */
41500 fra.me.REG[2] = fra.me.REG[3];
41501 /* parser/parser.nit:15282 */
41502 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41503 if (UNTAG_Bool(REGB0)) {
41504 } else {
41505 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15282);
41506 }
41507 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41508 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41509 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41510 stack_frame_head = fra.me.prev;
41511 return;
41512 }
41513 static const char LOCATE_parser___ReduceAction352___action[] = "parser::ReduceAction352::(parser::ReduceAction::action)";
41514 void parser___ReduceAction352___action(val_t p0, val_t p1){
41515 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
41516 val_t REGB0;
41517 val_t tmp;
41518 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41519 fra.me.file = LOCATE_parser;
41520 fra.me.line = 15287;
41521 fra.me.meth = LOCATE_parser___ReduceAction352___action;
41522 fra.me.has_broke = 0;
41523 fra.me.REG_size = 6;
41524 fra.me.nitni_local_ref_head = NULL;
41525 fra.me.REG[0] = NIT_NULL;
41526 fra.me.REG[1] = NIT_NULL;
41527 fra.me.REG[2] = NIT_NULL;
41528 fra.me.REG[3] = NIT_NULL;
41529 fra.me.REG[4] = NIT_NULL;
41530 fra.me.REG[5] = NIT_NULL;
41531 fra.me.REG[0] = p0;
41532 fra.me.REG[1] = p1;
41533 /* parser/parser.nit:15289 */
41534 fra.me.REG[2] = NIT_NULL;
41535 /* parser/parser.nit:15290 */
41536 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41537 /* parser/parser.nit:15291 */
41538 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41539 /* parser/parser.nit:15292 */
41540 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41541 /* parser/parser.nit:15294 */
41542 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*/;
41543 if (UNTAG_Bool(REGB0)) {
41544 } else {
41545 nit_abort("Assert failed", NULL, LOCATE_parser, 15294);
41546 }
41547 /* parser/parser.nit:15296 */
41548 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*/;
41549 if (UNTAG_Bool(REGB0)) {
41550 } else {
41551 nit_abort("Assert failed", NULL, LOCATE_parser, 15296);
41552 }
41553 /* parser/parser.nit:15298 */
41554 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*/;
41555 if (UNTAG_Bool(REGB0)) {
41556 } else {
41557 nit_abort("Assert failed", NULL, LOCATE_parser, 15298);
41558 }
41559 /* parser/parser.nit:15299 */
41560 fra.me.REG[3] = NEW_ABraassignMethid_parser___parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
41561 /* parser/parser.nit:15304 */
41562 fra.me.REG[2] = fra.me.REG[3];
41563 /* parser/parser.nit:15305 */
41564 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41565 if (UNTAG_Bool(REGB0)) {
41566 } else {
41567 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15305);
41568 }
41569 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41570 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41571 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41572 stack_frame_head = fra.me.prev;
41573 return;
41574 }
41575 static const char LOCATE_parser___ReduceAction353___action[] = "parser::ReduceAction353::(parser::ReduceAction::action)";
41576 void parser___ReduceAction353___action(val_t p0, val_t p1){
41577 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
41578 val_t REGB0;
41579 val_t tmp;
41580 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41581 fra.me.file = LOCATE_parser;
41582 fra.me.line = 15310;
41583 fra.me.meth = LOCATE_parser___ReduceAction353___action;
41584 fra.me.has_broke = 0;
41585 fra.me.REG_size = 8;
41586 fra.me.nitni_local_ref_head = NULL;
41587 fra.me.REG[0] = NIT_NULL;
41588 fra.me.REG[1] = NIT_NULL;
41589 fra.me.REG[2] = NIT_NULL;
41590 fra.me.REG[3] = NIT_NULL;
41591 fra.me.REG[4] = NIT_NULL;
41592 fra.me.REG[5] = NIT_NULL;
41593 fra.me.REG[6] = NIT_NULL;
41594 fra.me.REG[7] = NIT_NULL;
41595 fra.me.REG[0] = p0;
41596 fra.me.REG[1] = p1;
41597 /* parser/parser.nit:15312 */
41598 fra.me.REG[2] = NIT_NULL;
41599 /* parser/parser.nit:15313 */
41600 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41601 /* parser/parser.nit:15314 */
41602 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41603 /* parser/parser.nit:15315 */
41604 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41605 /* parser/parser.nit:15316 */
41606 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41607 /* parser/parser.nit:15317 */
41608 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41609 /* parser/parser.nit:15318 */
41610 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
41611 /* parser/parser.nit:15319 */
41612 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
41613 /* parser/parser.nit:15321 */
41614 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*/;
41615 if (UNTAG_Bool(REGB0)) {
41616 } else {
41617 nit_abort("Assert failed", NULL, LOCATE_parser, 15321);
41618 }
41619 /* parser/parser.nit:15323 */
41620 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*/;
41621 if (UNTAG_Bool(REGB0)) {
41622 } else {
41623 nit_abort("Assert failed", NULL, LOCATE_parser, 15323);
41624 }
41625 /* parser/parser.nit:15325 */
41626 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*/;
41627 if (UNTAG_Bool(REGB0)) {
41628 } else {
41629 nit_abort("Assert failed", NULL, LOCATE_parser, 15325);
41630 }
41631 /* parser/parser.nit:15326 */
41632 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]);
41633 /* parser/parser.nit:15333 */
41634 fra.me.REG[2] = fra.me.REG[7];
41635 /* parser/parser.nit:15334 */
41636 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41637 if (UNTAG_Bool(REGB0)) {
41638 } else {
41639 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15334);
41640 }
41641 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41642 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41643 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41644 stack_frame_head = fra.me.prev;
41645 return;
41646 }
41647 static const char LOCATE_parser___ReduceAction354___action[] = "parser::ReduceAction354::(parser::ReduceAction::action)";
41648 void parser___ReduceAction354___action(val_t p0, val_t p1){
41649 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
41650 val_t REGB0;
41651 val_t tmp;
41652 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41653 fra.me.file = LOCATE_parser;
41654 fra.me.line = 15339;
41655 fra.me.meth = LOCATE_parser___ReduceAction354___action;
41656 fra.me.has_broke = 0;
41657 fra.me.REG_size = 9;
41658 fra.me.nitni_local_ref_head = NULL;
41659 fra.me.REG[0] = NIT_NULL;
41660 fra.me.REG[1] = NIT_NULL;
41661 fra.me.REG[2] = NIT_NULL;
41662 fra.me.REG[3] = NIT_NULL;
41663 fra.me.REG[4] = NIT_NULL;
41664 fra.me.REG[5] = NIT_NULL;
41665 fra.me.REG[6] = NIT_NULL;
41666 fra.me.REG[7] = NIT_NULL;
41667 fra.me.REG[8] = NIT_NULL;
41668 fra.me.REG[0] = p0;
41669 fra.me.REG[1] = p1;
41670 /* parser/parser.nit:15341 */
41671 fra.me.REG[2] = NIT_NULL;
41672 /* parser/parser.nit:15342 */
41673 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41674 /* parser/parser.nit:15343 */
41675 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41676 /* parser/parser.nit:15344 */
41677 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41678 /* parser/parser.nit:15345 */
41679 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41680 /* parser/parser.nit:15346 */
41681 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41682 /* parser/parser.nit:15347 */
41683 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41684 /* parser/parser.nit:15348 */
41685 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
41686 /* parser/parser.nit:15349 */
41687 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
41688 /* parser/parser.nit:15351 */
41689 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*/;
41690 if (UNTAG_Bool(REGB0)) {
41691 } else {
41692 nit_abort("Assert failed", NULL, LOCATE_parser, 15351);
41693 }
41694 /* parser/parser.nit:15353 */
41695 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]*/;
41696 if (UNTAG_Bool(REGB0)) {
41697 } else {
41698 nit_abort("Assert failed", NULL, LOCATE_parser, 15353);
41699 }
41700 /* parser/parser.nit:15354 */
41701 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
41702 fra.me.REG[7] = fra.me.REG[5];
41703 /* parser/parser.nit:15356 */
41704 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*/;
41705 if (UNTAG_Bool(REGB0)) {
41706 } else {
41707 nit_abort("Assert failed", NULL, LOCATE_parser, 15356);
41708 }
41709 /* parser/parser.nit:15358 */
41710 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*/;
41711 if (UNTAG_Bool(REGB0)) {
41712 } else {
41713 nit_abort("Assert failed", NULL, LOCATE_parser, 15358);
41714 }
41715 /* parser/parser.nit:15359 */
41716 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]);
41717 /* parser/parser.nit:15366 */
41718 fra.me.REG[2] = fra.me.REG[8];
41719 /* parser/parser.nit:15367 */
41720 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41721 if (UNTAG_Bool(REGB0)) {
41722 } else {
41723 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15367);
41724 }
41725 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41726 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41727 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41728 stack_frame_head = fra.me.prev;
41729 return;
41730 }
41731 static const char LOCATE_parser___ReduceAction355___action[] = "parser::ReduceAction355::(parser::ReduceAction::action)";
41732 void parser___ReduceAction355___action(val_t p0, val_t p1){
41733 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
41734 val_t REGB0;
41735 val_t tmp;
41736 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41737 fra.me.file = LOCATE_parser;
41738 fra.me.line = 15372;
41739 fra.me.meth = LOCATE_parser___ReduceAction355___action;
41740 fra.me.has_broke = 0;
41741 fra.me.REG_size = 9;
41742 fra.me.nitni_local_ref_head = NULL;
41743 fra.me.REG[0] = NIT_NULL;
41744 fra.me.REG[1] = NIT_NULL;
41745 fra.me.REG[2] = NIT_NULL;
41746 fra.me.REG[3] = NIT_NULL;
41747 fra.me.REG[4] = NIT_NULL;
41748 fra.me.REG[5] = NIT_NULL;
41749 fra.me.REG[6] = NIT_NULL;
41750 fra.me.REG[7] = NIT_NULL;
41751 fra.me.REG[8] = NIT_NULL;
41752 fra.me.REG[0] = p0;
41753 fra.me.REG[1] = p1;
41754 /* parser/parser.nit:15374 */
41755 fra.me.REG[2] = NIT_NULL;
41756 /* parser/parser.nit:15375 */
41757 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41758 /* parser/parser.nit:15376 */
41759 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41760 /* parser/parser.nit:15377 */
41761 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41762 /* parser/parser.nit:15378 */
41763 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41764 /* parser/parser.nit:15379 */
41765 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41766 /* parser/parser.nit:15380 */
41767 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41768 /* parser/parser.nit:15381 */
41769 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
41770 /* parser/parser.nit:15382 */
41771 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
41772 /* parser/parser.nit:15384 */
41773 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*/;
41774 if (UNTAG_Bool(REGB0)) {
41775 } else {
41776 nit_abort("Assert failed", NULL, LOCATE_parser, 15384);
41777 }
41778 /* parser/parser.nit:15386 */
41779 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*/;
41780 if (UNTAG_Bool(REGB0)) {
41781 } else {
41782 nit_abort("Assert failed", NULL, LOCATE_parser, 15386);
41783 }
41784 /* parser/parser.nit:15388 */
41785 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*/;
41786 if (UNTAG_Bool(REGB0)) {
41787 } else {
41788 nit_abort("Assert failed", NULL, LOCATE_parser, 15388);
41789 }
41790 /* parser/parser.nit:15390 */
41791 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]*/;
41792 if (UNTAG_Bool(REGB0)) {
41793 } else {
41794 nit_abort("Assert failed", NULL, LOCATE_parser, 15390);
41795 }
41796 /* parser/parser.nit:15391 */
41797 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
41798 fra.me.REG[8] = fra.me.REG[3];
41799 /* parser/parser.nit:15392 */
41800 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]);
41801 /* parser/parser.nit:15399 */
41802 fra.me.REG[2] = fra.me.REG[8];
41803 /* parser/parser.nit:15400 */
41804 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41805 if (UNTAG_Bool(REGB0)) {
41806 } else {
41807 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15400);
41808 }
41809 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41810 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41811 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41812 stack_frame_head = fra.me.prev;
41813 return;
41814 }
41815 static const char LOCATE_parser___ReduceAction356___action[] = "parser::ReduceAction356::(parser::ReduceAction::action)";
41816 void parser___ReduceAction356___action(val_t p0, val_t p1){
41817 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
41818 val_t REGB0;
41819 val_t tmp;
41820 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41821 fra.me.file = LOCATE_parser;
41822 fra.me.line = 15405;
41823 fra.me.meth = LOCATE_parser___ReduceAction356___action;
41824 fra.me.has_broke = 0;
41825 fra.me.REG_size = 10;
41826 fra.me.nitni_local_ref_head = NULL;
41827 fra.me.REG[0] = NIT_NULL;
41828 fra.me.REG[1] = NIT_NULL;
41829 fra.me.REG[2] = NIT_NULL;
41830 fra.me.REG[3] = NIT_NULL;
41831 fra.me.REG[4] = NIT_NULL;
41832 fra.me.REG[5] = NIT_NULL;
41833 fra.me.REG[6] = NIT_NULL;
41834 fra.me.REG[7] = NIT_NULL;
41835 fra.me.REG[8] = NIT_NULL;
41836 fra.me.REG[9] = NIT_NULL;
41837 fra.me.REG[0] = p0;
41838 fra.me.REG[1] = p1;
41839 /* parser/parser.nit:15407 */
41840 fra.me.REG[2] = NIT_NULL;
41841 /* parser/parser.nit:15408 */
41842 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41843 /* parser/parser.nit:15409 */
41844 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41845 /* parser/parser.nit:15410 */
41846 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41847 /* parser/parser.nit:15411 */
41848 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41849 /* parser/parser.nit:15412 */
41850 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41851 /* parser/parser.nit:15413 */
41852 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41853 /* parser/parser.nit:15414 */
41854 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41855 /* parser/parser.nit:15415 */
41856 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
41857 /* parser/parser.nit:15416 */
41858 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
41859 /* parser/parser.nit:15418 */
41860 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*/;
41861 if (UNTAG_Bool(REGB0)) {
41862 } else {
41863 nit_abort("Assert failed", NULL, LOCATE_parser, 15418);
41864 }
41865 /* parser/parser.nit:15420 */
41866 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]*/;
41867 if (UNTAG_Bool(REGB0)) {
41868 } else {
41869 nit_abort("Assert failed", NULL, LOCATE_parser, 15420);
41870 }
41871 /* parser/parser.nit:15421 */
41872 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
41873 fra.me.REG[8] = fra.me.REG[6];
41874 /* parser/parser.nit:15423 */
41875 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*/;
41876 if (UNTAG_Bool(REGB0)) {
41877 } else {
41878 nit_abort("Assert failed", NULL, LOCATE_parser, 15423);
41879 }
41880 /* parser/parser.nit:15425 */
41881 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*/;
41882 if (UNTAG_Bool(REGB0)) {
41883 } else {
41884 nit_abort("Assert failed", NULL, LOCATE_parser, 15425);
41885 }
41886 /* parser/parser.nit:15427 */
41887 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]*/;
41888 if (UNTAG_Bool(REGB0)) {
41889 } else {
41890 nit_abort("Assert failed", NULL, LOCATE_parser, 15427);
41891 }
41892 /* parser/parser.nit:15428 */
41893 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[3]);
41894 fra.me.REG[9] = fra.me.REG[3];
41895 /* parser/parser.nit:15429 */
41896 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]);
41897 /* parser/parser.nit:15436 */
41898 fra.me.REG[2] = fra.me.REG[9];
41899 /* parser/parser.nit:15437 */
41900 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41901 if (UNTAG_Bool(REGB0)) {
41902 } else {
41903 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15437);
41904 }
41905 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41906 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41907 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41908 stack_frame_head = fra.me.prev;
41909 return;
41910 }
41911 static const char LOCATE_parser___ReduceAction357___action[] = "parser::ReduceAction357::(parser::ReduceAction::action)";
41912 void parser___ReduceAction357___action(val_t p0, val_t p1){
41913 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
41914 val_t REGB0;
41915 val_t tmp;
41916 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41917 fra.me.file = LOCATE_parser;
41918 fra.me.line = 15442;
41919 fra.me.meth = LOCATE_parser___ReduceAction357___action;
41920 fra.me.has_broke = 0;
41921 fra.me.REG_size = 7;
41922 fra.me.nitni_local_ref_head = NULL;
41923 fra.me.REG[0] = NIT_NULL;
41924 fra.me.REG[1] = NIT_NULL;
41925 fra.me.REG[2] = NIT_NULL;
41926 fra.me.REG[3] = NIT_NULL;
41927 fra.me.REG[4] = NIT_NULL;
41928 fra.me.REG[5] = NIT_NULL;
41929 fra.me.REG[6] = NIT_NULL;
41930 fra.me.REG[0] = p0;
41931 fra.me.REG[1] = p1;
41932 /* parser/parser.nit:15444 */
41933 fra.me.REG[2] = NIT_NULL;
41934 /* parser/parser.nit:15445 */
41935 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41936 /* parser/parser.nit:15446 */
41937 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41938 /* parser/parser.nit:15447 */
41939 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41940 /* parser/parser.nit:15448 */
41941 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41942 /* parser/parser.nit:15449 */
41943 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
41944 /* parser/parser.nit:15450 */
41945 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
41946 /* parser/parser.nit:15452 */
41947 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*/;
41948 if (UNTAG_Bool(REGB0)) {
41949 } else {
41950 nit_abort("Assert failed", NULL, LOCATE_parser, 15452);
41951 }
41952 /* parser/parser.nit:15454 */
41953 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*/;
41954 if (UNTAG_Bool(REGB0)) {
41955 } else {
41956 nit_abort("Assert failed", NULL, LOCATE_parser, 15454);
41957 }
41958 /* parser/parser.nit:15455 */
41959 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]);
41960 /* parser/parser.nit:15462 */
41961 fra.me.REG[2] = fra.me.REG[6];
41962 /* parser/parser.nit:15463 */
41963 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41964 if (UNTAG_Bool(REGB0)) {
41965 } else {
41966 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15463);
41967 }
41968 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41969 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41970 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41971 stack_frame_head = fra.me.prev;
41972 return;
41973 }
41974 static const char LOCATE_parser___ReduceAction358___action[] = "parser::ReduceAction358::(parser::ReduceAction::action)";
41975 void parser___ReduceAction358___action(val_t p0, val_t p1){
41976 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
41977 val_t REGB0;
41978 val_t tmp;
41979 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41980 fra.me.file = LOCATE_parser;
41981 fra.me.line = 15468;
41982 fra.me.meth = LOCATE_parser___ReduceAction358___action;
41983 fra.me.has_broke = 0;
41984 fra.me.REG_size = 8;
41985 fra.me.nitni_local_ref_head = NULL;
41986 fra.me.REG[0] = NIT_NULL;
41987 fra.me.REG[1] = NIT_NULL;
41988 fra.me.REG[2] = NIT_NULL;
41989 fra.me.REG[3] = NIT_NULL;
41990 fra.me.REG[4] = NIT_NULL;
41991 fra.me.REG[5] = NIT_NULL;
41992 fra.me.REG[6] = NIT_NULL;
41993 fra.me.REG[7] = NIT_NULL;
41994 fra.me.REG[0] = p0;
41995 fra.me.REG[1] = p1;
41996 /* parser/parser.nit:15470 */
41997 fra.me.REG[2] = NIT_NULL;
41998 /* parser/parser.nit:15471 */
41999 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42000 /* parser/parser.nit:15472 */
42001 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42002 /* parser/parser.nit:15473 */
42003 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42004 /* parser/parser.nit:15474 */
42005 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42006 /* parser/parser.nit:15475 */
42007 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42008 /* parser/parser.nit:15476 */
42009 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
42010 /* parser/parser.nit:15477 */
42011 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
42012 /* parser/parser.nit:15479 */
42013 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*/;
42014 if (UNTAG_Bool(REGB0)) {
42015 } else {
42016 nit_abort("Assert failed", NULL, LOCATE_parser, 15479);
42017 }
42018 /* parser/parser.nit:15481 */
42019 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]*/;
42020 if (UNTAG_Bool(REGB0)) {
42021 } else {
42022 nit_abort("Assert failed", NULL, LOCATE_parser, 15481);
42023 }
42024 /* parser/parser.nit:15482 */
42025 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
42026 fra.me.REG[6] = fra.me.REG[4];
42027 /* parser/parser.nit:15484 */
42028 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*/;
42029 if (UNTAG_Bool(REGB0)) {
42030 } else {
42031 nit_abort("Assert failed", NULL, LOCATE_parser, 15484);
42032 }
42033 /* parser/parser.nit:15485 */
42034 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]);
42035 /* parser/parser.nit:15492 */
42036 fra.me.REG[2] = fra.me.REG[7];
42037 /* parser/parser.nit:15493 */
42038 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42039 if (UNTAG_Bool(REGB0)) {
42040 } else {
42041 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15493);
42042 }
42043 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42044 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42045 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42046 stack_frame_head = fra.me.prev;
42047 return;
42048 }
42049 static const char LOCATE_parser___ReduceAction359___action[] = "parser::ReduceAction359::(parser::ReduceAction::action)";
42050 void parser___ReduceAction359___action(val_t p0, val_t p1){
42051 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
42052 val_t REGB0;
42053 val_t tmp;
42054 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42055 fra.me.file = LOCATE_parser;
42056 fra.me.line = 15498;
42057 fra.me.meth = LOCATE_parser___ReduceAction359___action;
42058 fra.me.has_broke = 0;
42059 fra.me.REG_size = 8;
42060 fra.me.nitni_local_ref_head = NULL;
42061 fra.me.REG[0] = NIT_NULL;
42062 fra.me.REG[1] = NIT_NULL;
42063 fra.me.REG[2] = NIT_NULL;
42064 fra.me.REG[3] = NIT_NULL;
42065 fra.me.REG[4] = NIT_NULL;
42066 fra.me.REG[5] = NIT_NULL;
42067 fra.me.REG[6] = NIT_NULL;
42068 fra.me.REG[7] = NIT_NULL;
42069 fra.me.REG[0] = p0;
42070 fra.me.REG[1] = p1;
42071 /* parser/parser.nit:15500 */
42072 fra.me.REG[2] = NIT_NULL;
42073 /* parser/parser.nit:15501 */
42074 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42075 /* parser/parser.nit:15502 */
42076 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42077 /* parser/parser.nit:15503 */
42078 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42079 /* parser/parser.nit:15504 */
42080 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42081 /* parser/parser.nit:15505 */
42082 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42083 /* parser/parser.nit:15506 */
42084 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
42085 /* parser/parser.nit:15507 */
42086 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
42087 /* parser/parser.nit:15509 */
42088 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*/;
42089 if (UNTAG_Bool(REGB0)) {
42090 } else {
42091 nit_abort("Assert failed", NULL, LOCATE_parser, 15509);
42092 }
42093 /* parser/parser.nit:15511 */
42094 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*/;
42095 if (UNTAG_Bool(REGB0)) {
42096 } else {
42097 nit_abort("Assert failed", NULL, LOCATE_parser, 15511);
42098 }
42099 /* parser/parser.nit:15513 */
42100 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]*/;
42101 if (UNTAG_Bool(REGB0)) {
42102 } else {
42103 nit_abort("Assert failed", NULL, LOCATE_parser, 15513);
42104 }
42105 /* parser/parser.nit:15514 */
42106 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
42107 fra.me.REG[7] = fra.me.REG[3];
42108 /* parser/parser.nit:15515 */
42109 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]);
42110 /* parser/parser.nit:15522 */
42111 fra.me.REG[2] = fra.me.REG[7];
42112 /* parser/parser.nit:15523 */
42113 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42114 if (UNTAG_Bool(REGB0)) {
42115 } else {
42116 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15523);
42117 }
42118 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42119 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42120 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42121 stack_frame_head = fra.me.prev;
42122 return;
42123 }
42124 static const char LOCATE_parser___ReduceAction360___action[] = "parser::ReduceAction360::(parser::ReduceAction::action)";
42125 void parser___ReduceAction360___action(val_t p0, val_t p1){
42126 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
42127 val_t REGB0;
42128 val_t tmp;
42129 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42130 fra.me.file = LOCATE_parser;
42131 fra.me.line = 15528;
42132 fra.me.meth = LOCATE_parser___ReduceAction360___action;
42133 fra.me.has_broke = 0;
42134 fra.me.REG_size = 9;
42135 fra.me.nitni_local_ref_head = NULL;
42136 fra.me.REG[0] = NIT_NULL;
42137 fra.me.REG[1] = NIT_NULL;
42138 fra.me.REG[2] = NIT_NULL;
42139 fra.me.REG[3] = NIT_NULL;
42140 fra.me.REG[4] = NIT_NULL;
42141 fra.me.REG[5] = NIT_NULL;
42142 fra.me.REG[6] = NIT_NULL;
42143 fra.me.REG[7] = NIT_NULL;
42144 fra.me.REG[8] = NIT_NULL;
42145 fra.me.REG[0] = p0;
42146 fra.me.REG[1] = p1;
42147 /* parser/parser.nit:15530 */
42148 fra.me.REG[2] = NIT_NULL;
42149 /* parser/parser.nit:15531 */
42150 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42151 /* parser/parser.nit:15532 */
42152 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42153 /* parser/parser.nit:15533 */
42154 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42155 /* parser/parser.nit:15534 */
42156 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42157 /* parser/parser.nit:15535 */
42158 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42159 /* parser/parser.nit:15536 */
42160 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42161 /* parser/parser.nit:15537 */
42162 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
42163 /* parser/parser.nit:15538 */
42164 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
42165 /* parser/parser.nit:15540 */
42166 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*/;
42167 if (UNTAG_Bool(REGB0)) {
42168 } else {
42169 nit_abort("Assert failed", NULL, LOCATE_parser, 15540);
42170 }
42171 /* parser/parser.nit:15542 */
42172 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]*/;
42173 if (UNTAG_Bool(REGB0)) {
42174 } else {
42175 nit_abort("Assert failed", NULL, LOCATE_parser, 15542);
42176 }
42177 /* parser/parser.nit:15543 */
42178 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
42179 fra.me.REG[7] = fra.me.REG[5];
42180 /* parser/parser.nit:15545 */
42181 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*/;
42182 if (UNTAG_Bool(REGB0)) {
42183 } else {
42184 nit_abort("Assert failed", NULL, LOCATE_parser, 15545);
42185 }
42186 /* parser/parser.nit:15547 */
42187 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]*/;
42188 if (UNTAG_Bool(REGB0)) {
42189 } else {
42190 nit_abort("Assert failed", NULL, LOCATE_parser, 15547);
42191 }
42192 /* parser/parser.nit:15548 */
42193 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
42194 fra.me.REG[8] = fra.me.REG[3];
42195 /* parser/parser.nit:15549 */
42196 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]);
42197 /* parser/parser.nit:15556 */
42198 fra.me.REG[2] = fra.me.REG[8];
42199 /* parser/parser.nit:15557 */
42200 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42201 if (UNTAG_Bool(REGB0)) {
42202 } else {
42203 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15557);
42204 }
42205 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42206 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42207 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42208 stack_frame_head = fra.me.prev;
42209 return;
42210 }
42211 static const char LOCATE_parser___ReduceAction361___action[] = "parser::ReduceAction361::(parser::ReduceAction::action)";
42212 void parser___ReduceAction361___action(val_t p0, val_t p1){
42213 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
42214 val_t REGB0;
42215 val_t tmp;
42216 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42217 fra.me.file = LOCATE_parser;
42218 fra.me.line = 15562;
42219 fra.me.meth = LOCATE_parser___ReduceAction361___action;
42220 fra.me.has_broke = 0;
42221 fra.me.REG_size = 6;
42222 fra.me.nitni_local_ref_head = NULL;
42223 fra.me.REG[0] = NIT_NULL;
42224 fra.me.REG[1] = NIT_NULL;
42225 fra.me.REG[2] = NIT_NULL;
42226 fra.me.REG[3] = NIT_NULL;
42227 fra.me.REG[4] = NIT_NULL;
42228 fra.me.REG[5] = NIT_NULL;
42229 fra.me.REG[0] = p0;
42230 fra.me.REG[1] = p1;
42231 /* parser/parser.nit:15564 */
42232 fra.me.REG[2] = NIT_NULL;
42233 /* parser/parser.nit:15565 */
42234 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42235 /* parser/parser.nit:15566 */
42236 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42237 /* parser/parser.nit:15567 */
42238 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
42239 /* parser/parser.nit:15568 */
42240 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
42241 /* parser/parser.nit:15570 */
42242 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*/;
42243 if (UNTAG_Bool(REGB0)) {
42244 } else {
42245 nit_abort("Assert failed", NULL, LOCATE_parser, 15570);
42246 }
42247 /* parser/parser.nit:15571 */
42248 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]);
42249 /* parser/parser.nit:15578 */
42250 fra.me.REG[2] = fra.me.REG[5];
42251 /* parser/parser.nit:15579 */
42252 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42253 if (UNTAG_Bool(REGB0)) {
42254 } else {
42255 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15579);
42256 }
42257 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42258 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42259 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42260 stack_frame_head = fra.me.prev;
42261 return;
42262 }
42263 static const char LOCATE_parser___ReduceAction362___action[] = "parser::ReduceAction362::(parser::ReduceAction::action)";
42264 void parser___ReduceAction362___action(val_t p0, val_t p1){
42265 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
42266 val_t REGB0;
42267 val_t tmp;
42268 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42269 fra.me.file = LOCATE_parser;
42270 fra.me.line = 15584;
42271 fra.me.meth = LOCATE_parser___ReduceAction362___action;
42272 fra.me.has_broke = 0;
42273 fra.me.REG_size = 7;
42274 fra.me.nitni_local_ref_head = NULL;
42275 fra.me.REG[0] = NIT_NULL;
42276 fra.me.REG[1] = NIT_NULL;
42277 fra.me.REG[2] = NIT_NULL;
42278 fra.me.REG[3] = NIT_NULL;
42279 fra.me.REG[4] = NIT_NULL;
42280 fra.me.REG[5] = NIT_NULL;
42281 fra.me.REG[6] = NIT_NULL;
42282 fra.me.REG[0] = p0;
42283 fra.me.REG[1] = p1;
42284 /* parser/parser.nit:15586 */
42285 fra.me.REG[2] = NIT_NULL;
42286 /* parser/parser.nit:15587 */
42287 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42288 /* parser/parser.nit:15588 */
42289 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42290 /* parser/parser.nit:15589 */
42291 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42292 /* parser/parser.nit:15590 */
42293 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
42294 /* parser/parser.nit:15591 */
42295 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
42296 /* parser/parser.nit:15593 */
42297 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*/;
42298 if (UNTAG_Bool(REGB0)) {
42299 } else {
42300 nit_abort("Assert failed", NULL, LOCATE_parser, 15593);
42301 }
42302 /* parser/parser.nit:15595 */
42303 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]*/;
42304 if (UNTAG_Bool(REGB0)) {
42305 } else {
42306 nit_abort("Assert failed", NULL, LOCATE_parser, 15595);
42307 }
42308 /* parser/parser.nit:15596 */
42309 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
42310 fra.me.REG[6] = fra.me.REG[3];
42311 /* parser/parser.nit:15597 */
42312 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]);
42313 /* parser/parser.nit:15604 */
42314 fra.me.REG[2] = fra.me.REG[6];
42315 /* parser/parser.nit:15605 */
42316 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42317 if (UNTAG_Bool(REGB0)) {
42318 } else {
42319 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15605);
42320 }
42321 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42322 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42323 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42324 stack_frame_head = fra.me.prev;
42325 return;
42326 }
42327 static const char LOCATE_parser___ReduceAction363___action[] = "parser::ReduceAction363::(parser::ReduceAction::action)";
42328 void parser___ReduceAction363___action(val_t p0, val_t p1){
42329 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
42330 val_t REGB0;
42331 val_t tmp;
42332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42333 fra.me.file = LOCATE_parser;
42334 fra.me.line = 15610;
42335 fra.me.meth = LOCATE_parser___ReduceAction363___action;
42336 fra.me.has_broke = 0;
42337 fra.me.REG_size = 5;
42338 fra.me.nitni_local_ref_head = NULL;
42339 fra.me.REG[0] = NIT_NULL;
42340 fra.me.REG[1] = NIT_NULL;
42341 fra.me.REG[2] = NIT_NULL;
42342 fra.me.REG[3] = NIT_NULL;
42343 fra.me.REG[4] = NIT_NULL;
42344 fra.me.REG[0] = p0;
42345 fra.me.REG[1] = p1;
42346 /* parser/parser.nit:15612 */
42347 fra.me.REG[2] = NIT_NULL;
42348 /* parser/parser.nit:15613 */
42349 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42350 /* parser/parser.nit:15614 */
42351 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
42352 /* parser/parser.nit:15615 */
42353 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
42354 /* parser/parser.nit:15616 */
42355 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]);
42356 /* parser/parser.nit:15623 */
42357 fra.me.REG[2] = fra.me.REG[4];
42358 /* parser/parser.nit:15624 */
42359 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42360 if (UNTAG_Bool(REGB0)) {
42361 } else {
42362 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15624);
42363 }
42364 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42365 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42366 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42367 stack_frame_head = fra.me.prev;
42368 return;
42369 }
42370 static const char LOCATE_parser___ReduceAction364___action[] = "parser::ReduceAction364::(parser::ReduceAction::action)";
42371 void parser___ReduceAction364___action(val_t p0, val_t p1){
42372 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
42373 val_t REGB0;
42374 val_t tmp;
42375 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42376 fra.me.file = LOCATE_parser;
42377 fra.me.line = 15629;
42378 fra.me.meth = LOCATE_parser___ReduceAction364___action;
42379 fra.me.has_broke = 0;
42380 fra.me.REG_size = 6;
42381 fra.me.nitni_local_ref_head = NULL;
42382 fra.me.REG[0] = NIT_NULL;
42383 fra.me.REG[1] = NIT_NULL;
42384 fra.me.REG[2] = NIT_NULL;
42385 fra.me.REG[3] = NIT_NULL;
42386 fra.me.REG[4] = NIT_NULL;
42387 fra.me.REG[5] = NIT_NULL;
42388 fra.me.REG[0] = p0;
42389 fra.me.REG[1] = p1;
42390 /* parser/parser.nit:15631 */
42391 fra.me.REG[2] = NIT_NULL;
42392 /* parser/parser.nit:15632 */
42393 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42394 /* parser/parser.nit:15633 */
42395 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42396 /* parser/parser.nit:15634 */
42397 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
42398 /* parser/parser.nit:15635 */
42399 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
42400 /* parser/parser.nit:15637 */
42401 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]*/;
42402 if (UNTAG_Bool(REGB0)) {
42403 } else {
42404 nit_abort("Assert failed", NULL, LOCATE_parser, 15637);
42405 }
42406 /* parser/parser.nit:15638 */
42407 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
42408 fra.me.REG[5] = fra.me.REG[3];
42409 /* parser/parser.nit:15639 */
42410 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]);
42411 /* parser/parser.nit:15646 */
42412 fra.me.REG[2] = fra.me.REG[5];
42413 /* parser/parser.nit:15647 */
42414 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42415 if (UNTAG_Bool(REGB0)) {
42416 } else {
42417 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15647);
42418 }
42419 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42420 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42421 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42422 stack_frame_head = fra.me.prev;
42423 return;
42424 }
42425 static const char LOCATE_parser___ReduceAction365___action[] = "parser::ReduceAction365::(parser::ReduceAction::action)";
42426 void parser___ReduceAction365___action(val_t p0, val_t p1){
42427 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
42428 val_t REGB0;
42429 val_t tmp;
42430 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42431 fra.me.file = LOCATE_parser;
42432 fra.me.line = 15652;
42433 fra.me.meth = LOCATE_parser___ReduceAction365___action;
42434 fra.me.has_broke = 0;
42435 fra.me.REG_size = 7;
42436 fra.me.nitni_local_ref_head = NULL;
42437 fra.me.REG[0] = NIT_NULL;
42438 fra.me.REG[1] = NIT_NULL;
42439 fra.me.REG[2] = NIT_NULL;
42440 fra.me.REG[3] = NIT_NULL;
42441 fra.me.REG[4] = NIT_NULL;
42442 fra.me.REG[5] = NIT_NULL;
42443 fra.me.REG[6] = NIT_NULL;
42444 fra.me.REG[0] = p0;
42445 fra.me.REG[1] = p1;
42446 /* parser/parser.nit:15654 */
42447 fra.me.REG[2] = NIT_NULL;
42448 /* parser/parser.nit:15655 */
42449 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42450 /* parser/parser.nit:15656 */
42451 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42452 /* parser/parser.nit:15657 */
42453 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42454 /* parser/parser.nit:15658 */
42455 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
42456 /* parser/parser.nit:15659 */
42457 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
42458 /* parser/parser.nit:15661 */
42459 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*/;
42460 if (UNTAG_Bool(REGB0)) {
42461 } else {
42462 nit_abort("Assert failed", NULL, LOCATE_parser, 15661);
42463 }
42464 /* parser/parser.nit:15663 */
42465 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*/;
42466 if (UNTAG_Bool(REGB0)) {
42467 } else {
42468 nit_abort("Assert failed", NULL, LOCATE_parser, 15663);
42469 }
42470 /* parser/parser.nit:15664 */
42471 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]);
42472 /* parser/parser.nit:15671 */
42473 fra.me.REG[2] = fra.me.REG[6];
42474 /* parser/parser.nit:15672 */
42475 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42476 if (UNTAG_Bool(REGB0)) {
42477 } else {
42478 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15672);
42479 }
42480 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42481 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42482 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42483 stack_frame_head = fra.me.prev;
42484 return;
42485 }
42486 static const char LOCATE_parser___ReduceAction366___action[] = "parser::ReduceAction366::(parser::ReduceAction::action)";
42487 void parser___ReduceAction366___action(val_t p0, val_t p1){
42488 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
42489 val_t REGB0;
42490 val_t tmp;
42491 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42492 fra.me.file = LOCATE_parser;
42493 fra.me.line = 15677;
42494 fra.me.meth = LOCATE_parser___ReduceAction366___action;
42495 fra.me.has_broke = 0;
42496 fra.me.REG_size = 8;
42497 fra.me.nitni_local_ref_head = NULL;
42498 fra.me.REG[0] = NIT_NULL;
42499 fra.me.REG[1] = NIT_NULL;
42500 fra.me.REG[2] = NIT_NULL;
42501 fra.me.REG[3] = NIT_NULL;
42502 fra.me.REG[4] = NIT_NULL;
42503 fra.me.REG[5] = NIT_NULL;
42504 fra.me.REG[6] = NIT_NULL;
42505 fra.me.REG[7] = NIT_NULL;
42506 fra.me.REG[0] = p0;
42507 fra.me.REG[1] = p1;
42508 /* parser/parser.nit:15679 */
42509 fra.me.REG[2] = NIT_NULL;
42510 /* parser/parser.nit:15680 */
42511 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42512 /* parser/parser.nit:15681 */
42513 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42514 /* parser/parser.nit:15682 */
42515 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42516 /* parser/parser.nit:15683 */
42517 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42518 /* parser/parser.nit:15684 */
42519 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
42520 /* parser/parser.nit:15685 */
42521 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
42522 /* parser/parser.nit:15687 */
42523 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*/;
42524 if (UNTAG_Bool(REGB0)) {
42525 } else {
42526 nit_abort("Assert failed", NULL, LOCATE_parser, 15687);
42527 }
42528 /* parser/parser.nit:15689 */
42529 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]*/;
42530 if (UNTAG_Bool(REGB0)) {
42531 } else {
42532 nit_abort("Assert failed", NULL, LOCATE_parser, 15689);
42533 }
42534 /* parser/parser.nit:15690 */
42535 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
42536 fra.me.REG[6] = fra.me.REG[4];
42537 /* parser/parser.nit:15692 */
42538 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*/;
42539 if (UNTAG_Bool(REGB0)) {
42540 } else {
42541 nit_abort("Assert failed", NULL, LOCATE_parser, 15692);
42542 }
42543 /* parser/parser.nit:15693 */
42544 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]);
42545 /* parser/parser.nit:15700 */
42546 fra.me.REG[2] = fra.me.REG[7];
42547 /* parser/parser.nit:15701 */
42548 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42549 if (UNTAG_Bool(REGB0)) {
42550 } else {
42551 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15701);
42552 }
42553 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42554 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42555 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42556 stack_frame_head = fra.me.prev;
42557 return;
42558 }
42559 static const char LOCATE_parser___ReduceAction367___action[] = "parser::ReduceAction367::(parser::ReduceAction::action)";
42560 void parser___ReduceAction367___action(val_t p0, val_t p1){
42561 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
42562 val_t REGB0;
42563 val_t tmp;
42564 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42565 fra.me.file = LOCATE_parser;
42566 fra.me.line = 15706;
42567 fra.me.meth = LOCATE_parser___ReduceAction367___action;
42568 fra.me.has_broke = 0;
42569 fra.me.REG_size = 8;
42570 fra.me.nitni_local_ref_head = NULL;
42571 fra.me.REG[0] = NIT_NULL;
42572 fra.me.REG[1] = NIT_NULL;
42573 fra.me.REG[2] = NIT_NULL;
42574 fra.me.REG[3] = NIT_NULL;
42575 fra.me.REG[4] = NIT_NULL;
42576 fra.me.REG[5] = NIT_NULL;
42577 fra.me.REG[6] = NIT_NULL;
42578 fra.me.REG[7] = NIT_NULL;
42579 fra.me.REG[0] = p0;
42580 fra.me.REG[1] = p1;
42581 /* parser/parser.nit:15708 */
42582 fra.me.REG[2] = NIT_NULL;
42583 /* parser/parser.nit:15709 */
42584 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42585 /* parser/parser.nit:15710 */
42586 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42587 /* parser/parser.nit:15711 */
42588 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42589 /* parser/parser.nit:15712 */
42590 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42591 /* parser/parser.nit:15713 */
42592 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
42593 /* parser/parser.nit:15714 */
42594 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
42595 /* parser/parser.nit:15716 */
42596 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*/;
42597 if (UNTAG_Bool(REGB0)) {
42598 } else {
42599 nit_abort("Assert failed", NULL, LOCATE_parser, 15716);
42600 }
42601 /* parser/parser.nit:15718 */
42602 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*/;
42603 if (UNTAG_Bool(REGB0)) {
42604 } else {
42605 nit_abort("Assert failed", NULL, LOCATE_parser, 15718);
42606 }
42607 /* parser/parser.nit:15720 */
42608 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*/;
42609 if (UNTAG_Bool(REGB0)) {
42610 } else {
42611 nit_abort("Assert failed", NULL, LOCATE_parser, 15720);
42612 }
42613 /* parser/parser.nit:15721 */
42614 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]);
42615 /* parser/parser.nit:15728 */
42616 fra.me.REG[2] = fra.me.REG[7];
42617 /* parser/parser.nit:15729 */
42618 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42619 if (UNTAG_Bool(REGB0)) {
42620 } else {
42621 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15729);
42622 }
42623 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42624 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42625 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42626 stack_frame_head = fra.me.prev;
42627 return;
42628 }
42629 static const char LOCATE_parser___ReduceAction368___action[] = "parser::ReduceAction368::(parser::ReduceAction::action)";
42630 void parser___ReduceAction368___action(val_t p0, val_t p1){
42631 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
42632 val_t REGB0;
42633 val_t tmp;
42634 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42635 fra.me.file = LOCATE_parser;
42636 fra.me.line = 15734;
42637 fra.me.meth = LOCATE_parser___ReduceAction368___action;
42638 fra.me.has_broke = 0;
42639 fra.me.REG_size = 9;
42640 fra.me.nitni_local_ref_head = NULL;
42641 fra.me.REG[0] = NIT_NULL;
42642 fra.me.REG[1] = NIT_NULL;
42643 fra.me.REG[2] = NIT_NULL;
42644 fra.me.REG[3] = NIT_NULL;
42645 fra.me.REG[4] = NIT_NULL;
42646 fra.me.REG[5] = NIT_NULL;
42647 fra.me.REG[6] = NIT_NULL;
42648 fra.me.REG[7] = NIT_NULL;
42649 fra.me.REG[8] = NIT_NULL;
42650 fra.me.REG[0] = p0;
42651 fra.me.REG[1] = p1;
42652 /* parser/parser.nit:15736 */
42653 fra.me.REG[2] = NIT_NULL;
42654 /* parser/parser.nit:15737 */
42655 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42656 /* parser/parser.nit:15738 */
42657 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42658 /* parser/parser.nit:15739 */
42659 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42660 /* parser/parser.nit:15740 */
42661 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42662 /* parser/parser.nit:15741 */
42663 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42664 /* parser/parser.nit:15742 */
42665 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
42666 /* parser/parser.nit:15743 */
42667 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
42668 /* parser/parser.nit:15745 */
42669 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*/;
42670 if (UNTAG_Bool(REGB0)) {
42671 } else {
42672 nit_abort("Assert failed", NULL, LOCATE_parser, 15745);
42673 }
42674 /* parser/parser.nit:15747 */
42675 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]*/;
42676 if (UNTAG_Bool(REGB0)) {
42677 } else {
42678 nit_abort("Assert failed", NULL, LOCATE_parser, 15747);
42679 }
42680 /* parser/parser.nit:15748 */
42681 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
42682 fra.me.REG[7] = fra.me.REG[5];
42683 /* parser/parser.nit:15750 */
42684 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*/;
42685 if (UNTAG_Bool(REGB0)) {
42686 } else {
42687 nit_abort("Assert failed", NULL, LOCATE_parser, 15750);
42688 }
42689 /* parser/parser.nit:15752 */
42690 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*/;
42691 if (UNTAG_Bool(REGB0)) {
42692 } else {
42693 nit_abort("Assert failed", NULL, LOCATE_parser, 15752);
42694 }
42695 /* parser/parser.nit:15753 */
42696 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]);
42697 /* parser/parser.nit:15760 */
42698 fra.me.REG[2] = fra.me.REG[8];
42699 /* parser/parser.nit:15761 */
42700 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42701 if (UNTAG_Bool(REGB0)) {
42702 } else {
42703 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15761);
42704 }
42705 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42706 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42707 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42708 stack_frame_head = fra.me.prev;
42709 return;
42710 }
42711 static const char LOCATE_parser___ReduceAction369___action[] = "parser::ReduceAction369::(parser::ReduceAction::action)";
42712 void parser___ReduceAction369___action(val_t p0, val_t p1){
42713 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
42714 val_t REGB0;
42715 val_t tmp;
42716 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42717 fra.me.file = LOCATE_parser;
42718 fra.me.line = 15766;
42719 fra.me.meth = LOCATE_parser___ReduceAction369___action;
42720 fra.me.has_broke = 0;
42721 fra.me.REG_size = 5;
42722 fra.me.nitni_local_ref_head = NULL;
42723 fra.me.REG[0] = NIT_NULL;
42724 fra.me.REG[1] = NIT_NULL;
42725 fra.me.REG[2] = NIT_NULL;
42726 fra.me.REG[3] = NIT_NULL;
42727 fra.me.REG[4] = NIT_NULL;
42728 fra.me.REG[0] = p0;
42729 fra.me.REG[1] = p1;
42730 /* parser/parser.nit:15768 */
42731 fra.me.REG[2] = NIT_NULL;
42732 /* parser/parser.nit:15769 */
42733 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
42734 /* parser/parser.nit:15770 */
42735 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
42736 /* parser/parser.nit:15771 */
42737 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]);
42738 /* parser/parser.nit:15778 */
42739 fra.me.REG[2] = fra.me.REG[4];
42740 /* parser/parser.nit:15779 */
42741 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42742 if (UNTAG_Bool(REGB0)) {
42743 } else {
42744 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15779);
42745 }
42746 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42747 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42748 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42749 stack_frame_head = fra.me.prev;
42750 return;
42751 }
42752 static const char LOCATE_parser___ReduceAction370___action[] = "parser::ReduceAction370::(parser::ReduceAction::action)";
42753 void parser___ReduceAction370___action(val_t p0, val_t p1){
42754 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
42755 val_t REGB0;
42756 val_t tmp;
42757 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42758 fra.me.file = LOCATE_parser;
42759 fra.me.line = 15784;
42760 fra.me.meth = LOCATE_parser___ReduceAction370___action;
42761 fra.me.has_broke = 0;
42762 fra.me.REG_size = 6;
42763 fra.me.nitni_local_ref_head = NULL;
42764 fra.me.REG[0] = NIT_NULL;
42765 fra.me.REG[1] = NIT_NULL;
42766 fra.me.REG[2] = NIT_NULL;
42767 fra.me.REG[3] = NIT_NULL;
42768 fra.me.REG[4] = NIT_NULL;
42769 fra.me.REG[5] = NIT_NULL;
42770 fra.me.REG[0] = p0;
42771 fra.me.REG[1] = p1;
42772 /* parser/parser.nit:15786 */
42773 fra.me.REG[2] = NIT_NULL;
42774 /* parser/parser.nit:15787 */
42775 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42776 /* parser/parser.nit:15788 */
42777 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
42778 /* parser/parser.nit:15789 */
42779 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
42780 /* parser/parser.nit:15791 */
42781 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*/;
42782 if (UNTAG_Bool(REGB0)) {
42783 } else {
42784 nit_abort("Assert failed", NULL, LOCATE_parser, 15791);
42785 }
42786 /* parser/parser.nit:15792 */
42787 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]);
42788 /* parser/parser.nit:15799 */
42789 fra.me.REG[2] = fra.me.REG[5];
42790 /* parser/parser.nit:15800 */
42791 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42792 if (UNTAG_Bool(REGB0)) {
42793 } else {
42794 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15800);
42795 }
42796 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42797 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42798 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42799 stack_frame_head = fra.me.prev;
42800 return;
42801 }
42802 static const char LOCATE_parser___ReduceAction371___action[] = "parser::ReduceAction371::(parser::ReduceAction::action)";
42803 void parser___ReduceAction371___action(val_t p0, val_t p1){
42804 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
42805 val_t REGB0;
42806 val_t REGB1;
42807 val_t tmp;
42808 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42809 fra.me.file = LOCATE_parser;
42810 fra.me.line = 15805;
42811 fra.me.meth = LOCATE_parser___ReduceAction371___action;
42812 fra.me.has_broke = 0;
42813 fra.me.REG_size = 5;
42814 fra.me.nitni_local_ref_head = NULL;
42815 fra.me.REG[0] = NIT_NULL;
42816 fra.me.REG[1] = NIT_NULL;
42817 fra.me.REG[2] = NIT_NULL;
42818 fra.me.REG[3] = NIT_NULL;
42819 fra.me.REG[4] = NIT_NULL;
42820 fra.me.REG[0] = p0;
42821 fra.me.REG[1] = p1;
42822 /* parser/parser.nit:15807 */
42823 fra.me.REG[2] = NIT_NULL;
42824 /* parser/parser.nit:15808 */
42825 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42826 /* parser/parser.nit:15809 */
42827 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42828 /* parser/parser.nit:15810 */
42829 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
42830 /* parser/parser.nit:15812 */
42831 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
42832 if (UNTAG_Bool(REGB0)) {
42833 } else {
42834 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
42835 if (UNTAG_Bool(REGB1)) {
42836 REGB1 = TAG_Bool(0);
42837 REGB0 = REGB1;
42838 } else {
42839 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
42840 REGB0 = REGB1;
42841 }
42842 }
42843 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
42844 if (UNTAG_Bool(REGB0)) {
42845 /* parser/parser.nit:15813 */
42846 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
42847 }
42848 /* parser/parser.nit:15815 */
42849 fra.me.REG[2] = fra.me.REG[4];
42850 /* parser/parser.nit:15816 */
42851 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42852 if (UNTAG_Bool(REGB0)) {
42853 } else {
42854 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15816);
42855 }
42856 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42857 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42858 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42859 stack_frame_head = fra.me.prev;
42860 return;
42861 }
42862 static const char LOCATE_parser___ReduceAction372___action[] = "parser::ReduceAction372::(parser::ReduceAction::action)";
42863 void parser___ReduceAction372___action(val_t p0, val_t p1){
42864 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
42865 val_t REGB0;
42866 val_t REGB1;
42867 val_t tmp;
42868 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42869 fra.me.file = LOCATE_parser;
42870 fra.me.line = 15821;
42871 fra.me.meth = LOCATE_parser___ReduceAction372___action;
42872 fra.me.has_broke = 0;
42873 fra.me.REG_size = 6;
42874 fra.me.nitni_local_ref_head = NULL;
42875 fra.me.REG[0] = NIT_NULL;
42876 fra.me.REG[1] = NIT_NULL;
42877 fra.me.REG[2] = NIT_NULL;
42878 fra.me.REG[3] = NIT_NULL;
42879 fra.me.REG[4] = NIT_NULL;
42880 fra.me.REG[5] = NIT_NULL;
42881 fra.me.REG[0] = p0;
42882 fra.me.REG[1] = p1;
42883 /* parser/parser.nit:15823 */
42884 fra.me.REG[2] = NIT_NULL;
42885 /* parser/parser.nit:15824 */
42886 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42887 /* parser/parser.nit:15825 */
42888 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42889 /* parser/parser.nit:15826 */
42890 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42891 /* parser/parser.nit:15827 */
42892 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
42893 /* parser/parser.nit:15830 */
42894 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]*/;
42895 if (UNTAG_Bool(REGB0)) {
42896 } else {
42897 nit_abort("Assert failed", NULL, LOCATE_parser, 15830);
42898 }
42899 /* parser/parser.nit:15831 */
42900 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
42901 if (UNTAG_Bool(REGB0)) {
42902 } else {
42903 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
42904 if (UNTAG_Bool(REGB1)) {
42905 REGB1 = TAG_Bool(0);
42906 REGB0 = REGB1;
42907 } else {
42908 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
42909 REGB0 = REGB1;
42910 }
42911 }
42912 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
42913 if (UNTAG_Bool(REGB0)) {
42914 /* parser/parser.nit:15832 */
42915 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
42916 }
42917 /* parser/parser.nit:15834 */
42918 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
42919 fra.me.REG[5] = fra.me.REG[3];
42920 /* parser/parser.nit:15835 */
42921 fra.me.REG[2] = fra.me.REG[5];
42922 /* parser/parser.nit:15836 */
42923 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42924 if (UNTAG_Bool(REGB0)) {
42925 } else {
42926 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15836);
42927 }
42928 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42929 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42930 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42931 stack_frame_head = fra.me.prev;
42932 return;
42933 }
42934 static const char LOCATE_parser___ReduceAction373___action[] = "parser::ReduceAction373::(parser::ReduceAction::action)";
42935 void parser___ReduceAction373___action(val_t p0, val_t p1){
42936 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
42937 val_t REGB0;
42938 val_t tmp;
42939 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42940 fra.me.file = LOCATE_parser;
42941 fra.me.line = 15841;
42942 fra.me.meth = LOCATE_parser___ReduceAction373___action;
42943 fra.me.has_broke = 0;
42944 fra.me.REG_size = 5;
42945 fra.me.nitni_local_ref_head = NULL;
42946 fra.me.REG[0] = NIT_NULL;
42947 fra.me.REG[1] = NIT_NULL;
42948 fra.me.REG[2] = NIT_NULL;
42949 fra.me.REG[3] = NIT_NULL;
42950 fra.me.REG[4] = NIT_NULL;
42951 fra.me.REG[0] = p0;
42952 fra.me.REG[1] = p1;
42953 /* parser/parser.nit:15843 */
42954 fra.me.REG[2] = NIT_NULL;
42955 /* parser/parser.nit:15844 */
42956 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42957 /* parser/parser.nit:15845 */
42958 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42959 /* parser/parser.nit:15846 */
42960 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42961 /* parser/parser.nit:15848 */
42962 fra.me.REG[2] = fra.me.REG[3];
42963 /* parser/parser.nit:15849 */
42964 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42965 if (UNTAG_Bool(REGB0)) {
42966 } else {
42967 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15849);
42968 }
42969 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42970 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42971 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42972 stack_frame_head = fra.me.prev;
42973 return;
42974 }
42975 static const char LOCATE_parser___ReduceAction374___action[] = "parser::ReduceAction374::(parser::ReduceAction::action)";
42976 void parser___ReduceAction374___action(val_t p0, val_t p1){
42977 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
42978 val_t REGB0;
42979 val_t tmp;
42980 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42981 fra.me.file = LOCATE_parser;
42982 fra.me.line = 15854;
42983 fra.me.meth = LOCATE_parser___ReduceAction374___action;
42984 fra.me.has_broke = 0;
42985 fra.me.REG_size = 4;
42986 fra.me.nitni_local_ref_head = NULL;
42987 fra.me.REG[0] = NIT_NULL;
42988 fra.me.REG[1] = NIT_NULL;
42989 fra.me.REG[2] = NIT_NULL;
42990 fra.me.REG[3] = NIT_NULL;
42991 fra.me.REG[0] = p0;
42992 fra.me.REG[1] = p1;
42993 /* parser/parser.nit:15856 */
42994 fra.me.REG[2] = NIT_NULL;
42995 /* parser/parser.nit:15857 */
42996 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42997 /* parser/parser.nit:15859 */
42998 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*/;
42999 if (UNTAG_Bool(REGB0)) {
43000 } else {
43001 nit_abort("Assert failed", NULL, LOCATE_parser, 15859);
43002 }
43003 /* parser/parser.nit:15860 */
43004 fra.me.REG[3] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
43005 /* parser/parser.nit:15866 */
43006 fra.me.REG[2] = fra.me.REG[3];
43007 /* parser/parser.nit:15867 */
43008 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43009 if (UNTAG_Bool(REGB0)) {
43010 } else {
43011 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15867);
43012 }
43013 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43014 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43015 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43016 stack_frame_head = fra.me.prev;
43017 return;
43018 }
43019 static const char LOCATE_parser___ReduceAction375___action[] = "parser::ReduceAction375::(parser::ReduceAction::action)";
43020 void parser___ReduceAction375___action(val_t p0, val_t p1){
43021 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
43022 val_t REGB0;
43023 val_t tmp;
43024 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43025 fra.me.file = LOCATE_parser;
43026 fra.me.line = 15872;
43027 fra.me.meth = LOCATE_parser___ReduceAction375___action;
43028 fra.me.has_broke = 0;
43029 fra.me.REG_size = 5;
43030 fra.me.nitni_local_ref_head = NULL;
43031 fra.me.REG[0] = NIT_NULL;
43032 fra.me.REG[1] = NIT_NULL;
43033 fra.me.REG[2] = NIT_NULL;
43034 fra.me.REG[3] = NIT_NULL;
43035 fra.me.REG[4] = NIT_NULL;
43036 fra.me.REG[0] = p0;
43037 fra.me.REG[1] = p1;
43038 /* parser/parser.nit:15874 */
43039 fra.me.REG[2] = NIT_NULL;
43040 /* parser/parser.nit:15875 */
43041 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43042 /* parser/parser.nit:15876 */
43043 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43044 /* parser/parser.nit:15878 */
43045 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*/;
43046 if (UNTAG_Bool(REGB0)) {
43047 } else {
43048 nit_abort("Assert failed", NULL, LOCATE_parser, 15878);
43049 }
43050 /* parser/parser.nit:15880 */
43051 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
43052 if (UNTAG_Bool(REGB0)) {
43053 } else {
43054 nit_abort("Assert failed", NULL, LOCATE_parser, 15880);
43055 }
43056 /* parser/parser.nit:15881 */
43057 fra.me.REG[3] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
43058 /* parser/parser.nit:15887 */
43059 fra.me.REG[2] = fra.me.REG[3];
43060 /* parser/parser.nit:15888 */
43061 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43062 if (UNTAG_Bool(REGB0)) {
43063 } else {
43064 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15888);
43065 }
43066 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43067 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43068 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43069 stack_frame_head = fra.me.prev;
43070 return;
43071 }
43072 static const char LOCATE_parser___ReduceAction376___action[] = "parser::ReduceAction376::(parser::ReduceAction::action)";
43073 void parser___ReduceAction376___action(val_t p0, val_t p1){
43074 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
43075 val_t REGB0;
43076 val_t tmp;
43077 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43078 fra.me.file = LOCATE_parser;
43079 fra.me.line = 15893;
43080 fra.me.meth = LOCATE_parser___ReduceAction376___action;
43081 fra.me.has_broke = 0;
43082 fra.me.REG_size = 5;
43083 fra.me.nitni_local_ref_head = NULL;
43084 fra.me.REG[0] = NIT_NULL;
43085 fra.me.REG[1] = NIT_NULL;
43086 fra.me.REG[2] = NIT_NULL;
43087 fra.me.REG[3] = NIT_NULL;
43088 fra.me.REG[4] = NIT_NULL;
43089 fra.me.REG[0] = p0;
43090 fra.me.REG[1] = p1;
43091 /* parser/parser.nit:15895 */
43092 fra.me.REG[2] = NIT_NULL;
43093 /* parser/parser.nit:15896 */
43094 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43095 /* parser/parser.nit:15897 */
43096 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43097 /* parser/parser.nit:15899 */
43098 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*/;
43099 if (UNTAG_Bool(REGB0)) {
43100 } else {
43101 nit_abort("Assert failed", NULL, LOCATE_parser, 15899);
43102 }
43103 /* parser/parser.nit:15901 */
43104 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*/;
43105 if (UNTAG_Bool(REGB0)) {
43106 } else {
43107 nit_abort("Assert failed", NULL, LOCATE_parser, 15901);
43108 }
43109 /* parser/parser.nit:15902 */
43110 fra.me.REG[3] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL);
43111 /* parser/parser.nit:15908 */
43112 fra.me.REG[2] = fra.me.REG[3];
43113 /* parser/parser.nit:15909 */
43114 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43115 if (UNTAG_Bool(REGB0)) {
43116 } else {
43117 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15909);
43118 }
43119 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43120 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43121 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43122 stack_frame_head = fra.me.prev;
43123 return;
43124 }
43125 static const char LOCATE_parser___ReduceAction377___action[] = "parser::ReduceAction377::(parser::ReduceAction::action)";
43126 void parser___ReduceAction377___action(val_t p0, val_t p1){
43127 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
43128 val_t REGB0;
43129 val_t tmp;
43130 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43131 fra.me.file = LOCATE_parser;
43132 fra.me.line = 15914;
43133 fra.me.meth = LOCATE_parser___ReduceAction377___action;
43134 fra.me.has_broke = 0;
43135 fra.me.REG_size = 6;
43136 fra.me.nitni_local_ref_head = NULL;
43137 fra.me.REG[0] = NIT_NULL;
43138 fra.me.REG[1] = NIT_NULL;
43139 fra.me.REG[2] = NIT_NULL;
43140 fra.me.REG[3] = NIT_NULL;
43141 fra.me.REG[4] = NIT_NULL;
43142 fra.me.REG[5] = NIT_NULL;
43143 fra.me.REG[0] = p0;
43144 fra.me.REG[1] = p1;
43145 /* parser/parser.nit:15916 */
43146 fra.me.REG[2] = NIT_NULL;
43147 /* parser/parser.nit:15917 */
43148 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43149 /* parser/parser.nit:15918 */
43150 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43151 /* parser/parser.nit:15919 */
43152 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43153 /* parser/parser.nit:15921 */
43154 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*/;
43155 if (UNTAG_Bool(REGB0)) {
43156 } else {
43157 nit_abort("Assert failed", NULL, LOCATE_parser, 15921);
43158 }
43159 /* parser/parser.nit:15923 */
43160 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*/;
43161 if (UNTAG_Bool(REGB0)) {
43162 } else {
43163 nit_abort("Assert failed", NULL, LOCATE_parser, 15923);
43164 }
43165 /* parser/parser.nit:15925 */
43166 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
43167 if (UNTAG_Bool(REGB0)) {
43168 } else {
43169 nit_abort("Assert failed", NULL, LOCATE_parser, 15925);
43170 }
43171 /* parser/parser.nit:15926 */
43172 fra.me.REG[4] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[5], fra.me.REG[3], NIT_NULL, fra.me.REG[4]);
43173 /* parser/parser.nit:15932 */
43174 fra.me.REG[2] = fra.me.REG[4];
43175 /* parser/parser.nit:15933 */
43176 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43177 if (UNTAG_Bool(REGB0)) {
43178 } else {
43179 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15933);
43180 }
43181 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43182 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43183 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43184 stack_frame_head = fra.me.prev;
43185 return;
43186 }
43187 static const char LOCATE_parser___ReduceAction378___action[] = "parser::ReduceAction378::(parser::ReduceAction::action)";
43188 void parser___ReduceAction378___action(val_t p0, val_t p1){
43189 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
43190 val_t REGB0;
43191 val_t tmp;
43192 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43193 fra.me.file = LOCATE_parser;
43194 fra.me.line = 15938;
43195 fra.me.meth = LOCATE_parser___ReduceAction378___action;
43196 fra.me.has_broke = 0;
43197 fra.me.REG_size = 6;
43198 fra.me.nitni_local_ref_head = NULL;
43199 fra.me.REG[0] = NIT_NULL;
43200 fra.me.REG[1] = NIT_NULL;
43201 fra.me.REG[2] = NIT_NULL;
43202 fra.me.REG[3] = NIT_NULL;
43203 fra.me.REG[4] = NIT_NULL;
43204 fra.me.REG[5] = NIT_NULL;
43205 fra.me.REG[0] = p0;
43206 fra.me.REG[1] = p1;
43207 /* parser/parser.nit:15940 */
43208 fra.me.REG[2] = NIT_NULL;
43209 /* parser/parser.nit:15941 */
43210 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43211 /* parser/parser.nit:15942 */
43212 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43213 /* parser/parser.nit:15943 */
43214 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43215 /* parser/parser.nit:15945 */
43216 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*/;
43217 if (UNTAG_Bool(REGB0)) {
43218 } else {
43219 nit_abort("Assert failed", NULL, LOCATE_parser, 15945);
43220 }
43221 /* parser/parser.nit:15947 */
43222 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*/;
43223 if (UNTAG_Bool(REGB0)) {
43224 } else {
43225 nit_abort("Assert failed", NULL, LOCATE_parser, 15947);
43226 }
43227 /* parser/parser.nit:15949 */
43228 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*/;
43229 if (UNTAG_Bool(REGB0)) {
43230 } else {
43231 nit_abort("Assert failed", NULL, LOCATE_parser, 15949);
43232 }
43233 /* parser/parser.nit:15950 */
43234 fra.me.REG[3] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
43235 /* parser/parser.nit:15956 */
43236 fra.me.REG[2] = fra.me.REG[3];
43237 /* parser/parser.nit:15957 */
43238 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43239 if (UNTAG_Bool(REGB0)) {
43240 } else {
43241 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15957);
43242 }
43243 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43244 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43245 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43246 stack_frame_head = fra.me.prev;
43247 return;
43248 }
43249 static const char LOCATE_parser___ReduceAction379___action[] = "parser::ReduceAction379::(parser::ReduceAction::action)";
43250 void parser___ReduceAction379___action(val_t p0, val_t p1){
43251 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
43252 val_t REGB0;
43253 val_t tmp;
43254 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43255 fra.me.file = LOCATE_parser;
43256 fra.me.line = 15962;
43257 fra.me.meth = LOCATE_parser___ReduceAction379___action;
43258 fra.me.has_broke = 0;
43259 fra.me.REG_size = 7;
43260 fra.me.nitni_local_ref_head = NULL;
43261 fra.me.REG[0] = NIT_NULL;
43262 fra.me.REG[1] = NIT_NULL;
43263 fra.me.REG[2] = NIT_NULL;
43264 fra.me.REG[3] = NIT_NULL;
43265 fra.me.REG[4] = NIT_NULL;
43266 fra.me.REG[5] = NIT_NULL;
43267 fra.me.REG[6] = NIT_NULL;
43268 fra.me.REG[0] = p0;
43269 fra.me.REG[1] = p1;
43270 /* parser/parser.nit:15964 */
43271 fra.me.REG[2] = NIT_NULL;
43272 /* parser/parser.nit:15965 */
43273 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43274 /* parser/parser.nit:15966 */
43275 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43276 /* parser/parser.nit:15967 */
43277 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43278 /* parser/parser.nit:15968 */
43279 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43280 /* parser/parser.nit:15970 */
43281 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*/;
43282 if (UNTAG_Bool(REGB0)) {
43283 } else {
43284 nit_abort("Assert failed", NULL, LOCATE_parser, 15970);
43285 }
43286 /* parser/parser.nit:15972 */
43287 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*/;
43288 if (UNTAG_Bool(REGB0)) {
43289 } else {
43290 nit_abort("Assert failed", NULL, LOCATE_parser, 15972);
43291 }
43292 /* parser/parser.nit:15974 */
43293 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*/;
43294 if (UNTAG_Bool(REGB0)) {
43295 } else {
43296 nit_abort("Assert failed", NULL, LOCATE_parser, 15974);
43297 }
43298 /* parser/parser.nit:15976 */
43299 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
43300 if (UNTAG_Bool(REGB0)) {
43301 } else {
43302 nit_abort("Assert failed", NULL, LOCATE_parser, 15976);
43303 }
43304 /* parser/parser.nit:15977 */
43305 fra.me.REG[5] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
43306 /* parser/parser.nit:15983 */
43307 fra.me.REG[2] = fra.me.REG[5];
43308 /* parser/parser.nit:15984 */
43309 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43310 if (UNTAG_Bool(REGB0)) {
43311 } else {
43312 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15984);
43313 }
43314 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43315 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43316 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43317 stack_frame_head = fra.me.prev;
43318 return;
43319 }
43320 static const char LOCATE_parser___ReduceAction380___action[] = "parser::ReduceAction380::(parser::ReduceAction::action)";
43321 void parser___ReduceAction380___action(val_t p0, val_t p1){
43322 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
43323 val_t REGB0;
43324 val_t tmp;
43325 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43326 fra.me.file = LOCATE_parser;
43327 fra.me.line = 15989;
43328 fra.me.meth = LOCATE_parser___ReduceAction380___action;
43329 fra.me.has_broke = 0;
43330 fra.me.REG_size = 5;
43331 fra.me.nitni_local_ref_head = NULL;
43332 fra.me.REG[0] = NIT_NULL;
43333 fra.me.REG[1] = NIT_NULL;
43334 fra.me.REG[2] = NIT_NULL;
43335 fra.me.REG[3] = NIT_NULL;
43336 fra.me.REG[4] = NIT_NULL;
43337 fra.me.REG[0] = p0;
43338 fra.me.REG[1] = p1;
43339 /* parser/parser.nit:15991 */
43340 fra.me.REG[2] = NIT_NULL;
43341 /* parser/parser.nit:15992 */
43342 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43343 /* parser/parser.nit:15993 */
43344 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
43345 /* parser/parser.nit:15995 */
43346 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]*/;
43347 if (UNTAG_Bool(REGB0)) {
43348 } else {
43349 nit_abort("Assert failed", NULL, LOCATE_parser, 15995);
43350 }
43351 /* parser/parser.nit:15996 */
43352 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
43353 fra.me.REG[4] = fra.me.REG[3];
43354 /* parser/parser.nit:15997 */
43355 fra.me.REG[2] = fra.me.REG[4];
43356 /* parser/parser.nit:15998 */
43357 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43358 if (UNTAG_Bool(REGB0)) {
43359 } else {
43360 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15998);
43361 }
43362 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43363 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43364 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43365 stack_frame_head = fra.me.prev;
43366 return;
43367 }
43368 static const char LOCATE_parser___ReduceAction381___action[] = "parser::ReduceAction381::(parser::ReduceAction::action)";
43369 void parser___ReduceAction381___action(val_t p0, val_t p1){
43370 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
43371 val_t REGB0;
43372 val_t tmp;
43373 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43374 fra.me.file = LOCATE_parser;
43375 fra.me.line = 16003;
43376 fra.me.meth = LOCATE_parser___ReduceAction381___action;
43377 fra.me.has_broke = 0;
43378 fra.me.REG_size = 6;
43379 fra.me.nitni_local_ref_head = NULL;
43380 fra.me.REG[0] = NIT_NULL;
43381 fra.me.REG[1] = NIT_NULL;
43382 fra.me.REG[2] = NIT_NULL;
43383 fra.me.REG[3] = NIT_NULL;
43384 fra.me.REG[4] = NIT_NULL;
43385 fra.me.REG[5] = NIT_NULL;
43386 fra.me.REG[0] = p0;
43387 fra.me.REG[1] = p1;
43388 /* parser/parser.nit:16005 */
43389 fra.me.REG[2] = NIT_NULL;
43390 /* parser/parser.nit:16006 */
43391 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43392 /* parser/parser.nit:16007 */
43393 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43394 /* parser/parser.nit:16008 */
43395 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43396 /* parser/parser.nit:16009 */
43397 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43398 /* parser/parser.nit:16011 */
43399 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*/;
43400 if (UNTAG_Bool(REGB0)) {
43401 } else {
43402 nit_abort("Assert failed", NULL, LOCATE_parser, 16011);
43403 }
43404 /* parser/parser.nit:16013 */
43405 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*/;
43406 if (UNTAG_Bool(REGB0)) {
43407 } else {
43408 nit_abort("Assert failed", NULL, LOCATE_parser, 16013);
43409 }
43410 /* parser/parser.nit:16015 */
43411 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*/;
43412 if (UNTAG_Bool(REGB0)) {
43413 } else {
43414 nit_abort("Assert failed", NULL, LOCATE_parser, 16015);
43415 }
43416 /* parser/parser.nit:16016 */
43417 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);
43418 /* parser/parser.nit:16023 */
43419 fra.me.REG[2] = fra.me.REG[3];
43420 /* parser/parser.nit:16024 */
43421 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43422 if (UNTAG_Bool(REGB0)) {
43423 } else {
43424 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16024);
43425 }
43426 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43427 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43428 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43429 stack_frame_head = fra.me.prev;
43430 return;
43431 }
43432 static const char LOCATE_parser___ReduceAction382___action[] = "parser::ReduceAction382::(parser::ReduceAction::action)";
43433 void parser___ReduceAction382___action(val_t p0, val_t p1){
43434 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
43435 val_t REGB0;
43436 val_t tmp;
43437 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43438 fra.me.file = LOCATE_parser;
43439 fra.me.line = 16029;
43440 fra.me.meth = LOCATE_parser___ReduceAction382___action;
43441 fra.me.has_broke = 0;
43442 fra.me.REG_size = 7;
43443 fra.me.nitni_local_ref_head = NULL;
43444 fra.me.REG[0] = NIT_NULL;
43445 fra.me.REG[1] = NIT_NULL;
43446 fra.me.REG[2] = NIT_NULL;
43447 fra.me.REG[3] = NIT_NULL;
43448 fra.me.REG[4] = NIT_NULL;
43449 fra.me.REG[5] = NIT_NULL;
43450 fra.me.REG[6] = NIT_NULL;
43451 fra.me.REG[0] = p0;
43452 fra.me.REG[1] = p1;
43453 /* parser/parser.nit:16031 */
43454 fra.me.REG[2] = NIT_NULL;
43455 /* parser/parser.nit:16032 */
43456 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43457 /* parser/parser.nit:16033 */
43458 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43459 /* parser/parser.nit:16034 */
43460 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43461 /* parser/parser.nit:16035 */
43462 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43463 /* parser/parser.nit:16036 */
43464 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43465 /* parser/parser.nit:16038 */
43466 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*/;
43467 if (UNTAG_Bool(REGB0)) {
43468 } else {
43469 nit_abort("Assert failed", NULL, LOCATE_parser, 16038);
43470 }
43471 /* parser/parser.nit:16040 */
43472 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*/;
43473 if (UNTAG_Bool(REGB0)) {
43474 } else {
43475 nit_abort("Assert failed", NULL, LOCATE_parser, 16040);
43476 }
43477 /* parser/parser.nit:16042 */
43478 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*/;
43479 if (UNTAG_Bool(REGB0)) {
43480 } else {
43481 nit_abort("Assert failed", NULL, LOCATE_parser, 16042);
43482 }
43483 /* parser/parser.nit:16044 */
43484 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*/;
43485 if (UNTAG_Bool(REGB0)) {
43486 } else {
43487 nit_abort("Assert failed", NULL, LOCATE_parser, 16044);
43488 }
43489 /* parser/parser.nit:16045 */
43490 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);
43491 /* parser/parser.nit:16052 */
43492 fra.me.REG[2] = fra.me.REG[3];
43493 /* parser/parser.nit:16053 */
43494 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43495 if (UNTAG_Bool(REGB0)) {
43496 } else {
43497 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16053);
43498 }
43499 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43500 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43501 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43502 stack_frame_head = fra.me.prev;
43503 return;
43504 }
43505 static const char LOCATE_parser___ReduceAction383___action[] = "parser::ReduceAction383::(parser::ReduceAction::action)";
43506 void parser___ReduceAction383___action(val_t p0, val_t p1){
43507 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
43508 val_t REGB0;
43509 val_t tmp;
43510 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43511 fra.me.file = LOCATE_parser;
43512 fra.me.line = 16058;
43513 fra.me.meth = LOCATE_parser___ReduceAction383___action;
43514 fra.me.has_broke = 0;
43515 fra.me.REG_size = 7;
43516 fra.me.nitni_local_ref_head = NULL;
43517 fra.me.REG[0] = NIT_NULL;
43518 fra.me.REG[1] = NIT_NULL;
43519 fra.me.REG[2] = NIT_NULL;
43520 fra.me.REG[3] = NIT_NULL;
43521 fra.me.REG[4] = NIT_NULL;
43522 fra.me.REG[5] = NIT_NULL;
43523 fra.me.REG[6] = NIT_NULL;
43524 fra.me.REG[0] = p0;
43525 fra.me.REG[1] = p1;
43526 /* parser/parser.nit:16060 */
43527 fra.me.REG[2] = NIT_NULL;
43528 /* parser/parser.nit:16061 */
43529 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43530 /* parser/parser.nit:16062 */
43531 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43532 /* parser/parser.nit:16063 */
43533 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43534 /* parser/parser.nit:16064 */
43535 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43536 /* parser/parser.nit:16065 */
43537 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43538 /* parser/parser.nit:16066 */
43539 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43540 /* parser/parser.nit:16068 */
43541 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*/;
43542 if (UNTAG_Bool(REGB0)) {
43543 } else {
43544 nit_abort("Assert failed", NULL, LOCATE_parser, 16068);
43545 }
43546 /* parser/parser.nit:16070 */
43547 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*/;
43548 if (UNTAG_Bool(REGB0)) {
43549 } else {
43550 nit_abort("Assert failed", NULL, LOCATE_parser, 16070);
43551 }
43552 /* parser/parser.nit:16072 */
43553 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*/;
43554 if (UNTAG_Bool(REGB0)) {
43555 } else {
43556 nit_abort("Assert failed", NULL, LOCATE_parser, 16072);
43557 }
43558 /* parser/parser.nit:16074 */
43559 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
43560 if (UNTAG_Bool(REGB0)) {
43561 } else {
43562 nit_abort("Assert failed", NULL, LOCATE_parser, 16074);
43563 }
43564 /* parser/parser.nit:16075 */
43565 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]);
43566 /* parser/parser.nit:16082 */
43567 fra.me.REG[2] = fra.me.REG[3];
43568 /* parser/parser.nit:16083 */
43569 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43570 if (UNTAG_Bool(REGB0)) {
43571 } else {
43572 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16083);
43573 }
43574 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43575 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43576 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43577 stack_frame_head = fra.me.prev;
43578 return;
43579 }
43580 static const char LOCATE_parser___ReduceAction384___action[] = "parser::ReduceAction384::(parser::ReduceAction::action)";
43581 void parser___ReduceAction384___action(val_t p0, val_t p1){
43582 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
43583 val_t REGB0;
43584 val_t tmp;
43585 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43586 fra.me.file = LOCATE_parser;
43587 fra.me.line = 16088;
43588 fra.me.meth = LOCATE_parser___ReduceAction384___action;
43589 fra.me.has_broke = 0;
43590 fra.me.REG_size = 8;
43591 fra.me.nitni_local_ref_head = NULL;
43592 fra.me.REG[0] = NIT_NULL;
43593 fra.me.REG[1] = NIT_NULL;
43594 fra.me.REG[2] = NIT_NULL;
43595 fra.me.REG[3] = NIT_NULL;
43596 fra.me.REG[4] = NIT_NULL;
43597 fra.me.REG[5] = NIT_NULL;
43598 fra.me.REG[6] = NIT_NULL;
43599 fra.me.REG[7] = NIT_NULL;
43600 fra.me.REG[0] = p0;
43601 fra.me.REG[1] = p1;
43602 /* parser/parser.nit:16090 */
43603 fra.me.REG[2] = NIT_NULL;
43604 /* parser/parser.nit:16091 */
43605 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43606 /* parser/parser.nit:16092 */
43607 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43608 /* parser/parser.nit:16093 */
43609 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43610 /* parser/parser.nit:16094 */
43611 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43612 /* parser/parser.nit:16095 */
43613 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43614 /* parser/parser.nit:16096 */
43615 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43616 /* parser/parser.nit:16097 */
43617 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43618 /* parser/parser.nit:16099 */
43619 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*/;
43620 if (UNTAG_Bool(REGB0)) {
43621 } else {
43622 nit_abort("Assert failed", NULL, LOCATE_parser, 16099);
43623 }
43624 /* parser/parser.nit:16101 */
43625 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*/;
43626 if (UNTAG_Bool(REGB0)) {
43627 } else {
43628 nit_abort("Assert failed", NULL, LOCATE_parser, 16101);
43629 }
43630 /* parser/parser.nit:16103 */
43631 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*/;
43632 if (UNTAG_Bool(REGB0)) {
43633 } else {
43634 nit_abort("Assert failed", NULL, LOCATE_parser, 16103);
43635 }
43636 /* parser/parser.nit:16105 */
43637 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*/;
43638 if (UNTAG_Bool(REGB0)) {
43639 } else {
43640 nit_abort("Assert failed", NULL, LOCATE_parser, 16105);
43641 }
43642 /* parser/parser.nit:16107 */
43643 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
43644 if (UNTAG_Bool(REGB0)) {
43645 } else {
43646 nit_abort("Assert failed", NULL, LOCATE_parser, 16107);
43647 }
43648 /* parser/parser.nit:16108 */
43649 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]);
43650 /* parser/parser.nit:16115 */
43651 fra.me.REG[2] = fra.me.REG[3];
43652 /* parser/parser.nit:16116 */
43653 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43654 if (UNTAG_Bool(REGB0)) {
43655 } else {
43656 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16116);
43657 }
43658 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43659 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43660 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43661 stack_frame_head = fra.me.prev;
43662 return;
43663 }
43664 static const char LOCATE_parser___ReduceAction385___action[] = "parser::ReduceAction385::(parser::ReduceAction::action)";
43665 void parser___ReduceAction385___action(val_t p0, val_t p1){
43666 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
43667 val_t REGB0;
43668 val_t tmp;
43669 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43670 fra.me.file = LOCATE_parser;
43671 fra.me.line = 16121;
43672 fra.me.meth = LOCATE_parser___ReduceAction385___action;
43673 fra.me.has_broke = 0;
43674 fra.me.REG_size = 7;
43675 fra.me.nitni_local_ref_head = NULL;
43676 fra.me.REG[0] = NIT_NULL;
43677 fra.me.REG[1] = NIT_NULL;
43678 fra.me.REG[2] = NIT_NULL;
43679 fra.me.REG[3] = NIT_NULL;
43680 fra.me.REG[4] = NIT_NULL;
43681 fra.me.REG[5] = NIT_NULL;
43682 fra.me.REG[6] = NIT_NULL;
43683 fra.me.REG[0] = p0;
43684 fra.me.REG[1] = p1;
43685 /* parser/parser.nit:16123 */
43686 fra.me.REG[2] = NIT_NULL;
43687 /* parser/parser.nit:16124 */
43688 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43689 /* parser/parser.nit:16125 */
43690 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43691 /* parser/parser.nit:16126 */
43692 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43693 /* parser/parser.nit:16127 */
43694 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43695 /* parser/parser.nit:16128 */
43696 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43697 /* parser/parser.nit:16129 */
43698 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43699 /* parser/parser.nit:16130 */
43700 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43701 /* parser/parser.nit:16132 */
43702 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*/;
43703 if (UNTAG_Bool(REGB0)) {
43704 } else {
43705 nit_abort("Assert failed", NULL, LOCATE_parser, 16132);
43706 }
43707 /* parser/parser.nit:16134 */
43708 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*/;
43709 if (UNTAG_Bool(REGB0)) {
43710 } else {
43711 nit_abort("Assert failed", NULL, LOCATE_parser, 16134);
43712 }
43713 /* parser/parser.nit:16136 */
43714 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*/;
43715 if (UNTAG_Bool(REGB0)) {
43716 } else {
43717 nit_abort("Assert failed", NULL, LOCATE_parser, 16136);
43718 }
43719 /* parser/parser.nit:16138 */
43720 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
43721 if (UNTAG_Bool(REGB0)) {
43722 } else {
43723 nit_abort("Assert failed", NULL, LOCATE_parser, 16138);
43724 }
43725 /* parser/parser.nit:16139 */
43726 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]);
43727 /* parser/parser.nit:16146 */
43728 fra.me.REG[2] = fra.me.REG[3];
43729 /* parser/parser.nit:16147 */
43730 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43731 if (UNTAG_Bool(REGB0)) {
43732 } else {
43733 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16147);
43734 }
43735 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43736 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43737 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43738 stack_frame_head = fra.me.prev;
43739 return;
43740 }
43741 static const char LOCATE_parser___ReduceAction386___action[] = "parser::ReduceAction386::(parser::ReduceAction::action)";
43742 void parser___ReduceAction386___action(val_t p0, val_t p1){
43743 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
43744 val_t REGB0;
43745 val_t tmp;
43746 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43747 fra.me.file = LOCATE_parser;
43748 fra.me.line = 16152;
43749 fra.me.meth = LOCATE_parser___ReduceAction386___action;
43750 fra.me.has_broke = 0;
43751 fra.me.REG_size = 8;
43752 fra.me.nitni_local_ref_head = NULL;
43753 fra.me.REG[0] = NIT_NULL;
43754 fra.me.REG[1] = NIT_NULL;
43755 fra.me.REG[2] = NIT_NULL;
43756 fra.me.REG[3] = NIT_NULL;
43757 fra.me.REG[4] = NIT_NULL;
43758 fra.me.REG[5] = NIT_NULL;
43759 fra.me.REG[6] = NIT_NULL;
43760 fra.me.REG[7] = NIT_NULL;
43761 fra.me.REG[0] = p0;
43762 fra.me.REG[1] = p1;
43763 /* parser/parser.nit:16154 */
43764 fra.me.REG[2] = NIT_NULL;
43765 /* parser/parser.nit:16155 */
43766 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43767 /* parser/parser.nit:16156 */
43768 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43769 /* parser/parser.nit:16157 */
43770 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43771 /* parser/parser.nit:16158 */
43772 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43773 /* parser/parser.nit:16159 */
43774 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43775 /* parser/parser.nit:16160 */
43776 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43777 /* parser/parser.nit:16161 */
43778 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43779 /* parser/parser.nit:16162 */
43780 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43781 /* parser/parser.nit:16164 */
43782 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*/;
43783 if (UNTAG_Bool(REGB0)) {
43784 } else {
43785 nit_abort("Assert failed", NULL, LOCATE_parser, 16164);
43786 }
43787 /* parser/parser.nit:16166 */
43788 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*/;
43789 if (UNTAG_Bool(REGB0)) {
43790 } else {
43791 nit_abort("Assert failed", NULL, LOCATE_parser, 16166);
43792 }
43793 /* parser/parser.nit:16168 */
43794 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*/;
43795 if (UNTAG_Bool(REGB0)) {
43796 } else {
43797 nit_abort("Assert failed", NULL, LOCATE_parser, 16168);
43798 }
43799 /* parser/parser.nit:16170 */
43800 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*/;
43801 if (UNTAG_Bool(REGB0)) {
43802 } else {
43803 nit_abort("Assert failed", NULL, LOCATE_parser, 16170);
43804 }
43805 /* parser/parser.nit:16172 */
43806 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
43807 if (UNTAG_Bool(REGB0)) {
43808 } else {
43809 nit_abort("Assert failed", NULL, LOCATE_parser, 16172);
43810 }
43811 /* parser/parser.nit:16173 */
43812 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]);
43813 /* parser/parser.nit:16180 */
43814 fra.me.REG[2] = fra.me.REG[3];
43815 /* parser/parser.nit:16181 */
43816 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43817 if (UNTAG_Bool(REGB0)) {
43818 } else {
43819 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16181);
43820 }
43821 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43822 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43823 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43824 stack_frame_head = fra.me.prev;
43825 return;
43826 }
43827 static const char LOCATE_parser___ReduceAction387___action[] = "parser::ReduceAction387::(parser::ReduceAction::action)";
43828 void parser___ReduceAction387___action(val_t p0, val_t p1){
43829 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
43830 val_t REGB0;
43831 val_t tmp;
43832 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43833 fra.me.file = LOCATE_parser;
43834 fra.me.line = 16186;
43835 fra.me.meth = LOCATE_parser___ReduceAction387___action;
43836 fra.me.has_broke = 0;
43837 fra.me.REG_size = 4;
43838 fra.me.nitni_local_ref_head = NULL;
43839 fra.me.REG[0] = NIT_NULL;
43840 fra.me.REG[1] = NIT_NULL;
43841 fra.me.REG[2] = NIT_NULL;
43842 fra.me.REG[3] = NIT_NULL;
43843 fra.me.REG[0] = p0;
43844 fra.me.REG[1] = p1;
43845 /* parser/parser.nit:16188 */
43846 fra.me.REG[2] = NIT_NULL;
43847 /* parser/parser.nit:16189 */
43848 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43849 /* parser/parser.nit:16191 */
43850 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
43851 if (UNTAG_Bool(REGB0)) {
43852 } else {
43853 nit_abort("Assert failed", NULL, LOCATE_parser, 16191);
43854 }
43855 /* parser/parser.nit:16192 */
43856 fra.me.REG[3] = NEW_AReturnExpr_parser___parser_prod___AReturnExpr___init_areturnexpr(NIT_NULL, fra.me.REG[3]);
43857 /* parser/parser.nit:16196 */
43858 fra.me.REG[2] = fra.me.REG[3];
43859 /* parser/parser.nit:16197 */
43860 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43861 if (UNTAG_Bool(REGB0)) {
43862 } else {
43863 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16197);
43864 }
43865 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43866 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43867 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43868 stack_frame_head = fra.me.prev;
43869 return;
43870 }
43871 static const char LOCATE_parser___ReduceAction388___action[] = "parser::ReduceAction388::(parser::ReduceAction::action)";
43872 void parser___ReduceAction388___action(val_t p0, val_t p1){
43873 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
43874 val_t REGB0;
43875 val_t REGB1;
43876 val_t tmp;
43877 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43878 fra.me.file = LOCATE_parser;
43879 fra.me.line = 16202;
43880 fra.me.meth = LOCATE_parser___ReduceAction388___action;
43881 fra.me.has_broke = 0;
43882 fra.me.REG_size = 6;
43883 fra.me.nitni_local_ref_head = NULL;
43884 fra.me.REG[0] = NIT_NULL;
43885 fra.me.REG[1] = NIT_NULL;
43886 fra.me.REG[2] = NIT_NULL;
43887 fra.me.REG[3] = NIT_NULL;
43888 fra.me.REG[4] = NIT_NULL;
43889 fra.me.REG[5] = NIT_NULL;
43890 fra.me.REG[0] = p0;
43891 fra.me.REG[1] = p1;
43892 /* parser/parser.nit:16204 */
43893 fra.me.REG[2] = NIT_NULL;
43894 /* parser/parser.nit:16205 */
43895 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43896 /* parser/parser.nit:16206 */
43897 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43898 /* parser/parser.nit:16207 */
43899 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43900 /* parser/parser.nit:16208 */
43901 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
43902 /* parser/parser.nit:16210 */
43903 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*/;
43904 if (UNTAG_Bool(REGB0)) {
43905 } else {
43906 nit_abort("Assert failed", NULL, LOCATE_parser, 16210);
43907 }
43908 /* parser/parser.nit:16212 */
43909 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*/;
43910 if (UNTAG_Bool(REGB0)) {
43911 } else {
43912 nit_abort("Assert failed", NULL, LOCATE_parser, 16212);
43913 }
43914 /* parser/parser.nit:16213 */
43915 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
43916 if (UNTAG_Bool(REGB0)) {
43917 } else {
43918 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
43919 if (UNTAG_Bool(REGB1)) {
43920 REGB1 = TAG_Bool(0);
43921 REGB0 = REGB1;
43922 } else {
43923 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
43924 REGB0 = REGB1;
43925 }
43926 }
43927 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
43928 if (UNTAG_Bool(REGB0)) {
43929 /* parser/parser.nit:16214 */
43930 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
43931 }
43932 /* parser/parser.nit:16216 */
43933 fra.me.REG[5] = NEW_AExternCalls_parser___parser_prod___AExternCalls___init_aexterncalls(fra.me.REG[4], fra.me.REG[5]);
43934 /* parser/parser.nit:16220 */
43935 fra.me.REG[2] = fra.me.REG[5];
43936 /* parser/parser.nit:16221 */
43937 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43938 if (UNTAG_Bool(REGB0)) {
43939 } else {
43940 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16221);
43941 }
43942 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43943 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43944 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43945 stack_frame_head = fra.me.prev;
43946 return;
43947 }
43948 static const char LOCATE_parser___ReduceAction389___action[] = "parser::ReduceAction389::(parser::ReduceAction::action)";
43949 void parser___ReduceAction389___action(val_t p0, val_t p1){
43950 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
43951 val_t REGB0;
43952 val_t REGB1;
43953 val_t tmp;
43954 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43955 fra.me.file = LOCATE_parser;
43956 fra.me.line = 16226;
43957 fra.me.meth = LOCATE_parser___ReduceAction389___action;
43958 fra.me.has_broke = 0;
43959 fra.me.REG_size = 7;
43960 fra.me.nitni_local_ref_head = NULL;
43961 fra.me.REG[0] = NIT_NULL;
43962 fra.me.REG[1] = NIT_NULL;
43963 fra.me.REG[2] = NIT_NULL;
43964 fra.me.REG[3] = NIT_NULL;
43965 fra.me.REG[4] = NIT_NULL;
43966 fra.me.REG[5] = NIT_NULL;
43967 fra.me.REG[6] = NIT_NULL;
43968 fra.me.REG[0] = p0;
43969 fra.me.REG[1] = p1;
43970 /* parser/parser.nit:16228 */
43971 fra.me.REG[2] = NIT_NULL;
43972 /* parser/parser.nit:16229 */
43973 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43974 /* parser/parser.nit:16230 */
43975 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43976 /* parser/parser.nit:16231 */
43977 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43978 /* parser/parser.nit:16232 */
43979 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43980 /* parser/parser.nit:16233 */
43981 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
43982 /* parser/parser.nit:16235 */
43983 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*/;
43984 if (UNTAG_Bool(REGB0)) {
43985 } else {
43986 nit_abort("Assert failed", NULL, LOCATE_parser, 16235);
43987 }
43988 /* parser/parser.nit:16237 */
43989 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*/;
43990 if (UNTAG_Bool(REGB0)) {
43991 } else {
43992 nit_abort("Assert failed", NULL, LOCATE_parser, 16237);
43993 }
43994 /* parser/parser.nit:16239 */
43995 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]*/;
43996 if (UNTAG_Bool(REGB0)) {
43997 } else {
43998 nit_abort("Assert failed", NULL, LOCATE_parser, 16239);
43999 }
44000 /* parser/parser.nit:16240 */
44001 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
44002 if (UNTAG_Bool(REGB0)) {
44003 } else {
44004 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
44005 if (UNTAG_Bool(REGB1)) {
44006 REGB1 = TAG_Bool(0);
44007 REGB0 = REGB1;
44008 } else {
44009 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
44010 REGB0 = REGB1;
44011 }
44012 }
44013 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
44014 if (UNTAG_Bool(REGB0)) {
44015 /* parser/parser.nit:16241 */
44016 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
44017 }
44018 /* parser/parser.nit:16243 */
44019 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
44020 fra.me.REG[6] = fra.me.REG[3];
44021 /* parser/parser.nit:16244 */
44022 fra.me.REG[6] = NEW_AExternCalls_parser___parser_prod___AExternCalls___init_aexterncalls(fra.me.REG[5], fra.me.REG[6]);
44023 /* parser/parser.nit:16248 */
44024 fra.me.REG[2] = fra.me.REG[6];
44025 /* parser/parser.nit:16249 */
44026 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44027 if (UNTAG_Bool(REGB0)) {
44028 } else {
44029 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16249);
44030 }
44031 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44032 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44033 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44034 stack_frame_head = fra.me.prev;
44035 return;
44036 }
44037 static const char LOCATE_parser___ReduceAction390___action[] = "parser::ReduceAction390::(parser::ReduceAction::action)";
44038 void parser___ReduceAction390___action(val_t p0, val_t p1){
44039 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
44040 val_t REGB0;
44041 val_t tmp;
44042 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44043 fra.me.file = LOCATE_parser;
44044 fra.me.line = 16254;
44045 fra.me.meth = LOCATE_parser___ReduceAction390___action;
44046 fra.me.has_broke = 0;
44047 fra.me.REG_size = 5;
44048 fra.me.nitni_local_ref_head = NULL;
44049 fra.me.REG[0] = NIT_NULL;
44050 fra.me.REG[1] = NIT_NULL;
44051 fra.me.REG[2] = NIT_NULL;
44052 fra.me.REG[3] = NIT_NULL;
44053 fra.me.REG[4] = NIT_NULL;
44054 fra.me.REG[0] = p0;
44055 fra.me.REG[1] = p1;
44056 /* parser/parser.nit:16256 */
44057 fra.me.REG[2] = NIT_NULL;
44058 /* parser/parser.nit:16257 */
44059 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44060 /* parser/parser.nit:16258 */
44061 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44062 /* parser/parser.nit:16259 */
44063 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44064 /* parser/parser.nit:16261 */
44065 fra.me.REG[2] = fra.me.REG[3];
44066 /* parser/parser.nit:16262 */
44067 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44068 if (UNTAG_Bool(REGB0)) {
44069 } else {
44070 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16262);
44071 }
44072 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44073 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44074 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44075 stack_frame_head = fra.me.prev;
44076 return;
44077 }
44078 static const char LOCATE_parser___ReduceAction391___action[] = "parser::ReduceAction391::(parser::ReduceAction::action)";
44079 void parser___ReduceAction391___action(val_t p0, val_t p1){
44080 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
44081 val_t REGB0;
44082 val_t tmp;
44083 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44084 fra.me.file = LOCATE_parser;
44085 fra.me.line = 16267;
44086 fra.me.meth = LOCATE_parser___ReduceAction391___action;
44087 fra.me.has_broke = 0;
44088 fra.me.REG_size = 4;
44089 fra.me.nitni_local_ref_head = NULL;
44090 fra.me.REG[0] = NIT_NULL;
44091 fra.me.REG[1] = NIT_NULL;
44092 fra.me.REG[2] = NIT_NULL;
44093 fra.me.REG[3] = NIT_NULL;
44094 fra.me.REG[0] = p0;
44095 fra.me.REG[1] = p1;
44096 /* parser/parser.nit:16269 */
44097 fra.me.REG[2] = NIT_NULL;
44098 /* parser/parser.nit:16270 */
44099 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44100 /* parser/parser.nit:16272 */
44101 fra.me.REG[2] = fra.me.REG[3];
44102 /* parser/parser.nit:16273 */
44103 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44104 if (UNTAG_Bool(REGB0)) {
44105 } else {
44106 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16273);
44107 }
44108 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44109 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44110 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44111 stack_frame_head = fra.me.prev;
44112 return;
44113 }
44114 static const char LOCATE_parser___ReduceAction393___action[] = "parser::ReduceAction393::(parser::ReduceAction::action)";
44115 void parser___ReduceAction393___action(val_t p0, val_t p1){
44116 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
44117 val_t REGB0;
44118 val_t tmp;
44119 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44120 fra.me.file = LOCATE_parser;
44121 fra.me.line = 16278;
44122 fra.me.meth = LOCATE_parser___ReduceAction393___action;
44123 fra.me.has_broke = 0;
44124 fra.me.REG_size = 4;
44125 fra.me.nitni_local_ref_head = NULL;
44126 fra.me.REG[0] = NIT_NULL;
44127 fra.me.REG[1] = NIT_NULL;
44128 fra.me.REG[2] = NIT_NULL;
44129 fra.me.REG[3] = NIT_NULL;
44130 fra.me.REG[0] = p0;
44131 fra.me.REG[1] = p1;
44132 /* parser/parser.nit:16280 */
44133 fra.me.REG[2] = NIT_NULL;
44134 /* parser/parser.nit:16281 */
44135 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44136 /* parser/parser.nit:16283 */
44137 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*/;
44138 if (UNTAG_Bool(REGB0)) {
44139 } else {
44140 nit_abort("Assert failed", NULL, LOCATE_parser, 16283);
44141 }
44142 /* parser/parser.nit:16284 */
44143 fra.me.REG[3] = NEW_ASuperExternCall_parser___parser_prod___ASuperExternCall___init_asuperexterncall(fra.me.REG[3]);
44144 /* parser/parser.nit:16287 */
44145 fra.me.REG[2] = fra.me.REG[3];
44146 /* parser/parser.nit:16288 */
44147 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44148 if (UNTAG_Bool(REGB0)) {
44149 } else {
44150 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16288);
44151 }
44152 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44153 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44154 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44155 stack_frame_head = fra.me.prev;
44156 return;
44157 }
44158 static const char LOCATE_parser___ReduceAction394___action[] = "parser::ReduceAction394::(parser::ReduceAction::action)";
44159 void parser___ReduceAction394___action(val_t p0, val_t p1){
44160 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
44161 val_t REGB0;
44162 val_t tmp;
44163 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44164 fra.me.file = LOCATE_parser;
44165 fra.me.line = 16293;
44166 fra.me.meth = LOCATE_parser___ReduceAction394___action;
44167 fra.me.has_broke = 0;
44168 fra.me.REG_size = 4;
44169 fra.me.nitni_local_ref_head = NULL;
44170 fra.me.REG[0] = NIT_NULL;
44171 fra.me.REG[1] = NIT_NULL;
44172 fra.me.REG[2] = NIT_NULL;
44173 fra.me.REG[3] = NIT_NULL;
44174 fra.me.REG[0] = p0;
44175 fra.me.REG[1] = p1;
44176 /* parser/parser.nit:16295 */
44177 fra.me.REG[2] = NIT_NULL;
44178 /* parser/parser.nit:16296 */
44179 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44180 /* parser/parser.nit:16298 */
44181 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*/;
44182 if (UNTAG_Bool(REGB0)) {
44183 } else {
44184 nit_abort("Assert failed", NULL, LOCATE_parser, 16298);
44185 }
44186 /* parser/parser.nit:16299 */
44187 fra.me.REG[3] = NEW_ALocalPropExternCall_parser___parser_prod___ALocalPropExternCall___init_alocalpropexterncall(fra.me.REG[3]);
44188 /* parser/parser.nit:16302 */
44189 fra.me.REG[2] = fra.me.REG[3];
44190 /* parser/parser.nit:16303 */
44191 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44192 if (UNTAG_Bool(REGB0)) {
44193 } else {
44194 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16303);
44195 }
44196 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44197 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44198 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44199 stack_frame_head = fra.me.prev;
44200 return;
44201 }
44202 static const char LOCATE_parser___ReduceAction395___action[] = "parser::ReduceAction395::(parser::ReduceAction::action)";
44203 void parser___ReduceAction395___action(val_t p0, val_t p1){
44204 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
44205 val_t REGB0;
44206 val_t tmp;
44207 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44208 fra.me.file = LOCATE_parser;
44209 fra.me.line = 16308;
44210 fra.me.meth = LOCATE_parser___ReduceAction395___action;
44211 fra.me.has_broke = 0;
44212 fra.me.REG_size = 6;
44213 fra.me.nitni_local_ref_head = NULL;
44214 fra.me.REG[0] = NIT_NULL;
44215 fra.me.REG[1] = NIT_NULL;
44216 fra.me.REG[2] = NIT_NULL;
44217 fra.me.REG[3] = NIT_NULL;
44218 fra.me.REG[4] = NIT_NULL;
44219 fra.me.REG[5] = NIT_NULL;
44220 fra.me.REG[0] = p0;
44221 fra.me.REG[1] = p1;
44222 /* parser/parser.nit:16310 */
44223 fra.me.REG[2] = NIT_NULL;
44224 /* parser/parser.nit:16311 */
44225 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44226 /* parser/parser.nit:16312 */
44227 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44228 /* parser/parser.nit:16313 */
44229 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44230 /* parser/parser.nit:16315 */
44231 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*/;
44232 if (UNTAG_Bool(REGB0)) {
44233 } else {
44234 nit_abort("Assert failed", NULL, LOCATE_parser, 16315);
44235 }
44236 /* parser/parser.nit:16317 */
44237 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*/;
44238 if (UNTAG_Bool(REGB0)) {
44239 } else {
44240 nit_abort("Assert failed", NULL, LOCATE_parser, 16317);
44241 }
44242 /* parser/parser.nit:16319 */
44243 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*/;
44244 if (UNTAG_Bool(REGB0)) {
44245 } else {
44246 nit_abort("Assert failed", NULL, LOCATE_parser, 16319);
44247 }
44248 /* parser/parser.nit:16320 */
44249 fra.me.REG[3] = NEW_AFullPropExternCall_parser___parser_prod___AFullPropExternCall___init_afullpropexterncall(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
44250 /* parser/parser.nit:16325 */
44251 fra.me.REG[2] = fra.me.REG[3];
44252 /* parser/parser.nit:16326 */
44253 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44254 if (UNTAG_Bool(REGB0)) {
44255 } else {
44256 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16326);
44257 }
44258 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44259 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44260 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44261 stack_frame_head = fra.me.prev;
44262 return;
44263 }
44264 static const char LOCATE_parser___ReduceAction396___action[] = "parser::ReduceAction396::(parser::ReduceAction::action)";
44265 void parser___ReduceAction396___action(val_t p0, val_t p1){
44266 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
44267 val_t REGB0;
44268 val_t tmp;
44269 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44270 fra.me.file = LOCATE_parser;
44271 fra.me.line = 16331;
44272 fra.me.meth = LOCATE_parser___ReduceAction396___action;
44273 fra.me.has_broke = 0;
44274 fra.me.REG_size = 4;
44275 fra.me.nitni_local_ref_head = NULL;
44276 fra.me.REG[0] = NIT_NULL;
44277 fra.me.REG[1] = NIT_NULL;
44278 fra.me.REG[2] = NIT_NULL;
44279 fra.me.REG[3] = NIT_NULL;
44280 fra.me.REG[0] = p0;
44281 fra.me.REG[1] = p1;
44282 /* parser/parser.nit:16333 */
44283 fra.me.REG[2] = NIT_NULL;
44284 /* parser/parser.nit:16334 */
44285 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44286 /* parser/parser.nit:16336 */
44287 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*/;
44288 if (UNTAG_Bool(REGB0)) {
44289 } else {
44290 nit_abort("Assert failed", NULL, LOCATE_parser, 16336);
44291 }
44292 /* parser/parser.nit:16337 */
44293 fra.me.REG[3] = NEW_AInitPropExternCall_parser___parser_prod___AInitPropExternCall___init_ainitpropexterncall(fra.me.REG[3]);
44294 /* parser/parser.nit:16340 */
44295 fra.me.REG[2] = fra.me.REG[3];
44296 /* parser/parser.nit:16341 */
44297 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44298 if (UNTAG_Bool(REGB0)) {
44299 } else {
44300 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16341);
44301 }
44302 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44303 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44304 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44305 stack_frame_head = fra.me.prev;
44306 return;
44307 }
44308 static const char LOCATE_parser___ReduceAction397___action[] = "parser::ReduceAction397::(parser::ReduceAction::action)";
44309 void parser___ReduceAction397___action(val_t p0, val_t p1){
44310 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
44311 val_t REGB0;
44312 val_t tmp;
44313 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44314 fra.me.file = LOCATE_parser;
44315 fra.me.line = 16346;
44316 fra.me.meth = LOCATE_parser___ReduceAction397___action;
44317 fra.me.has_broke = 0;
44318 fra.me.REG_size = 6;
44319 fra.me.nitni_local_ref_head = NULL;
44320 fra.me.REG[0] = NIT_NULL;
44321 fra.me.REG[1] = NIT_NULL;
44322 fra.me.REG[2] = NIT_NULL;
44323 fra.me.REG[3] = NIT_NULL;
44324 fra.me.REG[4] = NIT_NULL;
44325 fra.me.REG[5] = NIT_NULL;
44326 fra.me.REG[0] = p0;
44327 fra.me.REG[1] = p1;
44328 /* parser/parser.nit:16348 */
44329 fra.me.REG[2] = NIT_NULL;
44330 /* parser/parser.nit:16349 */
44331 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44332 /* parser/parser.nit:16350 */
44333 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44334 /* parser/parser.nit:16351 */
44335 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44336 /* parser/parser.nit:16352 */
44337 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44338 /* parser/parser.nit:16353 */
44339 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44340 /* parser/parser.nit:16354 */
44341 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44342 /* parser/parser.nit:16355 */
44343 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44344 /* parser/parser.nit:16356 */
44345 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44346 /* parser/parser.nit:16358 */
44347 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*/;
44348 if (UNTAG_Bool(REGB0)) {
44349 } else {
44350 nit_abort("Assert failed", NULL, LOCATE_parser, 16358);
44351 }
44352 /* parser/parser.nit:16360 */
44353 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*/;
44354 if (UNTAG_Bool(REGB0)) {
44355 } else {
44356 nit_abort("Assert failed", NULL, LOCATE_parser, 16360);
44357 }
44358 /* parser/parser.nit:16362 */
44359 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*/;
44360 if (UNTAG_Bool(REGB0)) {
44361 } else {
44362 nit_abort("Assert failed", NULL, LOCATE_parser, 16362);
44363 }
44364 /* parser/parser.nit:16363 */
44365 fra.me.REG[3] = NEW_ACastAsExternCall_parser___parser_prod___ACastAsExternCall___init_acastasexterncall(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
44366 /* parser/parser.nit:16368 */
44367 fra.me.REG[2] = fra.me.REG[3];
44368 /* parser/parser.nit:16369 */
44369 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44370 if (UNTAG_Bool(REGB0)) {
44371 } else {
44372 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16369);
44373 }
44374 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44375 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44376 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44377 stack_frame_head = fra.me.prev;
44378 return;
44379 }
44380 static const char LOCATE_parser___ReduceAction398___action[] = "parser::ReduceAction398::(parser::ReduceAction::action)";
44381 void parser___ReduceAction398___action(val_t p0, val_t p1){
44382 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
44383 val_t REGB0;
44384 val_t tmp;
44385 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44386 fra.me.file = LOCATE_parser;
44387 fra.me.line = 16374;
44388 fra.me.meth = LOCATE_parser___ReduceAction398___action;
44389 fra.me.has_broke = 0;
44390 fra.me.REG_size = 6;
44391 fra.me.nitni_local_ref_head = NULL;
44392 fra.me.REG[0] = NIT_NULL;
44393 fra.me.REG[1] = NIT_NULL;
44394 fra.me.REG[2] = NIT_NULL;
44395 fra.me.REG[3] = NIT_NULL;
44396 fra.me.REG[4] = NIT_NULL;
44397 fra.me.REG[5] = NIT_NULL;
44398 fra.me.REG[0] = p0;
44399 fra.me.REG[1] = p1;
44400 /* parser/parser.nit:16376 */
44401 fra.me.REG[2] = NIT_NULL;
44402 /* parser/parser.nit:16377 */
44403 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44404 /* parser/parser.nit:16378 */
44405 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44406 /* parser/parser.nit:16379 */
44407 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44408 /* parser/parser.nit:16380 */
44409 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44410 /* parser/parser.nit:16382 */
44411 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*/;
44412 if (UNTAG_Bool(REGB0)) {
44413 } else {
44414 nit_abort("Assert failed", NULL, LOCATE_parser, 16382);
44415 }
44416 /* parser/parser.nit:16384 */
44417 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*/;
44418 if (UNTAG_Bool(REGB0)) {
44419 } else {
44420 nit_abort("Assert failed", NULL, LOCATE_parser, 16384);
44421 }
44422 /* parser/parser.nit:16386 */
44423 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*/;
44424 if (UNTAG_Bool(REGB0)) {
44425 } else {
44426 nit_abort("Assert failed", NULL, LOCATE_parser, 16386);
44427 }
44428 /* parser/parser.nit:16387 */
44429 fra.me.REG[3] = NEW_AAsNullableExternCall_parser___parser_prod___AAsNullableExternCall___init_aasnullableexterncall(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
44430 /* parser/parser.nit:16392 */
44431 fra.me.REG[2] = fra.me.REG[3];
44432 /* parser/parser.nit:16393 */
44433 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44434 if (UNTAG_Bool(REGB0)) {
44435 } else {
44436 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16393);
44437 }
44438 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44439 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44440 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44441 stack_frame_head = fra.me.prev;
44442 return;
44443 }
44444 static const char LOCATE_parser___ReduceAction399___action[] = "parser::ReduceAction399::(parser::ReduceAction::action)";
44445 void parser___ReduceAction399___action(val_t p0, val_t p1){
44446 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
44447 val_t REGB0;
44448 val_t tmp;
44449 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44450 fra.me.file = LOCATE_parser;
44451 fra.me.line = 16398;
44452 fra.me.meth = LOCATE_parser___ReduceAction399___action;
44453 fra.me.has_broke = 0;
44454 fra.me.REG_size = 7;
44455 fra.me.nitni_local_ref_head = NULL;
44456 fra.me.REG[0] = NIT_NULL;
44457 fra.me.REG[1] = NIT_NULL;
44458 fra.me.REG[2] = NIT_NULL;
44459 fra.me.REG[3] = NIT_NULL;
44460 fra.me.REG[4] = NIT_NULL;
44461 fra.me.REG[5] = NIT_NULL;
44462 fra.me.REG[6] = NIT_NULL;
44463 fra.me.REG[0] = p0;
44464 fra.me.REG[1] = p1;
44465 /* parser/parser.nit:16400 */
44466 fra.me.REG[2] = NIT_NULL;
44467 /* parser/parser.nit:16401 */
44468 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44469 /* parser/parser.nit:16402 */
44470 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44471 /* parser/parser.nit:16403 */
44472 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44473 /* parser/parser.nit:16404 */
44474 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44475 /* parser/parser.nit:16405 */
44476 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44477 /* parser/parser.nit:16406 */
44478 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44479 /* parser/parser.nit:16408 */
44480 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*/;
44481 if (UNTAG_Bool(REGB0)) {
44482 } else {
44483 nit_abort("Assert failed", NULL, LOCATE_parser, 16408);
44484 }
44485 /* parser/parser.nit:16410 */
44486 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*/;
44487 if (UNTAG_Bool(REGB0)) {
44488 } else {
44489 nit_abort("Assert failed", NULL, LOCATE_parser, 16410);
44490 }
44491 /* parser/parser.nit:16412 */
44492 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*/;
44493 if (UNTAG_Bool(REGB0)) {
44494 } else {
44495 nit_abort("Assert failed", NULL, LOCATE_parser, 16412);
44496 }
44497 /* parser/parser.nit:16414 */
44498 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*/;
44499 if (UNTAG_Bool(REGB0)) {
44500 } else {
44501 nit_abort("Assert failed", NULL, LOCATE_parser, 16414);
44502 }
44503 /* parser/parser.nit:16415 */
44504 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]);
44505 /* parser/parser.nit:16421 */
44506 fra.me.REG[2] = fra.me.REG[3];
44507 /* parser/parser.nit:16422 */
44508 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44509 if (UNTAG_Bool(REGB0)) {
44510 } else {
44511 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16422);
44512 }
44513 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44514 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44515 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44516 stack_frame_head = fra.me.prev;
44517 return;
44518 }
44519 static const char LOCATE_parser___ReduceAction400___action[] = "parser::ReduceAction400::(parser::ReduceAction::action)";
44520 void parser___ReduceAction400___action(val_t p0, val_t p1){
44521 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
44522 val_t REGB0;
44523 val_t tmp;
44524 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44525 fra.me.file = LOCATE_parser;
44526 fra.me.line = 16427;
44527 fra.me.meth = LOCATE_parser___ReduceAction400___action;
44528 fra.me.has_broke = 0;
44529 fra.me.REG_size = 5;
44530 fra.me.nitni_local_ref_head = NULL;
44531 fra.me.REG[0] = NIT_NULL;
44532 fra.me.REG[1] = NIT_NULL;
44533 fra.me.REG[2] = NIT_NULL;
44534 fra.me.REG[3] = NIT_NULL;
44535 fra.me.REG[4] = NIT_NULL;
44536 fra.me.REG[0] = p0;
44537 fra.me.REG[1] = p1;
44538 /* parser/parser.nit:16429 */
44539 fra.me.REG[2] = NIT_NULL;
44540 /* parser/parser.nit:16430 */
44541 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44542 /* parser/parser.nit:16431 */
44543 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44544 /* parser/parser.nit:16433 */
44545 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*/;
44546 if (UNTAG_Bool(REGB0)) {
44547 } else {
44548 nit_abort("Assert failed", NULL, LOCATE_parser, 16433);
44549 }
44550 /* parser/parser.nit:16435 */
44551 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*/;
44552 if (UNTAG_Bool(REGB0)) {
44553 } else {
44554 nit_abort("Assert failed", NULL, LOCATE_parser, 16435);
44555 }
44556 /* parser/parser.nit:16436 */
44557 fra.me.REG[3] = NEW_AInLanguage_parser___parser_prod___AInLanguage___init_ainlanguage(fra.me.REG[4], fra.me.REG[3]);
44558 /* parser/parser.nit:16440 */
44559 fra.me.REG[2] = fra.me.REG[3];
44560 /* parser/parser.nit:16441 */
44561 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44562 if (UNTAG_Bool(REGB0)) {
44563 } else {
44564 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16441);
44565 }
44566 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44567 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44568 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44569 stack_frame_head = fra.me.prev;
44570 return;
44571 }
44572 static const char LOCATE_parser___ReduceAction401___action[] = "parser::ReduceAction401::(parser::ReduceAction::action)";
44573 void parser___ReduceAction401___action(val_t p0, val_t p1){
44574 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
44575 val_t REGB0;
44576 val_t tmp;
44577 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44578 fra.me.file = LOCATE_parser;
44579 fra.me.line = 16446;
44580 fra.me.meth = LOCATE_parser___ReduceAction401___action;
44581 fra.me.has_broke = 0;
44582 fra.me.REG_size = 4;
44583 fra.me.nitni_local_ref_head = NULL;
44584 fra.me.REG[0] = NIT_NULL;
44585 fra.me.REG[1] = NIT_NULL;
44586 fra.me.REG[2] = NIT_NULL;
44587 fra.me.REG[3] = NIT_NULL;
44588 fra.me.REG[0] = p0;
44589 fra.me.REG[1] = p1;
44590 /* parser/parser.nit:16448 */
44591 fra.me.REG[2] = NIT_NULL;
44592 /* parser/parser.nit:16449 */
44593 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44594 /* parser/parser.nit:16451 */
44595 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*/;
44596 if (UNTAG_Bool(REGB0)) {
44597 } else {
44598 nit_abort("Assert failed", NULL, LOCATE_parser, 16451);
44599 }
44600 /* parser/parser.nit:16452 */
44601 fra.me.REG[3] = NEW_AExternCodeBlock_parser___parser_prod___AExternCodeBlock___init_aexterncodeblock(NIT_NULL, fra.me.REG[3]);
44602 /* parser/parser.nit:16456 */
44603 fra.me.REG[2] = fra.me.REG[3];
44604 /* parser/parser.nit:16457 */
44605 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44606 if (UNTAG_Bool(REGB0)) {
44607 } else {
44608 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16457);
44609 }
44610 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44611 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44612 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44613 stack_frame_head = fra.me.prev;
44614 return;
44615 }
44616 static const char LOCATE_parser___ReduceAction402___action[] = "parser::ReduceAction402::(parser::ReduceAction::action)";
44617 void parser___ReduceAction402___action(val_t p0, val_t p1){
44618 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
44619 val_t REGB0;
44620 val_t tmp;
44621 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44622 fra.me.file = LOCATE_parser;
44623 fra.me.line = 16462;
44624 fra.me.meth = LOCATE_parser___ReduceAction402___action;
44625 fra.me.has_broke = 0;
44626 fra.me.REG_size = 5;
44627 fra.me.nitni_local_ref_head = NULL;
44628 fra.me.REG[0] = NIT_NULL;
44629 fra.me.REG[1] = NIT_NULL;
44630 fra.me.REG[2] = NIT_NULL;
44631 fra.me.REG[3] = NIT_NULL;
44632 fra.me.REG[4] = NIT_NULL;
44633 fra.me.REG[0] = p0;
44634 fra.me.REG[1] = p1;
44635 /* parser/parser.nit:16464 */
44636 fra.me.REG[2] = NIT_NULL;
44637 /* parser/parser.nit:16465 */
44638 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44639 /* parser/parser.nit:16466 */
44640 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44641 /* parser/parser.nit:16468 */
44642 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*/;
44643 if (UNTAG_Bool(REGB0)) {
44644 } else {
44645 nit_abort("Assert failed", NULL, LOCATE_parser, 16468);
44646 }
44647 /* parser/parser.nit:16470 */
44648 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*/;
44649 if (UNTAG_Bool(REGB0)) {
44650 } else {
44651 nit_abort("Assert failed", NULL, LOCATE_parser, 16470);
44652 }
44653 /* parser/parser.nit:16471 */
44654 fra.me.REG[3] = NEW_AExternCodeBlock_parser___parser_prod___AExternCodeBlock___init_aexterncodeblock(fra.me.REG[4], fra.me.REG[3]);
44655 /* parser/parser.nit:16475 */
44656 fra.me.REG[2] = fra.me.REG[3];
44657 /* parser/parser.nit:16476 */
44658 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44659 if (UNTAG_Bool(REGB0)) {
44660 } else {
44661 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16476);
44662 }
44663 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44664 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44665 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44666 stack_frame_head = fra.me.prev;
44667 return;
44668 }
44669 static const char LOCATE_parser___ReduceAction403___action[] = "parser::ReduceAction403::(parser::ReduceAction::action)";
44670 void parser___ReduceAction403___action(val_t p0, val_t p1){
44671 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
44672 val_t REGB0;
44673 val_t tmp;
44674 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44675 fra.me.file = LOCATE_parser;
44676 fra.me.line = 16481;
44677 fra.me.meth = LOCATE_parser___ReduceAction403___action;
44678 fra.me.has_broke = 0;
44679 fra.me.REG_size = 5;
44680 fra.me.nitni_local_ref_head = NULL;
44681 fra.me.REG[0] = NIT_NULL;
44682 fra.me.REG[1] = NIT_NULL;
44683 fra.me.REG[2] = NIT_NULL;
44684 fra.me.REG[3] = NIT_NULL;
44685 fra.me.REG[4] = NIT_NULL;
44686 fra.me.REG[0] = p0;
44687 fra.me.REG[1] = p1;
44688 /* parser/parser.nit:16483 */
44689 fra.me.REG[2] = NIT_NULL;
44690 /* parser/parser.nit:16484 */
44691 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44692 /* parser/parser.nit:16485 */
44693 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44694 /* parser/parser.nit:16487 */
44695 fra.me.REG[2] = fra.me.REG[3];
44696 /* parser/parser.nit:16488 */
44697 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44698 if (UNTAG_Bool(REGB0)) {
44699 } else {
44700 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16488);
44701 }
44702 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44703 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44704 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44705 stack_frame_head = fra.me.prev;
44706 return;
44707 }
44708 static const char LOCATE_parser___ReduceAction404___action[] = "parser::ReduceAction404::(parser::ReduceAction::action)";
44709 void parser___ReduceAction404___action(val_t p0, val_t p1){
44710 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
44711 val_t REGB0;
44712 val_t tmp;
44713 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44714 fra.me.file = LOCATE_parser;
44715 fra.me.line = 16493;
44716 fra.me.meth = LOCATE_parser___ReduceAction404___action;
44717 fra.me.has_broke = 0;
44718 fra.me.REG_size = 5;
44719 fra.me.nitni_local_ref_head = NULL;
44720 fra.me.REG[0] = NIT_NULL;
44721 fra.me.REG[1] = NIT_NULL;
44722 fra.me.REG[2] = NIT_NULL;
44723 fra.me.REG[3] = NIT_NULL;
44724 fra.me.REG[4] = NIT_NULL;
44725 fra.me.REG[0] = p0;
44726 fra.me.REG[1] = p1;
44727 /* parser/parser.nit:16495 */
44728 fra.me.REG[2] = NIT_NULL;
44729 /* parser/parser.nit:16496 */
44730 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44731 /* parser/parser.nit:16497 */
44732 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
44733 /* parser/parser.nit:16499 */
44734 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*/;
44735 if (UNTAG_Bool(REGB0)) {
44736 } else {
44737 nit_abort("Assert failed", NULL, LOCATE_parser, 16499);
44738 }
44739 /* parser/parser.nit:16500 */
44740 fra.me.REG[4] = NEW_AType_parser___parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[3], fra.me.REG[4], NIT_NULL);
44741 /* parser/parser.nit:16506 */
44742 fra.me.REG[2] = fra.me.REG[4];
44743 /* parser/parser.nit:16507 */
44744 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44745 if (UNTAG_Bool(REGB0)) {
44746 } else {
44747 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16507);
44748 }
44749 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44750 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44751 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44752 stack_frame_head = fra.me.prev;
44753 return;
44754 }
44755 static const char LOCATE_parser___ReduceAction405___action[] = "parser::ReduceAction405::(parser::ReduceAction::action)";
44756 void parser___ReduceAction405___action(val_t p0, val_t p1){
44757 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
44758 val_t REGB0;
44759 val_t tmp;
44760 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44761 fra.me.file = LOCATE_parser;
44762 fra.me.line = 16512;
44763 fra.me.meth = LOCATE_parser___ReduceAction405___action;
44764 fra.me.has_broke = 0;
44765 fra.me.REG_size = 6;
44766 fra.me.nitni_local_ref_head = NULL;
44767 fra.me.REG[0] = NIT_NULL;
44768 fra.me.REG[1] = NIT_NULL;
44769 fra.me.REG[2] = NIT_NULL;
44770 fra.me.REG[3] = NIT_NULL;
44771 fra.me.REG[4] = NIT_NULL;
44772 fra.me.REG[5] = NIT_NULL;
44773 fra.me.REG[0] = p0;
44774 fra.me.REG[1] = p1;
44775 /* parser/parser.nit:16514 */
44776 fra.me.REG[2] = NIT_NULL;
44777 /* parser/parser.nit:16515 */
44778 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44779 /* parser/parser.nit:16516 */
44780 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44781 /* parser/parser.nit:16517 */
44782 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
44783 /* parser/parser.nit:16519 */
44784 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*/;
44785 if (UNTAG_Bool(REGB0)) {
44786 } else {
44787 nit_abort("Assert failed", NULL, LOCATE_parser, 16519);
44788 }
44789 /* parser/parser.nit:16521 */
44790 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*/;
44791 if (UNTAG_Bool(REGB0)) {
44792 } else {
44793 nit_abort("Assert failed", NULL, LOCATE_parser, 16521);
44794 }
44795 /* parser/parser.nit:16522 */
44796 fra.me.REG[5] = NEW_AType_parser___parser_prod___AType___init_atype(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], NIT_NULL);
44797 /* parser/parser.nit:16528 */
44798 fra.me.REG[2] = fra.me.REG[5];
44799 /* parser/parser.nit:16529 */
44800 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44801 if (UNTAG_Bool(REGB0)) {
44802 } else {
44803 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16529);
44804 }
44805 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44806 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44807 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44808 stack_frame_head = fra.me.prev;
44809 return;
44810 }
44811 static const char LOCATE_parser___ReduceAction406___action[] = "parser::ReduceAction406::(parser::ReduceAction::action)";
44812 void parser___ReduceAction406___action(val_t p0, val_t p1){
44813 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
44814 val_t REGB0;
44815 val_t tmp;
44816 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44817 fra.me.file = LOCATE_parser;
44818 fra.me.line = 16534;
44819 fra.me.meth = LOCATE_parser___ReduceAction406___action;
44820 fra.me.has_broke = 0;
44821 fra.me.REG_size = 6;
44822 fra.me.nitni_local_ref_head = NULL;
44823 fra.me.REG[0] = NIT_NULL;
44824 fra.me.REG[1] = NIT_NULL;
44825 fra.me.REG[2] = NIT_NULL;
44826 fra.me.REG[3] = NIT_NULL;
44827 fra.me.REG[4] = NIT_NULL;
44828 fra.me.REG[5] = NIT_NULL;
44829 fra.me.REG[0] = p0;
44830 fra.me.REG[1] = p1;
44831 /* parser/parser.nit:16536 */
44832 fra.me.REG[2] = NIT_NULL;
44833 /* parser/parser.nit:16537 */
44834 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44835 /* parser/parser.nit:16538 */
44836 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44837 /* parser/parser.nit:16539 */
44838 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
44839 /* parser/parser.nit:16541 */
44840 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*/;
44841 if (UNTAG_Bool(REGB0)) {
44842 } else {
44843 nit_abort("Assert failed", NULL, LOCATE_parser, 16541);
44844 }
44845 /* parser/parser.nit:16543 */
44846 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
44847 if (UNTAG_Bool(REGB0)) {
44848 } else {
44849 nit_abort("Assert failed", NULL, LOCATE_parser, 16543);
44850 }
44851 /* parser/parser.nit:16544 */
44852 fra.me.REG[3] = NEW_AType_parser___parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[4], fra.me.REG[5], fra.me.REG[3]);
44853 /* parser/parser.nit:16550 */
44854 fra.me.REG[2] = fra.me.REG[3];
44855 /* parser/parser.nit:16551 */
44856 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44857 if (UNTAG_Bool(REGB0)) {
44858 } else {
44859 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16551);
44860 }
44861 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44862 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44863 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44864 stack_frame_head = fra.me.prev;
44865 return;
44866 }
44867 static const char LOCATE_parser___ReduceAction407___action[] = "parser::ReduceAction407::(parser::ReduceAction::action)";
44868 void parser___ReduceAction407___action(val_t p0, val_t p1){
44869 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
44870 val_t REGB0;
44871 val_t tmp;
44872 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44873 fra.me.file = LOCATE_parser;
44874 fra.me.line = 16556;
44875 fra.me.meth = LOCATE_parser___ReduceAction407___action;
44876 fra.me.has_broke = 0;
44877 fra.me.REG_size = 7;
44878 fra.me.nitni_local_ref_head = NULL;
44879 fra.me.REG[0] = NIT_NULL;
44880 fra.me.REG[1] = NIT_NULL;
44881 fra.me.REG[2] = NIT_NULL;
44882 fra.me.REG[3] = NIT_NULL;
44883 fra.me.REG[4] = NIT_NULL;
44884 fra.me.REG[5] = NIT_NULL;
44885 fra.me.REG[6] = NIT_NULL;
44886 fra.me.REG[0] = p0;
44887 fra.me.REG[1] = p1;
44888 /* parser/parser.nit:16558 */
44889 fra.me.REG[2] = NIT_NULL;
44890 /* parser/parser.nit:16559 */
44891 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44892 /* parser/parser.nit:16560 */
44893 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44894 /* parser/parser.nit:16561 */
44895 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44896 /* parser/parser.nit:16562 */
44897 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
44898 /* parser/parser.nit:16564 */
44899 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*/;
44900 if (UNTAG_Bool(REGB0)) {
44901 } else {
44902 nit_abort("Assert failed", NULL, LOCATE_parser, 16564);
44903 }
44904 /* parser/parser.nit:16566 */
44905 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*/;
44906 if (UNTAG_Bool(REGB0)) {
44907 } else {
44908 nit_abort("Assert failed", NULL, LOCATE_parser, 16566);
44909 }
44910 /* parser/parser.nit:16568 */
44911 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
44912 if (UNTAG_Bool(REGB0)) {
44913 } else {
44914 nit_abort("Assert failed", NULL, LOCATE_parser, 16568);
44915 }
44916 /* parser/parser.nit:16569 */
44917 fra.me.REG[3] = NEW_AType_parser___parser_prod___AType___init_atype(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3]);
44918 /* parser/parser.nit:16575 */
44919 fra.me.REG[2] = fra.me.REG[3];
44920 /* parser/parser.nit:16576 */
44921 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44922 if (UNTAG_Bool(REGB0)) {
44923 } else {
44924 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16576);
44925 }
44926 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44927 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44928 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44929 stack_frame_head = fra.me.prev;
44930 return;
44931 }
44932 static const char LOCATE_parser___ReduceAction408___action[] = "parser::ReduceAction408::(parser::ReduceAction::action)";
44933 void parser___ReduceAction408___action(val_t p0, val_t p1){
44934 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
44935 val_t REGB0;
44936 val_t tmp;
44937 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44938 fra.me.file = LOCATE_parser;
44939 fra.me.line = 16581;
44940 fra.me.meth = LOCATE_parser___ReduceAction408___action;
44941 fra.me.has_broke = 0;
44942 fra.me.REG_size = 6;
44943 fra.me.nitni_local_ref_head = NULL;
44944 fra.me.REG[0] = NIT_NULL;
44945 fra.me.REG[1] = NIT_NULL;
44946 fra.me.REG[2] = NIT_NULL;
44947 fra.me.REG[3] = NIT_NULL;
44948 fra.me.REG[4] = NIT_NULL;
44949 fra.me.REG[5] = NIT_NULL;
44950 fra.me.REG[0] = p0;
44951 fra.me.REG[1] = p1;
44952 /* parser/parser.nit:16583 */
44953 fra.me.REG[2] = NIT_NULL;
44954 /* parser/parser.nit:16584 */
44955 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44956 /* parser/parser.nit:16585 */
44957 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44958 /* parser/parser.nit:16586 */
44959 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44960 /* parser/parser.nit:16587 */
44961 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44962 /* parser/parser.nit:16588 */
44963 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44964 /* parser/parser.nit:16589 */
44965 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44966 /* parser/parser.nit:16590 */
44967 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
44968 /* parser/parser.nit:16592 */
44969 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*/;
44970 if (UNTAG_Bool(REGB0)) {
44971 } else {
44972 nit_abort("Assert failed", NULL, LOCATE_parser, 16592);
44973 }
44974 /* parser/parser.nit:16594 */
44975 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]*/;
44976 if (UNTAG_Bool(REGB0)) {
44977 } else {
44978 nit_abort("Assert failed", NULL, LOCATE_parser, 16594);
44979 }
44980 /* parser/parser.nit:16595 */
44981 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
44982 fra.me.REG[5] = fra.me.REG[3];
44983 /* parser/parser.nit:16596 */
44984 fra.me.REG[5] = NEW_AType_parser___parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[4], fra.me.REG[5], NIT_NULL);
44985 /* parser/parser.nit:16602 */
44986 fra.me.REG[2] = fra.me.REG[5];
44987 /* parser/parser.nit:16603 */
44988 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44989 if (UNTAG_Bool(REGB0)) {
44990 } else {
44991 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16603);
44992 }
44993 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44994 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44995 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44996 stack_frame_head = fra.me.prev;
44997 return;
44998 }
44999 static const char LOCATE_parser___ReduceAction409___action[] = "parser::ReduceAction409::(parser::ReduceAction::action)";
45000 void parser___ReduceAction409___action(val_t p0, val_t p1){
45001 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
45002 val_t REGB0;
45003 val_t tmp;
45004 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45005 fra.me.file = LOCATE_parser;
45006 fra.me.line = 16608;
45007 fra.me.meth = LOCATE_parser___ReduceAction409___action;
45008 fra.me.has_broke = 0;
45009 fra.me.REG_size = 7;
45010 fra.me.nitni_local_ref_head = NULL;
45011 fra.me.REG[0] = NIT_NULL;
45012 fra.me.REG[1] = NIT_NULL;
45013 fra.me.REG[2] = NIT_NULL;
45014 fra.me.REG[3] = NIT_NULL;
45015 fra.me.REG[4] = NIT_NULL;
45016 fra.me.REG[5] = NIT_NULL;
45017 fra.me.REG[6] = NIT_NULL;
45018 fra.me.REG[0] = p0;
45019 fra.me.REG[1] = p1;
45020 /* parser/parser.nit:16610 */
45021 fra.me.REG[2] = NIT_NULL;
45022 /* parser/parser.nit:16611 */
45023 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45024 /* parser/parser.nit:16612 */
45025 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45026 /* parser/parser.nit:16613 */
45027 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45028 /* parser/parser.nit:16614 */
45029 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45030 /* parser/parser.nit:16615 */
45031 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45032 /* parser/parser.nit:16616 */
45033 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45034 /* parser/parser.nit:16617 */
45035 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45036 /* parser/parser.nit:16618 */
45037 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
45038 /* parser/parser.nit:16620 */
45039 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*/;
45040 if (UNTAG_Bool(REGB0)) {
45041 } else {
45042 nit_abort("Assert failed", NULL, LOCATE_parser, 16620);
45043 }
45044 /* parser/parser.nit:16622 */
45045 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*/;
45046 if (UNTAG_Bool(REGB0)) {
45047 } else {
45048 nit_abort("Assert failed", NULL, LOCATE_parser, 16622);
45049 }
45050 /* parser/parser.nit:16624 */
45051 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]*/;
45052 if (UNTAG_Bool(REGB0)) {
45053 } else {
45054 nit_abort("Assert failed", NULL, LOCATE_parser, 16624);
45055 }
45056 /* parser/parser.nit:16625 */
45057 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
45058 fra.me.REG[6] = fra.me.REG[3];
45059 /* parser/parser.nit:16626 */
45060 fra.me.REG[6] = NEW_AType_parser___parser_prod___AType___init_atype(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], NIT_NULL);
45061 /* parser/parser.nit:16632 */
45062 fra.me.REG[2] = fra.me.REG[6];
45063 /* parser/parser.nit:16633 */
45064 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45065 if (UNTAG_Bool(REGB0)) {
45066 } else {
45067 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16633);
45068 }
45069 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45070 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45071 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45072 stack_frame_head = fra.me.prev;
45073 return;
45074 }
45075 static const char LOCATE_parser___ReduceAction410___action[] = "parser::ReduceAction410::(parser::ReduceAction::action)";
45076 void parser___ReduceAction410___action(val_t p0, val_t p1){
45077 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
45078 val_t REGB0;
45079 val_t tmp;
45080 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45081 fra.me.file = LOCATE_parser;
45082 fra.me.line = 16638;
45083 fra.me.meth = LOCATE_parser___ReduceAction410___action;
45084 fra.me.has_broke = 0;
45085 fra.me.REG_size = 7;
45086 fra.me.nitni_local_ref_head = NULL;
45087 fra.me.REG[0] = NIT_NULL;
45088 fra.me.REG[1] = NIT_NULL;
45089 fra.me.REG[2] = NIT_NULL;
45090 fra.me.REG[3] = NIT_NULL;
45091 fra.me.REG[4] = NIT_NULL;
45092 fra.me.REG[5] = NIT_NULL;
45093 fra.me.REG[6] = NIT_NULL;
45094 fra.me.REG[0] = p0;
45095 fra.me.REG[1] = p1;
45096 /* parser/parser.nit:16640 */
45097 fra.me.REG[2] = NIT_NULL;
45098 /* parser/parser.nit:16641 */
45099 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45100 /* parser/parser.nit:16642 */
45101 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45102 /* parser/parser.nit:16643 */
45103 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45104 /* parser/parser.nit:16644 */
45105 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45106 /* parser/parser.nit:16645 */
45107 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45108 /* parser/parser.nit:16646 */
45109 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45110 /* parser/parser.nit:16647 */
45111 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45112 /* parser/parser.nit:16648 */
45113 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
45114 /* parser/parser.nit:16650 */
45115 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*/;
45116 if (UNTAG_Bool(REGB0)) {
45117 } else {
45118 nit_abort("Assert failed", NULL, LOCATE_parser, 16650);
45119 }
45120 /* parser/parser.nit:16652 */
45121 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]*/;
45122 if (UNTAG_Bool(REGB0)) {
45123 } else {
45124 nit_abort("Assert failed", NULL, LOCATE_parser, 16652);
45125 }
45126 /* parser/parser.nit:16653 */
45127 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
45128 fra.me.REG[6] = fra.me.REG[4];
45129 /* parser/parser.nit:16655 */
45130 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
45131 if (UNTAG_Bool(REGB0)) {
45132 } else {
45133 nit_abort("Assert failed", NULL, LOCATE_parser, 16655);
45134 }
45135 /* parser/parser.nit:16656 */
45136 fra.me.REG[3] = NEW_AType_parser___parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[3]);
45137 /* parser/parser.nit:16662 */
45138 fra.me.REG[2] = fra.me.REG[3];
45139 /* parser/parser.nit:16663 */
45140 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45141 if (UNTAG_Bool(REGB0)) {
45142 } else {
45143 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16663);
45144 }
45145 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45146 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45147 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45148 stack_frame_head = fra.me.prev;
45149 return;
45150 }
45151 static const char LOCATE_parser___ReduceAction411___action[] = "parser::ReduceAction411::(parser::ReduceAction::action)";
45152 void parser___ReduceAction411___action(val_t p0, val_t p1){
45153 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
45154 val_t REGB0;
45155 val_t tmp;
45156 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45157 fra.me.file = LOCATE_parser;
45158 fra.me.line = 16668;
45159 fra.me.meth = LOCATE_parser___ReduceAction411___action;
45160 fra.me.has_broke = 0;
45161 fra.me.REG_size = 8;
45162 fra.me.nitni_local_ref_head = NULL;
45163 fra.me.REG[0] = NIT_NULL;
45164 fra.me.REG[1] = NIT_NULL;
45165 fra.me.REG[2] = NIT_NULL;
45166 fra.me.REG[3] = NIT_NULL;
45167 fra.me.REG[4] = NIT_NULL;
45168 fra.me.REG[5] = NIT_NULL;
45169 fra.me.REG[6] = NIT_NULL;
45170 fra.me.REG[7] = NIT_NULL;
45171 fra.me.REG[0] = p0;
45172 fra.me.REG[1] = p1;
45173 /* parser/parser.nit:16670 */
45174 fra.me.REG[2] = NIT_NULL;
45175 /* parser/parser.nit:16671 */
45176 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45177 /* parser/parser.nit:16672 */
45178 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45179 /* parser/parser.nit:16673 */
45180 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45181 /* parser/parser.nit:16674 */
45182 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45183 /* parser/parser.nit:16675 */
45184 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45185 /* parser/parser.nit:16676 */
45186 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45187 /* parser/parser.nit:16677 */
45188 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45189 /* parser/parser.nit:16678 */
45190 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45191 /* parser/parser.nit:16679 */
45192 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
45193 /* parser/parser.nit:16681 */
45194 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnullable, ID_parser___parser_nodes___TKwnullable)) /*cast nullable TKwnullable*/;
45195 if (UNTAG_Bool(REGB0)) {
45196 } else {
45197 nit_abort("Assert failed", NULL, LOCATE_parser, 16681);
45198 }
45199 /* parser/parser.nit:16683 */
45200 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*/;
45201 if (UNTAG_Bool(REGB0)) {
45202 } else {
45203 nit_abort("Assert failed", NULL, LOCATE_parser, 16683);
45204 }
45205 /* parser/parser.nit:16685 */
45206 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]*/;
45207 if (UNTAG_Bool(REGB0)) {
45208 } else {
45209 nit_abort("Assert failed", NULL, LOCATE_parser, 16685);
45210 }
45211 /* parser/parser.nit:16686 */
45212 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
45213 fra.me.REG[7] = fra.me.REG[4];
45214 /* parser/parser.nit:16688 */
45215 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
45216 if (UNTAG_Bool(REGB0)) {
45217 } else {
45218 nit_abort("Assert failed", NULL, LOCATE_parser, 16688);
45219 }
45220 /* parser/parser.nit:16689 */
45221 fra.me.REG[3] = NEW_AType_parser___parser_prod___AType___init_atype(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3]);
45222 /* parser/parser.nit:16695 */
45223 fra.me.REG[2] = fra.me.REG[3];
45224 /* parser/parser.nit:16696 */
45225 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45226 if (UNTAG_Bool(REGB0)) {
45227 } else {
45228 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16696);
45229 }
45230 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45231 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45232 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45233 stack_frame_head = fra.me.prev;
45234 return;
45235 }
45236 static const char LOCATE_parser___ReduceAction412___action[] = "parser::ReduceAction412::(parser::ReduceAction::action)";
45237 void parser___ReduceAction412___action(val_t p0, val_t p1){
45238 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
45239 val_t REGB0;
45240 val_t REGB1;
45241 val_t tmp;
45242 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45243 fra.me.file = LOCATE_parser;
45244 fra.me.line = 16701;
45245 fra.me.meth = LOCATE_parser___ReduceAction412___action;
45246 fra.me.has_broke = 0;
45247 fra.me.REG_size = 5;
45248 fra.me.nitni_local_ref_head = NULL;
45249 fra.me.REG[0] = NIT_NULL;
45250 fra.me.REG[1] = NIT_NULL;
45251 fra.me.REG[2] = NIT_NULL;
45252 fra.me.REG[3] = NIT_NULL;
45253 fra.me.REG[4] = NIT_NULL;
45254 fra.me.REG[0] = p0;
45255 fra.me.REG[1] = p1;
45256 /* parser/parser.nit:16703 */
45257 fra.me.REG[2] = NIT_NULL;
45258 /* parser/parser.nit:16704 */
45259 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45260 /* parser/parser.nit:16705 */
45261 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
45262 /* parser/parser.nit:16707 */
45263 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45264 if (UNTAG_Bool(REGB0)) {
45265 } else {
45266 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45267 if (UNTAG_Bool(REGB1)) {
45268 REGB1 = TAG_Bool(0);
45269 REGB0 = REGB1;
45270 } else {
45271 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
45272 REGB0 = REGB1;
45273 }
45274 }
45275 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45276 if (UNTAG_Bool(REGB0)) {
45277 /* parser/parser.nit:16708 */
45278 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
45279 }
45280 /* parser/parser.nit:16710 */
45281 fra.me.REG[2] = fra.me.REG[4];
45282 /* parser/parser.nit:16711 */
45283 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45284 if (UNTAG_Bool(REGB0)) {
45285 } else {
45286 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16711);
45287 }
45288 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45289 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45290 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45291 stack_frame_head = fra.me.prev;
45292 return;
45293 }
45294 static const char LOCATE_parser___ReduceAction413___action[] = "parser::ReduceAction413::(parser::ReduceAction::action)";
45295 void parser___ReduceAction413___action(val_t p0, val_t p1){
45296 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
45297 val_t REGB0;
45298 val_t REGB1;
45299 val_t tmp;
45300 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45301 fra.me.file = LOCATE_parser;
45302 fra.me.line = 16716;
45303 fra.me.meth = LOCATE_parser___ReduceAction413___action;
45304 fra.me.has_broke = 0;
45305 fra.me.REG_size = 6;
45306 fra.me.nitni_local_ref_head = NULL;
45307 fra.me.REG[0] = NIT_NULL;
45308 fra.me.REG[1] = NIT_NULL;
45309 fra.me.REG[2] = NIT_NULL;
45310 fra.me.REG[3] = NIT_NULL;
45311 fra.me.REG[4] = NIT_NULL;
45312 fra.me.REG[5] = NIT_NULL;
45313 fra.me.REG[0] = p0;
45314 fra.me.REG[1] = p1;
45315 /* parser/parser.nit:16718 */
45316 fra.me.REG[2] = NIT_NULL;
45317 /* parser/parser.nit:16719 */
45318 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45319 /* parser/parser.nit:16720 */
45320 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45321 /* parser/parser.nit:16721 */
45322 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
45323 /* parser/parser.nit:16724 */
45324 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]*/;
45325 if (UNTAG_Bool(REGB0)) {
45326 } else {
45327 nit_abort("Assert failed", NULL, LOCATE_parser, 16724);
45328 }
45329 /* parser/parser.nit:16725 */
45330 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
45331 if (UNTAG_Bool(REGB0)) {
45332 } else {
45333 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
45334 if (UNTAG_Bool(REGB1)) {
45335 REGB1 = TAG_Bool(0);
45336 REGB0 = REGB1;
45337 } else {
45338 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
45339 REGB0 = REGB1;
45340 }
45341 }
45342 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45343 if (UNTAG_Bool(REGB0)) {
45344 /* parser/parser.nit:16726 */
45345 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
45346 }
45347 /* parser/parser.nit:16728 */
45348 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
45349 fra.me.REG[5] = fra.me.REG[3];
45350 /* parser/parser.nit:16729 */
45351 fra.me.REG[2] = fra.me.REG[5];
45352 /* parser/parser.nit:16730 */
45353 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45354 if (UNTAG_Bool(REGB0)) {
45355 } else {
45356 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16730);
45357 }
45358 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45359 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45360 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45361 stack_frame_head = fra.me.prev;
45362 return;
45363 }
45364 static const char LOCATE_parser___ReduceAction414___action[] = "parser::ReduceAction414::(parser::ReduceAction::action)";
45365 void parser___ReduceAction414___action(val_t p0, val_t p1){
45366 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
45367 val_t REGB0;
45368 val_t tmp;
45369 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45370 fra.me.file = LOCATE_parser;
45371 fra.me.line = 16735;
45372 fra.me.meth = LOCATE_parser___ReduceAction414___action;
45373 fra.me.has_broke = 0;
45374 fra.me.REG_size = 5;
45375 fra.me.nitni_local_ref_head = NULL;
45376 fra.me.REG[0] = NIT_NULL;
45377 fra.me.REG[1] = NIT_NULL;
45378 fra.me.REG[2] = NIT_NULL;
45379 fra.me.REG[3] = NIT_NULL;
45380 fra.me.REG[4] = NIT_NULL;
45381 fra.me.REG[0] = p0;
45382 fra.me.REG[1] = p1;
45383 /* parser/parser.nit:16737 */
45384 fra.me.REG[2] = NIT_NULL;
45385 /* parser/parser.nit:16738 */
45386 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45387 /* parser/parser.nit:16739 */
45388 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45389 /* parser/parser.nit:16740 */
45390 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45391 /* parser/parser.nit:16742 */
45392 fra.me.REG[2] = fra.me.REG[3];
45393 /* parser/parser.nit:16743 */
45394 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45395 if (UNTAG_Bool(REGB0)) {
45396 } else {
45397 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16743);
45398 }
45399 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45400 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45401 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45402 stack_frame_head = fra.me.prev;
45403 return;
45404 }
45405 static const char LOCATE_parser___ReduceAction416___action[] = "parser::ReduceAction416::(parser::ReduceAction::action)";
45406 void parser___ReduceAction416___action(val_t p0, val_t p1){
45407 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
45408 val_t REGB0;
45409 val_t tmp;
45410 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45411 fra.me.file = LOCATE_parser;
45412 fra.me.line = 16748;
45413 fra.me.meth = LOCATE_parser___ReduceAction416___action;
45414 fra.me.has_broke = 0;
45415 fra.me.REG_size = 5;
45416 fra.me.nitni_local_ref_head = NULL;
45417 fra.me.REG[0] = NIT_NULL;
45418 fra.me.REG[1] = NIT_NULL;
45419 fra.me.REG[2] = NIT_NULL;
45420 fra.me.REG[3] = NIT_NULL;
45421 fra.me.REG[4] = NIT_NULL;
45422 fra.me.REG[0] = p0;
45423 fra.me.REG[1] = p1;
45424 /* parser/parser.nit:16750 */
45425 fra.me.REG[2] = NIT_NULL;
45426 /* parser/parser.nit:16751 */
45427 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45428 /* parser/parser.nit:16752 */
45429 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45430 /* parser/parser.nit:16754 */
45431 fra.me.REG[2] = fra.me.REG[3];
45432 /* parser/parser.nit:16755 */
45433 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45434 if (UNTAG_Bool(REGB0)) {
45435 } else {
45436 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16755);
45437 }
45438 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45439 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45440 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45441 stack_frame_head = fra.me.prev;
45442 return;
45443 }
45444 static const char LOCATE_parser___ReduceAction417___action[] = "parser::ReduceAction417::(parser::ReduceAction::action)";
45445 void parser___ReduceAction417___action(val_t p0, val_t p1){
45446 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
45447 val_t REGB0;
45448 val_t tmp;
45449 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45450 fra.me.file = LOCATE_parser;
45451 fra.me.line = 16760;
45452 fra.me.meth = LOCATE_parser___ReduceAction417___action;
45453 fra.me.has_broke = 0;
45454 fra.me.REG_size = 5;
45455 fra.me.nitni_local_ref_head = NULL;
45456 fra.me.REG[0] = NIT_NULL;
45457 fra.me.REG[1] = NIT_NULL;
45458 fra.me.REG[2] = NIT_NULL;
45459 fra.me.REG[3] = NIT_NULL;
45460 fra.me.REG[4] = NIT_NULL;
45461 fra.me.REG[0] = p0;
45462 fra.me.REG[1] = p1;
45463 /* parser/parser.nit:16762 */
45464 fra.me.REG[2] = NIT_NULL;
45465 /* parser/parser.nit:16763 */
45466 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45467 /* parser/parser.nit:16764 */
45468 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45469 /* parser/parser.nit:16765 */
45470 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
45471 /* parser/parser.nit:16767 */
45472 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*/;
45473 if (UNTAG_Bool(REGB0)) {
45474 } else {
45475 nit_abort("Assert failed", NULL, LOCATE_parser, 16767);
45476 }
45477 /* parser/parser.nit:16768 */
45478 fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4], fra.me.REG[3]);
45479 /* parser/parser.nit:16772 */
45480 fra.me.REG[2] = fra.me.REG[3];
45481 /* parser/parser.nit:16773 */
45482 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45483 if (UNTAG_Bool(REGB0)) {
45484 } else {
45485 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16773);
45486 }
45487 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45488 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45489 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45490 stack_frame_head = fra.me.prev;
45491 return;
45492 }
45493 static const char LOCATE_parser___ReduceAction418___action[] = "parser::ReduceAction418::(parser::ReduceAction::action)";
45494 void parser___ReduceAction418___action(val_t p0, val_t p1){
45495 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
45496 val_t REGB0;
45497 val_t tmp;
45498 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45499 fra.me.file = LOCATE_parser;
45500 fra.me.line = 16778;
45501 fra.me.meth = LOCATE_parser___ReduceAction418___action;
45502 fra.me.has_broke = 0;
45503 fra.me.REG_size = 5;
45504 fra.me.nitni_local_ref_head = NULL;
45505 fra.me.REG[0] = NIT_NULL;
45506 fra.me.REG[1] = NIT_NULL;
45507 fra.me.REG[2] = NIT_NULL;
45508 fra.me.REG[3] = NIT_NULL;
45509 fra.me.REG[4] = NIT_NULL;
45510 fra.me.REG[0] = p0;
45511 fra.me.REG[1] = p1;
45512 /* parser/parser.nit:16780 */
45513 fra.me.REG[2] = NIT_NULL;
45514 /* parser/parser.nit:16781 */
45515 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45516 /* parser/parser.nit:16782 */
45517 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
45518 /* parser/parser.nit:16784 */
45519 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*/;
45520 if (UNTAG_Bool(REGB0)) {
45521 } else {
45522 nit_abort("Assert failed", NULL, LOCATE_parser, 16784);
45523 }
45524 /* parser/parser.nit:16785 */
45525 fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4], fra.me.REG[3]);
45526 /* parser/parser.nit:16789 */
45527 fra.me.REG[2] = fra.me.REG[3];
45528 /* parser/parser.nit:16790 */
45529 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45530 if (UNTAG_Bool(REGB0)) {
45531 } else {
45532 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16790);
45533 }
45534 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45535 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45536 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45537 stack_frame_head = fra.me.prev;
45538 return;
45539 }
45540 static const char LOCATE_parser___ReduceAction419___action[] = "parser::ReduceAction419::(parser::ReduceAction::action)";
45541 void parser___ReduceAction419___action(val_t p0, val_t p1){
45542 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
45543 val_t REGB0;
45544 val_t tmp;
45545 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45546 fra.me.file = LOCATE_parser;
45547 fra.me.line = 16795;
45548 fra.me.meth = LOCATE_parser___ReduceAction419___action;
45549 fra.me.has_broke = 0;
45550 fra.me.REG_size = 4;
45551 fra.me.nitni_local_ref_head = NULL;
45552 fra.me.REG[0] = NIT_NULL;
45553 fra.me.REG[1] = NIT_NULL;
45554 fra.me.REG[2] = NIT_NULL;
45555 fra.me.REG[3] = NIT_NULL;
45556 fra.me.REG[0] = p0;
45557 fra.me.REG[1] = p1;
45558 /* parser/parser.nit:16797 */
45559 fra.me.REG[2] = NIT_NULL;
45560 /* parser/parser.nit:16798 */
45561 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45562 /* parser/parser.nit:16800 */
45563 fra.me.REG[2] = fra.me.REG[3];
45564 /* parser/parser.nit:16801 */
45565 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45566 if (UNTAG_Bool(REGB0)) {
45567 } else {
45568 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16801);
45569 }
45570 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45571 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45572 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45573 stack_frame_head = fra.me.prev;
45574 return;
45575 }
45576 static const char LOCATE_parser___ReduceAction420___action[] = "parser::ReduceAction420::(parser::ReduceAction::action)";
45577 void parser___ReduceAction420___action(val_t p0, val_t p1){
45578 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
45579 val_t REGB0;
45580 val_t REGB1;
45581 val_t tmp;
45582 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45583 fra.me.file = LOCATE_parser;
45584 fra.me.line = 16806;
45585 fra.me.meth = LOCATE_parser___ReduceAction420___action;
45586 fra.me.has_broke = 0;
45587 fra.me.REG_size = 5;
45588 fra.me.nitni_local_ref_head = NULL;
45589 fra.me.REG[0] = NIT_NULL;
45590 fra.me.REG[1] = NIT_NULL;
45591 fra.me.REG[2] = NIT_NULL;
45592 fra.me.REG[3] = NIT_NULL;
45593 fra.me.REG[4] = NIT_NULL;
45594 fra.me.REG[0] = p0;
45595 fra.me.REG[1] = p1;
45596 /* parser/parser.nit:16808 */
45597 fra.me.REG[2] = NIT_NULL;
45598 /* parser/parser.nit:16809 */
45599 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45600 /* parser/parser.nit:16810 */
45601 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
45602 /* parser/parser.nit:16812 */
45603 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
45604 if (UNTAG_Bool(REGB0)) {
45605 } else {
45606 nit_abort("Assert failed", NULL, LOCATE_parser, 16812);
45607 }
45608 /* parser/parser.nit:16813 */
45609 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45610 if (UNTAG_Bool(REGB0)) {
45611 } else {
45612 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45613 if (UNTAG_Bool(REGB1)) {
45614 REGB1 = TAG_Bool(0);
45615 REGB0 = REGB1;
45616 } else {
45617 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
45618 REGB0 = REGB1;
45619 }
45620 }
45621 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45622 if (UNTAG_Bool(REGB0)) {
45623 /* parser/parser.nit:16814 */
45624 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
45625 }
45626 /* parser/parser.nit:16816 */
45627 fra.me.REG[4] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4], NIT_NULL);
45628 /* parser/parser.nit:16820 */
45629 fra.me.REG[2] = fra.me.REG[4];
45630 /* parser/parser.nit:16821 */
45631 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45632 if (UNTAG_Bool(REGB0)) {
45633 } else {
45634 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16821);
45635 }
45636 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45637 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45638 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45639 stack_frame_head = fra.me.prev;
45640 return;
45641 }
45642 static const char LOCATE_parser___ReduceAction421___action[] = "parser::ReduceAction421::(parser::ReduceAction::action)";
45643 void parser___ReduceAction421___action(val_t p0, val_t p1){
45644 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
45645 val_t REGB0;
45646 val_t REGB1;
45647 val_t tmp;
45648 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45649 fra.me.file = LOCATE_parser;
45650 fra.me.line = 16826;
45651 fra.me.meth = LOCATE_parser___ReduceAction421___action;
45652 fra.me.has_broke = 0;
45653 fra.me.REG_size = 6;
45654 fra.me.nitni_local_ref_head = NULL;
45655 fra.me.REG[0] = NIT_NULL;
45656 fra.me.REG[1] = NIT_NULL;
45657 fra.me.REG[2] = NIT_NULL;
45658 fra.me.REG[3] = NIT_NULL;
45659 fra.me.REG[4] = NIT_NULL;
45660 fra.me.REG[5] = NIT_NULL;
45661 fra.me.REG[0] = p0;
45662 fra.me.REG[1] = p1;
45663 /* parser/parser.nit:16828 */
45664 fra.me.REG[2] = NIT_NULL;
45665 /* parser/parser.nit:16829 */
45666 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45667 /* parser/parser.nit:16830 */
45668 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45669 /* parser/parser.nit:16831 */
45670 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
45671 /* parser/parser.nit:16833 */
45672 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*/;
45673 if (UNTAG_Bool(REGB0)) {
45674 } else {
45675 nit_abort("Assert failed", NULL, LOCATE_parser, 16833);
45676 }
45677 /* parser/parser.nit:16835 */
45678 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]*/;
45679 if (UNTAG_Bool(REGB0)) {
45680 } else {
45681 nit_abort("Assert failed", NULL, LOCATE_parser, 16835);
45682 }
45683 /* parser/parser.nit:16836 */
45684 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
45685 if (UNTAG_Bool(REGB0)) {
45686 } else {
45687 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
45688 if (UNTAG_Bool(REGB1)) {
45689 REGB1 = TAG_Bool(0);
45690 REGB0 = REGB1;
45691 } else {
45692 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
45693 REGB0 = REGB1;
45694 }
45695 }
45696 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45697 if (UNTAG_Bool(REGB0)) {
45698 /* parser/parser.nit:16837 */
45699 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
45700 }
45701 /* parser/parser.nit:16839 */
45702 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
45703 fra.me.REG[5] = fra.me.REG[3];
45704 /* parser/parser.nit:16840 */
45705 fra.me.REG[5] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5], NIT_NULL);
45706 /* parser/parser.nit:16844 */
45707 fra.me.REG[2] = fra.me.REG[5];
45708 /* parser/parser.nit:16845 */
45709 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45710 if (UNTAG_Bool(REGB0)) {
45711 } else {
45712 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16845);
45713 }
45714 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45715 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45716 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45717 stack_frame_head = fra.me.prev;
45718 return;
45719 }
45720 static const char LOCATE_parser___ReduceAction422___action[] = "parser::ReduceAction422::(parser::ReduceAction::action)";
45721 void parser___ReduceAction422___action(val_t p0, val_t p1){
45722 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
45723 val_t REGB0;
45724 val_t REGB1;
45725 val_t tmp;
45726 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45727 fra.me.file = LOCATE_parser;
45728 fra.me.line = 16850;
45729 fra.me.meth = LOCATE_parser___ReduceAction422___action;
45730 fra.me.has_broke = 0;
45731 fra.me.REG_size = 5;
45732 fra.me.nitni_local_ref_head = NULL;
45733 fra.me.REG[0] = NIT_NULL;
45734 fra.me.REG[1] = NIT_NULL;
45735 fra.me.REG[2] = NIT_NULL;
45736 fra.me.REG[3] = NIT_NULL;
45737 fra.me.REG[4] = NIT_NULL;
45738 fra.me.REG[0] = p0;
45739 fra.me.REG[1] = p1;
45740 /* parser/parser.nit:16852 */
45741 fra.me.REG[2] = NIT_NULL;
45742 /* parser/parser.nit:16853 */
45743 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45744 /* parser/parser.nit:16854 */
45745 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45746 /* parser/parser.nit:16855 */
45747 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
45748 /* parser/parser.nit:16857 */
45749 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
45750 if (UNTAG_Bool(REGB0)) {
45751 } else {
45752 nit_abort("Assert failed", NULL, LOCATE_parser, 16857);
45753 }
45754 /* parser/parser.nit:16858 */
45755 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45756 if (UNTAG_Bool(REGB0)) {
45757 } else {
45758 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45759 if (UNTAG_Bool(REGB1)) {
45760 REGB1 = TAG_Bool(0);
45761 REGB0 = REGB1;
45762 } else {
45763 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
45764 REGB0 = REGB1;
45765 }
45766 }
45767 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45768 if (UNTAG_Bool(REGB0)) {
45769 /* parser/parser.nit:16859 */
45770 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
45771 }
45772 /* parser/parser.nit:16861 */
45773 fra.me.REG[4] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4], NIT_NULL);
45774 /* parser/parser.nit:16865 */
45775 fra.me.REG[2] = fra.me.REG[4];
45776 /* parser/parser.nit:16866 */
45777 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45778 if (UNTAG_Bool(REGB0)) {
45779 } else {
45780 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16866);
45781 }
45782 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45783 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45784 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45785 stack_frame_head = fra.me.prev;
45786 return;
45787 }
45788 static const char LOCATE_parser___ReduceAction423___action[] = "parser::ReduceAction423::(parser::ReduceAction::action)";
45789 void parser___ReduceAction423___action(val_t p0, val_t p1){
45790 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
45791 val_t REGB0;
45792 val_t REGB1;
45793 val_t tmp;
45794 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45795 fra.me.file = LOCATE_parser;
45796 fra.me.line = 16871;
45797 fra.me.meth = LOCATE_parser___ReduceAction423___action;
45798 fra.me.has_broke = 0;
45799 fra.me.REG_size = 6;
45800 fra.me.nitni_local_ref_head = NULL;
45801 fra.me.REG[0] = NIT_NULL;
45802 fra.me.REG[1] = NIT_NULL;
45803 fra.me.REG[2] = NIT_NULL;
45804 fra.me.REG[3] = NIT_NULL;
45805 fra.me.REG[4] = NIT_NULL;
45806 fra.me.REG[5] = NIT_NULL;
45807 fra.me.REG[0] = p0;
45808 fra.me.REG[1] = p1;
45809 /* parser/parser.nit:16873 */
45810 fra.me.REG[2] = NIT_NULL;
45811 /* parser/parser.nit:16874 */
45812 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45813 /* parser/parser.nit:16875 */
45814 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45815 /* parser/parser.nit:16876 */
45816 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45817 /* parser/parser.nit:16877 */
45818 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
45819 /* parser/parser.nit:16879 */
45820 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*/;
45821 if (UNTAG_Bool(REGB0)) {
45822 } else {
45823 nit_abort("Assert failed", NULL, LOCATE_parser, 16879);
45824 }
45825 /* parser/parser.nit:16881 */
45826 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]*/;
45827 if (UNTAG_Bool(REGB0)) {
45828 } else {
45829 nit_abort("Assert failed", NULL, LOCATE_parser, 16881);
45830 }
45831 /* parser/parser.nit:16882 */
45832 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
45833 if (UNTAG_Bool(REGB0)) {
45834 } else {
45835 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
45836 if (UNTAG_Bool(REGB1)) {
45837 REGB1 = TAG_Bool(0);
45838 REGB0 = REGB1;
45839 } else {
45840 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
45841 REGB0 = REGB1;
45842 }
45843 }
45844 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45845 if (UNTAG_Bool(REGB0)) {
45846 /* parser/parser.nit:16883 */
45847 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
45848 }
45849 /* parser/parser.nit:16885 */
45850 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
45851 fra.me.REG[5] = fra.me.REG[3];
45852 /* parser/parser.nit:16886 */
45853 fra.me.REG[5] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5], NIT_NULL);
45854 /* parser/parser.nit:16890 */
45855 fra.me.REG[2] = fra.me.REG[5];
45856 /* parser/parser.nit:16891 */
45857 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45858 if (UNTAG_Bool(REGB0)) {
45859 } else {
45860 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16891);
45861 }
45862 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45863 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45864 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45865 stack_frame_head = fra.me.prev;
45866 return;
45867 }
45868 static const char LOCATE_parser___ReduceAction424___action[] = "parser::ReduceAction424::(parser::ReduceAction::action)";
45869 void parser___ReduceAction424___action(val_t p0, val_t p1){
45870 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
45871 val_t REGB0;
45872 val_t REGB1;
45873 val_t tmp;
45874 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45875 fra.me.file = LOCATE_parser;
45876 fra.me.line = 16896;
45877 fra.me.meth = LOCATE_parser___ReduceAction424___action;
45878 fra.me.has_broke = 0;
45879 fra.me.REG_size = 6;
45880 fra.me.nitni_local_ref_head = NULL;
45881 fra.me.REG[0] = NIT_NULL;
45882 fra.me.REG[1] = NIT_NULL;
45883 fra.me.REG[2] = NIT_NULL;
45884 fra.me.REG[3] = NIT_NULL;
45885 fra.me.REG[4] = NIT_NULL;
45886 fra.me.REG[5] = NIT_NULL;
45887 fra.me.REG[0] = p0;
45888 fra.me.REG[1] = p1;
45889 /* parser/parser.nit:16898 */
45890 fra.me.REG[2] = NIT_NULL;
45891 /* parser/parser.nit:16899 */
45892 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45893 /* parser/parser.nit:16900 */
45894 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45895 /* parser/parser.nit:16901 */
45896 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45897 /* parser/parser.nit:16902 */
45898 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
45899 /* parser/parser.nit:16904 */
45900 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*/;
45901 if (UNTAG_Bool(REGB0)) {
45902 } else {
45903 nit_abort("Assert failed", NULL, LOCATE_parser, 16904);
45904 }
45905 /* parser/parser.nit:16905 */
45906 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
45907 if (UNTAG_Bool(REGB0)) {
45908 } else {
45909 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
45910 if (UNTAG_Bool(REGB1)) {
45911 REGB1 = TAG_Bool(0);
45912 REGB0 = REGB1;
45913 } else {
45914 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
45915 REGB0 = REGB1;
45916 }
45917 }
45918 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45919 if (UNTAG_Bool(REGB0)) {
45920 /* parser/parser.nit:16906 */
45921 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
45922 }
45923 /* parser/parser.nit:16909 */
45924 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*/;
45925 if (UNTAG_Bool(REGB0)) {
45926 } else {
45927 nit_abort("Assert failed", NULL, LOCATE_parser, 16909);
45928 }
45929 /* parser/parser.nit:16910 */
45930 fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5], fra.me.REG[3]);
45931 /* parser/parser.nit:16914 */
45932 fra.me.REG[2] = fra.me.REG[3];
45933 /* parser/parser.nit:16915 */
45934 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45935 if (UNTAG_Bool(REGB0)) {
45936 } else {
45937 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16915);
45938 }
45939 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45940 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45941 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45942 stack_frame_head = fra.me.prev;
45943 return;
45944 }
45945 static const char LOCATE_parser___ReduceAction425___action[] = "parser::ReduceAction425::(parser::ReduceAction::action)";
45946 void parser___ReduceAction425___action(val_t p0, val_t p1){
45947 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
45948 val_t REGB0;
45949 val_t REGB1;
45950 val_t tmp;
45951 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45952 fra.me.file = LOCATE_parser;
45953 fra.me.line = 16920;
45954 fra.me.meth = LOCATE_parser___ReduceAction425___action;
45955 fra.me.has_broke = 0;
45956 fra.me.REG_size = 7;
45957 fra.me.nitni_local_ref_head = NULL;
45958 fra.me.REG[0] = NIT_NULL;
45959 fra.me.REG[1] = NIT_NULL;
45960 fra.me.REG[2] = NIT_NULL;
45961 fra.me.REG[3] = NIT_NULL;
45962 fra.me.REG[4] = NIT_NULL;
45963 fra.me.REG[5] = NIT_NULL;
45964 fra.me.REG[6] = NIT_NULL;
45965 fra.me.REG[0] = p0;
45966 fra.me.REG[1] = p1;
45967 /* parser/parser.nit:16922 */
45968 fra.me.REG[2] = NIT_NULL;
45969 /* parser/parser.nit:16923 */
45970 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45971 /* parser/parser.nit:16924 */
45972 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45973 /* parser/parser.nit:16925 */
45974 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45975 /* parser/parser.nit:16926 */
45976 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45977 /* parser/parser.nit:16927 */
45978 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
45979 /* parser/parser.nit:16929 */
45980 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*/;
45981 if (UNTAG_Bool(REGB0)) {
45982 } else {
45983 nit_abort("Assert failed", NULL, LOCATE_parser, 16929);
45984 }
45985 /* parser/parser.nit:16931 */
45986 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]*/;
45987 if (UNTAG_Bool(REGB0)) {
45988 } else {
45989 nit_abort("Assert failed", NULL, LOCATE_parser, 16931);
45990 }
45991 /* parser/parser.nit:16932 */
45992 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
45993 if (UNTAG_Bool(REGB0)) {
45994 } else {
45995 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
45996 if (UNTAG_Bool(REGB1)) {
45997 REGB1 = TAG_Bool(0);
45998 REGB0 = REGB1;
45999 } else {
46000 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
46001 REGB0 = REGB1;
46002 }
46003 }
46004 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46005 if (UNTAG_Bool(REGB0)) {
46006 /* parser/parser.nit:16933 */
46007 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
46008 }
46009 /* parser/parser.nit:16935 */
46010 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
46011 fra.me.REG[6] = fra.me.REG[4];
46012 /* parser/parser.nit:16937 */
46013 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*/;
46014 if (UNTAG_Bool(REGB0)) {
46015 } else {
46016 nit_abort("Assert failed", NULL, LOCATE_parser, 16937);
46017 }
46018 /* parser/parser.nit:16938 */
46019 fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6], fra.me.REG[3]);
46020 /* parser/parser.nit:16942 */
46021 fra.me.REG[2] = fra.me.REG[3];
46022 /* parser/parser.nit:16943 */
46023 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46024 if (UNTAG_Bool(REGB0)) {
46025 } else {
46026 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16943);
46027 }
46028 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46029 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46030 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46031 stack_frame_head = fra.me.prev;
46032 return;
46033 }
46034 static const char LOCATE_parser___ReduceAction429___action[] = "parser::ReduceAction429::(parser::ReduceAction::action)";
46035 void parser___ReduceAction429___action(val_t p0, val_t p1){
46036 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
46037 val_t REGB0;
46038 val_t tmp;
46039 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46040 fra.me.file = LOCATE_parser;
46041 fra.me.line = 16948;
46042 fra.me.meth = LOCATE_parser___ReduceAction429___action;
46043 fra.me.has_broke = 0;
46044 fra.me.REG_size = 4;
46045 fra.me.nitni_local_ref_head = NULL;
46046 fra.me.REG[0] = NIT_NULL;
46047 fra.me.REG[1] = NIT_NULL;
46048 fra.me.REG[2] = NIT_NULL;
46049 fra.me.REG[3] = NIT_NULL;
46050 fra.me.REG[0] = p0;
46051 fra.me.REG[1] = p1;
46052 /* parser/parser.nit:16950 */
46053 fra.me.REG[2] = NIT_NULL;
46054 /* parser/parser.nit:16951 */
46055 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46056 /* parser/parser.nit:16953 */
46057 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*/;
46058 if (UNTAG_Bool(REGB0)) {
46059 } else {
46060 nit_abort("Assert failed", NULL, LOCATE_parser, 16953);
46061 }
46062 /* parser/parser.nit:16954 */
46063 fra.me.REG[3] = NEW_AReturnExpr_parser___parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[3], NIT_NULL);
46064 /* parser/parser.nit:16958 */
46065 fra.me.REG[2] = fra.me.REG[3];
46066 /* parser/parser.nit:16959 */
46067 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46068 if (UNTAG_Bool(REGB0)) {
46069 } else {
46070 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16959);
46071 }
46072 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46073 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46074 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46075 stack_frame_head = fra.me.prev;
46076 return;
46077 }
46078 static const char LOCATE_parser___ReduceAction430___action[] = "parser::ReduceAction430::(parser::ReduceAction::action)";
46079 void parser___ReduceAction430___action(val_t p0, val_t p1){
46080 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
46081 val_t REGB0;
46082 val_t tmp;
46083 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46084 fra.me.file = LOCATE_parser;
46085 fra.me.line = 16964;
46086 fra.me.meth = LOCATE_parser___ReduceAction430___action;
46087 fra.me.has_broke = 0;
46088 fra.me.REG_size = 5;
46089 fra.me.nitni_local_ref_head = NULL;
46090 fra.me.REG[0] = NIT_NULL;
46091 fra.me.REG[1] = NIT_NULL;
46092 fra.me.REG[2] = NIT_NULL;
46093 fra.me.REG[3] = NIT_NULL;
46094 fra.me.REG[4] = NIT_NULL;
46095 fra.me.REG[0] = p0;
46096 fra.me.REG[1] = p1;
46097 /* parser/parser.nit:16966 */
46098 fra.me.REG[2] = NIT_NULL;
46099 /* parser/parser.nit:16967 */
46100 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46101 /* parser/parser.nit:16968 */
46102 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46103 /* parser/parser.nit:16970 */
46104 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*/;
46105 if (UNTAG_Bool(REGB0)) {
46106 } else {
46107 nit_abort("Assert failed", NULL, LOCATE_parser, 16970);
46108 }
46109 /* parser/parser.nit:16972 */
46110 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
46111 if (UNTAG_Bool(REGB0)) {
46112 } else {
46113 nit_abort("Assert failed", NULL, LOCATE_parser, 16972);
46114 }
46115 /* parser/parser.nit:16973 */
46116 fra.me.REG[3] = NEW_AReturnExpr_parser___parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[4], fra.me.REG[3]);
46117 /* parser/parser.nit:16977 */
46118 fra.me.REG[2] = fra.me.REG[3];
46119 /* parser/parser.nit:16978 */
46120 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46121 if (UNTAG_Bool(REGB0)) {
46122 } else {
46123 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16978);
46124 }
46125 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46126 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46127 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46128 stack_frame_head = fra.me.prev;
46129 return;
46130 }
46131 static const char LOCATE_parser___ReduceAction431___action[] = "parser::ReduceAction431::(parser::ReduceAction::action)";
46132 void parser___ReduceAction431___action(val_t p0, val_t p1){
46133 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
46134 val_t REGB0;
46135 val_t tmp;
46136 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46137 fra.me.file = LOCATE_parser;
46138 fra.me.line = 16983;
46139 fra.me.meth = LOCATE_parser___ReduceAction431___action;
46140 fra.me.has_broke = 0;
46141 fra.me.REG_size = 4;
46142 fra.me.nitni_local_ref_head = NULL;
46143 fra.me.REG[0] = NIT_NULL;
46144 fra.me.REG[1] = NIT_NULL;
46145 fra.me.REG[2] = NIT_NULL;
46146 fra.me.REG[3] = NIT_NULL;
46147 fra.me.REG[0] = p0;
46148 fra.me.REG[1] = p1;
46149 /* parser/parser.nit:16985 */
46150 fra.me.REG[2] = NIT_NULL;
46151 /* parser/parser.nit:16986 */
46152 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46153 /* parser/parser.nit:16988 */
46154 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*/;
46155 if (UNTAG_Bool(REGB0)) {
46156 } else {
46157 nit_abort("Assert failed", NULL, LOCATE_parser, 16988);
46158 }
46159 /* parser/parser.nit:16989 */
46160 fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[3], NIT_NULL, NIT_NULL);
46161 /* parser/parser.nit:16994 */
46162 fra.me.REG[2] = fra.me.REG[3];
46163 /* parser/parser.nit:16995 */
46164 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46165 if (UNTAG_Bool(REGB0)) {
46166 } else {
46167 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16995);
46168 }
46169 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46170 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46171 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46172 stack_frame_head = fra.me.prev;
46173 return;
46174 }
46175 static const char LOCATE_parser___ReduceAction432___action[] = "parser::ReduceAction432::(parser::ReduceAction::action)";
46176 void parser___ReduceAction432___action(val_t p0, val_t p1){
46177 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
46178 val_t REGB0;
46179 val_t tmp;
46180 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46181 fra.me.file = LOCATE_parser;
46182 fra.me.line = 17000;
46183 fra.me.meth = LOCATE_parser___ReduceAction432___action;
46184 fra.me.has_broke = 0;
46185 fra.me.REG_size = 5;
46186 fra.me.nitni_local_ref_head = NULL;
46187 fra.me.REG[0] = NIT_NULL;
46188 fra.me.REG[1] = NIT_NULL;
46189 fra.me.REG[2] = NIT_NULL;
46190 fra.me.REG[3] = NIT_NULL;
46191 fra.me.REG[4] = NIT_NULL;
46192 fra.me.REG[0] = p0;
46193 fra.me.REG[1] = p1;
46194 /* parser/parser.nit:17002 */
46195 fra.me.REG[2] = NIT_NULL;
46196 /* parser/parser.nit:17003 */
46197 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46198 /* parser/parser.nit:17004 */
46199 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46200 /* parser/parser.nit:17006 */
46201 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*/;
46202 if (UNTAG_Bool(REGB0)) {
46203 } else {
46204 nit_abort("Assert failed", NULL, LOCATE_parser, 17006);
46205 }
46206 /* parser/parser.nit:17008 */
46207 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*/;
46208 if (UNTAG_Bool(REGB0)) {
46209 } else {
46210 nit_abort("Assert failed", NULL, LOCATE_parser, 17008);
46211 }
46212 /* parser/parser.nit:17009 */
46213 fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
46214 /* parser/parser.nit:17014 */
46215 fra.me.REG[2] = fra.me.REG[3];
46216 /* parser/parser.nit:17015 */
46217 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46218 if (UNTAG_Bool(REGB0)) {
46219 } else {
46220 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17015);
46221 }
46222 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46223 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46224 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46225 stack_frame_head = fra.me.prev;
46226 return;
46227 }
46228 static const char LOCATE_parser___ReduceAction433___action[] = "parser::ReduceAction433::(parser::ReduceAction::action)";
46229 void parser___ReduceAction433___action(val_t p0, val_t p1){
46230 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
46231 val_t REGB0;
46232 val_t tmp;
46233 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46234 fra.me.file = LOCATE_parser;
46235 fra.me.line = 17020;
46236 fra.me.meth = LOCATE_parser___ReduceAction433___action;
46237 fra.me.has_broke = 0;
46238 fra.me.REG_size = 5;
46239 fra.me.nitni_local_ref_head = NULL;
46240 fra.me.REG[0] = NIT_NULL;
46241 fra.me.REG[1] = NIT_NULL;
46242 fra.me.REG[2] = NIT_NULL;
46243 fra.me.REG[3] = NIT_NULL;
46244 fra.me.REG[4] = NIT_NULL;
46245 fra.me.REG[0] = p0;
46246 fra.me.REG[1] = p1;
46247 /* parser/parser.nit:17022 */
46248 fra.me.REG[2] = NIT_NULL;
46249 /* parser/parser.nit:17023 */
46250 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46251 /* parser/parser.nit:17024 */
46252 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46253 /* parser/parser.nit:17026 */
46254 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*/;
46255 if (UNTAG_Bool(REGB0)) {
46256 } else {
46257 nit_abort("Assert failed", NULL, LOCATE_parser, 17026);
46258 }
46259 /* parser/parser.nit:17028 */
46260 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
46261 if (UNTAG_Bool(REGB0)) {
46262 } else {
46263 nit_abort("Assert failed", NULL, LOCATE_parser, 17028);
46264 }
46265 /* parser/parser.nit:17029 */
46266 fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
46267 /* parser/parser.nit:17034 */
46268 fra.me.REG[2] = fra.me.REG[3];
46269 /* parser/parser.nit:17035 */
46270 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46271 if (UNTAG_Bool(REGB0)) {
46272 } else {
46273 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17035);
46274 }
46275 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46276 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46277 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46278 stack_frame_head = fra.me.prev;
46279 return;
46280 }
46281 static const char LOCATE_parser___ReduceAction434___action[] = "parser::ReduceAction434::(parser::ReduceAction::action)";
46282 void parser___ReduceAction434___action(val_t p0, val_t p1){
46283 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
46284 val_t REGB0;
46285 val_t tmp;
46286 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46287 fra.me.file = LOCATE_parser;
46288 fra.me.line = 17040;
46289 fra.me.meth = LOCATE_parser___ReduceAction434___action;
46290 fra.me.has_broke = 0;
46291 fra.me.REG_size = 6;
46292 fra.me.nitni_local_ref_head = NULL;
46293 fra.me.REG[0] = NIT_NULL;
46294 fra.me.REG[1] = NIT_NULL;
46295 fra.me.REG[2] = NIT_NULL;
46296 fra.me.REG[3] = NIT_NULL;
46297 fra.me.REG[4] = NIT_NULL;
46298 fra.me.REG[5] = NIT_NULL;
46299 fra.me.REG[0] = p0;
46300 fra.me.REG[1] = p1;
46301 /* parser/parser.nit:17042 */
46302 fra.me.REG[2] = NIT_NULL;
46303 /* parser/parser.nit:17043 */
46304 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46305 /* parser/parser.nit:17044 */
46306 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46307 /* parser/parser.nit:17045 */
46308 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46309 /* parser/parser.nit:17047 */
46310 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*/;
46311 if (UNTAG_Bool(REGB0)) {
46312 } else {
46313 nit_abort("Assert failed", NULL, LOCATE_parser, 17047);
46314 }
46315 /* parser/parser.nit:17049 */
46316 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*/;
46317 if (UNTAG_Bool(REGB0)) {
46318 } else {
46319 nit_abort("Assert failed", NULL, LOCATE_parser, 17049);
46320 }
46321 /* parser/parser.nit:17051 */
46322 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
46323 if (UNTAG_Bool(REGB0)) {
46324 } else {
46325 nit_abort("Assert failed", NULL, LOCATE_parser, 17051);
46326 }
46327 /* parser/parser.nit:17052 */
46328 fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
46329 /* parser/parser.nit:17057 */
46330 fra.me.REG[2] = fra.me.REG[3];
46331 /* parser/parser.nit:17058 */
46332 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46333 if (UNTAG_Bool(REGB0)) {
46334 } else {
46335 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17058);
46336 }
46337 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46338 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46339 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46340 stack_frame_head = fra.me.prev;
46341 return;
46342 }
46343 static const char LOCATE_parser___ReduceAction435___action[] = "parser::ReduceAction435::(parser::ReduceAction::action)";
46344 void parser___ReduceAction435___action(val_t p0, val_t p1){
46345 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
46346 val_t REGB0;
46347 val_t tmp;
46348 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46349 fra.me.file = LOCATE_parser;
46350 fra.me.line = 17063;
46351 fra.me.meth = LOCATE_parser___ReduceAction435___action;
46352 fra.me.has_broke = 0;
46353 fra.me.REG_size = 4;
46354 fra.me.nitni_local_ref_head = NULL;
46355 fra.me.REG[0] = NIT_NULL;
46356 fra.me.REG[1] = NIT_NULL;
46357 fra.me.REG[2] = NIT_NULL;
46358 fra.me.REG[3] = NIT_NULL;
46359 fra.me.REG[0] = p0;
46360 fra.me.REG[1] = p1;
46361 /* parser/parser.nit:17065 */
46362 fra.me.REG[2] = NIT_NULL;
46363 /* parser/parser.nit:17066 */
46364 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46365 /* parser/parser.nit:17068 */
46366 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*/;
46367 if (UNTAG_Bool(REGB0)) {
46368 } else {
46369 nit_abort("Assert failed", NULL, LOCATE_parser, 17068);
46370 }
46371 /* parser/parser.nit:17069 */
46372 fra.me.REG[3] = NEW_AAbortExpr_parser___parser_prod___AAbortExpr___init_aabortexpr(fra.me.REG[3]);
46373 /* parser/parser.nit:17072 */
46374 fra.me.REG[2] = fra.me.REG[3];
46375 /* parser/parser.nit:17073 */
46376 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46377 if (UNTAG_Bool(REGB0)) {
46378 } else {
46379 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17073);
46380 }
46381 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46382 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46383 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46384 stack_frame_head = fra.me.prev;
46385 return;
46386 }
46387 static const char LOCATE_parser___ReduceAction436___action[] = "parser::ReduceAction436::(parser::ReduceAction::action)";
46388 void parser___ReduceAction436___action(val_t p0, val_t p1){
46389 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
46390 val_t REGB0;
46391 val_t tmp;
46392 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46393 fra.me.file = LOCATE_parser;
46394 fra.me.line = 17078;
46395 fra.me.meth = LOCATE_parser___ReduceAction436___action;
46396 fra.me.has_broke = 0;
46397 fra.me.REG_size = 4;
46398 fra.me.nitni_local_ref_head = NULL;
46399 fra.me.REG[0] = NIT_NULL;
46400 fra.me.REG[1] = NIT_NULL;
46401 fra.me.REG[2] = NIT_NULL;
46402 fra.me.REG[3] = NIT_NULL;
46403 fra.me.REG[0] = p0;
46404 fra.me.REG[1] = p1;
46405 /* parser/parser.nit:17080 */
46406 fra.me.REG[2] = NIT_NULL;
46407 /* parser/parser.nit:17081 */
46408 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46409 /* parser/parser.nit:17083 */
46410 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*/;
46411 if (UNTAG_Bool(REGB0)) {
46412 } else {
46413 nit_abort("Assert failed", NULL, LOCATE_parser, 17083);
46414 }
46415 /* parser/parser.nit:17084 */
46416 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[3], NIT_NULL, NIT_NULL);
46417 /* parser/parser.nit:17089 */
46418 fra.me.REG[2] = fra.me.REG[3];
46419 /* parser/parser.nit:17090 */
46420 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46421 if (UNTAG_Bool(REGB0)) {
46422 } else {
46423 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17090);
46424 }
46425 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46426 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46427 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46428 stack_frame_head = fra.me.prev;
46429 return;
46430 }
46431 static const char LOCATE_parser___ReduceAction437___action[] = "parser::ReduceAction437::(parser::ReduceAction::action)";
46432 void parser___ReduceAction437___action(val_t p0, val_t p1){
46433 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
46434 val_t REGB0;
46435 val_t tmp;
46436 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46437 fra.me.file = LOCATE_parser;
46438 fra.me.line = 17095;
46439 fra.me.meth = LOCATE_parser___ReduceAction437___action;
46440 fra.me.has_broke = 0;
46441 fra.me.REG_size = 5;
46442 fra.me.nitni_local_ref_head = NULL;
46443 fra.me.REG[0] = NIT_NULL;
46444 fra.me.REG[1] = NIT_NULL;
46445 fra.me.REG[2] = NIT_NULL;
46446 fra.me.REG[3] = NIT_NULL;
46447 fra.me.REG[4] = NIT_NULL;
46448 fra.me.REG[0] = p0;
46449 fra.me.REG[1] = p1;
46450 /* parser/parser.nit:17097 */
46451 fra.me.REG[2] = NIT_NULL;
46452 /* parser/parser.nit:17098 */
46453 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46454 /* parser/parser.nit:17099 */
46455 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46456 /* parser/parser.nit:17101 */
46457 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*/;
46458 if (UNTAG_Bool(REGB0)) {
46459 } else {
46460 nit_abort("Assert failed", NULL, LOCATE_parser, 17101);
46461 }
46462 /* parser/parser.nit:17103 */
46463 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*/;
46464 if (UNTAG_Bool(REGB0)) {
46465 } else {
46466 nit_abort("Assert failed", NULL, LOCATE_parser, 17103);
46467 }
46468 /* parser/parser.nit:17104 */
46469 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
46470 /* parser/parser.nit:17109 */
46471 fra.me.REG[2] = fra.me.REG[3];
46472 /* parser/parser.nit:17110 */
46473 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46474 if (UNTAG_Bool(REGB0)) {
46475 } else {
46476 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17110);
46477 }
46478 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46479 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46480 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46481 stack_frame_head = fra.me.prev;
46482 return;
46483 }
46484 static const char LOCATE_parser___ReduceAction438___action[] = "parser::ReduceAction438::(parser::ReduceAction::action)";
46485 void parser___ReduceAction438___action(val_t p0, val_t p1){
46486 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
46487 val_t REGB0;
46488 val_t tmp;
46489 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46490 fra.me.file = LOCATE_parser;
46491 fra.me.line = 17115;
46492 fra.me.meth = LOCATE_parser___ReduceAction438___action;
46493 fra.me.has_broke = 0;
46494 fra.me.REG_size = 5;
46495 fra.me.nitni_local_ref_head = NULL;
46496 fra.me.REG[0] = NIT_NULL;
46497 fra.me.REG[1] = NIT_NULL;
46498 fra.me.REG[2] = NIT_NULL;
46499 fra.me.REG[3] = NIT_NULL;
46500 fra.me.REG[4] = NIT_NULL;
46501 fra.me.REG[0] = p0;
46502 fra.me.REG[1] = p1;
46503 /* parser/parser.nit:17117 */
46504 fra.me.REG[2] = NIT_NULL;
46505 /* parser/parser.nit:17118 */
46506 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46507 /* parser/parser.nit:17119 */
46508 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46509 /* parser/parser.nit:17121 */
46510 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*/;
46511 if (UNTAG_Bool(REGB0)) {
46512 } else {
46513 nit_abort("Assert failed", NULL, LOCATE_parser, 17121);
46514 }
46515 /* parser/parser.nit:17123 */
46516 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
46517 if (UNTAG_Bool(REGB0)) {
46518 } else {
46519 nit_abort("Assert failed", NULL, LOCATE_parser, 17123);
46520 }
46521 /* parser/parser.nit:17124 */
46522 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
46523 /* parser/parser.nit:17129 */
46524 fra.me.REG[2] = fra.me.REG[3];
46525 /* parser/parser.nit:17130 */
46526 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46527 if (UNTAG_Bool(REGB0)) {
46528 } else {
46529 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17130);
46530 }
46531 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46532 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46533 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46534 stack_frame_head = fra.me.prev;
46535 return;
46536 }
46537 static const char LOCATE_parser___ReduceAction439___action[] = "parser::ReduceAction439::(parser::ReduceAction::action)";
46538 void parser___ReduceAction439___action(val_t p0, val_t p1){
46539 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
46540 val_t REGB0;
46541 val_t tmp;
46542 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46543 fra.me.file = LOCATE_parser;
46544 fra.me.line = 17135;
46545 fra.me.meth = LOCATE_parser___ReduceAction439___action;
46546 fra.me.has_broke = 0;
46547 fra.me.REG_size = 6;
46548 fra.me.nitni_local_ref_head = NULL;
46549 fra.me.REG[0] = NIT_NULL;
46550 fra.me.REG[1] = NIT_NULL;
46551 fra.me.REG[2] = NIT_NULL;
46552 fra.me.REG[3] = NIT_NULL;
46553 fra.me.REG[4] = NIT_NULL;
46554 fra.me.REG[5] = NIT_NULL;
46555 fra.me.REG[0] = p0;
46556 fra.me.REG[1] = p1;
46557 /* parser/parser.nit:17137 */
46558 fra.me.REG[2] = NIT_NULL;
46559 /* parser/parser.nit:17138 */
46560 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46561 /* parser/parser.nit:17139 */
46562 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46563 /* parser/parser.nit:17140 */
46564 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46565 /* parser/parser.nit:17142 */
46566 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*/;
46567 if (UNTAG_Bool(REGB0)) {
46568 } else {
46569 nit_abort("Assert failed", NULL, LOCATE_parser, 17142);
46570 }
46571 /* parser/parser.nit:17144 */
46572 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*/;
46573 if (UNTAG_Bool(REGB0)) {
46574 } else {
46575 nit_abort("Assert failed", NULL, LOCATE_parser, 17144);
46576 }
46577 /* parser/parser.nit:17146 */
46578 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
46579 if (UNTAG_Bool(REGB0)) {
46580 } else {
46581 nit_abort("Assert failed", NULL, LOCATE_parser, 17146);
46582 }
46583 /* parser/parser.nit:17147 */
46584 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
46585 /* parser/parser.nit:17152 */
46586 fra.me.REG[2] = fra.me.REG[3];
46587 /* parser/parser.nit:17153 */
46588 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46589 if (UNTAG_Bool(REGB0)) {
46590 } else {
46591 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17153);
46592 }
46593 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46594 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46595 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46596 stack_frame_head = fra.me.prev;
46597 return;
46598 }
46599 static const char LOCATE_parser___ReduceAction446___action[] = "parser::ReduceAction446::(parser::ReduceAction::action)";
46600 void parser___ReduceAction446___action(val_t p0, val_t p1){
46601 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
46602 val_t REGB0;
46603 val_t tmp;
46604 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46605 fra.me.file = LOCATE_parser;
46606 fra.me.line = 17158;
46607 fra.me.meth = LOCATE_parser___ReduceAction446___action;
46608 fra.me.has_broke = 0;
46609 fra.me.REG_size = 7;
46610 fra.me.nitni_local_ref_head = NULL;
46611 fra.me.REG[0] = NIT_NULL;
46612 fra.me.REG[1] = NIT_NULL;
46613 fra.me.REG[2] = NIT_NULL;
46614 fra.me.REG[3] = NIT_NULL;
46615 fra.me.REG[4] = NIT_NULL;
46616 fra.me.REG[5] = NIT_NULL;
46617 fra.me.REG[6] = NIT_NULL;
46618 fra.me.REG[0] = p0;
46619 fra.me.REG[1] = p1;
46620 /* parser/parser.nit:17160 */
46621 fra.me.REG[2] = NIT_NULL;
46622 /* parser/parser.nit:17161 */
46623 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46624 /* parser/parser.nit:17162 */
46625 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46626 /* parser/parser.nit:17163 */
46627 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46628 /* parser/parser.nit:17164 */
46629 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46630 /* parser/parser.nit:17165 */
46631 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46632 /* parser/parser.nit:17166 */
46633 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
46634 /* parser/parser.nit:17168 */
46635 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*/;
46636 if (UNTAG_Bool(REGB0)) {
46637 } else {
46638 nit_abort("Assert failed", NULL, LOCATE_parser, 17168);
46639 }
46640 /* parser/parser.nit:17170 */
46641 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*/;
46642 if (UNTAG_Bool(REGB0)) {
46643 } else {
46644 nit_abort("Assert failed", NULL, LOCATE_parser, 17170);
46645 }
46646 /* parser/parser.nit:17172 */
46647 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*/;
46648 if (UNTAG_Bool(REGB0)) {
46649 } else {
46650 nit_abort("Assert failed", NULL, LOCATE_parser, 17172);
46651 }
46652 /* parser/parser.nit:17173 */
46653 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]);
46654 /* parser/parser.nit:17179 */
46655 fra.me.REG[2] = fra.me.REG[6];
46656 /* parser/parser.nit:17180 */
46657 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46658 if (UNTAG_Bool(REGB0)) {
46659 } else {
46660 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17180);
46661 }
46662 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46663 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46664 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46665 stack_frame_head = fra.me.prev;
46666 return;
46667 }
46668 static const char LOCATE_parser___ReduceAction447___action[] = "parser::ReduceAction447::(parser::ReduceAction::action)";
46669 void parser___ReduceAction447___action(val_t p0, val_t p1){
46670 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
46671 val_t REGB0;
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 = 17185;
46676 fra.me.meth = LOCATE_parser___ReduceAction447___action;
46677 fra.me.has_broke = 0;
46678 fra.me.REG_size = 7;
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[6] = NIT_NULL;
46687 fra.me.REG[0] = p0;
46688 fra.me.REG[1] = p1;
46689 /* parser/parser.nit:17187 */
46690 fra.me.REG[2] = NIT_NULL;
46691 /* parser/parser.nit:17188 */
46692 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46693 /* parser/parser.nit:17189 */
46694 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46695 /* parser/parser.nit:17190 */
46696 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
46697 /* parser/parser.nit:17191 */
46698 fra.me.REG[6] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
46699 /* parser/parser.nit:17193 */
46700 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*/;
46701 if (UNTAG_Bool(REGB0)) {
46702 } else {
46703 nit_abort("Assert failed", NULL, LOCATE_parser, 17193);
46704 }
46705 /* parser/parser.nit:17195 */
46706 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*/;
46707 if (UNTAG_Bool(REGB0)) {
46708 } else {
46709 nit_abort("Assert failed", NULL, LOCATE_parser, 17195);
46710 }
46711 /* parser/parser.nit:17196 */
46712 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]);
46713 /* parser/parser.nit:17202 */
46714 fra.me.REG[2] = fra.me.REG[5];
46715 /* parser/parser.nit:17203 */
46716 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46717 if (UNTAG_Bool(REGB0)) {
46718 } else {
46719 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17203);
46720 }
46721 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46722 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46723 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46724 stack_frame_head = fra.me.prev;
46725 return;
46726 }
46727 static const char LOCATE_parser___ReduceAction448___action[] = "parser::ReduceAction448::(parser::ReduceAction::action)";
46728 void parser___ReduceAction448___action(val_t p0, val_t p1){
46729 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
46730 val_t REGB0;
46731 val_t tmp;
46732 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46733 fra.me.file = LOCATE_parser;
46734 fra.me.line = 17208;
46735 fra.me.meth = LOCATE_parser___ReduceAction448___action;
46736 fra.me.has_broke = 0;
46737 fra.me.REG_size = 8;
46738 fra.me.nitni_local_ref_head = NULL;
46739 fra.me.REG[0] = NIT_NULL;
46740 fra.me.REG[1] = NIT_NULL;
46741 fra.me.REG[2] = NIT_NULL;
46742 fra.me.REG[3] = NIT_NULL;
46743 fra.me.REG[4] = NIT_NULL;
46744 fra.me.REG[5] = NIT_NULL;
46745 fra.me.REG[6] = NIT_NULL;
46746 fra.me.REG[7] = NIT_NULL;
46747 fra.me.REG[0] = p0;
46748 fra.me.REG[1] = p1;
46749 /* parser/parser.nit:17210 */
46750 fra.me.REG[2] = NIT_NULL;
46751 /* parser/parser.nit:17211 */
46752 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46753 /* parser/parser.nit:17212 */
46754 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46755 /* parser/parser.nit:17213 */
46756 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46757 /* parser/parser.nit:17214 */
46758 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46759 /* parser/parser.nit:17215 */
46760 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46761 /* parser/parser.nit:17216 */
46762 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46763 /* parser/parser.nit:17217 */
46764 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
46765 /* parser/parser.nit:17219 */
46766 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*/;
46767 if (UNTAG_Bool(REGB0)) {
46768 } else {
46769 nit_abort("Assert failed", NULL, LOCATE_parser, 17219);
46770 }
46771 /* parser/parser.nit:17221 */
46772 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*/;
46773 if (UNTAG_Bool(REGB0)) {
46774 } else {
46775 nit_abort("Assert failed", NULL, LOCATE_parser, 17221);
46776 }
46777 /* parser/parser.nit:17223 */
46778 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*/;
46779 if (UNTAG_Bool(REGB0)) {
46780 } else {
46781 nit_abort("Assert failed", NULL, LOCATE_parser, 17223);
46782 }
46783 /* parser/parser.nit:17225 */
46784 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]*/;
46785 if (UNTAG_Bool(REGB0)) {
46786 } else {
46787 nit_abort("Assert failed", NULL, LOCATE_parser, 17225);
46788 }
46789 /* parser/parser.nit:17226 */
46790 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
46791 fra.me.REG[7] = fra.me.REG[3];
46792 /* parser/parser.nit:17227 */
46793 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]);
46794 /* parser/parser.nit:17233 */
46795 fra.me.REG[2] = fra.me.REG[7];
46796 /* parser/parser.nit:17234 */
46797 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46798 if (UNTAG_Bool(REGB0)) {
46799 } else {
46800 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17234);
46801 }
46802 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46803 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46804 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46805 stack_frame_head = fra.me.prev;
46806 return;
46807 }
46808 static const char LOCATE_parser___ReduceAction449___action[] = "parser::ReduceAction449::(parser::ReduceAction::action)";
46809 void parser___ReduceAction449___action(val_t p0, val_t p1){
46810 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
46811 val_t REGB0;
46812 val_t tmp;
46813 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46814 fra.me.file = LOCATE_parser;
46815 fra.me.line = 17239;
46816 fra.me.meth = LOCATE_parser___ReduceAction449___action;
46817 fra.me.has_broke = 0;
46818 fra.me.REG_size = 8;
46819 fra.me.nitni_local_ref_head = NULL;
46820 fra.me.REG[0] = NIT_NULL;
46821 fra.me.REG[1] = NIT_NULL;
46822 fra.me.REG[2] = NIT_NULL;
46823 fra.me.REG[3] = NIT_NULL;
46824 fra.me.REG[4] = NIT_NULL;
46825 fra.me.REG[5] = NIT_NULL;
46826 fra.me.REG[6] = NIT_NULL;
46827 fra.me.REG[7] = NIT_NULL;
46828 fra.me.REG[0] = p0;
46829 fra.me.REG[1] = p1;
46830 /* parser/parser.nit:17241 */
46831 fra.me.REG[2] = NIT_NULL;
46832 /* parser/parser.nit:17242 */
46833 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46834 /* parser/parser.nit:17243 */
46835 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46836 /* parser/parser.nit:17244 */
46837 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46838 /* parser/parser.nit:17245 */
46839 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
46840 /* parser/parser.nit:17246 */
46841 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
46842 /* parser/parser.nit:17248 */
46843 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*/;
46844 if (UNTAG_Bool(REGB0)) {
46845 } else {
46846 nit_abort("Assert failed", NULL, LOCATE_parser, 17248);
46847 }
46848 /* parser/parser.nit:17250 */
46849 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*/;
46850 if (UNTAG_Bool(REGB0)) {
46851 } else {
46852 nit_abort("Assert failed", NULL, LOCATE_parser, 17250);
46853 }
46854 /* parser/parser.nit:17252 */
46855 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]*/;
46856 if (UNTAG_Bool(REGB0)) {
46857 } else {
46858 nit_abort("Assert failed", NULL, LOCATE_parser, 17252);
46859 }
46860 /* parser/parser.nit:17253 */
46861 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
46862 fra.me.REG[6] = fra.me.REG[3];
46863 /* parser/parser.nit:17254 */
46864 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]);
46865 /* parser/parser.nit:17260 */
46866 fra.me.REG[2] = fra.me.REG[6];
46867 /* parser/parser.nit:17261 */
46868 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46869 if (UNTAG_Bool(REGB0)) {
46870 } else {
46871 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17261);
46872 }
46873 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46874 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46875 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46876 stack_frame_head = fra.me.prev;
46877 return;
46878 }
46879 static const char LOCATE_parser___ReduceAction450___action[] = "parser::ReduceAction450::(parser::ReduceAction::action)";
46880 void parser___ReduceAction450___action(val_t p0, val_t p1){
46881 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
46882 val_t REGB0;
46883 val_t tmp;
46884 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46885 fra.me.file = LOCATE_parser;
46886 fra.me.line = 17266;
46887 fra.me.meth = LOCATE_parser___ReduceAction450___action;
46888 fra.me.has_broke = 0;
46889 fra.me.REG_size = 5;
46890 fra.me.nitni_local_ref_head = NULL;
46891 fra.me.REG[0] = NIT_NULL;
46892 fra.me.REG[1] = NIT_NULL;
46893 fra.me.REG[2] = NIT_NULL;
46894 fra.me.REG[3] = NIT_NULL;
46895 fra.me.REG[4] = NIT_NULL;
46896 fra.me.REG[0] = p0;
46897 fra.me.REG[1] = p1;
46898 /* parser/parser.nit:17268 */
46899 fra.me.REG[2] = NIT_NULL;
46900 /* parser/parser.nit:17269 */
46901 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46902 /* parser/parser.nit:17270 */
46903 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46904 /* parser/parser.nit:17272 */
46905 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*/;
46906 if (UNTAG_Bool(REGB0)) {
46907 } else {
46908 nit_abort("Assert failed", NULL, LOCATE_parser, 17272);
46909 }
46910 /* parser/parser.nit:17274 */
46911 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*/;
46912 if (UNTAG_Bool(REGB0)) {
46913 } else {
46914 nit_abort("Assert failed", NULL, LOCATE_parser, 17274);
46915 }
46916 /* parser/parser.nit:17275 */
46917 fra.me.REG[3] = NEW_ASuperExpr_parser___parser_prod___ASuperExpr___init_asuperexpr(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
46918 /* parser/parser.nit:17280 */
46919 fra.me.REG[2] = fra.me.REG[3];
46920 /* parser/parser.nit:17281 */
46921 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46922 if (UNTAG_Bool(REGB0)) {
46923 } else {
46924 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17281);
46925 }
46926 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46927 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46928 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46929 stack_frame_head = fra.me.prev;
46930 return;
46931 }
46932 static const char LOCATE_parser___ReduceAction451___action[] = "parser::ReduceAction451::(parser::ReduceAction::action)";
46933 void parser___ReduceAction451___action(val_t p0, val_t p1){
46934 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
46935 val_t REGB0;
46936 val_t tmp;
46937 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46938 fra.me.file = LOCATE_parser;
46939 fra.me.line = 17286;
46940 fra.me.meth = LOCATE_parser___ReduceAction451___action;
46941 fra.me.has_broke = 0;
46942 fra.me.REG_size = 6;
46943 fra.me.nitni_local_ref_head = NULL;
46944 fra.me.REG[0] = NIT_NULL;
46945 fra.me.REG[1] = NIT_NULL;
46946 fra.me.REG[2] = NIT_NULL;
46947 fra.me.REG[3] = NIT_NULL;
46948 fra.me.REG[4] = NIT_NULL;
46949 fra.me.REG[5] = NIT_NULL;
46950 fra.me.REG[0] = p0;
46951 fra.me.REG[1] = p1;
46952 /* parser/parser.nit:17288 */
46953 fra.me.REG[2] = NIT_NULL;
46954 /* parser/parser.nit:17289 */
46955 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46956 /* parser/parser.nit:17290 */
46957 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46958 /* parser/parser.nit:17291 */
46959 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46960 /* parser/parser.nit:17293 */
46961 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*/;
46962 if (UNTAG_Bool(REGB0)) {
46963 } else {
46964 nit_abort("Assert failed", NULL, LOCATE_parser, 17293);
46965 }
46966 /* parser/parser.nit:17295 */
46967 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*/;
46968 if (UNTAG_Bool(REGB0)) {
46969 } else {
46970 nit_abort("Assert failed", NULL, LOCATE_parser, 17295);
46971 }
46972 /* parser/parser.nit:17297 */
46973 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*/;
46974 if (UNTAG_Bool(REGB0)) {
46975 } else {
46976 nit_abort("Assert failed", NULL, LOCATE_parser, 17297);
46977 }
46978 /* parser/parser.nit:17298 */
46979 fra.me.REG[3] = NEW_ASuperExpr_parser___parser_prod___ASuperExpr___init_asuperexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
46980 /* parser/parser.nit:17303 */
46981 fra.me.REG[2] = fra.me.REG[3];
46982 /* parser/parser.nit:17304 */
46983 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46984 if (UNTAG_Bool(REGB0)) {
46985 } else {
46986 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17304);
46987 }
46988 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46989 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46990 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46991 stack_frame_head = fra.me.prev;
46992 return;
46993 }
46994 static const char LOCATE_parser___ReduceAction452___action[] = "parser::ReduceAction452::(parser::ReduceAction::action)";
46995 void parser___ReduceAction452___action(val_t p0, val_t p1){
46996 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
46997 val_t REGB0;
46998 val_t tmp;
46999 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47000 fra.me.file = LOCATE_parser;
47001 fra.me.line = 17309;
47002 fra.me.meth = LOCATE_parser___ReduceAction452___action;
47003 fra.me.has_broke = 0;
47004 fra.me.REG_size = 6;
47005 fra.me.nitni_local_ref_head = NULL;
47006 fra.me.REG[0] = NIT_NULL;
47007 fra.me.REG[1] = NIT_NULL;
47008 fra.me.REG[2] = NIT_NULL;
47009 fra.me.REG[3] = NIT_NULL;
47010 fra.me.REG[4] = NIT_NULL;
47011 fra.me.REG[5] = NIT_NULL;
47012 fra.me.REG[0] = p0;
47013 fra.me.REG[1] = p1;
47014 /* parser/parser.nit:17311 */
47015 fra.me.REG[2] = NIT_NULL;
47016 /* parser/parser.nit:17312 */
47017 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47018 /* parser/parser.nit:17313 */
47019 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47020 /* parser/parser.nit:17314 */
47021 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47022 /* parser/parser.nit:17315 */
47023 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47024 /* parser/parser.nit:17316 */
47025 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47026 /* parser/parser.nit:17318 */
47027 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*/;
47028 if (UNTAG_Bool(REGB0)) {
47029 } else {
47030 nit_abort("Assert failed", NULL, LOCATE_parser, 17318);
47031 }
47032 /* parser/parser.nit:17320 */
47033 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*/;
47034 if (UNTAG_Bool(REGB0)) {
47035 } else {
47036 nit_abort("Assert failed", NULL, LOCATE_parser, 17320);
47037 }
47038 /* parser/parser.nit:17322 */
47039 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*/;
47040 if (UNTAG_Bool(REGB0)) {
47041 } else {
47042 nit_abort("Assert failed", NULL, LOCATE_parser, 17322);
47043 }
47044 /* parser/parser.nit:17323 */
47045 fra.me.REG[3] = NEW_AInitExpr_parser___parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
47046 /* parser/parser.nit:17328 */
47047 fra.me.REG[2] = fra.me.REG[3];
47048 /* parser/parser.nit:17329 */
47049 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
47050 if (UNTAG_Bool(REGB0)) {
47051 } else {
47052 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17329);
47053 }
47054 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
47055 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47056 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
47057 stack_frame_head = fra.me.prev;
47058 return;
47059 }
47060 static const char LOCATE_parser___ReduceAction453___action[] = "parser::ReduceAction453::(parser::ReduceAction::action)";
47061 void parser___ReduceAction453___action(val_t p0, val_t p1){
47062 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
47063 val_t REGB0;
47064 val_t tmp;
47065 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47066 fra.me.file = LOCATE_parser;
47067 fra.me.line = 17334;
47068 fra.me.meth = LOCATE_parser___ReduceAction453___action;
47069 fra.me.has_broke = 0;
47070 fra.me.REG_size = 6;
47071 fra.me.nitni_local_ref_head = NULL;
47072 fra.me.REG[0] = NIT_NULL;
47073 fra.me.REG[1] = NIT_NULL;
47074 fra.me.REG[2] = NIT_NULL;
47075 fra.me.REG[3] = NIT_NULL;
47076 fra.me.REG[4] = NIT_NULL;
47077 fra.me.REG[5] = NIT_NULL;
47078 fra.me.REG[0] = p0;
47079 fra.me.REG[1] = p1;
47080 /* parser/parser.nit:17336 */
47081 fra.me.REG[2] = NIT_NULL;
47082 /* parser/parser.nit:17337 */
47083 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47084 /* parser/parser.nit:17338 */
47085 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47086 /* parser/parser.nit:17339 */
47087 fra.me.REG[5] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
47088 /* parser/parser.nit:17341 */
47089 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*/;
47090 if (UNTAG_Bool(REGB0)) {
47091 } else {
47092 nit_abort("Assert failed", NULL, LOCATE_parser, 17341);
47093 }
47094 /* parser/parser.nit:17343 */
47095 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*/;
47096 if (UNTAG_Bool(REGB0)) {
47097 } else {
47098 nit_abort("Assert failed", NULL, LOCATE_parser, 17343);
47099 }
47100 /* parser/parser.nit:17344 */
47101 fra.me.REG[3] = NEW_AInitExpr_parser___parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
47102 /* parser/parser.nit:17349 */
47103 fra.me.REG[2] = fra.me.REG[3];
47104 /* parser/parser.nit:17350 */
47105 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
47106 if (UNTAG_Bool(REGB0)) {
47107 } else {
47108 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17350);
47109 }
47110 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
47111 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47112 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
47113 stack_frame_head = fra.me.prev;
47114 return;
47115 }
47116 static const char LOCATE_parser___ReduceAction454___action[] = "parser::ReduceAction454::(parser::ReduceAction::action)";
47117 void parser___ReduceAction454___action(val_t p0, val_t p1){
47118 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
47119 val_t REGB0;
47120 val_t tmp;
47121 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47122 fra.me.file = LOCATE_parser;
47123 fra.me.line = 17355;
47124 fra.me.meth = LOCATE_parser___ReduceAction454___action;
47125 fra.me.has_broke = 0;
47126 fra.me.REG_size = 7;
47127 fra.me.nitni_local_ref_head = NULL;
47128 fra.me.REG[0] = NIT_NULL;
47129 fra.me.REG[1] = NIT_NULL;
47130 fra.me.REG[2] = NIT_NULL;
47131 fra.me.REG[3] = NIT_NULL;
47132 fra.me.REG[4] = NIT_NULL;
47133 fra.me.REG[5] = NIT_NULL;
47134 fra.me.REG[6] = NIT_NULL;
47135 fra.me.REG[0] = p0;
47136 fra.me.REG[1] = p1;
47137 /* parser/parser.nit:17357 */
47138 fra.me.REG[2] = NIT_NULL;
47139 /* parser/parser.nit:17358 */
47140 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47141 /* parser/parser.nit:17359 */
47142 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47143 /* parser/parser.nit:17360 */
47144 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47145 /* parser/parser.nit:17361 */
47146 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47147 /* parser/parser.nit:17362 */
47148 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47149 /* parser/parser.nit:17364 */
47150 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*/;
47151 if (UNTAG_Bool(REGB0)) {
47152 } else {
47153 nit_abort("Assert failed", NULL, LOCATE_parser, 17364);
47154 }
47155 /* parser/parser.nit:17366 */
47156 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*/;
47157 if (UNTAG_Bool(REGB0)) {
47158 } else {
47159 nit_abort("Assert failed", NULL, LOCATE_parser, 17366);
47160 }
47161 /* parser/parser.nit:17368 */
47162 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
47163 if (UNTAG_Bool(REGB0)) {
47164 } else {
47165 nit_abort("Assert failed", NULL, LOCATE_parser, 17368);
47166 }
47167 /* parser/parser.nit:17370 */
47168 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*/;
47169 if (UNTAG_Bool(REGB0)) {
47170 } else {
47171 nit_abort("Assert failed", NULL, LOCATE_parser, 17370);
47172 }
47173 /* parser/parser.nit:17371 */
47174 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]);
47175 /* parser/parser.nit:17377 */
47176 fra.me.REG[2] = fra.me.REG[4];
47177 /* parser/parser.nit:17378 */
47178 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
47179 if (UNTAG_Bool(REGB0)) {
47180 } else {
47181 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17378);
47182 }
47183 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
47184 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47185 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
47186 stack_frame_head = fra.me.prev;
47187 return;
47188 }
47189 static const char LOCATE_parser___ReduceAction455___action[] = "parser::ReduceAction455::(parser::ReduceAction::action)";
47190 void parser___ReduceAction455___action(val_t p0, val_t p1){
47191 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
47192 val_t REGB0;
47193 val_t tmp;
47194 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47195 fra.me.file = LOCATE_parser;
47196 fra.me.line = 17383;
47197 fra.me.meth = LOCATE_parser___ReduceAction455___action;
47198 fra.me.has_broke = 0;
47199 fra.me.REG_size = 5;
47200 fra.me.nitni_local_ref_head = NULL;
47201 fra.me.REG[0] = NIT_NULL;
47202 fra.me.REG[1] = NIT_NULL;
47203 fra.me.REG[2] = NIT_NULL;
47204 fra.me.REG[3] = NIT_NULL;
47205 fra.me.REG[4] = NIT_NULL;
47206 fra.me.REG[0] = p0;
47207 fra.me.REG[1] = p1;
47208 /* parser/parser.nit:17385 */
47209 fra.me.REG[2] = NIT_NULL;
47210 /* parser/parser.nit:17386 */
47211 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47212 /* parser/parser.nit:17387 */
47213 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47214 /* parser/parser.nit:17389 */
47215 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*/;
47216 if (UNTAG_Bool(REGB0)) {
47217 } else {
47218 nit_abort("Assert failed", NULL, LOCATE_parser, 17389);
47219 }
47220 /* parser/parser.nit:17391 */
47221 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*/;
47222 if (UNTAG_Bool(REGB0)) {
47223 } else {
47224 nit_abort("Assert failed", NULL, LOCATE_parser, 17391);
47225 }
47226 /* parser/parser.nit:17392 */
47227 fra.me.REG[3] = NEW_ALabel_parser___parser_prod___ALabel___init_alabel(fra.me.REG[4], fra.me.REG[3]);
47228 /* parser/parser.nit:17396 */
47229 fra.me.REG[2] = fra.me.REG[3];
47230 /* parser/parser.nit:17397 */
47231 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
47232 if (UNTAG_Bool(REGB0)) {
47233 } else {
47234 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17397);
47235 }
47236 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
47237 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47238 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
47239 stack_frame_head = fra.me.prev;
47240 return;
47241 }
47242 static const char LOCATE_parser___ReduceAction456___action[] = "parser::ReduceAction456::(parser::ReduceAction::action)";
47243 void parser___ReduceAction456___action(val_t p0, val_t p1){
47244 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
47245 val_t REGB0;
47246 val_t REGB1;
47247 val_t tmp;
47248 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47249 fra.me.file = LOCATE_parser;
47250 fra.me.line = 17402;
47251 fra.me.meth = LOCATE_parser___ReduceAction456___action;
47252 fra.me.has_broke = 0;
47253 fra.me.REG_size = 5;
47254 fra.me.nitni_local_ref_head = NULL;
47255 fra.me.REG[0] = NIT_NULL;
47256 fra.me.REG[1] = NIT_NULL;
47257 fra.me.REG[2] = NIT_NULL;
47258 fra.me.REG[3] = NIT_NULL;
47259 fra.me.REG[4] = NIT_NULL;
47260 fra.me.REG[0] = p0;
47261 fra.me.REG[1] = p1;
47262 /* parser/parser.nit:17404 */
47263 fra.me.REG[2] = NIT_NULL;
47264 /* parser/parser.nit:17405 */
47265 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47266 /* parser/parser.nit:17406 */
47267 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
47268 /* parser/parser.nit:17408 */
47269 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
47270 if (UNTAG_Bool(REGB0)) {
47271 } else {
47272 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
47273 if (UNTAG_Bool(REGB1)) {
47274 REGB1 = TAG_Bool(0);
47275 REGB0 = REGB1;
47276 } else {
47277 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
47278 REGB0 = REGB1;
47279 }
47280 }
47281 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
47282 if (UNTAG_Bool(REGB0)) {
47283 /* parser/parser.nit:17409 */
47284 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
47285 }
47286 /* parser/parser.nit:17411 */
47287 fra.me.REG[2] = fra.me.REG[4];
47288 /* parser/parser.nit:17412 */
47289 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
47290 if (UNTAG_Bool(REGB0)) {
47291 } else {
47292 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17412);
47293 }
47294 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
47295 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47296 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
47297 stack_frame_head = fra.me.prev;
47298 return;
47299 }
47300 static const char LOCATE_parser___ReduceAction457___action[] = "parser::ReduceAction457::(parser::ReduceAction::action)";
47301 void parser___ReduceAction457___action(val_t p0, val_t p1){
47302 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
47303 val_t REGB0;
47304 val_t REGB1;
47305 val_t tmp;
47306 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47307 fra.me.file = LOCATE_parser;
47308 fra.me.line = 17417;
47309 fra.me.meth = LOCATE_parser___ReduceAction457___action;
47310 fra.me.has_broke = 0;
47311 fra.me.REG_size = 6;
47312 fra.me.nitni_local_ref_head = NULL;
47313 fra.me.REG[0] = NIT_NULL;
47314 fra.me.REG[1] = NIT_NULL;
47315 fra.me.REG[2] = NIT_NULL;
47316 fra.me.REG[3] = NIT_NULL;
47317 fra.me.REG[4] = NIT_NULL;
47318 fra.me.REG[5] = NIT_NULL;
47319 fra.me.REG[0] = p0;
47320 fra.me.REG[1] = p1;
47321 /* parser/parser.nit:17419 */
47322 fra.me.REG[2] = NIT_NULL;
47323 /* parser/parser.nit:17420 */
47324 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47325 /* parser/parser.nit:17421 */
47326 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47327 /* parser/parser.nit:17422 */
47328 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
47329 /* parser/parser.nit:17425 */
47330 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]*/;
47331 if (UNTAG_Bool(REGB0)) {
47332 } else {
47333 nit_abort("Assert failed", NULL, LOCATE_parser, 17425);
47334 }
47335 /* parser/parser.nit:17426 */
47336 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
47337 if (UNTAG_Bool(REGB0)) {
47338 } else {
47339 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
47340 if (UNTAG_Bool(REGB1)) {
47341 REGB1 = TAG_Bool(0);
47342 REGB0 = REGB1;
47343 } else {
47344 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
47345 REGB0 = REGB1;
47346 }
47347 }
47348 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
47349 if (UNTAG_Bool(REGB0)) {
47350 /* parser/parser.nit:17427 */
47351 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
47352 }
47353 /* parser/parser.nit:17429 */
47354 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
47355 fra.me.REG[5] = fra.me.REG[3];
47356 /* parser/parser.nit:17430 */
47357 fra.me.REG[2] = fra.me.REG[5];
47358 /* parser/parser.nit:17431 */
47359 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
47360 if (UNTAG_Bool(REGB0)) {
47361 } else {
47362 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17431);
47363 }
47364 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
47365 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47366 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
47367 stack_frame_head = fra.me.prev;
47368 return;
47369 }
47370 static const char LOCATE_parser___ReduceAction458___action[] = "parser::ReduceAction458::(parser::ReduceAction::action)";
47371 void parser___ReduceAction458___action(val_t p0, val_t p1){
47372 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
47373 val_t REGB0;
47374 val_t tmp;
47375 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47376 fra.me.file = LOCATE_parser;
47377 fra.me.line = 17436;
47378 fra.me.meth = LOCATE_parser___ReduceAction458___action;
47379 fra.me.has_broke = 0;
47380 fra.me.REG_size = 9;
47381 fra.me.nitni_local_ref_head = NULL;
47382 fra.me.REG[0] = NIT_NULL;
47383 fra.me.REG[1] = NIT_NULL;
47384 fra.me.REG[2] = NIT_NULL;
47385 fra.me.REG[3] = NIT_NULL;
47386 fra.me.REG[4] = NIT_NULL;
47387 fra.me.REG[5] = NIT_NULL;
47388 fra.me.REG[6] = NIT_NULL;
47389 fra.me.REG[7] = NIT_NULL;
47390 fra.me.REG[8] = NIT_NULL;
47391 fra.me.REG[0] = p0;
47392 fra.me.REG[1] = p1;
47393 /* parser/parser.nit:17438 */
47394 fra.me.REG[2] = NIT_NULL;
47395 /* parser/parser.nit:17439 */
47396 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47397 /* parser/parser.nit:17440 */
47398 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47399 /* parser/parser.nit:17441 */
47400 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47401 /* parser/parser.nit:17442 */
47402 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47403 /* parser/parser.nit:17443 */
47404 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47405 /* parser/parser.nit:17444 */
47406 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
47407 /* parser/parser.nit:17446 */
47408 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*/;
47409 if (UNTAG_Bool(REGB0)) {
47410 } else {
47411 nit_abort("Assert failed", NULL, LOCATE_parser, 17446);
47412 }
47413 /* parser/parser.nit:17448 */
47414 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*/;
47415 if (UNTAG_Bool(REGB0)) {
47416 } else {
47417 nit_abort("Assert failed", NULL, LOCATE_parser, 17448);
47418 }
47419 /* parser/parser.nit:17450 */
47420 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*/;
47421 if (UNTAG_Bool(REGB0)) {
47422 } else {
47423 nit_abort("Assert failed", NULL, LOCATE_parser, 17450);
47424 }
47425 /* parser/parser.nit:17452 */
47426 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*/;
47427 if (UNTAG_Bool(REGB0)) {
47428 } else {
47429 nit_abort("Assert failed", NULL, LOCATE_parser, 17452);
47430 }
47431 /* parser/parser.nit:17454 */
47432 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*/;
47433 if (UNTAG_Bool(REGB0)) {
47434 } else {
47435 nit_abort("Assert failed", NULL, LOCATE_parser, 17454);
47436 }
47437 /* parser/parser.nit:17455 */
47438 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]);
47439 /* parser/parser.nit:17463 */
47440 fra.me.REG[2] = fra.me.REG[3];
47441 /* parser/parser.nit:17464 */
47442 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
47443 if (UNTAG_Bool(REGB0)) {
47444 } else {
47445 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17464);
47446 }
47447 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
47448 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47449 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
47450 stack_frame_head = fra.me.prev;
47451 return;
47452 }
47453 static const char LOCATE_parser___ReduceAction459___action[] = "parser::ReduceAction459::(parser::ReduceAction::action)";
47454 void parser___ReduceAction459___action(val_t p0, val_t p1){
47455 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
47456 val_t REGB0;
47457 val_t tmp;
47458 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47459 fra.me.file = LOCATE_parser;
47460 fra.me.line = 17469;
47461 fra.me.meth = LOCATE_parser___ReduceAction459___action;
47462 fra.me.has_broke = 0;
47463 fra.me.REG_size = 10;
47464 fra.me.nitni_local_ref_head = NULL;
47465 fra.me.REG[0] = NIT_NULL;
47466 fra.me.REG[1] = NIT_NULL;
47467 fra.me.REG[2] = NIT_NULL;
47468 fra.me.REG[3] = NIT_NULL;
47469 fra.me.REG[4] = NIT_NULL;
47470 fra.me.REG[5] = NIT_NULL;
47471 fra.me.REG[6] = NIT_NULL;
47472 fra.me.REG[7] = NIT_NULL;
47473 fra.me.REG[8] = NIT_NULL;
47474 fra.me.REG[9] = NIT_NULL;
47475 fra.me.REG[0] = p0;
47476 fra.me.REG[1] = p1;
47477 /* parser/parser.nit:17471 */
47478 fra.me.REG[2] = NIT_NULL;
47479 /* parser/parser.nit:17472 */
47480 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47481 /* parser/parser.nit:17473 */
47482 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47483 /* parser/parser.nit:17474 */
47484 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47485 /* parser/parser.nit:17475 */
47486 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47487 /* parser/parser.nit:17476 */
47488 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47489 /* parser/parser.nit:17477 */
47490 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47491 /* parser/parser.nit:17478 */
47492 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47493 /* parser/parser.nit:17479 */
47494 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47495 /* parser/parser.nit:17480 */
47496 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
47497 /* parser/parser.nit:17482 */
47498 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*/;
47499 if (UNTAG_Bool(REGB0)) {
47500 } else {
47501 nit_abort("Assert failed", NULL, LOCATE_parser, 17482);
47502 }
47503 /* parser/parser.nit:17484 */
47504 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*/;
47505 if (UNTAG_Bool(REGB0)) {
47506 } else {
47507 nit_abort("Assert failed", NULL, LOCATE_parser, 17484);
47508 }
47509 /* parser/parser.nit:17486 */
47510 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]*/;
47511 if (UNTAG_Bool(REGB0)) {
47512 } else {
47513 nit_abort("Assert failed", NULL, LOCATE_parser, 17486);
47514 }
47515 /* parser/parser.nit:17487 */
47516 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[6]);
47517 fra.me.REG[9] = fra.me.REG[6];
47518 /* parser/parser.nit:17489 */
47519 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*/;
47520 if (UNTAG_Bool(REGB0)) {
47521 } else {
47522 nit_abort("Assert failed", NULL, LOCATE_parser, 17489);
47523 }
47524 /* parser/parser.nit:17491 */
47525 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*/;
47526 if (UNTAG_Bool(REGB0)) {
47527 } else {
47528 nit_abort("Assert failed", NULL, LOCATE_parser, 17491);
47529 }
47530 /* parser/parser.nit:17493 */
47531 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*/;
47532 if (UNTAG_Bool(REGB0)) {
47533 } else {
47534 nit_abort("Assert failed", NULL, LOCATE_parser, 17493);
47535 }
47536 /* parser/parser.nit:17494 */
47537 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]);
47538 /* parser/parser.nit:17502 */
47539 fra.me.REG[2] = fra.me.REG[3];
47540 /* parser/parser.nit:17503 */
47541 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
47542 if (UNTAG_Bool(REGB0)) {
47543 } else {
47544 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17503);
47545 }
47546 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
47547 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47548 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
47549 stack_frame_head = fra.me.prev;
47550 return;
47551 }
47552 static const char LOCATE_parser___ReduceAction460___action[] = "parser::ReduceAction460::(parser::ReduceAction::action)";
47553 void parser___ReduceAction460___action(val_t p0, val_t p1){
47554 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
47555 val_t REGB0;
47556 val_t tmp;
47557 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47558 fra.me.file = LOCATE_parser;
47559 fra.me.line = 17508;
47560 fra.me.meth = LOCATE_parser___ReduceAction460___action;
47561 fra.me.has_broke = 0;
47562 fra.me.REG_size = 10;
47563 fra.me.nitni_local_ref_head = NULL;
47564 fra.me.REG[0] = NIT_NULL;
47565 fra.me.REG[1] = NIT_NULL;
47566 fra.me.REG[2] = NIT_NULL;
47567 fra.me.REG[3] = NIT_NULL;
47568 fra.me.REG[4] = NIT_NULL;
47569 fra.me.REG[5] = NIT_NULL;
47570 fra.me.REG[6] = NIT_NULL;
47571 fra.me.REG[7] = NIT_NULL;
47572 fra.me.REG[8] = NIT_NULL;
47573 fra.me.REG[9] = NIT_NULL;
47574 fra.me.REG[0] = p0;
47575 fra.me.REG[1] = p1;
47576 /* parser/parser.nit:17510 */
47577 fra.me.REG[2] = NIT_NULL;
47578 /* parser/parser.nit:17511 */
47579 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47580 /* parser/parser.nit:17512 */
47581 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47582 /* parser/parser.nit:17513 */
47583 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47584 /* parser/parser.nit:17514 */
47585 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47586 /* parser/parser.nit:17515 */
47587 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47588 /* parser/parser.nit:17516 */
47589 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47590 /* parser/parser.nit:17517 */
47591 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
47592 /* parser/parser.nit:17519 */
47593 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*/;
47594 if (UNTAG_Bool(REGB0)) {
47595 } else {
47596 nit_abort("Assert failed", NULL, LOCATE_parser, 17519);
47597 }
47598 /* parser/parser.nit:17521 */
47599 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*/;
47600 if (UNTAG_Bool(REGB0)) {
47601 } else {
47602 nit_abort("Assert failed", NULL, LOCATE_parser, 17521);
47603 }
47604 /* parser/parser.nit:17523 */
47605 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]*/;
47606 if (UNTAG_Bool(REGB0)) {
47607 } else {
47608 nit_abort("Assert failed", NULL, LOCATE_parser, 17523);
47609 }
47610 /* parser/parser.nit:17524 */
47611 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[6]);
47612 fra.me.REG[9] = fra.me.REG[6];
47613 /* parser/parser.nit:17526 */
47614 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*/;
47615 if (UNTAG_Bool(REGB0)) {
47616 } else {
47617 nit_abort("Assert failed", NULL, LOCATE_parser, 17526);
47618 }
47619 /* parser/parser.nit:17528 */
47620 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*/;
47621 if (UNTAG_Bool(REGB0)) {
47622 } else {
47623 nit_abort("Assert failed", NULL, LOCATE_parser, 17528);
47624 }
47625 /* parser/parser.nit:17530 */
47626 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*/;
47627 if (UNTAG_Bool(REGB0)) {
47628 } else {
47629 nit_abort("Assert failed", NULL, LOCATE_parser, 17530);
47630 }
47631 /* parser/parser.nit:17531 */
47632 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]);
47633 /* parser/parser.nit:17539 */
47634 fra.me.REG[2] = fra.me.REG[3];
47635 /* parser/parser.nit:17540 */
47636 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
47637 if (UNTAG_Bool(REGB0)) {
47638 } else {
47639 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17540);
47640 }
47641 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
47642 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47643 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
47644 stack_frame_head = fra.me.prev;
47645 return;
47646 }
47647 static const char LOCATE_parser___ReduceAction461___action[] = "parser::ReduceAction461::(parser::ReduceAction::action)";
47648 void parser___ReduceAction461___action(val_t p0, val_t p1){
47649 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
47650 val_t REGB0;
47651 val_t tmp;
47652 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47653 fra.me.file = LOCATE_parser;
47654 fra.me.line = 17545;
47655 fra.me.meth = LOCATE_parser___ReduceAction461___action;
47656 fra.me.has_broke = 0;
47657 fra.me.REG_size = 8;
47658 fra.me.nitni_local_ref_head = NULL;
47659 fra.me.REG[0] = NIT_NULL;
47660 fra.me.REG[1] = NIT_NULL;
47661 fra.me.REG[2] = NIT_NULL;
47662 fra.me.REG[3] = NIT_NULL;
47663 fra.me.REG[4] = NIT_NULL;
47664 fra.me.REG[5] = NIT_NULL;
47665 fra.me.REG[6] = NIT_NULL;
47666 fra.me.REG[7] = NIT_NULL;
47667 fra.me.REG[0] = p0;
47668 fra.me.REG[1] = p1;
47669 /* parser/parser.nit:17547 */
47670 fra.me.REG[2] = NIT_NULL;
47671 /* parser/parser.nit:17548 */
47672 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47673 /* parser/parser.nit:17549 */
47674 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47675 /* parser/parser.nit:17550 */
47676 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47677 /* parser/parser.nit:17551 */
47678 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47679 /* parser/parser.nit:17552 */
47680 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
47681 /* parser/parser.nit:17554 */
47682 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*/;
47683 if (UNTAG_Bool(REGB0)) {
47684 } else {
47685 nit_abort("Assert failed", NULL, LOCATE_parser, 17554);
47686 }
47687 /* parser/parser.nit:17556 */
47688 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*/;
47689 if (UNTAG_Bool(REGB0)) {
47690 } else {
47691 nit_abort("Assert failed", NULL, LOCATE_parser, 17556);
47692 }
47693 /* parser/parser.nit:17558 */
47694 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*/;
47695 if (UNTAG_Bool(REGB0)) {
47696 } else {
47697 nit_abort("Assert failed", NULL, LOCATE_parser, 17558);
47698 }
47699 /* parser/parser.nit:17560 */
47700 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
47701 if (UNTAG_Bool(REGB0)) {
47702 } else {
47703 nit_abort("Assert failed", NULL, LOCATE_parser, 17560);
47704 }
47705 /* parser/parser.nit:17561 */
47706 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);
47707 /* parser/parser.nit:17569 */
47708 fra.me.REG[2] = fra.me.REG[3];
47709 /* parser/parser.nit:17570 */
47710 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
47711 if (UNTAG_Bool(REGB0)) {
47712 } else {
47713 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17570);
47714 }
47715 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
47716 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47717 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
47718 stack_frame_head = fra.me.prev;
47719 return;
47720 }
47721 static const char LOCATE_parser___ReduceAction462___action[] = "parser::ReduceAction462::(parser::ReduceAction::action)";
47722 void parser___ReduceAction462___action(val_t p0, val_t p1){
47723 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
47724 val_t REGB0;
47725 val_t tmp;
47726 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47727 fra.me.file = LOCATE_parser;
47728 fra.me.line = 17575;
47729 fra.me.meth = LOCATE_parser___ReduceAction462___action;
47730 fra.me.has_broke = 0;
47731 fra.me.REG_size = 9;
47732 fra.me.nitni_local_ref_head = NULL;
47733 fra.me.REG[0] = NIT_NULL;
47734 fra.me.REG[1] = NIT_NULL;
47735 fra.me.REG[2] = NIT_NULL;
47736 fra.me.REG[3] = NIT_NULL;
47737 fra.me.REG[4] = NIT_NULL;
47738 fra.me.REG[5] = NIT_NULL;
47739 fra.me.REG[6] = NIT_NULL;
47740 fra.me.REG[7] = NIT_NULL;
47741 fra.me.REG[8] = NIT_NULL;
47742 fra.me.REG[0] = p0;
47743 fra.me.REG[1] = p1;
47744 /* parser/parser.nit:17577 */
47745 fra.me.REG[2] = NIT_NULL;
47746 /* parser/parser.nit:17578 */
47747 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47748 /* parser/parser.nit:17579 */
47749 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47750 /* parser/parser.nit:17580 */
47751 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47752 /* parser/parser.nit:17581 */
47753 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47754 /* parser/parser.nit:17582 */
47755 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47756 /* parser/parser.nit:17583 */
47757 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47758 /* parser/parser.nit:17584 */
47759 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47760 /* parser/parser.nit:17585 */
47761 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
47762 /* parser/parser.nit:17587 */
47763 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*/;
47764 if (UNTAG_Bool(REGB0)) {
47765 } else {
47766 nit_abort("Assert failed", NULL, LOCATE_parser, 17587);
47767 }
47768 /* parser/parser.nit:17589 */
47769 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*/;
47770 if (UNTAG_Bool(REGB0)) {
47771 } else {
47772 nit_abort("Assert failed", NULL, LOCATE_parser, 17589);
47773 }
47774 /* parser/parser.nit:17591 */
47775 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]*/;
47776 if (UNTAG_Bool(REGB0)) {
47777 } else {
47778 nit_abort("Assert failed", NULL, LOCATE_parser, 17591);
47779 }
47780 /* parser/parser.nit:17592 */
47781 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
47782 fra.me.REG[8] = fra.me.REG[5];
47783 /* parser/parser.nit:17594 */
47784 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*/;
47785 if (UNTAG_Bool(REGB0)) {
47786 } else {
47787 nit_abort("Assert failed", NULL, LOCATE_parser, 17594);
47788 }
47789 /* parser/parser.nit:17596 */
47790 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
47791 if (UNTAG_Bool(REGB0)) {
47792 } else {
47793 nit_abort("Assert failed", NULL, LOCATE_parser, 17596);
47794 }
47795 /* parser/parser.nit:17597 */
47796 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);
47797 /* parser/parser.nit:17605 */
47798 fra.me.REG[2] = fra.me.REG[3];
47799 /* parser/parser.nit:17606 */
47800 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
47801 if (UNTAG_Bool(REGB0)) {
47802 } else {
47803 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17606);
47804 }
47805 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
47806 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47807 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
47808 stack_frame_head = fra.me.prev;
47809 return;
47810 }
47811 static const char LOCATE_parser___ReduceAction463___action[] = "parser::ReduceAction463::(parser::ReduceAction::action)";
47812 void parser___ReduceAction463___action(val_t p0, val_t p1){
47813 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
47814 val_t REGB0;
47815 val_t tmp;
47816 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47817 fra.me.file = LOCATE_parser;
47818 fra.me.line = 17611;
47819 fra.me.meth = LOCATE_parser___ReduceAction463___action;
47820 fra.me.has_broke = 0;
47821 fra.me.REG_size = 9;
47822 fra.me.nitni_local_ref_head = NULL;
47823 fra.me.REG[0] = NIT_NULL;
47824 fra.me.REG[1] = NIT_NULL;
47825 fra.me.REG[2] = NIT_NULL;
47826 fra.me.REG[3] = NIT_NULL;
47827 fra.me.REG[4] = NIT_NULL;
47828 fra.me.REG[5] = NIT_NULL;
47829 fra.me.REG[6] = NIT_NULL;
47830 fra.me.REG[7] = NIT_NULL;
47831 fra.me.REG[8] = NIT_NULL;
47832 fra.me.REG[0] = p0;
47833 fra.me.REG[1] = p1;
47834 /* parser/parser.nit:17613 */
47835 fra.me.REG[2] = NIT_NULL;
47836 /* parser/parser.nit:17614 */
47837 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47838 /* parser/parser.nit:17615 */
47839 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47840 /* parser/parser.nit:17616 */
47841 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47842 /* parser/parser.nit:17617 */
47843 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47844 /* parser/parser.nit:17618 */
47845 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47846 /* parser/parser.nit:17619 */
47847 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
47848 /* parser/parser.nit:17621 */
47849 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*/;
47850 if (UNTAG_Bool(REGB0)) {
47851 } else {
47852 nit_abort("Assert failed", NULL, LOCATE_parser, 17621);
47853 }
47854 /* parser/parser.nit:17623 */
47855 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*/;
47856 if (UNTAG_Bool(REGB0)) {
47857 } else {
47858 nit_abort("Assert failed", NULL, LOCATE_parser, 17623);
47859 }
47860 /* parser/parser.nit:17625 */
47861 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]*/;
47862 if (UNTAG_Bool(REGB0)) {
47863 } else {
47864 nit_abort("Assert failed", NULL, LOCATE_parser, 17625);
47865 }
47866 /* parser/parser.nit:17626 */
47867 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
47868 fra.me.REG[8] = fra.me.REG[5];
47869 /* parser/parser.nit:17628 */
47870 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*/;
47871 if (UNTAG_Bool(REGB0)) {
47872 } else {
47873 nit_abort("Assert failed", NULL, LOCATE_parser, 17628);
47874 }
47875 /* parser/parser.nit:17630 */
47876 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
47877 if (UNTAG_Bool(REGB0)) {
47878 } else {
47879 nit_abort("Assert failed", NULL, LOCATE_parser, 17630);
47880 }
47881 /* parser/parser.nit:17631 */
47882 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);
47883 /* parser/parser.nit:17639 */
47884 fra.me.REG[2] = fra.me.REG[3];
47885 /* parser/parser.nit:17640 */
47886 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
47887 if (UNTAG_Bool(REGB0)) {
47888 } else {
47889 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17640);
47890 }
47891 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
47892 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47893 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
47894 stack_frame_head = fra.me.prev;
47895 return;
47896 }
47897 static const char LOCATE_parser___ReduceAction464___action[] = "parser::ReduceAction464::(parser::ReduceAction::action)";
47898 void parser___ReduceAction464___action(val_t p0, val_t p1){
47899 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
47900 val_t REGB0;
47901 val_t tmp;
47902 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47903 fra.me.file = LOCATE_parser;
47904 fra.me.line = 17645;
47905 fra.me.meth = LOCATE_parser___ReduceAction464___action;
47906 fra.me.has_broke = 0;
47907 fra.me.REG_size = 7;
47908 fra.me.nitni_local_ref_head = NULL;
47909 fra.me.REG[0] = NIT_NULL;
47910 fra.me.REG[1] = NIT_NULL;
47911 fra.me.REG[2] = NIT_NULL;
47912 fra.me.REG[3] = NIT_NULL;
47913 fra.me.REG[4] = NIT_NULL;
47914 fra.me.REG[5] = NIT_NULL;
47915 fra.me.REG[6] = NIT_NULL;
47916 fra.me.REG[0] = p0;
47917 fra.me.REG[1] = p1;
47918 /* parser/parser.nit:17647 */
47919 fra.me.REG[2] = NIT_NULL;
47920 /* parser/parser.nit:17648 */
47921 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47922 /* parser/parser.nit:17649 */
47923 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47924 /* parser/parser.nit:17650 */
47925 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47926 /* parser/parser.nit:17651 */
47927 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47928 /* parser/parser.nit:17652 */
47929 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47930 /* parser/parser.nit:17653 */
47931 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
47932 /* parser/parser.nit:17655 */
47933 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*/;
47934 if (UNTAG_Bool(REGB0)) {
47935 } else {
47936 nit_abort("Assert failed", NULL, LOCATE_parser, 17655);
47937 }
47938 /* parser/parser.nit:17657 */
47939 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*/;
47940 if (UNTAG_Bool(REGB0)) {
47941 } else {
47942 nit_abort("Assert failed", NULL, LOCATE_parser, 17657);
47943 }
47944 /* parser/parser.nit:17659 */
47945 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
47946 if (UNTAG_Bool(REGB0)) {
47947 } else {
47948 nit_abort("Assert failed", NULL, LOCATE_parser, 17659);
47949 }
47950 /* parser/parser.nit:17660 */
47951 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);
47952 /* parser/parser.nit:17668 */
47953 fra.me.REG[2] = fra.me.REG[3];
47954 /* parser/parser.nit:17669 */
47955 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
47956 if (UNTAG_Bool(REGB0)) {
47957 } else {
47958 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17669);
47959 }
47960 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
47961 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47962 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
47963 stack_frame_head = fra.me.prev;
47964 return;
47965 }
47966 static const char LOCATE_parser___ReduceAction465___action[] = "parser::ReduceAction465::(parser::ReduceAction::action)";
47967 void parser___ReduceAction465___action(val_t p0, val_t p1){
47968 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
47969 val_t REGB0;
47970 val_t tmp;
47971 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47972 fra.me.file = LOCATE_parser;
47973 fra.me.line = 17674;
47974 fra.me.meth = LOCATE_parser___ReduceAction465___action;
47975 fra.me.has_broke = 0;
47976 fra.me.REG_size = 8;
47977 fra.me.nitni_local_ref_head = NULL;
47978 fra.me.REG[0] = NIT_NULL;
47979 fra.me.REG[1] = NIT_NULL;
47980 fra.me.REG[2] = NIT_NULL;
47981 fra.me.REG[3] = NIT_NULL;
47982 fra.me.REG[4] = NIT_NULL;
47983 fra.me.REG[5] = NIT_NULL;
47984 fra.me.REG[6] = NIT_NULL;
47985 fra.me.REG[7] = NIT_NULL;
47986 fra.me.REG[0] = p0;
47987 fra.me.REG[1] = p1;
47988 /* parser/parser.nit:17676 */
47989 fra.me.REG[2] = NIT_NULL;
47990 /* parser/parser.nit:17677 */
47991 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47992 /* parser/parser.nit:17678 */
47993 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47994 /* parser/parser.nit:17679 */
47995 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47996 /* parser/parser.nit:17680 */
47997 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47998 /* parser/parser.nit:17681 */
47999 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48000 /* parser/parser.nit:17682 */
48001 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48002 /* parser/parser.nit:17683 */
48003 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48004 /* parser/parser.nit:17684 */
48005 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48006 /* parser/parser.nit:17685 */
48007 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
48008 /* parser/parser.nit:17687 */
48009 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*/;
48010 if (UNTAG_Bool(REGB0)) {
48011 } else {
48012 nit_abort("Assert failed", NULL, LOCATE_parser, 17687);
48013 }
48014 /* parser/parser.nit:17689 */
48015 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*/;
48016 if (UNTAG_Bool(REGB0)) {
48017 } else {
48018 nit_abort("Assert failed", NULL, LOCATE_parser, 17689);
48019 }
48020 /* parser/parser.nit:17691 */
48021 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]*/;
48022 if (UNTAG_Bool(REGB0)) {
48023 } else {
48024 nit_abort("Assert failed", NULL, LOCATE_parser, 17691);
48025 }
48026 /* parser/parser.nit:17692 */
48027 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
48028 fra.me.REG[7] = fra.me.REG[4];
48029 /* parser/parser.nit:17694 */
48030 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
48031 if (UNTAG_Bool(REGB0)) {
48032 } else {
48033 nit_abort("Assert failed", NULL, LOCATE_parser, 17694);
48034 }
48035 /* parser/parser.nit:17695 */
48036 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);
48037 /* parser/parser.nit:17703 */
48038 fra.me.REG[2] = fra.me.REG[3];
48039 /* parser/parser.nit:17704 */
48040 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
48041 if (UNTAG_Bool(REGB0)) {
48042 } else {
48043 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17704);
48044 }
48045 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
48046 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48047 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
48048 stack_frame_head = fra.me.prev;
48049 return;
48050 }
48051 static const char LOCATE_parser___ReduceAction466___action[] = "parser::ReduceAction466::(parser::ReduceAction::action)";
48052 void parser___ReduceAction466___action(val_t p0, val_t p1){
48053 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
48054 val_t REGB0;
48055 val_t tmp;
48056 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48057 fra.me.file = LOCATE_parser;
48058 fra.me.line = 17709;
48059 fra.me.meth = LOCATE_parser___ReduceAction466___action;
48060 fra.me.has_broke = 0;
48061 fra.me.REG_size = 8;
48062 fra.me.nitni_local_ref_head = NULL;
48063 fra.me.REG[0] = NIT_NULL;
48064 fra.me.REG[1] = NIT_NULL;
48065 fra.me.REG[2] = NIT_NULL;
48066 fra.me.REG[3] = NIT_NULL;
48067 fra.me.REG[4] = NIT_NULL;
48068 fra.me.REG[5] = NIT_NULL;
48069 fra.me.REG[6] = NIT_NULL;
48070 fra.me.REG[7] = NIT_NULL;
48071 fra.me.REG[0] = p0;
48072 fra.me.REG[1] = p1;
48073 /* parser/parser.nit:17711 */
48074 fra.me.REG[2] = NIT_NULL;
48075 /* parser/parser.nit:17712 */
48076 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48077 /* parser/parser.nit:17713 */
48078 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48079 /* parser/parser.nit:17714 */
48080 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48081 /* parser/parser.nit:17715 */
48082 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48083 /* parser/parser.nit:17716 */
48084 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48085 /* parser/parser.nit:17717 */
48086 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48087 /* parser/parser.nit:17718 */
48088 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
48089 /* parser/parser.nit:17720 */
48090 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*/;
48091 if (UNTAG_Bool(REGB0)) {
48092 } else {
48093 nit_abort("Assert failed", NULL, LOCATE_parser, 17720);
48094 }
48095 /* parser/parser.nit:17722 */
48096 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*/;
48097 if (UNTAG_Bool(REGB0)) {
48098 } else {
48099 nit_abort("Assert failed", NULL, LOCATE_parser, 17722);
48100 }
48101 /* parser/parser.nit:17724 */
48102 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]*/;
48103 if (UNTAG_Bool(REGB0)) {
48104 } else {
48105 nit_abort("Assert failed", NULL, LOCATE_parser, 17724);
48106 }
48107 /* parser/parser.nit:17725 */
48108 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
48109 fra.me.REG[7] = fra.me.REG[4];
48110 /* parser/parser.nit:17727 */
48111 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
48112 if (UNTAG_Bool(REGB0)) {
48113 } else {
48114 nit_abort("Assert failed", NULL, LOCATE_parser, 17727);
48115 }
48116 /* parser/parser.nit:17728 */
48117 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);
48118 /* parser/parser.nit:17736 */
48119 fra.me.REG[2] = fra.me.REG[3];
48120 /* parser/parser.nit:17737 */
48121 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
48122 if (UNTAG_Bool(REGB0)) {
48123 } else {
48124 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17737);
48125 }
48126 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
48127 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48128 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
48129 stack_frame_head = fra.me.prev;
48130 return;
48131 }
48132 static const char LOCATE_parser___ReduceAction467___action[] = "parser::ReduceAction467::(parser::ReduceAction::action)";
48133 void parser___ReduceAction467___action(val_t p0, val_t p1){
48134 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
48135 val_t REGB0;
48136 val_t tmp;
48137 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48138 fra.me.file = LOCATE_parser;
48139 fra.me.line = 17742;
48140 fra.me.meth = LOCATE_parser___ReduceAction467___action;
48141 fra.me.has_broke = 0;
48142 fra.me.REG_size = 8;
48143 fra.me.nitni_local_ref_head = NULL;
48144 fra.me.REG[0] = NIT_NULL;
48145 fra.me.REG[1] = NIT_NULL;
48146 fra.me.REG[2] = NIT_NULL;
48147 fra.me.REG[3] = NIT_NULL;
48148 fra.me.REG[4] = NIT_NULL;
48149 fra.me.REG[5] = NIT_NULL;
48150 fra.me.REG[6] = NIT_NULL;
48151 fra.me.REG[7] = NIT_NULL;
48152 fra.me.REG[0] = p0;
48153 fra.me.REG[1] = p1;
48154 /* parser/parser.nit:17744 */
48155 fra.me.REG[2] = NIT_NULL;
48156 /* parser/parser.nit:17745 */
48157 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48158 /* parser/parser.nit:17746 */
48159 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48160 /* parser/parser.nit:17747 */
48161 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48162 /* parser/parser.nit:17748 */
48163 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48164 /* parser/parser.nit:17749 */
48165 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48166 /* parser/parser.nit:17750 */
48167 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
48168 /* parser/parser.nit:17752 */
48169 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*/;
48170 if (UNTAG_Bool(REGB0)) {
48171 } else {
48172 nit_abort("Assert failed", NULL, LOCATE_parser, 17752);
48173 }
48174 /* parser/parser.nit:17754 */
48175 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*/;
48176 if (UNTAG_Bool(REGB0)) {
48177 } else {
48178 nit_abort("Assert failed", NULL, LOCATE_parser, 17754);
48179 }
48180 /* parser/parser.nit:17756 */
48181 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*/;
48182 if (UNTAG_Bool(REGB0)) {
48183 } else {
48184 nit_abort("Assert failed", NULL, LOCATE_parser, 17756);
48185 }
48186 /* parser/parser.nit:17758 */
48187 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
48188 if (UNTAG_Bool(REGB0)) {
48189 } else {
48190 nit_abort("Assert failed", NULL, LOCATE_parser, 17758);
48191 }
48192 /* parser/parser.nit:17759 */
48193 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);
48194 /* parser/parser.nit:17767 */
48195 fra.me.REG[2] = fra.me.REG[3];
48196 /* parser/parser.nit:17768 */
48197 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
48198 if (UNTAG_Bool(REGB0)) {
48199 } else {
48200 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17768);
48201 }
48202 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
48203 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48204 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
48205 stack_frame_head = fra.me.prev;
48206 return;
48207 }
48208 static const char LOCATE_parser___ReduceAction468___action[] = "parser::ReduceAction468::(parser::ReduceAction::action)";
48209 void parser___ReduceAction468___action(val_t p0, val_t p1){
48210 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
48211 val_t REGB0;
48212 val_t tmp;
48213 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48214 fra.me.file = LOCATE_parser;
48215 fra.me.line = 17773;
48216 fra.me.meth = LOCATE_parser___ReduceAction468___action;
48217 fra.me.has_broke = 0;
48218 fra.me.REG_size = 9;
48219 fra.me.nitni_local_ref_head = NULL;
48220 fra.me.REG[0] = NIT_NULL;
48221 fra.me.REG[1] = NIT_NULL;
48222 fra.me.REG[2] = NIT_NULL;
48223 fra.me.REG[3] = NIT_NULL;
48224 fra.me.REG[4] = NIT_NULL;
48225 fra.me.REG[5] = NIT_NULL;
48226 fra.me.REG[6] = NIT_NULL;
48227 fra.me.REG[7] = NIT_NULL;
48228 fra.me.REG[8] = NIT_NULL;
48229 fra.me.REG[0] = p0;
48230 fra.me.REG[1] = p1;
48231 /* parser/parser.nit:17775 */
48232 fra.me.REG[2] = NIT_NULL;
48233 /* parser/parser.nit:17776 */
48234 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48235 /* parser/parser.nit:17777 */
48236 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48237 /* parser/parser.nit:17778 */
48238 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48239 /* parser/parser.nit:17779 */
48240 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48241 /* parser/parser.nit:17780 */
48242 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48243 /* parser/parser.nit:17781 */
48244 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48245 /* parser/parser.nit:17782 */
48246 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48247 /* parser/parser.nit:17783 */
48248 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48249 /* parser/parser.nit:17784 */
48250 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
48251 /* parser/parser.nit:17786 */
48252 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*/;
48253 if (UNTAG_Bool(REGB0)) {
48254 } else {
48255 nit_abort("Assert failed", NULL, LOCATE_parser, 17786);
48256 }
48257 /* parser/parser.nit:17788 */
48258 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*/;
48259 if (UNTAG_Bool(REGB0)) {
48260 } else {
48261 nit_abort("Assert failed", NULL, LOCATE_parser, 17788);
48262 }
48263 /* parser/parser.nit:17790 */
48264 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]*/;
48265 if (UNTAG_Bool(REGB0)) {
48266 } else {
48267 nit_abort("Assert failed", NULL, LOCATE_parser, 17790);
48268 }
48269 /* parser/parser.nit:17791 */
48270 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
48271 fra.me.REG[8] = fra.me.REG[5];
48272 /* parser/parser.nit:17793 */
48273 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*/;
48274 if (UNTAG_Bool(REGB0)) {
48275 } else {
48276 nit_abort("Assert failed", NULL, LOCATE_parser, 17793);
48277 }
48278 /* parser/parser.nit:17795 */
48279 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
48280 if (UNTAG_Bool(REGB0)) {
48281 } else {
48282 nit_abort("Assert failed", NULL, LOCATE_parser, 17795);
48283 }
48284 /* parser/parser.nit:17796 */
48285 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);
48286 /* parser/parser.nit:17804 */
48287 fra.me.REG[2] = fra.me.REG[3];
48288 /* parser/parser.nit:17805 */
48289 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
48290 if (UNTAG_Bool(REGB0)) {
48291 } else {
48292 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17805);
48293 }
48294 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
48295 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48296 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
48297 stack_frame_head = fra.me.prev;
48298 return;
48299 }
48300 static const char LOCATE_parser___ReduceAction469___action[] = "parser::ReduceAction469::(parser::ReduceAction::action)";
48301 void parser___ReduceAction469___action(val_t p0, val_t p1){
48302 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
48303 val_t REGB0;
48304 val_t tmp;
48305 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48306 fra.me.file = LOCATE_parser;
48307 fra.me.line = 17810;
48308 fra.me.meth = LOCATE_parser___ReduceAction469___action;
48309 fra.me.has_broke = 0;
48310 fra.me.REG_size = 9;
48311 fra.me.nitni_local_ref_head = NULL;
48312 fra.me.REG[0] = NIT_NULL;
48313 fra.me.REG[1] = NIT_NULL;
48314 fra.me.REG[2] = NIT_NULL;
48315 fra.me.REG[3] = NIT_NULL;
48316 fra.me.REG[4] = NIT_NULL;
48317 fra.me.REG[5] = NIT_NULL;
48318 fra.me.REG[6] = NIT_NULL;
48319 fra.me.REG[7] = NIT_NULL;
48320 fra.me.REG[8] = NIT_NULL;
48321 fra.me.REG[0] = p0;
48322 fra.me.REG[1] = p1;
48323 /* parser/parser.nit:17812 */
48324 fra.me.REG[2] = NIT_NULL;
48325 /* parser/parser.nit:17813 */
48326 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48327 /* parser/parser.nit:17814 */
48328 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48329 /* parser/parser.nit:17815 */
48330 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48331 /* parser/parser.nit:17816 */
48332 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48333 /* parser/parser.nit:17817 */
48334 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48335 /* parser/parser.nit:17818 */
48336 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48337 /* parser/parser.nit:17819 */
48338 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
48339 /* parser/parser.nit:17821 */
48340 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*/;
48341 if (UNTAG_Bool(REGB0)) {
48342 } else {
48343 nit_abort("Assert failed", NULL, LOCATE_parser, 17821);
48344 }
48345 /* parser/parser.nit:17823 */
48346 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*/;
48347 if (UNTAG_Bool(REGB0)) {
48348 } else {
48349 nit_abort("Assert failed", NULL, LOCATE_parser, 17823);
48350 }
48351 /* parser/parser.nit:17825 */
48352 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]*/;
48353 if (UNTAG_Bool(REGB0)) {
48354 } else {
48355 nit_abort("Assert failed", NULL, LOCATE_parser, 17825);
48356 }
48357 /* parser/parser.nit:17826 */
48358 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
48359 fra.me.REG[8] = fra.me.REG[5];
48360 /* parser/parser.nit:17828 */
48361 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*/;
48362 if (UNTAG_Bool(REGB0)) {
48363 } else {
48364 nit_abort("Assert failed", NULL, LOCATE_parser, 17828);
48365 }
48366 /* parser/parser.nit:17830 */
48367 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
48368 if (UNTAG_Bool(REGB0)) {
48369 } else {
48370 nit_abort("Assert failed", NULL, LOCATE_parser, 17830);
48371 }
48372 /* parser/parser.nit:17831 */
48373 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);
48374 /* parser/parser.nit:17839 */
48375 fra.me.REG[2] = fra.me.REG[3];
48376 /* parser/parser.nit:17840 */
48377 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
48378 if (UNTAG_Bool(REGB0)) {
48379 } else {
48380 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17840);
48381 }
48382 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
48383 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48384 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
48385 stack_frame_head = fra.me.prev;
48386 return;
48387 }
48388 static const char LOCATE_parser___ReduceAction470___action[] = "parser::ReduceAction470::(parser::ReduceAction::action)";
48389 void parser___ReduceAction470___action(val_t p0, val_t p1){
48390 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
48391 val_t REGB0;
48392 val_t tmp;
48393 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48394 fra.me.file = LOCATE_parser;
48395 fra.me.line = 17845;
48396 fra.me.meth = LOCATE_parser___ReduceAction470___action;
48397 fra.me.has_broke = 0;
48398 fra.me.REG_size = 7;
48399 fra.me.nitni_local_ref_head = NULL;
48400 fra.me.REG[0] = NIT_NULL;
48401 fra.me.REG[1] = NIT_NULL;
48402 fra.me.REG[2] = NIT_NULL;
48403 fra.me.REG[3] = NIT_NULL;
48404 fra.me.REG[4] = NIT_NULL;
48405 fra.me.REG[5] = NIT_NULL;
48406 fra.me.REG[6] = NIT_NULL;
48407 fra.me.REG[0] = p0;
48408 fra.me.REG[1] = p1;
48409 /* parser/parser.nit:17847 */
48410 fra.me.REG[2] = NIT_NULL;
48411 /* parser/parser.nit:17848 */
48412 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48413 /* parser/parser.nit:17849 */
48414 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48415 /* parser/parser.nit:17850 */
48416 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48417 /* parser/parser.nit:17851 */
48418 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48419 /* parser/parser.nit:17852 */
48420 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
48421 /* parser/parser.nit:17854 */
48422 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*/;
48423 if (UNTAG_Bool(REGB0)) {
48424 } else {
48425 nit_abort("Assert failed", NULL, LOCATE_parser, 17854);
48426 }
48427 /* parser/parser.nit:17856 */
48428 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*/;
48429 if (UNTAG_Bool(REGB0)) {
48430 } else {
48431 nit_abort("Assert failed", NULL, LOCATE_parser, 17856);
48432 }
48433 /* parser/parser.nit:17858 */
48434 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*/;
48435 if (UNTAG_Bool(REGB0)) {
48436 } else {
48437 nit_abort("Assert failed", NULL, LOCATE_parser, 17858);
48438 }
48439 /* parser/parser.nit:17859 */
48440 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);
48441 /* parser/parser.nit:17867 */
48442 fra.me.REG[2] = fra.me.REG[3];
48443 /* parser/parser.nit:17868 */
48444 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
48445 if (UNTAG_Bool(REGB0)) {
48446 } else {
48447 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17868);
48448 }
48449 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
48450 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48451 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
48452 stack_frame_head = fra.me.prev;
48453 return;
48454 }
48455 static const char LOCATE_parser___ReduceAction471___action[] = "parser::ReduceAction471::(parser::ReduceAction::action)";
48456 void parser___ReduceAction471___action(val_t p0, val_t p1){
48457 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
48458 val_t REGB0;
48459 val_t tmp;
48460 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48461 fra.me.file = LOCATE_parser;
48462 fra.me.line = 17873;
48463 fra.me.meth = LOCATE_parser___ReduceAction471___action;
48464 fra.me.has_broke = 0;
48465 fra.me.REG_size = 8;
48466 fra.me.nitni_local_ref_head = NULL;
48467 fra.me.REG[0] = NIT_NULL;
48468 fra.me.REG[1] = NIT_NULL;
48469 fra.me.REG[2] = NIT_NULL;
48470 fra.me.REG[3] = NIT_NULL;
48471 fra.me.REG[4] = NIT_NULL;
48472 fra.me.REG[5] = NIT_NULL;
48473 fra.me.REG[6] = NIT_NULL;
48474 fra.me.REG[7] = NIT_NULL;
48475 fra.me.REG[0] = p0;
48476 fra.me.REG[1] = p1;
48477 /* parser/parser.nit:17875 */
48478 fra.me.REG[2] = NIT_NULL;
48479 /* parser/parser.nit:17876 */
48480 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48481 /* parser/parser.nit:17877 */
48482 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48483 /* parser/parser.nit:17878 */
48484 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48485 /* parser/parser.nit:17879 */
48486 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48487 /* parser/parser.nit:17880 */
48488 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48489 /* parser/parser.nit:17881 */
48490 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48491 /* parser/parser.nit:17882 */
48492 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48493 /* parser/parser.nit:17883 */
48494 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
48495 /* parser/parser.nit:17885 */
48496 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*/;
48497 if (UNTAG_Bool(REGB0)) {
48498 } else {
48499 nit_abort("Assert failed", NULL, LOCATE_parser, 17885);
48500 }
48501 /* parser/parser.nit:17887 */
48502 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*/;
48503 if (UNTAG_Bool(REGB0)) {
48504 } else {
48505 nit_abort("Assert failed", NULL, LOCATE_parser, 17887);
48506 }
48507 /* parser/parser.nit:17889 */
48508 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]*/;
48509 if (UNTAG_Bool(REGB0)) {
48510 } else {
48511 nit_abort("Assert failed", NULL, LOCATE_parser, 17889);
48512 }
48513 /* parser/parser.nit:17890 */
48514 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
48515 fra.me.REG[7] = fra.me.REG[4];
48516 /* parser/parser.nit:17892 */
48517 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*/;
48518 if (UNTAG_Bool(REGB0)) {
48519 } else {
48520 nit_abort("Assert failed", NULL, LOCATE_parser, 17892);
48521 }
48522 /* parser/parser.nit:17893 */
48523 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);
48524 /* parser/parser.nit:17901 */
48525 fra.me.REG[2] = fra.me.REG[3];
48526 /* parser/parser.nit:17902 */
48527 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
48528 if (UNTAG_Bool(REGB0)) {
48529 } else {
48530 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17902);
48531 }
48532 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
48533 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48534 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
48535 stack_frame_head = fra.me.prev;
48536 return;
48537 }
48538 static const char LOCATE_parser___ReduceAction472___action[] = "parser::ReduceAction472::(parser::ReduceAction::action)";
48539 void parser___ReduceAction472___action(val_t p0, val_t p1){
48540 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
48541 val_t REGB0;
48542 val_t tmp;
48543 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48544 fra.me.file = LOCATE_parser;
48545 fra.me.line = 17907;
48546 fra.me.meth = LOCATE_parser___ReduceAction472___action;
48547 fra.me.has_broke = 0;
48548 fra.me.REG_size = 8;
48549 fra.me.nitni_local_ref_head = NULL;
48550 fra.me.REG[0] = NIT_NULL;
48551 fra.me.REG[1] = NIT_NULL;
48552 fra.me.REG[2] = NIT_NULL;
48553 fra.me.REG[3] = NIT_NULL;
48554 fra.me.REG[4] = NIT_NULL;
48555 fra.me.REG[5] = NIT_NULL;
48556 fra.me.REG[6] = NIT_NULL;
48557 fra.me.REG[7] = NIT_NULL;
48558 fra.me.REG[0] = p0;
48559 fra.me.REG[1] = p1;
48560 /* parser/parser.nit:17909 */
48561 fra.me.REG[2] = NIT_NULL;
48562 /* parser/parser.nit:17910 */
48563 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48564 /* parser/parser.nit:17911 */
48565 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48566 /* parser/parser.nit:17912 */
48567 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48568 /* parser/parser.nit:17913 */
48569 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48570 /* parser/parser.nit:17914 */
48571 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48572 /* parser/parser.nit:17915 */
48573 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
48574 /* parser/parser.nit:17917 */
48575 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*/;
48576 if (UNTAG_Bool(REGB0)) {
48577 } else {
48578 nit_abort("Assert failed", NULL, LOCATE_parser, 17917);
48579 }
48580 /* parser/parser.nit:17919 */
48581 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*/;
48582 if (UNTAG_Bool(REGB0)) {
48583 } else {
48584 nit_abort("Assert failed", NULL, LOCATE_parser, 17919);
48585 }
48586 /* parser/parser.nit:17921 */
48587 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]*/;
48588 if (UNTAG_Bool(REGB0)) {
48589 } else {
48590 nit_abort("Assert failed", NULL, LOCATE_parser, 17921);
48591 }
48592 /* parser/parser.nit:17922 */
48593 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
48594 fra.me.REG[7] = fra.me.REG[4];
48595 /* parser/parser.nit:17924 */
48596 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*/;
48597 if (UNTAG_Bool(REGB0)) {
48598 } else {
48599 nit_abort("Assert failed", NULL, LOCATE_parser, 17924);
48600 }
48601 /* parser/parser.nit:17925 */
48602 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);
48603 /* parser/parser.nit:17933 */
48604 fra.me.REG[2] = fra.me.REG[3];
48605 /* parser/parser.nit:17934 */
48606 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
48607 if (UNTAG_Bool(REGB0)) {
48608 } else {
48609 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17934);
48610 }
48611 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
48612 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48613 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
48614 stack_frame_head = fra.me.prev;
48615 return;
48616 }
48617 static const char LOCATE_parser___ReduceAction473___action[] = "parser::ReduceAction473::(parser::ReduceAction::action)";
48618 void parser___ReduceAction473___action(val_t p0, val_t p1){
48619 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
48620 val_t REGB0;
48621 val_t tmp;
48622 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48623 fra.me.file = LOCATE_parser;
48624 fra.me.line = 17939;
48625 fra.me.meth = LOCATE_parser___ReduceAction473___action;
48626 fra.me.has_broke = 0;
48627 fra.me.REG_size = 4;
48628 fra.me.nitni_local_ref_head = NULL;
48629 fra.me.REG[0] = NIT_NULL;
48630 fra.me.REG[1] = NIT_NULL;
48631 fra.me.REG[2] = NIT_NULL;
48632 fra.me.REG[3] = NIT_NULL;
48633 fra.me.REG[0] = p0;
48634 fra.me.REG[1] = p1;
48635 /* parser/parser.nit:17941 */
48636 fra.me.REG[2] = NIT_NULL;
48637 /* parser/parser.nit:17942 */
48638 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48639 /* parser/parser.nit:17944 */
48640 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*/;
48641 if (UNTAG_Bool(REGB0)) {
48642 } else {
48643 nit_abort("Assert failed", NULL, LOCATE_parser, 17944);
48644 }
48645 /* parser/parser.nit:17945 */
48646 fra.me.REG[3] = NEW_ASimpleClosureId_parser___parser_prod___ASimpleClosureId___init_asimpleclosureid(fra.me.REG[3]);
48647 /* parser/parser.nit:17948 */
48648 fra.me.REG[2] = fra.me.REG[3];
48649 /* parser/parser.nit:17949 */
48650 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
48651 if (UNTAG_Bool(REGB0)) {
48652 } else {
48653 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17949);
48654 }
48655 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
48656 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48657 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
48658 stack_frame_head = fra.me.prev;
48659 return;
48660 }
48661 static const char LOCATE_parser___ReduceAction474___action[] = "parser::ReduceAction474::(parser::ReduceAction::action)";
48662 void parser___ReduceAction474___action(val_t p0, val_t p1){
48663 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
48664 val_t REGB0;
48665 val_t tmp;
48666 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48667 fra.me.file = LOCATE_parser;
48668 fra.me.line = 17954;
48669 fra.me.meth = LOCATE_parser___ReduceAction474___action;
48670 fra.me.has_broke = 0;
48671 fra.me.REG_size = 4;
48672 fra.me.nitni_local_ref_head = NULL;
48673 fra.me.REG[0] = NIT_NULL;
48674 fra.me.REG[1] = NIT_NULL;
48675 fra.me.REG[2] = NIT_NULL;
48676 fra.me.REG[3] = NIT_NULL;
48677 fra.me.REG[0] = p0;
48678 fra.me.REG[1] = p1;
48679 /* parser/parser.nit:17956 */
48680 fra.me.REG[2] = NIT_NULL;
48681 /* parser/parser.nit:17957 */
48682 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48683 /* parser/parser.nit:17959 */
48684 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*/;
48685 if (UNTAG_Bool(REGB0)) {
48686 } else {
48687 nit_abort("Assert failed", NULL, LOCATE_parser, 17959);
48688 }
48689 /* parser/parser.nit:17960 */
48690 fra.me.REG[3] = NEW_ABreakClosureId_parser___parser_prod___ABreakClosureId___init_abreakclosureid(fra.me.REG[3]);
48691 /* parser/parser.nit:17963 */
48692 fra.me.REG[2] = fra.me.REG[3];
48693 /* parser/parser.nit:17964 */
48694 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
48695 if (UNTAG_Bool(REGB0)) {
48696 } else {
48697 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17964);
48698 }
48699 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
48700 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48701 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
48702 stack_frame_head = fra.me.prev;
48703 return;
48704 }
48705 static const char LOCATE_parser___ReduceAction475___action[] = "parser::ReduceAction475::(parser::ReduceAction::action)";
48706 void parser___ReduceAction475___action(val_t p0, val_t p1){
48707 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
48708 val_t REGB0;
48709 val_t tmp;
48710 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48711 fra.me.file = LOCATE_parser;
48712 fra.me.line = 17969;
48713 fra.me.meth = LOCATE_parser___ReduceAction475___action;
48714 fra.me.has_broke = 0;
48715 fra.me.REG_size = 4;
48716 fra.me.nitni_local_ref_head = NULL;
48717 fra.me.REG[0] = NIT_NULL;
48718 fra.me.REG[1] = NIT_NULL;
48719 fra.me.REG[2] = NIT_NULL;
48720 fra.me.REG[3] = NIT_NULL;
48721 fra.me.REG[0] = p0;
48722 fra.me.REG[1] = p1;
48723 /* parser/parser.nit:17971 */
48724 fra.me.REG[2] = NIT_NULL;
48725 /* parser/parser.nit:17972 */
48726 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48727 /* parser/parser.nit:17974 */
48728 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
48729 if (UNTAG_Bool(REGB0)) {
48730 } else {
48731 nit_abort("Assert failed", NULL, LOCATE_parser, 17974);
48732 }
48733 /* parser/parser.nit:17975 */
48734 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(NIT_NULL, NIT_NULL, fra.me.REG[3]);
48735 /* parser/parser.nit:17980 */
48736 fra.me.REG[2] = fra.me.REG[3];
48737 /* parser/parser.nit:17981 */
48738 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
48739 if (UNTAG_Bool(REGB0)) {
48740 } else {
48741 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 17981);
48742 }
48743 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
48744 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48745 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
48746 stack_frame_head = fra.me.prev;
48747 return;
48748 }
48749 static const char LOCATE_parser___ReduceAction476___action[] = "parser::ReduceAction476::(parser::ReduceAction::action)";
48750 void parser___ReduceAction476___action(val_t p0, val_t p1){
48751 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
48752 val_t REGB0;
48753 val_t tmp;
48754 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48755 fra.me.file = LOCATE_parser;
48756 fra.me.line = 17986;
48757 fra.me.meth = LOCATE_parser___ReduceAction476___action;
48758 fra.me.has_broke = 0;
48759 fra.me.REG_size = 5;
48760 fra.me.nitni_local_ref_head = NULL;
48761 fra.me.REG[0] = NIT_NULL;
48762 fra.me.REG[1] = NIT_NULL;
48763 fra.me.REG[2] = NIT_NULL;
48764 fra.me.REG[3] = NIT_NULL;
48765 fra.me.REG[4] = NIT_NULL;
48766 fra.me.REG[0] = p0;
48767 fra.me.REG[1] = p1;
48768 /* parser/parser.nit:17988 */
48769 fra.me.REG[2] = NIT_NULL;
48770 /* parser/parser.nit:17989 */
48771 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48772 /* parser/parser.nit:17990 */
48773 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48774 /* parser/parser.nit:17992 */
48775 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*/;
48776 if (UNTAG_Bool(REGB0)) {
48777 } else {
48778 nit_abort("Assert failed", NULL, LOCATE_parser, 17992);
48779 }
48780 /* parser/parser.nit:17994 */
48781 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*/;
48782 if (UNTAG_Bool(REGB0)) {
48783 } else {
48784 nit_abort("Assert failed", NULL, LOCATE_parser, 17994);
48785 }
48786 /* parser/parser.nit:17995 */
48787 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, NIT_NULL);
48788 /* parser/parser.nit:18003 */
48789 fra.me.REG[2] = fra.me.REG[3];
48790 /* parser/parser.nit:18004 */
48791 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
48792 if (UNTAG_Bool(REGB0)) {
48793 } else {
48794 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18004);
48795 }
48796 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
48797 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48798 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
48799 stack_frame_head = fra.me.prev;
48800 return;
48801 }
48802 static const char LOCATE_parser___ReduceAction477___action[] = "parser::ReduceAction477::(parser::ReduceAction::action)";
48803 void parser___ReduceAction477___action(val_t p0, val_t p1){
48804 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
48805 val_t REGB0;
48806 val_t tmp;
48807 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48808 fra.me.file = LOCATE_parser;
48809 fra.me.line = 18009;
48810 fra.me.meth = LOCATE_parser___ReduceAction477___action;
48811 fra.me.has_broke = 0;
48812 fra.me.REG_size = 6;
48813 fra.me.nitni_local_ref_head = NULL;
48814 fra.me.REG[0] = NIT_NULL;
48815 fra.me.REG[1] = NIT_NULL;
48816 fra.me.REG[2] = NIT_NULL;
48817 fra.me.REG[3] = NIT_NULL;
48818 fra.me.REG[4] = NIT_NULL;
48819 fra.me.REG[5] = NIT_NULL;
48820 fra.me.REG[0] = p0;
48821 fra.me.REG[1] = p1;
48822 /* parser/parser.nit:18011 */
48823 fra.me.REG[2] = NIT_NULL;
48824 /* parser/parser.nit:18012 */
48825 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48826 /* parser/parser.nit:18013 */
48827 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48828 /* parser/parser.nit:18014 */
48829 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48830 /* parser/parser.nit:18016 */
48831 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*/;
48832 if (UNTAG_Bool(REGB0)) {
48833 } else {
48834 nit_abort("Assert failed", NULL, LOCATE_parser, 18016);
48835 }
48836 /* parser/parser.nit:18018 */
48837 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*/;
48838 if (UNTAG_Bool(REGB0)) {
48839 } else {
48840 nit_abort("Assert failed", NULL, LOCATE_parser, 18018);
48841 }
48842 /* parser/parser.nit:18020 */
48843 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
48844 if (UNTAG_Bool(REGB0)) {
48845 } else {
48846 nit_abort("Assert failed", NULL, LOCATE_parser, 18020);
48847 }
48848 /* parser/parser.nit:18021 */
48849 fra.me.REG[3] = NEW_AVardeclExpr_parser___parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[3]);
48850 /* parser/parser.nit:18029 */
48851 fra.me.REG[2] = fra.me.REG[3];
48852 /* parser/parser.nit:18030 */
48853 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
48854 if (UNTAG_Bool(REGB0)) {
48855 } else {
48856 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18030);
48857 }
48858 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
48859 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48860 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
48861 stack_frame_head = fra.me.prev;
48862 return;
48863 }
48864 static const char LOCATE_parser___ReduceAction478___action[] = "parser::ReduceAction478::(parser::ReduceAction::action)";
48865 void parser___ReduceAction478___action(val_t p0, val_t p1){
48866 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
48867 val_t REGB0;
48868 val_t tmp;
48869 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48870 fra.me.file = LOCATE_parser;
48871 fra.me.line = 18035;
48872 fra.me.meth = LOCATE_parser___ReduceAction478___action;
48873 fra.me.has_broke = 0;
48874 fra.me.REG_size = 6;
48875 fra.me.nitni_local_ref_head = NULL;
48876 fra.me.REG[0] = NIT_NULL;
48877 fra.me.REG[1] = NIT_NULL;
48878 fra.me.REG[2] = NIT_NULL;
48879 fra.me.REG[3] = NIT_NULL;
48880 fra.me.REG[4] = NIT_NULL;
48881 fra.me.REG[5] = NIT_NULL;
48882 fra.me.REG[0] = p0;
48883 fra.me.REG[1] = p1;
48884 /* parser/parser.nit:18037 */
48885 fra.me.REG[2] = NIT_NULL;
48886 /* parser/parser.nit:18038 */
48887 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48888 /* parser/parser.nit:18039 */
48889 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48890 /* parser/parser.nit:18040 */
48891 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48892 /* parser/parser.nit:18042 */
48893 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*/;
48894 if (UNTAG_Bool(REGB0)) {
48895 } else {
48896 nit_abort("Assert failed", NULL, LOCATE_parser, 18042);
48897 }
48898 /* parser/parser.nit:18044 */
48899 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*/;
48900 if (UNTAG_Bool(REGB0)) {
48901 } else {
48902 nit_abort("Assert failed", NULL, LOCATE_parser, 18044);
48903 }
48904 /* parser/parser.nit:18046 */
48905 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*/;
48906 if (UNTAG_Bool(REGB0)) {
48907 } else {
48908 nit_abort("Assert failed", NULL, LOCATE_parser, 18046);
48909 }
48910 /* parser/parser.nit:18047 */
48911 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, NIT_NULL);
48912 /* parser/parser.nit:18055 */
48913 fra.me.REG[2] = fra.me.REG[3];
48914 /* parser/parser.nit:18056 */
48915 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
48916 if (UNTAG_Bool(REGB0)) {
48917 } else {
48918 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18056);
48919 }
48920 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
48921 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48922 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
48923 stack_frame_head = fra.me.prev;
48924 return;
48925 }
48926 static const char LOCATE_parser___ReduceAction479___action[] = "parser::ReduceAction479::(parser::ReduceAction::action)";
48927 void parser___ReduceAction479___action(val_t p0, val_t p1){
48928 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
48929 val_t REGB0;
48930 val_t tmp;
48931 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48932 fra.me.file = LOCATE_parser;
48933 fra.me.line = 18061;
48934 fra.me.meth = LOCATE_parser___ReduceAction479___action;
48935 fra.me.has_broke = 0;
48936 fra.me.REG_size = 7;
48937 fra.me.nitni_local_ref_head = NULL;
48938 fra.me.REG[0] = NIT_NULL;
48939 fra.me.REG[1] = NIT_NULL;
48940 fra.me.REG[2] = NIT_NULL;
48941 fra.me.REG[3] = NIT_NULL;
48942 fra.me.REG[4] = NIT_NULL;
48943 fra.me.REG[5] = NIT_NULL;
48944 fra.me.REG[6] = NIT_NULL;
48945 fra.me.REG[0] = p0;
48946 fra.me.REG[1] = p1;
48947 /* parser/parser.nit:18063 */
48948 fra.me.REG[2] = NIT_NULL;
48949 /* parser/parser.nit:18064 */
48950 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48951 /* parser/parser.nit:18065 */
48952 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48953 /* parser/parser.nit:18066 */
48954 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48955 /* parser/parser.nit:18067 */
48956 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48957 /* parser/parser.nit:18069 */
48958 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*/;
48959 if (UNTAG_Bool(REGB0)) {
48960 } else {
48961 nit_abort("Assert failed", NULL, LOCATE_parser, 18069);
48962 }
48963 /* parser/parser.nit:18071 */
48964 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*/;
48965 if (UNTAG_Bool(REGB0)) {
48966 } else {
48967 nit_abort("Assert failed", NULL, LOCATE_parser, 18071);
48968 }
48969 /* parser/parser.nit:18073 */
48970 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*/;
48971 if (UNTAG_Bool(REGB0)) {
48972 } else {
48973 nit_abort("Assert failed", NULL, LOCATE_parser, 18073);
48974 }
48975 /* parser/parser.nit:18075 */
48976 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
48977 if (UNTAG_Bool(REGB0)) {
48978 } else {
48979 nit_abort("Assert failed", NULL, LOCATE_parser, 18075);
48980 }
48981 /* parser/parser.nit:18076 */
48982 fra.me.REG[4] = NEW_AVardeclExpr_parser___parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], NIT_NULL, NIT_NULL, fra.me.REG[4]);
48983 /* parser/parser.nit:18084 */
48984 fra.me.REG[2] = fra.me.REG[4];
48985 /* parser/parser.nit:18085 */
48986 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
48987 if (UNTAG_Bool(REGB0)) {
48988 } else {
48989 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18085);
48990 }
48991 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
48992 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48993 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
48994 stack_frame_head = fra.me.prev;
48995 return;
48996 }
48997 static const char LOCATE_parser___ReduceAction480___action[] = "parser::ReduceAction480::(parser::ReduceAction::action)";
48998 void parser___ReduceAction480___action(val_t p0, val_t p1){
48999 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
49000 val_t REGB0;
49001 val_t tmp;
49002 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49003 fra.me.file = LOCATE_parser;
49004 fra.me.line = 18090;
49005 fra.me.meth = LOCATE_parser___ReduceAction480___action;
49006 fra.me.has_broke = 0;
49007 fra.me.REG_size = 7;
49008 fra.me.nitni_local_ref_head = NULL;
49009 fra.me.REG[0] = NIT_NULL;
49010 fra.me.REG[1] = NIT_NULL;
49011 fra.me.REG[2] = NIT_NULL;
49012 fra.me.REG[3] = NIT_NULL;
49013 fra.me.REG[4] = NIT_NULL;
49014 fra.me.REG[5] = NIT_NULL;
49015 fra.me.REG[6] = NIT_NULL;
49016 fra.me.REG[0] = p0;
49017 fra.me.REG[1] = p1;
49018 /* parser/parser.nit:18092 */
49019 fra.me.REG[2] = NIT_NULL;
49020 /* parser/parser.nit:18093 */
49021 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49022 /* parser/parser.nit:18094 */
49023 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49024 /* parser/parser.nit:18095 */
49025 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49026 /* parser/parser.nit:18096 */
49027 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49028 /* parser/parser.nit:18097 */
49029 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49030 /* parser/parser.nit:18099 */
49031 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*/;
49032 if (UNTAG_Bool(REGB0)) {
49033 } else {
49034 nit_abort("Assert failed", NULL, LOCATE_parser, 18099);
49035 }
49036 /* parser/parser.nit:18101 */
49037 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*/;
49038 if (UNTAG_Bool(REGB0)) {
49039 } else {
49040 nit_abort("Assert failed", NULL, LOCATE_parser, 18101);
49041 }
49042 /* parser/parser.nit:18103 */
49043 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*/;
49044 if (UNTAG_Bool(REGB0)) {
49045 } else {
49046 nit_abort("Assert failed", NULL, LOCATE_parser, 18103);
49047 }
49048 /* parser/parser.nit:18105 */
49049 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
49050 if (UNTAG_Bool(REGB0)) {
49051 } else {
49052 nit_abort("Assert failed", NULL, LOCATE_parser, 18105);
49053 }
49054 /* parser/parser.nit:18106 */
49055 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], NIT_NULL);
49056 /* parser/parser.nit:18114 */
49057 fra.me.REG[2] = fra.me.REG[3];
49058 /* parser/parser.nit:18115 */
49059 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
49060 if (UNTAG_Bool(REGB0)) {
49061 } else {
49062 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18115);
49063 }
49064 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
49065 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49066 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
49067 stack_frame_head = fra.me.prev;
49068 return;
49069 }
49070 static const char LOCATE_parser___ReduceAction481___action[] = "parser::ReduceAction481::(parser::ReduceAction::action)";
49071 void parser___ReduceAction481___action(val_t p0, val_t p1){
49072 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
49073 val_t REGB0;
49074 val_t tmp;
49075 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49076 fra.me.file = LOCATE_parser;
49077 fra.me.line = 18120;
49078 fra.me.meth = LOCATE_parser___ReduceAction481___action;
49079 fra.me.has_broke = 0;
49080 fra.me.REG_size = 8;
49081 fra.me.nitni_local_ref_head = NULL;
49082 fra.me.REG[0] = NIT_NULL;
49083 fra.me.REG[1] = NIT_NULL;
49084 fra.me.REG[2] = NIT_NULL;
49085 fra.me.REG[3] = NIT_NULL;
49086 fra.me.REG[4] = NIT_NULL;
49087 fra.me.REG[5] = NIT_NULL;
49088 fra.me.REG[6] = NIT_NULL;
49089 fra.me.REG[7] = NIT_NULL;
49090 fra.me.REG[0] = p0;
49091 fra.me.REG[1] = p1;
49092 /* parser/parser.nit:18122 */
49093 fra.me.REG[2] = NIT_NULL;
49094 /* parser/parser.nit:18123 */
49095 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49096 /* parser/parser.nit:18124 */
49097 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49098 /* parser/parser.nit:18125 */
49099 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49100 /* parser/parser.nit:18126 */
49101 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49102 /* parser/parser.nit:18127 */
49103 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49104 /* parser/parser.nit:18128 */
49105 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49106 /* parser/parser.nit:18130 */
49107 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*/;
49108 if (UNTAG_Bool(REGB0)) {
49109 } else {
49110 nit_abort("Assert failed", NULL, LOCATE_parser, 18130);
49111 }
49112 /* parser/parser.nit:18132 */
49113 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*/;
49114 if (UNTAG_Bool(REGB0)) {
49115 } else {
49116 nit_abort("Assert failed", NULL, LOCATE_parser, 18132);
49117 }
49118 /* parser/parser.nit:18134 */
49119 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*/;
49120 if (UNTAG_Bool(REGB0)) {
49121 } else {
49122 nit_abort("Assert failed", NULL, LOCATE_parser, 18134);
49123 }
49124 /* parser/parser.nit:18136 */
49125 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
49126 if (UNTAG_Bool(REGB0)) {
49127 } else {
49128 nit_abort("Assert failed", NULL, LOCATE_parser, 18136);
49129 }
49130 /* parser/parser.nit:18138 */
49131 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
49132 if (UNTAG_Bool(REGB0)) {
49133 } else {
49134 nit_abort("Assert failed", NULL, LOCATE_parser, 18138);
49135 }
49136 /* parser/parser.nit:18139 */
49137 fra.me.REG[5] = NEW_AVardeclExpr_parser___parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
49138 /* parser/parser.nit:18147 */
49139 fra.me.REG[2] = fra.me.REG[5];
49140 /* parser/parser.nit:18148 */
49141 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
49142 if (UNTAG_Bool(REGB0)) {
49143 } else {
49144 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18148);
49145 }
49146 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
49147 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49148 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
49149 stack_frame_head = fra.me.prev;
49150 return;
49151 }
49152 static const char LOCATE_parser___ReduceAction482___action[] = "parser::ReduceAction482::(parser::ReduceAction::action)";
49153 void parser___ReduceAction482___action(val_t p0, val_t p1){
49154 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
49155 val_t REGB0;
49156 val_t tmp;
49157 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49158 fra.me.file = LOCATE_parser;
49159 fra.me.line = 18153;
49160 fra.me.meth = LOCATE_parser___ReduceAction482___action;
49161 fra.me.has_broke = 0;
49162 fra.me.REG_size = 8;
49163 fra.me.nitni_local_ref_head = NULL;
49164 fra.me.REG[0] = NIT_NULL;
49165 fra.me.REG[1] = NIT_NULL;
49166 fra.me.REG[2] = NIT_NULL;
49167 fra.me.REG[3] = NIT_NULL;
49168 fra.me.REG[4] = NIT_NULL;
49169 fra.me.REG[5] = NIT_NULL;
49170 fra.me.REG[6] = NIT_NULL;
49171 fra.me.REG[7] = NIT_NULL;
49172 fra.me.REG[0] = p0;
49173 fra.me.REG[1] = p1;
49174 /* parser/parser.nit:18155 */
49175 fra.me.REG[2] = NIT_NULL;
49176 /* parser/parser.nit:18156 */
49177 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49178 /* parser/parser.nit:18157 */
49179 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49180 /* parser/parser.nit:18158 */
49181 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49182 /* parser/parser.nit:18159 */
49183 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49184 /* parser/parser.nit:18160 */
49185 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49186 /* parser/parser.nit:18161 */
49187 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49188 /* parser/parser.nit:18163 */
49189 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*/;
49190 if (UNTAG_Bool(REGB0)) {
49191 } else {
49192 nit_abort("Assert failed", NULL, LOCATE_parser, 18163);
49193 }
49194 /* parser/parser.nit:18165 */
49195 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*/;
49196 if (UNTAG_Bool(REGB0)) {
49197 } else {
49198 nit_abort("Assert failed", NULL, LOCATE_parser, 18165);
49199 }
49200 /* parser/parser.nit:18167 */
49201 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*/;
49202 if (UNTAG_Bool(REGB0)) {
49203 } else {
49204 nit_abort("Assert failed", NULL, LOCATE_parser, 18167);
49205 }
49206 /* parser/parser.nit:18169 */
49207 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*/;
49208 if (UNTAG_Bool(REGB0)) {
49209 } else {
49210 nit_abort("Assert failed", NULL, LOCATE_parser, 18169);
49211 }
49212 /* parser/parser.nit:18171 */
49213 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
49214 if (UNTAG_Bool(REGB0)) {
49215 } else {
49216 nit_abort("Assert failed", NULL, LOCATE_parser, 18171);
49217 }
49218 /* parser/parser.nit:18172 */
49219 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], NIT_NULL);
49220 /* parser/parser.nit:18180 */
49221 fra.me.REG[2] = fra.me.REG[3];
49222 /* parser/parser.nit:18181 */
49223 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
49224 if (UNTAG_Bool(REGB0)) {
49225 } else {
49226 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18181);
49227 }
49228 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
49229 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49230 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
49231 stack_frame_head = fra.me.prev;
49232 return;
49233 }
49234 static const char LOCATE_parser___ReduceAction483___action[] = "parser::ReduceAction483::(parser::ReduceAction::action)";
49235 void parser___ReduceAction483___action(val_t p0, val_t p1){
49236 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
49237 val_t REGB0;
49238 val_t tmp;
49239 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49240 fra.me.file = LOCATE_parser;
49241 fra.me.line = 18186;
49242 fra.me.meth = LOCATE_parser___ReduceAction483___action;
49243 fra.me.has_broke = 0;
49244 fra.me.REG_size = 9;
49245 fra.me.nitni_local_ref_head = NULL;
49246 fra.me.REG[0] = NIT_NULL;
49247 fra.me.REG[1] = NIT_NULL;
49248 fra.me.REG[2] = NIT_NULL;
49249 fra.me.REG[3] = NIT_NULL;
49250 fra.me.REG[4] = NIT_NULL;
49251 fra.me.REG[5] = NIT_NULL;
49252 fra.me.REG[6] = NIT_NULL;
49253 fra.me.REG[7] = NIT_NULL;
49254 fra.me.REG[8] = NIT_NULL;
49255 fra.me.REG[0] = p0;
49256 fra.me.REG[1] = p1;
49257 /* parser/parser.nit:18188 */
49258 fra.me.REG[2] = NIT_NULL;
49259 /* parser/parser.nit:18189 */
49260 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49261 /* parser/parser.nit:18190 */
49262 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49263 /* parser/parser.nit:18191 */
49264 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49265 /* parser/parser.nit:18192 */
49266 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49267 /* parser/parser.nit:18193 */
49268 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49269 /* parser/parser.nit:18194 */
49270 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49271 /* parser/parser.nit:18195 */
49272 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49273 /* parser/parser.nit:18197 */
49274 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
49275 if (UNTAG_Bool(REGB0)) {
49276 } else {
49277 nit_abort("Assert failed", NULL, LOCATE_parser, 18197);
49278 }
49279 /* parser/parser.nit:18199 */
49280 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
49281 if (UNTAG_Bool(REGB0)) {
49282 } else {
49283 nit_abort("Assert failed", NULL, LOCATE_parser, 18199);
49284 }
49285 /* parser/parser.nit:18201 */
49286 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*/;
49287 if (UNTAG_Bool(REGB0)) {
49288 } else {
49289 nit_abort("Assert failed", NULL, LOCATE_parser, 18201);
49290 }
49291 /* parser/parser.nit:18203 */
49292 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*/;
49293 if (UNTAG_Bool(REGB0)) {
49294 } else {
49295 nit_abort("Assert failed", NULL, LOCATE_parser, 18203);
49296 }
49297 /* parser/parser.nit:18205 */
49298 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
49299 if (UNTAG_Bool(REGB0)) {
49300 } else {
49301 nit_abort("Assert failed", NULL, LOCATE_parser, 18205);
49302 }
49303 /* parser/parser.nit:18207 */
49304 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
49305 if (UNTAG_Bool(REGB0)) {
49306 } else {
49307 nit_abort("Assert failed", NULL, LOCATE_parser, 18207);
49308 }
49309 /* parser/parser.nit:18208 */
49310 fra.me.REG[6] = NEW_AVardeclExpr_parser___parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[8], fra.me.REG[7], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6]);
49311 /* parser/parser.nit:18216 */
49312 fra.me.REG[2] = fra.me.REG[6];
49313 /* parser/parser.nit:18217 */
49314 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
49315 if (UNTAG_Bool(REGB0)) {
49316 } else {
49317 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18217);
49318 }
49319 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
49320 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49321 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
49322 stack_frame_head = fra.me.prev;
49323 return;
49324 }
49325 static const char LOCATE_parser___ReduceAction484___action[] = "parser::ReduceAction484::(parser::ReduceAction::action)";
49326 void parser___ReduceAction484___action(val_t p0, val_t p1){
49327 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
49328 val_t REGB0;
49329 val_t tmp;
49330 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49331 fra.me.file = LOCATE_parser;
49332 fra.me.line = 18222;
49333 fra.me.meth = LOCATE_parser___ReduceAction484___action;
49334 fra.me.has_broke = 0;
49335 fra.me.REG_size = 7;
49336 fra.me.nitni_local_ref_head = NULL;
49337 fra.me.REG[0] = NIT_NULL;
49338 fra.me.REG[1] = NIT_NULL;
49339 fra.me.REG[2] = NIT_NULL;
49340 fra.me.REG[3] = NIT_NULL;
49341 fra.me.REG[4] = NIT_NULL;
49342 fra.me.REG[5] = NIT_NULL;
49343 fra.me.REG[6] = NIT_NULL;
49344 fra.me.REG[0] = p0;
49345 fra.me.REG[1] = p1;
49346 /* parser/parser.nit:18224 */
49347 fra.me.REG[2] = NIT_NULL;
49348 /* parser/parser.nit:18225 */
49349 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49350 /* parser/parser.nit:18226 */
49351 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49352 /* parser/parser.nit:18227 */
49353 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49354 /* parser/parser.nit:18228 */
49355 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49356 /* parser/parser.nit:18229 */
49357 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49358 /* parser/parser.nit:18230 */
49359 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49360 /* parser/parser.nit:18232 */
49361 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*/;
49362 if (UNTAG_Bool(REGB0)) {
49363 } else {
49364 nit_abort("Assert failed", NULL, LOCATE_parser, 18232);
49365 }
49366 /* parser/parser.nit:18234 */
49367 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*/;
49368 if (UNTAG_Bool(REGB0)) {
49369 } else {
49370 nit_abort("Assert failed", NULL, LOCATE_parser, 18234);
49371 }
49372 /* parser/parser.nit:18236 */
49373 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*/;
49374 if (UNTAG_Bool(REGB0)) {
49375 } else {
49376 nit_abort("Assert failed", NULL, LOCATE_parser, 18236);
49377 }
49378 /* parser/parser.nit:18238 */
49379 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
49380 if (UNTAG_Bool(REGB0)) {
49381 } else {
49382 nit_abort("Assert failed", NULL, LOCATE_parser, 18238);
49383 }
49384 /* parser/parser.nit:18239 */
49385 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]);
49386 /* parser/parser.nit:18245 */
49387 fra.me.REG[2] = fra.me.REG[3];
49388 /* parser/parser.nit:18246 */
49389 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
49390 if (UNTAG_Bool(REGB0)) {
49391 } else {
49392 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18246);
49393 }
49394 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
49395 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49396 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
49397 stack_frame_head = fra.me.prev;
49398 return;
49399 }
49400 static const char LOCATE_parser___ReduceAction485___action[] = "parser::ReduceAction485::(parser::ReduceAction::action)";
49401 void parser___ReduceAction485___action(val_t p0, val_t p1){
49402 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
49403 val_t REGB0;
49404 val_t tmp;
49405 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49406 fra.me.file = LOCATE_parser;
49407 fra.me.line = 18251;
49408 fra.me.meth = LOCATE_parser___ReduceAction485___action;
49409 fra.me.has_broke = 0;
49410 fra.me.REG_size = 7;
49411 fra.me.nitni_local_ref_head = NULL;
49412 fra.me.REG[0] = NIT_NULL;
49413 fra.me.REG[1] = NIT_NULL;
49414 fra.me.REG[2] = NIT_NULL;
49415 fra.me.REG[3] = NIT_NULL;
49416 fra.me.REG[4] = NIT_NULL;
49417 fra.me.REG[5] = NIT_NULL;
49418 fra.me.REG[6] = NIT_NULL;
49419 fra.me.REG[0] = p0;
49420 fra.me.REG[1] = p1;
49421 /* parser/parser.nit:18253 */
49422 fra.me.REG[2] = NIT_NULL;
49423 /* parser/parser.nit:18254 */
49424 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49425 /* parser/parser.nit:18255 */
49426 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49427 /* parser/parser.nit:18256 */
49428 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49429 /* parser/parser.nit:18257 */
49430 fra.me.REG[6] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
49431 /* parser/parser.nit:18259 */
49432 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*/;
49433 if (UNTAG_Bool(REGB0)) {
49434 } else {
49435 nit_abort("Assert failed", NULL, LOCATE_parser, 18259);
49436 }
49437 /* parser/parser.nit:18261 */
49438 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*/;
49439 if (UNTAG_Bool(REGB0)) {
49440 } else {
49441 nit_abort("Assert failed", NULL, LOCATE_parser, 18261);
49442 }
49443 /* parser/parser.nit:18263 */
49444 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
49445 if (UNTAG_Bool(REGB0)) {
49446 } else {
49447 nit_abort("Assert failed", NULL, LOCATE_parser, 18263);
49448 }
49449 /* parser/parser.nit:18264 */
49450 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]);
49451 /* parser/parser.nit:18270 */
49452 fra.me.REG[2] = fra.me.REG[3];
49453 /* parser/parser.nit:18271 */
49454 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
49455 if (UNTAG_Bool(REGB0)) {
49456 } else {
49457 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18271);
49458 }
49459 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
49460 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49461 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
49462 stack_frame_head = fra.me.prev;
49463 return;
49464 }
49465 static const char LOCATE_parser___ReduceAction486___action[] = "parser::ReduceAction486::(parser::ReduceAction::action)";
49466 void parser___ReduceAction486___action(val_t p0, val_t p1){
49467 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
49468 val_t REGB0;
49469 val_t tmp;
49470 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49471 fra.me.file = LOCATE_parser;
49472 fra.me.line = 18276;
49473 fra.me.meth = LOCATE_parser___ReduceAction486___action;
49474 fra.me.has_broke = 0;
49475 fra.me.REG_size = 8;
49476 fra.me.nitni_local_ref_head = NULL;
49477 fra.me.REG[0] = NIT_NULL;
49478 fra.me.REG[1] = NIT_NULL;
49479 fra.me.REG[2] = NIT_NULL;
49480 fra.me.REG[3] = NIT_NULL;
49481 fra.me.REG[4] = NIT_NULL;
49482 fra.me.REG[5] = NIT_NULL;
49483 fra.me.REG[6] = NIT_NULL;
49484 fra.me.REG[7] = NIT_NULL;
49485 fra.me.REG[0] = p0;
49486 fra.me.REG[1] = p1;
49487 /* parser/parser.nit:18278 */
49488 fra.me.REG[2] = NIT_NULL;
49489 /* parser/parser.nit:18279 */
49490 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49491 /* parser/parser.nit:18280 */
49492 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49493 /* parser/parser.nit:18281 */
49494 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49495 /* parser/parser.nit:18282 */
49496 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49497 /* parser/parser.nit:18283 */
49498 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49499 /* parser/parser.nit:18284 */
49500 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49501 /* parser/parser.nit:18285 */
49502 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49503 /* parser/parser.nit:18287 */
49504 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*/;
49505 if (UNTAG_Bool(REGB0)) {
49506 } else {
49507 nit_abort("Assert failed", NULL, LOCATE_parser, 18287);
49508 }
49509 /* parser/parser.nit:18289 */
49510 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*/;
49511 if (UNTAG_Bool(REGB0)) {
49512 } else {
49513 nit_abort("Assert failed", NULL, LOCATE_parser, 18289);
49514 }
49515 /* parser/parser.nit:18291 */
49516 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*/;
49517 if (UNTAG_Bool(REGB0)) {
49518 } else {
49519 nit_abort("Assert failed", NULL, LOCATE_parser, 18291);
49520 }
49521 /* parser/parser.nit:18293 */
49522 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*/;
49523 if (UNTAG_Bool(REGB0)) {
49524 } else {
49525 nit_abort("Assert failed", NULL, LOCATE_parser, 18293);
49526 }
49527 /* parser/parser.nit:18295 */
49528 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
49529 if (UNTAG_Bool(REGB0)) {
49530 } else {
49531 nit_abort("Assert failed", NULL, LOCATE_parser, 18295);
49532 }
49533 /* parser/parser.nit:18296 */
49534 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]);
49535 /* parser/parser.nit:18303 */
49536 fra.me.REG[2] = fra.me.REG[3];
49537 /* parser/parser.nit:18304 */
49538 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
49539 if (UNTAG_Bool(REGB0)) {
49540 } else {
49541 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18304);
49542 }
49543 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
49544 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49545 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
49546 stack_frame_head = fra.me.prev;
49547 return;
49548 }
49549 static const char LOCATE_parser___ReduceAction487___action[] = "parser::ReduceAction487::(parser::ReduceAction::action)";
49550 void parser___ReduceAction487___action(val_t p0, val_t p1){
49551 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
49552 val_t REGB0;
49553 val_t tmp;
49554 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49555 fra.me.file = LOCATE_parser;
49556 fra.me.line = 18309;
49557 fra.me.meth = LOCATE_parser___ReduceAction487___action;
49558 fra.me.has_broke = 0;
49559 fra.me.REG_size = 8;
49560 fra.me.nitni_local_ref_head = NULL;
49561 fra.me.REG[0] = NIT_NULL;
49562 fra.me.REG[1] = NIT_NULL;
49563 fra.me.REG[2] = NIT_NULL;
49564 fra.me.REG[3] = NIT_NULL;
49565 fra.me.REG[4] = NIT_NULL;
49566 fra.me.REG[5] = NIT_NULL;
49567 fra.me.REG[6] = NIT_NULL;
49568 fra.me.REG[7] = NIT_NULL;
49569 fra.me.REG[0] = p0;
49570 fra.me.REG[1] = p1;
49571 /* parser/parser.nit:18311 */
49572 fra.me.REG[2] = NIT_NULL;
49573 /* parser/parser.nit:18312 */
49574 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49575 /* parser/parser.nit:18313 */
49576 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49577 /* parser/parser.nit:18314 */
49578 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49579 /* parser/parser.nit:18315 */
49580 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49581 /* parser/parser.nit:18316 */
49582 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
49583 /* parser/parser.nit:18318 */
49584 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*/;
49585 if (UNTAG_Bool(REGB0)) {
49586 } else {
49587 nit_abort("Assert failed", NULL, LOCATE_parser, 18318);
49588 }
49589 /* parser/parser.nit:18320 */
49590 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*/;
49591 if (UNTAG_Bool(REGB0)) {
49592 } else {
49593 nit_abort("Assert failed", NULL, LOCATE_parser, 18320);
49594 }
49595 /* parser/parser.nit:18322 */
49596 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*/;
49597 if (UNTAG_Bool(REGB0)) {
49598 } else {
49599 nit_abort("Assert failed", NULL, LOCATE_parser, 18322);
49600 }
49601 /* parser/parser.nit:18324 */
49602 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
49603 if (UNTAG_Bool(REGB0)) {
49604 } else {
49605 nit_abort("Assert failed", NULL, LOCATE_parser, 18324);
49606 }
49607 /* parser/parser.nit:18325 */
49608 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]);
49609 /* parser/parser.nit:18332 */
49610 fra.me.REG[2] = fra.me.REG[3];
49611 /* parser/parser.nit:18333 */
49612 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
49613 if (UNTAG_Bool(REGB0)) {
49614 } else {
49615 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18333);
49616 }
49617 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
49618 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49619 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
49620 stack_frame_head = fra.me.prev;
49621 return;
49622 }
49623 static const char LOCATE_parser___ReduceAction488___action[] = "parser::ReduceAction488::(parser::ReduceAction::action)";
49624 void parser___ReduceAction488___action(val_t p0, val_t p1){
49625 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
49626 val_t REGB0;
49627 val_t tmp;
49628 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49629 fra.me.file = LOCATE_parser;
49630 fra.me.line = 18338;
49631 fra.me.meth = LOCATE_parser___ReduceAction488___action;
49632 fra.me.has_broke = 0;
49633 fra.me.REG_size = 7;
49634 fra.me.nitni_local_ref_head = NULL;
49635 fra.me.REG[0] = NIT_NULL;
49636 fra.me.REG[1] = NIT_NULL;
49637 fra.me.REG[2] = NIT_NULL;
49638 fra.me.REG[3] = NIT_NULL;
49639 fra.me.REG[4] = NIT_NULL;
49640 fra.me.REG[5] = NIT_NULL;
49641 fra.me.REG[6] = NIT_NULL;
49642 fra.me.REG[0] = p0;
49643 fra.me.REG[1] = p1;
49644 /* parser/parser.nit:18340 */
49645 fra.me.REG[2] = NIT_NULL;
49646 /* parser/parser.nit:18341 */
49647 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49648 /* parser/parser.nit:18342 */
49649 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49650 /* parser/parser.nit:18343 */
49651 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49652 /* parser/parser.nit:18344 */
49653 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49654 /* parser/parser.nit:18346 */
49655 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*/;
49656 if (UNTAG_Bool(REGB0)) {
49657 } else {
49658 nit_abort("Assert failed", NULL, LOCATE_parser, 18346);
49659 }
49660 /* parser/parser.nit:18348 */
49661 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*/;
49662 if (UNTAG_Bool(REGB0)) {
49663 } else {
49664 nit_abort("Assert failed", NULL, LOCATE_parser, 18348);
49665 }
49666 /* parser/parser.nit:18350 */
49667 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*/;
49668 if (UNTAG_Bool(REGB0)) {
49669 } else {
49670 nit_abort("Assert failed", NULL, LOCATE_parser, 18350);
49671 }
49672 /* parser/parser.nit:18352 */
49673 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
49674 if (UNTAG_Bool(REGB0)) {
49675 } else {
49676 nit_abort("Assert failed", NULL, LOCATE_parser, 18352);
49677 }
49678 /* parser/parser.nit:18353 */
49679 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]);
49680 /* parser/parser.nit:18359 */
49681 fra.me.REG[2] = fra.me.REG[3];
49682 /* parser/parser.nit:18360 */
49683 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
49684 if (UNTAG_Bool(REGB0)) {
49685 } else {
49686 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18360);
49687 }
49688 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
49689 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49690 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
49691 stack_frame_head = fra.me.prev;
49692 return;
49693 }
49694 static const char LOCATE_parser___ReduceAction489___action[] = "parser::ReduceAction489::(parser::ReduceAction::action)";
49695 void parser___ReduceAction489___action(val_t p0, val_t p1){
49696 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
49697 val_t REGB0;
49698 val_t tmp;
49699 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49700 fra.me.file = LOCATE_parser;
49701 fra.me.line = 18365;
49702 fra.me.meth = LOCATE_parser___ReduceAction489___action;
49703 fra.me.has_broke = 0;
49704 fra.me.REG_size = 7;
49705 fra.me.nitni_local_ref_head = NULL;
49706 fra.me.REG[0] = NIT_NULL;
49707 fra.me.REG[1] = NIT_NULL;
49708 fra.me.REG[2] = NIT_NULL;
49709 fra.me.REG[3] = NIT_NULL;
49710 fra.me.REG[4] = NIT_NULL;
49711 fra.me.REG[5] = NIT_NULL;
49712 fra.me.REG[6] = NIT_NULL;
49713 fra.me.REG[0] = p0;
49714 fra.me.REG[1] = p1;
49715 /* parser/parser.nit:18367 */
49716 fra.me.REG[2] = NIT_NULL;
49717 /* parser/parser.nit:18368 */
49718 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49719 /* parser/parser.nit:18369 */
49720 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49721 /* parser/parser.nit:18370 */
49722 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49723 /* parser/parser.nit:18371 */
49724 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49725 /* parser/parser.nit:18372 */
49726 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49727 /* parser/parser.nit:18373 */
49728 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49729 /* parser/parser.nit:18375 */
49730 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*/;
49731 if (UNTAG_Bool(REGB0)) {
49732 } else {
49733 nit_abort("Assert failed", NULL, LOCATE_parser, 18375);
49734 }
49735 /* parser/parser.nit:18377 */
49736 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*/;
49737 if (UNTAG_Bool(REGB0)) {
49738 } else {
49739 nit_abort("Assert failed", NULL, LOCATE_parser, 18377);
49740 }
49741 /* parser/parser.nit:18379 */
49742 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*/;
49743 if (UNTAG_Bool(REGB0)) {
49744 } else {
49745 nit_abort("Assert failed", NULL, LOCATE_parser, 18379);
49746 }
49747 /* parser/parser.nit:18381 */
49748 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
49749 if (UNTAG_Bool(REGB0)) {
49750 } else {
49751 nit_abort("Assert failed", NULL, LOCATE_parser, 18381);
49752 }
49753 /* parser/parser.nit:18382 */
49754 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]);
49755 /* parser/parser.nit:18388 */
49756 fra.me.REG[2] = fra.me.REG[3];
49757 /* parser/parser.nit:18389 */
49758 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
49759 if (UNTAG_Bool(REGB0)) {
49760 } else {
49761 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18389);
49762 }
49763 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
49764 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49765 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
49766 stack_frame_head = fra.me.prev;
49767 return;
49768 }
49769 static const char LOCATE_parser___ReduceAction490___action[] = "parser::ReduceAction490::(parser::ReduceAction::action)";
49770 void parser___ReduceAction490___action(val_t p0, val_t p1){
49771 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
49772 val_t REGB0;
49773 val_t tmp;
49774 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49775 fra.me.file = LOCATE_parser;
49776 fra.me.line = 18394;
49777 fra.me.meth = LOCATE_parser___ReduceAction490___action;
49778 fra.me.has_broke = 0;
49779 fra.me.REG_size = 7;
49780 fra.me.nitni_local_ref_head = NULL;
49781 fra.me.REG[0] = NIT_NULL;
49782 fra.me.REG[1] = NIT_NULL;
49783 fra.me.REG[2] = NIT_NULL;
49784 fra.me.REG[3] = NIT_NULL;
49785 fra.me.REG[4] = NIT_NULL;
49786 fra.me.REG[5] = NIT_NULL;
49787 fra.me.REG[6] = NIT_NULL;
49788 fra.me.REG[0] = p0;
49789 fra.me.REG[1] = p1;
49790 /* parser/parser.nit:18396 */
49791 fra.me.REG[2] = NIT_NULL;
49792 /* parser/parser.nit:18397 */
49793 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49794 /* parser/parser.nit:18398 */
49795 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49796 /* parser/parser.nit:18399 */
49797 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49798 /* parser/parser.nit:18400 */
49799 fra.me.REG[6] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
49800 /* parser/parser.nit:18402 */
49801 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*/;
49802 if (UNTAG_Bool(REGB0)) {
49803 } else {
49804 nit_abort("Assert failed", NULL, LOCATE_parser, 18402);
49805 }
49806 /* parser/parser.nit:18404 */
49807 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*/;
49808 if (UNTAG_Bool(REGB0)) {
49809 } else {
49810 nit_abort("Assert failed", NULL, LOCATE_parser, 18404);
49811 }
49812 /* parser/parser.nit:18406 */
49813 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
49814 if (UNTAG_Bool(REGB0)) {
49815 } else {
49816 nit_abort("Assert failed", NULL, LOCATE_parser, 18406);
49817 }
49818 /* parser/parser.nit:18407 */
49819 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]);
49820 /* parser/parser.nit:18413 */
49821 fra.me.REG[2] = fra.me.REG[3];
49822 /* parser/parser.nit:18414 */
49823 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
49824 if (UNTAG_Bool(REGB0)) {
49825 } else {
49826 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18414);
49827 }
49828 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
49829 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49830 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
49831 stack_frame_head = fra.me.prev;
49832 return;
49833 }
49834 static const char LOCATE_parser___ReduceAction491___action[] = "parser::ReduceAction491::(parser::ReduceAction::action)";
49835 void parser___ReduceAction491___action(val_t p0, val_t p1){
49836 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
49837 val_t REGB0;
49838 val_t tmp;
49839 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49840 fra.me.file = LOCATE_parser;
49841 fra.me.line = 18419;
49842 fra.me.meth = LOCATE_parser___ReduceAction491___action;
49843 fra.me.has_broke = 0;
49844 fra.me.REG_size = 8;
49845 fra.me.nitni_local_ref_head = NULL;
49846 fra.me.REG[0] = NIT_NULL;
49847 fra.me.REG[1] = NIT_NULL;
49848 fra.me.REG[2] = NIT_NULL;
49849 fra.me.REG[3] = NIT_NULL;
49850 fra.me.REG[4] = NIT_NULL;
49851 fra.me.REG[5] = NIT_NULL;
49852 fra.me.REG[6] = NIT_NULL;
49853 fra.me.REG[7] = NIT_NULL;
49854 fra.me.REG[0] = p0;
49855 fra.me.REG[1] = p1;
49856 /* parser/parser.nit:18421 */
49857 fra.me.REG[2] = NIT_NULL;
49858 /* parser/parser.nit:18422 */
49859 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49860 /* parser/parser.nit:18423 */
49861 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49862 /* parser/parser.nit:18424 */
49863 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49864 /* parser/parser.nit:18425 */
49865 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49866 /* parser/parser.nit:18426 */
49867 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49868 /* parser/parser.nit:18427 */
49869 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49870 /* parser/parser.nit:18428 */
49871 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49872 /* parser/parser.nit:18430 */
49873 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*/;
49874 if (UNTAG_Bool(REGB0)) {
49875 } else {
49876 nit_abort("Assert failed", NULL, LOCATE_parser, 18430);
49877 }
49878 /* parser/parser.nit:18432 */
49879 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*/;
49880 if (UNTAG_Bool(REGB0)) {
49881 } else {
49882 nit_abort("Assert failed", NULL, LOCATE_parser, 18432);
49883 }
49884 /* parser/parser.nit:18434 */
49885 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*/;
49886 if (UNTAG_Bool(REGB0)) {
49887 } else {
49888 nit_abort("Assert failed", NULL, LOCATE_parser, 18434);
49889 }
49890 /* parser/parser.nit:18436 */
49891 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*/;
49892 if (UNTAG_Bool(REGB0)) {
49893 } else {
49894 nit_abort("Assert failed", NULL, LOCATE_parser, 18436);
49895 }
49896 /* parser/parser.nit:18438 */
49897 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
49898 if (UNTAG_Bool(REGB0)) {
49899 } else {
49900 nit_abort("Assert failed", NULL, LOCATE_parser, 18438);
49901 }
49902 /* parser/parser.nit:18439 */
49903 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]);
49904 /* parser/parser.nit:18446 */
49905 fra.me.REG[2] = fra.me.REG[3];
49906 /* parser/parser.nit:18447 */
49907 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
49908 if (UNTAG_Bool(REGB0)) {
49909 } else {
49910 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18447);
49911 }
49912 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
49913 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49914 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
49915 stack_frame_head = fra.me.prev;
49916 return;
49917 }
49918 static const char LOCATE_parser___ReduceAction492___action[] = "parser::ReduceAction492::(parser::ReduceAction::action)";
49919 void parser___ReduceAction492___action(val_t p0, val_t p1){
49920 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
49921 val_t REGB0;
49922 val_t tmp;
49923 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49924 fra.me.file = LOCATE_parser;
49925 fra.me.line = 18452;
49926 fra.me.meth = LOCATE_parser___ReduceAction492___action;
49927 fra.me.has_broke = 0;
49928 fra.me.REG_size = 8;
49929 fra.me.nitni_local_ref_head = NULL;
49930 fra.me.REG[0] = NIT_NULL;
49931 fra.me.REG[1] = NIT_NULL;
49932 fra.me.REG[2] = NIT_NULL;
49933 fra.me.REG[3] = NIT_NULL;
49934 fra.me.REG[4] = NIT_NULL;
49935 fra.me.REG[5] = NIT_NULL;
49936 fra.me.REG[6] = NIT_NULL;
49937 fra.me.REG[7] = NIT_NULL;
49938 fra.me.REG[0] = p0;
49939 fra.me.REG[1] = p1;
49940 /* parser/parser.nit:18454 */
49941 fra.me.REG[2] = NIT_NULL;
49942 /* parser/parser.nit:18455 */
49943 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49944 /* parser/parser.nit:18456 */
49945 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49946 /* parser/parser.nit:18457 */
49947 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49948 /* parser/parser.nit:18458 */
49949 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49950 /* parser/parser.nit:18459 */
49951 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
49952 /* parser/parser.nit:18461 */
49953 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*/;
49954 if (UNTAG_Bool(REGB0)) {
49955 } else {
49956 nit_abort("Assert failed", NULL, LOCATE_parser, 18461);
49957 }
49958 /* parser/parser.nit:18463 */
49959 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*/;
49960 if (UNTAG_Bool(REGB0)) {
49961 } else {
49962 nit_abort("Assert failed", NULL, LOCATE_parser, 18463);
49963 }
49964 /* parser/parser.nit:18465 */
49965 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*/;
49966 if (UNTAG_Bool(REGB0)) {
49967 } else {
49968 nit_abort("Assert failed", NULL, LOCATE_parser, 18465);
49969 }
49970 /* parser/parser.nit:18467 */
49971 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
49972 if (UNTAG_Bool(REGB0)) {
49973 } else {
49974 nit_abort("Assert failed", NULL, LOCATE_parser, 18467);
49975 }
49976 /* parser/parser.nit:18468 */
49977 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]);
49978 /* parser/parser.nit:18475 */
49979 fra.me.REG[2] = fra.me.REG[3];
49980 /* parser/parser.nit:18476 */
49981 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
49982 if (UNTAG_Bool(REGB0)) {
49983 } else {
49984 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18476);
49985 }
49986 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
49987 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49988 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
49989 stack_frame_head = fra.me.prev;
49990 return;
49991 }
49992 static const char LOCATE_parser___ReduceAction493___action[] = "parser::ReduceAction493::(parser::ReduceAction::action)";
49993 void parser___ReduceAction493___action(val_t p0, val_t p1){
49994 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
49995 val_t REGB0;
49996 val_t tmp;
49997 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49998 fra.me.file = LOCATE_parser;
49999 fra.me.line = 18481;
50000 fra.me.meth = LOCATE_parser___ReduceAction493___action;
50001 fra.me.has_broke = 0;
50002 fra.me.REG_size = 7;
50003 fra.me.nitni_local_ref_head = NULL;
50004 fra.me.REG[0] = NIT_NULL;
50005 fra.me.REG[1] = NIT_NULL;
50006 fra.me.REG[2] = NIT_NULL;
50007 fra.me.REG[3] = NIT_NULL;
50008 fra.me.REG[4] = NIT_NULL;
50009 fra.me.REG[5] = NIT_NULL;
50010 fra.me.REG[6] = NIT_NULL;
50011 fra.me.REG[0] = p0;
50012 fra.me.REG[1] = p1;
50013 /* parser/parser.nit:18483 */
50014 fra.me.REG[2] = NIT_NULL;
50015 /* parser/parser.nit:18484 */
50016 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50017 /* parser/parser.nit:18485 */
50018 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50019 /* parser/parser.nit:18486 */
50020 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50021 /* parser/parser.nit:18487 */
50022 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50023 /* parser/parser.nit:18489 */
50024 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*/;
50025 if (UNTAG_Bool(REGB0)) {
50026 } else {
50027 nit_abort("Assert failed", NULL, LOCATE_parser, 18489);
50028 }
50029 /* parser/parser.nit:18491 */
50030 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*/;
50031 if (UNTAG_Bool(REGB0)) {
50032 } else {
50033 nit_abort("Assert failed", NULL, LOCATE_parser, 18491);
50034 }
50035 /* parser/parser.nit:18493 */
50036 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*/;
50037 if (UNTAG_Bool(REGB0)) {
50038 } else {
50039 nit_abort("Assert failed", NULL, LOCATE_parser, 18493);
50040 }
50041 /* parser/parser.nit:18495 */
50042 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
50043 if (UNTAG_Bool(REGB0)) {
50044 } else {
50045 nit_abort("Assert failed", NULL, LOCATE_parser, 18495);
50046 }
50047 /* parser/parser.nit:18496 */
50048 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]);
50049 /* parser/parser.nit:18502 */
50050 fra.me.REG[2] = fra.me.REG[3];
50051 /* parser/parser.nit:18503 */
50052 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
50053 if (UNTAG_Bool(REGB0)) {
50054 } else {
50055 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18503);
50056 }
50057 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
50058 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50059 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
50060 stack_frame_head = fra.me.prev;
50061 return;
50062 }
50063 static const char LOCATE_parser___ReduceAction494___action[] = "parser::ReduceAction494::(parser::ReduceAction::action)";
50064 void parser___ReduceAction494___action(val_t p0, val_t p1){
50065 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
50066 val_t REGB0;
50067 val_t tmp;
50068 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50069 fra.me.file = LOCATE_parser;
50070 fra.me.line = 18508;
50071 fra.me.meth = LOCATE_parser___ReduceAction494___action;
50072 fra.me.has_broke = 0;
50073 fra.me.REG_size = 4;
50074 fra.me.nitni_local_ref_head = NULL;
50075 fra.me.REG[0] = NIT_NULL;
50076 fra.me.REG[1] = NIT_NULL;
50077 fra.me.REG[2] = NIT_NULL;
50078 fra.me.REG[3] = NIT_NULL;
50079 fra.me.REG[0] = p0;
50080 fra.me.REG[1] = p1;
50081 /* parser/parser.nit:18510 */
50082 fra.me.REG[2] = NIT_NULL;
50083 /* parser/parser.nit:18511 */
50084 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50085 /* parser/parser.nit:18513 */
50086 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*/;
50087 if (UNTAG_Bool(REGB0)) {
50088 } else {
50089 nit_abort("Assert failed", NULL, LOCATE_parser, 18513);
50090 }
50091 /* parser/parser.nit:18514 */
50092 fra.me.REG[3] = NEW_APlusAssignOp_parser___parser_prod___APlusAssignOp___init_aplusassignop(fra.me.REG[3]);
50093 /* parser/parser.nit:18517 */
50094 fra.me.REG[2] = fra.me.REG[3];
50095 /* parser/parser.nit:18518 */
50096 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
50097 if (UNTAG_Bool(REGB0)) {
50098 } else {
50099 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18518);
50100 }
50101 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
50102 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50103 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
50104 stack_frame_head = fra.me.prev;
50105 return;
50106 }
50107 static const char LOCATE_parser___ReduceAction495___action[] = "parser::ReduceAction495::(parser::ReduceAction::action)";
50108 void parser___ReduceAction495___action(val_t p0, val_t p1){
50109 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
50110 val_t REGB0;
50111 val_t tmp;
50112 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50113 fra.me.file = LOCATE_parser;
50114 fra.me.line = 18523;
50115 fra.me.meth = LOCATE_parser___ReduceAction495___action;
50116 fra.me.has_broke = 0;
50117 fra.me.REG_size = 4;
50118 fra.me.nitni_local_ref_head = NULL;
50119 fra.me.REG[0] = NIT_NULL;
50120 fra.me.REG[1] = NIT_NULL;
50121 fra.me.REG[2] = NIT_NULL;
50122 fra.me.REG[3] = NIT_NULL;
50123 fra.me.REG[0] = p0;
50124 fra.me.REG[1] = p1;
50125 /* parser/parser.nit:18525 */
50126 fra.me.REG[2] = NIT_NULL;
50127 /* parser/parser.nit:18526 */
50128 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50129 /* parser/parser.nit:18528 */
50130 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*/;
50131 if (UNTAG_Bool(REGB0)) {
50132 } else {
50133 nit_abort("Assert failed", NULL, LOCATE_parser, 18528);
50134 }
50135 /* parser/parser.nit:18529 */
50136 fra.me.REG[3] = NEW_AMinusAssignOp_parser___parser_prod___AMinusAssignOp___init_aminusassignop(fra.me.REG[3]);
50137 /* parser/parser.nit:18532 */
50138 fra.me.REG[2] = fra.me.REG[3];
50139 /* parser/parser.nit:18533 */
50140 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
50141 if (UNTAG_Bool(REGB0)) {
50142 } else {
50143 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18533);
50144 }
50145 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
50146 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50147 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
50148 stack_frame_head = fra.me.prev;
50149 return;
50150 }
50151 static const char LOCATE_parser___ReduceAction496___action[] = "parser::ReduceAction496::(parser::ReduceAction::action)";
50152 void parser___ReduceAction496___action(val_t p0, val_t p1){
50153 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
50154 val_t REGB0;
50155 val_t tmp;
50156 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50157 fra.me.file = LOCATE_parser;
50158 fra.me.line = 18538;
50159 fra.me.meth = LOCATE_parser___ReduceAction496___action;
50160 fra.me.has_broke = 0;
50161 fra.me.REG_size = 6;
50162 fra.me.nitni_local_ref_head = NULL;
50163 fra.me.REG[0] = NIT_NULL;
50164 fra.me.REG[1] = NIT_NULL;
50165 fra.me.REG[2] = NIT_NULL;
50166 fra.me.REG[3] = NIT_NULL;
50167 fra.me.REG[4] = NIT_NULL;
50168 fra.me.REG[5] = NIT_NULL;
50169 fra.me.REG[0] = p0;
50170 fra.me.REG[1] = p1;
50171 /* parser/parser.nit:18540 */
50172 fra.me.REG[2] = NIT_NULL;
50173 /* parser/parser.nit:18541 */
50174 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50175 /* parser/parser.nit:18542 */
50176 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50177 /* parser/parser.nit:18543 */
50178 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50179 /* parser/parser.nit:18545 */
50180 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*/;
50181 if (UNTAG_Bool(REGB0)) {
50182 } else {
50183 nit_abort("Assert failed", NULL, LOCATE_parser, 18545);
50184 }
50185 /* parser/parser.nit:18547 */
50186 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*/;
50187 if (UNTAG_Bool(REGB0)) {
50188 } else {
50189 nit_abort("Assert failed", NULL, LOCATE_parser, 18547);
50190 }
50191 /* parser/parser.nit:18549 */
50192 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*/;
50193 if (UNTAG_Bool(REGB0)) {
50194 } else {
50195 nit_abort("Assert failed", NULL, LOCATE_parser, 18549);
50196 }
50197 /* parser/parser.nit:18550 */
50198 fra.me.REG[3] = NEW_ADoExpr_parser___parser_prod___ADoExpr___init_adoexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
50199 /* parser/parser.nit:18555 */
50200 fra.me.REG[2] = fra.me.REG[3];
50201 /* parser/parser.nit:18556 */
50202 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
50203 if (UNTAG_Bool(REGB0)) {
50204 } else {
50205 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18556);
50206 }
50207 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
50208 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50209 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
50210 stack_frame_head = fra.me.prev;
50211 return;
50212 }
50213 static const char LOCATE_parser___ReduceAction497___action[] = "parser::ReduceAction497::(parser::ReduceAction::action)";
50214 void parser___ReduceAction497___action(val_t p0, val_t p1){
50215 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
50216 val_t REGB0;
50217 val_t tmp;
50218 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50219 fra.me.file = LOCATE_parser;
50220 fra.me.line = 18561;
50221 fra.me.meth = LOCATE_parser___ReduceAction497___action;
50222 fra.me.has_broke = 0;
50223 fra.me.REG_size = 5;
50224 fra.me.nitni_local_ref_head = NULL;
50225 fra.me.REG[0] = NIT_NULL;
50226 fra.me.REG[1] = NIT_NULL;
50227 fra.me.REG[2] = NIT_NULL;
50228 fra.me.REG[3] = NIT_NULL;
50229 fra.me.REG[4] = NIT_NULL;
50230 fra.me.REG[0] = p0;
50231 fra.me.REG[1] = p1;
50232 /* parser/parser.nit:18563 */
50233 fra.me.REG[2] = NIT_NULL;
50234 /* parser/parser.nit:18564 */
50235 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50236 /* parser/parser.nit:18565 */
50237 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50238 /* parser/parser.nit:18567 */
50239 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*/;
50240 if (UNTAG_Bool(REGB0)) {
50241 } else {
50242 nit_abort("Assert failed", NULL, LOCATE_parser, 18567);
50243 }
50244 /* parser/parser.nit:18569 */
50245 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
50246 if (UNTAG_Bool(REGB0)) {
50247 } else {
50248 nit_abort("Assert failed", NULL, LOCATE_parser, 18569);
50249 }
50250 /* parser/parser.nit:18570 */
50251 fra.me.REG[3] = NEW_ADoExpr_parser___parser_prod___ADoExpr___init_adoexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
50252 /* parser/parser.nit:18575 */
50253 fra.me.REG[2] = fra.me.REG[3];
50254 /* parser/parser.nit:18576 */
50255 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
50256 if (UNTAG_Bool(REGB0)) {
50257 } else {
50258 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18576);
50259 }
50260 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
50261 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50262 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
50263 stack_frame_head = fra.me.prev;
50264 return;
50265 }
50266 static const char LOCATE_parser___ReduceAction498___action[] = "parser::ReduceAction498::(parser::ReduceAction::action)";
50267 void parser___ReduceAction498___action(val_t p0, val_t p1){
50268 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
50269 val_t REGB0;
50270 val_t tmp;
50271 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50272 fra.me.file = LOCATE_parser;
50273 fra.me.line = 18581;
50274 fra.me.meth = LOCATE_parser___ReduceAction498___action;
50275 fra.me.has_broke = 0;
50276 fra.me.REG_size = 7;
50277 fra.me.nitni_local_ref_head = NULL;
50278 fra.me.REG[0] = NIT_NULL;
50279 fra.me.REG[1] = NIT_NULL;
50280 fra.me.REG[2] = NIT_NULL;
50281 fra.me.REG[3] = NIT_NULL;
50282 fra.me.REG[4] = NIT_NULL;
50283 fra.me.REG[5] = NIT_NULL;
50284 fra.me.REG[6] = NIT_NULL;
50285 fra.me.REG[0] = p0;
50286 fra.me.REG[1] = p1;
50287 /* parser/parser.nit:18583 */
50288 fra.me.REG[2] = NIT_NULL;
50289 /* parser/parser.nit:18584 */
50290 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50291 /* parser/parser.nit:18585 */
50292 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50293 /* parser/parser.nit:18586 */
50294 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50295 /* parser/parser.nit:18587 */
50296 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50297 /* parser/parser.nit:18588 */
50298 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50299 /* parser/parser.nit:18589 */
50300 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50301 /* parser/parser.nit:18590 */
50302 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50303 /* parser/parser.nit:18591 */
50304 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50305 /* parser/parser.nit:18593 */
50306 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*/;
50307 if (UNTAG_Bool(REGB0)) {
50308 } else {
50309 nit_abort("Assert failed", NULL, LOCATE_parser, 18593);
50310 }
50311 /* parser/parser.nit:18595 */
50312 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*/;
50313 if (UNTAG_Bool(REGB0)) {
50314 } else {
50315 nit_abort("Assert failed", NULL, LOCATE_parser, 18595);
50316 }
50317 /* parser/parser.nit:18597 */
50318 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*/;
50319 if (UNTAG_Bool(REGB0)) {
50320 } else {
50321 nit_abort("Assert failed", NULL, LOCATE_parser, 18597);
50322 }
50323 /* parser/parser.nit:18599 */
50324 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
50325 if (UNTAG_Bool(REGB0)) {
50326 } else {
50327 nit_abort("Assert failed", NULL, LOCATE_parser, 18599);
50328 }
50329 /* parser/parser.nit:18600 */
50330 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]);
50331 /* parser/parser.nit:18606 */
50332 fra.me.REG[2] = fra.me.REG[3];
50333 /* parser/parser.nit:18607 */
50334 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
50335 if (UNTAG_Bool(REGB0)) {
50336 } else {
50337 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18607);
50338 }
50339 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
50340 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50341 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
50342 stack_frame_head = fra.me.prev;
50343 return;
50344 }
50345 static const char LOCATE_parser___ReduceAction499___action[] = "parser::ReduceAction499::(parser::ReduceAction::action)";
50346 void parser___ReduceAction499___action(val_t p0, val_t p1){
50347 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
50348 val_t REGB0;
50349 val_t tmp;
50350 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50351 fra.me.file = LOCATE_parser;
50352 fra.me.line = 18612;
50353 fra.me.meth = LOCATE_parser___ReduceAction499___action;
50354 fra.me.has_broke = 0;
50355 fra.me.REG_size = 6;
50356 fra.me.nitni_local_ref_head = NULL;
50357 fra.me.REG[0] = NIT_NULL;
50358 fra.me.REG[1] = NIT_NULL;
50359 fra.me.REG[2] = NIT_NULL;
50360 fra.me.REG[3] = NIT_NULL;
50361 fra.me.REG[4] = NIT_NULL;
50362 fra.me.REG[5] = NIT_NULL;
50363 fra.me.REG[0] = p0;
50364 fra.me.REG[1] = p1;
50365 /* parser/parser.nit:18614 */
50366 fra.me.REG[2] = NIT_NULL;
50367 /* parser/parser.nit:18615 */
50368 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50369 /* parser/parser.nit:18616 */
50370 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50371 /* parser/parser.nit:18617 */
50372 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50373 /* parser/parser.nit:18618 */
50374 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50375 /* parser/parser.nit:18619 */
50376 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50377 /* parser/parser.nit:18620 */
50378 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50379 /* parser/parser.nit:18622 */
50380 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*/;
50381 if (UNTAG_Bool(REGB0)) {
50382 } else {
50383 nit_abort("Assert failed", NULL, LOCATE_parser, 18622);
50384 }
50385 /* parser/parser.nit:18624 */
50386 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*/;
50387 if (UNTAG_Bool(REGB0)) {
50388 } else {
50389 nit_abort("Assert failed", NULL, LOCATE_parser, 18624);
50390 }
50391 /* parser/parser.nit:18626 */
50392 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
50393 if (UNTAG_Bool(REGB0)) {
50394 } else {
50395 nit_abort("Assert failed", NULL, LOCATE_parser, 18626);
50396 }
50397 /* parser/parser.nit:18627 */
50398 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);
50399 /* parser/parser.nit:18633 */
50400 fra.me.REG[2] = fra.me.REG[3];
50401 /* parser/parser.nit:18634 */
50402 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
50403 if (UNTAG_Bool(REGB0)) {
50404 } else {
50405 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18634);
50406 }
50407 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
50408 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50409 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
50410 stack_frame_head = fra.me.prev;
50411 return;
50412 }
50413 static const char LOCATE_parser___ReduceAction500___action[] = "parser::ReduceAction500::(parser::ReduceAction::action)";
50414 void parser___ReduceAction500___action(val_t p0, val_t p1){
50415 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
50416 val_t REGB0;
50417 val_t tmp;
50418 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50419 fra.me.file = LOCATE_parser;
50420 fra.me.line = 18639;
50421 fra.me.meth = LOCATE_parser___ReduceAction500___action;
50422 fra.me.has_broke = 0;
50423 fra.me.REG_size = 7;
50424 fra.me.nitni_local_ref_head = NULL;
50425 fra.me.REG[0] = NIT_NULL;
50426 fra.me.REG[1] = NIT_NULL;
50427 fra.me.REG[2] = NIT_NULL;
50428 fra.me.REG[3] = NIT_NULL;
50429 fra.me.REG[4] = NIT_NULL;
50430 fra.me.REG[5] = NIT_NULL;
50431 fra.me.REG[6] = NIT_NULL;
50432 fra.me.REG[0] = p0;
50433 fra.me.REG[1] = p1;
50434 /* parser/parser.nit:18641 */
50435 fra.me.REG[2] = NIT_NULL;
50436 /* parser/parser.nit:18642 */
50437 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50438 /* parser/parser.nit:18643 */
50439 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50440 /* parser/parser.nit:18644 */
50441 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50442 /* parser/parser.nit:18645 */
50443 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50444 /* parser/parser.nit:18646 */
50445 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50446 /* parser/parser.nit:18647 */
50447 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50448 /* parser/parser.nit:18648 */
50449 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50450 /* parser/parser.nit:18649 */
50451 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50452 /* parser/parser.nit:18651 */
50453 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*/;
50454 if (UNTAG_Bool(REGB0)) {
50455 } else {
50456 nit_abort("Assert failed", NULL, LOCATE_parser, 18651);
50457 }
50458 /* parser/parser.nit:18653 */
50459 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*/;
50460 if (UNTAG_Bool(REGB0)) {
50461 } else {
50462 nit_abort("Assert failed", NULL, LOCATE_parser, 18653);
50463 }
50464 /* parser/parser.nit:18655 */
50465 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*/;
50466 if (UNTAG_Bool(REGB0)) {
50467 } else {
50468 nit_abort("Assert failed", NULL, LOCATE_parser, 18655);
50469 }
50470 /* parser/parser.nit:18657 */
50471 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
50472 if (UNTAG_Bool(REGB0)) {
50473 } else {
50474 nit_abort("Assert failed", NULL, LOCATE_parser, 18657);
50475 }
50476 /* parser/parser.nit:18658 */
50477 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]);
50478 /* parser/parser.nit:18664 */
50479 fra.me.REG[2] = fra.me.REG[3];
50480 /* parser/parser.nit:18665 */
50481 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
50482 if (UNTAG_Bool(REGB0)) {
50483 } else {
50484 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18665);
50485 }
50486 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
50487 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50488 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
50489 stack_frame_head = fra.me.prev;
50490 return;
50491 }
50492 static const char LOCATE_parser___ReduceAction501___action[] = "parser::ReduceAction501::(parser::ReduceAction::action)";
50493 void parser___ReduceAction501___action(val_t p0, val_t p1){
50494 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
50495 val_t REGB0;
50496 val_t tmp;
50497 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50498 fra.me.file = LOCATE_parser;
50499 fra.me.line = 18670;
50500 fra.me.meth = LOCATE_parser___ReduceAction501___action;
50501 fra.me.has_broke = 0;
50502 fra.me.REG_size = 6;
50503 fra.me.nitni_local_ref_head = NULL;
50504 fra.me.REG[0] = NIT_NULL;
50505 fra.me.REG[1] = NIT_NULL;
50506 fra.me.REG[2] = NIT_NULL;
50507 fra.me.REG[3] = NIT_NULL;
50508 fra.me.REG[4] = NIT_NULL;
50509 fra.me.REG[5] = NIT_NULL;
50510 fra.me.REG[0] = p0;
50511 fra.me.REG[1] = p1;
50512 /* parser/parser.nit:18672 */
50513 fra.me.REG[2] = NIT_NULL;
50514 /* parser/parser.nit:18673 */
50515 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50516 /* parser/parser.nit:18674 */
50517 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50518 /* parser/parser.nit:18675 */
50519 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50520 /* parser/parser.nit:18676 */
50521 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50522 /* parser/parser.nit:18677 */
50523 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50524 /* parser/parser.nit:18678 */
50525 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50526 /* parser/parser.nit:18680 */
50527 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*/;
50528 if (UNTAG_Bool(REGB0)) {
50529 } else {
50530 nit_abort("Assert failed", NULL, LOCATE_parser, 18680);
50531 }
50532 /* parser/parser.nit:18682 */
50533 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*/;
50534 if (UNTAG_Bool(REGB0)) {
50535 } else {
50536 nit_abort("Assert failed", NULL, LOCATE_parser, 18682);
50537 }
50538 /* parser/parser.nit:18684 */
50539 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
50540 if (UNTAG_Bool(REGB0)) {
50541 } else {
50542 nit_abort("Assert failed", NULL, LOCATE_parser, 18684);
50543 }
50544 /* parser/parser.nit:18685 */
50545 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]);
50546 /* parser/parser.nit:18691 */
50547 fra.me.REG[2] = fra.me.REG[3];
50548 /* parser/parser.nit:18692 */
50549 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
50550 if (UNTAG_Bool(REGB0)) {
50551 } else {
50552 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18692);
50553 }
50554 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
50555 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50556 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
50557 stack_frame_head = fra.me.prev;
50558 return;
50559 }
50560 static const char LOCATE_parser___ReduceAction502___action[] = "parser::ReduceAction502::(parser::ReduceAction::action)";
50561 void parser___ReduceAction502___action(val_t p0, val_t p1){
50562 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
50563 val_t REGB0;
50564 val_t tmp;
50565 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50566 fra.me.file = LOCATE_parser;
50567 fra.me.line = 18697;
50568 fra.me.meth = LOCATE_parser___ReduceAction502___action;
50569 fra.me.has_broke = 0;
50570 fra.me.REG_size = 6;
50571 fra.me.nitni_local_ref_head = NULL;
50572 fra.me.REG[0] = NIT_NULL;
50573 fra.me.REG[1] = NIT_NULL;
50574 fra.me.REG[2] = NIT_NULL;
50575 fra.me.REG[3] = NIT_NULL;
50576 fra.me.REG[4] = NIT_NULL;
50577 fra.me.REG[5] = NIT_NULL;
50578 fra.me.REG[0] = p0;
50579 fra.me.REG[1] = p1;
50580 /* parser/parser.nit:18699 */
50581 fra.me.REG[2] = NIT_NULL;
50582 /* parser/parser.nit:18700 */
50583 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50584 /* parser/parser.nit:18701 */
50585 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50586 /* parser/parser.nit:18702 */
50587 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50588 /* parser/parser.nit:18703 */
50589 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50590 /* parser/parser.nit:18704 */
50591 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50592 /* parser/parser.nit:18705 */
50593 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50594 /* parser/parser.nit:18706 */
50595 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50596 /* parser/parser.nit:18708 */
50597 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*/;
50598 if (UNTAG_Bool(REGB0)) {
50599 } else {
50600 nit_abort("Assert failed", NULL, LOCATE_parser, 18708);
50601 }
50602 /* parser/parser.nit:18710 */
50603 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*/;
50604 if (UNTAG_Bool(REGB0)) {
50605 } else {
50606 nit_abort("Assert failed", NULL, LOCATE_parser, 18710);
50607 }
50608 /* parser/parser.nit:18712 */
50609 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
50610 if (UNTAG_Bool(REGB0)) {
50611 } else {
50612 nit_abort("Assert failed", NULL, LOCATE_parser, 18712);
50613 }
50614 /* parser/parser.nit:18713 */
50615 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]);
50616 /* parser/parser.nit:18719 */
50617 fra.me.REG[2] = fra.me.REG[3];
50618 /* parser/parser.nit:18720 */
50619 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
50620 if (UNTAG_Bool(REGB0)) {
50621 } else {
50622 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18720);
50623 }
50624 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
50625 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50626 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
50627 stack_frame_head = fra.me.prev;
50628 return;
50629 }
50630 static const char LOCATE_parser___ReduceAction505___action[] = "parser::ReduceAction505::(parser::ReduceAction::action)";
50631 void parser___ReduceAction505___action(val_t p0, val_t p1){
50632 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
50633 val_t REGB0;
50634 val_t tmp;
50635 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50636 fra.me.file = LOCATE_parser;
50637 fra.me.line = 18725;
50638 fra.me.meth = LOCATE_parser___ReduceAction505___action;
50639 fra.me.has_broke = 0;
50640 fra.me.REG_size = 6;
50641 fra.me.nitni_local_ref_head = NULL;
50642 fra.me.REG[0] = NIT_NULL;
50643 fra.me.REG[1] = NIT_NULL;
50644 fra.me.REG[2] = NIT_NULL;
50645 fra.me.REG[3] = NIT_NULL;
50646 fra.me.REG[4] = NIT_NULL;
50647 fra.me.REG[5] = NIT_NULL;
50648 fra.me.REG[0] = p0;
50649 fra.me.REG[1] = p1;
50650 /* parser/parser.nit:18727 */
50651 fra.me.REG[2] = NIT_NULL;
50652 /* parser/parser.nit:18728 */
50653 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50654 /* parser/parser.nit:18729 */
50655 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50656 /* parser/parser.nit:18730 */
50657 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50658 /* parser/parser.nit:18732 */
50659 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*/;
50660 if (UNTAG_Bool(REGB0)) {
50661 } else {
50662 nit_abort("Assert failed", NULL, LOCATE_parser, 18732);
50663 }
50664 /* parser/parser.nit:18734 */
50665 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*/;
50666 if (UNTAG_Bool(REGB0)) {
50667 } else {
50668 nit_abort("Assert failed", NULL, LOCATE_parser, 18734);
50669 }
50670 /* parser/parser.nit:18736 */
50671 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*/;
50672 if (UNTAG_Bool(REGB0)) {
50673 } else {
50674 nit_abort("Assert failed", NULL, LOCATE_parser, 18736);
50675 }
50676 /* parser/parser.nit:18737 */
50677 fra.me.REG[3] = NEW_ALoopExpr_parser___parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
50678 /* parser/parser.nit:18742 */
50679 fra.me.REG[2] = fra.me.REG[3];
50680 /* parser/parser.nit:18743 */
50681 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
50682 if (UNTAG_Bool(REGB0)) {
50683 } else {
50684 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18743);
50685 }
50686 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
50687 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50688 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
50689 stack_frame_head = fra.me.prev;
50690 return;
50691 }
50692 static const char LOCATE_parser___ReduceAction506___action[] = "parser::ReduceAction506::(parser::ReduceAction::action)";
50693 void parser___ReduceAction506___action(val_t p0, val_t p1){
50694 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
50695 val_t REGB0;
50696 val_t tmp;
50697 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50698 fra.me.file = LOCATE_parser;
50699 fra.me.line = 18748;
50700 fra.me.meth = LOCATE_parser___ReduceAction506___action;
50701 fra.me.has_broke = 0;
50702 fra.me.REG_size = 5;
50703 fra.me.nitni_local_ref_head = NULL;
50704 fra.me.REG[0] = NIT_NULL;
50705 fra.me.REG[1] = NIT_NULL;
50706 fra.me.REG[2] = NIT_NULL;
50707 fra.me.REG[3] = NIT_NULL;
50708 fra.me.REG[4] = NIT_NULL;
50709 fra.me.REG[0] = p0;
50710 fra.me.REG[1] = p1;
50711 /* parser/parser.nit:18750 */
50712 fra.me.REG[2] = NIT_NULL;
50713 /* parser/parser.nit:18751 */
50714 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50715 /* parser/parser.nit:18752 */
50716 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50717 /* parser/parser.nit:18754 */
50718 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*/;
50719 if (UNTAG_Bool(REGB0)) {
50720 } else {
50721 nit_abort("Assert failed", NULL, LOCATE_parser, 18754);
50722 }
50723 /* parser/parser.nit:18756 */
50724 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
50725 if (UNTAG_Bool(REGB0)) {
50726 } else {
50727 nit_abort("Assert failed", NULL, LOCATE_parser, 18756);
50728 }
50729 /* parser/parser.nit:18757 */
50730 fra.me.REG[3] = NEW_ALoopExpr_parser___parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
50731 /* parser/parser.nit:18762 */
50732 fra.me.REG[2] = fra.me.REG[3];
50733 /* parser/parser.nit:18763 */
50734 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
50735 if (UNTAG_Bool(REGB0)) {
50736 } else {
50737 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18763);
50738 }
50739 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
50740 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50741 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
50742 stack_frame_head = fra.me.prev;
50743 return;
50744 }
50745 static const char LOCATE_parser___ReduceAction507___action[] = "parser::ReduceAction507::(parser::ReduceAction::action)";
50746 void parser___ReduceAction507___action(val_t p0, val_t p1){
50747 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
50748 val_t REGB0;
50749 val_t tmp;
50750 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50751 fra.me.file = LOCATE_parser;
50752 fra.me.line = 18768;
50753 fra.me.meth = LOCATE_parser___ReduceAction507___action;
50754 fra.me.has_broke = 0;
50755 fra.me.REG_size = 8;
50756 fra.me.nitni_local_ref_head = NULL;
50757 fra.me.REG[0] = NIT_NULL;
50758 fra.me.REG[1] = NIT_NULL;
50759 fra.me.REG[2] = NIT_NULL;
50760 fra.me.REG[3] = NIT_NULL;
50761 fra.me.REG[4] = NIT_NULL;
50762 fra.me.REG[5] = NIT_NULL;
50763 fra.me.REG[6] = NIT_NULL;
50764 fra.me.REG[7] = NIT_NULL;
50765 fra.me.REG[0] = p0;
50766 fra.me.REG[1] = p1;
50767 /* parser/parser.nit:18770 */
50768 fra.me.REG[2] = NIT_NULL;
50769 /* parser/parser.nit:18771 */
50770 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50771 /* parser/parser.nit:18772 */
50772 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50773 /* parser/parser.nit:18773 */
50774 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50775 /* parser/parser.nit:18774 */
50776 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50777 /* parser/parser.nit:18775 */
50778 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50779 /* parser/parser.nit:18776 */
50780 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50781 /* parser/parser.nit:18777 */
50782 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50783 /* parser/parser.nit:18779 */
50784 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*/;
50785 if (UNTAG_Bool(REGB0)) {
50786 } else {
50787 nit_abort("Assert failed", NULL, LOCATE_parser, 18779);
50788 }
50789 /* parser/parser.nit:18781 */
50790 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*/;
50791 if (UNTAG_Bool(REGB0)) {
50792 } else {
50793 nit_abort("Assert failed", NULL, LOCATE_parser, 18781);
50794 }
50795 /* parser/parser.nit:18783 */
50796 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*/;
50797 if (UNTAG_Bool(REGB0)) {
50798 } else {
50799 nit_abort("Assert failed", NULL, LOCATE_parser, 18783);
50800 }
50801 /* parser/parser.nit:18785 */
50802 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*/;
50803 if (UNTAG_Bool(REGB0)) {
50804 } else {
50805 nit_abort("Assert failed", NULL, LOCATE_parser, 18785);
50806 }
50807 /* parser/parser.nit:18787 */
50808 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*/;
50809 if (UNTAG_Bool(REGB0)) {
50810 } else {
50811 nit_abort("Assert failed", NULL, LOCATE_parser, 18787);
50812 }
50813 /* parser/parser.nit:18788 */
50814 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]);
50815 /* parser/parser.nit:18795 */
50816 fra.me.REG[2] = fra.me.REG[3];
50817 /* parser/parser.nit:18796 */
50818 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
50819 if (UNTAG_Bool(REGB0)) {
50820 } else {
50821 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18796);
50822 }
50823 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
50824 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50825 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
50826 stack_frame_head = fra.me.prev;
50827 return;
50828 }
50829 static const char LOCATE_parser___ReduceAction508___action[] = "parser::ReduceAction508::(parser::ReduceAction::action)";
50830 void parser___ReduceAction508___action(val_t p0, val_t p1){
50831 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
50832 val_t REGB0;
50833 val_t tmp;
50834 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50835 fra.me.file = LOCATE_parser;
50836 fra.me.line = 18801;
50837 fra.me.meth = LOCATE_parser___ReduceAction508___action;
50838 fra.me.has_broke = 0;
50839 fra.me.REG_size = 7;
50840 fra.me.nitni_local_ref_head = NULL;
50841 fra.me.REG[0] = NIT_NULL;
50842 fra.me.REG[1] = NIT_NULL;
50843 fra.me.REG[2] = NIT_NULL;
50844 fra.me.REG[3] = NIT_NULL;
50845 fra.me.REG[4] = NIT_NULL;
50846 fra.me.REG[5] = NIT_NULL;
50847 fra.me.REG[6] = NIT_NULL;
50848 fra.me.REG[0] = p0;
50849 fra.me.REG[1] = p1;
50850 /* parser/parser.nit:18803 */
50851 fra.me.REG[2] = NIT_NULL;
50852 /* parser/parser.nit:18804 */
50853 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50854 /* parser/parser.nit:18805 */
50855 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50856 /* parser/parser.nit:18806 */
50857 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50858 /* parser/parser.nit:18807 */
50859 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50860 /* parser/parser.nit:18808 */
50861 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50862 /* parser/parser.nit:18809 */
50863 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50864 /* parser/parser.nit:18811 */
50865 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*/;
50866 if (UNTAG_Bool(REGB0)) {
50867 } else {
50868 nit_abort("Assert failed", NULL, LOCATE_parser, 18811);
50869 }
50870 /* parser/parser.nit:18813 */
50871 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*/;
50872 if (UNTAG_Bool(REGB0)) {
50873 } else {
50874 nit_abort("Assert failed", NULL, LOCATE_parser, 18813);
50875 }
50876 /* parser/parser.nit:18815 */
50877 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*/;
50878 if (UNTAG_Bool(REGB0)) {
50879 } else {
50880 nit_abort("Assert failed", NULL, LOCATE_parser, 18815);
50881 }
50882 /* parser/parser.nit:18817 */
50883 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
50884 if (UNTAG_Bool(REGB0)) {
50885 } else {
50886 nit_abort("Assert failed", NULL, LOCATE_parser, 18817);
50887 }
50888 /* parser/parser.nit:18818 */
50889 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);
50890 /* parser/parser.nit:18825 */
50891 fra.me.REG[2] = fra.me.REG[3];
50892 /* parser/parser.nit:18826 */
50893 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
50894 if (UNTAG_Bool(REGB0)) {
50895 } else {
50896 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18826);
50897 }
50898 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
50899 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50900 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
50901 stack_frame_head = fra.me.prev;
50902 return;
50903 }
50904 static const char LOCATE_parser___ReduceAction509___action[] = "parser::ReduceAction509::(parser::ReduceAction::action)";
50905 void parser___ReduceAction509___action(val_t p0, val_t p1){
50906 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
50907 val_t REGB0;
50908 val_t tmp;
50909 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50910 fra.me.file = LOCATE_parser;
50911 fra.me.line = 18831;
50912 fra.me.meth = LOCATE_parser___ReduceAction509___action;
50913 fra.me.has_broke = 0;
50914 fra.me.REG_size = 10;
50915 fra.me.nitni_local_ref_head = NULL;
50916 fra.me.REG[0] = NIT_NULL;
50917 fra.me.REG[1] = NIT_NULL;
50918 fra.me.REG[2] = NIT_NULL;
50919 fra.me.REG[3] = NIT_NULL;
50920 fra.me.REG[4] = NIT_NULL;
50921 fra.me.REG[5] = NIT_NULL;
50922 fra.me.REG[6] = NIT_NULL;
50923 fra.me.REG[7] = NIT_NULL;
50924 fra.me.REG[8] = NIT_NULL;
50925 fra.me.REG[9] = NIT_NULL;
50926 fra.me.REG[0] = p0;
50927 fra.me.REG[1] = p1;
50928 /* parser/parser.nit:18833 */
50929 fra.me.REG[2] = NIT_NULL;
50930 /* parser/parser.nit:18834 */
50931 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50932 /* parser/parser.nit:18835 */
50933 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50934 /* parser/parser.nit:18836 */
50935 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50936 /* parser/parser.nit:18837 */
50937 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50938 /* parser/parser.nit:18838 */
50939 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50940 /* parser/parser.nit:18839 */
50941 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50942 /* parser/parser.nit:18840 */
50943 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50944 /* parser/parser.nit:18841 */
50945 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50946 /* parser/parser.nit:18842 */
50947 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50948 /* parser/parser.nit:18843 */
50949 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50950 /* parser/parser.nit:18844 */
50951 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50952 /* parser/parser.nit:18845 */
50953 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50954 /* parser/parser.nit:18846 */
50955 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50956 /* parser/parser.nit:18847 */
50957 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
50958 /* parser/parser.nit:18849 */
50959 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*/;
50960 if (UNTAG_Bool(REGB0)) {
50961 } else {
50962 nit_abort("Assert failed", NULL, LOCATE_parser, 18849);
50963 }
50964 /* parser/parser.nit:18851 */
50965 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]*/;
50966 if (UNTAG_Bool(REGB0)) {
50967 } else {
50968 nit_abort("Assert failed", NULL, LOCATE_parser, 18851);
50969 }
50970 /* parser/parser.nit:18852 */
50971 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[7]);
50972 fra.me.REG[9] = fra.me.REG[7];
50973 /* parser/parser.nit:18854 */
50974 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*/;
50975 if (UNTAG_Bool(REGB0)) {
50976 } else {
50977 nit_abort("Assert failed", NULL, LOCATE_parser, 18854);
50978 }
50979 /* parser/parser.nit:18856 */
50980 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*/;
50981 if (UNTAG_Bool(REGB0)) {
50982 } else {
50983 nit_abort("Assert failed", NULL, LOCATE_parser, 18856);
50984 }
50985 /* parser/parser.nit:18858 */
50986 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*/;
50987 if (UNTAG_Bool(REGB0)) {
50988 } else {
50989 nit_abort("Assert failed", NULL, LOCATE_parser, 18858);
50990 }
50991 /* parser/parser.nit:18860 */
50992 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*/;
50993 if (UNTAG_Bool(REGB0)) {
50994 } else {
50995 nit_abort("Assert failed", NULL, LOCATE_parser, 18860);
50996 }
50997 /* parser/parser.nit:18861 */
50998 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]);
50999 /* parser/parser.nit:18869 */
51000 fra.me.REG[2] = fra.me.REG[3];
51001 /* parser/parser.nit:18870 */
51002 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
51003 if (UNTAG_Bool(REGB0)) {
51004 } else {
51005 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18870);
51006 }
51007 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
51008 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51009 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
51010 stack_frame_head = fra.me.prev;
51011 return;
51012 }
51013 static const char LOCATE_parser___ReduceAction510___action[] = "parser::ReduceAction510::(parser::ReduceAction::action)";
51014 void parser___ReduceAction510___action(val_t p0, val_t p1){
51015 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
51016 val_t REGB0;
51017 val_t tmp;
51018 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51019 fra.me.file = LOCATE_parser;
51020 fra.me.line = 18875;
51021 fra.me.meth = LOCATE_parser___ReduceAction510___action;
51022 fra.me.has_broke = 0;
51023 fra.me.REG_size = 10;
51024 fra.me.nitni_local_ref_head = NULL;
51025 fra.me.REG[0] = NIT_NULL;
51026 fra.me.REG[1] = NIT_NULL;
51027 fra.me.REG[2] = NIT_NULL;
51028 fra.me.REG[3] = NIT_NULL;
51029 fra.me.REG[4] = NIT_NULL;
51030 fra.me.REG[5] = NIT_NULL;
51031 fra.me.REG[6] = NIT_NULL;
51032 fra.me.REG[7] = NIT_NULL;
51033 fra.me.REG[8] = NIT_NULL;
51034 fra.me.REG[9] = NIT_NULL;
51035 fra.me.REG[0] = p0;
51036 fra.me.REG[1] = p1;
51037 /* parser/parser.nit:18877 */
51038 fra.me.REG[2] = NIT_NULL;
51039 /* parser/parser.nit:18878 */
51040 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51041 /* parser/parser.nit:18879 */
51042 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51043 /* parser/parser.nit:18880 */
51044 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51045 /* parser/parser.nit:18881 */
51046 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51047 /* parser/parser.nit:18882 */
51048 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51049 /* parser/parser.nit:18883 */
51050 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51051 /* parser/parser.nit:18884 */
51052 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51053 /* parser/parser.nit:18885 */
51054 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51055 /* parser/parser.nit:18886 */
51056 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51057 /* parser/parser.nit:18887 */
51058 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51059 /* parser/parser.nit:18888 */
51060 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51061 /* parser/parser.nit:18889 */
51062 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
51063 /* parser/parser.nit:18891 */
51064 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*/;
51065 if (UNTAG_Bool(REGB0)) {
51066 } else {
51067 nit_abort("Assert failed", NULL, LOCATE_parser, 18891);
51068 }
51069 /* parser/parser.nit:18893 */
51070 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]*/;
51071 if (UNTAG_Bool(REGB0)) {
51072 } else {
51073 nit_abort("Assert failed", NULL, LOCATE_parser, 18893);
51074 }
51075 /* parser/parser.nit:18894 */
51076 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[7]);
51077 fra.me.REG[9] = fra.me.REG[7];
51078 /* parser/parser.nit:18896 */
51079 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*/;
51080 if (UNTAG_Bool(REGB0)) {
51081 } else {
51082 nit_abort("Assert failed", NULL, LOCATE_parser, 18896);
51083 }
51084 /* parser/parser.nit:18898 */
51085 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*/;
51086 if (UNTAG_Bool(REGB0)) {
51087 } else {
51088 nit_abort("Assert failed", NULL, LOCATE_parser, 18898);
51089 }
51090 /* parser/parser.nit:18900 */
51091 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*/;
51092 if (UNTAG_Bool(REGB0)) {
51093 } else {
51094 nit_abort("Assert failed", NULL, LOCATE_parser, 18900);
51095 }
51096 /* parser/parser.nit:18902 */
51097 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*/;
51098 if (UNTAG_Bool(REGB0)) {
51099 } else {
51100 nit_abort("Assert failed", NULL, LOCATE_parser, 18902);
51101 }
51102 /* parser/parser.nit:18903 */
51103 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]);
51104 /* parser/parser.nit:18911 */
51105 fra.me.REG[2] = fra.me.REG[3];
51106 /* parser/parser.nit:18912 */
51107 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
51108 if (UNTAG_Bool(REGB0)) {
51109 } else {
51110 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18912);
51111 }
51112 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
51113 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51114 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
51115 stack_frame_head = fra.me.prev;
51116 return;
51117 }
51118 static const char LOCATE_parser___ReduceAction511___action[] = "parser::ReduceAction511::(parser::ReduceAction::action)";
51119 void parser___ReduceAction511___action(val_t p0, val_t p1){
51120 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
51121 val_t REGB0;
51122 val_t tmp;
51123 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51124 fra.me.file = LOCATE_parser;
51125 fra.me.line = 18917;
51126 fra.me.meth = LOCATE_parser___ReduceAction511___action;
51127 fra.me.has_broke = 0;
51128 fra.me.REG_size = 9;
51129 fra.me.nitni_local_ref_head = NULL;
51130 fra.me.REG[0] = NIT_NULL;
51131 fra.me.REG[1] = NIT_NULL;
51132 fra.me.REG[2] = NIT_NULL;
51133 fra.me.REG[3] = NIT_NULL;
51134 fra.me.REG[4] = NIT_NULL;
51135 fra.me.REG[5] = NIT_NULL;
51136 fra.me.REG[6] = NIT_NULL;
51137 fra.me.REG[7] = NIT_NULL;
51138 fra.me.REG[8] = NIT_NULL;
51139 fra.me.REG[0] = p0;
51140 fra.me.REG[1] = p1;
51141 /* parser/parser.nit:18919 */
51142 fra.me.REG[2] = NIT_NULL;
51143 /* parser/parser.nit:18920 */
51144 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51145 /* parser/parser.nit:18921 */
51146 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51147 /* parser/parser.nit:18922 */
51148 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51149 /* parser/parser.nit:18923 */
51150 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51151 /* parser/parser.nit:18924 */
51152 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51153 /* parser/parser.nit:18925 */
51154 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51155 /* parser/parser.nit:18926 */
51156 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51157 /* parser/parser.nit:18927 */
51158 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51159 /* parser/parser.nit:18928 */
51160 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51161 /* parser/parser.nit:18929 */
51162 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51163 /* parser/parser.nit:18930 */
51164 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51165 /* parser/parser.nit:18931 */
51166 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51167 /* parser/parser.nit:18932 */
51168 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
51169 /* parser/parser.nit:18934 */
51170 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*/;
51171 if (UNTAG_Bool(REGB0)) {
51172 } else {
51173 nit_abort("Assert failed", NULL, LOCATE_parser, 18934);
51174 }
51175 /* parser/parser.nit:18936 */
51176 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]*/;
51177 if (UNTAG_Bool(REGB0)) {
51178 } else {
51179 nit_abort("Assert failed", NULL, LOCATE_parser, 18936);
51180 }
51181 /* parser/parser.nit:18937 */
51182 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
51183 fra.me.REG[8] = fra.me.REG[6];
51184 /* parser/parser.nit:18939 */
51185 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*/;
51186 if (UNTAG_Bool(REGB0)) {
51187 } else {
51188 nit_abort("Assert failed", NULL, LOCATE_parser, 18939);
51189 }
51190 /* parser/parser.nit:18941 */
51191 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*/;
51192 if (UNTAG_Bool(REGB0)) {
51193 } else {
51194 nit_abort("Assert failed", NULL, LOCATE_parser, 18941);
51195 }
51196 /* parser/parser.nit:18943 */
51197 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
51198 if (UNTAG_Bool(REGB0)) {
51199 } else {
51200 nit_abort("Assert failed", NULL, LOCATE_parser, 18943);
51201 }
51202 /* parser/parser.nit:18944 */
51203 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);
51204 /* parser/parser.nit:18952 */
51205 fra.me.REG[2] = fra.me.REG[3];
51206 /* parser/parser.nit:18953 */
51207 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
51208 if (UNTAG_Bool(REGB0)) {
51209 } else {
51210 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18953);
51211 }
51212 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
51213 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51214 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
51215 stack_frame_head = fra.me.prev;
51216 return;
51217 }
51218 static const char LOCATE_parser___ReduceAction512___action[] = "parser::ReduceAction512::(parser::ReduceAction::action)";
51219 void parser___ReduceAction512___action(val_t p0, val_t p1){
51220 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
51221 val_t REGB0;
51222 val_t tmp;
51223 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51224 fra.me.file = LOCATE_parser;
51225 fra.me.line = 18958;
51226 fra.me.meth = LOCATE_parser___ReduceAction512___action;
51227 fra.me.has_broke = 0;
51228 fra.me.REG_size = 9;
51229 fra.me.nitni_local_ref_head = NULL;
51230 fra.me.REG[0] = NIT_NULL;
51231 fra.me.REG[1] = NIT_NULL;
51232 fra.me.REG[2] = NIT_NULL;
51233 fra.me.REG[3] = NIT_NULL;
51234 fra.me.REG[4] = NIT_NULL;
51235 fra.me.REG[5] = NIT_NULL;
51236 fra.me.REG[6] = NIT_NULL;
51237 fra.me.REG[7] = NIT_NULL;
51238 fra.me.REG[8] = NIT_NULL;
51239 fra.me.REG[0] = p0;
51240 fra.me.REG[1] = p1;
51241 /* parser/parser.nit:18960 */
51242 fra.me.REG[2] = NIT_NULL;
51243 /* parser/parser.nit:18961 */
51244 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51245 /* parser/parser.nit:18962 */
51246 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51247 /* parser/parser.nit:18963 */
51248 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51249 /* parser/parser.nit:18964 */
51250 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51251 /* parser/parser.nit:18965 */
51252 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51253 /* parser/parser.nit:18966 */
51254 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51255 /* parser/parser.nit:18967 */
51256 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51257 /* parser/parser.nit:18968 */
51258 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51259 /* parser/parser.nit:18969 */
51260 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51261 /* parser/parser.nit:18970 */
51262 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51263 /* parser/parser.nit:18971 */
51264 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
51265 /* parser/parser.nit:18973 */
51266 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*/;
51267 if (UNTAG_Bool(REGB0)) {
51268 } else {
51269 nit_abort("Assert failed", NULL, LOCATE_parser, 18973);
51270 }
51271 /* parser/parser.nit:18975 */
51272 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]*/;
51273 if (UNTAG_Bool(REGB0)) {
51274 } else {
51275 nit_abort("Assert failed", NULL, LOCATE_parser, 18975);
51276 }
51277 /* parser/parser.nit:18976 */
51278 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
51279 fra.me.REG[8] = fra.me.REG[6];
51280 /* parser/parser.nit:18978 */
51281 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*/;
51282 if (UNTAG_Bool(REGB0)) {
51283 } else {
51284 nit_abort("Assert failed", NULL, LOCATE_parser, 18978);
51285 }
51286 /* parser/parser.nit:18980 */
51287 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*/;
51288 if (UNTAG_Bool(REGB0)) {
51289 } else {
51290 nit_abort("Assert failed", NULL, LOCATE_parser, 18980);
51291 }
51292 /* parser/parser.nit:18982 */
51293 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
51294 if (UNTAG_Bool(REGB0)) {
51295 } else {
51296 nit_abort("Assert failed", NULL, LOCATE_parser, 18982);
51297 }
51298 /* parser/parser.nit:18983 */
51299 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);
51300 /* parser/parser.nit:18991 */
51301 fra.me.REG[2] = fra.me.REG[3];
51302 /* parser/parser.nit:18992 */
51303 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
51304 if (UNTAG_Bool(REGB0)) {
51305 } else {
51306 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 18992);
51307 }
51308 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
51309 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51310 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
51311 stack_frame_head = fra.me.prev;
51312 return;
51313 }
51314 static const char LOCATE_parser___ReduceAction513___action[] = "parser::ReduceAction513::(parser::ReduceAction::action)";
51315 void parser___ReduceAction513___action(val_t p0, val_t p1){
51316 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
51317 val_t REGB0;
51318 val_t tmp;
51319 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51320 fra.me.file = LOCATE_parser;
51321 fra.me.line = 18997;
51322 fra.me.meth = LOCATE_parser___ReduceAction513___action;
51323 fra.me.has_broke = 0;
51324 fra.me.REG_size = 6;
51325 fra.me.nitni_local_ref_head = NULL;
51326 fra.me.REG[0] = NIT_NULL;
51327 fra.me.REG[1] = NIT_NULL;
51328 fra.me.REG[2] = NIT_NULL;
51329 fra.me.REG[3] = NIT_NULL;
51330 fra.me.REG[4] = NIT_NULL;
51331 fra.me.REG[5] = NIT_NULL;
51332 fra.me.REG[0] = p0;
51333 fra.me.REG[1] = p1;
51334 /* parser/parser.nit:18999 */
51335 fra.me.REG[2] = NIT_NULL;
51336 /* parser/parser.nit:19000 */
51337 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51338 /* parser/parser.nit:19001 */
51339 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51340 /* parser/parser.nit:19002 */
51341 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51342 /* parser/parser.nit:19003 */
51343 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51344 /* parser/parser.nit:19005 */
51345 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*/;
51346 if (UNTAG_Bool(REGB0)) {
51347 } else {
51348 nit_abort("Assert failed", NULL, LOCATE_parser, 19005);
51349 }
51350 /* parser/parser.nit:19007 */
51351 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*/;
51352 if (UNTAG_Bool(REGB0)) {
51353 } else {
51354 nit_abort("Assert failed", NULL, LOCATE_parser, 19007);
51355 }
51356 /* parser/parser.nit:19009 */
51357 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
51358 if (UNTAG_Bool(REGB0)) {
51359 } else {
51360 nit_abort("Assert failed", NULL, LOCATE_parser, 19009);
51361 }
51362 /* parser/parser.nit:19010 */
51363 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]);
51364 /* parser/parser.nit:19016 */
51365 fra.me.REG[2] = fra.me.REG[3];
51366 /* parser/parser.nit:19017 */
51367 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
51368 if (UNTAG_Bool(REGB0)) {
51369 } else {
51370 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19017);
51371 }
51372 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
51373 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51374 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
51375 stack_frame_head = fra.me.prev;
51376 return;
51377 }
51378 static const char LOCATE_parser___ReduceAction514___action[] = "parser::ReduceAction514::(parser::ReduceAction::action)";
51379 void parser___ReduceAction514___action(val_t p0, val_t p1){
51380 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
51381 val_t REGB0;
51382 val_t tmp;
51383 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51384 fra.me.file = LOCATE_parser;
51385 fra.me.line = 19022;
51386 fra.me.meth = LOCATE_parser___ReduceAction514___action;
51387 fra.me.has_broke = 0;
51388 fra.me.REG_size = 7;
51389 fra.me.nitni_local_ref_head = NULL;
51390 fra.me.REG[0] = NIT_NULL;
51391 fra.me.REG[1] = NIT_NULL;
51392 fra.me.REG[2] = NIT_NULL;
51393 fra.me.REG[3] = NIT_NULL;
51394 fra.me.REG[4] = NIT_NULL;
51395 fra.me.REG[5] = NIT_NULL;
51396 fra.me.REG[6] = NIT_NULL;
51397 fra.me.REG[0] = p0;
51398 fra.me.REG[1] = p1;
51399 /* parser/parser.nit:19024 */
51400 fra.me.REG[2] = NIT_NULL;
51401 /* parser/parser.nit:19025 */
51402 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51403 /* parser/parser.nit:19026 */
51404 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51405 /* parser/parser.nit:19027 */
51406 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51407 /* parser/parser.nit:19028 */
51408 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51409 /* parser/parser.nit:19029 */
51410 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51411 /* parser/parser.nit:19031 */
51412 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*/;
51413 if (UNTAG_Bool(REGB0)) {
51414 } else {
51415 nit_abort("Assert failed", NULL, LOCATE_parser, 19031);
51416 }
51417 /* parser/parser.nit:19033 */
51418 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*/;
51419 if (UNTAG_Bool(REGB0)) {
51420 } else {
51421 nit_abort("Assert failed", NULL, LOCATE_parser, 19033);
51422 }
51423 /* parser/parser.nit:19035 */
51424 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*/;
51425 if (UNTAG_Bool(REGB0)) {
51426 } else {
51427 nit_abort("Assert failed", NULL, LOCATE_parser, 19035);
51428 }
51429 /* parser/parser.nit:19037 */
51430 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
51431 if (UNTAG_Bool(REGB0)) {
51432 } else {
51433 nit_abort("Assert failed", NULL, LOCATE_parser, 19037);
51434 }
51435 /* parser/parser.nit:19038 */
51436 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]);
51437 /* parser/parser.nit:19044 */
51438 fra.me.REG[2] = fra.me.REG[3];
51439 /* parser/parser.nit:19045 */
51440 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
51441 if (UNTAG_Bool(REGB0)) {
51442 } else {
51443 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19045);
51444 }
51445 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
51446 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51447 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
51448 stack_frame_head = fra.me.prev;
51449 return;
51450 }
51451 static const char LOCATE_parser___ReduceAction515___action[] = "parser::ReduceAction515::(parser::ReduceAction::action)";
51452 void parser___ReduceAction515___action(val_t p0, val_t p1){
51453 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
51454 val_t REGB0;
51455 val_t tmp;
51456 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51457 fra.me.file = LOCATE_parser;
51458 fra.me.line = 19050;
51459 fra.me.meth = LOCATE_parser___ReduceAction515___action;
51460 fra.me.has_broke = 0;
51461 fra.me.REG_size = 5;
51462 fra.me.nitni_local_ref_head = NULL;
51463 fra.me.REG[0] = NIT_NULL;
51464 fra.me.REG[1] = NIT_NULL;
51465 fra.me.REG[2] = NIT_NULL;
51466 fra.me.REG[3] = NIT_NULL;
51467 fra.me.REG[4] = NIT_NULL;
51468 fra.me.REG[0] = p0;
51469 fra.me.REG[1] = p1;
51470 /* parser/parser.nit:19052 */
51471 fra.me.REG[2] = NIT_NULL;
51472 /* parser/parser.nit:19053 */
51473 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51474 /* parser/parser.nit:19054 */
51475 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51476 /* parser/parser.nit:19056 */
51477 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*/;
51478 if (UNTAG_Bool(REGB0)) {
51479 } else {
51480 nit_abort("Assert failed", NULL, LOCATE_parser, 19056);
51481 }
51482 /* parser/parser.nit:19058 */
51483 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
51484 if (UNTAG_Bool(REGB0)) {
51485 } else {
51486 nit_abort("Assert failed", NULL, LOCATE_parser, 19058);
51487 }
51488 /* parser/parser.nit:19059 */
51489 fra.me.REG[3] = NEW_AAssertExpr_parser___parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
51490 /* parser/parser.nit:19065 */
51491 fra.me.REG[2] = fra.me.REG[3];
51492 /* parser/parser.nit:19066 */
51493 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
51494 if (UNTAG_Bool(REGB0)) {
51495 } else {
51496 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19066);
51497 }
51498 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
51499 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51500 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
51501 stack_frame_head = fra.me.prev;
51502 return;
51503 }
51504 static const char LOCATE_parser___ReduceAction516___action[] = "parser::ReduceAction516::(parser::ReduceAction::action)";
51505 void parser___ReduceAction516___action(val_t p0, val_t p1){
51506 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
51507 val_t REGB0;
51508 val_t tmp;
51509 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51510 fra.me.file = LOCATE_parser;
51511 fra.me.line = 19071;
51512 fra.me.meth = LOCATE_parser___ReduceAction516___action;
51513 fra.me.has_broke = 0;
51514 fra.me.REG_size = 6;
51515 fra.me.nitni_local_ref_head = NULL;
51516 fra.me.REG[0] = NIT_NULL;
51517 fra.me.REG[1] = NIT_NULL;
51518 fra.me.REG[2] = NIT_NULL;
51519 fra.me.REG[3] = NIT_NULL;
51520 fra.me.REG[4] = NIT_NULL;
51521 fra.me.REG[5] = NIT_NULL;
51522 fra.me.REG[0] = p0;
51523 fra.me.REG[1] = p1;
51524 /* parser/parser.nit:19073 */
51525 fra.me.REG[2] = NIT_NULL;
51526 /* parser/parser.nit:19074 */
51527 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51528 /* parser/parser.nit:19075 */
51529 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51530 /* parser/parser.nit:19076 */
51531 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51532 /* parser/parser.nit:19078 */
51533 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*/;
51534 if (UNTAG_Bool(REGB0)) {
51535 } else {
51536 nit_abort("Assert failed", NULL, LOCATE_parser, 19078);
51537 }
51538 /* parser/parser.nit:19080 */
51539 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*/;
51540 if (UNTAG_Bool(REGB0)) {
51541 } else {
51542 nit_abort("Assert failed", NULL, LOCATE_parser, 19080);
51543 }
51544 /* parser/parser.nit:19082 */
51545 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
51546 if (UNTAG_Bool(REGB0)) {
51547 } else {
51548 nit_abort("Assert failed", NULL, LOCATE_parser, 19082);
51549 }
51550 /* parser/parser.nit:19083 */
51551 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);
51552 /* parser/parser.nit:19089 */
51553 fra.me.REG[2] = fra.me.REG[3];
51554 /* parser/parser.nit:19090 */
51555 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
51556 if (UNTAG_Bool(REGB0)) {
51557 } else {
51558 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19090);
51559 }
51560 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
51561 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51562 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
51563 stack_frame_head = fra.me.prev;
51564 return;
51565 }
51566 static const char LOCATE_parser___ReduceAction517___action[] = "parser::ReduceAction517::(parser::ReduceAction::action)";
51567 void parser___ReduceAction517___action(val_t p0, val_t p1){
51568 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
51569 val_t REGB0;
51570 val_t tmp;
51571 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51572 fra.me.file = LOCATE_parser;
51573 fra.me.line = 19095;
51574 fra.me.meth = LOCATE_parser___ReduceAction517___action;
51575 fra.me.has_broke = 0;
51576 fra.me.REG_size = 4;
51577 fra.me.nitni_local_ref_head = NULL;
51578 fra.me.REG[0] = NIT_NULL;
51579 fra.me.REG[1] = NIT_NULL;
51580 fra.me.REG[2] = NIT_NULL;
51581 fra.me.REG[3] = NIT_NULL;
51582 fra.me.REG[0] = p0;
51583 fra.me.REG[1] = p1;
51584 /* parser/parser.nit:19097 */
51585 fra.me.REG[2] = NIT_NULL;
51586 /* parser/parser.nit:19098 */
51587 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51588 /* parser/parser.nit:19099 */
51589 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51590 /* parser/parser.nit:19101 */
51591 fra.me.REG[2] = fra.me.REG[3];
51592 /* parser/parser.nit:19102 */
51593 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
51594 if (UNTAG_Bool(REGB0)) {
51595 } else {
51596 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19102);
51597 }
51598 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
51599 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51600 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
51601 stack_frame_head = fra.me.prev;
51602 return;
51603 }
51604 static const char LOCATE_parser___ReduceAction521___action[] = "parser::ReduceAction521::(parser::ReduceAction::action)";
51605 void parser___ReduceAction521___action(val_t p0, val_t p1){
51606 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
51607 val_t REGB0;
51608 val_t tmp;
51609 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51610 fra.me.file = LOCATE_parser;
51611 fra.me.line = 19107;
51612 fra.me.meth = LOCATE_parser___ReduceAction521___action;
51613 fra.me.has_broke = 0;
51614 fra.me.REG_size = 7;
51615 fra.me.nitni_local_ref_head = NULL;
51616 fra.me.REG[0] = NIT_NULL;
51617 fra.me.REG[1] = NIT_NULL;
51618 fra.me.REG[2] = NIT_NULL;
51619 fra.me.REG[3] = NIT_NULL;
51620 fra.me.REG[4] = NIT_NULL;
51621 fra.me.REG[5] = NIT_NULL;
51622 fra.me.REG[6] = NIT_NULL;
51623 fra.me.REG[0] = p0;
51624 fra.me.REG[1] = p1;
51625 /* parser/parser.nit:19109 */
51626 fra.me.REG[2] = NIT_NULL;
51627 /* parser/parser.nit:19110 */
51628 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51629 /* parser/parser.nit:19111 */
51630 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51631 /* parser/parser.nit:19112 */
51632 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51633 /* parser/parser.nit:19113 */
51634 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
51635 /* parser/parser.nit:19115 */
51636 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*/;
51637 if (UNTAG_Bool(REGB0)) {
51638 } else {
51639 nit_abort("Assert failed", NULL, LOCATE_parser, 19115);
51640 }
51641 /* parser/parser.nit:19117 */
51642 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*/;
51643 if (UNTAG_Bool(REGB0)) {
51644 } else {
51645 nit_abort("Assert failed", NULL, LOCATE_parser, 19117);
51646 }
51647 /* parser/parser.nit:19119 */
51648 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]*/;
51649 if (UNTAG_Bool(REGB0)) {
51650 } else {
51651 nit_abort("Assert failed", NULL, LOCATE_parser, 19119);
51652 }
51653 /* parser/parser.nit:19120 */
51654 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
51655 fra.me.REG[6] = fra.me.REG[3];
51656 /* parser/parser.nit:19121 */
51657 fra.me.REG[6] = NEW_ABraExpr_parser___parser_prod___ABraExpr___init_abraexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
51658 /* parser/parser.nit:19126 */
51659 fra.me.REG[2] = fra.me.REG[6];
51660 /* parser/parser.nit:19127 */
51661 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
51662 if (UNTAG_Bool(REGB0)) {
51663 } else {
51664 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19127);
51665 }
51666 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
51667 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51668 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
51669 stack_frame_head = fra.me.prev;
51670 return;
51671 }
51672 static const char LOCATE_parser___ReduceAction523___action[] = "parser::ReduceAction523::(parser::ReduceAction::action)";
51673 void parser___ReduceAction523___action(val_t p0, val_t p1){
51674 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
51675 val_t REGB0;
51676 val_t tmp;
51677 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51678 fra.me.file = LOCATE_parser;
51679 fra.me.line = 19132;
51680 fra.me.meth = LOCATE_parser___ReduceAction523___action;
51681 fra.me.has_broke = 0;
51682 fra.me.REG_size = 9;
51683 fra.me.nitni_local_ref_head = NULL;
51684 fra.me.REG[0] = NIT_NULL;
51685 fra.me.REG[1] = NIT_NULL;
51686 fra.me.REG[2] = NIT_NULL;
51687 fra.me.REG[3] = NIT_NULL;
51688 fra.me.REG[4] = NIT_NULL;
51689 fra.me.REG[5] = NIT_NULL;
51690 fra.me.REG[6] = NIT_NULL;
51691 fra.me.REG[7] = NIT_NULL;
51692 fra.me.REG[8] = NIT_NULL;
51693 fra.me.REG[0] = p0;
51694 fra.me.REG[1] = p1;
51695 /* parser/parser.nit:19134 */
51696 fra.me.REG[2] = NIT_NULL;
51697 /* parser/parser.nit:19135 */
51698 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51699 /* parser/parser.nit:19136 */
51700 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51701 /* parser/parser.nit:19137 */
51702 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51703 /* parser/parser.nit:19138 */
51704 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51705 /* parser/parser.nit:19139 */
51706 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51707 /* parser/parser.nit:19140 */
51708 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51709 /* parser/parser.nit:19141 */
51710 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51711 /* parser/parser.nit:19142 */
51712 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51713 /* parser/parser.nit:19143 */
51714 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51715 /* parser/parser.nit:19144 */
51716 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51717 /* parser/parser.nit:19145 */
51718 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51719 /* parser/parser.nit:19147 */
51720 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*/;
51721 if (UNTAG_Bool(REGB0)) {
51722 } else {
51723 nit_abort("Assert failed", NULL, LOCATE_parser, 19147);
51724 }
51725 /* parser/parser.nit:19149 */
51726 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*/;
51727 if (UNTAG_Bool(REGB0)) {
51728 } else {
51729 nit_abort("Assert failed", NULL, LOCATE_parser, 19149);
51730 }
51731 /* parser/parser.nit:19151 */
51732 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*/;
51733 if (UNTAG_Bool(REGB0)) {
51734 } else {
51735 nit_abort("Assert failed", NULL, LOCATE_parser, 19151);
51736 }
51737 /* parser/parser.nit:19153 */
51738 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*/;
51739 if (UNTAG_Bool(REGB0)) {
51740 } else {
51741 nit_abort("Assert failed", NULL, LOCATE_parser, 19153);
51742 }
51743 /* parser/parser.nit:19155 */
51744 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*/;
51745 if (UNTAG_Bool(REGB0)) {
51746 } else {
51747 nit_abort("Assert failed", NULL, LOCATE_parser, 19155);
51748 }
51749 /* parser/parser.nit:19157 */
51750 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
51751 if (UNTAG_Bool(REGB0)) {
51752 } else {
51753 nit_abort("Assert failed", NULL, LOCATE_parser, 19157);
51754 }
51755 /* parser/parser.nit:19158 */
51756 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]);
51757 /* parser/parser.nit:19166 */
51758 fra.me.REG[2] = fra.me.REG[3];
51759 /* parser/parser.nit:19167 */
51760 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
51761 if (UNTAG_Bool(REGB0)) {
51762 } else {
51763 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19167);
51764 }
51765 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
51766 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51767 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
51768 stack_frame_head = fra.me.prev;
51769 return;
51770 }
51771 static const char LOCATE_parser___ReduceAction525___action[] = "parser::ReduceAction525::(parser::ReduceAction::action)";
51772 void parser___ReduceAction525___action(val_t p0, val_t p1){
51773 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
51774 val_t REGB0;
51775 val_t tmp;
51776 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51777 fra.me.file = LOCATE_parser;
51778 fra.me.line = 19172;
51779 fra.me.meth = LOCATE_parser___ReduceAction525___action;
51780 fra.me.has_broke = 0;
51781 fra.me.REG_size = 5;
51782 fra.me.nitni_local_ref_head = NULL;
51783 fra.me.REG[0] = NIT_NULL;
51784 fra.me.REG[1] = NIT_NULL;
51785 fra.me.REG[2] = NIT_NULL;
51786 fra.me.REG[3] = NIT_NULL;
51787 fra.me.REG[4] = NIT_NULL;
51788 fra.me.REG[0] = p0;
51789 fra.me.REG[1] = p1;
51790 /* parser/parser.nit:19174 */
51791 fra.me.REG[2] = NIT_NULL;
51792 /* parser/parser.nit:19175 */
51793 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51794 /* parser/parser.nit:19176 */
51795 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51796 /* parser/parser.nit:19177 */
51797 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51798 /* parser/parser.nit:19178 */
51799 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51800 /* parser/parser.nit:19180 */
51801 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*/;
51802 if (UNTAG_Bool(REGB0)) {
51803 } else {
51804 nit_abort("Assert failed", NULL, LOCATE_parser, 19180);
51805 }
51806 /* parser/parser.nit:19182 */
51807 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
51808 if (UNTAG_Bool(REGB0)) {
51809 } else {
51810 nit_abort("Assert failed", NULL, LOCATE_parser, 19182);
51811 }
51812 /* parser/parser.nit:19183 */
51813 fra.me.REG[3] = NEW_AOrExpr_parser___parser_prod___AOrExpr___init_aorexpr(fra.me.REG[4], fra.me.REG[3]);
51814 /* parser/parser.nit:19187 */
51815 fra.me.REG[2] = fra.me.REG[3];
51816 /* parser/parser.nit:19188 */
51817 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
51818 if (UNTAG_Bool(REGB0)) {
51819 } else {
51820 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19188);
51821 }
51822 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
51823 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51824 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
51825 stack_frame_head = fra.me.prev;
51826 return;
51827 }
51828 static const char LOCATE_parser___ReduceAction526___action[] = "parser::ReduceAction526::(parser::ReduceAction::action)";
51829 void parser___ReduceAction526___action(val_t p0, val_t p1){
51830 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
51831 val_t REGB0;
51832 val_t tmp;
51833 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51834 fra.me.file = LOCATE_parser;
51835 fra.me.line = 19193;
51836 fra.me.meth = LOCATE_parser___ReduceAction526___action;
51837 fra.me.has_broke = 0;
51838 fra.me.REG_size = 5;
51839 fra.me.nitni_local_ref_head = NULL;
51840 fra.me.REG[0] = NIT_NULL;
51841 fra.me.REG[1] = NIT_NULL;
51842 fra.me.REG[2] = NIT_NULL;
51843 fra.me.REG[3] = NIT_NULL;
51844 fra.me.REG[4] = NIT_NULL;
51845 fra.me.REG[0] = p0;
51846 fra.me.REG[1] = p1;
51847 /* parser/parser.nit:19195 */
51848 fra.me.REG[2] = NIT_NULL;
51849 /* parser/parser.nit:19196 */
51850 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51851 /* parser/parser.nit:19197 */
51852 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51853 /* parser/parser.nit:19198 */
51854 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51855 /* parser/parser.nit:19199 */
51856 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51857 /* parser/parser.nit:19201 */
51858 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*/;
51859 if (UNTAG_Bool(REGB0)) {
51860 } else {
51861 nit_abort("Assert failed", NULL, LOCATE_parser, 19201);
51862 }
51863 /* parser/parser.nit:19203 */
51864 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
51865 if (UNTAG_Bool(REGB0)) {
51866 } else {
51867 nit_abort("Assert failed", NULL, LOCATE_parser, 19203);
51868 }
51869 /* parser/parser.nit:19204 */
51870 fra.me.REG[3] = NEW_AAndExpr_parser___parser_prod___AAndExpr___init_aandexpr(fra.me.REG[4], fra.me.REG[3]);
51871 /* parser/parser.nit:19208 */
51872 fra.me.REG[2] = fra.me.REG[3];
51873 /* parser/parser.nit:19209 */
51874 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
51875 if (UNTAG_Bool(REGB0)) {
51876 } else {
51877 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19209);
51878 }
51879 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
51880 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51881 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
51882 stack_frame_head = fra.me.prev;
51883 return;
51884 }
51885 static const char LOCATE_parser___ReduceAction527___action[] = "parser::ReduceAction527::(parser::ReduceAction::action)";
51886 void parser___ReduceAction527___action(val_t p0, val_t p1){
51887 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
51888 val_t REGB0;
51889 val_t tmp;
51890 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51891 fra.me.file = LOCATE_parser;
51892 fra.me.line = 19214;
51893 fra.me.meth = LOCATE_parser___ReduceAction527___action;
51894 fra.me.has_broke = 0;
51895 fra.me.REG_size = 5;
51896 fra.me.nitni_local_ref_head = NULL;
51897 fra.me.REG[0] = NIT_NULL;
51898 fra.me.REG[1] = NIT_NULL;
51899 fra.me.REG[2] = NIT_NULL;
51900 fra.me.REG[3] = NIT_NULL;
51901 fra.me.REG[4] = NIT_NULL;
51902 fra.me.REG[0] = p0;
51903 fra.me.REG[1] = p1;
51904 /* parser/parser.nit:19216 */
51905 fra.me.REG[2] = NIT_NULL;
51906 /* parser/parser.nit:19217 */
51907 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51908 /* parser/parser.nit:19218 */
51909 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51910 /* parser/parser.nit:19219 */
51911 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51912 /* parser/parser.nit:19220 */
51913 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51914 /* parser/parser.nit:19221 */
51915 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51916 /* parser/parser.nit:19223 */
51917 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*/;
51918 if (UNTAG_Bool(REGB0)) {
51919 } else {
51920 nit_abort("Assert failed", NULL, LOCATE_parser, 19223);
51921 }
51922 /* parser/parser.nit:19225 */
51923 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
51924 if (UNTAG_Bool(REGB0)) {
51925 } else {
51926 nit_abort("Assert failed", NULL, LOCATE_parser, 19225);
51927 }
51928 /* parser/parser.nit:19226 */
51929 fra.me.REG[3] = NEW_AOrElseExpr_parser___parser_prod___AOrElseExpr___init_aorelseexpr(fra.me.REG[4], fra.me.REG[3]);
51930 /* parser/parser.nit:19230 */
51931 fra.me.REG[2] = fra.me.REG[3];
51932 /* parser/parser.nit:19231 */
51933 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
51934 if (UNTAG_Bool(REGB0)) {
51935 } else {
51936 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19231);
51937 }
51938 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
51939 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51940 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
51941 stack_frame_head = fra.me.prev;
51942 return;
51943 }
51944 static const char LOCATE_parser___ReduceAction529___action[] = "parser::ReduceAction529::(parser::ReduceAction::action)";
51945 void parser___ReduceAction529___action(val_t p0, val_t p1){
51946 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
51947 val_t REGB0;
51948 val_t tmp;
51949 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51950 fra.me.file = LOCATE_parser;
51951 fra.me.line = 19236;
51952 fra.me.meth = LOCATE_parser___ReduceAction529___action;
51953 fra.me.has_broke = 0;
51954 fra.me.REG_size = 5;
51955 fra.me.nitni_local_ref_head = NULL;
51956 fra.me.REG[0] = NIT_NULL;
51957 fra.me.REG[1] = NIT_NULL;
51958 fra.me.REG[2] = NIT_NULL;
51959 fra.me.REG[3] = NIT_NULL;
51960 fra.me.REG[4] = NIT_NULL;
51961 fra.me.REG[0] = p0;
51962 fra.me.REG[1] = p1;
51963 /* parser/parser.nit:19238 */
51964 fra.me.REG[2] = NIT_NULL;
51965 /* parser/parser.nit:19239 */
51966 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51967 /* parser/parser.nit:19240 */
51968 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51969 /* parser/parser.nit:19241 */
51970 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51971 /* parser/parser.nit:19243 */
51972 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*/;
51973 if (UNTAG_Bool(REGB0)) {
51974 } else {
51975 nit_abort("Assert failed", NULL, LOCATE_parser, 19243);
51976 }
51977 /* parser/parser.nit:19245 */
51978 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
51979 if (UNTAG_Bool(REGB0)) {
51980 } else {
51981 nit_abort("Assert failed", NULL, LOCATE_parser, 19245);
51982 }
51983 /* parser/parser.nit:19246 */
51984 fra.me.REG[3] = NEW_ANotExpr_parser___parser_prod___ANotExpr___init_anotexpr(fra.me.REG[4], fra.me.REG[3]);
51985 /* parser/parser.nit:19250 */
51986 fra.me.REG[2] = fra.me.REG[3];
51987 /* parser/parser.nit:19251 */
51988 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
51989 if (UNTAG_Bool(REGB0)) {
51990 } else {
51991 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19251);
51992 }
51993 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
51994 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51995 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
51996 stack_frame_head = fra.me.prev;
51997 return;
51998 }
51999 static const char LOCATE_parser___ReduceAction531___action[] = "parser::ReduceAction531::(parser::ReduceAction::action)";
52000 void parser___ReduceAction531___action(val_t p0, val_t p1){
52001 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52002 val_t REGB0;
52003 val_t tmp;
52004 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52005 fra.me.file = LOCATE_parser;
52006 fra.me.line = 19256;
52007 fra.me.meth = LOCATE_parser___ReduceAction531___action;
52008 fra.me.has_broke = 0;
52009 fra.me.REG_size = 5;
52010 fra.me.nitni_local_ref_head = NULL;
52011 fra.me.REG[0] = NIT_NULL;
52012 fra.me.REG[1] = NIT_NULL;
52013 fra.me.REG[2] = NIT_NULL;
52014 fra.me.REG[3] = NIT_NULL;
52015 fra.me.REG[4] = NIT_NULL;
52016 fra.me.REG[0] = p0;
52017 fra.me.REG[1] = p1;
52018 /* parser/parser.nit:19258 */
52019 fra.me.REG[2] = NIT_NULL;
52020 /* parser/parser.nit:19259 */
52021 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52022 /* parser/parser.nit:19260 */
52023 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52024 /* parser/parser.nit:19261 */
52025 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52026 /* parser/parser.nit:19262 */
52027 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52028 /* parser/parser.nit:19264 */
52029 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*/;
52030 if (UNTAG_Bool(REGB0)) {
52031 } else {
52032 nit_abort("Assert failed", NULL, LOCATE_parser, 19264);
52033 }
52034 /* parser/parser.nit:19266 */
52035 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
52036 if (UNTAG_Bool(REGB0)) {
52037 } else {
52038 nit_abort("Assert failed", NULL, LOCATE_parser, 19266);
52039 }
52040 /* parser/parser.nit:19267 */
52041 fra.me.REG[3] = NEW_AEqExpr_parser___parser_prod___AEqExpr___init_aeqexpr(fra.me.REG[4], fra.me.REG[3]);
52042 /* parser/parser.nit:19271 */
52043 fra.me.REG[2] = fra.me.REG[3];
52044 /* parser/parser.nit:19272 */
52045 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
52046 if (UNTAG_Bool(REGB0)) {
52047 } else {
52048 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19272);
52049 }
52050 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
52051 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52052 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
52053 stack_frame_head = fra.me.prev;
52054 return;
52055 }
52056 static const char LOCATE_parser___ReduceAction532___action[] = "parser::ReduceAction532::(parser::ReduceAction::action)";
52057 void parser___ReduceAction532___action(val_t p0, val_t p1){
52058 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52059 val_t REGB0;
52060 val_t tmp;
52061 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52062 fra.me.file = LOCATE_parser;
52063 fra.me.line = 19277;
52064 fra.me.meth = LOCATE_parser___ReduceAction532___action;
52065 fra.me.has_broke = 0;
52066 fra.me.REG_size = 5;
52067 fra.me.nitni_local_ref_head = NULL;
52068 fra.me.REG[0] = NIT_NULL;
52069 fra.me.REG[1] = NIT_NULL;
52070 fra.me.REG[2] = NIT_NULL;
52071 fra.me.REG[3] = NIT_NULL;
52072 fra.me.REG[4] = NIT_NULL;
52073 fra.me.REG[0] = p0;
52074 fra.me.REG[1] = p1;
52075 /* parser/parser.nit:19279 */
52076 fra.me.REG[2] = NIT_NULL;
52077 /* parser/parser.nit:19280 */
52078 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52079 /* parser/parser.nit:19281 */
52080 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52081 /* parser/parser.nit:19282 */
52082 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52083 /* parser/parser.nit:19283 */
52084 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52085 /* parser/parser.nit:19285 */
52086 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*/;
52087 if (UNTAG_Bool(REGB0)) {
52088 } else {
52089 nit_abort("Assert failed", NULL, LOCATE_parser, 19285);
52090 }
52091 /* parser/parser.nit:19287 */
52092 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
52093 if (UNTAG_Bool(REGB0)) {
52094 } else {
52095 nit_abort("Assert failed", NULL, LOCATE_parser, 19287);
52096 }
52097 /* parser/parser.nit:19288 */
52098 fra.me.REG[3] = NEW_AEeExpr_parser___parser_prod___AEeExpr___init_aeeexpr(fra.me.REG[4], fra.me.REG[3]);
52099 /* parser/parser.nit:19292 */
52100 fra.me.REG[2] = fra.me.REG[3];
52101 /* parser/parser.nit:19293 */
52102 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
52103 if (UNTAG_Bool(REGB0)) {
52104 } else {
52105 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19293);
52106 }
52107 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
52108 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52109 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
52110 stack_frame_head = fra.me.prev;
52111 return;
52112 }
52113 static const char LOCATE_parser___ReduceAction533___action[] = "parser::ReduceAction533::(parser::ReduceAction::action)";
52114 void parser___ReduceAction533___action(val_t p0, val_t p1){
52115 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52116 val_t REGB0;
52117 val_t tmp;
52118 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52119 fra.me.file = LOCATE_parser;
52120 fra.me.line = 19298;
52121 fra.me.meth = LOCATE_parser___ReduceAction533___action;
52122 fra.me.has_broke = 0;
52123 fra.me.REG_size = 5;
52124 fra.me.nitni_local_ref_head = NULL;
52125 fra.me.REG[0] = NIT_NULL;
52126 fra.me.REG[1] = NIT_NULL;
52127 fra.me.REG[2] = NIT_NULL;
52128 fra.me.REG[3] = NIT_NULL;
52129 fra.me.REG[4] = NIT_NULL;
52130 fra.me.REG[0] = p0;
52131 fra.me.REG[1] = p1;
52132 /* parser/parser.nit:19300 */
52133 fra.me.REG[2] = NIT_NULL;
52134 /* parser/parser.nit:19301 */
52135 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52136 /* parser/parser.nit:19302 */
52137 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52138 /* parser/parser.nit:19303 */
52139 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52140 /* parser/parser.nit:19304 */
52141 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52142 /* parser/parser.nit:19306 */
52143 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*/;
52144 if (UNTAG_Bool(REGB0)) {
52145 } else {
52146 nit_abort("Assert failed", NULL, LOCATE_parser, 19306);
52147 }
52148 /* parser/parser.nit:19308 */
52149 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
52150 if (UNTAG_Bool(REGB0)) {
52151 } else {
52152 nit_abort("Assert failed", NULL, LOCATE_parser, 19308);
52153 }
52154 /* parser/parser.nit:19309 */
52155 fra.me.REG[3] = NEW_ANeExpr_parser___parser_prod___ANeExpr___init_aneexpr(fra.me.REG[4], fra.me.REG[3]);
52156 /* parser/parser.nit:19313 */
52157 fra.me.REG[2] = fra.me.REG[3];
52158 /* parser/parser.nit:19314 */
52159 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
52160 if (UNTAG_Bool(REGB0)) {
52161 } else {
52162 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19314);
52163 }
52164 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
52165 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52166 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
52167 stack_frame_head = fra.me.prev;
52168 return;
52169 }
52170 static const char LOCATE_parser___ReduceAction534___action[] = "parser::ReduceAction534::(parser::ReduceAction::action)";
52171 void parser___ReduceAction534___action(val_t p0, val_t p1){
52172 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52173 val_t REGB0;
52174 val_t tmp;
52175 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52176 fra.me.file = LOCATE_parser;
52177 fra.me.line = 19319;
52178 fra.me.meth = LOCATE_parser___ReduceAction534___action;
52179 fra.me.has_broke = 0;
52180 fra.me.REG_size = 5;
52181 fra.me.nitni_local_ref_head = NULL;
52182 fra.me.REG[0] = NIT_NULL;
52183 fra.me.REG[1] = NIT_NULL;
52184 fra.me.REG[2] = NIT_NULL;
52185 fra.me.REG[3] = NIT_NULL;
52186 fra.me.REG[4] = NIT_NULL;
52187 fra.me.REG[0] = p0;
52188 fra.me.REG[1] = p1;
52189 /* parser/parser.nit:19321 */
52190 fra.me.REG[2] = NIT_NULL;
52191 /* parser/parser.nit:19322 */
52192 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52193 /* parser/parser.nit:19323 */
52194 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52195 /* parser/parser.nit:19324 */
52196 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52197 /* parser/parser.nit:19325 */
52198 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52199 /* parser/parser.nit:19327 */
52200 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*/;
52201 if (UNTAG_Bool(REGB0)) {
52202 } else {
52203 nit_abort("Assert failed", NULL, LOCATE_parser, 19327);
52204 }
52205 /* parser/parser.nit:19329 */
52206 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
52207 if (UNTAG_Bool(REGB0)) {
52208 } else {
52209 nit_abort("Assert failed", NULL, LOCATE_parser, 19329);
52210 }
52211 /* parser/parser.nit:19330 */
52212 fra.me.REG[3] = NEW_ALtExpr_parser___parser_prod___ALtExpr___init_altexpr(fra.me.REG[4], fra.me.REG[3]);
52213 /* parser/parser.nit:19334 */
52214 fra.me.REG[2] = fra.me.REG[3];
52215 /* parser/parser.nit:19335 */
52216 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
52217 if (UNTAG_Bool(REGB0)) {
52218 } else {
52219 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19335);
52220 }
52221 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
52222 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52223 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
52224 stack_frame_head = fra.me.prev;
52225 return;
52226 }
52227 static const char LOCATE_parser___ReduceAction535___action[] = "parser::ReduceAction535::(parser::ReduceAction::action)";
52228 void parser___ReduceAction535___action(val_t p0, val_t p1){
52229 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52230 val_t REGB0;
52231 val_t tmp;
52232 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52233 fra.me.file = LOCATE_parser;
52234 fra.me.line = 19340;
52235 fra.me.meth = LOCATE_parser___ReduceAction535___action;
52236 fra.me.has_broke = 0;
52237 fra.me.REG_size = 5;
52238 fra.me.nitni_local_ref_head = NULL;
52239 fra.me.REG[0] = NIT_NULL;
52240 fra.me.REG[1] = NIT_NULL;
52241 fra.me.REG[2] = NIT_NULL;
52242 fra.me.REG[3] = NIT_NULL;
52243 fra.me.REG[4] = NIT_NULL;
52244 fra.me.REG[0] = p0;
52245 fra.me.REG[1] = p1;
52246 /* parser/parser.nit:19342 */
52247 fra.me.REG[2] = NIT_NULL;
52248 /* parser/parser.nit:19343 */
52249 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52250 /* parser/parser.nit:19344 */
52251 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52252 /* parser/parser.nit:19345 */
52253 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52254 /* parser/parser.nit:19346 */
52255 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52256 /* parser/parser.nit:19348 */
52257 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*/;
52258 if (UNTAG_Bool(REGB0)) {
52259 } else {
52260 nit_abort("Assert failed", NULL, LOCATE_parser, 19348);
52261 }
52262 /* parser/parser.nit:19350 */
52263 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
52264 if (UNTAG_Bool(REGB0)) {
52265 } else {
52266 nit_abort("Assert failed", NULL, LOCATE_parser, 19350);
52267 }
52268 /* parser/parser.nit:19351 */
52269 fra.me.REG[3] = NEW_ALeExpr_parser___parser_prod___ALeExpr___init_aleexpr(fra.me.REG[4], fra.me.REG[3]);
52270 /* parser/parser.nit:19355 */
52271 fra.me.REG[2] = fra.me.REG[3];
52272 /* parser/parser.nit:19356 */
52273 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
52274 if (UNTAG_Bool(REGB0)) {
52275 } else {
52276 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19356);
52277 }
52278 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
52279 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52280 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
52281 stack_frame_head = fra.me.prev;
52282 return;
52283 }
52284 static const char LOCATE_parser___ReduceAction536___action[] = "parser::ReduceAction536::(parser::ReduceAction::action)";
52285 void parser___ReduceAction536___action(val_t p0, val_t p1){
52286 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52287 val_t REGB0;
52288 val_t tmp;
52289 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52290 fra.me.file = LOCATE_parser;
52291 fra.me.line = 19361;
52292 fra.me.meth = LOCATE_parser___ReduceAction536___action;
52293 fra.me.has_broke = 0;
52294 fra.me.REG_size = 5;
52295 fra.me.nitni_local_ref_head = NULL;
52296 fra.me.REG[0] = NIT_NULL;
52297 fra.me.REG[1] = NIT_NULL;
52298 fra.me.REG[2] = NIT_NULL;
52299 fra.me.REG[3] = NIT_NULL;
52300 fra.me.REG[4] = NIT_NULL;
52301 fra.me.REG[0] = p0;
52302 fra.me.REG[1] = p1;
52303 /* parser/parser.nit:19363 */
52304 fra.me.REG[2] = NIT_NULL;
52305 /* parser/parser.nit:19364 */
52306 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52307 /* parser/parser.nit:19365 */
52308 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52309 /* parser/parser.nit:19366 */
52310 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52311 /* parser/parser.nit:19367 */
52312 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52313 /* parser/parser.nit:19369 */
52314 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*/;
52315 if (UNTAG_Bool(REGB0)) {
52316 } else {
52317 nit_abort("Assert failed", NULL, LOCATE_parser, 19369);
52318 }
52319 /* parser/parser.nit:19371 */
52320 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
52321 if (UNTAG_Bool(REGB0)) {
52322 } else {
52323 nit_abort("Assert failed", NULL, LOCATE_parser, 19371);
52324 }
52325 /* parser/parser.nit:19372 */
52326 fra.me.REG[3] = NEW_ALlExpr_parser___parser_prod___ALlExpr___init_allexpr(fra.me.REG[4], fra.me.REG[3]);
52327 /* parser/parser.nit:19376 */
52328 fra.me.REG[2] = fra.me.REG[3];
52329 /* parser/parser.nit:19377 */
52330 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
52331 if (UNTAG_Bool(REGB0)) {
52332 } else {
52333 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19377);
52334 }
52335 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
52336 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52337 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
52338 stack_frame_head = fra.me.prev;
52339 return;
52340 }
52341 static const char LOCATE_parser___ReduceAction537___action[] = "parser::ReduceAction537::(parser::ReduceAction::action)";
52342 void parser___ReduceAction537___action(val_t p0, val_t p1){
52343 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52344 val_t REGB0;
52345 val_t tmp;
52346 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52347 fra.me.file = LOCATE_parser;
52348 fra.me.line = 19382;
52349 fra.me.meth = LOCATE_parser___ReduceAction537___action;
52350 fra.me.has_broke = 0;
52351 fra.me.REG_size = 5;
52352 fra.me.nitni_local_ref_head = NULL;
52353 fra.me.REG[0] = NIT_NULL;
52354 fra.me.REG[1] = NIT_NULL;
52355 fra.me.REG[2] = NIT_NULL;
52356 fra.me.REG[3] = NIT_NULL;
52357 fra.me.REG[4] = NIT_NULL;
52358 fra.me.REG[0] = p0;
52359 fra.me.REG[1] = p1;
52360 /* parser/parser.nit:19384 */
52361 fra.me.REG[2] = NIT_NULL;
52362 /* parser/parser.nit:19385 */
52363 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52364 /* parser/parser.nit:19386 */
52365 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52366 /* parser/parser.nit:19387 */
52367 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52368 /* parser/parser.nit:19388 */
52369 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52370 /* parser/parser.nit:19390 */
52371 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*/;
52372 if (UNTAG_Bool(REGB0)) {
52373 } else {
52374 nit_abort("Assert failed", NULL, LOCATE_parser, 19390);
52375 }
52376 /* parser/parser.nit:19392 */
52377 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
52378 if (UNTAG_Bool(REGB0)) {
52379 } else {
52380 nit_abort("Assert failed", NULL, LOCATE_parser, 19392);
52381 }
52382 /* parser/parser.nit:19393 */
52383 fra.me.REG[3] = NEW_AGtExpr_parser___parser_prod___AGtExpr___init_agtexpr(fra.me.REG[4], fra.me.REG[3]);
52384 /* parser/parser.nit:19397 */
52385 fra.me.REG[2] = fra.me.REG[3];
52386 /* parser/parser.nit:19398 */
52387 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
52388 if (UNTAG_Bool(REGB0)) {
52389 } else {
52390 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19398);
52391 }
52392 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
52393 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52394 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
52395 stack_frame_head = fra.me.prev;
52396 return;
52397 }
52398 static const char LOCATE_parser___ReduceAction538___action[] = "parser::ReduceAction538::(parser::ReduceAction::action)";
52399 void parser___ReduceAction538___action(val_t p0, val_t p1){
52400 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52401 val_t REGB0;
52402 val_t tmp;
52403 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52404 fra.me.file = LOCATE_parser;
52405 fra.me.line = 19403;
52406 fra.me.meth = LOCATE_parser___ReduceAction538___action;
52407 fra.me.has_broke = 0;
52408 fra.me.REG_size = 5;
52409 fra.me.nitni_local_ref_head = NULL;
52410 fra.me.REG[0] = NIT_NULL;
52411 fra.me.REG[1] = NIT_NULL;
52412 fra.me.REG[2] = NIT_NULL;
52413 fra.me.REG[3] = NIT_NULL;
52414 fra.me.REG[4] = NIT_NULL;
52415 fra.me.REG[0] = p0;
52416 fra.me.REG[1] = p1;
52417 /* parser/parser.nit:19405 */
52418 fra.me.REG[2] = NIT_NULL;
52419 /* parser/parser.nit:19406 */
52420 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52421 /* parser/parser.nit:19407 */
52422 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52423 /* parser/parser.nit:19408 */
52424 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52425 /* parser/parser.nit:19409 */
52426 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52427 /* parser/parser.nit:19411 */
52428 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*/;
52429 if (UNTAG_Bool(REGB0)) {
52430 } else {
52431 nit_abort("Assert failed", NULL, LOCATE_parser, 19411);
52432 }
52433 /* parser/parser.nit:19413 */
52434 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
52435 if (UNTAG_Bool(REGB0)) {
52436 } else {
52437 nit_abort("Assert failed", NULL, LOCATE_parser, 19413);
52438 }
52439 /* parser/parser.nit:19414 */
52440 fra.me.REG[3] = NEW_AGeExpr_parser___parser_prod___AGeExpr___init_ageexpr(fra.me.REG[4], fra.me.REG[3]);
52441 /* parser/parser.nit:19418 */
52442 fra.me.REG[2] = fra.me.REG[3];
52443 /* parser/parser.nit:19419 */
52444 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
52445 if (UNTAG_Bool(REGB0)) {
52446 } else {
52447 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19419);
52448 }
52449 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
52450 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52451 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
52452 stack_frame_head = fra.me.prev;
52453 return;
52454 }
52455 static const char LOCATE_parser___ReduceAction539___action[] = "parser::ReduceAction539::(parser::ReduceAction::action)";
52456 void parser___ReduceAction539___action(val_t p0, val_t p1){
52457 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52458 val_t REGB0;
52459 val_t tmp;
52460 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52461 fra.me.file = LOCATE_parser;
52462 fra.me.line = 19424;
52463 fra.me.meth = LOCATE_parser___ReduceAction539___action;
52464 fra.me.has_broke = 0;
52465 fra.me.REG_size = 5;
52466 fra.me.nitni_local_ref_head = NULL;
52467 fra.me.REG[0] = NIT_NULL;
52468 fra.me.REG[1] = NIT_NULL;
52469 fra.me.REG[2] = NIT_NULL;
52470 fra.me.REG[3] = NIT_NULL;
52471 fra.me.REG[4] = NIT_NULL;
52472 fra.me.REG[0] = p0;
52473 fra.me.REG[1] = p1;
52474 /* parser/parser.nit:19426 */
52475 fra.me.REG[2] = NIT_NULL;
52476 /* parser/parser.nit:19427 */
52477 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52478 /* parser/parser.nit:19428 */
52479 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52480 /* parser/parser.nit:19429 */
52481 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52482 /* parser/parser.nit:19430 */
52483 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52484 /* parser/parser.nit:19432 */
52485 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*/;
52486 if (UNTAG_Bool(REGB0)) {
52487 } else {
52488 nit_abort("Assert failed", NULL, LOCATE_parser, 19432);
52489 }
52490 /* parser/parser.nit:19434 */
52491 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
52492 if (UNTAG_Bool(REGB0)) {
52493 } else {
52494 nit_abort("Assert failed", NULL, LOCATE_parser, 19434);
52495 }
52496 /* parser/parser.nit:19435 */
52497 fra.me.REG[3] = NEW_AGgExpr_parser___parser_prod___AGgExpr___init_aggexpr(fra.me.REG[4], fra.me.REG[3]);
52498 /* parser/parser.nit:19439 */
52499 fra.me.REG[2] = fra.me.REG[3];
52500 /* parser/parser.nit:19440 */
52501 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
52502 if (UNTAG_Bool(REGB0)) {
52503 } else {
52504 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19440);
52505 }
52506 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
52507 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52508 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
52509 stack_frame_head = fra.me.prev;
52510 return;
52511 }
52512 static const char LOCATE_parser___ReduceAction540___action[] = "parser::ReduceAction540::(parser::ReduceAction::action)";
52513 void parser___ReduceAction540___action(val_t p0, val_t p1){
52514 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52515 val_t REGB0;
52516 val_t tmp;
52517 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52518 fra.me.file = LOCATE_parser;
52519 fra.me.line = 19445;
52520 fra.me.meth = LOCATE_parser___ReduceAction540___action;
52521 fra.me.has_broke = 0;
52522 fra.me.REG_size = 5;
52523 fra.me.nitni_local_ref_head = NULL;
52524 fra.me.REG[0] = NIT_NULL;
52525 fra.me.REG[1] = NIT_NULL;
52526 fra.me.REG[2] = NIT_NULL;
52527 fra.me.REG[3] = NIT_NULL;
52528 fra.me.REG[4] = NIT_NULL;
52529 fra.me.REG[0] = p0;
52530 fra.me.REG[1] = p1;
52531 /* parser/parser.nit:19447 */
52532 fra.me.REG[2] = NIT_NULL;
52533 /* parser/parser.nit:19448 */
52534 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52535 /* parser/parser.nit:19449 */
52536 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52537 /* parser/parser.nit:19450 */
52538 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52539 /* parser/parser.nit:19451 */
52540 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52541 /* parser/parser.nit:19453 */
52542 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*/;
52543 if (UNTAG_Bool(REGB0)) {
52544 } else {
52545 nit_abort("Assert failed", NULL, LOCATE_parser, 19453);
52546 }
52547 /* parser/parser.nit:19455 */
52548 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
52549 if (UNTAG_Bool(REGB0)) {
52550 } else {
52551 nit_abort("Assert failed", NULL, LOCATE_parser, 19455);
52552 }
52553 /* parser/parser.nit:19456 */
52554 fra.me.REG[3] = NEW_AStarshipExpr_parser___parser_prod___AStarshipExpr___init_astarshipexpr(fra.me.REG[4], fra.me.REG[3]);
52555 /* parser/parser.nit:19460 */
52556 fra.me.REG[2] = fra.me.REG[3];
52557 /* parser/parser.nit:19461 */
52558 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
52559 if (UNTAG_Bool(REGB0)) {
52560 } else {
52561 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19461);
52562 }
52563 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
52564 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52565 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
52566 stack_frame_head = fra.me.prev;
52567 return;
52568 }
52569 static const char LOCATE_parser___ReduceAction541___action[] = "parser::ReduceAction541::(parser::ReduceAction::action)";
52570 void parser___ReduceAction541___action(val_t p0, val_t p1){
52571 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52572 val_t REGB0;
52573 val_t tmp;
52574 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52575 fra.me.file = LOCATE_parser;
52576 fra.me.line = 19466;
52577 fra.me.meth = LOCATE_parser___ReduceAction541___action;
52578 fra.me.has_broke = 0;
52579 fra.me.REG_size = 5;
52580 fra.me.nitni_local_ref_head = NULL;
52581 fra.me.REG[0] = NIT_NULL;
52582 fra.me.REG[1] = NIT_NULL;
52583 fra.me.REG[2] = NIT_NULL;
52584 fra.me.REG[3] = NIT_NULL;
52585 fra.me.REG[4] = NIT_NULL;
52586 fra.me.REG[0] = p0;
52587 fra.me.REG[1] = p1;
52588 /* parser/parser.nit:19468 */
52589 fra.me.REG[2] = NIT_NULL;
52590 /* parser/parser.nit:19469 */
52591 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52592 /* parser/parser.nit:19470 */
52593 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52594 /* parser/parser.nit:19471 */
52595 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52596 /* parser/parser.nit:19472 */
52597 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52598 /* parser/parser.nit:19474 */
52599 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*/;
52600 if (UNTAG_Bool(REGB0)) {
52601 } else {
52602 nit_abort("Assert failed", NULL, LOCATE_parser, 19474);
52603 }
52604 /* parser/parser.nit:19476 */
52605 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*/;
52606 if (UNTAG_Bool(REGB0)) {
52607 } else {
52608 nit_abort("Assert failed", NULL, LOCATE_parser, 19476);
52609 }
52610 /* parser/parser.nit:19477 */
52611 fra.me.REG[3] = NEW_AIsaExpr_parser___parser_prod___AIsaExpr___init_aisaexpr(fra.me.REG[4], fra.me.REG[3]);
52612 /* parser/parser.nit:19481 */
52613 fra.me.REG[2] = fra.me.REG[3];
52614 /* parser/parser.nit:19482 */
52615 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
52616 if (UNTAG_Bool(REGB0)) {
52617 } else {
52618 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19482);
52619 }
52620 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
52621 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52622 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
52623 stack_frame_head = fra.me.prev;
52624 return;
52625 }
52626 static const char LOCATE_parser___ReduceAction543___action[] = "parser::ReduceAction543::(parser::ReduceAction::action)";
52627 void parser___ReduceAction543___action(val_t p0, val_t p1){
52628 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52629 val_t REGB0;
52630 val_t tmp;
52631 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52632 fra.me.file = LOCATE_parser;
52633 fra.me.line = 19487;
52634 fra.me.meth = LOCATE_parser___ReduceAction543___action;
52635 fra.me.has_broke = 0;
52636 fra.me.REG_size = 5;
52637 fra.me.nitni_local_ref_head = NULL;
52638 fra.me.REG[0] = NIT_NULL;
52639 fra.me.REG[1] = NIT_NULL;
52640 fra.me.REG[2] = NIT_NULL;
52641 fra.me.REG[3] = NIT_NULL;
52642 fra.me.REG[4] = NIT_NULL;
52643 fra.me.REG[0] = p0;
52644 fra.me.REG[1] = p1;
52645 /* parser/parser.nit:19489 */
52646 fra.me.REG[2] = NIT_NULL;
52647 /* parser/parser.nit:19490 */
52648 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52649 /* parser/parser.nit:19491 */
52650 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52651 /* parser/parser.nit:19492 */
52652 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52653 /* parser/parser.nit:19493 */
52654 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52655 /* parser/parser.nit:19495 */
52656 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*/;
52657 if (UNTAG_Bool(REGB0)) {
52658 } else {
52659 nit_abort("Assert failed", NULL, LOCATE_parser, 19495);
52660 }
52661 /* parser/parser.nit:19497 */
52662 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
52663 if (UNTAG_Bool(REGB0)) {
52664 } else {
52665 nit_abort("Assert failed", NULL, LOCATE_parser, 19497);
52666 }
52667 /* parser/parser.nit:19498 */
52668 fra.me.REG[3] = NEW_APlusExpr_parser___parser_prod___APlusExpr___init_aplusexpr(fra.me.REG[4], fra.me.REG[3]);
52669 /* parser/parser.nit:19502 */
52670 fra.me.REG[2] = fra.me.REG[3];
52671 /* parser/parser.nit:19503 */
52672 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
52673 if (UNTAG_Bool(REGB0)) {
52674 } else {
52675 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19503);
52676 }
52677 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
52678 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52679 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
52680 stack_frame_head = fra.me.prev;
52681 return;
52682 }
52683 static const char LOCATE_parser___ReduceAction544___action[] = "parser::ReduceAction544::(parser::ReduceAction::action)";
52684 void parser___ReduceAction544___action(val_t p0, val_t p1){
52685 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52686 val_t REGB0;
52687 val_t tmp;
52688 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52689 fra.me.file = LOCATE_parser;
52690 fra.me.line = 19508;
52691 fra.me.meth = LOCATE_parser___ReduceAction544___action;
52692 fra.me.has_broke = 0;
52693 fra.me.REG_size = 5;
52694 fra.me.nitni_local_ref_head = NULL;
52695 fra.me.REG[0] = NIT_NULL;
52696 fra.me.REG[1] = NIT_NULL;
52697 fra.me.REG[2] = NIT_NULL;
52698 fra.me.REG[3] = NIT_NULL;
52699 fra.me.REG[4] = NIT_NULL;
52700 fra.me.REG[0] = p0;
52701 fra.me.REG[1] = p1;
52702 /* parser/parser.nit:19510 */
52703 fra.me.REG[2] = NIT_NULL;
52704 /* parser/parser.nit:19511 */
52705 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52706 /* parser/parser.nit:19512 */
52707 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52708 /* parser/parser.nit:19513 */
52709 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52710 /* parser/parser.nit:19514 */
52711 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52712 /* parser/parser.nit:19516 */
52713 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*/;
52714 if (UNTAG_Bool(REGB0)) {
52715 } else {
52716 nit_abort("Assert failed", NULL, LOCATE_parser, 19516);
52717 }
52718 /* parser/parser.nit:19518 */
52719 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
52720 if (UNTAG_Bool(REGB0)) {
52721 } else {
52722 nit_abort("Assert failed", NULL, LOCATE_parser, 19518);
52723 }
52724 /* parser/parser.nit:19519 */
52725 fra.me.REG[3] = NEW_AMinusExpr_parser___parser_prod___AMinusExpr___init_aminusexpr(fra.me.REG[4], fra.me.REG[3]);
52726 /* parser/parser.nit:19523 */
52727 fra.me.REG[2] = fra.me.REG[3];
52728 /* parser/parser.nit:19524 */
52729 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
52730 if (UNTAG_Bool(REGB0)) {
52731 } else {
52732 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19524);
52733 }
52734 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
52735 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52736 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
52737 stack_frame_head = fra.me.prev;
52738 return;
52739 }
52740 static const char LOCATE_parser___ReduceAction546___action[] = "parser::ReduceAction546::(parser::ReduceAction::action)";
52741 void parser___ReduceAction546___action(val_t p0, val_t p1){
52742 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52743 val_t REGB0;
52744 val_t tmp;
52745 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52746 fra.me.file = LOCATE_parser;
52747 fra.me.line = 19529;
52748 fra.me.meth = LOCATE_parser___ReduceAction546___action;
52749 fra.me.has_broke = 0;
52750 fra.me.REG_size = 5;
52751 fra.me.nitni_local_ref_head = NULL;
52752 fra.me.REG[0] = NIT_NULL;
52753 fra.me.REG[1] = NIT_NULL;
52754 fra.me.REG[2] = NIT_NULL;
52755 fra.me.REG[3] = NIT_NULL;
52756 fra.me.REG[4] = NIT_NULL;
52757 fra.me.REG[0] = p0;
52758 fra.me.REG[1] = p1;
52759 /* parser/parser.nit:19531 */
52760 fra.me.REG[2] = NIT_NULL;
52761 /* parser/parser.nit:19532 */
52762 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52763 /* parser/parser.nit:19533 */
52764 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52765 /* parser/parser.nit:19534 */
52766 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52767 /* parser/parser.nit:19535 */
52768 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52769 /* parser/parser.nit:19537 */
52770 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*/;
52771 if (UNTAG_Bool(REGB0)) {
52772 } else {
52773 nit_abort("Assert failed", NULL, LOCATE_parser, 19537);
52774 }
52775 /* parser/parser.nit:19539 */
52776 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
52777 if (UNTAG_Bool(REGB0)) {
52778 } else {
52779 nit_abort("Assert failed", NULL, LOCATE_parser, 19539);
52780 }
52781 /* parser/parser.nit:19540 */
52782 fra.me.REG[3] = NEW_AStarExpr_parser___parser_prod___AStarExpr___init_astarexpr(fra.me.REG[4], fra.me.REG[3]);
52783 /* parser/parser.nit:19544 */
52784 fra.me.REG[2] = fra.me.REG[3];
52785 /* parser/parser.nit:19545 */
52786 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
52787 if (UNTAG_Bool(REGB0)) {
52788 } else {
52789 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19545);
52790 }
52791 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
52792 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52793 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
52794 stack_frame_head = fra.me.prev;
52795 return;
52796 }
52797 static const char LOCATE_parser___ReduceAction547___action[] = "parser::ReduceAction547::(parser::ReduceAction::action)";
52798 void parser___ReduceAction547___action(val_t p0, val_t p1){
52799 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52800 val_t REGB0;
52801 val_t tmp;
52802 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52803 fra.me.file = LOCATE_parser;
52804 fra.me.line = 19550;
52805 fra.me.meth = LOCATE_parser___ReduceAction547___action;
52806 fra.me.has_broke = 0;
52807 fra.me.REG_size = 5;
52808 fra.me.nitni_local_ref_head = NULL;
52809 fra.me.REG[0] = NIT_NULL;
52810 fra.me.REG[1] = NIT_NULL;
52811 fra.me.REG[2] = NIT_NULL;
52812 fra.me.REG[3] = NIT_NULL;
52813 fra.me.REG[4] = NIT_NULL;
52814 fra.me.REG[0] = p0;
52815 fra.me.REG[1] = p1;
52816 /* parser/parser.nit:19552 */
52817 fra.me.REG[2] = NIT_NULL;
52818 /* parser/parser.nit:19553 */
52819 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52820 /* parser/parser.nit:19554 */
52821 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52822 /* parser/parser.nit:19555 */
52823 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52824 /* parser/parser.nit:19556 */
52825 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52826 /* parser/parser.nit:19558 */
52827 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*/;
52828 if (UNTAG_Bool(REGB0)) {
52829 } else {
52830 nit_abort("Assert failed", NULL, LOCATE_parser, 19558);
52831 }
52832 /* parser/parser.nit:19560 */
52833 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
52834 if (UNTAG_Bool(REGB0)) {
52835 } else {
52836 nit_abort("Assert failed", NULL, LOCATE_parser, 19560);
52837 }
52838 /* parser/parser.nit:19561 */
52839 fra.me.REG[3] = NEW_ASlashExpr_parser___parser_prod___ASlashExpr___init_aslashexpr(fra.me.REG[4], fra.me.REG[3]);
52840 /* parser/parser.nit:19565 */
52841 fra.me.REG[2] = fra.me.REG[3];
52842 /* parser/parser.nit:19566 */
52843 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
52844 if (UNTAG_Bool(REGB0)) {
52845 } else {
52846 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19566);
52847 }
52848 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
52849 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52850 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
52851 stack_frame_head = fra.me.prev;
52852 return;
52853 }
52854 static const char LOCATE_parser___ReduceAction548___action[] = "parser::ReduceAction548::(parser::ReduceAction::action)";
52855 void parser___ReduceAction548___action(val_t p0, val_t p1){
52856 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52857 val_t REGB0;
52858 val_t tmp;
52859 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52860 fra.me.file = LOCATE_parser;
52861 fra.me.line = 19571;
52862 fra.me.meth = LOCATE_parser___ReduceAction548___action;
52863 fra.me.has_broke = 0;
52864 fra.me.REG_size = 5;
52865 fra.me.nitni_local_ref_head = NULL;
52866 fra.me.REG[0] = NIT_NULL;
52867 fra.me.REG[1] = NIT_NULL;
52868 fra.me.REG[2] = NIT_NULL;
52869 fra.me.REG[3] = NIT_NULL;
52870 fra.me.REG[4] = NIT_NULL;
52871 fra.me.REG[0] = p0;
52872 fra.me.REG[1] = p1;
52873 /* parser/parser.nit:19573 */
52874 fra.me.REG[2] = NIT_NULL;
52875 /* parser/parser.nit:19574 */
52876 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52877 /* parser/parser.nit:19575 */
52878 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52879 /* parser/parser.nit:19576 */
52880 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52881 /* parser/parser.nit:19577 */
52882 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52883 /* parser/parser.nit:19579 */
52884 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*/;
52885 if (UNTAG_Bool(REGB0)) {
52886 } else {
52887 nit_abort("Assert failed", NULL, LOCATE_parser, 19579);
52888 }
52889 /* parser/parser.nit:19581 */
52890 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
52891 if (UNTAG_Bool(REGB0)) {
52892 } else {
52893 nit_abort("Assert failed", NULL, LOCATE_parser, 19581);
52894 }
52895 /* parser/parser.nit:19582 */
52896 fra.me.REG[3] = NEW_APercentExpr_parser___parser_prod___APercentExpr___init_apercentexpr(fra.me.REG[4], fra.me.REG[3]);
52897 /* parser/parser.nit:19586 */
52898 fra.me.REG[2] = fra.me.REG[3];
52899 /* parser/parser.nit:19587 */
52900 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
52901 if (UNTAG_Bool(REGB0)) {
52902 } else {
52903 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19587);
52904 }
52905 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
52906 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52907 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
52908 stack_frame_head = fra.me.prev;
52909 return;
52910 }
52911 static const char LOCATE_parser___ReduceAction550___action[] = "parser::ReduceAction550::(parser::ReduceAction::action)";
52912 void parser___ReduceAction550___action(val_t p0, val_t p1){
52913 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52914 val_t REGB0;
52915 val_t tmp;
52916 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52917 fra.me.file = LOCATE_parser;
52918 fra.me.line = 19592;
52919 fra.me.meth = LOCATE_parser___ReduceAction550___action;
52920 fra.me.has_broke = 0;
52921 fra.me.REG_size = 5;
52922 fra.me.nitni_local_ref_head = NULL;
52923 fra.me.REG[0] = NIT_NULL;
52924 fra.me.REG[1] = NIT_NULL;
52925 fra.me.REG[2] = NIT_NULL;
52926 fra.me.REG[3] = NIT_NULL;
52927 fra.me.REG[4] = NIT_NULL;
52928 fra.me.REG[0] = p0;
52929 fra.me.REG[1] = p1;
52930 /* parser/parser.nit:19594 */
52931 fra.me.REG[2] = NIT_NULL;
52932 /* parser/parser.nit:19595 */
52933 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52934 /* parser/parser.nit:19596 */
52935 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52936 /* parser/parser.nit:19597 */
52937 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52938 /* parser/parser.nit:19599 */
52939 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*/;
52940 if (UNTAG_Bool(REGB0)) {
52941 } else {
52942 nit_abort("Assert failed", NULL, LOCATE_parser, 19599);
52943 }
52944 /* parser/parser.nit:19601 */
52945 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
52946 if (UNTAG_Bool(REGB0)) {
52947 } else {
52948 nit_abort("Assert failed", NULL, LOCATE_parser, 19601);
52949 }
52950 /* parser/parser.nit:19602 */
52951 fra.me.REG[3] = NEW_AUminusExpr_parser___parser_prod___AUminusExpr___init_auminusexpr(fra.me.REG[4], fra.me.REG[3]);
52952 /* parser/parser.nit:19606 */
52953 fra.me.REG[2] = fra.me.REG[3];
52954 /* parser/parser.nit:19607 */
52955 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
52956 if (UNTAG_Bool(REGB0)) {
52957 } else {
52958 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19607);
52959 }
52960 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
52961 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52962 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
52963 stack_frame_head = fra.me.prev;
52964 return;
52965 }
52966 static const char LOCATE_parser___ReduceAction551___action[] = "parser::ReduceAction551::(parser::ReduceAction::action)";
52967 void parser___ReduceAction551___action(val_t p0, val_t p1){
52968 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52969 val_t REGB0;
52970 val_t tmp;
52971 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52972 fra.me.file = LOCATE_parser;
52973 fra.me.line = 19612;
52974 fra.me.meth = LOCATE_parser___ReduceAction551___action;
52975 fra.me.has_broke = 0;
52976 fra.me.REG_size = 5;
52977 fra.me.nitni_local_ref_head = NULL;
52978 fra.me.REG[0] = NIT_NULL;
52979 fra.me.REG[1] = NIT_NULL;
52980 fra.me.REG[2] = NIT_NULL;
52981 fra.me.REG[3] = NIT_NULL;
52982 fra.me.REG[4] = NIT_NULL;
52983 fra.me.REG[0] = p0;
52984 fra.me.REG[1] = p1;
52985 /* parser/parser.nit:19614 */
52986 fra.me.REG[2] = NIT_NULL;
52987 /* parser/parser.nit:19615 */
52988 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52989 /* parser/parser.nit:19616 */
52990 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52991 /* parser/parser.nit:19617 */
52992 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52993 /* parser/parser.nit:19619 */
52994 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*/;
52995 if (UNTAG_Bool(REGB0)) {
52996 } else {
52997 nit_abort("Assert failed", NULL, LOCATE_parser, 19619);
52998 }
52999 /* parser/parser.nit:19621 */
53000 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
53001 if (UNTAG_Bool(REGB0)) {
53002 } else {
53003 nit_abort("Assert failed", NULL, LOCATE_parser, 19621);
53004 }
53005 /* parser/parser.nit:19622 */
53006 fra.me.REG[3] = NEW_AOnceExpr_parser___parser_prod___AOnceExpr___init_aonceexpr(fra.me.REG[4], fra.me.REG[3]);
53007 /* parser/parser.nit:19626 */
53008 fra.me.REG[2] = fra.me.REG[3];
53009 /* parser/parser.nit:19627 */
53010 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
53011 if (UNTAG_Bool(REGB0)) {
53012 } else {
53013 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19627);
53014 }
53015 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
53016 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53017 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
53018 stack_frame_head = fra.me.prev;
53019 return;
53020 }
53021 static const char LOCATE_parser___ReduceAction553___action[] = "parser::ReduceAction553::(parser::ReduceAction::action)";
53022 void parser___ReduceAction553___action(val_t p0, val_t p1){
53023 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
53024 val_t REGB0;
53025 val_t tmp;
53026 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53027 fra.me.file = LOCATE_parser;
53028 fra.me.line = 19632;
53029 fra.me.meth = LOCATE_parser___ReduceAction553___action;
53030 fra.me.has_broke = 0;
53031 fra.me.REG_size = 6;
53032 fra.me.nitni_local_ref_head = NULL;
53033 fra.me.REG[0] = NIT_NULL;
53034 fra.me.REG[1] = NIT_NULL;
53035 fra.me.REG[2] = NIT_NULL;
53036 fra.me.REG[3] = NIT_NULL;
53037 fra.me.REG[4] = NIT_NULL;
53038 fra.me.REG[5] = NIT_NULL;
53039 fra.me.REG[0] = p0;
53040 fra.me.REG[1] = p1;
53041 /* parser/parser.nit:19634 */
53042 fra.me.REG[2] = NIT_NULL;
53043 /* parser/parser.nit:19635 */
53044 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53045 /* parser/parser.nit:19636 */
53046 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53047 /* parser/parser.nit:19637 */
53048 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53049 /* parser/parser.nit:19638 */
53050 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53051 /* parser/parser.nit:19640 */
53052 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*/;
53053 if (UNTAG_Bool(REGB0)) {
53054 } else {
53055 nit_abort("Assert failed", NULL, LOCATE_parser, 19640);
53056 }
53057 /* parser/parser.nit:19642 */
53058 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*/;
53059 if (UNTAG_Bool(REGB0)) {
53060 } else {
53061 nit_abort("Assert failed", NULL, LOCATE_parser, 19642);
53062 }
53063 /* parser/parser.nit:19644 */
53064 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*/;
53065 if (UNTAG_Bool(REGB0)) {
53066 } else {
53067 nit_abort("Assert failed", NULL, LOCATE_parser, 19644);
53068 }
53069 /* parser/parser.nit:19645 */
53070 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]);
53071 /* parser/parser.nit:19651 */
53072 fra.me.REG[2] = fra.me.REG[3];
53073 /* parser/parser.nit:19652 */
53074 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
53075 if (UNTAG_Bool(REGB0)) {
53076 } else {
53077 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19652);
53078 }
53079 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
53080 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53081 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
53082 stack_frame_head = fra.me.prev;
53083 return;
53084 }
53085 static const char LOCATE_parser___ReduceAction554___action[] = "parser::ReduceAction554::(parser::ReduceAction::action)";
53086 void parser___ReduceAction554___action(val_t p0, val_t p1){
53087 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
53088 val_t REGB0;
53089 val_t tmp;
53090 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53091 fra.me.file = LOCATE_parser;
53092 fra.me.line = 19657;
53093 fra.me.meth = LOCATE_parser___ReduceAction554___action;
53094 fra.me.has_broke = 0;
53095 fra.me.REG_size = 6;
53096 fra.me.nitni_local_ref_head = NULL;
53097 fra.me.REG[0] = NIT_NULL;
53098 fra.me.REG[1] = NIT_NULL;
53099 fra.me.REG[2] = NIT_NULL;
53100 fra.me.REG[3] = NIT_NULL;
53101 fra.me.REG[4] = NIT_NULL;
53102 fra.me.REG[5] = NIT_NULL;
53103 fra.me.REG[0] = p0;
53104 fra.me.REG[1] = p1;
53105 /* parser/parser.nit:19659 */
53106 fra.me.REG[2] = NIT_NULL;
53107 /* parser/parser.nit:19660 */
53108 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53109 /* parser/parser.nit:19661 */
53110 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53111 /* parser/parser.nit:19662 */
53112 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53113 /* parser/parser.nit:19663 */
53114 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53115 /* parser/parser.nit:19664 */
53116 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53117 /* parser/parser.nit:19666 */
53118 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*/;
53119 if (UNTAG_Bool(REGB0)) {
53120 } else {
53121 nit_abort("Assert failed", NULL, LOCATE_parser, 19666);
53122 }
53123 /* parser/parser.nit:19668 */
53124 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*/;
53125 if (UNTAG_Bool(REGB0)) {
53126 } else {
53127 nit_abort("Assert failed", NULL, LOCATE_parser, 19668);
53128 }
53129 /* parser/parser.nit:19670 */
53130 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*/;
53131 if (UNTAG_Bool(REGB0)) {
53132 } else {
53133 nit_abort("Assert failed", NULL, LOCATE_parser, 19670);
53134 }
53135 /* parser/parser.nit:19671 */
53136 fra.me.REG[3] = NEW_AIssetAttrExpr_parser___parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
53137 /* parser/parser.nit:19676 */
53138 fra.me.REG[2] = fra.me.REG[3];
53139 /* parser/parser.nit:19677 */
53140 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
53141 if (UNTAG_Bool(REGB0)) {
53142 } else {
53143 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19677);
53144 }
53145 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
53146 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53147 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
53148 stack_frame_head = fra.me.prev;
53149 return;
53150 }
53151 static const char LOCATE_parser___ReduceAction555___action[] = "parser::ReduceAction555::(parser::ReduceAction::action)";
53152 void parser___ReduceAction555___action(val_t p0, val_t p1){
53153 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
53154 val_t REGB0;
53155 val_t tmp;
53156 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53157 fra.me.file = LOCATE_parser;
53158 fra.me.line = 19682;
53159 fra.me.meth = LOCATE_parser___ReduceAction555___action;
53160 fra.me.has_broke = 0;
53161 fra.me.REG_size = 6;
53162 fra.me.nitni_local_ref_head = NULL;
53163 fra.me.REG[0] = NIT_NULL;
53164 fra.me.REG[1] = NIT_NULL;
53165 fra.me.REG[2] = NIT_NULL;
53166 fra.me.REG[3] = NIT_NULL;
53167 fra.me.REG[4] = NIT_NULL;
53168 fra.me.REG[5] = NIT_NULL;
53169 fra.me.REG[0] = p0;
53170 fra.me.REG[1] = p1;
53171 /* parser/parser.nit:19684 */
53172 fra.me.REG[2] = NIT_NULL;
53173 /* parser/parser.nit:19685 */
53174 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53175 /* parser/parser.nit:19686 */
53176 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53177 /* parser/parser.nit:19688 */
53178 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*/;
53179 if (UNTAG_Bool(REGB0)) {
53180 } else {
53181 nit_abort("Assert failed", NULL, LOCATE_parser, 19688);
53182 }
53183 /* parser/parser.nit:19689 */
53184 fra.me.REG[5] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
53185 /* parser/parser.nit:19691 */
53186 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*/;
53187 if (UNTAG_Bool(REGB0)) {
53188 } else {
53189 nit_abort("Assert failed", NULL, LOCATE_parser, 19691);
53190 }
53191 /* parser/parser.nit:19692 */
53192 fra.me.REG[3] = NEW_AIssetAttrExpr_parser___parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3]);
53193 /* parser/parser.nit:19697 */
53194 fra.me.REG[2] = fra.me.REG[3];
53195 /* parser/parser.nit:19698 */
53196 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
53197 if (UNTAG_Bool(REGB0)) {
53198 } else {
53199 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19698);
53200 }
53201 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
53202 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53203 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
53204 stack_frame_head = fra.me.prev;
53205 return;
53206 }
53207 static const char LOCATE_parser___ReduceAction556___action[] = "parser::ReduceAction556::(parser::ReduceAction::action)";
53208 void parser___ReduceAction556___action(val_t p0, val_t p1){
53209 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
53210 val_t REGB0;
53211 val_t tmp;
53212 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53213 fra.me.file = LOCATE_parser;
53214 fra.me.line = 19703;
53215 fra.me.meth = LOCATE_parser___ReduceAction556___action;
53216 fra.me.has_broke = 0;
53217 fra.me.REG_size = 5;
53218 fra.me.nitni_local_ref_head = NULL;
53219 fra.me.REG[0] = NIT_NULL;
53220 fra.me.REG[1] = NIT_NULL;
53221 fra.me.REG[2] = NIT_NULL;
53222 fra.me.REG[3] = NIT_NULL;
53223 fra.me.REG[4] = NIT_NULL;
53224 fra.me.REG[0] = p0;
53225 fra.me.REG[1] = p1;
53226 /* parser/parser.nit:19705 */
53227 fra.me.REG[2] = NIT_NULL;
53228 /* parser/parser.nit:19706 */
53229 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53230 /* parser/parser.nit:19707 */
53231 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53232 /* parser/parser.nit:19708 */
53233 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53234 /* parser/parser.nit:19709 */
53235 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53236 /* parser/parser.nit:19711 */
53237 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*/;
53238 if (UNTAG_Bool(REGB0)) {
53239 } else {
53240 nit_abort("Assert failed", NULL, LOCATE_parser, 19711);
53241 }
53242 /* parser/parser.nit:19713 */
53243 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*/;
53244 if (UNTAG_Bool(REGB0)) {
53245 } else {
53246 nit_abort("Assert failed", NULL, LOCATE_parser, 19713);
53247 }
53248 /* parser/parser.nit:19714 */
53249 fra.me.REG[3] = NEW_AAttrExpr_parser___parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[4], fra.me.REG[3]);
53250 /* parser/parser.nit:19718 */
53251 fra.me.REG[2] = fra.me.REG[3];
53252 /* parser/parser.nit:19719 */
53253 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
53254 if (UNTAG_Bool(REGB0)) {
53255 } else {
53256 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19719);
53257 }
53258 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
53259 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53260 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
53261 stack_frame_head = fra.me.prev;
53262 return;
53263 }
53264 static const char LOCATE_parser___ReduceAction557___action[] = "parser::ReduceAction557::(parser::ReduceAction::action)";
53265 void parser___ReduceAction557___action(val_t p0, val_t p1){
53266 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
53267 val_t REGB0;
53268 val_t tmp;
53269 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53270 fra.me.file = LOCATE_parser;
53271 fra.me.line = 19724;
53272 fra.me.meth = LOCATE_parser___ReduceAction557___action;
53273 fra.me.has_broke = 0;
53274 fra.me.REG_size = 5;
53275 fra.me.nitni_local_ref_head = NULL;
53276 fra.me.REG[0] = NIT_NULL;
53277 fra.me.REG[1] = NIT_NULL;
53278 fra.me.REG[2] = NIT_NULL;
53279 fra.me.REG[3] = NIT_NULL;
53280 fra.me.REG[4] = NIT_NULL;
53281 fra.me.REG[0] = p0;
53282 fra.me.REG[1] = p1;
53283 /* parser/parser.nit:19726 */
53284 fra.me.REG[2] = NIT_NULL;
53285 /* parser/parser.nit:19727 */
53286 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53287 /* parser/parser.nit:19728 */
53288 fra.me.REG[4] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
53289 /* parser/parser.nit:19730 */
53290 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*/;
53291 if (UNTAG_Bool(REGB0)) {
53292 } else {
53293 nit_abort("Assert failed", NULL, LOCATE_parser, 19730);
53294 }
53295 /* parser/parser.nit:19731 */
53296 fra.me.REG[3] = NEW_AAttrExpr_parser___parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[4], fra.me.REG[3]);
53297 /* parser/parser.nit:19735 */
53298 fra.me.REG[2] = fra.me.REG[3];
53299 /* parser/parser.nit:19736 */
53300 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
53301 if (UNTAG_Bool(REGB0)) {
53302 } else {
53303 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19736);
53304 }
53305 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
53306 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53307 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
53308 stack_frame_head = fra.me.prev;
53309 return;
53310 }
53311 static const char LOCATE_parser___ReduceAction564___action[] = "parser::ReduceAction564::(parser::ReduceAction::action)";
53312 void parser___ReduceAction564___action(val_t p0, val_t p1){
53313 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
53314 val_t REGB0;
53315 val_t tmp;
53316 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53317 fra.me.file = LOCATE_parser;
53318 fra.me.line = 19741;
53319 fra.me.meth = LOCATE_parser___ReduceAction564___action;
53320 fra.me.has_broke = 0;
53321 fra.me.REG_size = 6;
53322 fra.me.nitni_local_ref_head = NULL;
53323 fra.me.REG[0] = NIT_NULL;
53324 fra.me.REG[1] = NIT_NULL;
53325 fra.me.REG[2] = NIT_NULL;
53326 fra.me.REG[3] = NIT_NULL;
53327 fra.me.REG[4] = NIT_NULL;
53328 fra.me.REG[5] = NIT_NULL;
53329 fra.me.REG[0] = p0;
53330 fra.me.REG[1] = p1;
53331 /* parser/parser.nit:19743 */
53332 fra.me.REG[2] = NIT_NULL;
53333 /* parser/parser.nit:19744 */
53334 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53335 /* parser/parser.nit:19745 */
53336 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53337 /* parser/parser.nit:19746 */
53338 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
53339 /* parser/parser.nit:19748 */
53340 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*/;
53341 if (UNTAG_Bool(REGB0)) {
53342 } else {
53343 nit_abort("Assert failed", NULL, LOCATE_parser, 19748);
53344 }
53345 /* parser/parser.nit:19750 */
53346 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*/;
53347 if (UNTAG_Bool(REGB0)) {
53348 } else {
53349 nit_abort("Assert failed", NULL, LOCATE_parser, 19750);
53350 }
53351 /* parser/parser.nit:19751 */
53352 fra.me.REG[5] = NEW_ABraExpr_parser___parser_prod___ABraExpr___init_abraexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
53353 /* parser/parser.nit:19756 */
53354 fra.me.REG[2] = fra.me.REG[5];
53355 /* parser/parser.nit:19757 */
53356 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
53357 if (UNTAG_Bool(REGB0)) {
53358 } else {
53359 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19757);
53360 }
53361 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
53362 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53363 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
53364 stack_frame_head = fra.me.prev;
53365 return;
53366 }
53367 static const char LOCATE_parser___ReduceAction565___action[] = "parser::ReduceAction565::(parser::ReduceAction::action)";
53368 void parser___ReduceAction565___action(val_t p0, val_t p1){
53369 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
53370 val_t REGB0;
53371 val_t tmp;
53372 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53373 fra.me.file = LOCATE_parser;
53374 fra.me.line = 19762;
53375 fra.me.meth = LOCATE_parser___ReduceAction565___action;
53376 fra.me.has_broke = 0;
53377 fra.me.REG_size = 7;
53378 fra.me.nitni_local_ref_head = NULL;
53379 fra.me.REG[0] = NIT_NULL;
53380 fra.me.REG[1] = NIT_NULL;
53381 fra.me.REG[2] = NIT_NULL;
53382 fra.me.REG[3] = NIT_NULL;
53383 fra.me.REG[4] = NIT_NULL;
53384 fra.me.REG[5] = NIT_NULL;
53385 fra.me.REG[6] = NIT_NULL;
53386 fra.me.REG[0] = p0;
53387 fra.me.REG[1] = p1;
53388 /* parser/parser.nit:19764 */
53389 fra.me.REG[2] = NIT_NULL;
53390 /* parser/parser.nit:19765 */
53391 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53392 /* parser/parser.nit:19766 */
53393 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53394 /* parser/parser.nit:19767 */
53395 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53396 /* parser/parser.nit:19768 */
53397 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53398 /* parser/parser.nit:19769 */
53399 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53400 /* parser/parser.nit:19770 */
53401 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53402 /* parser/parser.nit:19771 */
53403 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53404 /* parser/parser.nit:19773 */
53405 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*/;
53406 if (UNTAG_Bool(REGB0)) {
53407 } else {
53408 nit_abort("Assert failed", NULL, LOCATE_parser, 19773);
53409 }
53410 /* parser/parser.nit:19775 */
53411 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*/;
53412 if (UNTAG_Bool(REGB0)) {
53413 } else {
53414 nit_abort("Assert failed", NULL, LOCATE_parser, 19775);
53415 }
53416 /* parser/parser.nit:19777 */
53417 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*/;
53418 if (UNTAG_Bool(REGB0)) {
53419 } else {
53420 nit_abort("Assert failed", NULL, LOCATE_parser, 19777);
53421 }
53422 /* parser/parser.nit:19779 */
53423 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*/;
53424 if (UNTAG_Bool(REGB0)) {
53425 } else {
53426 nit_abort("Assert failed", NULL, LOCATE_parser, 19779);
53427 }
53428 /* parser/parser.nit:19780 */
53429 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]);
53430 /* parser/parser.nit:19786 */
53431 fra.me.REG[2] = fra.me.REG[3];
53432 /* parser/parser.nit:19787 */
53433 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
53434 if (UNTAG_Bool(REGB0)) {
53435 } else {
53436 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19787);
53437 }
53438 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
53439 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53440 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
53441 stack_frame_head = fra.me.prev;
53442 return;
53443 }
53444 static const char LOCATE_parser___ReduceAction566___action[] = "parser::ReduceAction566::(parser::ReduceAction::action)";
53445 void parser___ReduceAction566___action(val_t p0, val_t p1){
53446 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
53447 val_t REGB0;
53448 val_t tmp;
53449 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53450 fra.me.file = LOCATE_parser;
53451 fra.me.line = 19792;
53452 fra.me.meth = LOCATE_parser___ReduceAction566___action;
53453 fra.me.has_broke = 0;
53454 fra.me.REG_size = 7;
53455 fra.me.nitni_local_ref_head = NULL;
53456 fra.me.REG[0] = NIT_NULL;
53457 fra.me.REG[1] = NIT_NULL;
53458 fra.me.REG[2] = NIT_NULL;
53459 fra.me.REG[3] = NIT_NULL;
53460 fra.me.REG[4] = NIT_NULL;
53461 fra.me.REG[5] = NIT_NULL;
53462 fra.me.REG[6] = NIT_NULL;
53463 fra.me.REG[0] = p0;
53464 fra.me.REG[1] = p1;
53465 /* parser/parser.nit:19794 */
53466 fra.me.REG[2] = NIT_NULL;
53467 /* parser/parser.nit:19795 */
53468 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53469 /* parser/parser.nit:19796 */
53470 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53471 /* parser/parser.nit:19797 */
53472 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53473 /* parser/parser.nit:19798 */
53474 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53475 /* parser/parser.nit:19799 */
53476 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53477 /* parser/parser.nit:19800 */
53478 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53479 /* parser/parser.nit:19801 */
53480 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53481 /* parser/parser.nit:19802 */
53482 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53483 /* parser/parser.nit:19803 */
53484 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53485 /* parser/parser.nit:19805 */
53486 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*/;
53487 if (UNTAG_Bool(REGB0)) {
53488 } else {
53489 nit_abort("Assert failed", NULL, LOCATE_parser, 19805);
53490 }
53491 /* parser/parser.nit:19807 */
53492 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*/;
53493 if (UNTAG_Bool(REGB0)) {
53494 } else {
53495 nit_abort("Assert failed", NULL, LOCATE_parser, 19807);
53496 }
53497 /* parser/parser.nit:19809 */
53498 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*/;
53499 if (UNTAG_Bool(REGB0)) {
53500 } else {
53501 nit_abort("Assert failed", NULL, LOCATE_parser, 19809);
53502 }
53503 /* parser/parser.nit:19811 */
53504 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*/;
53505 if (UNTAG_Bool(REGB0)) {
53506 } else {
53507 nit_abort("Assert failed", NULL, LOCATE_parser, 19811);
53508 }
53509 /* parser/parser.nit:19812 */
53510 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], NIT_NULL);
53511 /* parser/parser.nit:19819 */
53512 fra.me.REG[2] = fra.me.REG[3];
53513 /* parser/parser.nit:19820 */
53514 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
53515 if (UNTAG_Bool(REGB0)) {
53516 } else {
53517 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19820);
53518 }
53519 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
53520 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53521 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
53522 stack_frame_head = fra.me.prev;
53523 return;
53524 }
53525 static const char LOCATE_parser___ReduceAction567___action[] = "parser::ReduceAction567::(parser::ReduceAction::action)";
53526 void parser___ReduceAction567___action(val_t p0, val_t p1){
53527 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
53528 val_t REGB0;
53529 val_t tmp;
53530 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53531 fra.me.file = LOCATE_parser;
53532 fra.me.line = 19825;
53533 fra.me.meth = LOCATE_parser___ReduceAction567___action;
53534 fra.me.has_broke = 0;
53535 fra.me.REG_size = 8;
53536 fra.me.nitni_local_ref_head = NULL;
53537 fra.me.REG[0] = NIT_NULL;
53538 fra.me.REG[1] = NIT_NULL;
53539 fra.me.REG[2] = NIT_NULL;
53540 fra.me.REG[3] = NIT_NULL;
53541 fra.me.REG[4] = NIT_NULL;
53542 fra.me.REG[5] = NIT_NULL;
53543 fra.me.REG[6] = NIT_NULL;
53544 fra.me.REG[7] = NIT_NULL;
53545 fra.me.REG[0] = p0;
53546 fra.me.REG[1] = p1;
53547 /* parser/parser.nit:19827 */
53548 fra.me.REG[2] = NIT_NULL;
53549 /* parser/parser.nit:19828 */
53550 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53551 /* parser/parser.nit:19829 */
53552 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53553 /* parser/parser.nit:19830 */
53554 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53555 /* parser/parser.nit:19831 */
53556 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53557 /* parser/parser.nit:19832 */
53558 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53559 /* parser/parser.nit:19833 */
53560 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53561 /* parser/parser.nit:19834 */
53562 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53563 /* parser/parser.nit:19835 */
53564 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53565 /* parser/parser.nit:19836 */
53566 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53567 /* parser/parser.nit:19837 */
53568 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53569 /* parser/parser.nit:19839 */
53570 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TObra, ID_parser___parser_nodes___TObra)) /*cast nullable TObra*/;
53571 if (UNTAG_Bool(REGB0)) {
53572 } else {
53573 nit_abort("Assert failed", NULL, LOCATE_parser, 19839);
53574 }
53575 /* parser/parser.nit:19841 */
53576 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*/;
53577 if (UNTAG_Bool(REGB0)) {
53578 } else {
53579 nit_abort("Assert failed", NULL, LOCATE_parser, 19841);
53580 }
53581 /* parser/parser.nit:19843 */
53582 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*/;
53583 if (UNTAG_Bool(REGB0)) {
53584 } else {
53585 nit_abort("Assert failed", NULL, LOCATE_parser, 19843);
53586 }
53587 /* parser/parser.nit:19845 */
53588 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*/;
53589 if (UNTAG_Bool(REGB0)) {
53590 } else {
53591 nit_abort("Assert failed", NULL, LOCATE_parser, 19845);
53592 }
53593 /* parser/parser.nit:19847 */
53594 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
53595 if (UNTAG_Bool(REGB0)) {
53596 } else {
53597 nit_abort("Assert failed", NULL, LOCATE_parser, 19847);
53598 }
53599 /* parser/parser.nit:19848 */
53600 fra.me.REG[3] = NEW_ACrangeExpr_parser___parser_prod___ACrangeExpr___init_acrangeexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
53601 /* parser/parser.nit:19855 */
53602 fra.me.REG[2] = fra.me.REG[3];
53603 /* parser/parser.nit:19856 */
53604 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
53605 if (UNTAG_Bool(REGB0)) {
53606 } else {
53607 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19856);
53608 }
53609 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
53610 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53611 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
53612 stack_frame_head = fra.me.prev;
53613 return;
53614 }
53615 static const char LOCATE_parser___ReduceAction568___action[] = "parser::ReduceAction568::(parser::ReduceAction::action)";
53616 void parser___ReduceAction568___action(val_t p0, val_t p1){
53617 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
53618 val_t REGB0;
53619 val_t tmp;
53620 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53621 fra.me.file = LOCATE_parser;
53622 fra.me.line = 19861;
53623 fra.me.meth = LOCATE_parser___ReduceAction568___action;
53624 fra.me.has_broke = 0;
53625 fra.me.REG_size = 7;
53626 fra.me.nitni_local_ref_head = NULL;
53627 fra.me.REG[0] = NIT_NULL;
53628 fra.me.REG[1] = NIT_NULL;
53629 fra.me.REG[2] = NIT_NULL;
53630 fra.me.REG[3] = NIT_NULL;
53631 fra.me.REG[4] = NIT_NULL;
53632 fra.me.REG[5] = NIT_NULL;
53633 fra.me.REG[6] = NIT_NULL;
53634 fra.me.REG[0] = p0;
53635 fra.me.REG[1] = p1;
53636 /* parser/parser.nit:19863 */
53637 fra.me.REG[2] = NIT_NULL;
53638 /* parser/parser.nit:19864 */
53639 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53640 /* parser/parser.nit:19865 */
53641 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53642 /* parser/parser.nit:19866 */
53643 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53644 /* parser/parser.nit:19867 */
53645 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53646 /* parser/parser.nit:19868 */
53647 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53648 /* parser/parser.nit:19869 */
53649 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53650 /* parser/parser.nit:19870 */
53651 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53652 /* parser/parser.nit:19871 */
53653 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53654 /* parser/parser.nit:19872 */
53655 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53656 /* parser/parser.nit:19874 */
53657 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*/;
53658 if (UNTAG_Bool(REGB0)) {
53659 } else {
53660 nit_abort("Assert failed", NULL, LOCATE_parser, 19874);
53661 }
53662 /* parser/parser.nit:19876 */
53663 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*/;
53664 if (UNTAG_Bool(REGB0)) {
53665 } else {
53666 nit_abort("Assert failed", NULL, LOCATE_parser, 19876);
53667 }
53668 /* parser/parser.nit:19878 */
53669 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*/;
53670 if (UNTAG_Bool(REGB0)) {
53671 } else {
53672 nit_abort("Assert failed", NULL, LOCATE_parser, 19878);
53673 }
53674 /* parser/parser.nit:19880 */
53675 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*/;
53676 if (UNTAG_Bool(REGB0)) {
53677 } else {
53678 nit_abort("Assert failed", NULL, LOCATE_parser, 19880);
53679 }
53680 /* parser/parser.nit:19881 */
53681 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], NIT_NULL);
53682 /* parser/parser.nit:19888 */
53683 fra.me.REG[2] = fra.me.REG[3];
53684 /* parser/parser.nit:19889 */
53685 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
53686 if (UNTAG_Bool(REGB0)) {
53687 } else {
53688 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19889);
53689 }
53690 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
53691 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53692 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
53693 stack_frame_head = fra.me.prev;
53694 return;
53695 }
53696 static const char LOCATE_parser___ReduceAction569___action[] = "parser::ReduceAction569::(parser::ReduceAction::action)";
53697 void parser___ReduceAction569___action(val_t p0, val_t p1){
53698 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
53699 val_t REGB0;
53700 val_t tmp;
53701 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53702 fra.me.file = LOCATE_parser;
53703 fra.me.line = 19894;
53704 fra.me.meth = LOCATE_parser___ReduceAction569___action;
53705 fra.me.has_broke = 0;
53706 fra.me.REG_size = 8;
53707 fra.me.nitni_local_ref_head = NULL;
53708 fra.me.REG[0] = NIT_NULL;
53709 fra.me.REG[1] = NIT_NULL;
53710 fra.me.REG[2] = NIT_NULL;
53711 fra.me.REG[3] = NIT_NULL;
53712 fra.me.REG[4] = NIT_NULL;
53713 fra.me.REG[5] = NIT_NULL;
53714 fra.me.REG[6] = NIT_NULL;
53715 fra.me.REG[7] = NIT_NULL;
53716 fra.me.REG[0] = p0;
53717 fra.me.REG[1] = p1;
53718 /* parser/parser.nit:19896 */
53719 fra.me.REG[2] = NIT_NULL;
53720 /* parser/parser.nit:19897 */
53721 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53722 /* parser/parser.nit:19898 */
53723 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53724 /* parser/parser.nit:19899 */
53725 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53726 /* parser/parser.nit:19900 */
53727 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53728 /* parser/parser.nit:19901 */
53729 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53730 /* parser/parser.nit:19902 */
53731 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53732 /* parser/parser.nit:19903 */
53733 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53734 /* parser/parser.nit:19904 */
53735 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53736 /* parser/parser.nit:19905 */
53737 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53738 /* parser/parser.nit:19906 */
53739 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53740 /* parser/parser.nit:19908 */
53741 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TObra, ID_parser___parser_nodes___TObra)) /*cast nullable TObra*/;
53742 if (UNTAG_Bool(REGB0)) {
53743 } else {
53744 nit_abort("Assert failed", NULL, LOCATE_parser, 19908);
53745 }
53746 /* parser/parser.nit:19910 */
53747 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*/;
53748 if (UNTAG_Bool(REGB0)) {
53749 } else {
53750 nit_abort("Assert failed", NULL, LOCATE_parser, 19910);
53751 }
53752 /* parser/parser.nit:19912 */
53753 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*/;
53754 if (UNTAG_Bool(REGB0)) {
53755 } else {
53756 nit_abort("Assert failed", NULL, LOCATE_parser, 19912);
53757 }
53758 /* parser/parser.nit:19914 */
53759 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*/;
53760 if (UNTAG_Bool(REGB0)) {
53761 } else {
53762 nit_abort("Assert failed", NULL, LOCATE_parser, 19914);
53763 }
53764 /* parser/parser.nit:19916 */
53765 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
53766 if (UNTAG_Bool(REGB0)) {
53767 } else {
53768 nit_abort("Assert failed", NULL, LOCATE_parser, 19916);
53769 }
53770 /* parser/parser.nit:19917 */
53771 fra.me.REG[3] = NEW_AOrangeExpr_parser___parser_prod___AOrangeExpr___init_aorangeexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
53772 /* parser/parser.nit:19924 */
53773 fra.me.REG[2] = fra.me.REG[3];
53774 /* parser/parser.nit:19925 */
53775 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
53776 if (UNTAG_Bool(REGB0)) {
53777 } else {
53778 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19925);
53779 }
53780 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
53781 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53782 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
53783 stack_frame_head = fra.me.prev;
53784 return;
53785 }
53786 static const char LOCATE_parser___ReduceAction570___action[] = "parser::ReduceAction570::(parser::ReduceAction::action)";
53787 void parser___ReduceAction570___action(val_t p0, val_t p1){
53788 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
53789 val_t REGB0;
53790 val_t tmp;
53791 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53792 fra.me.file = LOCATE_parser;
53793 fra.me.line = 19930;
53794 fra.me.meth = LOCATE_parser___ReduceAction570___action;
53795 fra.me.has_broke = 0;
53796 fra.me.REG_size = 4;
53797 fra.me.nitni_local_ref_head = NULL;
53798 fra.me.REG[0] = NIT_NULL;
53799 fra.me.REG[1] = NIT_NULL;
53800 fra.me.REG[2] = NIT_NULL;
53801 fra.me.REG[3] = NIT_NULL;
53802 fra.me.REG[0] = p0;
53803 fra.me.REG[1] = p1;
53804 /* parser/parser.nit:19932 */
53805 fra.me.REG[2] = NIT_NULL;
53806 /* parser/parser.nit:19933 */
53807 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53808 /* parser/parser.nit:19935 */
53809 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*/;
53810 if (UNTAG_Bool(REGB0)) {
53811 } else {
53812 nit_abort("Assert failed", NULL, LOCATE_parser, 19935);
53813 }
53814 /* parser/parser.nit:19936 */
53815 fra.me.REG[3] = NEW_AArrayExpr_parser___parser_prod___AArrayExpr___init_aarrayexpr(fra.me.REG[3], NIT_NULL);
53816 /* parser/parser.nit:19940 */
53817 fra.me.REG[2] = fra.me.REG[3];
53818 /* parser/parser.nit:19941 */
53819 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
53820 if (UNTAG_Bool(REGB0)) {
53821 } else {
53822 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19941);
53823 }
53824 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
53825 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53826 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
53827 stack_frame_head = fra.me.prev;
53828 return;
53829 }
53830 static const char LOCATE_parser___ReduceAction571___action[] = "parser::ReduceAction571::(parser::ReduceAction::action)";
53831 void parser___ReduceAction571___action(val_t p0, val_t p1){
53832 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
53833 val_t REGB0;
53834 val_t tmp;
53835 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53836 fra.me.file = LOCATE_parser;
53837 fra.me.line = 19946;
53838 fra.me.meth = LOCATE_parser___ReduceAction571___action;
53839 fra.me.has_broke = 0;
53840 fra.me.REG_size = 5;
53841 fra.me.nitni_local_ref_head = NULL;
53842 fra.me.REG[0] = NIT_NULL;
53843 fra.me.REG[1] = NIT_NULL;
53844 fra.me.REG[2] = NIT_NULL;
53845 fra.me.REG[3] = NIT_NULL;
53846 fra.me.REG[4] = NIT_NULL;
53847 fra.me.REG[0] = p0;
53848 fra.me.REG[1] = p1;
53849 /* parser/parser.nit:19948 */
53850 fra.me.REG[2] = NIT_NULL;
53851 /* parser/parser.nit:19949 */
53852 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53853 /* parser/parser.nit:19950 */
53854 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53855 /* parser/parser.nit:19952 */
53856 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*/;
53857 if (UNTAG_Bool(REGB0)) {
53858 } else {
53859 nit_abort("Assert failed", NULL, LOCATE_parser, 19952);
53860 }
53861 /* parser/parser.nit:19954 */
53862 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
53863 if (UNTAG_Bool(REGB0)) {
53864 } else {
53865 nit_abort("Assert failed", NULL, LOCATE_parser, 19954);
53866 }
53867 /* parser/parser.nit:19955 */
53868 fra.me.REG[3] = NEW_AArrayExpr_parser___parser_prod___AArrayExpr___init_aarrayexpr(fra.me.REG[4], fra.me.REG[3]);
53869 /* parser/parser.nit:19959 */
53870 fra.me.REG[2] = fra.me.REG[3];
53871 /* parser/parser.nit:19960 */
53872 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
53873 if (UNTAG_Bool(REGB0)) {
53874 } else {
53875 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19960);
53876 }
53877 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
53878 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53879 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
53880 stack_frame_head = fra.me.prev;
53881 return;
53882 }
53883 static const char LOCATE_parser___ReduceAction572___action[] = "parser::ReduceAction572::(parser::ReduceAction::action)";
53884 void parser___ReduceAction572___action(val_t p0, val_t p1){
53885 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
53886 val_t REGB0;
53887 val_t tmp;
53888 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53889 fra.me.file = LOCATE_parser;
53890 fra.me.line = 19965;
53891 fra.me.meth = LOCATE_parser___ReduceAction572___action;
53892 fra.me.has_broke = 0;
53893 fra.me.REG_size = 4;
53894 fra.me.nitni_local_ref_head = NULL;
53895 fra.me.REG[0] = NIT_NULL;
53896 fra.me.REG[1] = NIT_NULL;
53897 fra.me.REG[2] = NIT_NULL;
53898 fra.me.REG[3] = NIT_NULL;
53899 fra.me.REG[0] = p0;
53900 fra.me.REG[1] = p1;
53901 /* parser/parser.nit:19967 */
53902 fra.me.REG[2] = NIT_NULL;
53903 /* parser/parser.nit:19968 */
53904 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53905 /* parser/parser.nit:19970 */
53906 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*/;
53907 if (UNTAG_Bool(REGB0)) {
53908 } else {
53909 nit_abort("Assert failed", NULL, LOCATE_parser, 19970);
53910 }
53911 /* parser/parser.nit:19971 */
53912 fra.me.REG[3] = NEW_ASelfExpr_parser___parser_prod___ASelfExpr___init_aselfexpr(fra.me.REG[3], NIT_NULL);
53913 /* parser/parser.nit:19975 */
53914 fra.me.REG[2] = fra.me.REG[3];
53915 /* parser/parser.nit:19976 */
53916 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
53917 if (UNTAG_Bool(REGB0)) {
53918 } else {
53919 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19976);
53920 }
53921 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
53922 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53923 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
53924 stack_frame_head = fra.me.prev;
53925 return;
53926 }
53927 static const char LOCATE_parser___ReduceAction573___action[] = "parser::ReduceAction573::(parser::ReduceAction::action)";
53928 void parser___ReduceAction573___action(val_t p0, val_t p1){
53929 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
53930 val_t REGB0;
53931 val_t tmp;
53932 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53933 fra.me.file = LOCATE_parser;
53934 fra.me.line = 19981;
53935 fra.me.meth = LOCATE_parser___ReduceAction573___action;
53936 fra.me.has_broke = 0;
53937 fra.me.REG_size = 5;
53938 fra.me.nitni_local_ref_head = NULL;
53939 fra.me.REG[0] = NIT_NULL;
53940 fra.me.REG[1] = NIT_NULL;
53941 fra.me.REG[2] = NIT_NULL;
53942 fra.me.REG[3] = NIT_NULL;
53943 fra.me.REG[4] = NIT_NULL;
53944 fra.me.REG[0] = p0;
53945 fra.me.REG[1] = p1;
53946 /* parser/parser.nit:19983 */
53947 fra.me.REG[2] = NIT_NULL;
53948 /* parser/parser.nit:19984 */
53949 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53950 /* parser/parser.nit:19985 */
53951 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53952 /* parser/parser.nit:19987 */
53953 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwself, ID_parser___parser_nodes___TKwself)) /*cast nullable TKwself*/;
53954 if (UNTAG_Bool(REGB0)) {
53955 } else {
53956 nit_abort("Assert failed", NULL, LOCATE_parser, 19987);
53957 }
53958 /* parser/parser.nit:19989 */
53959 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
53960 if (UNTAG_Bool(REGB0)) {
53961 } else {
53962 nit_abort("Assert failed", NULL, LOCATE_parser, 19989);
53963 }
53964 /* parser/parser.nit:19990 */
53965 fra.me.REG[3] = NEW_ASelfExpr_parser___parser_prod___ASelfExpr___init_aselfexpr(fra.me.REG[4], fra.me.REG[3]);
53966 /* parser/parser.nit:19994 */
53967 fra.me.REG[2] = fra.me.REG[3];
53968 /* parser/parser.nit:19995 */
53969 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
53970 if (UNTAG_Bool(REGB0)) {
53971 } else {
53972 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 19995);
53973 }
53974 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
53975 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53976 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
53977 stack_frame_head = fra.me.prev;
53978 return;
53979 }
53980 static const char LOCATE_parser___ReduceAction574___action[] = "parser::ReduceAction574::(parser::ReduceAction::action)";
53981 void parser___ReduceAction574___action(val_t p0, val_t p1){
53982 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
53983 val_t REGB0;
53984 val_t tmp;
53985 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53986 fra.me.file = LOCATE_parser;
53987 fra.me.line = 20000;
53988 fra.me.meth = LOCATE_parser___ReduceAction574___action;
53989 fra.me.has_broke = 0;
53990 fra.me.REG_size = 4;
53991 fra.me.nitni_local_ref_head = NULL;
53992 fra.me.REG[0] = NIT_NULL;
53993 fra.me.REG[1] = NIT_NULL;
53994 fra.me.REG[2] = NIT_NULL;
53995 fra.me.REG[3] = NIT_NULL;
53996 fra.me.REG[0] = p0;
53997 fra.me.REG[1] = p1;
53998 /* parser/parser.nit:20002 */
53999 fra.me.REG[2] = NIT_NULL;
54000 /* parser/parser.nit:20003 */
54001 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54002 /* parser/parser.nit:20005 */
54003 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*/;
54004 if (UNTAG_Bool(REGB0)) {
54005 } else {
54006 nit_abort("Assert failed", NULL, LOCATE_parser, 20005);
54007 }
54008 /* parser/parser.nit:20006 */
54009 fra.me.REG[3] = NEW_ATrueExpr_parser___parser_prod___ATrueExpr___init_atrueexpr(fra.me.REG[3], NIT_NULL);
54010 /* parser/parser.nit:20010 */
54011 fra.me.REG[2] = fra.me.REG[3];
54012 /* parser/parser.nit:20011 */
54013 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54014 if (UNTAG_Bool(REGB0)) {
54015 } else {
54016 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20011);
54017 }
54018 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54019 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54020 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54021 stack_frame_head = fra.me.prev;
54022 return;
54023 }
54024 static const char LOCATE_parser___ReduceAction575___action[] = "parser::ReduceAction575::(parser::ReduceAction::action)";
54025 void parser___ReduceAction575___action(val_t p0, val_t p1){
54026 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
54027 val_t REGB0;
54028 val_t tmp;
54029 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54030 fra.me.file = LOCATE_parser;
54031 fra.me.line = 20016;
54032 fra.me.meth = LOCATE_parser___ReduceAction575___action;
54033 fra.me.has_broke = 0;
54034 fra.me.REG_size = 5;
54035 fra.me.nitni_local_ref_head = NULL;
54036 fra.me.REG[0] = NIT_NULL;
54037 fra.me.REG[1] = NIT_NULL;
54038 fra.me.REG[2] = NIT_NULL;
54039 fra.me.REG[3] = NIT_NULL;
54040 fra.me.REG[4] = NIT_NULL;
54041 fra.me.REG[0] = p0;
54042 fra.me.REG[1] = p1;
54043 /* parser/parser.nit:20018 */
54044 fra.me.REG[2] = NIT_NULL;
54045 /* parser/parser.nit:20019 */
54046 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54047 /* parser/parser.nit:20020 */
54048 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54049 /* parser/parser.nit:20022 */
54050 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwtrue, ID_parser___parser_nodes___TKwtrue)) /*cast nullable TKwtrue*/;
54051 if (UNTAG_Bool(REGB0)) {
54052 } else {
54053 nit_abort("Assert failed", NULL, LOCATE_parser, 20022);
54054 }
54055 /* parser/parser.nit:20024 */
54056 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
54057 if (UNTAG_Bool(REGB0)) {
54058 } else {
54059 nit_abort("Assert failed", NULL, LOCATE_parser, 20024);
54060 }
54061 /* parser/parser.nit:20025 */
54062 fra.me.REG[3] = NEW_ATrueExpr_parser___parser_prod___ATrueExpr___init_atrueexpr(fra.me.REG[4], fra.me.REG[3]);
54063 /* parser/parser.nit:20029 */
54064 fra.me.REG[2] = fra.me.REG[3];
54065 /* parser/parser.nit:20030 */
54066 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54067 if (UNTAG_Bool(REGB0)) {
54068 } else {
54069 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20030);
54070 }
54071 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54072 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54073 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54074 stack_frame_head = fra.me.prev;
54075 return;
54076 }
54077 static const char LOCATE_parser___ReduceAction576___action[] = "parser::ReduceAction576::(parser::ReduceAction::action)";
54078 void parser___ReduceAction576___action(val_t p0, val_t p1){
54079 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
54080 val_t REGB0;
54081 val_t tmp;
54082 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54083 fra.me.file = LOCATE_parser;
54084 fra.me.line = 20035;
54085 fra.me.meth = LOCATE_parser___ReduceAction576___action;
54086 fra.me.has_broke = 0;
54087 fra.me.REG_size = 4;
54088 fra.me.nitni_local_ref_head = NULL;
54089 fra.me.REG[0] = NIT_NULL;
54090 fra.me.REG[1] = NIT_NULL;
54091 fra.me.REG[2] = NIT_NULL;
54092 fra.me.REG[3] = NIT_NULL;
54093 fra.me.REG[0] = p0;
54094 fra.me.REG[1] = p1;
54095 /* parser/parser.nit:20037 */
54096 fra.me.REG[2] = NIT_NULL;
54097 /* parser/parser.nit:20038 */
54098 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54099 /* parser/parser.nit:20040 */
54100 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*/;
54101 if (UNTAG_Bool(REGB0)) {
54102 } else {
54103 nit_abort("Assert failed", NULL, LOCATE_parser, 20040);
54104 }
54105 /* parser/parser.nit:20041 */
54106 fra.me.REG[3] = NEW_AFalseExpr_parser___parser_prod___AFalseExpr___init_afalseexpr(fra.me.REG[3], NIT_NULL);
54107 /* parser/parser.nit:20045 */
54108 fra.me.REG[2] = fra.me.REG[3];
54109 /* parser/parser.nit:20046 */
54110 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54111 if (UNTAG_Bool(REGB0)) {
54112 } else {
54113 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20046);
54114 }
54115 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54116 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54117 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54118 stack_frame_head = fra.me.prev;
54119 return;
54120 }
54121 static const char LOCATE_parser___ReduceAction577___action[] = "parser::ReduceAction577::(parser::ReduceAction::action)";
54122 void parser___ReduceAction577___action(val_t p0, val_t p1){
54123 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
54124 val_t REGB0;
54125 val_t tmp;
54126 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54127 fra.me.file = LOCATE_parser;
54128 fra.me.line = 20051;
54129 fra.me.meth = LOCATE_parser___ReduceAction577___action;
54130 fra.me.has_broke = 0;
54131 fra.me.REG_size = 5;
54132 fra.me.nitni_local_ref_head = NULL;
54133 fra.me.REG[0] = NIT_NULL;
54134 fra.me.REG[1] = NIT_NULL;
54135 fra.me.REG[2] = NIT_NULL;
54136 fra.me.REG[3] = NIT_NULL;
54137 fra.me.REG[4] = NIT_NULL;
54138 fra.me.REG[0] = p0;
54139 fra.me.REG[1] = p1;
54140 /* parser/parser.nit:20053 */
54141 fra.me.REG[2] = NIT_NULL;
54142 /* parser/parser.nit:20054 */
54143 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54144 /* parser/parser.nit:20055 */
54145 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54146 /* parser/parser.nit:20057 */
54147 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwfalse, ID_parser___parser_nodes___TKwfalse)) /*cast nullable TKwfalse*/;
54148 if (UNTAG_Bool(REGB0)) {
54149 } else {
54150 nit_abort("Assert failed", NULL, LOCATE_parser, 20057);
54151 }
54152 /* parser/parser.nit:20059 */
54153 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
54154 if (UNTAG_Bool(REGB0)) {
54155 } else {
54156 nit_abort("Assert failed", NULL, LOCATE_parser, 20059);
54157 }
54158 /* parser/parser.nit:20060 */
54159 fra.me.REG[3] = NEW_AFalseExpr_parser___parser_prod___AFalseExpr___init_afalseexpr(fra.me.REG[4], fra.me.REG[3]);
54160 /* parser/parser.nit:20064 */
54161 fra.me.REG[2] = fra.me.REG[3];
54162 /* parser/parser.nit:20065 */
54163 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54164 if (UNTAG_Bool(REGB0)) {
54165 } else {
54166 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20065);
54167 }
54168 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54169 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54170 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54171 stack_frame_head = fra.me.prev;
54172 return;
54173 }
54174 static const char LOCATE_parser___ReduceAction578___action[] = "parser::ReduceAction578::(parser::ReduceAction::action)";
54175 void parser___ReduceAction578___action(val_t p0, val_t p1){
54176 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
54177 val_t REGB0;
54178 val_t tmp;
54179 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54180 fra.me.file = LOCATE_parser;
54181 fra.me.line = 20070;
54182 fra.me.meth = LOCATE_parser___ReduceAction578___action;
54183 fra.me.has_broke = 0;
54184 fra.me.REG_size = 4;
54185 fra.me.nitni_local_ref_head = NULL;
54186 fra.me.REG[0] = NIT_NULL;
54187 fra.me.REG[1] = NIT_NULL;
54188 fra.me.REG[2] = NIT_NULL;
54189 fra.me.REG[3] = NIT_NULL;
54190 fra.me.REG[0] = p0;
54191 fra.me.REG[1] = p1;
54192 /* parser/parser.nit:20072 */
54193 fra.me.REG[2] = NIT_NULL;
54194 /* parser/parser.nit:20073 */
54195 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54196 /* parser/parser.nit:20075 */
54197 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*/;
54198 if (UNTAG_Bool(REGB0)) {
54199 } else {
54200 nit_abort("Assert failed", NULL, LOCATE_parser, 20075);
54201 }
54202 /* parser/parser.nit:20076 */
54203 fra.me.REG[3] = NEW_ANullExpr_parser___parser_prod___ANullExpr___init_anullexpr(fra.me.REG[3], NIT_NULL);
54204 /* parser/parser.nit:20080 */
54205 fra.me.REG[2] = fra.me.REG[3];
54206 /* parser/parser.nit:20081 */
54207 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54208 if (UNTAG_Bool(REGB0)) {
54209 } else {
54210 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20081);
54211 }
54212 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54213 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54214 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54215 stack_frame_head = fra.me.prev;
54216 return;
54217 }
54218 static const char LOCATE_parser___ReduceAction579___action[] = "parser::ReduceAction579::(parser::ReduceAction::action)";
54219 void parser___ReduceAction579___action(val_t p0, val_t p1){
54220 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
54221 val_t REGB0;
54222 val_t tmp;
54223 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54224 fra.me.file = LOCATE_parser;
54225 fra.me.line = 20086;
54226 fra.me.meth = LOCATE_parser___ReduceAction579___action;
54227 fra.me.has_broke = 0;
54228 fra.me.REG_size = 5;
54229 fra.me.nitni_local_ref_head = NULL;
54230 fra.me.REG[0] = NIT_NULL;
54231 fra.me.REG[1] = NIT_NULL;
54232 fra.me.REG[2] = NIT_NULL;
54233 fra.me.REG[3] = NIT_NULL;
54234 fra.me.REG[4] = NIT_NULL;
54235 fra.me.REG[0] = p0;
54236 fra.me.REG[1] = p1;
54237 /* parser/parser.nit:20088 */
54238 fra.me.REG[2] = NIT_NULL;
54239 /* parser/parser.nit:20089 */
54240 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54241 /* parser/parser.nit:20090 */
54242 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54243 /* parser/parser.nit:20092 */
54244 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*/;
54245 if (UNTAG_Bool(REGB0)) {
54246 } else {
54247 nit_abort("Assert failed", NULL, LOCATE_parser, 20092);
54248 }
54249 /* parser/parser.nit:20094 */
54250 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
54251 if (UNTAG_Bool(REGB0)) {
54252 } else {
54253 nit_abort("Assert failed", NULL, LOCATE_parser, 20094);
54254 }
54255 /* parser/parser.nit:20095 */
54256 fra.me.REG[3] = NEW_ANullExpr_parser___parser_prod___ANullExpr___init_anullexpr(fra.me.REG[4], fra.me.REG[3]);
54257 /* parser/parser.nit:20099 */
54258 fra.me.REG[2] = fra.me.REG[3];
54259 /* parser/parser.nit:20100 */
54260 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54261 if (UNTAG_Bool(REGB0)) {
54262 } else {
54263 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20100);
54264 }
54265 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54266 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54267 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54268 stack_frame_head = fra.me.prev;
54269 return;
54270 }
54271 static const char LOCATE_parser___ReduceAction580___action[] = "parser::ReduceAction580::(parser::ReduceAction::action)";
54272 void parser___ReduceAction580___action(val_t p0, val_t p1){
54273 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
54274 val_t REGB0;
54275 val_t tmp;
54276 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54277 fra.me.file = LOCATE_parser;
54278 fra.me.line = 20105;
54279 fra.me.meth = LOCATE_parser___ReduceAction580___action;
54280 fra.me.has_broke = 0;
54281 fra.me.REG_size = 4;
54282 fra.me.nitni_local_ref_head = NULL;
54283 fra.me.REG[0] = NIT_NULL;
54284 fra.me.REG[1] = NIT_NULL;
54285 fra.me.REG[2] = NIT_NULL;
54286 fra.me.REG[3] = NIT_NULL;
54287 fra.me.REG[0] = p0;
54288 fra.me.REG[1] = p1;
54289 /* parser/parser.nit:20107 */
54290 fra.me.REG[2] = NIT_NULL;
54291 /* parser/parser.nit:20108 */
54292 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54293 /* parser/parser.nit:20110 */
54294 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*/;
54295 if (UNTAG_Bool(REGB0)) {
54296 } else {
54297 nit_abort("Assert failed", NULL, LOCATE_parser, 20110);
54298 }
54299 /* parser/parser.nit:20111 */
54300 fra.me.REG[3] = NEW_AIntExpr_parser___parser_prod___AIntExpr___init_aintexpr(fra.me.REG[3], NIT_NULL);
54301 /* parser/parser.nit:20115 */
54302 fra.me.REG[2] = fra.me.REG[3];
54303 /* parser/parser.nit:20116 */
54304 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54305 if (UNTAG_Bool(REGB0)) {
54306 } else {
54307 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20116);
54308 }
54309 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54310 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54311 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54312 stack_frame_head = fra.me.prev;
54313 return;
54314 }
54315 static const char LOCATE_parser___ReduceAction581___action[] = "parser::ReduceAction581::(parser::ReduceAction::action)";
54316 void parser___ReduceAction581___action(val_t p0, val_t p1){
54317 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
54318 val_t REGB0;
54319 val_t tmp;
54320 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54321 fra.me.file = LOCATE_parser;
54322 fra.me.line = 20121;
54323 fra.me.meth = LOCATE_parser___ReduceAction581___action;
54324 fra.me.has_broke = 0;
54325 fra.me.REG_size = 5;
54326 fra.me.nitni_local_ref_head = NULL;
54327 fra.me.REG[0] = NIT_NULL;
54328 fra.me.REG[1] = NIT_NULL;
54329 fra.me.REG[2] = NIT_NULL;
54330 fra.me.REG[3] = NIT_NULL;
54331 fra.me.REG[4] = NIT_NULL;
54332 fra.me.REG[0] = p0;
54333 fra.me.REG[1] = p1;
54334 /* parser/parser.nit:20123 */
54335 fra.me.REG[2] = NIT_NULL;
54336 /* parser/parser.nit:20124 */
54337 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54338 /* parser/parser.nit:20125 */
54339 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54340 /* parser/parser.nit:20127 */
54341 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TNumber, ID_parser___parser_nodes___TNumber)) /*cast nullable TNumber*/;
54342 if (UNTAG_Bool(REGB0)) {
54343 } else {
54344 nit_abort("Assert failed", NULL, LOCATE_parser, 20127);
54345 }
54346 /* parser/parser.nit:20129 */
54347 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
54348 if (UNTAG_Bool(REGB0)) {
54349 } else {
54350 nit_abort("Assert failed", NULL, LOCATE_parser, 20129);
54351 }
54352 /* parser/parser.nit:20130 */
54353 fra.me.REG[3] = NEW_AIntExpr_parser___parser_prod___AIntExpr___init_aintexpr(fra.me.REG[4], fra.me.REG[3]);
54354 /* parser/parser.nit:20134 */
54355 fra.me.REG[2] = fra.me.REG[3];
54356 /* parser/parser.nit:20135 */
54357 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54358 if (UNTAG_Bool(REGB0)) {
54359 } else {
54360 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20135);
54361 }
54362 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54363 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54364 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54365 stack_frame_head = fra.me.prev;
54366 return;
54367 }
54368 static const char LOCATE_parser___ReduceAction582___action[] = "parser::ReduceAction582::(parser::ReduceAction::action)";
54369 void parser___ReduceAction582___action(val_t p0, val_t p1){
54370 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
54371 val_t REGB0;
54372 val_t tmp;
54373 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54374 fra.me.file = LOCATE_parser;
54375 fra.me.line = 20140;
54376 fra.me.meth = LOCATE_parser___ReduceAction582___action;
54377 fra.me.has_broke = 0;
54378 fra.me.REG_size = 4;
54379 fra.me.nitni_local_ref_head = NULL;
54380 fra.me.REG[0] = NIT_NULL;
54381 fra.me.REG[1] = NIT_NULL;
54382 fra.me.REG[2] = NIT_NULL;
54383 fra.me.REG[3] = NIT_NULL;
54384 fra.me.REG[0] = p0;
54385 fra.me.REG[1] = p1;
54386 /* parser/parser.nit:20142 */
54387 fra.me.REG[2] = NIT_NULL;
54388 /* parser/parser.nit:20143 */
54389 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54390 /* parser/parser.nit:20145 */
54391 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*/;
54392 if (UNTAG_Bool(REGB0)) {
54393 } else {
54394 nit_abort("Assert failed", NULL, LOCATE_parser, 20145);
54395 }
54396 /* parser/parser.nit:20146 */
54397 fra.me.REG[3] = NEW_AFloatExpr_parser___parser_prod___AFloatExpr___init_afloatexpr(fra.me.REG[3], NIT_NULL);
54398 /* parser/parser.nit:20150 */
54399 fra.me.REG[2] = fra.me.REG[3];
54400 /* parser/parser.nit:20151 */
54401 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54402 if (UNTAG_Bool(REGB0)) {
54403 } else {
54404 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20151);
54405 }
54406 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54407 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54408 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54409 stack_frame_head = fra.me.prev;
54410 return;
54411 }
54412 static const char LOCATE_parser___ReduceAction583___action[] = "parser::ReduceAction583::(parser::ReduceAction::action)";
54413 void parser___ReduceAction583___action(val_t p0, val_t p1){
54414 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
54415 val_t REGB0;
54416 val_t tmp;
54417 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54418 fra.me.file = LOCATE_parser;
54419 fra.me.line = 20156;
54420 fra.me.meth = LOCATE_parser___ReduceAction583___action;
54421 fra.me.has_broke = 0;
54422 fra.me.REG_size = 5;
54423 fra.me.nitni_local_ref_head = NULL;
54424 fra.me.REG[0] = NIT_NULL;
54425 fra.me.REG[1] = NIT_NULL;
54426 fra.me.REG[2] = NIT_NULL;
54427 fra.me.REG[3] = NIT_NULL;
54428 fra.me.REG[4] = NIT_NULL;
54429 fra.me.REG[0] = p0;
54430 fra.me.REG[1] = p1;
54431 /* parser/parser.nit:20158 */
54432 fra.me.REG[2] = NIT_NULL;
54433 /* parser/parser.nit:20159 */
54434 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54435 /* parser/parser.nit:20160 */
54436 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54437 /* parser/parser.nit:20162 */
54438 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TFloat, ID_parser___parser_nodes___TFloat)) /*cast nullable TFloat*/;
54439 if (UNTAG_Bool(REGB0)) {
54440 } else {
54441 nit_abort("Assert failed", NULL, LOCATE_parser, 20162);
54442 }
54443 /* parser/parser.nit:20164 */
54444 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
54445 if (UNTAG_Bool(REGB0)) {
54446 } else {
54447 nit_abort("Assert failed", NULL, LOCATE_parser, 20164);
54448 }
54449 /* parser/parser.nit:20165 */
54450 fra.me.REG[3] = NEW_AFloatExpr_parser___parser_prod___AFloatExpr___init_afloatexpr(fra.me.REG[4], fra.me.REG[3]);
54451 /* parser/parser.nit:20169 */
54452 fra.me.REG[2] = fra.me.REG[3];
54453 /* parser/parser.nit:20170 */
54454 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54455 if (UNTAG_Bool(REGB0)) {
54456 } else {
54457 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20170);
54458 }
54459 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54460 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54461 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54462 stack_frame_head = fra.me.prev;
54463 return;
54464 }
54465 static const char LOCATE_parser___ReduceAction584___action[] = "parser::ReduceAction584::(parser::ReduceAction::action)";
54466 void parser___ReduceAction584___action(val_t p0, val_t p1){
54467 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
54468 val_t REGB0;
54469 val_t tmp;
54470 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54471 fra.me.file = LOCATE_parser;
54472 fra.me.line = 20175;
54473 fra.me.meth = LOCATE_parser___ReduceAction584___action;
54474 fra.me.has_broke = 0;
54475 fra.me.REG_size = 4;
54476 fra.me.nitni_local_ref_head = NULL;
54477 fra.me.REG[0] = NIT_NULL;
54478 fra.me.REG[1] = NIT_NULL;
54479 fra.me.REG[2] = NIT_NULL;
54480 fra.me.REG[3] = NIT_NULL;
54481 fra.me.REG[0] = p0;
54482 fra.me.REG[1] = p1;
54483 /* parser/parser.nit:20177 */
54484 fra.me.REG[2] = NIT_NULL;
54485 /* parser/parser.nit:20178 */
54486 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54487 /* parser/parser.nit:20180 */
54488 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*/;
54489 if (UNTAG_Bool(REGB0)) {
54490 } else {
54491 nit_abort("Assert failed", NULL, LOCATE_parser, 20180);
54492 }
54493 /* parser/parser.nit:20181 */
54494 fra.me.REG[3] = NEW_ACharExpr_parser___parser_prod___ACharExpr___init_acharexpr(fra.me.REG[3], NIT_NULL);
54495 /* parser/parser.nit:20185 */
54496 fra.me.REG[2] = fra.me.REG[3];
54497 /* parser/parser.nit:20186 */
54498 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54499 if (UNTAG_Bool(REGB0)) {
54500 } else {
54501 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20186);
54502 }
54503 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54504 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54505 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54506 stack_frame_head = fra.me.prev;
54507 return;
54508 }
54509 static const char LOCATE_parser___ReduceAction585___action[] = "parser::ReduceAction585::(parser::ReduceAction::action)";
54510 void parser___ReduceAction585___action(val_t p0, val_t p1){
54511 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
54512 val_t REGB0;
54513 val_t tmp;
54514 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54515 fra.me.file = LOCATE_parser;
54516 fra.me.line = 20191;
54517 fra.me.meth = LOCATE_parser___ReduceAction585___action;
54518 fra.me.has_broke = 0;
54519 fra.me.REG_size = 5;
54520 fra.me.nitni_local_ref_head = NULL;
54521 fra.me.REG[0] = NIT_NULL;
54522 fra.me.REG[1] = NIT_NULL;
54523 fra.me.REG[2] = NIT_NULL;
54524 fra.me.REG[3] = NIT_NULL;
54525 fra.me.REG[4] = NIT_NULL;
54526 fra.me.REG[0] = p0;
54527 fra.me.REG[1] = p1;
54528 /* parser/parser.nit:20193 */
54529 fra.me.REG[2] = NIT_NULL;
54530 /* parser/parser.nit:20194 */
54531 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54532 /* parser/parser.nit:20195 */
54533 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54534 /* parser/parser.nit:20197 */
54535 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TChar, ID_parser___parser_nodes___TChar)) /*cast nullable TChar*/;
54536 if (UNTAG_Bool(REGB0)) {
54537 } else {
54538 nit_abort("Assert failed", NULL, LOCATE_parser, 20197);
54539 }
54540 /* parser/parser.nit:20199 */
54541 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
54542 if (UNTAG_Bool(REGB0)) {
54543 } else {
54544 nit_abort("Assert failed", NULL, LOCATE_parser, 20199);
54545 }
54546 /* parser/parser.nit:20200 */
54547 fra.me.REG[3] = NEW_ACharExpr_parser___parser_prod___ACharExpr___init_acharexpr(fra.me.REG[4], fra.me.REG[3]);
54548 /* parser/parser.nit:20204 */
54549 fra.me.REG[2] = fra.me.REG[3];
54550 /* parser/parser.nit:20205 */
54551 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54552 if (UNTAG_Bool(REGB0)) {
54553 } else {
54554 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20205);
54555 }
54556 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54557 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54558 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54559 stack_frame_head = fra.me.prev;
54560 return;
54561 }
54562 static const char LOCATE_parser___ReduceAction586___action[] = "parser::ReduceAction586::(parser::ReduceAction::action)";
54563 void parser___ReduceAction586___action(val_t p0, val_t p1){
54564 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
54565 val_t REGB0;
54566 val_t tmp;
54567 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54568 fra.me.file = LOCATE_parser;
54569 fra.me.line = 20210;
54570 fra.me.meth = LOCATE_parser___ReduceAction586___action;
54571 fra.me.has_broke = 0;
54572 fra.me.REG_size = 4;
54573 fra.me.nitni_local_ref_head = NULL;
54574 fra.me.REG[0] = NIT_NULL;
54575 fra.me.REG[1] = NIT_NULL;
54576 fra.me.REG[2] = NIT_NULL;
54577 fra.me.REG[3] = NIT_NULL;
54578 fra.me.REG[0] = p0;
54579 fra.me.REG[1] = p1;
54580 /* parser/parser.nit:20212 */
54581 fra.me.REG[2] = NIT_NULL;
54582 /* parser/parser.nit:20213 */
54583 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54584 /* parser/parser.nit:20215 */
54585 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*/;
54586 if (UNTAG_Bool(REGB0)) {
54587 } else {
54588 nit_abort("Assert failed", NULL, LOCATE_parser, 20215);
54589 }
54590 /* parser/parser.nit:20216 */
54591 fra.me.REG[3] = NEW_AStringExpr_parser___parser_prod___AStringExpr___init_astringexpr(fra.me.REG[3], NIT_NULL);
54592 /* parser/parser.nit:20220 */
54593 fra.me.REG[2] = fra.me.REG[3];
54594 /* parser/parser.nit:20221 */
54595 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54596 if (UNTAG_Bool(REGB0)) {
54597 } else {
54598 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20221);
54599 }
54600 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54601 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54602 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54603 stack_frame_head = fra.me.prev;
54604 return;
54605 }
54606 static const char LOCATE_parser___ReduceAction587___action[] = "parser::ReduceAction587::(parser::ReduceAction::action)";
54607 void parser___ReduceAction587___action(val_t p0, val_t p1){
54608 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
54609 val_t REGB0;
54610 val_t tmp;
54611 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54612 fra.me.file = LOCATE_parser;
54613 fra.me.line = 20226;
54614 fra.me.meth = LOCATE_parser___ReduceAction587___action;
54615 fra.me.has_broke = 0;
54616 fra.me.REG_size = 5;
54617 fra.me.nitni_local_ref_head = NULL;
54618 fra.me.REG[0] = NIT_NULL;
54619 fra.me.REG[1] = NIT_NULL;
54620 fra.me.REG[2] = NIT_NULL;
54621 fra.me.REG[3] = NIT_NULL;
54622 fra.me.REG[4] = NIT_NULL;
54623 fra.me.REG[0] = p0;
54624 fra.me.REG[1] = p1;
54625 /* parser/parser.nit:20228 */
54626 fra.me.REG[2] = NIT_NULL;
54627 /* parser/parser.nit:20229 */
54628 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54629 /* parser/parser.nit:20230 */
54630 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54631 /* parser/parser.nit:20232 */
54632 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*/;
54633 if (UNTAG_Bool(REGB0)) {
54634 } else {
54635 nit_abort("Assert failed", NULL, LOCATE_parser, 20232);
54636 }
54637 /* parser/parser.nit:20234 */
54638 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
54639 if (UNTAG_Bool(REGB0)) {
54640 } else {
54641 nit_abort("Assert failed", NULL, LOCATE_parser, 20234);
54642 }
54643 /* parser/parser.nit:20235 */
54644 fra.me.REG[3] = NEW_AStringExpr_parser___parser_prod___AStringExpr___init_astringexpr(fra.me.REG[4], fra.me.REG[3]);
54645 /* parser/parser.nit:20239 */
54646 fra.me.REG[2] = fra.me.REG[3];
54647 /* parser/parser.nit:20240 */
54648 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54649 if (UNTAG_Bool(REGB0)) {
54650 } else {
54651 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20240);
54652 }
54653 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54654 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54655 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54656 stack_frame_head = fra.me.prev;
54657 return;
54658 }
54659 static const char LOCATE_parser___ReduceAction589___action[] = "parser::ReduceAction589::(parser::ReduceAction::action)";
54660 void parser___ReduceAction589___action(val_t p0, val_t p1){
54661 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
54662 val_t REGB0;
54663 val_t tmp;
54664 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54665 fra.me.file = LOCATE_parser;
54666 fra.me.line = 20245;
54667 fra.me.meth = LOCATE_parser___ReduceAction589___action;
54668 fra.me.has_broke = 0;
54669 fra.me.REG_size = 6;
54670 fra.me.nitni_local_ref_head = NULL;
54671 fra.me.REG[0] = NIT_NULL;
54672 fra.me.REG[1] = NIT_NULL;
54673 fra.me.REG[2] = NIT_NULL;
54674 fra.me.REG[3] = NIT_NULL;
54675 fra.me.REG[4] = NIT_NULL;
54676 fra.me.REG[5] = NIT_NULL;
54677 fra.me.REG[0] = p0;
54678 fra.me.REG[1] = p1;
54679 /* parser/parser.nit:20247 */
54680 fra.me.REG[2] = NIT_NULL;
54681 /* parser/parser.nit:20248 */
54682 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54683 /* parser/parser.nit:20249 */
54684 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54685 /* parser/parser.nit:20250 */
54686 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54687 /* parser/parser.nit:20252 */
54688 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*/;
54689 if (UNTAG_Bool(REGB0)) {
54690 } else {
54691 nit_abort("Assert failed", NULL, LOCATE_parser, 20252);
54692 }
54693 /* parser/parser.nit:20254 */
54694 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*/;
54695 if (UNTAG_Bool(REGB0)) {
54696 } else {
54697 nit_abort("Assert failed", NULL, LOCATE_parser, 20254);
54698 }
54699 /* parser/parser.nit:20256 */
54700 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*/;
54701 if (UNTAG_Bool(REGB0)) {
54702 } else {
54703 nit_abort("Assert failed", NULL, LOCATE_parser, 20256);
54704 }
54705 /* parser/parser.nit:20257 */
54706 fra.me.REG[3] = NEW_AParExpr_parser___parser_prod___AParExpr___init_aparexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
54707 /* parser/parser.nit:20263 */
54708 fra.me.REG[2] = fra.me.REG[3];
54709 /* parser/parser.nit:20264 */
54710 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54711 if (UNTAG_Bool(REGB0)) {
54712 } else {
54713 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20264);
54714 }
54715 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54716 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54717 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54718 stack_frame_head = fra.me.prev;
54719 return;
54720 }
54721 static const char LOCATE_parser___ReduceAction590___action[] = "parser::ReduceAction590::(parser::ReduceAction::action)";
54722 void parser___ReduceAction590___action(val_t p0, val_t p1){
54723 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
54724 val_t REGB0;
54725 val_t tmp;
54726 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54727 fra.me.file = LOCATE_parser;
54728 fra.me.line = 20269;
54729 fra.me.meth = LOCATE_parser___ReduceAction590___action;
54730 fra.me.has_broke = 0;
54731 fra.me.REG_size = 7;
54732 fra.me.nitni_local_ref_head = NULL;
54733 fra.me.REG[0] = NIT_NULL;
54734 fra.me.REG[1] = NIT_NULL;
54735 fra.me.REG[2] = NIT_NULL;
54736 fra.me.REG[3] = NIT_NULL;
54737 fra.me.REG[4] = NIT_NULL;
54738 fra.me.REG[5] = NIT_NULL;
54739 fra.me.REG[6] = NIT_NULL;
54740 fra.me.REG[0] = p0;
54741 fra.me.REG[1] = p1;
54742 /* parser/parser.nit:20271 */
54743 fra.me.REG[2] = NIT_NULL;
54744 /* parser/parser.nit:20272 */
54745 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54746 /* parser/parser.nit:20273 */
54747 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54748 /* parser/parser.nit:20274 */
54749 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54750 /* parser/parser.nit:20275 */
54751 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54752 /* parser/parser.nit:20277 */
54753 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*/;
54754 if (UNTAG_Bool(REGB0)) {
54755 } else {
54756 nit_abort("Assert failed", NULL, LOCATE_parser, 20277);
54757 }
54758 /* parser/parser.nit:20279 */
54759 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*/;
54760 if (UNTAG_Bool(REGB0)) {
54761 } else {
54762 nit_abort("Assert failed", NULL, LOCATE_parser, 20279);
54763 }
54764 /* parser/parser.nit:20281 */
54765 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*/;
54766 if (UNTAG_Bool(REGB0)) {
54767 } else {
54768 nit_abort("Assert failed", NULL, LOCATE_parser, 20281);
54769 }
54770 /* parser/parser.nit:20283 */
54771 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
54772 if (UNTAG_Bool(REGB0)) {
54773 } else {
54774 nit_abort("Assert failed", NULL, LOCATE_parser, 20283);
54775 }
54776 /* parser/parser.nit:20284 */
54777 fra.me.REG[3] = NEW_AParExpr_parser___parser_prod___AParExpr___init_aparexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
54778 /* parser/parser.nit:20290 */
54779 fra.me.REG[2] = fra.me.REG[3];
54780 /* parser/parser.nit:20291 */
54781 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54782 if (UNTAG_Bool(REGB0)) {
54783 } else {
54784 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20291);
54785 }
54786 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54787 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54788 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54789 stack_frame_head = fra.me.prev;
54790 return;
54791 }
54792 static const char LOCATE_parser___ReduceAction591___action[] = "parser::ReduceAction591::(parser::ReduceAction::action)";
54793 void parser___ReduceAction591___action(val_t p0, val_t p1){
54794 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
54795 val_t REGB0;
54796 val_t tmp;
54797 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54798 fra.me.file = LOCATE_parser;
54799 fra.me.line = 20296;
54800 fra.me.meth = LOCATE_parser___ReduceAction591___action;
54801 fra.me.has_broke = 0;
54802 fra.me.REG_size = 8;
54803 fra.me.nitni_local_ref_head = NULL;
54804 fra.me.REG[0] = NIT_NULL;
54805 fra.me.REG[1] = NIT_NULL;
54806 fra.me.REG[2] = NIT_NULL;
54807 fra.me.REG[3] = NIT_NULL;
54808 fra.me.REG[4] = NIT_NULL;
54809 fra.me.REG[5] = NIT_NULL;
54810 fra.me.REG[6] = NIT_NULL;
54811 fra.me.REG[7] = NIT_NULL;
54812 fra.me.REG[0] = p0;
54813 fra.me.REG[1] = p1;
54814 /* parser/parser.nit:20298 */
54815 fra.me.REG[2] = NIT_NULL;
54816 /* parser/parser.nit:20299 */
54817 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54818 /* parser/parser.nit:20300 */
54819 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54820 /* parser/parser.nit:20301 */
54821 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54822 /* parser/parser.nit:20302 */
54823 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54824 /* parser/parser.nit:20303 */
54825 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54826 /* parser/parser.nit:20304 */
54827 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54828 /* parser/parser.nit:20305 */
54829 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54830 /* parser/parser.nit:20306 */
54831 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54832 /* parser/parser.nit:20307 */
54833 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54834 /* parser/parser.nit:20308 */
54835 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54836 /* parser/parser.nit:20310 */
54837 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*/;
54838 if (UNTAG_Bool(REGB0)) {
54839 } else {
54840 nit_abort("Assert failed", NULL, LOCATE_parser, 20310);
54841 }
54842 /* parser/parser.nit:20312 */
54843 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*/;
54844 if (UNTAG_Bool(REGB0)) {
54845 } else {
54846 nit_abort("Assert failed", NULL, LOCATE_parser, 20312);
54847 }
54848 /* parser/parser.nit:20314 */
54849 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*/;
54850 if (UNTAG_Bool(REGB0)) {
54851 } else {
54852 nit_abort("Assert failed", NULL, LOCATE_parser, 20314);
54853 }
54854 /* parser/parser.nit:20316 */
54855 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*/;
54856 if (UNTAG_Bool(REGB0)) {
54857 } else {
54858 nit_abort("Assert failed", NULL, LOCATE_parser, 20316);
54859 }
54860 /* parser/parser.nit:20318 */
54861 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*/;
54862 if (UNTAG_Bool(REGB0)) {
54863 } else {
54864 nit_abort("Assert failed", NULL, LOCATE_parser, 20318);
54865 }
54866 /* parser/parser.nit:20319 */
54867 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]);
54868 /* parser/parser.nit:20326 */
54869 fra.me.REG[2] = fra.me.REG[3];
54870 /* parser/parser.nit:20327 */
54871 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54872 if (UNTAG_Bool(REGB0)) {
54873 } else {
54874 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20327);
54875 }
54876 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54877 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54878 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54879 stack_frame_head = fra.me.prev;
54880 return;
54881 }
54882 static const char LOCATE_parser___ReduceAction592___action[] = "parser::ReduceAction592::(parser::ReduceAction::action)";
54883 void parser___ReduceAction592___action(val_t p0, val_t p1){
54884 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
54885 val_t REGB0;
54886 val_t tmp;
54887 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54888 fra.me.file = LOCATE_parser;
54889 fra.me.line = 20332;
54890 fra.me.meth = LOCATE_parser___ReduceAction592___action;
54891 fra.me.has_broke = 0;
54892 fra.me.REG_size = 9;
54893 fra.me.nitni_local_ref_head = NULL;
54894 fra.me.REG[0] = NIT_NULL;
54895 fra.me.REG[1] = NIT_NULL;
54896 fra.me.REG[2] = NIT_NULL;
54897 fra.me.REG[3] = NIT_NULL;
54898 fra.me.REG[4] = NIT_NULL;
54899 fra.me.REG[5] = NIT_NULL;
54900 fra.me.REG[6] = NIT_NULL;
54901 fra.me.REG[7] = NIT_NULL;
54902 fra.me.REG[8] = NIT_NULL;
54903 fra.me.REG[0] = p0;
54904 fra.me.REG[1] = p1;
54905 /* parser/parser.nit:20334 */
54906 fra.me.REG[2] = NIT_NULL;
54907 /* parser/parser.nit:20335 */
54908 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54909 /* parser/parser.nit:20336 */
54910 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54911 /* parser/parser.nit:20337 */
54912 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54913 /* parser/parser.nit:20338 */
54914 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54915 /* parser/parser.nit:20339 */
54916 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54917 /* parser/parser.nit:20340 */
54918 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54919 /* parser/parser.nit:20341 */
54920 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54921 /* parser/parser.nit:20342 */
54922 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54923 /* parser/parser.nit:20343 */
54924 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54925 /* parser/parser.nit:20344 */
54926 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54927 /* parser/parser.nit:20345 */
54928 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54929 /* parser/parser.nit:20346 */
54930 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54931 /* parser/parser.nit:20348 */
54932 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*/;
54933 if (UNTAG_Bool(REGB0)) {
54934 } else {
54935 nit_abort("Assert failed", NULL, LOCATE_parser, 20348);
54936 }
54937 /* parser/parser.nit:20350 */
54938 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*/;
54939 if (UNTAG_Bool(REGB0)) {
54940 } else {
54941 nit_abort("Assert failed", NULL, LOCATE_parser, 20350);
54942 }
54943 /* parser/parser.nit:20352 */
54944 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*/;
54945 if (UNTAG_Bool(REGB0)) {
54946 } else {
54947 nit_abort("Assert failed", NULL, LOCATE_parser, 20352);
54948 }
54949 /* parser/parser.nit:20354 */
54950 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*/;
54951 if (UNTAG_Bool(REGB0)) {
54952 } else {
54953 nit_abort("Assert failed", NULL, LOCATE_parser, 20354);
54954 }
54955 /* parser/parser.nit:20356 */
54956 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*/;
54957 if (UNTAG_Bool(REGB0)) {
54958 } else {
54959 nit_abort("Assert failed", NULL, LOCATE_parser, 20356);
54960 }
54961 /* parser/parser.nit:20358 */
54962 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*/;
54963 if (UNTAG_Bool(REGB0)) {
54964 } else {
54965 nit_abort("Assert failed", NULL, LOCATE_parser, 20358);
54966 }
54967 /* parser/parser.nit:20359 */
54968 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]);
54969 /* parser/parser.nit:20367 */
54970 fra.me.REG[2] = fra.me.REG[3];
54971 /* parser/parser.nit:20368 */
54972 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
54973 if (UNTAG_Bool(REGB0)) {
54974 } else {
54975 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20368);
54976 }
54977 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
54978 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54979 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
54980 stack_frame_head = fra.me.prev;
54981 return;
54982 }
54983 static const char LOCATE_parser___ReduceAction593___action[] = "parser::ReduceAction593::(parser::ReduceAction::action)";
54984 void parser___ReduceAction593___action(val_t p0, val_t p1){
54985 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
54986 val_t REGB0;
54987 val_t REGB1;
54988 val_t tmp;
54989 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54990 fra.me.file = LOCATE_parser;
54991 fra.me.line = 20373;
54992 fra.me.meth = LOCATE_parser___ReduceAction593___action;
54993 fra.me.has_broke = 0;
54994 fra.me.REG_size = 6;
54995 fra.me.nitni_local_ref_head = NULL;
54996 fra.me.REG[0] = NIT_NULL;
54997 fra.me.REG[1] = NIT_NULL;
54998 fra.me.REG[2] = NIT_NULL;
54999 fra.me.REG[3] = NIT_NULL;
55000 fra.me.REG[4] = NIT_NULL;
55001 fra.me.REG[5] = NIT_NULL;
55002 fra.me.REG[0] = p0;
55003 fra.me.REG[1] = p1;
55004 /* parser/parser.nit:20375 */
55005 fra.me.REG[2] = NIT_NULL;
55006 /* parser/parser.nit:20376 */
55007 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55008 /* parser/parser.nit:20377 */
55009 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55010 /* parser/parser.nit:20378 */
55011 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
55012 /* parser/parser.nit:20380 */
55013 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]*/;
55014 if (UNTAG_Bool(REGB0)) {
55015 } else {
55016 nit_abort("Assert failed", NULL, LOCATE_parser, 20380);
55017 }
55018 /* parser/parser.nit:20382 */
55019 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
55020 if (UNTAG_Bool(REGB0)) {
55021 } else {
55022 nit_abort("Assert failed", NULL, LOCATE_parser, 20382);
55023 }
55024 /* parser/parser.nit:20383 */
55025 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
55026 fra.me.REG[5] = fra.me.REG[4];
55027 /* parser/parser.nit:20384 */
55028 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
55029 if (UNTAG_Bool(REGB0)) {
55030 } else {
55031 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
55032 if (UNTAG_Bool(REGB1)) {
55033 REGB1 = TAG_Bool(0);
55034 REGB0 = REGB1;
55035 } else {
55036 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
55037 REGB0 = REGB1;
55038 }
55039 }
55040 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
55041 if (UNTAG_Bool(REGB0)) {
55042 /* parser/parser.nit:20385 */
55043 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
55044 }
55045 /* parser/parser.nit:20387 */
55046 fra.me.REG[5] = NEW_ASuperstringExpr_parser___parser_prod___ASuperstringExpr___init_asuperstringexpr(fra.me.REG[5], NIT_NULL);
55047 /* parser/parser.nit:20391 */
55048 fra.me.REG[2] = fra.me.REG[5];
55049 /* parser/parser.nit:20392 */
55050 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
55051 if (UNTAG_Bool(REGB0)) {
55052 } else {
55053 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20392);
55054 }
55055 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
55056 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55057 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
55058 stack_frame_head = fra.me.prev;
55059 return;
55060 }
55061 static const char LOCATE_parser___ReduceAction594___action[] = "parser::ReduceAction594::(parser::ReduceAction::action)";
55062 void parser___ReduceAction594___action(val_t p0, val_t p1){
55063 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
55064 val_t REGB0;
55065 val_t REGB1;
55066 val_t tmp;
55067 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55068 fra.me.file = LOCATE_parser;
55069 fra.me.line = 20397;
55070 fra.me.meth = LOCATE_parser___ReduceAction594___action;
55071 fra.me.has_broke = 0;
55072 fra.me.REG_size = 7;
55073 fra.me.nitni_local_ref_head = NULL;
55074 fra.me.REG[0] = NIT_NULL;
55075 fra.me.REG[1] = NIT_NULL;
55076 fra.me.REG[2] = NIT_NULL;
55077 fra.me.REG[3] = NIT_NULL;
55078 fra.me.REG[4] = NIT_NULL;
55079 fra.me.REG[5] = NIT_NULL;
55080 fra.me.REG[6] = NIT_NULL;
55081 fra.me.REG[0] = p0;
55082 fra.me.REG[1] = p1;
55083 /* parser/parser.nit:20399 */
55084 fra.me.REG[2] = NIT_NULL;
55085 /* parser/parser.nit:20400 */
55086 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55087 /* parser/parser.nit:20401 */
55088 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55089 /* parser/parser.nit:20402 */
55090 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55091 /* parser/parser.nit:20403 */
55092 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
55093 /* parser/parser.nit:20405 */
55094 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]*/;
55095 if (UNTAG_Bool(REGB0)) {
55096 } else {
55097 nit_abort("Assert failed", NULL, LOCATE_parser, 20405);
55098 }
55099 /* parser/parser.nit:20407 */
55100 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]*/;
55101 if (UNTAG_Bool(REGB0)) {
55102 } else {
55103 nit_abort("Assert failed", NULL, LOCATE_parser, 20407);
55104 }
55105 /* parser/parser.nit:20409 */
55106 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
55107 if (UNTAG_Bool(REGB0)) {
55108 } else {
55109 nit_abort("Assert failed", NULL, LOCATE_parser, 20409);
55110 }
55111 /* parser/parser.nit:20410 */
55112 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
55113 fra.me.REG[6] = fra.me.REG[5];
55114 /* parser/parser.nit:20411 */
55115 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
55116 fra.me.REG[6] = fra.me.REG[4];
55117 /* parser/parser.nit:20412 */
55118 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
55119 if (UNTAG_Bool(REGB0)) {
55120 } else {
55121 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
55122 if (UNTAG_Bool(REGB1)) {
55123 REGB1 = TAG_Bool(0);
55124 REGB0 = REGB1;
55125 } else {
55126 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
55127 REGB0 = REGB1;
55128 }
55129 }
55130 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
55131 if (UNTAG_Bool(REGB0)) {
55132 /* parser/parser.nit:20413 */
55133 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
55134 }
55135 /* parser/parser.nit:20415 */
55136 fra.me.REG[6] = NEW_ASuperstringExpr_parser___parser_prod___ASuperstringExpr___init_asuperstringexpr(fra.me.REG[6], NIT_NULL);
55137 /* parser/parser.nit:20419 */
55138 fra.me.REG[2] = fra.me.REG[6];
55139 /* parser/parser.nit:20420 */
55140 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
55141 if (UNTAG_Bool(REGB0)) {
55142 } else {
55143 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20420);
55144 }
55145 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
55146 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55147 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
55148 stack_frame_head = fra.me.prev;
55149 return;
55150 }
55151 static const char LOCATE_parser___ReduceAction595___action[] = "parser::ReduceAction595::(parser::ReduceAction::action)";
55152 void parser___ReduceAction595___action(val_t p0, val_t p1){
55153 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
55154 val_t REGB0;
55155 val_t REGB1;
55156 val_t tmp;
55157 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55158 fra.me.file = LOCATE_parser;
55159 fra.me.line = 20425;
55160 fra.me.meth = LOCATE_parser___ReduceAction595___action;
55161 fra.me.has_broke = 0;
55162 fra.me.REG_size = 7;
55163 fra.me.nitni_local_ref_head = NULL;
55164 fra.me.REG[0] = NIT_NULL;
55165 fra.me.REG[1] = NIT_NULL;
55166 fra.me.REG[2] = NIT_NULL;
55167 fra.me.REG[3] = NIT_NULL;
55168 fra.me.REG[4] = NIT_NULL;
55169 fra.me.REG[5] = NIT_NULL;
55170 fra.me.REG[6] = NIT_NULL;
55171 fra.me.REG[0] = p0;
55172 fra.me.REG[1] = p1;
55173 /* parser/parser.nit:20427 */
55174 fra.me.REG[2] = NIT_NULL;
55175 /* parser/parser.nit:20428 */
55176 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55177 /* parser/parser.nit:20429 */
55178 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55179 /* parser/parser.nit:20430 */
55180 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55181 /* parser/parser.nit:20431 */
55182 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
55183 /* parser/parser.nit:20433 */
55184 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]*/;
55185 if (UNTAG_Bool(REGB0)) {
55186 } else {
55187 nit_abort("Assert failed", NULL, LOCATE_parser, 20433);
55188 }
55189 /* parser/parser.nit:20435 */
55190 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*/;
55191 if (UNTAG_Bool(REGB0)) {
55192 } else {
55193 nit_abort("Assert failed", NULL, LOCATE_parser, 20435);
55194 }
55195 /* parser/parser.nit:20436 */
55196 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
55197 fra.me.REG[6] = fra.me.REG[5];
55198 /* parser/parser.nit:20437 */
55199 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
55200 if (UNTAG_Bool(REGB0)) {
55201 } else {
55202 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
55203 if (UNTAG_Bool(REGB1)) {
55204 REGB1 = TAG_Bool(0);
55205 REGB0 = REGB1;
55206 } else {
55207 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
55208 REGB0 = REGB1;
55209 }
55210 }
55211 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
55212 if (UNTAG_Bool(REGB0)) {
55213 /* parser/parser.nit:20438 */
55214 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
55215 }
55216 /* parser/parser.nit:20441 */
55217 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
55218 if (UNTAG_Bool(REGB0)) {
55219 } else {
55220 nit_abort("Assert failed", NULL, LOCATE_parser, 20441);
55221 }
55222 /* parser/parser.nit:20442 */
55223 fra.me.REG[3] = NEW_ASuperstringExpr_parser___parser_prod___ASuperstringExpr___init_asuperstringexpr(fra.me.REG[6], fra.me.REG[3]);
55224 /* parser/parser.nit:20446 */
55225 fra.me.REG[2] = fra.me.REG[3];
55226 /* parser/parser.nit:20447 */
55227 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
55228 if (UNTAG_Bool(REGB0)) {
55229 } else {
55230 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20447);
55231 }
55232 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
55233 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55234 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
55235 stack_frame_head = fra.me.prev;
55236 return;
55237 }
55238 static const char LOCATE_parser___ReduceAction596___action[] = "parser::ReduceAction596::(parser::ReduceAction::action)";
55239 void parser___ReduceAction596___action(val_t p0, val_t p1){
55240 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
55241 val_t REGB0;
55242 val_t REGB1;
55243 val_t tmp;
55244 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55245 fra.me.file = LOCATE_parser;
55246 fra.me.line = 20452;
55247 fra.me.meth = LOCATE_parser___ReduceAction596___action;
55248 fra.me.has_broke = 0;
55249 fra.me.REG_size = 8;
55250 fra.me.nitni_local_ref_head = NULL;
55251 fra.me.REG[0] = NIT_NULL;
55252 fra.me.REG[1] = NIT_NULL;
55253 fra.me.REG[2] = NIT_NULL;
55254 fra.me.REG[3] = NIT_NULL;
55255 fra.me.REG[4] = NIT_NULL;
55256 fra.me.REG[5] = NIT_NULL;
55257 fra.me.REG[6] = NIT_NULL;
55258 fra.me.REG[7] = NIT_NULL;
55259 fra.me.REG[0] = p0;
55260 fra.me.REG[1] = p1;
55261 /* parser/parser.nit:20454 */
55262 fra.me.REG[2] = NIT_NULL;
55263 /* parser/parser.nit:20455 */
55264 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55265 /* parser/parser.nit:20456 */
55266 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55267 /* parser/parser.nit:20457 */
55268 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55269 /* parser/parser.nit:20458 */
55270 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55271 /* parser/parser.nit:20459 */
55272 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
55273 /* parser/parser.nit:20461 */
55274 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]*/;
55275 if (UNTAG_Bool(REGB0)) {
55276 } else {
55277 nit_abort("Assert failed", NULL, LOCATE_parser, 20461);
55278 }
55279 /* parser/parser.nit:20463 */
55280 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]*/;
55281 if (UNTAG_Bool(REGB0)) {
55282 } else {
55283 nit_abort("Assert failed", NULL, LOCATE_parser, 20463);
55284 }
55285 /* parser/parser.nit:20465 */
55286 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*/;
55287 if (UNTAG_Bool(REGB0)) {
55288 } else {
55289 nit_abort("Assert failed", NULL, LOCATE_parser, 20465);
55290 }
55291 /* parser/parser.nit:20466 */
55292 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
55293 fra.me.REG[7] = fra.me.REG[6];
55294 /* parser/parser.nit:20467 */
55295 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
55296 fra.me.REG[7] = fra.me.REG[5];
55297 /* parser/parser.nit:20468 */
55298 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
55299 if (UNTAG_Bool(REGB0)) {
55300 } else {
55301 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
55302 if (UNTAG_Bool(REGB1)) {
55303 REGB1 = TAG_Bool(0);
55304 REGB0 = REGB1;
55305 } else {
55306 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
55307 REGB0 = REGB1;
55308 }
55309 }
55310 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
55311 if (UNTAG_Bool(REGB0)) {
55312 /* parser/parser.nit:20469 */
55313 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
55314 }
55315 /* parser/parser.nit:20472 */
55316 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
55317 if (UNTAG_Bool(REGB0)) {
55318 } else {
55319 nit_abort("Assert failed", NULL, LOCATE_parser, 20472);
55320 }
55321 /* parser/parser.nit:20473 */
55322 fra.me.REG[3] = NEW_ASuperstringExpr_parser___parser_prod___ASuperstringExpr___init_asuperstringexpr(fra.me.REG[7], fra.me.REG[3]);
55323 /* parser/parser.nit:20477 */
55324 fra.me.REG[2] = fra.me.REG[3];
55325 /* parser/parser.nit:20478 */
55326 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
55327 if (UNTAG_Bool(REGB0)) {
55328 } else {
55329 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20478);
55330 }
55331 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
55332 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55333 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
55334 stack_frame_head = fra.me.prev;
55335 return;
55336 }
55337 static const char LOCATE_parser___ReduceAction597___action[] = "parser::ReduceAction597::(parser::ReduceAction::action)";
55338 void parser___ReduceAction597___action(val_t p0, val_t p1){
55339 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
55340 val_t REGB0;
55341 val_t REGB1;
55342 val_t tmp;
55343 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55344 fra.me.file = LOCATE_parser;
55345 fra.me.line = 20483;
55346 fra.me.meth = LOCATE_parser___ReduceAction597___action;
55347 fra.me.has_broke = 0;
55348 fra.me.REG_size = 6;
55349 fra.me.nitni_local_ref_head = NULL;
55350 fra.me.REG[0] = NIT_NULL;
55351 fra.me.REG[1] = NIT_NULL;
55352 fra.me.REG[2] = NIT_NULL;
55353 fra.me.REG[3] = NIT_NULL;
55354 fra.me.REG[4] = NIT_NULL;
55355 fra.me.REG[5] = NIT_NULL;
55356 fra.me.REG[0] = p0;
55357 fra.me.REG[1] = p1;
55358 /* parser/parser.nit:20485 */
55359 fra.me.REG[2] = NIT_NULL;
55360 /* parser/parser.nit:20486 */
55361 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55362 /* parser/parser.nit:20487 */
55363 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55364 /* parser/parser.nit:20488 */
55365 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55366 /* parser/parser.nit:20489 */
55367 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55368 /* parser/parser.nit:20490 */
55369 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
55370 /* parser/parser.nit:20493 */
55371 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
55372 if (UNTAG_Bool(REGB0)) {
55373 } else {
55374 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
55375 if (UNTAG_Bool(REGB1)) {
55376 REGB1 = TAG_Bool(0);
55377 REGB0 = REGB1;
55378 } else {
55379 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
55380 REGB0 = REGB1;
55381 }
55382 }
55383 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
55384 if (UNTAG_Bool(REGB0)) {
55385 /* parser/parser.nit:20494 */
55386 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
55387 }
55388 /* parser/parser.nit:20496 */
55389 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
55390 if (UNTAG_Bool(REGB0)) {
55391 } else {
55392 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
55393 if (UNTAG_Bool(REGB1)) {
55394 REGB1 = TAG_Bool(0);
55395 REGB0 = REGB1;
55396 } else {
55397 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
55398 REGB0 = REGB1;
55399 }
55400 }
55401 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
55402 if (UNTAG_Bool(REGB0)) {
55403 /* parser/parser.nit:20497 */
55404 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
55405 }
55406 /* parser/parser.nit:20499 */
55407 fra.me.REG[2] = fra.me.REG[5];
55408 /* parser/parser.nit:20500 */
55409 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
55410 if (UNTAG_Bool(REGB0)) {
55411 } else {
55412 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20500);
55413 }
55414 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
55415 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55416 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
55417 stack_frame_head = fra.me.prev;
55418 return;
55419 }
55420 static const char LOCATE_parser___ReduceAction598___action[] = "parser::ReduceAction598::(parser::ReduceAction::action)";
55421 void parser___ReduceAction598___action(val_t p0, val_t p1){
55422 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
55423 val_t REGB0;
55424 val_t tmp;
55425 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55426 fra.me.file = LOCATE_parser;
55427 fra.me.line = 20505;
55428 fra.me.meth = LOCATE_parser___ReduceAction598___action;
55429 fra.me.has_broke = 0;
55430 fra.me.REG_size = 4;
55431 fra.me.nitni_local_ref_head = NULL;
55432 fra.me.REG[0] = NIT_NULL;
55433 fra.me.REG[1] = NIT_NULL;
55434 fra.me.REG[2] = NIT_NULL;
55435 fra.me.REG[3] = NIT_NULL;
55436 fra.me.REG[0] = p0;
55437 fra.me.REG[1] = p1;
55438 /* parser/parser.nit:20507 */
55439 fra.me.REG[2] = NIT_NULL;
55440 /* parser/parser.nit:20508 */
55441 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55442 /* parser/parser.nit:20510 */
55443 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*/;
55444 if (UNTAG_Bool(REGB0)) {
55445 } else {
55446 nit_abort("Assert failed", NULL, LOCATE_parser, 20510);
55447 }
55448 /* parser/parser.nit:20511 */
55449 fra.me.REG[3] = NEW_AStartStringExpr_parser___parser_prod___AStartStringExpr___init_astartstringexpr(fra.me.REG[3]);
55450 /* parser/parser.nit:20514 */
55451 fra.me.REG[2] = fra.me.REG[3];
55452 /* parser/parser.nit:20515 */
55453 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
55454 if (UNTAG_Bool(REGB0)) {
55455 } else {
55456 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20515);
55457 }
55458 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
55459 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55460 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
55461 stack_frame_head = fra.me.prev;
55462 return;
55463 }
55464 static const char LOCATE_parser___ReduceAction600___action[] = "parser::ReduceAction600::(parser::ReduceAction::action)";
55465 void parser___ReduceAction600___action(val_t p0, val_t p1){
55466 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
55467 val_t REGB0;
55468 val_t tmp;
55469 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55470 fra.me.file = LOCATE_parser;
55471 fra.me.line = 20520;
55472 fra.me.meth = LOCATE_parser___ReduceAction600___action;
55473 fra.me.has_broke = 0;
55474 fra.me.REG_size = 4;
55475 fra.me.nitni_local_ref_head = NULL;
55476 fra.me.REG[0] = NIT_NULL;
55477 fra.me.REG[1] = NIT_NULL;
55478 fra.me.REG[2] = NIT_NULL;
55479 fra.me.REG[3] = NIT_NULL;
55480 fra.me.REG[0] = p0;
55481 fra.me.REG[1] = p1;
55482 /* parser/parser.nit:20522 */
55483 fra.me.REG[2] = NIT_NULL;
55484 /* parser/parser.nit:20523 */
55485 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55486 /* parser/parser.nit:20525 */
55487 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*/;
55488 if (UNTAG_Bool(REGB0)) {
55489 } else {
55490 nit_abort("Assert failed", NULL, LOCATE_parser, 20525);
55491 }
55492 /* parser/parser.nit:20526 */
55493 fra.me.REG[3] = NEW_AMidStringExpr_parser___parser_prod___AMidStringExpr___init_amidstringexpr(fra.me.REG[3]);
55494 /* parser/parser.nit:20529 */
55495 fra.me.REG[2] = fra.me.REG[3];
55496 /* parser/parser.nit:20530 */
55497 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
55498 if (UNTAG_Bool(REGB0)) {
55499 } else {
55500 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20530);
55501 }
55502 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
55503 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55504 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
55505 stack_frame_head = fra.me.prev;
55506 return;
55507 }
55508 static const char LOCATE_parser___ReduceAction601___action[] = "parser::ReduceAction601::(parser::ReduceAction::action)";
55509 void parser___ReduceAction601___action(val_t p0, val_t p1){
55510 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
55511 val_t REGB0;
55512 val_t tmp;
55513 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55514 fra.me.file = LOCATE_parser;
55515 fra.me.line = 20535;
55516 fra.me.meth = LOCATE_parser___ReduceAction601___action;
55517 fra.me.has_broke = 0;
55518 fra.me.REG_size = 4;
55519 fra.me.nitni_local_ref_head = NULL;
55520 fra.me.REG[0] = NIT_NULL;
55521 fra.me.REG[1] = NIT_NULL;
55522 fra.me.REG[2] = NIT_NULL;
55523 fra.me.REG[3] = NIT_NULL;
55524 fra.me.REG[0] = p0;
55525 fra.me.REG[1] = p1;
55526 /* parser/parser.nit:20537 */
55527 fra.me.REG[2] = NIT_NULL;
55528 /* parser/parser.nit:20538 */
55529 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55530 /* parser/parser.nit:20540 */
55531 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*/;
55532 if (UNTAG_Bool(REGB0)) {
55533 } else {
55534 nit_abort("Assert failed", NULL, LOCATE_parser, 20540);
55535 }
55536 /* parser/parser.nit:20541 */
55537 fra.me.REG[3] = NEW_AEndStringExpr_parser___parser_prod___AEndStringExpr___init_aendstringexpr(fra.me.REG[3]);
55538 /* parser/parser.nit:20544 */
55539 fra.me.REG[2] = fra.me.REG[3];
55540 /* parser/parser.nit:20545 */
55541 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
55542 if (UNTAG_Bool(REGB0)) {
55543 } else {
55544 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20545);
55545 }
55546 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
55547 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55548 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
55549 stack_frame_head = fra.me.prev;
55550 return;
55551 }
55552 static const char LOCATE_parser___ReduceAction602___action[] = "parser::ReduceAction602::(parser::ReduceAction::action)";
55553 void parser___ReduceAction602___action(val_t p0, val_t p1){
55554 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
55555 val_t REGB0;
55556 val_t REGB1;
55557 val_t tmp;
55558 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55559 fra.me.file = LOCATE_parser;
55560 fra.me.line = 20550;
55561 fra.me.meth = LOCATE_parser___ReduceAction602___action;
55562 fra.me.has_broke = 0;
55563 fra.me.REG_size = 6;
55564 fra.me.nitni_local_ref_head = NULL;
55565 fra.me.REG[0] = NIT_NULL;
55566 fra.me.REG[1] = NIT_NULL;
55567 fra.me.REG[2] = NIT_NULL;
55568 fra.me.REG[3] = NIT_NULL;
55569 fra.me.REG[4] = NIT_NULL;
55570 fra.me.REG[5] = NIT_NULL;
55571 fra.me.REG[0] = p0;
55572 fra.me.REG[1] = p1;
55573 /* parser/parser.nit:20552 */
55574 fra.me.REG[2] = NIT_NULL;
55575 /* parser/parser.nit:20553 */
55576 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55577 /* parser/parser.nit:20554 */
55578 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55579 /* parser/parser.nit:20555 */
55580 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
55581 /* parser/parser.nit:20557 */
55582 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAt, ID_parser___parser_nodes___TAt)) /*cast nullable TAt*/;
55583 if (UNTAG_Bool(REGB0)) {
55584 } else {
55585 nit_abort("Assert failed", NULL, LOCATE_parser, 20557);
55586 }
55587 /* parser/parser.nit:20559 */
55588 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotation, ID_parser___parser_nodes___AAnnotation)) /*cast nullable AAnnotation*/;
55589 if (UNTAG_Bool(REGB0)) {
55590 } else {
55591 nit_abort("Assert failed", NULL, LOCATE_parser, 20559);
55592 }
55593 /* parser/parser.nit:20560 */
55594 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
55595 if (UNTAG_Bool(REGB0)) {
55596 } else {
55597 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
55598 if (UNTAG_Bool(REGB1)) {
55599 REGB1 = TAG_Bool(0);
55600 REGB0 = REGB1;
55601 } else {
55602 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
55603 REGB0 = REGB1;
55604 }
55605 }
55606 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
55607 if (UNTAG_Bool(REGB0)) {
55608 /* parser/parser.nit:20561 */
55609 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
55610 }
55611 /* parser/parser.nit:20563 */
55612 fra.me.REG[5] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(fra.me.REG[4], NIT_NULL, fra.me.REG[5], NIT_NULL);
55613 /* parser/parser.nit:20569 */
55614 fra.me.REG[2] = fra.me.REG[5];
55615 /* parser/parser.nit:20570 */
55616 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
55617 if (UNTAG_Bool(REGB0)) {
55618 } else {
55619 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20570);
55620 }
55621 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
55622 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55623 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
55624 stack_frame_head = fra.me.prev;
55625 return;
55626 }
55627 static const char LOCATE_parser___ReduceAction603___action[] = "parser::ReduceAction603::(parser::ReduceAction::action)";
55628 void parser___ReduceAction603___action(val_t p0, val_t p1){
55629 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
55630 val_t REGB0;
55631 val_t tmp;
55632 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55633 fra.me.file = LOCATE_parser;
55634 fra.me.line = 20575;
55635 fra.me.meth = LOCATE_parser___ReduceAction603___action;
55636 fra.me.has_broke = 0;
55637 fra.me.REG_size = 8;
55638 fra.me.nitni_local_ref_head = NULL;
55639 fra.me.REG[0] = NIT_NULL;
55640 fra.me.REG[1] = NIT_NULL;
55641 fra.me.REG[2] = NIT_NULL;
55642 fra.me.REG[3] = NIT_NULL;
55643 fra.me.REG[4] = NIT_NULL;
55644 fra.me.REG[5] = NIT_NULL;
55645 fra.me.REG[6] = NIT_NULL;
55646 fra.me.REG[7] = NIT_NULL;
55647 fra.me.REG[0] = p0;
55648 fra.me.REG[1] = p1;
55649 /* parser/parser.nit:20577 */
55650 fra.me.REG[2] = NIT_NULL;
55651 /* parser/parser.nit:20578 */
55652 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55653 /* parser/parser.nit:20579 */
55654 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55655 /* parser/parser.nit:20580 */
55656 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55657 /* parser/parser.nit:20581 */
55658 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55659 /* parser/parser.nit:20582 */
55660 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
55661 /* parser/parser.nit:20584 */
55662 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TAt, ID_parser___parser_nodes___TAt)) /*cast nullable TAt*/;
55663 if (UNTAG_Bool(REGB0)) {
55664 } else {
55665 nit_abort("Assert failed", NULL, LOCATE_parser, 20584);
55666 }
55667 /* parser/parser.nit:20586 */
55668 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*/;
55669 if (UNTAG_Bool(REGB0)) {
55670 } else {
55671 nit_abort("Assert failed", NULL, LOCATE_parser, 20586);
55672 }
55673 /* parser/parser.nit:20588 */
55674 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]*/;
55675 if (UNTAG_Bool(REGB0)) {
55676 } else {
55677 nit_abort("Assert failed", NULL, LOCATE_parser, 20588);
55678 }
55679 /* parser/parser.nit:20589 */
55680 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
55681 fra.me.REG[7] = fra.me.REG[4];
55682 /* parser/parser.nit:20591 */
55683 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*/;
55684 if (UNTAG_Bool(REGB0)) {
55685 } else {
55686 nit_abort("Assert failed", NULL, LOCATE_parser, 20591);
55687 }
55688 /* parser/parser.nit:20592 */
55689 fra.me.REG[3] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3]);
55690 /* parser/parser.nit:20598 */
55691 fra.me.REG[2] = fra.me.REG[3];
55692 /* parser/parser.nit:20599 */
55693 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
55694 if (UNTAG_Bool(REGB0)) {
55695 } else {
55696 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20599);
55697 }
55698 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
55699 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55700 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
55701 stack_frame_head = fra.me.prev;
55702 return;
55703 }
55704 static const char LOCATE_parser___ReduceAction604___action[] = "parser::ReduceAction604::(parser::ReduceAction::action)";
55705 void parser___ReduceAction604___action(val_t p0, val_t p1){
55706 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
55707 val_t REGB0;
55708 val_t tmp;
55709 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55710 fra.me.file = LOCATE_parser;
55711 fra.me.line = 20604;
55712 fra.me.meth = LOCATE_parser___ReduceAction604___action;
55713 fra.me.has_broke = 0;
55714 fra.me.REG_size = 5;
55715 fra.me.nitni_local_ref_head = NULL;
55716 fra.me.REG[0] = NIT_NULL;
55717 fra.me.REG[1] = NIT_NULL;
55718 fra.me.REG[2] = NIT_NULL;
55719 fra.me.REG[3] = NIT_NULL;
55720 fra.me.REG[4] = NIT_NULL;
55721 fra.me.REG[0] = p0;
55722 fra.me.REG[1] = p1;
55723 /* parser/parser.nit:20606 */
55724 fra.me.REG[2] = NIT_NULL;
55725 /* parser/parser.nit:20607 */
55726 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55727 /* parser/parser.nit:20608 */
55728 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
55729 /* parser/parser.nit:20610 */
55730 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAtid, ID_parser___parser_nodes___AAtid)) /*cast nullable AAtid*/;
55731 if (UNTAG_Bool(REGB0)) {
55732 } else {
55733 nit_abort("Assert failed", NULL, LOCATE_parser, 20610);
55734 }
55735 /* parser/parser.nit:20611 */
55736 fra.me.REG[4] = NEW_AAnnotation_parser___parser_prod___AAnnotation___init_aannotation(fra.me.REG[3], NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL);
55737 /* parser/parser.nit:20618 */
55738 fra.me.REG[2] = fra.me.REG[4];
55739 /* parser/parser.nit:20619 */
55740 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
55741 if (UNTAG_Bool(REGB0)) {
55742 } else {
55743 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20619);
55744 }
55745 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
55746 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55747 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
55748 stack_frame_head = fra.me.prev;
55749 return;
55750 }
55751 static const char LOCATE_parser___ReduceAction605___action[] = "parser::ReduceAction605::(parser::ReduceAction::action)";
55752 void parser___ReduceAction605___action(val_t p0, val_t p1){
55753 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
55754 val_t REGB0;
55755 val_t tmp;
55756 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55757 fra.me.file = LOCATE_parser;
55758 fra.me.line = 20624;
55759 fra.me.meth = LOCATE_parser___ReduceAction605___action;
55760 fra.me.has_broke = 0;
55761 fra.me.REG_size = 6;
55762 fra.me.nitni_local_ref_head = NULL;
55763 fra.me.REG[0] = NIT_NULL;
55764 fra.me.REG[1] = NIT_NULL;
55765 fra.me.REG[2] = NIT_NULL;
55766 fra.me.REG[3] = NIT_NULL;
55767 fra.me.REG[4] = NIT_NULL;
55768 fra.me.REG[5] = NIT_NULL;
55769 fra.me.REG[0] = p0;
55770 fra.me.REG[1] = p1;
55771 /* parser/parser.nit:20626 */
55772 fra.me.REG[2] = NIT_NULL;
55773 /* parser/parser.nit:20627 */
55774 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55775 /* parser/parser.nit:20628 */
55776 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55777 /* parser/parser.nit:20629 */
55778 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
55779 /* parser/parser.nit:20631 */
55780 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAtid, ID_parser___parser_nodes___AAtid)) /*cast nullable AAtid*/;
55781 if (UNTAG_Bool(REGB0)) {
55782 } else {
55783 nit_abort("Assert failed", NULL, LOCATE_parser, 20631);
55784 }
55785 /* parser/parser.nit:20633 */
55786 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
55787 if (UNTAG_Bool(REGB0)) {
55788 } else {
55789 nit_abort("Assert failed", NULL, LOCATE_parser, 20633);
55790 }
55791 /* parser/parser.nit:20634 */
55792 fra.me.REG[3] = NEW_AAnnotation_parser___parser_prod___AAnnotation___init_aannotation(fra.me.REG[4], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[3]);
55793 /* parser/parser.nit:20641 */
55794 fra.me.REG[2] = fra.me.REG[3];
55795 /* parser/parser.nit:20642 */
55796 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
55797 if (UNTAG_Bool(REGB0)) {
55798 } else {
55799 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20642);
55800 }
55801 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
55802 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55803 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
55804 stack_frame_head = fra.me.prev;
55805 return;
55806 }
55807 static const char LOCATE_parser___ReduceAction606___action[] = "parser::ReduceAction606::(parser::ReduceAction::action)";
55808 void parser___ReduceAction606___action(val_t p0, val_t p1){
55809 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
55810 val_t REGB0;
55811 val_t tmp;
55812 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55813 fra.me.file = LOCATE_parser;
55814 fra.me.line = 20647;
55815 fra.me.meth = LOCATE_parser___ReduceAction606___action;
55816 fra.me.has_broke = 0;
55817 fra.me.REG_size = 8;
55818 fra.me.nitni_local_ref_head = NULL;
55819 fra.me.REG[0] = NIT_NULL;
55820 fra.me.REG[1] = NIT_NULL;
55821 fra.me.REG[2] = NIT_NULL;
55822 fra.me.REG[3] = NIT_NULL;
55823 fra.me.REG[4] = NIT_NULL;
55824 fra.me.REG[5] = NIT_NULL;
55825 fra.me.REG[6] = NIT_NULL;
55826 fra.me.REG[7] = NIT_NULL;
55827 fra.me.REG[0] = p0;
55828 fra.me.REG[1] = p1;
55829 /* parser/parser.nit:20649 */
55830 fra.me.REG[2] = NIT_NULL;
55831 /* parser/parser.nit:20650 */
55832 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55833 /* parser/parser.nit:20651 */
55834 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55835 /* parser/parser.nit:20652 */
55836 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55837 /* parser/parser.nit:20653 */
55838 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55839 /* parser/parser.nit:20654 */
55840 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
55841 /* parser/parser.nit:20656 */
55842 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AAtid, ID_parser___parser_nodes___AAtid)) /*cast nullable AAtid*/;
55843 if (UNTAG_Bool(REGB0)) {
55844 } else {
55845 nit_abort("Assert failed", NULL, LOCATE_parser, 20656);
55846 }
55847 /* parser/parser.nit:20658 */
55848 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*/;
55849 if (UNTAG_Bool(REGB0)) {
55850 } else {
55851 nit_abort("Assert failed", NULL, LOCATE_parser, 20658);
55852 }
55853 /* parser/parser.nit:20660 */
55854 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]*/;
55855 if (UNTAG_Bool(REGB0)) {
55856 } else {
55857 nit_abort("Assert failed", NULL, LOCATE_parser, 20660);
55858 }
55859 /* parser/parser.nit:20661 */
55860 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
55861 fra.me.REG[7] = fra.me.REG[4];
55862 /* parser/parser.nit:20663 */
55863 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*/;
55864 if (UNTAG_Bool(REGB0)) {
55865 } else {
55866 nit_abort("Assert failed", NULL, LOCATE_parser, 20663);
55867 }
55868 /* parser/parser.nit:20664 */
55869 fra.me.REG[3] = NEW_AAnnotation_parser___parser_prod___AAnnotation___init_aannotation(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], NIT_NULL);
55870 /* parser/parser.nit:20671 */
55871 fra.me.REG[2] = fra.me.REG[3];
55872 /* parser/parser.nit:20672 */
55873 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
55874 if (UNTAG_Bool(REGB0)) {
55875 } else {
55876 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20672);
55877 }
55878 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
55879 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55880 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
55881 stack_frame_head = fra.me.prev;
55882 return;
55883 }
55884 static const char LOCATE_parser___ReduceAction607___action[] = "parser::ReduceAction607::(parser::ReduceAction::action)";
55885 void parser___ReduceAction607___action(val_t p0, val_t p1){
55886 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
55887 val_t REGB0;
55888 val_t tmp;
55889 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55890 fra.me.file = LOCATE_parser;
55891 fra.me.line = 20677;
55892 fra.me.meth = LOCATE_parser___ReduceAction607___action;
55893 fra.me.has_broke = 0;
55894 fra.me.REG_size = 9;
55895 fra.me.nitni_local_ref_head = NULL;
55896 fra.me.REG[0] = NIT_NULL;
55897 fra.me.REG[1] = NIT_NULL;
55898 fra.me.REG[2] = NIT_NULL;
55899 fra.me.REG[3] = NIT_NULL;
55900 fra.me.REG[4] = NIT_NULL;
55901 fra.me.REG[5] = NIT_NULL;
55902 fra.me.REG[6] = NIT_NULL;
55903 fra.me.REG[7] = NIT_NULL;
55904 fra.me.REG[8] = NIT_NULL;
55905 fra.me.REG[0] = p0;
55906 fra.me.REG[1] = p1;
55907 /* parser/parser.nit:20679 */
55908 fra.me.REG[2] = NIT_NULL;
55909 /* parser/parser.nit:20680 */
55910 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55911 /* parser/parser.nit:20681 */
55912 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55913 /* parser/parser.nit:20682 */
55914 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55915 /* parser/parser.nit:20683 */
55916 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55917 /* parser/parser.nit:20684 */
55918 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55919 /* parser/parser.nit:20685 */
55920 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
55921 /* parser/parser.nit:20687 */
55922 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAtid, ID_parser___parser_nodes___AAtid)) /*cast nullable AAtid*/;
55923 if (UNTAG_Bool(REGB0)) {
55924 } else {
55925 nit_abort("Assert failed", NULL, LOCATE_parser, 20687);
55926 }
55927 /* parser/parser.nit:20689 */
55928 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*/;
55929 if (UNTAG_Bool(REGB0)) {
55930 } else {
55931 nit_abort("Assert failed", NULL, LOCATE_parser, 20689);
55932 }
55933 /* parser/parser.nit:20691 */
55934 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]*/;
55935 if (UNTAG_Bool(REGB0)) {
55936 } else {
55937 nit_abort("Assert failed", NULL, LOCATE_parser, 20691);
55938 }
55939 /* parser/parser.nit:20692 */
55940 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
55941 fra.me.REG[8] = fra.me.REG[5];
55942 /* parser/parser.nit:20694 */
55943 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*/;
55944 if (UNTAG_Bool(REGB0)) {
55945 } else {
55946 nit_abort("Assert failed", NULL, LOCATE_parser, 20694);
55947 }
55948 /* parser/parser.nit:20696 */
55949 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
55950 if (UNTAG_Bool(REGB0)) {
55951 } else {
55952 nit_abort("Assert failed", NULL, LOCATE_parser, 20696);
55953 }
55954 /* parser/parser.nit:20697 */
55955 fra.me.REG[3] = NEW_AAnnotation_parser___parser_prod___AAnnotation___init_aannotation(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[3]);
55956 /* parser/parser.nit:20704 */
55957 fra.me.REG[2] = fra.me.REG[3];
55958 /* parser/parser.nit:20705 */
55959 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
55960 if (UNTAG_Bool(REGB0)) {
55961 } else {
55962 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20705);
55963 }
55964 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
55965 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55966 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
55967 stack_frame_head = fra.me.prev;
55968 return;
55969 }
55970 static const char LOCATE_parser___ReduceAction608___action[] = "parser::ReduceAction608::(parser::ReduceAction::action)";
55971 void parser___ReduceAction608___action(val_t p0, val_t p1){
55972 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
55973 val_t REGB0;
55974 val_t tmp;
55975 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55976 fra.me.file = LOCATE_parser;
55977 fra.me.line = 20710;
55978 fra.me.meth = LOCATE_parser___ReduceAction608___action;
55979 fra.me.has_broke = 0;
55980 fra.me.REG_size = 5;
55981 fra.me.nitni_local_ref_head = NULL;
55982 fra.me.REG[0] = NIT_NULL;
55983 fra.me.REG[1] = NIT_NULL;
55984 fra.me.REG[2] = NIT_NULL;
55985 fra.me.REG[3] = NIT_NULL;
55986 fra.me.REG[4] = NIT_NULL;
55987 fra.me.REG[0] = p0;
55988 fra.me.REG[1] = p1;
55989 /* parser/parser.nit:20712 */
55990 fra.me.REG[2] = NIT_NULL;
55991 /* parser/parser.nit:20713 */
55992 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55993 /* parser/parser.nit:20714 */
55994 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
55995 /* parser/parser.nit:20716 */
55996 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]*/;
55997 if (UNTAG_Bool(REGB0)) {
55998 } else {
55999 nit_abort("Assert failed", NULL, LOCATE_parser, 20716);
56000 }
56001 /* parser/parser.nit:20717 */
56002 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
56003 fra.me.REG[4] = fra.me.REG[3];
56004 /* parser/parser.nit:20718 */
56005 fra.me.REG[4] = NEW_AAnnotations_parser___parser_prod___AAnnotations___init_aannotations(NIT_NULL, NIT_NULL, fra.me.REG[4], NIT_NULL);
56006 /* parser/parser.nit:20724 */
56007 fra.me.REG[2] = fra.me.REG[4];
56008 /* parser/parser.nit:20725 */
56009 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56010 if (UNTAG_Bool(REGB0)) {
56011 } else {
56012 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20725);
56013 }
56014 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56015 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56016 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56017 stack_frame_head = fra.me.prev;
56018 return;
56019 }
56020 static const char LOCATE_parser___ReduceAction609___action[] = "parser::ReduceAction609::(parser::ReduceAction::action)";
56021 void parser___ReduceAction609___action(val_t p0, val_t p1){
56022 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
56023 val_t REGB0;
56024 val_t REGB1;
56025 val_t tmp;
56026 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56027 fra.me.file = LOCATE_parser;
56028 fra.me.line = 20730;
56029 fra.me.meth = LOCATE_parser___ReduceAction609___action;
56030 fra.me.has_broke = 0;
56031 fra.me.REG_size = 5;
56032 fra.me.nitni_local_ref_head = NULL;
56033 fra.me.REG[0] = NIT_NULL;
56034 fra.me.REG[1] = NIT_NULL;
56035 fra.me.REG[2] = NIT_NULL;
56036 fra.me.REG[3] = NIT_NULL;
56037 fra.me.REG[4] = NIT_NULL;
56038 fra.me.REG[0] = p0;
56039 fra.me.REG[1] = p1;
56040 /* parser/parser.nit:20732 */
56041 fra.me.REG[2] = NIT_NULL;
56042 /* parser/parser.nit:20733 */
56043 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56044 /* parser/parser.nit:20734 */
56045 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
56046 /* parser/parser.nit:20736 */
56047 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
56048 if (UNTAG_Bool(REGB0)) {
56049 } else {
56050 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
56051 if (UNTAG_Bool(REGB1)) {
56052 REGB1 = TAG_Bool(0);
56053 REGB0 = REGB1;
56054 } else {
56055 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
56056 REGB0 = REGB1;
56057 }
56058 }
56059 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
56060 if (UNTAG_Bool(REGB0)) {
56061 /* parser/parser.nit:20737 */
56062 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
56063 }
56064 /* parser/parser.nit:20739 */
56065 fra.me.REG[2] = fra.me.REG[4];
56066 /* parser/parser.nit:20740 */
56067 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56068 if (UNTAG_Bool(REGB0)) {
56069 } else {
56070 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20740);
56071 }
56072 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56073 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56074 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56075 stack_frame_head = fra.me.prev;
56076 return;
56077 }
56078 static const char LOCATE_parser___ReduceAction610___action[] = "parser::ReduceAction610::(parser::ReduceAction::action)";
56079 void parser___ReduceAction610___action(val_t p0, val_t p1){
56080 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
56081 val_t REGB0;
56082 val_t REGB1;
56083 val_t tmp;
56084 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56085 fra.me.file = LOCATE_parser;
56086 fra.me.line = 20745;
56087 fra.me.meth = LOCATE_parser___ReduceAction610___action;
56088 fra.me.has_broke = 0;
56089 fra.me.REG_size = 6;
56090 fra.me.nitni_local_ref_head = NULL;
56091 fra.me.REG[0] = NIT_NULL;
56092 fra.me.REG[1] = NIT_NULL;
56093 fra.me.REG[2] = NIT_NULL;
56094 fra.me.REG[3] = NIT_NULL;
56095 fra.me.REG[4] = NIT_NULL;
56096 fra.me.REG[5] = NIT_NULL;
56097 fra.me.REG[0] = p0;
56098 fra.me.REG[1] = p1;
56099 /* parser/parser.nit:20747 */
56100 fra.me.REG[2] = NIT_NULL;
56101 /* parser/parser.nit:20748 */
56102 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56103 /* parser/parser.nit:20749 */
56104 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56105 /* parser/parser.nit:20750 */
56106 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
56107 /* parser/parser.nit:20753 */
56108 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]*/;
56109 if (UNTAG_Bool(REGB0)) {
56110 } else {
56111 nit_abort("Assert failed", NULL, LOCATE_parser, 20753);
56112 }
56113 /* parser/parser.nit:20754 */
56114 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
56115 if (UNTAG_Bool(REGB0)) {
56116 } else {
56117 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
56118 if (UNTAG_Bool(REGB1)) {
56119 REGB1 = TAG_Bool(0);
56120 REGB0 = REGB1;
56121 } else {
56122 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
56123 REGB0 = REGB1;
56124 }
56125 }
56126 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
56127 if (UNTAG_Bool(REGB0)) {
56128 /* parser/parser.nit:20755 */
56129 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
56130 }
56131 /* parser/parser.nit:20757 */
56132 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
56133 fra.me.REG[5] = fra.me.REG[3];
56134 /* parser/parser.nit:20758 */
56135 fra.me.REG[2] = fra.me.REG[5];
56136 /* parser/parser.nit:20759 */
56137 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56138 if (UNTAG_Bool(REGB0)) {
56139 } else {
56140 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20759);
56141 }
56142 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56143 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56144 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56145 stack_frame_head = fra.me.prev;
56146 return;
56147 }
56148 static const char LOCATE_parser___ReduceAction612___action[] = "parser::ReduceAction612::(parser::ReduceAction::action)";
56149 void parser___ReduceAction612___action(val_t p0, val_t p1){
56150 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
56151 val_t REGB0;
56152 val_t tmp;
56153 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56154 fra.me.file = LOCATE_parser;
56155 fra.me.line = 20764;
56156 fra.me.meth = LOCATE_parser___ReduceAction612___action;
56157 fra.me.has_broke = 0;
56158 fra.me.REG_size = 5;
56159 fra.me.nitni_local_ref_head = NULL;
56160 fra.me.REG[0] = NIT_NULL;
56161 fra.me.REG[1] = NIT_NULL;
56162 fra.me.REG[2] = NIT_NULL;
56163 fra.me.REG[3] = NIT_NULL;
56164 fra.me.REG[4] = NIT_NULL;
56165 fra.me.REG[0] = p0;
56166 fra.me.REG[1] = p1;
56167 /* parser/parser.nit:20766 */
56168 fra.me.REG[2] = NIT_NULL;
56169 /* parser/parser.nit:20767 */
56170 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56171 /* parser/parser.nit:20768 */
56172 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56173 /* parser/parser.nit:20769 */
56174 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56175 /* parser/parser.nit:20770 */
56176 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
56177 /* parser/parser.nit:20772 */
56178 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAtid, ID_parser___parser_nodes___AAtid)) /*cast nullable AAtid*/;
56179 if (UNTAG_Bool(REGB0)) {
56180 } else {
56181 nit_abort("Assert failed", NULL, LOCATE_parser, 20772);
56182 }
56183 /* parser/parser.nit:20773 */
56184 fra.me.REG[4] = NEW_AAnnotation_parser___parser_prod___AAnnotation___init_aannotation(fra.me.REG[3], NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL);
56185 /* parser/parser.nit:20780 */
56186 fra.me.REG[2] = fra.me.REG[4];
56187 /* parser/parser.nit:20781 */
56188 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56189 if (UNTAG_Bool(REGB0)) {
56190 } else {
56191 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20781);
56192 }
56193 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56194 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56195 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56196 stack_frame_head = fra.me.prev;
56197 return;
56198 }
56199 static const char LOCATE_parser___ReduceAction613___action[] = "parser::ReduceAction613::(parser::ReduceAction::action)";
56200 void parser___ReduceAction613___action(val_t p0, val_t p1){
56201 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
56202 val_t REGB0;
56203 val_t tmp;
56204 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56205 fra.me.file = LOCATE_parser;
56206 fra.me.line = 20786;
56207 fra.me.meth = LOCATE_parser___ReduceAction613___action;
56208 fra.me.has_broke = 0;
56209 fra.me.REG_size = 6;
56210 fra.me.nitni_local_ref_head = NULL;
56211 fra.me.REG[0] = NIT_NULL;
56212 fra.me.REG[1] = NIT_NULL;
56213 fra.me.REG[2] = NIT_NULL;
56214 fra.me.REG[3] = NIT_NULL;
56215 fra.me.REG[4] = NIT_NULL;
56216 fra.me.REG[5] = NIT_NULL;
56217 fra.me.REG[0] = p0;
56218 fra.me.REG[1] = p1;
56219 /* parser/parser.nit:20788 */
56220 fra.me.REG[2] = NIT_NULL;
56221 /* parser/parser.nit:20789 */
56222 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56223 /* parser/parser.nit:20790 */
56224 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56225 /* parser/parser.nit:20791 */
56226 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56227 /* parser/parser.nit:20792 */
56228 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56229 /* parser/parser.nit:20793 */
56230 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
56231 /* parser/parser.nit:20795 */
56232 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAtid, ID_parser___parser_nodes___AAtid)) /*cast nullable AAtid*/;
56233 if (UNTAG_Bool(REGB0)) {
56234 } else {
56235 nit_abort("Assert failed", NULL, LOCATE_parser, 20795);
56236 }
56237 /* parser/parser.nit:20797 */
56238 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
56239 if (UNTAG_Bool(REGB0)) {
56240 } else {
56241 nit_abort("Assert failed", NULL, LOCATE_parser, 20797);
56242 }
56243 /* parser/parser.nit:20798 */
56244 fra.me.REG[3] = NEW_AAnnotation_parser___parser_prod___AAnnotation___init_aannotation(fra.me.REG[4], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[3]);
56245 /* parser/parser.nit:20805 */
56246 fra.me.REG[2] = fra.me.REG[3];
56247 /* parser/parser.nit:20806 */
56248 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56249 if (UNTAG_Bool(REGB0)) {
56250 } else {
56251 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20806);
56252 }
56253 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56254 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56255 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56256 stack_frame_head = fra.me.prev;
56257 return;
56258 }
56259 static const char LOCATE_parser___ReduceAction614___action[] = "parser::ReduceAction614::(parser::ReduceAction::action)";
56260 void parser___ReduceAction614___action(val_t p0, val_t p1){
56261 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
56262 val_t REGB0;
56263 val_t tmp;
56264 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56265 fra.me.file = LOCATE_parser;
56266 fra.me.line = 20811;
56267 fra.me.meth = LOCATE_parser___ReduceAction614___action;
56268 fra.me.has_broke = 0;
56269 fra.me.REG_size = 8;
56270 fra.me.nitni_local_ref_head = NULL;
56271 fra.me.REG[0] = NIT_NULL;
56272 fra.me.REG[1] = NIT_NULL;
56273 fra.me.REG[2] = NIT_NULL;
56274 fra.me.REG[3] = NIT_NULL;
56275 fra.me.REG[4] = NIT_NULL;
56276 fra.me.REG[5] = NIT_NULL;
56277 fra.me.REG[6] = NIT_NULL;
56278 fra.me.REG[7] = NIT_NULL;
56279 fra.me.REG[0] = p0;
56280 fra.me.REG[1] = p1;
56281 /* parser/parser.nit:20813 */
56282 fra.me.REG[2] = NIT_NULL;
56283 /* parser/parser.nit:20814 */
56284 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56285 /* parser/parser.nit:20815 */
56286 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56287 /* parser/parser.nit:20816 */
56288 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56289 /* parser/parser.nit:20817 */
56290 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56291 /* parser/parser.nit:20818 */
56292 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56293 /* parser/parser.nit:20819 */
56294 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56295 /* parser/parser.nit:20820 */
56296 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
56297 /* parser/parser.nit:20822 */
56298 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AAtid, ID_parser___parser_nodes___AAtid)) /*cast nullable AAtid*/;
56299 if (UNTAG_Bool(REGB0)) {
56300 } else {
56301 nit_abort("Assert failed", NULL, LOCATE_parser, 20822);
56302 }
56303 /* parser/parser.nit:20824 */
56304 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*/;
56305 if (UNTAG_Bool(REGB0)) {
56306 } else {
56307 nit_abort("Assert failed", NULL, LOCATE_parser, 20824);
56308 }
56309 /* parser/parser.nit:20826 */
56310 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]*/;
56311 if (UNTAG_Bool(REGB0)) {
56312 } else {
56313 nit_abort("Assert failed", NULL, LOCATE_parser, 20826);
56314 }
56315 /* parser/parser.nit:20827 */
56316 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
56317 fra.me.REG[7] = fra.me.REG[4];
56318 /* parser/parser.nit:20829 */
56319 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*/;
56320 if (UNTAG_Bool(REGB0)) {
56321 } else {
56322 nit_abort("Assert failed", NULL, LOCATE_parser, 20829);
56323 }
56324 /* parser/parser.nit:20830 */
56325 fra.me.REG[3] = NEW_AAnnotation_parser___parser_prod___AAnnotation___init_aannotation(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], NIT_NULL);
56326 /* parser/parser.nit:20837 */
56327 fra.me.REG[2] = fra.me.REG[3];
56328 /* parser/parser.nit:20838 */
56329 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56330 if (UNTAG_Bool(REGB0)) {
56331 } else {
56332 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20838);
56333 }
56334 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56335 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56336 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56337 stack_frame_head = fra.me.prev;
56338 return;
56339 }
56340 static const char LOCATE_parser___ReduceAction615___action[] = "parser::ReduceAction615::(parser::ReduceAction::action)";
56341 void parser___ReduceAction615___action(val_t p0, val_t p1){
56342 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
56343 val_t REGB0;
56344 val_t tmp;
56345 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56346 fra.me.file = LOCATE_parser;
56347 fra.me.line = 20843;
56348 fra.me.meth = LOCATE_parser___ReduceAction615___action;
56349 fra.me.has_broke = 0;
56350 fra.me.REG_size = 9;
56351 fra.me.nitni_local_ref_head = NULL;
56352 fra.me.REG[0] = NIT_NULL;
56353 fra.me.REG[1] = NIT_NULL;
56354 fra.me.REG[2] = NIT_NULL;
56355 fra.me.REG[3] = NIT_NULL;
56356 fra.me.REG[4] = NIT_NULL;
56357 fra.me.REG[5] = NIT_NULL;
56358 fra.me.REG[6] = NIT_NULL;
56359 fra.me.REG[7] = NIT_NULL;
56360 fra.me.REG[8] = NIT_NULL;
56361 fra.me.REG[0] = p0;
56362 fra.me.REG[1] = p1;
56363 /* parser/parser.nit:20845 */
56364 fra.me.REG[2] = NIT_NULL;
56365 /* parser/parser.nit:20846 */
56366 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56367 /* parser/parser.nit:20847 */
56368 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56369 /* parser/parser.nit:20848 */
56370 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56371 /* parser/parser.nit:20849 */
56372 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56373 /* parser/parser.nit:20850 */
56374 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56375 /* parser/parser.nit:20851 */
56376 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56377 /* parser/parser.nit:20852 */
56378 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56379 /* parser/parser.nit:20853 */
56380 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
56381 /* parser/parser.nit:20855 */
56382 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAtid, ID_parser___parser_nodes___AAtid)) /*cast nullable AAtid*/;
56383 if (UNTAG_Bool(REGB0)) {
56384 } else {
56385 nit_abort("Assert failed", NULL, LOCATE_parser, 20855);
56386 }
56387 /* parser/parser.nit:20857 */
56388 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*/;
56389 if (UNTAG_Bool(REGB0)) {
56390 } else {
56391 nit_abort("Assert failed", NULL, LOCATE_parser, 20857);
56392 }
56393 /* parser/parser.nit:20859 */
56394 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]*/;
56395 if (UNTAG_Bool(REGB0)) {
56396 } else {
56397 nit_abort("Assert failed", NULL, LOCATE_parser, 20859);
56398 }
56399 /* parser/parser.nit:20860 */
56400 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
56401 fra.me.REG[8] = fra.me.REG[5];
56402 /* parser/parser.nit:20862 */
56403 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*/;
56404 if (UNTAG_Bool(REGB0)) {
56405 } else {
56406 nit_abort("Assert failed", NULL, LOCATE_parser, 20862);
56407 }
56408 /* parser/parser.nit:20864 */
56409 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
56410 if (UNTAG_Bool(REGB0)) {
56411 } else {
56412 nit_abort("Assert failed", NULL, LOCATE_parser, 20864);
56413 }
56414 /* parser/parser.nit:20865 */
56415 fra.me.REG[3] = NEW_AAnnotation_parser___parser_prod___AAnnotation___init_aannotation(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[3]);
56416 /* parser/parser.nit:20872 */
56417 fra.me.REG[2] = fra.me.REG[3];
56418 /* parser/parser.nit:20873 */
56419 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56420 if (UNTAG_Bool(REGB0)) {
56421 } else {
56422 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20873);
56423 }
56424 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56425 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56426 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56427 stack_frame_head = fra.me.prev;
56428 return;
56429 }
56430 static const char LOCATE_parser___ReduceAction616___action[] = "parser::ReduceAction616::(parser::ReduceAction::action)";
56431 void parser___ReduceAction616___action(val_t p0, val_t p1){
56432 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
56433 val_t REGB0;
56434 val_t tmp;
56435 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56436 fra.me.file = LOCATE_parser;
56437 fra.me.line = 20878;
56438 fra.me.meth = LOCATE_parser___ReduceAction616___action;
56439 fra.me.has_broke = 0;
56440 fra.me.REG_size = 6;
56441 fra.me.nitni_local_ref_head = NULL;
56442 fra.me.REG[0] = NIT_NULL;
56443 fra.me.REG[1] = NIT_NULL;
56444 fra.me.REG[2] = NIT_NULL;
56445 fra.me.REG[3] = NIT_NULL;
56446 fra.me.REG[4] = NIT_NULL;
56447 fra.me.REG[5] = NIT_NULL;
56448 fra.me.REG[0] = p0;
56449 fra.me.REG[1] = p1;
56450 /* parser/parser.nit:20880 */
56451 fra.me.REG[2] = NIT_NULL;
56452 /* parser/parser.nit:20881 */
56453 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56454 /* parser/parser.nit:20882 */
56455 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56456 /* parser/parser.nit:20883 */
56457 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56458 /* parser/parser.nit:20884 */
56459 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56460 /* parser/parser.nit:20885 */
56461 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
56462 /* parser/parser.nit:20887 */
56463 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAtid, ID_parser___parser_nodes___AAtid)) /*cast nullable AAtid*/;
56464 if (UNTAG_Bool(REGB0)) {
56465 } else {
56466 nit_abort("Assert failed", NULL, LOCATE_parser, 20887);
56467 }
56468 /* parser/parser.nit:20889 */
56469 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]*/;
56470 if (UNTAG_Bool(REGB0)) {
56471 } else {
56472 nit_abort("Assert failed", NULL, LOCATE_parser, 20889);
56473 }
56474 /* parser/parser.nit:20890 */
56475 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
56476 fra.me.REG[5] = fra.me.REG[3];
56477 /* parser/parser.nit:20891 */
56478 fra.me.REG[5] = NEW_AAnnotation_parser___parser_prod___AAnnotation___init_aannotation(fra.me.REG[4], NIT_NULL, fra.me.REG[5], NIT_NULL, NIT_NULL);
56479 /* parser/parser.nit:20898 */
56480 fra.me.REG[2] = fra.me.REG[5];
56481 /* parser/parser.nit:20899 */
56482 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56483 if (UNTAG_Bool(REGB0)) {
56484 } else {
56485 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20899);
56486 }
56487 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56488 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56489 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56490 stack_frame_head = fra.me.prev;
56491 return;
56492 }
56493 static const char LOCATE_parser___ReduceAction617___action[] = "parser::ReduceAction617::(parser::ReduceAction::action)";
56494 void parser___ReduceAction617___action(val_t p0, val_t p1){
56495 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
56496 val_t REGB0;
56497 val_t tmp;
56498 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56499 fra.me.file = LOCATE_parser;
56500 fra.me.line = 20904;
56501 fra.me.meth = LOCATE_parser___ReduceAction617___action;
56502 fra.me.has_broke = 0;
56503 fra.me.REG_size = 5;
56504 fra.me.nitni_local_ref_head = NULL;
56505 fra.me.REG[0] = NIT_NULL;
56506 fra.me.REG[1] = NIT_NULL;
56507 fra.me.REG[2] = NIT_NULL;
56508 fra.me.REG[3] = NIT_NULL;
56509 fra.me.REG[4] = NIT_NULL;
56510 fra.me.REG[0] = p0;
56511 fra.me.REG[1] = p1;
56512 /* parser/parser.nit:20906 */
56513 fra.me.REG[2] = NIT_NULL;
56514 /* parser/parser.nit:20907 */
56515 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56516 /* parser/parser.nit:20908 */
56517 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56518 /* parser/parser.nit:20909 */
56519 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56520 /* parser/parser.nit:20911 */
56521 fra.me.REG[2] = fra.me.REG[3];
56522 /* parser/parser.nit:20912 */
56523 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56524 if (UNTAG_Bool(REGB0)) {
56525 } else {
56526 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20912);
56527 }
56528 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56529 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56530 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56531 stack_frame_head = fra.me.prev;
56532 return;
56533 }
56534 static const char LOCATE_parser___ReduceAction618___action[] = "parser::ReduceAction618::(parser::ReduceAction::action)";
56535 void parser___ReduceAction618___action(val_t p0, val_t p1){
56536 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
56537 val_t REGB0;
56538 val_t REGB1;
56539 val_t tmp;
56540 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56541 fra.me.file = LOCATE_parser;
56542 fra.me.line = 20917;
56543 fra.me.meth = LOCATE_parser___ReduceAction618___action;
56544 fra.me.has_broke = 0;
56545 fra.me.REG_size = 5;
56546 fra.me.nitni_local_ref_head = NULL;
56547 fra.me.REG[0] = NIT_NULL;
56548 fra.me.REG[1] = NIT_NULL;
56549 fra.me.REG[2] = NIT_NULL;
56550 fra.me.REG[3] = NIT_NULL;
56551 fra.me.REG[4] = NIT_NULL;
56552 fra.me.REG[0] = p0;
56553 fra.me.REG[1] = p1;
56554 /* parser/parser.nit:20919 */
56555 fra.me.REG[2] = NIT_NULL;
56556 /* parser/parser.nit:20920 */
56557 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56558 /* parser/parser.nit:20921 */
56559 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
56560 /* parser/parser.nit:20923 */
56561 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
56562 if (UNTAG_Bool(REGB0)) {
56563 } else {
56564 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
56565 if (UNTAG_Bool(REGB1)) {
56566 REGB1 = TAG_Bool(0);
56567 REGB0 = REGB1;
56568 } else {
56569 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
56570 REGB0 = REGB1;
56571 }
56572 }
56573 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
56574 if (UNTAG_Bool(REGB0)) {
56575 /* parser/parser.nit:20924 */
56576 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
56577 }
56578 /* parser/parser.nit:20926 */
56579 fra.me.REG[2] = fra.me.REG[4];
56580 /* parser/parser.nit:20927 */
56581 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56582 if (UNTAG_Bool(REGB0)) {
56583 } else {
56584 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20927);
56585 }
56586 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56587 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56588 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56589 stack_frame_head = fra.me.prev;
56590 return;
56591 }
56592 static const char LOCATE_parser___ReduceAction619___action[] = "parser::ReduceAction619::(parser::ReduceAction::action)";
56593 void parser___ReduceAction619___action(val_t p0, val_t p1){
56594 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
56595 val_t REGB0;
56596 val_t REGB1;
56597 val_t tmp;
56598 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56599 fra.me.file = LOCATE_parser;
56600 fra.me.line = 20932;
56601 fra.me.meth = LOCATE_parser___ReduceAction619___action;
56602 fra.me.has_broke = 0;
56603 fra.me.REG_size = 6;
56604 fra.me.nitni_local_ref_head = NULL;
56605 fra.me.REG[0] = NIT_NULL;
56606 fra.me.REG[1] = NIT_NULL;
56607 fra.me.REG[2] = NIT_NULL;
56608 fra.me.REG[3] = NIT_NULL;
56609 fra.me.REG[4] = NIT_NULL;
56610 fra.me.REG[5] = NIT_NULL;
56611 fra.me.REG[0] = p0;
56612 fra.me.REG[1] = p1;
56613 /* parser/parser.nit:20934 */
56614 fra.me.REG[2] = NIT_NULL;
56615 /* parser/parser.nit:20935 */
56616 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56617 /* parser/parser.nit:20936 */
56618 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56619 /* parser/parser.nit:20937 */
56620 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
56621 /* parser/parser.nit:20940 */
56622 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]*/;
56623 if (UNTAG_Bool(REGB0)) {
56624 } else {
56625 nit_abort("Assert failed", NULL, LOCATE_parser, 20940);
56626 }
56627 /* parser/parser.nit:20941 */
56628 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
56629 if (UNTAG_Bool(REGB0)) {
56630 } else {
56631 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
56632 if (UNTAG_Bool(REGB1)) {
56633 REGB1 = TAG_Bool(0);
56634 REGB0 = REGB1;
56635 } else {
56636 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
56637 REGB0 = REGB1;
56638 }
56639 }
56640 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
56641 if (UNTAG_Bool(REGB0)) {
56642 /* parser/parser.nit:20942 */
56643 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
56644 }
56645 /* parser/parser.nit:20944 */
56646 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
56647 fra.me.REG[5] = fra.me.REG[3];
56648 /* parser/parser.nit:20945 */
56649 fra.me.REG[2] = fra.me.REG[5];
56650 /* parser/parser.nit:20946 */
56651 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56652 if (UNTAG_Bool(REGB0)) {
56653 } else {
56654 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20946);
56655 }
56656 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56657 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56658 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56659 stack_frame_head = fra.me.prev;
56660 return;
56661 }
56662 static const char LOCATE_parser___ReduceAction620___action[] = "parser::ReduceAction620::(parser::ReduceAction::action)";
56663 void parser___ReduceAction620___action(val_t p0, val_t p1){
56664 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
56665 val_t REGB0;
56666 val_t tmp;
56667 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56668 fra.me.file = LOCATE_parser;
56669 fra.me.line = 20951;
56670 fra.me.meth = LOCATE_parser___ReduceAction620___action;
56671 fra.me.has_broke = 0;
56672 fra.me.REG_size = 5;
56673 fra.me.nitni_local_ref_head = NULL;
56674 fra.me.REG[0] = NIT_NULL;
56675 fra.me.REG[1] = NIT_NULL;
56676 fra.me.REG[2] = NIT_NULL;
56677 fra.me.REG[3] = NIT_NULL;
56678 fra.me.REG[4] = NIT_NULL;
56679 fra.me.REG[0] = p0;
56680 fra.me.REG[1] = p1;
56681 /* parser/parser.nit:20953 */
56682 fra.me.REG[2] = NIT_NULL;
56683 /* parser/parser.nit:20954 */
56684 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56685 /* parser/parser.nit:20955 */
56686 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56687 /* parser/parser.nit:20956 */
56688 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56689 /* parser/parser.nit:20958 */
56690 fra.me.REG[2] = fra.me.REG[3];
56691 /* parser/parser.nit:20959 */
56692 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56693 if (UNTAG_Bool(REGB0)) {
56694 } else {
56695 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20959);
56696 }
56697 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56698 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56699 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56700 stack_frame_head = fra.me.prev;
56701 return;
56702 }
56703 static const char LOCATE_parser___ReduceAction621___action[] = "parser::ReduceAction621::(parser::ReduceAction::action)";
56704 void parser___ReduceAction621___action(val_t p0, val_t p1){
56705 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
56706 val_t REGB0;
56707 val_t tmp;
56708 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56709 fra.me.file = LOCATE_parser;
56710 fra.me.line = 20964;
56711 fra.me.meth = LOCATE_parser___ReduceAction621___action;
56712 fra.me.has_broke = 0;
56713 fra.me.REG_size = 4;
56714 fra.me.nitni_local_ref_head = NULL;
56715 fra.me.REG[0] = NIT_NULL;
56716 fra.me.REG[1] = NIT_NULL;
56717 fra.me.REG[2] = NIT_NULL;
56718 fra.me.REG[3] = NIT_NULL;
56719 fra.me.REG[0] = p0;
56720 fra.me.REG[1] = p1;
56721 /* parser/parser.nit:20966 */
56722 fra.me.REG[2] = NIT_NULL;
56723 /* parser/parser.nit:20967 */
56724 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56725 /* parser/parser.nit:20969 */
56726 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*/;
56727 if (UNTAG_Bool(REGB0)) {
56728 } else {
56729 nit_abort("Assert failed", NULL, LOCATE_parser, 20969);
56730 }
56731 /* parser/parser.nit:20970 */
56732 fra.me.REG[3] = NEW_ATypeAtArg_parser___parser_prod___ATypeAtArg___init_atypeatarg(fra.me.REG[3]);
56733 /* parser/parser.nit:20973 */
56734 fra.me.REG[2] = fra.me.REG[3];
56735 /* parser/parser.nit:20974 */
56736 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56737 if (UNTAG_Bool(REGB0)) {
56738 } else {
56739 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20974);
56740 }
56741 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56742 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56743 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56744 stack_frame_head = fra.me.prev;
56745 return;
56746 }
56747 static const char LOCATE_parser___ReduceAction622___action[] = "parser::ReduceAction622::(parser::ReduceAction::action)";
56748 void parser___ReduceAction622___action(val_t p0, val_t p1){
56749 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
56750 val_t REGB0;
56751 val_t tmp;
56752 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56753 fra.me.file = LOCATE_parser;
56754 fra.me.line = 20979;
56755 fra.me.meth = LOCATE_parser___ReduceAction622___action;
56756 fra.me.has_broke = 0;
56757 fra.me.REG_size = 4;
56758 fra.me.nitni_local_ref_head = NULL;
56759 fra.me.REG[0] = NIT_NULL;
56760 fra.me.REG[1] = NIT_NULL;
56761 fra.me.REG[2] = NIT_NULL;
56762 fra.me.REG[3] = NIT_NULL;
56763 fra.me.REG[0] = p0;
56764 fra.me.REG[1] = p1;
56765 /* parser/parser.nit:20981 */
56766 fra.me.REG[2] = NIT_NULL;
56767 /* parser/parser.nit:20982 */
56768 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56769 /* parser/parser.nit:20984 */
56770 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
56771 if (UNTAG_Bool(REGB0)) {
56772 } else {
56773 nit_abort("Assert failed", NULL, LOCATE_parser, 20984);
56774 }
56775 /* parser/parser.nit:20985 */
56776 fra.me.REG[3] = NEW_AExprAtArg_parser___parser_prod___AExprAtArg___init_aexpratarg(fra.me.REG[3]);
56777 /* parser/parser.nit:20988 */
56778 fra.me.REG[2] = fra.me.REG[3];
56779 /* parser/parser.nit:20989 */
56780 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56781 if (UNTAG_Bool(REGB0)) {
56782 } else {
56783 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 20989);
56784 }
56785 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56786 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56787 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56788 stack_frame_head = fra.me.prev;
56789 return;
56790 }
56791 static const char LOCATE_parser___ReduceAction624___action[] = "parser::ReduceAction624::(parser::ReduceAction::action)";
56792 void parser___ReduceAction624___action(val_t p0, val_t p1){
56793 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
56794 val_t REGB0;
56795 val_t tmp;
56796 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56797 fra.me.file = LOCATE_parser;
56798 fra.me.line = 20994;
56799 fra.me.meth = LOCATE_parser___ReduceAction624___action;
56800 fra.me.has_broke = 0;
56801 fra.me.REG_size = 4;
56802 fra.me.nitni_local_ref_head = NULL;
56803 fra.me.REG[0] = NIT_NULL;
56804 fra.me.REG[1] = NIT_NULL;
56805 fra.me.REG[2] = NIT_NULL;
56806 fra.me.REG[3] = NIT_NULL;
56807 fra.me.REG[0] = p0;
56808 fra.me.REG[1] = p1;
56809 /* parser/parser.nit:20996 */
56810 fra.me.REG[2] = NIT_NULL;
56811 /* parser/parser.nit:20997 */
56812 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56813 /* parser/parser.nit:20999 */
56814 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAnnotations, ID_parser___parser_nodes___AAnnotations)) /*cast nullable AAnnotations*/;
56815 if (UNTAG_Bool(REGB0)) {
56816 } else {
56817 nit_abort("Assert failed", NULL, LOCATE_parser, 20999);
56818 }
56819 /* parser/parser.nit:21000 */
56820 fra.me.REG[3] = NEW_AAtAtArg_parser___parser_prod___AAtAtArg___init_aatatarg(fra.me.REG[3]);
56821 /* parser/parser.nit:21003 */
56822 fra.me.REG[2] = fra.me.REG[3];
56823 /* parser/parser.nit:21004 */
56824 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56825 if (UNTAG_Bool(REGB0)) {
56826 } else {
56827 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21004);
56828 }
56829 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56830 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56831 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56832 stack_frame_head = fra.me.prev;
56833 return;
56834 }
56835 static const char LOCATE_parser___ReduceAction625___action[] = "parser::ReduceAction625::(parser::ReduceAction::action)";
56836 void parser___ReduceAction625___action(val_t p0, val_t p1){
56837 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
56838 val_t REGB0;
56839 val_t tmp;
56840 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56841 fra.me.file = LOCATE_parser;
56842 fra.me.line = 21009;
56843 fra.me.meth = LOCATE_parser___ReduceAction625___action;
56844 fra.me.has_broke = 0;
56845 fra.me.REG_size = 4;
56846 fra.me.nitni_local_ref_head = NULL;
56847 fra.me.REG[0] = NIT_NULL;
56848 fra.me.REG[1] = NIT_NULL;
56849 fra.me.REG[2] = NIT_NULL;
56850 fra.me.REG[3] = NIT_NULL;
56851 fra.me.REG[0] = p0;
56852 fra.me.REG[1] = p1;
56853 /* parser/parser.nit:21011 */
56854 fra.me.REG[2] = NIT_NULL;
56855 /* parser/parser.nit:21012 */
56856 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56857 /* parser/parser.nit:21014 */
56858 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*/;
56859 if (UNTAG_Bool(REGB0)) {
56860 } else {
56861 nit_abort("Assert failed", NULL, LOCATE_parser, 21014);
56862 }
56863 /* parser/parser.nit:21015 */
56864 fra.me.REG[3] = NEW_AIdAtid_parser___parser_prod___AIdAtid___init_aidatid(fra.me.REG[3]);
56865 /* parser/parser.nit:21018 */
56866 fra.me.REG[2] = fra.me.REG[3];
56867 /* parser/parser.nit:21019 */
56868 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56869 if (UNTAG_Bool(REGB0)) {
56870 } else {
56871 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21019);
56872 }
56873 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56874 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56875 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56876 stack_frame_head = fra.me.prev;
56877 return;
56878 }
56879 static const char LOCATE_parser___ReduceAction626___action[] = "parser::ReduceAction626::(parser::ReduceAction::action)";
56880 void parser___ReduceAction626___action(val_t p0, val_t p1){
56881 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
56882 val_t REGB0;
56883 val_t tmp;
56884 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56885 fra.me.file = LOCATE_parser;
56886 fra.me.line = 21024;
56887 fra.me.meth = LOCATE_parser___ReduceAction626___action;
56888 fra.me.has_broke = 0;
56889 fra.me.REG_size = 4;
56890 fra.me.nitni_local_ref_head = NULL;
56891 fra.me.REG[0] = NIT_NULL;
56892 fra.me.REG[1] = NIT_NULL;
56893 fra.me.REG[2] = NIT_NULL;
56894 fra.me.REG[3] = NIT_NULL;
56895 fra.me.REG[0] = p0;
56896 fra.me.REG[1] = p1;
56897 /* parser/parser.nit:21026 */
56898 fra.me.REG[2] = NIT_NULL;
56899 /* parser/parser.nit:21027 */
56900 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56901 /* parser/parser.nit:21029 */
56902 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*/;
56903 if (UNTAG_Bool(REGB0)) {
56904 } else {
56905 nit_abort("Assert failed", NULL, LOCATE_parser, 21029);
56906 }
56907 /* parser/parser.nit:21030 */
56908 fra.me.REG[3] = NEW_AKwreadableAtid_parser___parser_prod___AKwreadableAtid___init_akwreadableatid(fra.me.REG[3]);
56909 /* parser/parser.nit:21033 */
56910 fra.me.REG[2] = fra.me.REG[3];
56911 /* parser/parser.nit:21034 */
56912 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56913 if (UNTAG_Bool(REGB0)) {
56914 } else {
56915 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21034);
56916 }
56917 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56918 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56919 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56920 stack_frame_head = fra.me.prev;
56921 return;
56922 }
56923 static const char LOCATE_parser___ReduceAction627___action[] = "parser::ReduceAction627::(parser::ReduceAction::action)";
56924 void parser___ReduceAction627___action(val_t p0, val_t p1){
56925 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
56926 val_t REGB0;
56927 val_t tmp;
56928 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56929 fra.me.file = LOCATE_parser;
56930 fra.me.line = 21039;
56931 fra.me.meth = LOCATE_parser___ReduceAction627___action;
56932 fra.me.has_broke = 0;
56933 fra.me.REG_size = 4;
56934 fra.me.nitni_local_ref_head = NULL;
56935 fra.me.REG[0] = NIT_NULL;
56936 fra.me.REG[1] = NIT_NULL;
56937 fra.me.REG[2] = NIT_NULL;
56938 fra.me.REG[3] = NIT_NULL;
56939 fra.me.REG[0] = p0;
56940 fra.me.REG[1] = p1;
56941 /* parser/parser.nit:21041 */
56942 fra.me.REG[2] = NIT_NULL;
56943 /* parser/parser.nit:21042 */
56944 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56945 /* parser/parser.nit:21044 */
56946 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*/;
56947 if (UNTAG_Bool(REGB0)) {
56948 } else {
56949 nit_abort("Assert failed", NULL, LOCATE_parser, 21044);
56950 }
56951 /* parser/parser.nit:21045 */
56952 fra.me.REG[3] = NEW_AKwwritableAtid_parser___parser_prod___AKwwritableAtid___init_akwwritableatid(fra.me.REG[3]);
56953 /* parser/parser.nit:21048 */
56954 fra.me.REG[2] = fra.me.REG[3];
56955 /* parser/parser.nit:21049 */
56956 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
56957 if (UNTAG_Bool(REGB0)) {
56958 } else {
56959 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21049);
56960 }
56961 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
56962 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56963 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
56964 stack_frame_head = fra.me.prev;
56965 return;
56966 }
56967 static const char LOCATE_parser___ReduceAction628___action[] = "parser::ReduceAction628::(parser::ReduceAction::action)";
56968 void parser___ReduceAction628___action(val_t p0, val_t p1){
56969 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
56970 val_t REGB0;
56971 val_t tmp;
56972 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56973 fra.me.file = LOCATE_parser;
56974 fra.me.line = 21054;
56975 fra.me.meth = LOCATE_parser___ReduceAction628___action;
56976 fra.me.has_broke = 0;
56977 fra.me.REG_size = 4;
56978 fra.me.nitni_local_ref_head = NULL;
56979 fra.me.REG[0] = NIT_NULL;
56980 fra.me.REG[1] = NIT_NULL;
56981 fra.me.REG[2] = NIT_NULL;
56982 fra.me.REG[3] = NIT_NULL;
56983 fra.me.REG[0] = p0;
56984 fra.me.REG[1] = p1;
56985 /* parser/parser.nit:21056 */
56986 fra.me.REG[2] = NIT_NULL;
56987 /* parser/parser.nit:21057 */
56988 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56989 /* parser/parser.nit:21059 */
56990 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwimport, ID_parser___parser_nodes___TKwimport)) /*cast nullable TKwimport*/;
56991 if (UNTAG_Bool(REGB0)) {
56992 } else {
56993 nit_abort("Assert failed", NULL, LOCATE_parser, 21059);
56994 }
56995 /* parser/parser.nit:21060 */
56996 fra.me.REG[3] = NEW_AKwimportAtid_parser___parser_prod___AKwimportAtid___init_akwimportatid(fra.me.REG[3]);
56997 /* parser/parser.nit:21063 */
56998 fra.me.REG[2] = fra.me.REG[3];
56999 /* parser/parser.nit:21064 */
57000 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
57001 if (UNTAG_Bool(REGB0)) {
57002 } else {
57003 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21064);
57004 }
57005 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
57006 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57007 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
57008 stack_frame_head = fra.me.prev;
57009 return;
57010 }
57011 static const char LOCATE_parser___ReduceAction629___action[] = "parser::ReduceAction629::(parser::ReduceAction::action)";
57012 void parser___ReduceAction629___action(val_t p0, val_t p1){
57013 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
57014 val_t REGB0;
57015 val_t tmp;
57016 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57017 fra.me.file = LOCATE_parser;
57018 fra.me.line = 21069;
57019 fra.me.meth = LOCATE_parser___ReduceAction629___action;
57020 fra.me.has_broke = 0;
57021 fra.me.REG_size = 7;
57022 fra.me.nitni_local_ref_head = NULL;
57023 fra.me.REG[0] = NIT_NULL;
57024 fra.me.REG[1] = NIT_NULL;
57025 fra.me.REG[2] = NIT_NULL;
57026 fra.me.REG[3] = NIT_NULL;
57027 fra.me.REG[4] = NIT_NULL;
57028 fra.me.REG[5] = NIT_NULL;
57029 fra.me.REG[6] = NIT_NULL;
57030 fra.me.REG[0] = p0;
57031 fra.me.REG[1] = p1;
57032 /* parser/parser.nit:21071 */
57033 fra.me.REG[2] = NIT_NULL;
57034 /* parser/parser.nit:21072 */
57035 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57036 /* parser/parser.nit:21073 */
57037 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57038 /* parser/parser.nit:21074 */
57039 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57040 /* parser/parser.nit:21075 */
57041 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57042 /* parser/parser.nit:21076 */
57043 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
57044 /* parser/parser.nit:21078 */
57045 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*/;
57046 if (UNTAG_Bool(REGB0)) {
57047 } else {
57048 nit_abort("Assert failed", NULL, LOCATE_parser, 21078);
57049 }
57050 /* parser/parser.nit:21080 */
57051 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]*/;
57052 if (UNTAG_Bool(REGB0)) {
57053 } else {
57054 nit_abort("Assert failed", NULL, LOCATE_parser, 21080);
57055 }
57056 /* parser/parser.nit:21081 */
57057 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
57058 fra.me.REG[6] = fra.me.REG[4];
57059 /* parser/parser.nit:21083 */
57060 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*/;
57061 if (UNTAG_Bool(REGB0)) {
57062 } else {
57063 nit_abort("Assert failed", NULL, LOCATE_parser, 21083);
57064 }
57065 /* parser/parser.nit:21084 */
57066 fra.me.REG[3] = NEW_AParExprs_parser___parser_prod___AParExprs___init_aparexprs(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3]);
57067 /* parser/parser.nit:21089 */
57068 fra.me.REG[2] = fra.me.REG[3];
57069 /* parser/parser.nit:21090 */
57070 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
57071 if (UNTAG_Bool(REGB0)) {
57072 } else {
57073 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21090);
57074 }
57075 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
57076 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57077 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
57078 stack_frame_head = fra.me.prev;
57079 return;
57080 }
57081 static const char LOCATE_parser___ReduceAction630___action[] = "parser::ReduceAction630::(parser::ReduceAction::action)";
57082 void parser___ReduceAction630___action(val_t p0, val_t p1){
57083 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
57084 val_t REGB0;
57085 val_t tmp;
57086 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57087 fra.me.file = LOCATE_parser;
57088 fra.me.line = 21095;
57089 fra.me.meth = LOCATE_parser___ReduceAction630___action;
57090 fra.me.has_broke = 0;
57091 fra.me.REG_size = 6;
57092 fra.me.nitni_local_ref_head = NULL;
57093 fra.me.REG[0] = NIT_NULL;
57094 fra.me.REG[1] = NIT_NULL;
57095 fra.me.REG[2] = NIT_NULL;
57096 fra.me.REG[3] = NIT_NULL;
57097 fra.me.REG[4] = NIT_NULL;
57098 fra.me.REG[5] = NIT_NULL;
57099 fra.me.REG[0] = p0;
57100 fra.me.REG[1] = p1;
57101 /* parser/parser.nit:21097 */
57102 fra.me.REG[2] = NIT_NULL;
57103 /* parser/parser.nit:21098 */
57104 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57105 /* parser/parser.nit:21099 */
57106 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57107 /* parser/parser.nit:21100 */
57108 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57109 /* parser/parser.nit:21101 */
57110 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
57111 /* parser/parser.nit:21103 */
57112 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*/;
57113 if (UNTAG_Bool(REGB0)) {
57114 } else {
57115 nit_abort("Assert failed", NULL, LOCATE_parser, 21103);
57116 }
57117 /* parser/parser.nit:21105 */
57118 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*/;
57119 if (UNTAG_Bool(REGB0)) {
57120 } else {
57121 nit_abort("Assert failed", NULL, LOCATE_parser, 21105);
57122 }
57123 /* parser/parser.nit:21106 */
57124 fra.me.REG[3] = NEW_AParExprs_parser___parser_prod___AParExprs___init_aparexprs(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3]);
57125 /* parser/parser.nit:21111 */
57126 fra.me.REG[2] = fra.me.REG[3];
57127 /* parser/parser.nit:21112 */
57128 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
57129 if (UNTAG_Bool(REGB0)) {
57130 } else {
57131 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21112);
57132 }
57133 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
57134 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57135 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
57136 stack_frame_head = fra.me.prev;
57137 return;
57138 }
57139 static const char LOCATE_parser___ReduceAction631___action[] = "parser::ReduceAction631::(parser::ReduceAction::action)";
57140 void parser___ReduceAction631___action(val_t p0, val_t p1){
57141 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
57142 val_t REGB0;
57143 val_t tmp;
57144 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57145 fra.me.file = LOCATE_parser;
57146 fra.me.line = 21117;
57147 fra.me.meth = LOCATE_parser___ReduceAction631___action;
57148 fra.me.has_broke = 0;
57149 fra.me.REG_size = 4;
57150 fra.me.nitni_local_ref_head = NULL;
57151 fra.me.REG[0] = NIT_NULL;
57152 fra.me.REG[1] = NIT_NULL;
57153 fra.me.REG[2] = NIT_NULL;
57154 fra.me.REG[3] = NIT_NULL;
57155 fra.me.REG[0] = p0;
57156 fra.me.REG[1] = p1;
57157 /* parser/parser.nit:21119 */
57158 fra.me.REG[2] = NIT_NULL;
57159 /* parser/parser.nit:21120 */
57160 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
57161 /* parser/parser.nit:21121 */
57162 fra.me.REG[3] = NEW_AListExprs_parser___parser_prod___AListExprs___init_alistexprs(fra.me.REG[3]);
57163 /* parser/parser.nit:21124 */
57164 fra.me.REG[2] = fra.me.REG[3];
57165 /* parser/parser.nit:21125 */
57166 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
57167 if (UNTAG_Bool(REGB0)) {
57168 } else {
57169 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21125);
57170 }
57171 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
57172 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57173 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
57174 stack_frame_head = fra.me.prev;
57175 return;
57176 }
57177 static const char LOCATE_parser___ReduceAction633___action[] = "parser::ReduceAction633::(parser::ReduceAction::action)";
57178 void parser___ReduceAction633___action(val_t p0, val_t p1){
57179 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
57180 val_t REGB0;
57181 val_t REGB1;
57182 val_t tmp;
57183 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57184 fra.me.file = LOCATE_parser;
57185 fra.me.line = 21130;
57186 fra.me.meth = LOCATE_parser___ReduceAction633___action;
57187 fra.me.has_broke = 0;
57188 fra.me.REG_size = 5;
57189 fra.me.nitni_local_ref_head = NULL;
57190 fra.me.REG[0] = NIT_NULL;
57191 fra.me.REG[1] = NIT_NULL;
57192 fra.me.REG[2] = NIT_NULL;
57193 fra.me.REG[3] = NIT_NULL;
57194 fra.me.REG[4] = NIT_NULL;
57195 fra.me.REG[0] = p0;
57196 fra.me.REG[1] = p1;
57197 /* parser/parser.nit:21132 */
57198 fra.me.REG[2] = NIT_NULL;
57199 /* parser/parser.nit:21133 */
57200 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57201 /* parser/parser.nit:21134 */
57202 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
57203 /* parser/parser.nit:21136 */
57204 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
57205 if (UNTAG_Bool(REGB0)) {
57206 } else {
57207 nit_abort("Assert failed", NULL, LOCATE_parser, 21136);
57208 }
57209 /* parser/parser.nit:21137 */
57210 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
57211 if (UNTAG_Bool(REGB0)) {
57212 } else {
57213 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
57214 if (UNTAG_Bool(REGB1)) {
57215 REGB1 = TAG_Bool(0);
57216 REGB0 = REGB1;
57217 } else {
57218 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
57219 REGB0 = REGB1;
57220 }
57221 }
57222 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
57223 if (UNTAG_Bool(REGB0)) {
57224 /* parser/parser.nit:21138 */
57225 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
57226 }
57227 /* parser/parser.nit:21140 */
57228 fra.me.REG[4] = NEW_AListExprs_parser___parser_prod___AListExprs___init_alistexprs(fra.me.REG[4]);
57229 /* parser/parser.nit:21143 */
57230 fra.me.REG[2] = fra.me.REG[4];
57231 /* parser/parser.nit:21144 */
57232 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
57233 if (UNTAG_Bool(REGB0)) {
57234 } else {
57235 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21144);
57236 }
57237 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
57238 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57239 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
57240 stack_frame_head = fra.me.prev;
57241 return;
57242 }
57243 static const char LOCATE_parser___ReduceAction636___action[] = "parser::ReduceAction636::(parser::ReduceAction::action)";
57244 void parser___ReduceAction636___action(val_t p0, val_t p1){
57245 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
57246 val_t REGB0;
57247 val_t tmp;
57248 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57249 fra.me.file = LOCATE_parser;
57250 fra.me.line = 21149;
57251 fra.me.meth = LOCATE_parser___ReduceAction636___action;
57252 fra.me.has_broke = 0;
57253 fra.me.REG_size = 7;
57254 fra.me.nitni_local_ref_head = NULL;
57255 fra.me.REG[0] = NIT_NULL;
57256 fra.me.REG[1] = NIT_NULL;
57257 fra.me.REG[2] = NIT_NULL;
57258 fra.me.REG[3] = NIT_NULL;
57259 fra.me.REG[4] = NIT_NULL;
57260 fra.me.REG[5] = NIT_NULL;
57261 fra.me.REG[6] = NIT_NULL;
57262 fra.me.REG[0] = p0;
57263 fra.me.REG[1] = p1;
57264 /* parser/parser.nit:21151 */
57265 fra.me.REG[2] = NIT_NULL;
57266 /* parser/parser.nit:21152 */
57267 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57268 /* parser/parser.nit:21153 */
57269 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57270 /* parser/parser.nit:21154 */
57271 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57272 /* parser/parser.nit:21155 */
57273 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57274 /* parser/parser.nit:21156 */
57275 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
57276 /* parser/parser.nit:21158 */
57277 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*/;
57278 if (UNTAG_Bool(REGB0)) {
57279 } else {
57280 nit_abort("Assert failed", NULL, LOCATE_parser, 21158);
57281 }
57282 /* parser/parser.nit:21160 */
57283 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]*/;
57284 if (UNTAG_Bool(REGB0)) {
57285 } else {
57286 nit_abort("Assert failed", NULL, LOCATE_parser, 21160);
57287 }
57288 /* parser/parser.nit:21161 */
57289 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
57290 fra.me.REG[6] = fra.me.REG[4];
57291 /* parser/parser.nit:21163 */
57292 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*/;
57293 if (UNTAG_Bool(REGB0)) {
57294 } else {
57295 nit_abort("Assert failed", NULL, LOCATE_parser, 21163);
57296 }
57297 /* parser/parser.nit:21164 */
57298 fra.me.REG[3] = NEW_ABraExprs_parser___parser_prod___ABraExprs___init_abraexprs(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3]);
57299 /* parser/parser.nit:21169 */
57300 fra.me.REG[2] = fra.me.REG[3];
57301 /* parser/parser.nit:21170 */
57302 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
57303 if (UNTAG_Bool(REGB0)) {
57304 } else {
57305 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21170);
57306 }
57307 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
57308 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57309 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
57310 stack_frame_head = fra.me.prev;
57311 return;
57312 }
57313 static const char LOCATE_parser___ReduceAction637___action[] = "parser::ReduceAction637::(parser::ReduceAction::action)";
57314 void parser___ReduceAction637___action(val_t p0, val_t p1){
57315 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
57316 val_t REGB0;
57317 val_t REGB1;
57318 val_t tmp;
57319 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57320 fra.me.file = LOCATE_parser;
57321 fra.me.line = 21175;
57322 fra.me.meth = LOCATE_parser___ReduceAction637___action;
57323 fra.me.has_broke = 0;
57324 fra.me.REG_size = 5;
57325 fra.me.nitni_local_ref_head = NULL;
57326 fra.me.REG[0] = NIT_NULL;
57327 fra.me.REG[1] = NIT_NULL;
57328 fra.me.REG[2] = NIT_NULL;
57329 fra.me.REG[3] = NIT_NULL;
57330 fra.me.REG[4] = NIT_NULL;
57331 fra.me.REG[0] = p0;
57332 fra.me.REG[1] = p1;
57333 /* parser/parser.nit:21177 */
57334 fra.me.REG[2] = NIT_NULL;
57335 /* parser/parser.nit:21178 */
57336 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57337 /* parser/parser.nit:21179 */
57338 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57339 /* parser/parser.nit:21180 */
57340 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
57341 /* parser/parser.nit:21182 */
57342 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
57343 if (UNTAG_Bool(REGB0)) {
57344 } else {
57345 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
57346 if (UNTAG_Bool(REGB1)) {
57347 REGB1 = TAG_Bool(0);
57348 REGB0 = REGB1;
57349 } else {
57350 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
57351 REGB0 = REGB1;
57352 }
57353 }
57354 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
57355 if (UNTAG_Bool(REGB0)) {
57356 /* parser/parser.nit:21183 */
57357 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
57358 }
57359 /* parser/parser.nit:21185 */
57360 fra.me.REG[2] = fra.me.REG[4];
57361 /* parser/parser.nit:21186 */
57362 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
57363 if (UNTAG_Bool(REGB0)) {
57364 } else {
57365 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21186);
57366 }
57367 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
57368 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57369 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
57370 stack_frame_head = fra.me.prev;
57371 return;
57372 }
57373 static const char LOCATE_parser___ReduceAction638___action[] = "parser::ReduceAction638::(parser::ReduceAction::action)";
57374 void parser___ReduceAction638___action(val_t p0, val_t p1){
57375 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
57376 val_t REGB0;
57377 val_t REGB1;
57378 val_t tmp;
57379 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57380 fra.me.file = LOCATE_parser;
57381 fra.me.line = 21191;
57382 fra.me.meth = LOCATE_parser___ReduceAction638___action;
57383 fra.me.has_broke = 0;
57384 fra.me.REG_size = 6;
57385 fra.me.nitni_local_ref_head = NULL;
57386 fra.me.REG[0] = NIT_NULL;
57387 fra.me.REG[1] = NIT_NULL;
57388 fra.me.REG[2] = NIT_NULL;
57389 fra.me.REG[3] = NIT_NULL;
57390 fra.me.REG[4] = NIT_NULL;
57391 fra.me.REG[5] = NIT_NULL;
57392 fra.me.REG[0] = p0;
57393 fra.me.REG[1] = p1;
57394 /* parser/parser.nit:21193 */
57395 fra.me.REG[2] = NIT_NULL;
57396 /* parser/parser.nit:21194 */
57397 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57398 /* parser/parser.nit:21195 */
57399 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57400 /* parser/parser.nit:21196 */
57401 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57402 /* parser/parser.nit:21197 */
57403 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
57404 /* parser/parser.nit:21200 */
57405 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]*/;
57406 if (UNTAG_Bool(REGB0)) {
57407 } else {
57408 nit_abort("Assert failed", NULL, LOCATE_parser, 21200);
57409 }
57410 /* parser/parser.nit:21201 */
57411 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
57412 if (UNTAG_Bool(REGB0)) {
57413 } else {
57414 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
57415 if (UNTAG_Bool(REGB1)) {
57416 REGB1 = TAG_Bool(0);
57417 REGB0 = REGB1;
57418 } else {
57419 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
57420 REGB0 = REGB1;
57421 }
57422 }
57423 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
57424 if (UNTAG_Bool(REGB0)) {
57425 /* parser/parser.nit:21202 */
57426 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
57427 }
57428 /* parser/parser.nit:21204 */
57429 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
57430 fra.me.REG[5] = fra.me.REG[3];
57431 /* parser/parser.nit:21205 */
57432 fra.me.REG[2] = fra.me.REG[5];
57433 /* parser/parser.nit:21206 */
57434 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
57435 if (UNTAG_Bool(REGB0)) {
57436 } else {
57437 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21206);
57438 }
57439 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
57440 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57441 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
57442 stack_frame_head = fra.me.prev;
57443 return;
57444 }
57445 static const char LOCATE_parser___ReduceAction639___action[] = "parser::ReduceAction639::(parser::ReduceAction::action)";
57446 void parser___ReduceAction639___action(val_t p0, val_t p1){
57447 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
57448 val_t REGB0;
57449 val_t tmp;
57450 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57451 fra.me.file = LOCATE_parser;
57452 fra.me.line = 21211;
57453 fra.me.meth = LOCATE_parser___ReduceAction639___action;
57454 fra.me.has_broke = 0;
57455 fra.me.REG_size = 5;
57456 fra.me.nitni_local_ref_head = NULL;
57457 fra.me.REG[0] = NIT_NULL;
57458 fra.me.REG[1] = NIT_NULL;
57459 fra.me.REG[2] = NIT_NULL;
57460 fra.me.REG[3] = NIT_NULL;
57461 fra.me.REG[4] = NIT_NULL;
57462 fra.me.REG[0] = p0;
57463 fra.me.REG[1] = p1;
57464 /* parser/parser.nit:21213 */
57465 fra.me.REG[2] = NIT_NULL;
57466 /* parser/parser.nit:21214 */
57467 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57468 /* parser/parser.nit:21215 */
57469 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57470 /* parser/parser.nit:21216 */
57471 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57472 /* parser/parser.nit:21217 */
57473 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57474 /* parser/parser.nit:21219 */
57475 fra.me.REG[2] = fra.me.REG[3];
57476 /* parser/parser.nit:21220 */
57477 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
57478 if (UNTAG_Bool(REGB0)) {
57479 } else {
57480 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21220);
57481 }
57482 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
57483 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57484 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
57485 stack_frame_head = fra.me.prev;
57486 return;
57487 }
57488 static const char LOCATE_parser___ReduceAction640___action[] = "parser::ReduceAction640::(parser::ReduceAction::action)";
57489 void parser___ReduceAction640___action(val_t p0, val_t p1){
57490 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
57491 val_t REGB0;
57492 val_t REGB1;
57493 val_t tmp;
57494 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57495 fra.me.file = LOCATE_parser;
57496 fra.me.line = 21225;
57497 fra.me.meth = LOCATE_parser___ReduceAction640___action;
57498 fra.me.has_broke = 0;
57499 fra.me.REG_size = 5;
57500 fra.me.nitni_local_ref_head = NULL;
57501 fra.me.REG[0] = NIT_NULL;
57502 fra.me.REG[1] = NIT_NULL;
57503 fra.me.REG[2] = NIT_NULL;
57504 fra.me.REG[3] = NIT_NULL;
57505 fra.me.REG[4] = NIT_NULL;
57506 fra.me.REG[0] = p0;
57507 fra.me.REG[1] = p1;
57508 /* parser/parser.nit:21227 */
57509 fra.me.REG[2] = NIT_NULL;
57510 /* parser/parser.nit:21228 */
57511 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57512 /* parser/parser.nit:21229 */
57513 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
57514 /* parser/parser.nit:21231 */
57515 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
57516 if (UNTAG_Bool(REGB0)) {
57517 } else {
57518 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
57519 if (UNTAG_Bool(REGB1)) {
57520 REGB1 = TAG_Bool(0);
57521 REGB0 = REGB1;
57522 } else {
57523 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
57524 REGB0 = REGB1;
57525 }
57526 }
57527 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
57528 if (UNTAG_Bool(REGB0)) {
57529 /* parser/parser.nit:21232 */
57530 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
57531 }
57532 /* parser/parser.nit:21234 */
57533 fra.me.REG[2] = fra.me.REG[4];
57534 /* parser/parser.nit:21235 */
57535 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
57536 if (UNTAG_Bool(REGB0)) {
57537 } else {
57538 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21235);
57539 }
57540 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
57541 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57542 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
57543 stack_frame_head = fra.me.prev;
57544 return;
57545 }
57546 static const char LOCATE_parser___ReduceAction641___action[] = "parser::ReduceAction641::(parser::ReduceAction::action)";
57547 void parser___ReduceAction641___action(val_t p0, val_t p1){
57548 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
57549 val_t REGB0;
57550 val_t REGB1;
57551 val_t tmp;
57552 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57553 fra.me.file = LOCATE_parser;
57554 fra.me.line = 21240;
57555 fra.me.meth = LOCATE_parser___ReduceAction641___action;
57556 fra.me.has_broke = 0;
57557 fra.me.REG_size = 6;
57558 fra.me.nitni_local_ref_head = NULL;
57559 fra.me.REG[0] = NIT_NULL;
57560 fra.me.REG[1] = NIT_NULL;
57561 fra.me.REG[2] = NIT_NULL;
57562 fra.me.REG[3] = NIT_NULL;
57563 fra.me.REG[4] = NIT_NULL;
57564 fra.me.REG[5] = NIT_NULL;
57565 fra.me.REG[0] = p0;
57566 fra.me.REG[1] = p1;
57567 /* parser/parser.nit:21242 */
57568 fra.me.REG[2] = NIT_NULL;
57569 /* parser/parser.nit:21243 */
57570 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57571 /* parser/parser.nit:21244 */
57572 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57573 /* parser/parser.nit:21245 */
57574 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57575 /* parser/parser.nit:21246 */
57576 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57577 /* parser/parser.nit:21247 */
57578 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57579 /* parser/parser.nit:21248 */
57580 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
57581 /* parser/parser.nit:21250 */
57582 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]*/;
57583 if (UNTAG_Bool(REGB0)) {
57584 } else {
57585 nit_abort("Assert failed", NULL, LOCATE_parser, 21250);
57586 }
57587 /* parser/parser.nit:21252 */
57588 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
57589 fra.me.REG[5] = fra.me.REG[4];
57590 /* parser/parser.nit:21253 */
57591 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
57592 if (UNTAG_Bool(REGB0)) {
57593 } else {
57594 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
57595 if (UNTAG_Bool(REGB1)) {
57596 REGB1 = TAG_Bool(0);
57597 REGB0 = REGB1;
57598 } else {
57599 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
57600 REGB0 = REGB1;
57601 }
57602 }
57603 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
57604 if (UNTAG_Bool(REGB0)) {
57605 /* parser/parser.nit:21254 */
57606 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
57607 }
57608 /* parser/parser.nit:21256 */
57609 fra.me.REG[2] = fra.me.REG[5];
57610 /* parser/parser.nit:21257 */
57611 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
57612 if (UNTAG_Bool(REGB0)) {
57613 } else {
57614 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21257);
57615 }
57616 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
57617 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57618 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
57619 stack_frame_head = fra.me.prev;
57620 return;
57621 }
57622 static const char LOCATE_parser___ReduceAction642___action[] = "parser::ReduceAction642::(parser::ReduceAction::action)";
57623 void parser___ReduceAction642___action(val_t p0, val_t p1){
57624 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
57625 val_t REGB0;
57626 val_t tmp;
57627 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57628 fra.me.file = LOCATE_parser;
57629 fra.me.line = 21262;
57630 fra.me.meth = LOCATE_parser___ReduceAction642___action;
57631 fra.me.has_broke = 0;
57632 fra.me.REG_size = 5;
57633 fra.me.nitni_local_ref_head = NULL;
57634 fra.me.REG[0] = NIT_NULL;
57635 fra.me.REG[1] = NIT_NULL;
57636 fra.me.REG[2] = NIT_NULL;
57637 fra.me.REG[3] = NIT_NULL;
57638 fra.me.REG[4] = NIT_NULL;
57639 fra.me.REG[0] = p0;
57640 fra.me.REG[1] = p1;
57641 /* parser/parser.nit:21264 */
57642 fra.me.REG[2] = NIT_NULL;
57643 /* parser/parser.nit:21265 */
57644 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57645 /* parser/parser.nit:21266 */
57646 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
57647 /* parser/parser.nit:21268 */
57648 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*/;
57649 if (UNTAG_Bool(REGB0)) {
57650 } else {
57651 nit_abort("Assert failed", NULL, LOCATE_parser, 21268);
57652 }
57653 /* parser/parser.nit:21269 */
57654 fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
57655 /* parser/parser.nit:21274 */
57656 fra.me.REG[2] = fra.me.REG[3];
57657 /* parser/parser.nit:21275 */
57658 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
57659 if (UNTAG_Bool(REGB0)) {
57660 } else {
57661 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21275);
57662 }
57663 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
57664 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57665 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
57666 stack_frame_head = fra.me.prev;
57667 return;
57668 }
57669 static const char LOCATE_parser___ReduceAction643___action[] = "parser::ReduceAction643::(parser::ReduceAction::action)";
57670 void parser___ReduceAction643___action(val_t p0, val_t p1){
57671 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
57672 val_t REGB0;
57673 val_t tmp;
57674 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57675 fra.me.file = LOCATE_parser;
57676 fra.me.line = 21280;
57677 fra.me.meth = LOCATE_parser___ReduceAction643___action;
57678 fra.me.has_broke = 0;
57679 fra.me.REG_size = 6;
57680 fra.me.nitni_local_ref_head = NULL;
57681 fra.me.REG[0] = NIT_NULL;
57682 fra.me.REG[1] = NIT_NULL;
57683 fra.me.REG[2] = NIT_NULL;
57684 fra.me.REG[3] = NIT_NULL;
57685 fra.me.REG[4] = NIT_NULL;
57686 fra.me.REG[5] = NIT_NULL;
57687 fra.me.REG[0] = p0;
57688 fra.me.REG[1] = p1;
57689 /* parser/parser.nit:21282 */
57690 fra.me.REG[2] = NIT_NULL;
57691 /* parser/parser.nit:21283 */
57692 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57693 /* parser/parser.nit:21284 */
57694 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57695 /* parser/parser.nit:21285 */
57696 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
57697 /* parser/parser.nit:21287 */
57698 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]*/;
57699 if (UNTAG_Bool(REGB0)) {
57700 } else {
57701 nit_abort("Assert failed", NULL, LOCATE_parser, 21287);
57702 }
57703 /* parser/parser.nit:21288 */
57704 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
57705 fra.me.REG[5] = fra.me.REG[4];
57706 /* parser/parser.nit:21290 */
57707 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*/;
57708 if (UNTAG_Bool(REGB0)) {
57709 } else {
57710 nit_abort("Assert failed", NULL, LOCATE_parser, 21290);
57711 }
57712 /* parser/parser.nit:21291 */
57713 fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(NIT_NULL, fra.me.REG[5], fra.me.REG[3]);
57714 /* parser/parser.nit:21296 */
57715 fra.me.REG[2] = fra.me.REG[3];
57716 /* parser/parser.nit:21297 */
57717 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
57718 if (UNTAG_Bool(REGB0)) {
57719 } else {
57720 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21297);
57721 }
57722 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
57723 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57724 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
57725 stack_frame_head = fra.me.prev;
57726 return;
57727 }
57728 static const char LOCATE_parser___ReduceAction644___action[] = "parser::ReduceAction644::(parser::ReduceAction::action)";
57729 void parser___ReduceAction644___action(val_t p0, val_t p1){
57730 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
57731 val_t REGB0;
57732 val_t tmp;
57733 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57734 fra.me.file = LOCATE_parser;
57735 fra.me.line = 21302;
57736 fra.me.meth = LOCATE_parser___ReduceAction644___action;
57737 fra.me.has_broke = 0;
57738 fra.me.REG_size = 6;
57739 fra.me.nitni_local_ref_head = NULL;
57740 fra.me.REG[0] = NIT_NULL;
57741 fra.me.REG[1] = NIT_NULL;
57742 fra.me.REG[2] = NIT_NULL;
57743 fra.me.REG[3] = NIT_NULL;
57744 fra.me.REG[4] = NIT_NULL;
57745 fra.me.REG[5] = NIT_NULL;
57746 fra.me.REG[0] = p0;
57747 fra.me.REG[1] = p1;
57748 /* parser/parser.nit:21304 */
57749 fra.me.REG[2] = NIT_NULL;
57750 /* parser/parser.nit:21305 */
57751 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57752 /* parser/parser.nit:21306 */
57753 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57754 /* parser/parser.nit:21307 */
57755 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57756 /* parser/parser.nit:21308 */
57757 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
57758 /* parser/parser.nit:21310 */
57759 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*/;
57760 if (UNTAG_Bool(REGB0)) {
57761 } else {
57762 nit_abort("Assert failed", NULL, LOCATE_parser, 21310);
57763 }
57764 /* parser/parser.nit:21312 */
57765 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*/;
57766 if (UNTAG_Bool(REGB0)) {
57767 } else {
57768 nit_abort("Assert failed", NULL, LOCATE_parser, 21312);
57769 }
57770 /* parser/parser.nit:21313 */
57771 fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3]);
57772 /* parser/parser.nit:21318 */
57773 fra.me.REG[2] = fra.me.REG[3];
57774 /* parser/parser.nit:21319 */
57775 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
57776 if (UNTAG_Bool(REGB0)) {
57777 } else {
57778 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21319);
57779 }
57780 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
57781 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57782 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
57783 stack_frame_head = fra.me.prev;
57784 return;
57785 }
57786 static const char LOCATE_parser___ReduceAction645___action[] = "parser::ReduceAction645::(parser::ReduceAction::action)";
57787 void parser___ReduceAction645___action(val_t p0, val_t p1){
57788 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
57789 val_t REGB0;
57790 val_t tmp;
57791 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57792 fra.me.file = LOCATE_parser;
57793 fra.me.line = 21324;
57794 fra.me.meth = LOCATE_parser___ReduceAction645___action;
57795 fra.me.has_broke = 0;
57796 fra.me.REG_size = 7;
57797 fra.me.nitni_local_ref_head = NULL;
57798 fra.me.REG[0] = NIT_NULL;
57799 fra.me.REG[1] = NIT_NULL;
57800 fra.me.REG[2] = NIT_NULL;
57801 fra.me.REG[3] = NIT_NULL;
57802 fra.me.REG[4] = NIT_NULL;
57803 fra.me.REG[5] = NIT_NULL;
57804 fra.me.REG[6] = NIT_NULL;
57805 fra.me.REG[0] = p0;
57806 fra.me.REG[1] = p1;
57807 /* parser/parser.nit:21326 */
57808 fra.me.REG[2] = NIT_NULL;
57809 /* parser/parser.nit:21327 */
57810 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57811 /* parser/parser.nit:21328 */
57812 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57813 /* parser/parser.nit:21329 */
57814 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57815 /* parser/parser.nit:21330 */
57816 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57817 /* parser/parser.nit:21331 */
57818 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
57819 /* parser/parser.nit:21333 */
57820 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*/;
57821 if (UNTAG_Bool(REGB0)) {
57822 } else {
57823 nit_abort("Assert failed", NULL, LOCATE_parser, 21333);
57824 }
57825 /* parser/parser.nit:21335 */
57826 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]*/;
57827 if (UNTAG_Bool(REGB0)) {
57828 } else {
57829 nit_abort("Assert failed", NULL, LOCATE_parser, 21335);
57830 }
57831 /* parser/parser.nit:21336 */
57832 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
57833 fra.me.REG[6] = fra.me.REG[4];
57834 /* parser/parser.nit:21338 */
57835 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*/;
57836 if (UNTAG_Bool(REGB0)) {
57837 } else {
57838 nit_abort("Assert failed", NULL, LOCATE_parser, 21338);
57839 }
57840 /* parser/parser.nit:21339 */
57841 fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3]);
57842 /* parser/parser.nit:21344 */
57843 fra.me.REG[2] = fra.me.REG[3];
57844 /* parser/parser.nit:21345 */
57845 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
57846 if (UNTAG_Bool(REGB0)) {
57847 } else {
57848 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21345);
57849 }
57850 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
57851 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57852 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
57853 stack_frame_head = fra.me.prev;
57854 return;
57855 }
57856 static const char LOCATE_parser___ReduceAction646___action[] = "parser::ReduceAction646::(parser::ReduceAction::action)";
57857 void parser___ReduceAction646___action(val_t p0, val_t p1){
57858 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
57859 val_t REGB0;
57860 val_t tmp;
57861 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57862 fra.me.file = LOCATE_parser;
57863 fra.me.line = 21350;
57864 fra.me.meth = LOCATE_parser___ReduceAction646___action;
57865 fra.me.has_broke = 0;
57866 fra.me.REG_size = 5;
57867 fra.me.nitni_local_ref_head = NULL;
57868 fra.me.REG[0] = NIT_NULL;
57869 fra.me.REG[1] = NIT_NULL;
57870 fra.me.REG[2] = NIT_NULL;
57871 fra.me.REG[3] = NIT_NULL;
57872 fra.me.REG[4] = NIT_NULL;
57873 fra.me.REG[0] = p0;
57874 fra.me.REG[1] = p1;
57875 /* parser/parser.nit:21352 */
57876 fra.me.REG[2] = NIT_NULL;
57877 /* parser/parser.nit:21353 */
57878 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57879 /* parser/parser.nit:21354 */
57880 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
57881 /* parser/parser.nit:21356 */
57882 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*/;
57883 if (UNTAG_Bool(REGB0)) {
57884 } else {
57885 nit_abort("Assert failed", NULL, LOCATE_parser, 21356);
57886 }
57887 /* parser/parser.nit:21357 */
57888 fra.me.REG[3] = NEW_AQualified_parser___parser_prod___AQualified___init_aqualified(fra.me.REG[4], fra.me.REG[3]);
57889 /* parser/parser.nit:21361 */
57890 fra.me.REG[2] = fra.me.REG[3];
57891 /* parser/parser.nit:21362 */
57892 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
57893 if (UNTAG_Bool(REGB0)) {
57894 } else {
57895 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21362);
57896 }
57897 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
57898 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57899 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
57900 stack_frame_head = fra.me.prev;
57901 return;
57902 }
57903 static const char LOCATE_parser___ReduceAction647___action[] = "parser::ReduceAction647::(parser::ReduceAction::action)";
57904 void parser___ReduceAction647___action(val_t p0, val_t p1){
57905 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
57906 val_t REGB0;
57907 val_t tmp;
57908 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57909 fra.me.file = LOCATE_parser;
57910 fra.me.line = 21367;
57911 fra.me.meth = LOCATE_parser___ReduceAction647___action;
57912 fra.me.has_broke = 0;
57913 fra.me.REG_size = 6;
57914 fra.me.nitni_local_ref_head = NULL;
57915 fra.me.REG[0] = NIT_NULL;
57916 fra.me.REG[1] = NIT_NULL;
57917 fra.me.REG[2] = NIT_NULL;
57918 fra.me.REG[3] = NIT_NULL;
57919 fra.me.REG[4] = NIT_NULL;
57920 fra.me.REG[5] = NIT_NULL;
57921 fra.me.REG[0] = p0;
57922 fra.me.REG[1] = p1;
57923 /* parser/parser.nit:21369 */
57924 fra.me.REG[2] = NIT_NULL;
57925 /* parser/parser.nit:21370 */
57926 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57927 /* parser/parser.nit:21371 */
57928 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57929 /* parser/parser.nit:21372 */
57930 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
57931 /* parser/parser.nit:21374 */
57932 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]*/;
57933 if (UNTAG_Bool(REGB0)) {
57934 } else {
57935 nit_abort("Assert failed", NULL, LOCATE_parser, 21374);
57936 }
57937 /* parser/parser.nit:21375 */
57938 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
57939 fra.me.REG[5] = fra.me.REG[4];
57940 /* parser/parser.nit:21377 */
57941 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*/;
57942 if (UNTAG_Bool(REGB0)) {
57943 } else {
57944 nit_abort("Assert failed", NULL, LOCATE_parser, 21377);
57945 }
57946 /* parser/parser.nit:21378 */
57947 fra.me.REG[3] = NEW_AQualified_parser___parser_prod___AQualified___init_aqualified(fra.me.REG[5], fra.me.REG[3]);
57948 /* parser/parser.nit:21382 */
57949 fra.me.REG[2] = fra.me.REG[3];
57950 /* parser/parser.nit:21383 */
57951 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
57952 if (UNTAG_Bool(REGB0)) {
57953 } else {
57954 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21383);
57955 }
57956 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
57957 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57958 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
57959 stack_frame_head = fra.me.prev;
57960 return;
57961 }
57962 static const char LOCATE_parser___ReduceAction648___action[] = "parser::ReduceAction648::(parser::ReduceAction::action)";
57963 void parser___ReduceAction648___action(val_t p0, val_t p1){
57964 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
57965 val_t REGB0;
57966 val_t tmp;
57967 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57968 fra.me.file = LOCATE_parser;
57969 fra.me.line = 21388;
57970 fra.me.meth = LOCATE_parser___ReduceAction648___action;
57971 fra.me.has_broke = 0;
57972 fra.me.REG_size = 5;
57973 fra.me.nitni_local_ref_head = NULL;
57974 fra.me.REG[0] = NIT_NULL;
57975 fra.me.REG[1] = NIT_NULL;
57976 fra.me.REG[2] = NIT_NULL;
57977 fra.me.REG[3] = NIT_NULL;
57978 fra.me.REG[4] = NIT_NULL;
57979 fra.me.REG[0] = p0;
57980 fra.me.REG[1] = p1;
57981 /* parser/parser.nit:21390 */
57982 fra.me.REG[2] = NIT_NULL;
57983 /* parser/parser.nit:21391 */
57984 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57985 /* parser/parser.nit:21392 */
57986 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
57987 /* parser/parser.nit:21394 */
57988 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]*/;
57989 if (UNTAG_Bool(REGB0)) {
57990 } else {
57991 nit_abort("Assert failed", NULL, LOCATE_parser, 21394);
57992 }
57993 /* parser/parser.nit:21395 */
57994 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
57995 fra.me.REG[4] = fra.me.REG[3];
57996 /* parser/parser.nit:21396 */
57997 fra.me.REG[4] = NEW_AQualified_parser___parser_prod___AQualified___init_aqualified(fra.me.REG[4], NIT_NULL);
57998 /* parser/parser.nit:21400 */
57999 fra.me.REG[2] = fra.me.REG[4];
58000 /* parser/parser.nit:21401 */
58001 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58002 if (UNTAG_Bool(REGB0)) {
58003 } else {
58004 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21401);
58005 }
58006 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58007 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58008 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58009 stack_frame_head = fra.me.prev;
58010 return;
58011 }
58012 static const char LOCATE_parser___ReduceAction649___action[] = "parser::ReduceAction649::(parser::ReduceAction::action)";
58013 void parser___ReduceAction649___action(val_t p0, val_t p1){
58014 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
58015 val_t REGB0;
58016 val_t tmp;
58017 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58018 fra.me.file = LOCATE_parser;
58019 fra.me.line = 21406;
58020 fra.me.meth = LOCATE_parser___ReduceAction649___action;
58021 fra.me.has_broke = 0;
58022 fra.me.REG_size = 4;
58023 fra.me.nitni_local_ref_head = NULL;
58024 fra.me.REG[0] = NIT_NULL;
58025 fra.me.REG[1] = NIT_NULL;
58026 fra.me.REG[2] = NIT_NULL;
58027 fra.me.REG[3] = NIT_NULL;
58028 fra.me.REG[0] = p0;
58029 fra.me.REG[1] = p1;
58030 /* parser/parser.nit:21408 */
58031 fra.me.REG[2] = NIT_NULL;
58032 /* parser/parser.nit:21409 */
58033 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58034 /* parser/parser.nit:21410 */
58035 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58036 /* parser/parser.nit:21411 */
58037 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58038 /* parser/parser.nit:21413 */
58039 fra.me.REG[2] = fra.me.REG[3];
58040 /* parser/parser.nit:21414 */
58041 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58042 if (UNTAG_Bool(REGB0)) {
58043 } else {
58044 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21414);
58045 }
58046 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58047 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58048 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58049 stack_frame_head = fra.me.prev;
58050 return;
58051 }
58052 static const char LOCATE_parser___ReduceAction650___action[] = "parser::ReduceAction650::(parser::ReduceAction::action)";
58053 void parser___ReduceAction650___action(val_t p0, val_t p1){
58054 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
58055 val_t REGB0;
58056 val_t tmp;
58057 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58058 fra.me.file = LOCATE_parser;
58059 fra.me.line = 21419;
58060 fra.me.meth = LOCATE_parser___ReduceAction650___action;
58061 fra.me.has_broke = 0;
58062 fra.me.REG_size = 4;
58063 fra.me.nitni_local_ref_head = NULL;
58064 fra.me.REG[0] = NIT_NULL;
58065 fra.me.REG[1] = NIT_NULL;
58066 fra.me.REG[2] = NIT_NULL;
58067 fra.me.REG[3] = NIT_NULL;
58068 fra.me.REG[0] = p0;
58069 fra.me.REG[1] = p1;
58070 /* parser/parser.nit:21421 */
58071 fra.me.REG[2] = NIT_NULL;
58072 /* parser/parser.nit:21422 */
58073 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58074 /* parser/parser.nit:21423 */
58075 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58076 /* parser/parser.nit:21424 */
58077 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58078 /* parser/parser.nit:21426 */
58079 fra.me.REG[2] = fra.me.REG[3];
58080 /* parser/parser.nit:21427 */
58081 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58082 if (UNTAG_Bool(REGB0)) {
58083 } else {
58084 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21427);
58085 }
58086 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58087 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58088 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58089 stack_frame_head = fra.me.prev;
58090 return;
58091 }
58092 static const char LOCATE_parser___ReduceAction651___action[] = "parser::ReduceAction651::(parser::ReduceAction::action)";
58093 void parser___ReduceAction651___action(val_t p0, val_t p1){
58094 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
58095 val_t REGB0;
58096 val_t tmp;
58097 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58098 fra.me.file = LOCATE_parser;
58099 fra.me.line = 21432;
58100 fra.me.meth = LOCATE_parser___ReduceAction651___action;
58101 fra.me.has_broke = 0;
58102 fra.me.REG_size = 4;
58103 fra.me.nitni_local_ref_head = NULL;
58104 fra.me.REG[0] = NIT_NULL;
58105 fra.me.REG[1] = NIT_NULL;
58106 fra.me.REG[2] = NIT_NULL;
58107 fra.me.REG[3] = NIT_NULL;
58108 fra.me.REG[0] = p0;
58109 fra.me.REG[1] = p1;
58110 /* parser/parser.nit:21434 */
58111 fra.me.REG[2] = NIT_NULL;
58112 /* parser/parser.nit:21435 */
58113 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58114 /* parser/parser.nit:21436 */
58115 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58116 if (UNTAG_Bool(REGB0)) {
58117 } else {
58118 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21436);
58119 }
58120 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58121 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58122 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58123 stack_frame_head = fra.me.prev;
58124 return;
58125 }
58126 static const char LOCATE_parser___ReduceAction653___action[] = "parser::ReduceAction653::(parser::ReduceAction::action)";
58127 void parser___ReduceAction653___action(val_t p0, val_t p1){
58128 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
58129 val_t REGB0;
58130 val_t tmp;
58131 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58132 fra.me.file = LOCATE_parser;
58133 fra.me.line = 21441;
58134 fra.me.meth = LOCATE_parser___ReduceAction653___action;
58135 fra.me.has_broke = 0;
58136 fra.me.REG_size = 5;
58137 fra.me.nitni_local_ref_head = NULL;
58138 fra.me.REG[0] = NIT_NULL;
58139 fra.me.REG[1] = NIT_NULL;
58140 fra.me.REG[2] = NIT_NULL;
58141 fra.me.REG[3] = NIT_NULL;
58142 fra.me.REG[4] = NIT_NULL;
58143 fra.me.REG[0] = p0;
58144 fra.me.REG[1] = p1;
58145 /* parser/parser.nit:21443 */
58146 fra.me.REG[2] = NIT_NULL;
58147 /* parser/parser.nit:21444 */
58148 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58149 /* parser/parser.nit:21445 */
58150 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
58151 /* parser/parser.nit:21447 */
58152 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]*/;
58153 if (UNTAG_Bool(REGB0)) {
58154 } else {
58155 nit_abort("Assert failed", NULL, LOCATE_parser, 21447);
58156 }
58157 /* parser/parser.nit:21448 */
58158 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
58159 fra.me.REG[4] = fra.me.REG[3];
58160 /* parser/parser.nit:21449 */
58161 fra.me.REG[4] = NEW_ADoc_parser___parser_prod___ADoc___init_adoc(fra.me.REG[4]);
58162 /* parser/parser.nit:21452 */
58163 fra.me.REG[2] = fra.me.REG[4];
58164 /* parser/parser.nit:21453 */
58165 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58166 if (UNTAG_Bool(REGB0)) {
58167 } else {
58168 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21453);
58169 }
58170 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58171 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58172 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58173 stack_frame_head = fra.me.prev;
58174 return;
58175 }
58176 static const char LOCATE_parser___ReduceAction654___action[] = "parser::ReduceAction654::(parser::ReduceAction::action)";
58177 void parser___ReduceAction654___action(val_t p0, val_t p1){
58178 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
58179 val_t REGB0;
58180 val_t tmp;
58181 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58182 fra.me.file = LOCATE_parser;
58183 fra.me.line = 21458;
58184 fra.me.meth = LOCATE_parser___ReduceAction654___action;
58185 fra.me.has_broke = 0;
58186 fra.me.REG_size = 5;
58187 fra.me.nitni_local_ref_head = NULL;
58188 fra.me.REG[0] = NIT_NULL;
58189 fra.me.REG[1] = NIT_NULL;
58190 fra.me.REG[2] = NIT_NULL;
58191 fra.me.REG[3] = NIT_NULL;
58192 fra.me.REG[4] = NIT_NULL;
58193 fra.me.REG[0] = p0;
58194 fra.me.REG[1] = p1;
58195 /* parser/parser.nit:21460 */
58196 fra.me.REG[2] = NIT_NULL;
58197 /* parser/parser.nit:21461 */
58198 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58199 /* parser/parser.nit:21462 */
58200 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58201 /* parser/parser.nit:21463 */
58202 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
58203 /* parser/parser.nit:21465 */
58204 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]*/;
58205 if (UNTAG_Bool(REGB0)) {
58206 } else {
58207 nit_abort("Assert failed", NULL, LOCATE_parser, 21465);
58208 }
58209 /* parser/parser.nit:21466 */
58210 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
58211 fra.me.REG[4] = fra.me.REG[3];
58212 /* parser/parser.nit:21467 */
58213 fra.me.REG[4] = NEW_ADoc_parser___parser_prod___ADoc___init_adoc(fra.me.REG[4]);
58214 /* parser/parser.nit:21470 */
58215 fra.me.REG[2] = fra.me.REG[4];
58216 /* parser/parser.nit:21471 */
58217 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58218 if (UNTAG_Bool(REGB0)) {
58219 } else {
58220 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21471);
58221 }
58222 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58223 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58224 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58225 stack_frame_head = fra.me.prev;
58226 return;
58227 }
58228 static const char LOCATE_parser___ReduceAction656___action[] = "parser::ReduceAction656::(parser::ReduceAction::action)";
58229 void parser___ReduceAction656___action(val_t p0, val_t p1){
58230 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
58231 val_t REGB0;
58232 val_t tmp;
58233 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58234 fra.me.file = LOCATE_parser;
58235 fra.me.line = 21476;
58236 fra.me.meth = LOCATE_parser___ReduceAction656___action;
58237 fra.me.has_broke = 0;
58238 fra.me.REG_size = 3;
58239 fra.me.nitni_local_ref_head = NULL;
58240 fra.me.REG[0] = NIT_NULL;
58241 fra.me.REG[1] = NIT_NULL;
58242 fra.me.REG[2] = NIT_NULL;
58243 fra.me.REG[0] = p0;
58244 fra.me.REG[1] = p1;
58245 /* parser/parser.nit:21478 */
58246 fra.me.REG[2] = NIT_NULL;
58247 /* parser/parser.nit:21479 */
58248 fra.me.REG[2] = NIT_NULL;
58249 /* parser/parser.nit:21480 */
58250 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58251 if (UNTAG_Bool(REGB0)) {
58252 } else {
58253 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21480);
58254 }
58255 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58256 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58257 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58258 stack_frame_head = fra.me.prev;
58259 return;
58260 }
58261 static const char LOCATE_parser___ReduceAction657___action[] = "parser::ReduceAction657::(parser::ReduceAction::action)";
58262 void parser___ReduceAction657___action(val_t p0, val_t p1){
58263 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
58264 val_t REGB0;
58265 val_t tmp;
58266 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58267 fra.me.file = LOCATE_parser;
58268 fra.me.line = 21485;
58269 fra.me.meth = LOCATE_parser___ReduceAction657___action;
58270 fra.me.has_broke = 0;
58271 fra.me.REG_size = 4;
58272 fra.me.nitni_local_ref_head = NULL;
58273 fra.me.REG[0] = NIT_NULL;
58274 fra.me.REG[1] = NIT_NULL;
58275 fra.me.REG[2] = NIT_NULL;
58276 fra.me.REG[3] = NIT_NULL;
58277 fra.me.REG[0] = p0;
58278 fra.me.REG[1] = p1;
58279 /* parser/parser.nit:21487 */
58280 fra.me.REG[2] = NIT_NULL;
58281 /* parser/parser.nit:21488 */
58282 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58283 /* parser/parser.nit:21490 */
58284 fra.me.REG[2] = fra.me.REG[3];
58285 /* parser/parser.nit:21491 */
58286 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58287 if (UNTAG_Bool(REGB0)) {
58288 } else {
58289 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21491);
58290 }
58291 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58292 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58293 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58294 stack_frame_head = fra.me.prev;
58295 return;
58296 }
58297 static const char LOCATE_parser___ReduceAction658___action[] = "parser::ReduceAction658::(parser::ReduceAction::action)";
58298 void parser___ReduceAction658___action(val_t p0, val_t p1){
58299 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
58300 val_t REGB0;
58301 val_t tmp;
58302 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58303 fra.me.file = LOCATE_parser;
58304 fra.me.line = 21496;
58305 fra.me.meth = LOCATE_parser___ReduceAction658___action;
58306 fra.me.has_broke = 0;
58307 fra.me.REG_size = 4;
58308 fra.me.nitni_local_ref_head = NULL;
58309 fra.me.REG[0] = NIT_NULL;
58310 fra.me.REG[1] = NIT_NULL;
58311 fra.me.REG[2] = NIT_NULL;
58312 fra.me.REG[3] = NIT_NULL;
58313 fra.me.REG[0] = p0;
58314 fra.me.REG[1] = p1;
58315 /* parser/parser.nit:21498 */
58316 fra.me.REG[2] = NIT_NULL;
58317 /* parser/parser.nit:21499 */
58318 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58319 /* parser/parser.nit:21500 */
58320 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58321 /* parser/parser.nit:21501 */
58322 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58323 if (UNTAG_Bool(REGB0)) {
58324 } else {
58325 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21501);
58326 }
58327 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58328 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58329 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58330 stack_frame_head = fra.me.prev;
58331 return;
58332 }
58333 static const char LOCATE_parser___ReduceAction659___action[] = "parser::ReduceAction659::(parser::ReduceAction::action)";
58334 void parser___ReduceAction659___action(val_t p0, val_t p1){
58335 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
58336 val_t REGB0;
58337 val_t tmp;
58338 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58339 fra.me.file = LOCATE_parser;
58340 fra.me.line = 21506;
58341 fra.me.meth = LOCATE_parser___ReduceAction659___action;
58342 fra.me.has_broke = 0;
58343 fra.me.REG_size = 4;
58344 fra.me.nitni_local_ref_head = NULL;
58345 fra.me.REG[0] = NIT_NULL;
58346 fra.me.REG[1] = NIT_NULL;
58347 fra.me.REG[2] = NIT_NULL;
58348 fra.me.REG[3] = NIT_NULL;
58349 fra.me.REG[0] = p0;
58350 fra.me.REG[1] = p1;
58351 /* parser/parser.nit:21508 */
58352 fra.me.REG[2] = NIT_NULL;
58353 /* parser/parser.nit:21509 */
58354 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58355 /* parser/parser.nit:21510 */
58356 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58357 /* parser/parser.nit:21511 */
58358 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58359 /* parser/parser.nit:21512 */
58360 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58361 if (UNTAG_Bool(REGB0)) {
58362 } else {
58363 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21512);
58364 }
58365 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58366 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58367 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58368 stack_frame_head = fra.me.prev;
58369 return;
58370 }
58371 static const char LOCATE_parser___ReduceAction931___action[] = "parser::ReduceAction931::(parser::ReduceAction::action)";
58372 void parser___ReduceAction931___action(val_t p0, val_t p1){
58373 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
58374 val_t REGB0;
58375 val_t tmp;
58376 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58377 fra.me.file = LOCATE_parser;
58378 fra.me.line = 21517;
58379 fra.me.meth = LOCATE_parser___ReduceAction931___action;
58380 fra.me.has_broke = 0;
58381 fra.me.REG_size = 6;
58382 fra.me.nitni_local_ref_head = NULL;
58383 fra.me.REG[0] = NIT_NULL;
58384 fra.me.REG[1] = NIT_NULL;
58385 fra.me.REG[2] = NIT_NULL;
58386 fra.me.REG[3] = NIT_NULL;
58387 fra.me.REG[4] = NIT_NULL;
58388 fra.me.REG[5] = NIT_NULL;
58389 fra.me.REG[0] = p0;
58390 fra.me.REG[1] = p1;
58391 /* parser/parser.nit:21519 */
58392 fra.me.REG[2] = NIT_NULL;
58393 /* parser/parser.nit:21520 */
58394 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58395 /* parser/parser.nit:21521 */
58396 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58397 /* parser/parser.nit:21522 */
58398 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58399 /* parser/parser.nit:21524 */
58400 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*/;
58401 if (UNTAG_Bool(REGB0)) {
58402 } else {
58403 nit_abort("Assert failed", NULL, LOCATE_parser, 21524);
58404 }
58405 /* parser/parser.nit:21526 */
58406 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*/;
58407 if (UNTAG_Bool(REGB0)) {
58408 } else {
58409 nit_abort("Assert failed", NULL, LOCATE_parser, 21526);
58410 }
58411 /* parser/parser.nit:21528 */
58412 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*/;
58413 if (UNTAG_Bool(REGB0)) {
58414 } else {
58415 nit_abort("Assert failed", NULL, LOCATE_parser, 21528);
58416 }
58417 /* parser/parser.nit:21529 */
58418 fra.me.REG[3] = NEW_AIssetAttrExpr_parser___parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
58419 /* parser/parser.nit:21534 */
58420 fra.me.REG[2] = fra.me.REG[3];
58421 /* parser/parser.nit:21535 */
58422 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58423 if (UNTAG_Bool(REGB0)) {
58424 } else {
58425 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21535);
58426 }
58427 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58428 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58429 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58430 stack_frame_head = fra.me.prev;
58431 return;
58432 }
58433 static const char LOCATE_parser___ReduceAction932___action[] = "parser::ReduceAction932::(parser::ReduceAction::action)";
58434 void parser___ReduceAction932___action(val_t p0, val_t p1){
58435 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
58436 val_t REGB0;
58437 val_t tmp;
58438 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58439 fra.me.file = LOCATE_parser;
58440 fra.me.line = 21540;
58441 fra.me.meth = LOCATE_parser___ReduceAction932___action;
58442 fra.me.has_broke = 0;
58443 fra.me.REG_size = 5;
58444 fra.me.nitni_local_ref_head = NULL;
58445 fra.me.REG[0] = NIT_NULL;
58446 fra.me.REG[1] = NIT_NULL;
58447 fra.me.REG[2] = NIT_NULL;
58448 fra.me.REG[3] = NIT_NULL;
58449 fra.me.REG[4] = NIT_NULL;
58450 fra.me.REG[0] = p0;
58451 fra.me.REG[1] = p1;
58452 /* parser/parser.nit:21542 */
58453 fra.me.REG[2] = NIT_NULL;
58454 /* parser/parser.nit:21543 */
58455 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58456 /* parser/parser.nit:21544 */
58457 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58458 /* parser/parser.nit:21546 */
58459 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*/;
58460 if (UNTAG_Bool(REGB0)) {
58461 } else {
58462 nit_abort("Assert failed", NULL, LOCATE_parser, 21546);
58463 }
58464 /* parser/parser.nit:21548 */
58465 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*/;
58466 if (UNTAG_Bool(REGB0)) {
58467 } else {
58468 nit_abort("Assert failed", NULL, LOCATE_parser, 21548);
58469 }
58470 /* parser/parser.nit:21549 */
58471 fra.me.REG[3] = NEW_AAttrExpr_parser___parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[4], fra.me.REG[3]);
58472 /* parser/parser.nit:21553 */
58473 fra.me.REG[2] = fra.me.REG[3];
58474 /* parser/parser.nit:21554 */
58475 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58476 if (UNTAG_Bool(REGB0)) {
58477 } else {
58478 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21554);
58479 }
58480 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58481 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58482 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58483 stack_frame_head = fra.me.prev;
58484 return;
58485 }
58486 static const char LOCATE_parser___ReduceAction933___action[] = "parser::ReduceAction933::(parser::ReduceAction::action)";
58487 void parser___ReduceAction933___action(val_t p0, val_t p1){
58488 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
58489 val_t REGB0;
58490 val_t tmp;
58491 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58492 fra.me.file = LOCATE_parser;
58493 fra.me.line = 21559;
58494 fra.me.meth = LOCATE_parser___ReduceAction933___action;
58495 fra.me.has_broke = 0;
58496 fra.me.REG_size = 7;
58497 fra.me.nitni_local_ref_head = NULL;
58498 fra.me.REG[0] = NIT_NULL;
58499 fra.me.REG[1] = NIT_NULL;
58500 fra.me.REG[2] = NIT_NULL;
58501 fra.me.REG[3] = NIT_NULL;
58502 fra.me.REG[4] = NIT_NULL;
58503 fra.me.REG[5] = NIT_NULL;
58504 fra.me.REG[6] = NIT_NULL;
58505 fra.me.REG[0] = p0;
58506 fra.me.REG[1] = p1;
58507 /* parser/parser.nit:21561 */
58508 fra.me.REG[2] = NIT_NULL;
58509 /* parser/parser.nit:21562 */
58510 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58511 /* parser/parser.nit:21563 */
58512 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58513 /* parser/parser.nit:21564 */
58514 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58515 /* parser/parser.nit:21565 */
58516 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
58517 /* parser/parser.nit:21567 */
58518 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*/;
58519 if (UNTAG_Bool(REGB0)) {
58520 } else {
58521 nit_abort("Assert failed", NULL, LOCATE_parser, 21567);
58522 }
58523 /* parser/parser.nit:21569 */
58524 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*/;
58525 if (UNTAG_Bool(REGB0)) {
58526 } else {
58527 nit_abort("Assert failed", NULL, LOCATE_parser, 21569);
58528 }
58529 /* parser/parser.nit:21571 */
58530 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*/;
58531 if (UNTAG_Bool(REGB0)) {
58532 } else {
58533 nit_abort("Assert failed", NULL, LOCATE_parser, 21571);
58534 }
58535 /* parser/parser.nit:21572 */
58536 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]);
58537 /* parser/parser.nit:21578 */
58538 fra.me.REG[2] = fra.me.REG[6];
58539 /* parser/parser.nit:21579 */
58540 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58541 if (UNTAG_Bool(REGB0)) {
58542 } else {
58543 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21579);
58544 }
58545 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58546 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58547 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58548 stack_frame_head = fra.me.prev;
58549 return;
58550 }
58551 static const char LOCATE_parser___ReduceAction936___action[] = "parser::ReduceAction936::(parser::ReduceAction::action)";
58552 void parser___ReduceAction936___action(val_t p0, val_t p1){
58553 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
58554 val_t REGB0;
58555 val_t tmp;
58556 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58557 fra.me.file = LOCATE_parser;
58558 fra.me.line = 21584;
58559 fra.me.meth = LOCATE_parser___ReduceAction936___action;
58560 fra.me.has_broke = 0;
58561 fra.me.REG_size = 6;
58562 fra.me.nitni_local_ref_head = NULL;
58563 fra.me.REG[0] = NIT_NULL;
58564 fra.me.REG[1] = NIT_NULL;
58565 fra.me.REG[2] = NIT_NULL;
58566 fra.me.REG[3] = NIT_NULL;
58567 fra.me.REG[4] = NIT_NULL;
58568 fra.me.REG[5] = NIT_NULL;
58569 fra.me.REG[0] = p0;
58570 fra.me.REG[1] = p1;
58571 /* parser/parser.nit:21586 */
58572 fra.me.REG[2] = NIT_NULL;
58573 /* parser/parser.nit:21587 */
58574 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58575 /* parser/parser.nit:21588 */
58576 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58577 /* parser/parser.nit:21589 */
58578 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58579 /* parser/parser.nit:21591 */
58580 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*/;
58581 if (UNTAG_Bool(REGB0)) {
58582 } else {
58583 nit_abort("Assert failed", NULL, LOCATE_parser, 21591);
58584 }
58585 /* parser/parser.nit:21593 */
58586 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*/;
58587 if (UNTAG_Bool(REGB0)) {
58588 } else {
58589 nit_abort("Assert failed", NULL, LOCATE_parser, 21593);
58590 }
58591 /* parser/parser.nit:21595 */
58592 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*/;
58593 if (UNTAG_Bool(REGB0)) {
58594 } else {
58595 nit_abort("Assert failed", NULL, LOCATE_parser, 21595);
58596 }
58597 /* parser/parser.nit:21596 */
58598 fra.me.REG[3] = NEW_AInitExpr_parser___parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
58599 /* parser/parser.nit:21601 */
58600 fra.me.REG[2] = fra.me.REG[3];
58601 /* parser/parser.nit:21602 */
58602 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58603 if (UNTAG_Bool(REGB0)) {
58604 } else {
58605 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21602);
58606 }
58607 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58608 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58609 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58610 stack_frame_head = fra.me.prev;
58611 return;
58612 }
58613 static const char LOCATE_parser___ReduceAction957___action[] = "parser::ReduceAction957::(parser::ReduceAction::action)";
58614 void parser___ReduceAction957___action(val_t p0, val_t p1){
58615 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
58616 val_t REGB0;
58617 val_t tmp;
58618 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58619 fra.me.file = LOCATE_parser;
58620 fra.me.line = 21607;
58621 fra.me.meth = LOCATE_parser___ReduceAction957___action;
58622 fra.me.has_broke = 0;
58623 fra.me.REG_size = 4;
58624 fra.me.nitni_local_ref_head = NULL;
58625 fra.me.REG[0] = NIT_NULL;
58626 fra.me.REG[1] = NIT_NULL;
58627 fra.me.REG[2] = NIT_NULL;
58628 fra.me.REG[3] = NIT_NULL;
58629 fra.me.REG[0] = p0;
58630 fra.me.REG[1] = p1;
58631 /* parser/parser.nit:21609 */
58632 fra.me.REG[2] = NIT_NULL;
58633 /* parser/parser.nit:21610 */
58634 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58635 /* parser/parser.nit:21611 */
58636 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58637 /* parser/parser.nit:21612 */
58638 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58639 /* parser/parser.nit:21614 */
58640 fra.me.REG[2] = fra.me.REG[3];
58641 /* parser/parser.nit:21615 */
58642 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58643 if (UNTAG_Bool(REGB0)) {
58644 } else {
58645 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21615);
58646 }
58647 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58648 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58649 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58650 stack_frame_head = fra.me.prev;
58651 return;
58652 }
58653 static const char LOCATE_parser___ReduceAction958___action[] = "parser::ReduceAction958::(parser::ReduceAction::action)";
58654 void parser___ReduceAction958___action(val_t p0, val_t p1){
58655 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
58656 val_t REGB0;
58657 val_t tmp;
58658 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58659 fra.me.file = LOCATE_parser;
58660 fra.me.line = 21620;
58661 fra.me.meth = LOCATE_parser___ReduceAction958___action;
58662 fra.me.has_broke = 0;
58663 fra.me.REG_size = 4;
58664 fra.me.nitni_local_ref_head = NULL;
58665 fra.me.REG[0] = NIT_NULL;
58666 fra.me.REG[1] = NIT_NULL;
58667 fra.me.REG[2] = NIT_NULL;
58668 fra.me.REG[3] = NIT_NULL;
58669 fra.me.REG[0] = p0;
58670 fra.me.REG[1] = p1;
58671 /* parser/parser.nit:21622 */
58672 fra.me.REG[2] = NIT_NULL;
58673 /* parser/parser.nit:21623 */
58674 fra.me.REG[3] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
58675 /* parser/parser.nit:21624 */
58676 fra.me.REG[2] = fra.me.REG[3];
58677 /* parser/parser.nit:21625 */
58678 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58679 if (UNTAG_Bool(REGB0)) {
58680 } else {
58681 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21625);
58682 }
58683 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58684 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58685 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58686 stack_frame_head = fra.me.prev;
58687 return;
58688 }
58689 static const char LOCATE_parser___ReduceAction1250___action[] = "parser::ReduceAction1250::(parser::ReduceAction::action)";
58690 void parser___ReduceAction1250___action(val_t p0, val_t p1){
58691 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
58692 val_t REGB0;
58693 val_t REGB1;
58694 val_t tmp;
58695 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58696 fra.me.file = LOCATE_parser;
58697 fra.me.line = 21630;
58698 fra.me.meth = LOCATE_parser___ReduceAction1250___action;
58699 fra.me.has_broke = 0;
58700 fra.me.REG_size = 5;
58701 fra.me.nitni_local_ref_head = NULL;
58702 fra.me.REG[0] = NIT_NULL;
58703 fra.me.REG[1] = NIT_NULL;
58704 fra.me.REG[2] = NIT_NULL;
58705 fra.me.REG[3] = NIT_NULL;
58706 fra.me.REG[4] = NIT_NULL;
58707 fra.me.REG[0] = p0;
58708 fra.me.REG[1] = p1;
58709 /* parser/parser.nit:21632 */
58710 fra.me.REG[2] = NIT_NULL;
58711 /* parser/parser.nit:21633 */
58712 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58713 /* parser/parser.nit:21634 */
58714 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
58715 /* parser/parser.nit:21636 */
58716 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
58717 if (UNTAG_Bool(REGB0)) {
58718 } else {
58719 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
58720 if (UNTAG_Bool(REGB1)) {
58721 REGB1 = TAG_Bool(0);
58722 REGB0 = REGB1;
58723 } else {
58724 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
58725 REGB0 = REGB1;
58726 }
58727 }
58728 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
58729 if (UNTAG_Bool(REGB0)) {
58730 /* parser/parser.nit:21637 */
58731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
58732 }
58733 /* parser/parser.nit:21639 */
58734 fra.me.REG[2] = fra.me.REG[4];
58735 /* parser/parser.nit:21640 */
58736 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58737 if (UNTAG_Bool(REGB0)) {
58738 } else {
58739 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21640);
58740 }
58741 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58742 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58743 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58744 stack_frame_head = fra.me.prev;
58745 return;
58746 }
58747 static const char LOCATE_parser___ReduceAction1251___action[] = "parser::ReduceAction1251::(parser::ReduceAction::action)";
58748 void parser___ReduceAction1251___action(val_t p0, val_t p1){
58749 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
58750 val_t REGB0;
58751 val_t REGB1;
58752 val_t tmp;
58753 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58754 fra.me.file = LOCATE_parser;
58755 fra.me.line = 21645;
58756 fra.me.meth = LOCATE_parser___ReduceAction1251___action;
58757 fra.me.has_broke = 0;
58758 fra.me.REG_size = 6;
58759 fra.me.nitni_local_ref_head = NULL;
58760 fra.me.REG[0] = NIT_NULL;
58761 fra.me.REG[1] = NIT_NULL;
58762 fra.me.REG[2] = NIT_NULL;
58763 fra.me.REG[3] = NIT_NULL;
58764 fra.me.REG[4] = NIT_NULL;
58765 fra.me.REG[5] = NIT_NULL;
58766 fra.me.REG[0] = p0;
58767 fra.me.REG[1] = p1;
58768 /* parser/parser.nit:21647 */
58769 fra.me.REG[2] = NIT_NULL;
58770 /* parser/parser.nit:21648 */
58771 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58772 /* parser/parser.nit:21649 */
58773 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58774 /* parser/parser.nit:21650 */
58775 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
58776 /* parser/parser.nit:21652 */
58777 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]*/;
58778 if (UNTAG_Bool(REGB0)) {
58779 } else {
58780 nit_abort("Assert failed", NULL, LOCATE_parser, 21652);
58781 }
58782 /* parser/parser.nit:21654 */
58783 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
58784 fra.me.REG[5] = fra.me.REG[4];
58785 /* parser/parser.nit:21655 */
58786 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
58787 if (UNTAG_Bool(REGB0)) {
58788 } else {
58789 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
58790 if (UNTAG_Bool(REGB1)) {
58791 REGB1 = TAG_Bool(0);
58792 REGB0 = REGB1;
58793 } else {
58794 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
58795 REGB0 = REGB1;
58796 }
58797 }
58798 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
58799 if (UNTAG_Bool(REGB0)) {
58800 /* parser/parser.nit:21656 */
58801 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
58802 }
58803 /* parser/parser.nit:21658 */
58804 fra.me.REG[2] = fra.me.REG[5];
58805 /* parser/parser.nit:21659 */
58806 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58807 if (UNTAG_Bool(REGB0)) {
58808 } else {
58809 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21659);
58810 }
58811 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58812 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58813 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58814 stack_frame_head = fra.me.prev;
58815 return;
58816 }
58817 static const char LOCATE_parser___ReduceAction1252___action[] = "parser::ReduceAction1252::(parser::ReduceAction::action)";
58818 void parser___ReduceAction1252___action(val_t p0, val_t p1){
58819 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
58820 val_t REGB0;
58821 val_t REGB1;
58822 val_t tmp;
58823 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58824 fra.me.file = LOCATE_parser;
58825 fra.me.line = 21664;
58826 fra.me.meth = LOCATE_parser___ReduceAction1252___action;
58827 fra.me.has_broke = 0;
58828 fra.me.REG_size = 5;
58829 fra.me.nitni_local_ref_head = NULL;
58830 fra.me.REG[0] = NIT_NULL;
58831 fra.me.REG[1] = NIT_NULL;
58832 fra.me.REG[2] = NIT_NULL;
58833 fra.me.REG[3] = NIT_NULL;
58834 fra.me.REG[4] = NIT_NULL;
58835 fra.me.REG[0] = p0;
58836 fra.me.REG[1] = p1;
58837 /* parser/parser.nit:21666 */
58838 fra.me.REG[2] = NIT_NULL;
58839 /* parser/parser.nit:21667 */
58840 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58841 /* parser/parser.nit:21668 */
58842 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
58843 /* parser/parser.nit:21670 */
58844 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
58845 if (UNTAG_Bool(REGB0)) {
58846 } else {
58847 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
58848 if (UNTAG_Bool(REGB1)) {
58849 REGB1 = TAG_Bool(0);
58850 REGB0 = REGB1;
58851 } else {
58852 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
58853 REGB0 = REGB1;
58854 }
58855 }
58856 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
58857 if (UNTAG_Bool(REGB0)) {
58858 /* parser/parser.nit:21671 */
58859 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
58860 }
58861 /* parser/parser.nit:21673 */
58862 fra.me.REG[2] = fra.me.REG[4];
58863 /* parser/parser.nit:21674 */
58864 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58865 if (UNTAG_Bool(REGB0)) {
58866 } else {
58867 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21674);
58868 }
58869 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58870 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58871 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58872 stack_frame_head = fra.me.prev;
58873 return;
58874 }
58875 static const char LOCATE_parser___ReduceAction1253___action[] = "parser::ReduceAction1253::(parser::ReduceAction::action)";
58876 void parser___ReduceAction1253___action(val_t p0, val_t p1){
58877 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
58878 val_t REGB0;
58879 val_t REGB1;
58880 val_t tmp;
58881 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58882 fra.me.file = LOCATE_parser;
58883 fra.me.line = 21679;
58884 fra.me.meth = LOCATE_parser___ReduceAction1253___action;
58885 fra.me.has_broke = 0;
58886 fra.me.REG_size = 6;
58887 fra.me.nitni_local_ref_head = NULL;
58888 fra.me.REG[0] = NIT_NULL;
58889 fra.me.REG[1] = NIT_NULL;
58890 fra.me.REG[2] = NIT_NULL;
58891 fra.me.REG[3] = NIT_NULL;
58892 fra.me.REG[4] = NIT_NULL;
58893 fra.me.REG[5] = NIT_NULL;
58894 fra.me.REG[0] = p0;
58895 fra.me.REG[1] = p1;
58896 /* parser/parser.nit:21681 */
58897 fra.me.REG[2] = NIT_NULL;
58898 /* parser/parser.nit:21682 */
58899 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58900 /* parser/parser.nit:21683 */
58901 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58902 /* parser/parser.nit:21684 */
58903 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
58904 /* parser/parser.nit:21686 */
58905 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]*/;
58906 if (UNTAG_Bool(REGB0)) {
58907 } else {
58908 nit_abort("Assert failed", NULL, LOCATE_parser, 21686);
58909 }
58910 /* parser/parser.nit:21688 */
58911 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
58912 fra.me.REG[5] = fra.me.REG[4];
58913 /* parser/parser.nit:21689 */
58914 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
58915 if (UNTAG_Bool(REGB0)) {
58916 } else {
58917 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
58918 if (UNTAG_Bool(REGB1)) {
58919 REGB1 = TAG_Bool(0);
58920 REGB0 = REGB1;
58921 } else {
58922 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
58923 REGB0 = REGB1;
58924 }
58925 }
58926 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
58927 if (UNTAG_Bool(REGB0)) {
58928 /* parser/parser.nit:21690 */
58929 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
58930 }
58931 /* parser/parser.nit:21692 */
58932 fra.me.REG[2] = fra.me.REG[5];
58933 /* parser/parser.nit:21693 */
58934 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58935 if (UNTAG_Bool(REGB0)) {
58936 } else {
58937 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21693);
58938 }
58939 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58940 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58941 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
58942 stack_frame_head = fra.me.prev;
58943 return;
58944 }
58945 static const char LOCATE_parser___ReduceAction1254___action[] = "parser::ReduceAction1254::(parser::ReduceAction::action)";
58946 void parser___ReduceAction1254___action(val_t p0, val_t p1){
58947 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
58948 val_t REGB0;
58949 val_t REGB1;
58950 val_t tmp;
58951 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58952 fra.me.file = LOCATE_parser;
58953 fra.me.line = 21698;
58954 fra.me.meth = LOCATE_parser___ReduceAction1254___action;
58955 fra.me.has_broke = 0;
58956 fra.me.REG_size = 5;
58957 fra.me.nitni_local_ref_head = NULL;
58958 fra.me.REG[0] = NIT_NULL;
58959 fra.me.REG[1] = NIT_NULL;
58960 fra.me.REG[2] = NIT_NULL;
58961 fra.me.REG[3] = NIT_NULL;
58962 fra.me.REG[4] = NIT_NULL;
58963 fra.me.REG[0] = p0;
58964 fra.me.REG[1] = p1;
58965 /* parser/parser.nit:21700 */
58966 fra.me.REG[2] = NIT_NULL;
58967 /* parser/parser.nit:21701 */
58968 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58969 /* parser/parser.nit:21702 */
58970 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
58971 /* parser/parser.nit:21704 */
58972 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
58973 if (UNTAG_Bool(REGB0)) {
58974 } else {
58975 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
58976 if (UNTAG_Bool(REGB1)) {
58977 REGB1 = TAG_Bool(0);
58978 REGB0 = REGB1;
58979 } else {
58980 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
58981 REGB0 = REGB1;
58982 }
58983 }
58984 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
58985 if (UNTAG_Bool(REGB0)) {
58986 /* parser/parser.nit:21705 */
58987 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
58988 }
58989 /* parser/parser.nit:21707 */
58990 fra.me.REG[2] = fra.me.REG[4];
58991 /* parser/parser.nit:21708 */
58992 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
58993 if (UNTAG_Bool(REGB0)) {
58994 } else {
58995 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21708);
58996 }
58997 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
58998 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58999 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
59000 stack_frame_head = fra.me.prev;
59001 return;
59002 }
59003 static const char LOCATE_parser___ReduceAction1255___action[] = "parser::ReduceAction1255::(parser::ReduceAction::action)";
59004 void parser___ReduceAction1255___action(val_t p0, val_t p1){
59005 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
59006 val_t REGB0;
59007 val_t REGB1;
59008 val_t tmp;
59009 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59010 fra.me.file = LOCATE_parser;
59011 fra.me.line = 21713;
59012 fra.me.meth = LOCATE_parser___ReduceAction1255___action;
59013 fra.me.has_broke = 0;
59014 fra.me.REG_size = 6;
59015 fra.me.nitni_local_ref_head = NULL;
59016 fra.me.REG[0] = NIT_NULL;
59017 fra.me.REG[1] = NIT_NULL;
59018 fra.me.REG[2] = NIT_NULL;
59019 fra.me.REG[3] = NIT_NULL;
59020 fra.me.REG[4] = NIT_NULL;
59021 fra.me.REG[5] = NIT_NULL;
59022 fra.me.REG[0] = p0;
59023 fra.me.REG[1] = p1;
59024 /* parser/parser.nit:21715 */
59025 fra.me.REG[2] = NIT_NULL;
59026 /* parser/parser.nit:21716 */
59027 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59028 /* parser/parser.nit:21717 */
59029 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59030 /* parser/parser.nit:21718 */
59031 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
59032 /* parser/parser.nit:21720 */
59033 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]*/;
59034 if (UNTAG_Bool(REGB0)) {
59035 } else {
59036 nit_abort("Assert failed", NULL, LOCATE_parser, 21720);
59037 }
59038 /* parser/parser.nit:21722 */
59039 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
59040 fra.me.REG[5] = fra.me.REG[4];
59041 /* parser/parser.nit:21723 */
59042 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59043 if (UNTAG_Bool(REGB0)) {
59044 } else {
59045 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59046 if (UNTAG_Bool(REGB1)) {
59047 REGB1 = TAG_Bool(0);
59048 REGB0 = REGB1;
59049 } else {
59050 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
59051 REGB0 = REGB1;
59052 }
59053 }
59054 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
59055 if (UNTAG_Bool(REGB0)) {
59056 /* parser/parser.nit:21724 */
59057 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
59058 }
59059 /* parser/parser.nit:21726 */
59060 fra.me.REG[2] = fra.me.REG[5];
59061 /* parser/parser.nit:21727 */
59062 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
59063 if (UNTAG_Bool(REGB0)) {
59064 } else {
59065 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21727);
59066 }
59067 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
59068 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59069 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
59070 stack_frame_head = fra.me.prev;
59071 return;
59072 }
59073 static const char LOCATE_parser___ReduceAction1256___action[] = "parser::ReduceAction1256::(parser::ReduceAction::action)";
59074 void parser___ReduceAction1256___action(val_t p0, val_t p1){
59075 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
59076 val_t REGB0;
59077 val_t REGB1;
59078 val_t tmp;
59079 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59080 fra.me.file = LOCATE_parser;
59081 fra.me.line = 21732;
59082 fra.me.meth = LOCATE_parser___ReduceAction1256___action;
59083 fra.me.has_broke = 0;
59084 fra.me.REG_size = 5;
59085 fra.me.nitni_local_ref_head = NULL;
59086 fra.me.REG[0] = NIT_NULL;
59087 fra.me.REG[1] = NIT_NULL;
59088 fra.me.REG[2] = NIT_NULL;
59089 fra.me.REG[3] = NIT_NULL;
59090 fra.me.REG[4] = NIT_NULL;
59091 fra.me.REG[0] = p0;
59092 fra.me.REG[1] = p1;
59093 /* parser/parser.nit:21734 */
59094 fra.me.REG[2] = NIT_NULL;
59095 /* parser/parser.nit:21735 */
59096 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59097 /* parser/parser.nit:21736 */
59098 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
59099 /* parser/parser.nit:21738 */
59100 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59101 if (UNTAG_Bool(REGB0)) {
59102 } else {
59103 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59104 if (UNTAG_Bool(REGB1)) {
59105 REGB1 = TAG_Bool(0);
59106 REGB0 = REGB1;
59107 } else {
59108 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
59109 REGB0 = REGB1;
59110 }
59111 }
59112 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
59113 if (UNTAG_Bool(REGB0)) {
59114 /* parser/parser.nit:21739 */
59115 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
59116 }
59117 /* parser/parser.nit:21741 */
59118 fra.me.REG[2] = fra.me.REG[4];
59119 /* parser/parser.nit:21742 */
59120 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
59121 if (UNTAG_Bool(REGB0)) {
59122 } else {
59123 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21742);
59124 }
59125 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
59126 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59127 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
59128 stack_frame_head = fra.me.prev;
59129 return;
59130 }
59131 static const char LOCATE_parser___ReduceAction1257___action[] = "parser::ReduceAction1257::(parser::ReduceAction::action)";
59132 void parser___ReduceAction1257___action(val_t p0, val_t p1){
59133 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
59134 val_t REGB0;
59135 val_t REGB1;
59136 val_t tmp;
59137 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59138 fra.me.file = LOCATE_parser;
59139 fra.me.line = 21747;
59140 fra.me.meth = LOCATE_parser___ReduceAction1257___action;
59141 fra.me.has_broke = 0;
59142 fra.me.REG_size = 6;
59143 fra.me.nitni_local_ref_head = NULL;
59144 fra.me.REG[0] = NIT_NULL;
59145 fra.me.REG[1] = NIT_NULL;
59146 fra.me.REG[2] = NIT_NULL;
59147 fra.me.REG[3] = NIT_NULL;
59148 fra.me.REG[4] = NIT_NULL;
59149 fra.me.REG[5] = NIT_NULL;
59150 fra.me.REG[0] = p0;
59151 fra.me.REG[1] = p1;
59152 /* parser/parser.nit:21749 */
59153 fra.me.REG[2] = NIT_NULL;
59154 /* parser/parser.nit:21750 */
59155 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59156 /* parser/parser.nit:21751 */
59157 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59158 /* parser/parser.nit:21752 */
59159 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
59160 /* parser/parser.nit:21754 */
59161 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]*/;
59162 if (UNTAG_Bool(REGB0)) {
59163 } else {
59164 nit_abort("Assert failed", NULL, LOCATE_parser, 21754);
59165 }
59166 /* parser/parser.nit:21756 */
59167 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
59168 fra.me.REG[5] = fra.me.REG[4];
59169 /* parser/parser.nit:21757 */
59170 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59171 if (UNTAG_Bool(REGB0)) {
59172 } else {
59173 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59174 if (UNTAG_Bool(REGB1)) {
59175 REGB1 = TAG_Bool(0);
59176 REGB0 = REGB1;
59177 } else {
59178 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
59179 REGB0 = REGB1;
59180 }
59181 }
59182 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
59183 if (UNTAG_Bool(REGB0)) {
59184 /* parser/parser.nit:21758 */
59185 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
59186 }
59187 /* parser/parser.nit:21760 */
59188 fra.me.REG[2] = fra.me.REG[5];
59189 /* parser/parser.nit:21761 */
59190 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
59191 if (UNTAG_Bool(REGB0)) {
59192 } else {
59193 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21761);
59194 }
59195 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
59196 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59197 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
59198 stack_frame_head = fra.me.prev;
59199 return;
59200 }
59201 static const char LOCATE_parser___ReduceAction1258___action[] = "parser::ReduceAction1258::(parser::ReduceAction::action)";
59202 void parser___ReduceAction1258___action(val_t p0, val_t p1){
59203 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
59204 val_t REGB0;
59205 val_t REGB1;
59206 val_t tmp;
59207 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59208 fra.me.file = LOCATE_parser;
59209 fra.me.line = 21766;
59210 fra.me.meth = LOCATE_parser___ReduceAction1258___action;
59211 fra.me.has_broke = 0;
59212 fra.me.REG_size = 5;
59213 fra.me.nitni_local_ref_head = NULL;
59214 fra.me.REG[0] = NIT_NULL;
59215 fra.me.REG[1] = NIT_NULL;
59216 fra.me.REG[2] = NIT_NULL;
59217 fra.me.REG[3] = NIT_NULL;
59218 fra.me.REG[4] = NIT_NULL;
59219 fra.me.REG[0] = p0;
59220 fra.me.REG[1] = p1;
59221 /* parser/parser.nit:21768 */
59222 fra.me.REG[2] = NIT_NULL;
59223 /* parser/parser.nit:21769 */
59224 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59225 /* parser/parser.nit:21770 */
59226 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
59227 /* parser/parser.nit:21772 */
59228 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59229 if (UNTAG_Bool(REGB0)) {
59230 } else {
59231 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59232 if (UNTAG_Bool(REGB1)) {
59233 REGB1 = TAG_Bool(0);
59234 REGB0 = REGB1;
59235 } else {
59236 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
59237 REGB0 = REGB1;
59238 }
59239 }
59240 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
59241 if (UNTAG_Bool(REGB0)) {
59242 /* parser/parser.nit:21773 */
59243 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
59244 }
59245 /* parser/parser.nit:21775 */
59246 fra.me.REG[2] = fra.me.REG[4];
59247 /* parser/parser.nit:21776 */
59248 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
59249 if (UNTAG_Bool(REGB0)) {
59250 } else {
59251 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21776);
59252 }
59253 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
59254 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59255 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
59256 stack_frame_head = fra.me.prev;
59257 return;
59258 }
59259 static const char LOCATE_parser___ReduceAction1259___action[] = "parser::ReduceAction1259::(parser::ReduceAction::action)";
59260 void parser___ReduceAction1259___action(val_t p0, val_t p1){
59261 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
59262 val_t REGB0;
59263 val_t REGB1;
59264 val_t tmp;
59265 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59266 fra.me.file = LOCATE_parser;
59267 fra.me.line = 21781;
59268 fra.me.meth = LOCATE_parser___ReduceAction1259___action;
59269 fra.me.has_broke = 0;
59270 fra.me.REG_size = 6;
59271 fra.me.nitni_local_ref_head = NULL;
59272 fra.me.REG[0] = NIT_NULL;
59273 fra.me.REG[1] = NIT_NULL;
59274 fra.me.REG[2] = NIT_NULL;
59275 fra.me.REG[3] = NIT_NULL;
59276 fra.me.REG[4] = NIT_NULL;
59277 fra.me.REG[5] = NIT_NULL;
59278 fra.me.REG[0] = p0;
59279 fra.me.REG[1] = p1;
59280 /* parser/parser.nit:21783 */
59281 fra.me.REG[2] = NIT_NULL;
59282 /* parser/parser.nit:21784 */
59283 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59284 /* parser/parser.nit:21785 */
59285 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59286 /* parser/parser.nit:21786 */
59287 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
59288 /* parser/parser.nit:21788 */
59289 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]*/;
59290 if (UNTAG_Bool(REGB0)) {
59291 } else {
59292 nit_abort("Assert failed", NULL, LOCATE_parser, 21788);
59293 }
59294 /* parser/parser.nit:21790 */
59295 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
59296 fra.me.REG[5] = fra.me.REG[4];
59297 /* parser/parser.nit:21791 */
59298 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59299 if (UNTAG_Bool(REGB0)) {
59300 } else {
59301 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59302 if (UNTAG_Bool(REGB1)) {
59303 REGB1 = TAG_Bool(0);
59304 REGB0 = REGB1;
59305 } else {
59306 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
59307 REGB0 = REGB1;
59308 }
59309 }
59310 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
59311 if (UNTAG_Bool(REGB0)) {
59312 /* parser/parser.nit:21792 */
59313 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
59314 }
59315 /* parser/parser.nit:21794 */
59316 fra.me.REG[2] = fra.me.REG[5];
59317 /* parser/parser.nit:21795 */
59318 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
59319 if (UNTAG_Bool(REGB0)) {
59320 } else {
59321 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21795);
59322 }
59323 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
59324 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59325 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
59326 stack_frame_head = fra.me.prev;
59327 return;
59328 }
59329 static const char LOCATE_parser___ReduceAction1262___action[] = "parser::ReduceAction1262::(parser::ReduceAction::action)";
59330 void parser___ReduceAction1262___action(val_t p0, val_t p1){
59331 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
59332 val_t REGB0;
59333 val_t REGB1;
59334 val_t tmp;
59335 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59336 fra.me.file = LOCATE_parser;
59337 fra.me.line = 21800;
59338 fra.me.meth = LOCATE_parser___ReduceAction1262___action;
59339 fra.me.has_broke = 0;
59340 fra.me.REG_size = 5;
59341 fra.me.nitni_local_ref_head = NULL;
59342 fra.me.REG[0] = NIT_NULL;
59343 fra.me.REG[1] = NIT_NULL;
59344 fra.me.REG[2] = NIT_NULL;
59345 fra.me.REG[3] = NIT_NULL;
59346 fra.me.REG[4] = NIT_NULL;
59347 fra.me.REG[0] = p0;
59348 fra.me.REG[1] = p1;
59349 /* parser/parser.nit:21802 */
59350 fra.me.REG[2] = NIT_NULL;
59351 /* parser/parser.nit:21803 */
59352 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59353 /* parser/parser.nit:21804 */
59354 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
59355 /* parser/parser.nit:21806 */
59356 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59357 if (UNTAG_Bool(REGB0)) {
59358 } else {
59359 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59360 if (UNTAG_Bool(REGB1)) {
59361 REGB1 = TAG_Bool(0);
59362 REGB0 = REGB1;
59363 } else {
59364 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
59365 REGB0 = REGB1;
59366 }
59367 }
59368 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
59369 if (UNTAG_Bool(REGB0)) {
59370 /* parser/parser.nit:21807 */
59371 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
59372 }
59373 /* parser/parser.nit:21809 */
59374 fra.me.REG[2] = fra.me.REG[4];
59375 /* parser/parser.nit:21810 */
59376 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
59377 if (UNTAG_Bool(REGB0)) {
59378 } else {
59379 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21810);
59380 }
59381 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
59382 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59383 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
59384 stack_frame_head = fra.me.prev;
59385 return;
59386 }
59387 static const char LOCATE_parser___ReduceAction1263___action[] = "parser::ReduceAction1263::(parser::ReduceAction::action)";
59388 void parser___ReduceAction1263___action(val_t p0, val_t p1){
59389 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
59390 val_t REGB0;
59391 val_t REGB1;
59392 val_t tmp;
59393 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59394 fra.me.file = LOCATE_parser;
59395 fra.me.line = 21815;
59396 fra.me.meth = LOCATE_parser___ReduceAction1263___action;
59397 fra.me.has_broke = 0;
59398 fra.me.REG_size = 6;
59399 fra.me.nitni_local_ref_head = NULL;
59400 fra.me.REG[0] = NIT_NULL;
59401 fra.me.REG[1] = NIT_NULL;
59402 fra.me.REG[2] = NIT_NULL;
59403 fra.me.REG[3] = NIT_NULL;
59404 fra.me.REG[4] = NIT_NULL;
59405 fra.me.REG[5] = NIT_NULL;
59406 fra.me.REG[0] = p0;
59407 fra.me.REG[1] = p1;
59408 /* parser/parser.nit:21817 */
59409 fra.me.REG[2] = NIT_NULL;
59410 /* parser/parser.nit:21818 */
59411 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59412 /* parser/parser.nit:21819 */
59413 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59414 /* parser/parser.nit:21820 */
59415 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
59416 /* parser/parser.nit:21822 */
59417 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]*/;
59418 if (UNTAG_Bool(REGB0)) {
59419 } else {
59420 nit_abort("Assert failed", NULL, LOCATE_parser, 21822);
59421 }
59422 /* parser/parser.nit:21824 */
59423 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
59424 fra.me.REG[5] = fra.me.REG[4];
59425 /* parser/parser.nit:21825 */
59426 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59427 if (UNTAG_Bool(REGB0)) {
59428 } else {
59429 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59430 if (UNTAG_Bool(REGB1)) {
59431 REGB1 = TAG_Bool(0);
59432 REGB0 = REGB1;
59433 } else {
59434 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
59435 REGB0 = REGB1;
59436 }
59437 }
59438 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
59439 if (UNTAG_Bool(REGB0)) {
59440 /* parser/parser.nit:21826 */
59441 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
59442 }
59443 /* parser/parser.nit:21828 */
59444 fra.me.REG[2] = fra.me.REG[5];
59445 /* parser/parser.nit:21829 */
59446 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
59447 if (UNTAG_Bool(REGB0)) {
59448 } else {
59449 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21829);
59450 }
59451 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
59452 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59453 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
59454 stack_frame_head = fra.me.prev;
59455 return;
59456 }
59457 static const char LOCATE_parser___ReduceAction1264___action[] = "parser::ReduceAction1264::(parser::ReduceAction::action)";
59458 void parser___ReduceAction1264___action(val_t p0, val_t p1){
59459 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
59460 val_t REGB0;
59461 val_t REGB1;
59462 val_t tmp;
59463 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59464 fra.me.file = LOCATE_parser;
59465 fra.me.line = 21834;
59466 fra.me.meth = LOCATE_parser___ReduceAction1264___action;
59467 fra.me.has_broke = 0;
59468 fra.me.REG_size = 5;
59469 fra.me.nitni_local_ref_head = NULL;
59470 fra.me.REG[0] = NIT_NULL;
59471 fra.me.REG[1] = NIT_NULL;
59472 fra.me.REG[2] = NIT_NULL;
59473 fra.me.REG[3] = NIT_NULL;
59474 fra.me.REG[4] = NIT_NULL;
59475 fra.me.REG[0] = p0;
59476 fra.me.REG[1] = p1;
59477 /* parser/parser.nit:21836 */
59478 fra.me.REG[2] = NIT_NULL;
59479 /* parser/parser.nit:21837 */
59480 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59481 /* parser/parser.nit:21838 */
59482 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
59483 /* parser/parser.nit:21840 */
59484 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59485 if (UNTAG_Bool(REGB0)) {
59486 } else {
59487 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59488 if (UNTAG_Bool(REGB1)) {
59489 REGB1 = TAG_Bool(0);
59490 REGB0 = REGB1;
59491 } else {
59492 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
59493 REGB0 = REGB1;
59494 }
59495 }
59496 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
59497 if (UNTAG_Bool(REGB0)) {
59498 /* parser/parser.nit:21841 */
59499 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
59500 }
59501 /* parser/parser.nit:21843 */
59502 fra.me.REG[2] = fra.me.REG[4];
59503 /* parser/parser.nit:21844 */
59504 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
59505 if (UNTAG_Bool(REGB0)) {
59506 } else {
59507 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21844);
59508 }
59509 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
59510 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59511 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
59512 stack_frame_head = fra.me.prev;
59513 return;
59514 }
59515 static const char LOCATE_parser___ReduceAction1265___action[] = "parser::ReduceAction1265::(parser::ReduceAction::action)";
59516 void parser___ReduceAction1265___action(val_t p0, val_t p1){
59517 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
59518 val_t REGB0;
59519 val_t REGB1;
59520 val_t tmp;
59521 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59522 fra.me.file = LOCATE_parser;
59523 fra.me.line = 21849;
59524 fra.me.meth = LOCATE_parser___ReduceAction1265___action;
59525 fra.me.has_broke = 0;
59526 fra.me.REG_size = 6;
59527 fra.me.nitni_local_ref_head = NULL;
59528 fra.me.REG[0] = NIT_NULL;
59529 fra.me.REG[1] = NIT_NULL;
59530 fra.me.REG[2] = NIT_NULL;
59531 fra.me.REG[3] = NIT_NULL;
59532 fra.me.REG[4] = NIT_NULL;
59533 fra.me.REG[5] = NIT_NULL;
59534 fra.me.REG[0] = p0;
59535 fra.me.REG[1] = p1;
59536 /* parser/parser.nit:21851 */
59537 fra.me.REG[2] = NIT_NULL;
59538 /* parser/parser.nit:21852 */
59539 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59540 /* parser/parser.nit:21853 */
59541 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59542 /* parser/parser.nit:21854 */
59543 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
59544 /* parser/parser.nit:21856 */
59545 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]*/;
59546 if (UNTAG_Bool(REGB0)) {
59547 } else {
59548 nit_abort("Assert failed", NULL, LOCATE_parser, 21856);
59549 }
59550 /* parser/parser.nit:21858 */
59551 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
59552 fra.me.REG[5] = fra.me.REG[4];
59553 /* parser/parser.nit:21859 */
59554 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59555 if (UNTAG_Bool(REGB0)) {
59556 } else {
59557 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59558 if (UNTAG_Bool(REGB1)) {
59559 REGB1 = TAG_Bool(0);
59560 REGB0 = REGB1;
59561 } else {
59562 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
59563 REGB0 = REGB1;
59564 }
59565 }
59566 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
59567 if (UNTAG_Bool(REGB0)) {
59568 /* parser/parser.nit:21860 */
59569 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
59570 }
59571 /* parser/parser.nit:21862 */
59572 fra.me.REG[2] = fra.me.REG[5];
59573 /* parser/parser.nit:21863 */
59574 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
59575 if (UNTAG_Bool(REGB0)) {
59576 } else {
59577 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21863);
59578 }
59579 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
59580 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59581 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
59582 stack_frame_head = fra.me.prev;
59583 return;
59584 }
59585 static const char LOCATE_parser___ReduceAction1266___action[] = "parser::ReduceAction1266::(parser::ReduceAction::action)";
59586 void parser___ReduceAction1266___action(val_t p0, val_t p1){
59587 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
59588 val_t REGB0;
59589 val_t REGB1;
59590 val_t tmp;
59591 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59592 fra.me.file = LOCATE_parser;
59593 fra.me.line = 21868;
59594 fra.me.meth = LOCATE_parser___ReduceAction1266___action;
59595 fra.me.has_broke = 0;
59596 fra.me.REG_size = 5;
59597 fra.me.nitni_local_ref_head = NULL;
59598 fra.me.REG[0] = NIT_NULL;
59599 fra.me.REG[1] = NIT_NULL;
59600 fra.me.REG[2] = NIT_NULL;
59601 fra.me.REG[3] = NIT_NULL;
59602 fra.me.REG[4] = NIT_NULL;
59603 fra.me.REG[0] = p0;
59604 fra.me.REG[1] = p1;
59605 /* parser/parser.nit:21870 */
59606 fra.me.REG[2] = NIT_NULL;
59607 /* parser/parser.nit:21871 */
59608 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59609 /* parser/parser.nit:21872 */
59610 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
59611 /* parser/parser.nit:21874 */
59612 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59613 if (UNTAG_Bool(REGB0)) {
59614 } else {
59615 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59616 if (UNTAG_Bool(REGB1)) {
59617 REGB1 = TAG_Bool(0);
59618 REGB0 = REGB1;
59619 } else {
59620 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
59621 REGB0 = REGB1;
59622 }
59623 }
59624 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
59625 if (UNTAG_Bool(REGB0)) {
59626 /* parser/parser.nit:21875 */
59627 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
59628 }
59629 /* parser/parser.nit:21877 */
59630 fra.me.REG[2] = fra.me.REG[4];
59631 /* parser/parser.nit:21878 */
59632 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
59633 if (UNTAG_Bool(REGB0)) {
59634 } else {
59635 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21878);
59636 }
59637 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
59638 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59639 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
59640 stack_frame_head = fra.me.prev;
59641 return;
59642 }
59643 static const char LOCATE_parser___ReduceAction1267___action[] = "parser::ReduceAction1267::(parser::ReduceAction::action)";
59644 void parser___ReduceAction1267___action(val_t p0, val_t p1){
59645 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
59646 val_t REGB0;
59647 val_t REGB1;
59648 val_t tmp;
59649 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59650 fra.me.file = LOCATE_parser;
59651 fra.me.line = 21883;
59652 fra.me.meth = LOCATE_parser___ReduceAction1267___action;
59653 fra.me.has_broke = 0;
59654 fra.me.REG_size = 6;
59655 fra.me.nitni_local_ref_head = NULL;
59656 fra.me.REG[0] = NIT_NULL;
59657 fra.me.REG[1] = NIT_NULL;
59658 fra.me.REG[2] = NIT_NULL;
59659 fra.me.REG[3] = NIT_NULL;
59660 fra.me.REG[4] = NIT_NULL;
59661 fra.me.REG[5] = NIT_NULL;
59662 fra.me.REG[0] = p0;
59663 fra.me.REG[1] = p1;
59664 /* parser/parser.nit:21885 */
59665 fra.me.REG[2] = NIT_NULL;
59666 /* parser/parser.nit:21886 */
59667 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59668 /* parser/parser.nit:21887 */
59669 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59670 /* parser/parser.nit:21888 */
59671 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
59672 /* parser/parser.nit:21890 */
59673 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]*/;
59674 if (UNTAG_Bool(REGB0)) {
59675 } else {
59676 nit_abort("Assert failed", NULL, LOCATE_parser, 21890);
59677 }
59678 /* parser/parser.nit:21892 */
59679 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
59680 fra.me.REG[5] = fra.me.REG[4];
59681 /* parser/parser.nit:21893 */
59682 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59683 if (UNTAG_Bool(REGB0)) {
59684 } else {
59685 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59686 if (UNTAG_Bool(REGB1)) {
59687 REGB1 = TAG_Bool(0);
59688 REGB0 = REGB1;
59689 } else {
59690 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
59691 REGB0 = REGB1;
59692 }
59693 }
59694 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
59695 if (UNTAG_Bool(REGB0)) {
59696 /* parser/parser.nit:21894 */
59697 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
59698 }
59699 /* parser/parser.nit:21896 */
59700 fra.me.REG[2] = fra.me.REG[5];
59701 /* parser/parser.nit:21897 */
59702 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
59703 if (UNTAG_Bool(REGB0)) {
59704 } else {
59705 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21897);
59706 }
59707 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
59708 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59709 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
59710 stack_frame_head = fra.me.prev;
59711 return;
59712 }
59713 static const char LOCATE_parser___ReduceAction1268___action[] = "parser::ReduceAction1268::(parser::ReduceAction::action)";
59714 void parser___ReduceAction1268___action(val_t p0, val_t p1){
59715 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
59716 val_t REGB0;
59717 val_t REGB1;
59718 val_t tmp;
59719 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59720 fra.me.file = LOCATE_parser;
59721 fra.me.line = 21902;
59722 fra.me.meth = LOCATE_parser___ReduceAction1268___action;
59723 fra.me.has_broke = 0;
59724 fra.me.REG_size = 5;
59725 fra.me.nitni_local_ref_head = NULL;
59726 fra.me.REG[0] = NIT_NULL;
59727 fra.me.REG[1] = NIT_NULL;
59728 fra.me.REG[2] = NIT_NULL;
59729 fra.me.REG[3] = NIT_NULL;
59730 fra.me.REG[4] = NIT_NULL;
59731 fra.me.REG[0] = p0;
59732 fra.me.REG[1] = p1;
59733 /* parser/parser.nit:21904 */
59734 fra.me.REG[2] = NIT_NULL;
59735 /* parser/parser.nit:21905 */
59736 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59737 /* parser/parser.nit:21906 */
59738 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
59739 /* parser/parser.nit:21908 */
59740 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59741 if (UNTAG_Bool(REGB0)) {
59742 } else {
59743 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59744 if (UNTAG_Bool(REGB1)) {
59745 REGB1 = TAG_Bool(0);
59746 REGB0 = REGB1;
59747 } else {
59748 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
59749 REGB0 = REGB1;
59750 }
59751 }
59752 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
59753 if (UNTAG_Bool(REGB0)) {
59754 /* parser/parser.nit:21909 */
59755 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
59756 }
59757 /* parser/parser.nit:21911 */
59758 fra.me.REG[2] = fra.me.REG[4];
59759 /* parser/parser.nit:21912 */
59760 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
59761 if (UNTAG_Bool(REGB0)) {
59762 } else {
59763 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21912);
59764 }
59765 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
59766 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59767 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
59768 stack_frame_head = fra.me.prev;
59769 return;
59770 }
59771 static const char LOCATE_parser___ReduceAction1269___action[] = "parser::ReduceAction1269::(parser::ReduceAction::action)";
59772 void parser___ReduceAction1269___action(val_t p0, val_t p1){
59773 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
59774 val_t REGB0;
59775 val_t REGB1;
59776 val_t tmp;
59777 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59778 fra.me.file = LOCATE_parser;
59779 fra.me.line = 21917;
59780 fra.me.meth = LOCATE_parser___ReduceAction1269___action;
59781 fra.me.has_broke = 0;
59782 fra.me.REG_size = 6;
59783 fra.me.nitni_local_ref_head = NULL;
59784 fra.me.REG[0] = NIT_NULL;
59785 fra.me.REG[1] = NIT_NULL;
59786 fra.me.REG[2] = NIT_NULL;
59787 fra.me.REG[3] = NIT_NULL;
59788 fra.me.REG[4] = NIT_NULL;
59789 fra.me.REG[5] = NIT_NULL;
59790 fra.me.REG[0] = p0;
59791 fra.me.REG[1] = p1;
59792 /* parser/parser.nit:21919 */
59793 fra.me.REG[2] = NIT_NULL;
59794 /* parser/parser.nit:21920 */
59795 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59796 /* parser/parser.nit:21921 */
59797 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59798 /* parser/parser.nit:21922 */
59799 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
59800 /* parser/parser.nit:21924 */
59801 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]*/;
59802 if (UNTAG_Bool(REGB0)) {
59803 } else {
59804 nit_abort("Assert failed", NULL, LOCATE_parser, 21924);
59805 }
59806 /* parser/parser.nit:21926 */
59807 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
59808 fra.me.REG[5] = fra.me.REG[4];
59809 /* parser/parser.nit:21927 */
59810 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59811 if (UNTAG_Bool(REGB0)) {
59812 } else {
59813 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59814 if (UNTAG_Bool(REGB1)) {
59815 REGB1 = TAG_Bool(0);
59816 REGB0 = REGB1;
59817 } else {
59818 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
59819 REGB0 = REGB1;
59820 }
59821 }
59822 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
59823 if (UNTAG_Bool(REGB0)) {
59824 /* parser/parser.nit:21928 */
59825 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
59826 }
59827 /* parser/parser.nit:21930 */
59828 fra.me.REG[2] = fra.me.REG[5];
59829 /* parser/parser.nit:21931 */
59830 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
59831 if (UNTAG_Bool(REGB0)) {
59832 } else {
59833 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21931);
59834 }
59835 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
59836 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59837 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
59838 stack_frame_head = fra.me.prev;
59839 return;
59840 }
59841 static const char LOCATE_parser___ReduceAction1271___action[] = "parser::ReduceAction1271::(parser::ReduceAction::action)";
59842 void parser___ReduceAction1271___action(val_t p0, val_t p1){
59843 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
59844 val_t REGB0;
59845 val_t REGB1;
59846 val_t tmp;
59847 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59848 fra.me.file = LOCATE_parser;
59849 fra.me.line = 21936;
59850 fra.me.meth = LOCATE_parser___ReduceAction1271___action;
59851 fra.me.has_broke = 0;
59852 fra.me.REG_size = 6;
59853 fra.me.nitni_local_ref_head = NULL;
59854 fra.me.REG[0] = NIT_NULL;
59855 fra.me.REG[1] = NIT_NULL;
59856 fra.me.REG[2] = NIT_NULL;
59857 fra.me.REG[3] = NIT_NULL;
59858 fra.me.REG[4] = NIT_NULL;
59859 fra.me.REG[5] = NIT_NULL;
59860 fra.me.REG[0] = p0;
59861 fra.me.REG[1] = p1;
59862 /* parser/parser.nit:21938 */
59863 fra.me.REG[2] = NIT_NULL;
59864 /* parser/parser.nit:21939 */
59865 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59866 /* parser/parser.nit:21940 */
59867 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59868 /* parser/parser.nit:21941 */
59869 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
59870 /* parser/parser.nit:21943 */
59871 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]*/;
59872 if (UNTAG_Bool(REGB0)) {
59873 } else {
59874 nit_abort("Assert failed", NULL, LOCATE_parser, 21943);
59875 }
59876 /* parser/parser.nit:21945 */
59877 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
59878 fra.me.REG[5] = fra.me.REG[4];
59879 /* parser/parser.nit:21946 */
59880 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59881 if (UNTAG_Bool(REGB0)) {
59882 } else {
59883 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59884 if (UNTAG_Bool(REGB1)) {
59885 REGB1 = TAG_Bool(0);
59886 REGB0 = REGB1;
59887 } else {
59888 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
59889 REGB0 = REGB1;
59890 }
59891 }
59892 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
59893 if (UNTAG_Bool(REGB0)) {
59894 /* parser/parser.nit:21947 */
59895 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
59896 }
59897 /* parser/parser.nit:21949 */
59898 fra.me.REG[2] = fra.me.REG[5];
59899 /* parser/parser.nit:21950 */
59900 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
59901 if (UNTAG_Bool(REGB0)) {
59902 } else {
59903 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21950);
59904 }
59905 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
59906 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59907 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
59908 stack_frame_head = fra.me.prev;
59909 return;
59910 }
59911 static const char LOCATE_parser___ReduceAction1272___action[] = "parser::ReduceAction1272::(parser::ReduceAction::action)";
59912 void parser___ReduceAction1272___action(val_t p0, val_t p1){
59913 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
59914 val_t REGB0;
59915 val_t REGB1;
59916 val_t tmp;
59917 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59918 fra.me.file = LOCATE_parser;
59919 fra.me.line = 21955;
59920 fra.me.meth = LOCATE_parser___ReduceAction1272___action;
59921 fra.me.has_broke = 0;
59922 fra.me.REG_size = 5;
59923 fra.me.nitni_local_ref_head = NULL;
59924 fra.me.REG[0] = NIT_NULL;
59925 fra.me.REG[1] = NIT_NULL;
59926 fra.me.REG[2] = NIT_NULL;
59927 fra.me.REG[3] = NIT_NULL;
59928 fra.me.REG[4] = NIT_NULL;
59929 fra.me.REG[0] = p0;
59930 fra.me.REG[1] = p1;
59931 /* parser/parser.nit:21957 */
59932 fra.me.REG[2] = NIT_NULL;
59933 /* parser/parser.nit:21958 */
59934 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59935 /* parser/parser.nit:21959 */
59936 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
59937 /* parser/parser.nit:21961 */
59938 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59939 if (UNTAG_Bool(REGB0)) {
59940 } else {
59941 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59942 if (UNTAG_Bool(REGB1)) {
59943 REGB1 = TAG_Bool(0);
59944 REGB0 = REGB1;
59945 } else {
59946 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
59947 REGB0 = REGB1;
59948 }
59949 }
59950 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
59951 if (UNTAG_Bool(REGB0)) {
59952 /* parser/parser.nit:21962 */
59953 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
59954 }
59955 /* parser/parser.nit:21964 */
59956 fra.me.REG[2] = fra.me.REG[4];
59957 /* parser/parser.nit:21965 */
59958 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
59959 if (UNTAG_Bool(REGB0)) {
59960 } else {
59961 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21965);
59962 }
59963 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
59964 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59965 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
59966 stack_frame_head = fra.me.prev;
59967 return;
59968 }
59969 static const char LOCATE_parser___ReduceAction1273___action[] = "parser::ReduceAction1273::(parser::ReduceAction::action)";
59970 void parser___ReduceAction1273___action(val_t p0, val_t p1){
59971 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
59972 val_t REGB0;
59973 val_t REGB1;
59974 val_t tmp;
59975 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59976 fra.me.file = LOCATE_parser;
59977 fra.me.line = 21970;
59978 fra.me.meth = LOCATE_parser___ReduceAction1273___action;
59979 fra.me.has_broke = 0;
59980 fra.me.REG_size = 6;
59981 fra.me.nitni_local_ref_head = NULL;
59982 fra.me.REG[0] = NIT_NULL;
59983 fra.me.REG[1] = NIT_NULL;
59984 fra.me.REG[2] = NIT_NULL;
59985 fra.me.REG[3] = NIT_NULL;
59986 fra.me.REG[4] = NIT_NULL;
59987 fra.me.REG[5] = NIT_NULL;
59988 fra.me.REG[0] = p0;
59989 fra.me.REG[1] = p1;
59990 /* parser/parser.nit:21972 */
59991 fra.me.REG[2] = NIT_NULL;
59992 /* parser/parser.nit:21973 */
59993 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59994 /* parser/parser.nit:21974 */
59995 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59996 /* parser/parser.nit:21975 */
59997 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
59998 /* parser/parser.nit:21977 */
59999 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]*/;
60000 if (UNTAG_Bool(REGB0)) {
60001 } else {
60002 nit_abort("Assert failed", NULL, LOCATE_parser, 21977);
60003 }
60004 /* parser/parser.nit:21979 */
60005 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
60006 fra.me.REG[5] = fra.me.REG[4];
60007 /* parser/parser.nit:21980 */
60008 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
60009 if (UNTAG_Bool(REGB0)) {
60010 } else {
60011 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
60012 if (UNTAG_Bool(REGB1)) {
60013 REGB1 = TAG_Bool(0);
60014 REGB0 = REGB1;
60015 } else {
60016 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
60017 REGB0 = REGB1;
60018 }
60019 }
60020 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
60021 if (UNTAG_Bool(REGB0)) {
60022 /* parser/parser.nit:21981 */
60023 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
60024 }
60025 /* parser/parser.nit:21983 */
60026 fra.me.REG[2] = fra.me.REG[5];
60027 /* parser/parser.nit:21984 */
60028 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
60029 if (UNTAG_Bool(REGB0)) {
60030 } else {
60031 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 21984);
60032 }
60033 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
60034 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60035 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
60036 stack_frame_head = fra.me.prev;
60037 return;
60038 }
60039 static const char LOCATE_parser___ReduceAction1275___action[] = "parser::ReduceAction1275::(parser::ReduceAction::action)";
60040 void parser___ReduceAction1275___action(val_t p0, val_t p1){
60041 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
60042 val_t REGB0;
60043 val_t tmp;
60044 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60045 fra.me.file = LOCATE_parser;
60046 fra.me.line = 21989;
60047 fra.me.meth = LOCATE_parser___ReduceAction1275___action;
60048 fra.me.has_broke = 0;
60049 fra.me.REG_size = 6;
60050 fra.me.nitni_local_ref_head = NULL;
60051 fra.me.REG[0] = NIT_NULL;
60052 fra.me.REG[1] = NIT_NULL;
60053 fra.me.REG[2] = NIT_NULL;
60054 fra.me.REG[3] = NIT_NULL;
60055 fra.me.REG[4] = NIT_NULL;
60056 fra.me.REG[5] = NIT_NULL;
60057 fra.me.REG[0] = p0;
60058 fra.me.REG[1] = p1;
60059 /* parser/parser.nit:21991 */
60060 fra.me.REG[2] = NIT_NULL;
60061 /* parser/parser.nit:21992 */
60062 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60063 /* parser/parser.nit:21993 */
60064 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60065 /* parser/parser.nit:21994 */
60066 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
60067 /* parser/parser.nit:21996 */
60068 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]*/;
60069 if (UNTAG_Bool(REGB0)) {
60070 } else {
60071 nit_abort("Assert failed", NULL, LOCATE_parser, 21996);
60072 }
60073 /* parser/parser.nit:21998 */
60074 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]*/;
60075 if (UNTAG_Bool(REGB0)) {
60076 } else {
60077 nit_abort("Assert failed", NULL, LOCATE_parser, 21998);
60078 }
60079 /* parser/parser.nit:21999 */
60080 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
60081 fra.me.REG[5] = fra.me.REG[4];
60082 /* parser/parser.nit:22000 */
60083 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
60084 fra.me.REG[5] = fra.me.REG[3];
60085 /* parser/parser.nit:22001 */
60086 fra.me.REG[2] = fra.me.REG[5];
60087 /* parser/parser.nit:22002 */
60088 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
60089 if (UNTAG_Bool(REGB0)) {
60090 } else {
60091 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 22002);
60092 }
60093 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
60094 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60095 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
60096 stack_frame_head = fra.me.prev;
60097 return;
60098 }
60099 static const char LOCATE_parser___ReduceAction1277___action[] = "parser::ReduceAction1277::(parser::ReduceAction::action)";
60100 void parser___ReduceAction1277___action(val_t p0, val_t p1){
60101 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
60102 val_t REGB0;
60103 val_t REGB1;
60104 val_t tmp;
60105 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60106 fra.me.file = LOCATE_parser;
60107 fra.me.line = 22007;
60108 fra.me.meth = LOCATE_parser___ReduceAction1277___action;
60109 fra.me.has_broke = 0;
60110 fra.me.REG_size = 6;
60111 fra.me.nitni_local_ref_head = NULL;
60112 fra.me.REG[0] = NIT_NULL;
60113 fra.me.REG[1] = NIT_NULL;
60114 fra.me.REG[2] = NIT_NULL;
60115 fra.me.REG[3] = NIT_NULL;
60116 fra.me.REG[4] = NIT_NULL;
60117 fra.me.REG[5] = NIT_NULL;
60118 fra.me.REG[0] = p0;
60119 fra.me.REG[1] = p1;
60120 /* parser/parser.nit:22009 */
60121 fra.me.REG[2] = NIT_NULL;
60122 /* parser/parser.nit:22010 */
60123 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60124 /* parser/parser.nit:22011 */
60125 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60126 /* parser/parser.nit:22012 */
60127 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
60128 /* parser/parser.nit:22014 */
60129 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]*/;
60130 if (UNTAG_Bool(REGB0)) {
60131 } else {
60132 nit_abort("Assert failed", NULL, LOCATE_parser, 22014);
60133 }
60134 /* parser/parser.nit:22016 */
60135 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
60136 fra.me.REG[5] = fra.me.REG[4];
60137 /* parser/parser.nit:22017 */
60138 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
60139 if (UNTAG_Bool(REGB0)) {
60140 } else {
60141 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
60142 if (UNTAG_Bool(REGB1)) {
60143 REGB1 = TAG_Bool(0);
60144 REGB0 = REGB1;
60145 } else {
60146 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
60147 REGB0 = REGB1;
60148 }
60149 }
60150 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
60151 if (UNTAG_Bool(REGB0)) {
60152 /* parser/parser.nit:22018 */
60153 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
60154 }
60155 /* parser/parser.nit:22020 */
60156 fra.me.REG[2] = fra.me.REG[5];
60157 /* parser/parser.nit:22021 */
60158 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
60159 if (UNTAG_Bool(REGB0)) {
60160 } else {
60161 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 22021);
60162 }
60163 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
60164 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60165 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
60166 stack_frame_head = fra.me.prev;
60167 return;
60168 }
60169 static const char LOCATE_parser___ReduceAction1281___action[] = "parser::ReduceAction1281::(parser::ReduceAction::action)";
60170 void parser___ReduceAction1281___action(val_t p0, val_t p1){
60171 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
60172 val_t REGB0;
60173 val_t REGB1;
60174 val_t tmp;
60175 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60176 fra.me.file = LOCATE_parser;
60177 fra.me.line = 22026;
60178 fra.me.meth = LOCATE_parser___ReduceAction1281___action;
60179 fra.me.has_broke = 0;
60180 fra.me.REG_size = 6;
60181 fra.me.nitni_local_ref_head = NULL;
60182 fra.me.REG[0] = NIT_NULL;
60183 fra.me.REG[1] = NIT_NULL;
60184 fra.me.REG[2] = NIT_NULL;
60185 fra.me.REG[3] = NIT_NULL;
60186 fra.me.REG[4] = NIT_NULL;
60187 fra.me.REG[5] = NIT_NULL;
60188 fra.me.REG[0] = p0;
60189 fra.me.REG[1] = p1;
60190 /* parser/parser.nit:22028 */
60191 fra.me.REG[2] = NIT_NULL;
60192 /* parser/parser.nit:22029 */
60193 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60194 /* parser/parser.nit:22030 */
60195 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60196 /* parser/parser.nit:22031 */
60197 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
60198 /* parser/parser.nit:22033 */
60199 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]*/;
60200 if (UNTAG_Bool(REGB0)) {
60201 } else {
60202 nit_abort("Assert failed", NULL, LOCATE_parser, 22033);
60203 }
60204 /* parser/parser.nit:22035 */
60205 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
60206 fra.me.REG[5] = fra.me.REG[4];
60207 /* parser/parser.nit:22036 */
60208 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
60209 if (UNTAG_Bool(REGB0)) {
60210 } else {
60211 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
60212 if (UNTAG_Bool(REGB1)) {
60213 REGB1 = TAG_Bool(0);
60214 REGB0 = REGB1;
60215 } else {
60216 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
60217 REGB0 = REGB1;
60218 }
60219 }
60220 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
60221 if (UNTAG_Bool(REGB0)) {
60222 /* parser/parser.nit:22037 */
60223 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
60224 }
60225 /* parser/parser.nit:22039 */
60226 fra.me.REG[2] = fra.me.REG[5];
60227 /* parser/parser.nit:22040 */
60228 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
60229 if (UNTAG_Bool(REGB0)) {
60230 } else {
60231 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 22040);
60232 }
60233 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
60234 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60235 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
60236 stack_frame_head = fra.me.prev;
60237 return;
60238 }
60239 static const char LOCATE_parser___ReduceAction1285___action[] = "parser::ReduceAction1285::(parser::ReduceAction::action)";
60240 void parser___ReduceAction1285___action(val_t p0, val_t p1){
60241 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
60242 val_t REGB0;
60243 val_t REGB1;
60244 val_t tmp;
60245 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60246 fra.me.file = LOCATE_parser;
60247 fra.me.line = 22045;
60248 fra.me.meth = LOCATE_parser___ReduceAction1285___action;
60249 fra.me.has_broke = 0;
60250 fra.me.REG_size = 6;
60251 fra.me.nitni_local_ref_head = NULL;
60252 fra.me.REG[0] = NIT_NULL;
60253 fra.me.REG[1] = NIT_NULL;
60254 fra.me.REG[2] = NIT_NULL;
60255 fra.me.REG[3] = NIT_NULL;
60256 fra.me.REG[4] = NIT_NULL;
60257 fra.me.REG[5] = NIT_NULL;
60258 fra.me.REG[0] = p0;
60259 fra.me.REG[1] = p1;
60260 /* parser/parser.nit:22047 */
60261 fra.me.REG[2] = NIT_NULL;
60262 /* parser/parser.nit:22048 */
60263 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60264 /* parser/parser.nit:22049 */
60265 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60266 /* parser/parser.nit:22050 */
60267 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
60268 /* parser/parser.nit:22052 */
60269 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]*/;
60270 if (UNTAG_Bool(REGB0)) {
60271 } else {
60272 nit_abort("Assert failed", NULL, LOCATE_parser, 22052);
60273 }
60274 /* parser/parser.nit:22054 */
60275 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
60276 fra.me.REG[5] = fra.me.REG[4];
60277 /* parser/parser.nit:22055 */
60278 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
60279 if (UNTAG_Bool(REGB0)) {
60280 } else {
60281 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
60282 if (UNTAG_Bool(REGB1)) {
60283 REGB1 = TAG_Bool(0);
60284 REGB0 = REGB1;
60285 } else {
60286 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
60287 REGB0 = REGB1;
60288 }
60289 }
60290 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
60291 if (UNTAG_Bool(REGB0)) {
60292 /* parser/parser.nit:22056 */
60293 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
60294 }
60295 /* parser/parser.nit:22058 */
60296 fra.me.REG[2] = fra.me.REG[5];
60297 /* parser/parser.nit:22059 */
60298 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
60299 if (UNTAG_Bool(REGB0)) {
60300 } else {
60301 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 22059);
60302 }
60303 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
60304 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60305 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
60306 stack_frame_head = fra.me.prev;
60307 return;
60308 }
60309 static const char LOCATE_parser___ReduceAction1286___action[] = "parser::ReduceAction1286::(parser::ReduceAction::action)";
60310 void parser___ReduceAction1286___action(val_t p0, val_t p1){
60311 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
60312 val_t REGB0;
60313 val_t REGB1;
60314 val_t tmp;
60315 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60316 fra.me.file = LOCATE_parser;
60317 fra.me.line = 22064;
60318 fra.me.meth = LOCATE_parser___ReduceAction1286___action;
60319 fra.me.has_broke = 0;
60320 fra.me.REG_size = 5;
60321 fra.me.nitni_local_ref_head = NULL;
60322 fra.me.REG[0] = NIT_NULL;
60323 fra.me.REG[1] = NIT_NULL;
60324 fra.me.REG[2] = NIT_NULL;
60325 fra.me.REG[3] = NIT_NULL;
60326 fra.me.REG[4] = NIT_NULL;
60327 fra.me.REG[0] = p0;
60328 fra.me.REG[1] = p1;
60329 /* parser/parser.nit:22066 */
60330 fra.me.REG[2] = NIT_NULL;
60331 /* parser/parser.nit:22067 */
60332 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60333 /* parser/parser.nit:22068 */
60334 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
60335 /* parser/parser.nit:22070 */
60336 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
60337 if (UNTAG_Bool(REGB0)) {
60338 } else {
60339 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
60340 if (UNTAG_Bool(REGB1)) {
60341 REGB1 = TAG_Bool(0);
60342 REGB0 = REGB1;
60343 } else {
60344 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
60345 REGB0 = REGB1;
60346 }
60347 }
60348 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
60349 if (UNTAG_Bool(REGB0)) {
60350 /* parser/parser.nit:22071 */
60351 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
60352 }
60353 /* parser/parser.nit:22073 */
60354 fra.me.REG[2] = fra.me.REG[4];
60355 /* parser/parser.nit:22074 */
60356 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
60357 if (UNTAG_Bool(REGB0)) {
60358 } else {
60359 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 22074);
60360 }
60361 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
60362 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60363 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
60364 stack_frame_head = fra.me.prev;
60365 return;
60366 }
60367 static const char LOCATE_parser___ReduceAction1287___action[] = "parser::ReduceAction1287::(parser::ReduceAction::action)";
60368 void parser___ReduceAction1287___action(val_t p0, val_t p1){
60369 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
60370 val_t REGB0;
60371 val_t REGB1;
60372 val_t tmp;
60373 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60374 fra.me.file = LOCATE_parser;
60375 fra.me.line = 22079;
60376 fra.me.meth = LOCATE_parser___ReduceAction1287___action;
60377 fra.me.has_broke = 0;
60378 fra.me.REG_size = 6;
60379 fra.me.nitni_local_ref_head = NULL;
60380 fra.me.REG[0] = NIT_NULL;
60381 fra.me.REG[1] = NIT_NULL;
60382 fra.me.REG[2] = NIT_NULL;
60383 fra.me.REG[3] = NIT_NULL;
60384 fra.me.REG[4] = NIT_NULL;
60385 fra.me.REG[5] = NIT_NULL;
60386 fra.me.REG[0] = p0;
60387 fra.me.REG[1] = p1;
60388 /* parser/parser.nit:22081 */
60389 fra.me.REG[2] = NIT_NULL;
60390 /* parser/parser.nit:22082 */
60391 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60392 /* parser/parser.nit:22083 */
60393 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60394 /* parser/parser.nit:22084 */
60395 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
60396 /* parser/parser.nit:22086 */
60397 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]*/;
60398 if (UNTAG_Bool(REGB0)) {
60399 } else {
60400 nit_abort("Assert failed", NULL, LOCATE_parser, 22086);
60401 }
60402 /* parser/parser.nit:22088 */
60403 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
60404 fra.me.REG[5] = fra.me.REG[4];
60405 /* parser/parser.nit:22089 */
60406 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
60407 if (UNTAG_Bool(REGB0)) {
60408 } else {
60409 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
60410 if (UNTAG_Bool(REGB1)) {
60411 REGB1 = TAG_Bool(0);
60412 REGB0 = REGB1;
60413 } else {
60414 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
60415 REGB0 = REGB1;
60416 }
60417 }
60418 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
60419 if (UNTAG_Bool(REGB0)) {
60420 /* parser/parser.nit:22090 */
60421 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
60422 }
60423 /* parser/parser.nit:22092 */
60424 fra.me.REG[2] = fra.me.REG[5];
60425 /* parser/parser.nit:22093 */
60426 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
60427 if (UNTAG_Bool(REGB0)) {
60428 } else {
60429 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 22093);
60430 }
60431 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
60432 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60433 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
60434 stack_frame_head = fra.me.prev;
60435 return;
60436 }
60437 static const char LOCATE_parser___ReduceAction1288___action[] = "parser::ReduceAction1288::(parser::ReduceAction::action)";
60438 void parser___ReduceAction1288___action(val_t p0, val_t p1){
60439 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
60440 val_t REGB0;
60441 val_t REGB1;
60442 val_t tmp;
60443 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60444 fra.me.file = LOCATE_parser;
60445 fra.me.line = 22098;
60446 fra.me.meth = LOCATE_parser___ReduceAction1288___action;
60447 fra.me.has_broke = 0;
60448 fra.me.REG_size = 5;
60449 fra.me.nitni_local_ref_head = NULL;
60450 fra.me.REG[0] = NIT_NULL;
60451 fra.me.REG[1] = NIT_NULL;
60452 fra.me.REG[2] = NIT_NULL;
60453 fra.me.REG[3] = NIT_NULL;
60454 fra.me.REG[4] = NIT_NULL;
60455 fra.me.REG[0] = p0;
60456 fra.me.REG[1] = p1;
60457 /* parser/parser.nit:22100 */
60458 fra.me.REG[2] = NIT_NULL;
60459 /* parser/parser.nit:22101 */
60460 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60461 /* parser/parser.nit:22102 */
60462 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
60463 /* parser/parser.nit:22104 */
60464 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
60465 if (UNTAG_Bool(REGB0)) {
60466 } else {
60467 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
60468 if (UNTAG_Bool(REGB1)) {
60469 REGB1 = TAG_Bool(0);
60470 REGB0 = REGB1;
60471 } else {
60472 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
60473 REGB0 = REGB1;
60474 }
60475 }
60476 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
60477 if (UNTAG_Bool(REGB0)) {
60478 /* parser/parser.nit:22105 */
60479 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
60480 }
60481 /* parser/parser.nit:22107 */
60482 fra.me.REG[2] = fra.me.REG[4];
60483 /* parser/parser.nit:22108 */
60484 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
60485 if (UNTAG_Bool(REGB0)) {
60486 } else {
60487 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 22108);
60488 }
60489 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
60490 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60491 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
60492 stack_frame_head = fra.me.prev;
60493 return;
60494 }
60495 static const char LOCATE_parser___ReduceAction1289___action[] = "parser::ReduceAction1289::(parser::ReduceAction::action)";
60496 void parser___ReduceAction1289___action(val_t p0, val_t p1){
60497 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
60498 val_t REGB0;
60499 val_t REGB1;
60500 val_t tmp;
60501 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60502 fra.me.file = LOCATE_parser;
60503 fra.me.line = 22113;
60504 fra.me.meth = LOCATE_parser___ReduceAction1289___action;
60505 fra.me.has_broke = 0;
60506 fra.me.REG_size = 6;
60507 fra.me.nitni_local_ref_head = NULL;
60508 fra.me.REG[0] = NIT_NULL;
60509 fra.me.REG[1] = NIT_NULL;
60510 fra.me.REG[2] = NIT_NULL;
60511 fra.me.REG[3] = NIT_NULL;
60512 fra.me.REG[4] = NIT_NULL;
60513 fra.me.REG[5] = NIT_NULL;
60514 fra.me.REG[0] = p0;
60515 fra.me.REG[1] = p1;
60516 /* parser/parser.nit:22115 */
60517 fra.me.REG[2] = NIT_NULL;
60518 /* parser/parser.nit:22116 */
60519 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60520 /* parser/parser.nit:22117 */
60521 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60522 /* parser/parser.nit:22118 */
60523 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
60524 /* parser/parser.nit:22120 */
60525 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]*/;
60526 if (UNTAG_Bool(REGB0)) {
60527 } else {
60528 nit_abort("Assert failed", NULL, LOCATE_parser, 22120);
60529 }
60530 /* parser/parser.nit:22122 */
60531 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
60532 fra.me.REG[5] = fra.me.REG[4];
60533 /* parser/parser.nit:22123 */
60534 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
60535 if (UNTAG_Bool(REGB0)) {
60536 } else {
60537 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
60538 if (UNTAG_Bool(REGB1)) {
60539 REGB1 = TAG_Bool(0);
60540 REGB0 = REGB1;
60541 } else {
60542 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
60543 REGB0 = REGB1;
60544 }
60545 }
60546 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
60547 if (UNTAG_Bool(REGB0)) {
60548 /* parser/parser.nit:22124 */
60549 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
60550 }
60551 /* parser/parser.nit:22126 */
60552 fra.me.REG[2] = fra.me.REG[5];
60553 /* parser/parser.nit:22127 */
60554 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
60555 if (UNTAG_Bool(REGB0)) {
60556 } else {
60557 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 22127);
60558 }
60559 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
60560 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60561 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
60562 stack_frame_head = fra.me.prev;
60563 return;
60564 }