Merge remote branch 'pu/new-style_attributes' into wip
[nit.git] / c_src / parser._sep.c
1 /* This C file is generated by NIT to compile module parser. */
2 #include "parser._sep.h"
3 val_t parser___State___state(val_t p0){
4 struct {struct stack_frame_t me;} fra;
5 val_t REGB0;
6 val_t tmp;
7 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8 fra.me.file = LOCATE_parser;
9 fra.me.line = 10;
10 fra.me.meth = LOCATE_parser___State___state;
11 fra.me.has_broke = 0;
12 fra.me.REG_size = 1;
13 fra.me.REG[0] = NIT_NULL;
14 fra.me.REG[0] = p0;
15 REGB0 = TAG_Bool(ATTR_parser___State____state(fra.me.REG[0])!=NIT_NULL);
16 /* ./parser//parser.nit:10 */
17 if (UNTAG_Bool(REGB0)) {
18 } else {
19 fprintf(stderr, "Uninitialized attribute %s", "_state");
20 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10);
21 nit_exit(1);
22 }
23 REGB0 = ATTR_parser___State____state(fra.me.REG[0]);
24 stack_frame_head = fra.me.prev;
25 return REGB0;
26 }
27 void parser___State___state__eq(val_t p0, val_t p1){
28 struct {struct stack_frame_t me;} fra;
29 val_t REGB0;
30 val_t tmp;
31 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32 fra.me.file = LOCATE_parser;
33 fra.me.line = 10;
34 fra.me.meth = LOCATE_parser___State___state__eq;
35 fra.me.has_broke = 0;
36 fra.me.REG_size = 1;
37 fra.me.REG[0] = NIT_NULL;
38 fra.me.REG[0] = p0;
39 REGB0 = p1;
40 /* ./parser//parser.nit:10 */
41 ATTR_parser___State____state(fra.me.REG[0]) = REGB0;
42 stack_frame_head = fra.me.prev;
43 return;
44 }
45 val_t parser___State___nodes(val_t p0){
46 struct {struct stack_frame_t me;} fra;
47 val_t tmp;
48 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49 fra.me.file = LOCATE_parser;
50 fra.me.line = 13;
51 fra.me.meth = LOCATE_parser___State___nodes;
52 fra.me.has_broke = 0;
53 fra.me.REG_size = 1;
54 fra.me.REG[0] = NIT_NULL;
55 fra.me.REG[0] = p0;
56 fra.me.REG[0] = ATTR_parser___State____nodes(fra.me.REG[0]);
57 /* ./parser//parser.nit:13 */
58 stack_frame_head = fra.me.prev;
59 return fra.me.REG[0];
60 }
61 void parser___State___nodes__eq(val_t p0, val_t p1){
62 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
63 val_t tmp;
64 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65 fra.me.file = LOCATE_parser;
66 fra.me.line = 13;
67 fra.me.meth = LOCATE_parser___State___nodes__eq;
68 fra.me.has_broke = 0;
69 fra.me.REG_size = 2;
70 fra.me.REG[0] = NIT_NULL;
71 fra.me.REG[1] = NIT_NULL;
72 fra.me.REG[0] = p0;
73 fra.me.REG[1] = p1;
74 /* ./parser//parser.nit:13 */
75 ATTR_parser___State____nodes(fra.me.REG[0]) = fra.me.REG[1];
76 stack_frame_head = fra.me.prev;
77 return;
78 }
79 void parser___State___init(val_t p0, val_t p1, val_t p2, int* init_table){
80 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_State].i;
81 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
82 val_t REGB0;
83 val_t tmp;
84 if (init_table[itpos0]) return;
85 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
86 fra.me.file = LOCATE_parser;
87 fra.me.line = 16;
88 fra.me.meth = LOCATE_parser___State___init;
89 fra.me.has_broke = 0;
90 fra.me.REG_size = 2;
91 fra.me.REG[0] = NIT_NULL;
92 fra.me.REG[1] = NIT_NULL;
93 fra.me.REG[0] = p0;
94 REGB0 = p1;
95 fra.me.REG[1] = p2;
96 /* ./parser//parser.nit:18 */
97 ATTR_parser___State____state(fra.me.REG[0]) = REGB0;
98 /* ./parser//parser.nit:19 */
99 ATTR_parser___State____nodes(fra.me.REG[0]) = fra.me.REG[1];
100 stack_frame_head = fra.me.prev;
101 init_table[itpos0] = 1;
102 return;
103 }
104 void parser___Parser___init(val_t p0, val_t p1, int* init_table){
105 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Parser].i;
106 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
107 val_t REGB0;
108 val_t tmp;
109 if (init_table[itpos1]) return;
110 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111 fra.me.file = LOCATE_parser;
112 fra.me.line = 34;
113 fra.me.meth = LOCATE_parser___Parser___init;
114 fra.me.has_broke = 0;
115 fra.me.REG_size = 3;
116 fra.me.REG[0] = NIT_NULL;
117 fra.me.REG[1] = NIT_NULL;
118 fra.me.REG[2] = NIT_NULL;
119 fra.me.REG[0] = p0;
120 fra.me.REG[1] = p1;
121 fra.me.REG[2] = fra.me.REG[0];
122 /* ./parser//parser.nit:34 */
123 CALL_parser_tables___ParserTable___init(fra.me.REG[0])(fra.me.REG[0], init_table);
124 /* ./parser//parser.nit:37 */
125 ATTR_parser___Parser____lexer(fra.me.REG[2]) = fra.me.REG[1];
126 fra.me.REG[1] = NEW_Array_array___Array___init();
127 /* ./parser//parser.nit:38 */
128 ATTR_parser___Parser____stack(fra.me.REG[2]) = fra.me.REG[1];
129 REGB0 = TAG_Int(1);
130 REGB0 = TAG_Int(-UNTAG_Int(REGB0));
131 /* ./parser//parser.nit:39 */
132 ATTR_parser___Parser____stack_pos(fra.me.REG[2]) = REGB0;
133 /* ./parser//parser.nit:40 */
134 CALL_parser_tables___ParserTable___build_goto_table(fra.me.REG[2])(fra.me.REG[2]);
135 /* ./parser//parser.nit:41 */
136 CALL_parser_tables___ParserTable___build_action_table(fra.me.REG[2])(fra.me.REG[2]);
137 /* ./parser//parser.nit:42 */
138 CALL_parser___Parser___build_reduce_table(fra.me.REG[2])(fra.me.REG[2]);
139 stack_frame_head = fra.me.prev;
140 init_table[itpos1] = 1;
141 return;
142 }
143 val_t parser___Parser___go_to(val_t p0, val_t p1){
144 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
145 val_t REGB0;
146 val_t REGB1;
147 val_t REGB2;
148 val_t REGB3;
149 val_t REGB4;
150 val_t REGB5;
151 val_t REGB6;
152 val_t REGB7;
153 val_t tmp;
154 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
155 fra.me.file = LOCATE_parser;
156 fra.me.line = 45;
157 fra.me.meth = LOCATE_parser___Parser___go_to;
158 fra.me.has_broke = 0;
159 fra.me.REG_size = 2;
160 fra.me.REG[0] = NIT_NULL;
161 fra.me.REG[1] = NIT_NULL;
162 fra.me.REG[0] = p0;
163 REGB0 = p1;
164 REGB1 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
165 REGB2 = TAG_Bool(ATTR_parser_tables___ParserTable____goto_table(fra.me.REG[0])!=NIT_NULL);
166 /* ./parser//parser.nit:49 */
167 if (UNTAG_Bool(REGB2)) {
168 } else {
169 fprintf(stderr, "Uninitialized attribute %s", "_goto_table");
170 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 49);
171 nit_exit(1);
172 }
173 fra.me.REG[0] = ATTR_parser_tables___ParserTable____goto_table(fra.me.REG[0]);
174 REGB2 = TAG_Int(0);
175 REGB2 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB2));
176 /* ./../lib/standard//collection//array.nit:233 */
177 if (UNTAG_Bool(REGB2)) {
178 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
179 if (UNTAG_Bool(REGB2)) {
180 } else {
181 fprintf(stderr, "Uninitialized attribute %s", "_length");
182 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
183 nit_exit(1);
184 }
185 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[0]);
186 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB2));
187 /* ./../lib/standard//collection//array.nit:233 */
188 } else {
189 REGB3 = TAG_Bool(false);
190 REGB2 = REGB3;
191 }
192 if (UNTAG_Bool(REGB2)) {
193 } else {
194 fprintf(stderr, "Assert %s failed", "'index'");
195 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
196 nit_exit(1);
197 }
198 fra.me.REG[0] = ATTR_array___Array____items(fra.me.REG[0]);
199 REGB2 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
200 /* ./../lib/standard//collection//array.nit:234 */
201 if (UNTAG_Bool(REGB2)) {
202 fprintf(stderr, "Reciever is null");
203 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
204 nit_exit(1);
205 }
206 fra.me.REG[0] = ((Nit_NativeArray)fra.me.REG[0])->val[UNTAG_Int(REGB0)];
207 /* ./../lib/standard//collection//array.nit:234 */
208 goto label1;
209 label1: while(0);
210 REGB0 = TAG_Int(1);
211 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
212 /* ./../lib/standard//collection//array.nit:23 */
213 if (UNTAG_Bool(REGB2)) {
214 } else {
215 fprintf(stderr, "Uninitialized attribute %s", "_length");
216 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
217 nit_exit(1);
218 }
219 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[0]);
220 REGB3 = TAG_Int(2);
221 REGB3 = TAG_Int(UNTAG_Int(REGB2)/UNTAG_Int(REGB3));
222 REGB2 = TAG_Int(1);
223 REGB2 = TAG_Int(UNTAG_Int(REGB3)-UNTAG_Int(REGB2));
224 /* ./parser//parser.nit:53 */
225 while(1) {
226 REGB3 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB2));
227 /* ./parser//parser.nit:53 */
228 if (UNTAG_Bool(REGB3)) {
229 REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
230 REGB4 = TAG_Int(2);
231 REGB4 = TAG_Int(UNTAG_Int(REGB3)/UNTAG_Int(REGB4));
232 REGB3 = TAG_Int(2);
233 REGB3 = TAG_Int(UNTAG_Int(REGB4)*UNTAG_Int(REGB3));
234 fra.me.REG[1] = fra.me.REG[0];
235 REGB5 = REGB3;
236 REGB6 = TAG_Int(0);
237 REGB6 = TAG_Bool(UNTAG_Int(REGB5)>=UNTAG_Int(REGB6));
238 /* ./../lib/standard//collection//array.nit:233 */
239 if (UNTAG_Bool(REGB6)) {
240 REGB6 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
241 if (UNTAG_Bool(REGB6)) {
242 } else {
243 fprintf(stderr, "Uninitialized attribute %s", "_length");
244 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
245 nit_exit(1);
246 }
247 REGB6 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
248 REGB6 = TAG_Bool(UNTAG_Int(REGB5)<UNTAG_Int(REGB6));
249 /* ./../lib/standard//collection//array.nit:233 */
250 } else {
251 REGB7 = TAG_Bool(false);
252 REGB6 = REGB7;
253 }
254 if (UNTAG_Bool(REGB6)) {
255 } else {
256 fprintf(stderr, "Assert %s failed", "'index'");
257 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
258 nit_exit(1);
259 }
260 fra.me.REG[1] = ATTR_array___Array____items(fra.me.REG[1]);
261 REGB6 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
262 /* ./../lib/standard//collection//array.nit:234 */
263 if (UNTAG_Bool(REGB6)) {
264 fprintf(stderr, "Reciever is null");
265 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
266 nit_exit(1);
267 }
268 fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB5)];
269 /* ./../lib/standard//collection//array.nit:234 */
270 goto label2;
271 label2: while(0);
272 REGB5 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(fra.me.REG[1]));
273 /* ./parser//parser.nit:57 */
274 if (UNTAG_Bool(REGB5)) {
275 REGB5 = TAG_Int(1);
276 REGB5 = TAG_Int(UNTAG_Int(REGB4)-UNTAG_Int(REGB5));
277 REGB2 = REGB5;
278 /* ./parser//parser.nit:58 */
279 } else {
280 fra.me.REG[1] = fra.me.REG[0];
281 REGB5 = REGB3;
282 REGB6 = TAG_Int(0);
283 REGB6 = TAG_Bool(UNTAG_Int(REGB5)>=UNTAG_Int(REGB6));
284 /* ./../lib/standard//collection//array.nit:233 */
285 if (UNTAG_Bool(REGB6)) {
286 REGB6 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
287 if (UNTAG_Bool(REGB6)) {
288 } else {
289 fprintf(stderr, "Uninitialized attribute %s", "_length");
290 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
291 nit_exit(1);
292 }
293 REGB6 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
294 REGB6 = TAG_Bool(UNTAG_Int(REGB5)<UNTAG_Int(REGB6));
295 /* ./../lib/standard//collection//array.nit:233 */
296 } else {
297 REGB7 = TAG_Bool(false);
298 REGB6 = REGB7;
299 }
300 if (UNTAG_Bool(REGB6)) {
301 } else {
302 fprintf(stderr, "Assert %s failed", "'index'");
303 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
304 nit_exit(1);
305 }
306 fra.me.REG[1] = ATTR_array___Array____items(fra.me.REG[1]);
307 REGB6 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
308 /* ./../lib/standard//collection//array.nit:234 */
309 if (UNTAG_Bool(REGB6)) {
310 fprintf(stderr, "Reciever is null");
311 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
312 nit_exit(1);
313 }
314 fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB5)];
315 /* ./../lib/standard//collection//array.nit:234 */
316 goto label3;
317 label3: while(0);
318 REGB5 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(fra.me.REG[1]));
319 /* ./parser//parser.nit:59 */
320 if (UNTAG_Bool(REGB5)) {
321 REGB5 = TAG_Int(1);
322 REGB5 = TAG_Int(UNTAG_Int(REGB4)+UNTAG_Int(REGB5));
323 REGB0 = REGB5;
324 /* ./parser//parser.nit:60 */
325 } else {
326 REGB5 = TAG_Int(1);
327 REGB5 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB5));
328 fra.me.REG[1] = fra.me.REG[0];
329 REGB3 = TAG_Int(0);
330 REGB3 = TAG_Bool(UNTAG_Int(REGB5)>=UNTAG_Int(REGB3));
331 /* ./../lib/standard//collection//array.nit:233 */
332 if (UNTAG_Bool(REGB3)) {
333 REGB3 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
334 if (UNTAG_Bool(REGB3)) {
335 } else {
336 fprintf(stderr, "Uninitialized attribute %s", "_length");
337 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
338 nit_exit(1);
339 }
340 REGB3 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
341 REGB3 = TAG_Bool(UNTAG_Int(REGB5)<UNTAG_Int(REGB3));
342 /* ./../lib/standard//collection//array.nit:233 */
343 } else {
344 REGB4 = TAG_Bool(false);
345 REGB3 = REGB4;
346 }
347 if (UNTAG_Bool(REGB3)) {
348 } else {
349 fprintf(stderr, "Assert %s failed", "'index'");
350 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
351 nit_exit(1);
352 }
353 fra.me.REG[1] = ATTR_array___Array____items(fra.me.REG[1]);
354 REGB3 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
355 /* ./../lib/standard//collection//array.nit:234 */
356 if (UNTAG_Bool(REGB3)) {
357 fprintf(stderr, "Reciever is null");
358 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
359 nit_exit(1);
360 }
361 fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB5)];
362 /* ./../lib/standard//collection//array.nit:234 */
363 goto label4;
364 label4: while(0);
365 REGB5 = fra.me.REG[1];
366 /* ./parser//parser.nit:62 */
367 goto label5;
368 }
369 }
370 } else {
371 /* ./parser//parser.nit:53 */
372 goto label6;
373 }
374 }
375 label6: while(0);
376 REGB0 = TAG_Int(1);
377 REGB1 = TAG_Int(0);
378 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
379 /* ./../lib/standard//collection//array.nit:233 */
380 if (UNTAG_Bool(REGB1)) {
381 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
382 if (UNTAG_Bool(REGB1)) {
383 } else {
384 fprintf(stderr, "Uninitialized attribute %s", "_length");
385 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
386 nit_exit(1);
387 }
388 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[0]);
389 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
390 /* ./../lib/standard//collection//array.nit:233 */
391 } else {
392 REGB2 = TAG_Bool(false);
393 REGB1 = REGB2;
394 }
395 if (UNTAG_Bool(REGB1)) {
396 } else {
397 fprintf(stderr, "Assert %s failed", "'index'");
398 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
399 nit_exit(1);
400 }
401 fra.me.REG[0] = ATTR_array___Array____items(fra.me.REG[0]);
402 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
403 /* ./../lib/standard//collection//array.nit:234 */
404 if (UNTAG_Bool(REGB1)) {
405 fprintf(stderr, "Reciever is null");
406 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
407 nit_exit(1);
408 }
409 fra.me.REG[0] = ((Nit_NativeArray)fra.me.REG[0])->val[UNTAG_Int(REGB0)];
410 /* ./../lib/standard//collection//array.nit:234 */
411 goto label7;
412 label7: while(0);
413 REGB5 = fra.me.REG[0];
414 /* ./parser//parser.nit:66 */
415 goto label5;
416 label5: while(0);
417 stack_frame_head = fra.me.prev;
418 return REGB5;
419 }
420 void parser___Parser___push(val_t p0, val_t p1, val_t p2){
421 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
422 val_t REGB0;
423 val_t REGB1;
424 val_t REGB2;
425 val_t REGB3;
426 val_t tmp;
427 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
428 fra.me.file = LOCATE_parser;
429 fra.me.line = 69;
430 fra.me.meth = LOCATE_parser___Parser___push;
431 fra.me.has_broke = 0;
432 fra.me.REG_size = 3;
433 fra.me.REG[0] = NIT_NULL;
434 fra.me.REG[1] = NIT_NULL;
435 fra.me.REG[2] = NIT_NULL;
436 fra.me.REG[0] = p0;
437 REGB0 = p1;
438 fra.me.REG[1] = p2;
439 REGB1 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
440 /* ./parser//parser.nit:72 */
441 if (UNTAG_Bool(REGB1)) {
442 } else {
443 fprintf(stderr, "Uninitialized attribute %s", "_stack_pos");
444 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 72);
445 nit_exit(1);
446 }
447 REGB1 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
448 REGB2 = TAG_Int(1);
449 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
450 /* ./parser//parser.nit:73 */
451 ATTR_parser___Parser____stack_pos(fra.me.REG[0]) = REGB2;
452 REGB1 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
453 /* ./parser//parser.nit:74 */
454 if (UNTAG_Bool(REGB1)) {
455 } else {
456 fprintf(stderr, "Uninitialized attribute %s", "_stack");
457 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 74);
458 nit_exit(1);
459 }
460 fra.me.REG[2] = ATTR_parser___Parser____stack(fra.me.REG[0]);
461 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
462 /* ./../lib/standard//collection//array.nit:23 */
463 if (UNTAG_Bool(REGB1)) {
464 } else {
465 fprintf(stderr, "Uninitialized attribute %s", "_length");
466 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
467 nit_exit(1);
468 }
469 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
470 REGB1 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB1));
471 /* ./parser//parser.nit:74 */
472 if (UNTAG_Bool(REGB1)) {
473 REGB1 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
474 /* ./parser//parser.nit:75 */
475 if (UNTAG_Bool(REGB1)) {
476 } else {
477 fprintf(stderr, "Uninitialized attribute %s", "_stack");
478 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 75);
479 nit_exit(1);
480 }
481 fra.me.REG[2] = ATTR_parser___Parser____stack(fra.me.REG[0]);
482 REGB1 = TAG_Int(0);
483 REGB1 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB1));
484 /* ./../lib/standard//collection//array.nit:233 */
485 if (UNTAG_Bool(REGB1)) {
486 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
487 if (UNTAG_Bool(REGB1)) {
488 } else {
489 fprintf(stderr, "Uninitialized attribute %s", "_length");
490 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
491 nit_exit(1);
492 }
493 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
494 REGB1 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB1));
495 /* ./../lib/standard//collection//array.nit:233 */
496 } else {
497 REGB3 = TAG_Bool(false);
498 REGB1 = REGB3;
499 }
500 if (UNTAG_Bool(REGB1)) {
501 } else {
502 fprintf(stderr, "Assert %s failed", "'index'");
503 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
504 nit_exit(1);
505 }
506 fra.me.REG[2] = ATTR_array___Array____items(fra.me.REG[2]);
507 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
508 /* ./../lib/standard//collection//array.nit:234 */
509 if (UNTAG_Bool(REGB1)) {
510 fprintf(stderr, "Reciever is null");
511 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
512 nit_exit(1);
513 }
514 fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB2)];
515 /* ./../lib/standard//collection//array.nit:234 */
516 goto label1;
517 label1: while(0);
518 /* ./parser//parser.nit:76 */
519 CALL_parser___State___state__eq(fra.me.REG[2])(fra.me.REG[2], REGB0);
520 /* ./parser//parser.nit:77 */
521 CALL_parser___State___nodes__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
522 } else {
523 REGB2 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
524 /* ./parser//parser.nit:79 */
525 if (UNTAG_Bool(REGB2)) {
526 } else {
527 fprintf(stderr, "Uninitialized attribute %s", "_stack");
528 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 79);
529 nit_exit(1);
530 }
531 fra.me.REG[0] = ATTR_parser___Parser____stack(fra.me.REG[0]);
532 fra.me.REG[1] = NEW_State_parser___State___init(REGB0, fra.me.REG[1]);
533 CALL_abstract_collection___Sequence___push(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
534 }
535 stack_frame_head = fra.me.prev;
536 return;
537 }
538 val_t parser___Parser___state(val_t p0){
539 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
540 val_t REGB0;
541 val_t REGB1;
542 val_t REGB2;
543 val_t tmp;
544 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
545 fra.me.file = LOCATE_parser;
546 fra.me.line = 83;
547 fra.me.meth = LOCATE_parser___Parser___state;
548 fra.me.has_broke = 0;
549 fra.me.REG_size = 2;
550 fra.me.REG[0] = NIT_NULL;
551 fra.me.REG[1] = NIT_NULL;
552 fra.me.REG[0] = p0;
553 REGB0 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
554 /* ./parser//parser.nit:86 */
555 if (UNTAG_Bool(REGB0)) {
556 } else {
557 fprintf(stderr, "Uninitialized attribute %s", "_stack");
558 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 86);
559 nit_exit(1);
560 }
561 fra.me.REG[1] = ATTR_parser___Parser____stack(fra.me.REG[0]);
562 REGB0 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
563 if (UNTAG_Bool(REGB0)) {
564 } else {
565 fprintf(stderr, "Uninitialized attribute %s", "_stack_pos");
566 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 86);
567 nit_exit(1);
568 }
569 REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
570 REGB1 = TAG_Int(0);
571 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
572 /* ./../lib/standard//collection//array.nit:233 */
573 if (UNTAG_Bool(REGB1)) {
574 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
575 if (UNTAG_Bool(REGB1)) {
576 } else {
577 fprintf(stderr, "Uninitialized attribute %s", "_length");
578 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
579 nit_exit(1);
580 }
581 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
582 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
583 /* ./../lib/standard//collection//array.nit:233 */
584 } else {
585 REGB2 = TAG_Bool(false);
586 REGB1 = REGB2;
587 }
588 if (UNTAG_Bool(REGB1)) {
589 } else {
590 fprintf(stderr, "Assert %s failed", "'index'");
591 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
592 nit_exit(1);
593 }
594 fra.me.REG[1] = ATTR_array___Array____items(fra.me.REG[1]);
595 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
596 /* ./../lib/standard//collection//array.nit:234 */
597 if (UNTAG_Bool(REGB1)) {
598 fprintf(stderr, "Reciever is null");
599 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
600 nit_exit(1);
601 }
602 fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB0)];
603 /* ./../lib/standard//collection//array.nit:234 */
604 goto label1;
605 label1: while(0);
606 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
607 /* ./parser//parser.nit:86 */
608 if (UNTAG_Bool(REGB0)) {
609 fprintf(stderr, "Reciever is null");
610 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 86);
611 nit_exit(1);
612 }
613 REGB0 = CALL_parser___State___state(fra.me.REG[1])(fra.me.REG[1]);
614 goto label2;
615 label2: while(0);
616 stack_frame_head = fra.me.prev;
617 return REGB0;
618 }
619 val_t parser___Parser___pop(val_t p0){
620 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
621 val_t REGB0;
622 val_t REGB1;
623 val_t REGB2;
624 val_t tmp;
625 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
626 fra.me.file = LOCATE_parser;
627 fra.me.line = 89;
628 fra.me.meth = LOCATE_parser___Parser___pop;
629 fra.me.has_broke = 0;
630 fra.me.REG_size = 2;
631 fra.me.REG[0] = NIT_NULL;
632 fra.me.REG[1] = NIT_NULL;
633 fra.me.REG[0] = p0;
634 REGB0 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
635 /* ./parser//parser.nit:92 */
636 if (UNTAG_Bool(REGB0)) {
637 } else {
638 fprintf(stderr, "Uninitialized attribute %s", "_stack");
639 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 92);
640 nit_exit(1);
641 }
642 fra.me.REG[1] = ATTR_parser___Parser____stack(fra.me.REG[0]);
643 REGB0 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
644 if (UNTAG_Bool(REGB0)) {
645 } else {
646 fprintf(stderr, "Uninitialized attribute %s", "_stack_pos");
647 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 92);
648 nit_exit(1);
649 }
650 REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
651 REGB1 = TAG_Int(0);
652 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
653 /* ./../lib/standard//collection//array.nit:233 */
654 if (UNTAG_Bool(REGB1)) {
655 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
656 if (UNTAG_Bool(REGB1)) {
657 } else {
658 fprintf(stderr, "Uninitialized attribute %s", "_length");
659 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
660 nit_exit(1);
661 }
662 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
663 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
664 /* ./../lib/standard//collection//array.nit:233 */
665 } else {
666 REGB2 = TAG_Bool(false);
667 REGB1 = REGB2;
668 }
669 if (UNTAG_Bool(REGB1)) {
670 } else {
671 fprintf(stderr, "Assert %s failed", "'index'");
672 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
673 nit_exit(1);
674 }
675 fra.me.REG[1] = ATTR_array___Array____items(fra.me.REG[1]);
676 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
677 /* ./../lib/standard//collection//array.nit:234 */
678 if (UNTAG_Bool(REGB1)) {
679 fprintf(stderr, "Reciever is null");
680 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
681 nit_exit(1);
682 }
683 fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB0)];
684 /* ./../lib/standard//collection//array.nit:234 */
685 goto label1;
686 label1: while(0);
687 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
688 /* ./parser//parser.nit:92 */
689 if (UNTAG_Bool(REGB0)) {
690 fprintf(stderr, "Reciever is null");
691 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 92);
692 nit_exit(1);
693 }
694 fra.me.REG[1] = CALL_parser___State___nodes(fra.me.REG[1])(fra.me.REG[1]);
695 REGB0 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
696 /* ./parser//parser.nit:93 */
697 if (UNTAG_Bool(REGB0)) {
698 } else {
699 fprintf(stderr, "Uninitialized attribute %s", "_stack_pos");
700 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 93);
701 nit_exit(1);
702 }
703 REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
704 REGB1 = TAG_Int(1);
705 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
706 /* ./parser//parser.nit:93 */
707 ATTR_parser___Parser____stack_pos(fra.me.REG[0]) = REGB1;
708 /* ./parser//parser.nit:94 */
709 goto label2;
710 label2: while(0);
711 stack_frame_head = fra.me.prev;
712 return fra.me.REG[1];
713 }
714 val_t parser___Parser___parse(val_t p0){
715 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
716 val_t REGB0;
717 val_t REGB1;
718 val_t REGB2;
719 val_t REGB3;
720 val_t REGB4;
721 val_t REGB5;
722 val_t REGB6;
723 val_t REGB7;
724 val_t REGB8;
725 val_t REGB9;
726 val_t tmp;
727 static val_t once_value_11; /* Once value */
728 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
729 fra.me.file = LOCATE_parser;
730 fra.me.line = 97;
731 fra.me.meth = LOCATE_parser___Parser___parse;
732 fra.me.has_broke = 0;
733 fra.me.REG_size = 6;
734 fra.me.REG[0] = NIT_NULL;
735 fra.me.REG[1] = NIT_NULL;
736 fra.me.REG[2] = NIT_NULL;
737 fra.me.REG[3] = NIT_NULL;
738 fra.me.REG[4] = NIT_NULL;
739 fra.me.REG[5] = NIT_NULL;
740 fra.me.REG[0] = p0;
741 REGB0 = TAG_Int(0);
742 /* ./parser//parser.nit:100 */
743 CALL_parser___Parser___push(fra.me.REG[0])(fra.me.REG[0], REGB0, NIT_NULL);
744 REGB0 = TAG_Bool(ATTR_parser___Parser____lexer(fra.me.REG[0])!=NIT_NULL);
745 /* ./parser//parser.nit:102 */
746 if (UNTAG_Bool(REGB0)) {
747 } else {
748 fprintf(stderr, "Uninitialized attribute %s", "_lexer");
749 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 102);
750 nit_exit(1);
751 }
752 fra.me.REG[1] = ATTR_parser___Parser____lexer(fra.me.REG[0]);
753 /* ./parser//parser.nit:103 */
754 while(1) {
755 REGB0 = TAG_Bool(true);
756 if (UNTAG_Bool(REGB0)) {
757 fra.me.REG[2] = CALL_lexer___Lexer___peek(fra.me.REG[1])(fra.me.REG[1]);
758 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_AError, ID_AError)) /*cast AError*/;
759 /* ./parser//parser.nit:105 */
760 if (UNTAG_Bool(REGB0)) {
761 fra.me.REG[3] = NEW_Start_parser_prod___Start___init(NIT_NULL, fra.me.REG[2]);
762 /* ./parser//parser.nit:106 */
763 goto label1;
764 }
765 REGB0 = CALL_lexer___Token___parser_index(fra.me.REG[2])(fra.me.REG[2]);
766 REGB1 = TAG_Bool(ATTR_parser_tables___ParserTable____action_table(fra.me.REG[0])!=NIT_NULL);
767 /* ./parser//parser.nit:110 */
768 if (UNTAG_Bool(REGB1)) {
769 } else {
770 fprintf(stderr, "Uninitialized attribute %s", "_action_table");
771 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 110);
772 nit_exit(1);
773 }
774 fra.me.REG[4] = ATTR_parser_tables___ParserTable____action_table(fra.me.REG[0]);
775 REGB1 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
776 REGB2 = TAG_Int(0);
777 REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
778 /* ./../lib/standard//collection//array.nit:233 */
779 if (UNTAG_Bool(REGB2)) {
780 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
781 if (UNTAG_Bool(REGB2)) {
782 } else {
783 fprintf(stderr, "Uninitialized attribute %s", "_length");
784 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
785 nit_exit(1);
786 }
787 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]);
788 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
789 /* ./../lib/standard//collection//array.nit:233 */
790 } else {
791 REGB3 = TAG_Bool(false);
792 REGB2 = REGB3;
793 }
794 if (UNTAG_Bool(REGB2)) {
795 } else {
796 fprintf(stderr, "Assert %s failed", "'index'");
797 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
798 nit_exit(1);
799 }
800 fra.me.REG[4] = ATTR_array___Array____items(fra.me.REG[4]);
801 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
802 /* ./../lib/standard//collection//array.nit:234 */
803 if (UNTAG_Bool(REGB2)) {
804 fprintf(stderr, "Reciever is null");
805 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
806 nit_exit(1);
807 }
808 fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB1)];
809 /* ./../lib/standard//collection//array.nit:234 */
810 goto label2;
811 label2: while(0);
812 REGB1 = TAG_Int(1);
813 fra.me.REG[5] = fra.me.REG[4];
814 REGB2 = TAG_Int(0);
815 REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
816 /* ./../lib/standard//collection//array.nit:233 */
817 if (UNTAG_Bool(REGB2)) {
818 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
819 if (UNTAG_Bool(REGB2)) {
820 } else {
821 fprintf(stderr, "Uninitialized attribute %s", "_length");
822 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
823 nit_exit(1);
824 }
825 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[5]);
826 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
827 /* ./../lib/standard//collection//array.nit:233 */
828 } else {
829 REGB3 = TAG_Bool(false);
830 REGB2 = REGB3;
831 }
832 if (UNTAG_Bool(REGB2)) {
833 } else {
834 fprintf(stderr, "Assert %s failed", "'index'");
835 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
836 nit_exit(1);
837 }
838 fra.me.REG[5] = ATTR_array___Array____items(fra.me.REG[5]);
839 REGB2 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
840 /* ./../lib/standard//collection//array.nit:234 */
841 if (UNTAG_Bool(REGB2)) {
842 fprintf(stderr, "Reciever is null");
843 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
844 nit_exit(1);
845 }
846 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB1)];
847 /* ./../lib/standard//collection//array.nit:234 */
848 goto label3;
849 label3: while(0);
850 REGB1 = fra.me.REG[5];
851 REGB2 = TAG_Int(2);
852 fra.me.REG[5] = fra.me.REG[4];
853 REGB3 = TAG_Int(0);
854 REGB3 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB3));
855 /* ./../lib/standard//collection//array.nit:233 */
856 if (UNTAG_Bool(REGB3)) {
857 REGB3 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
858 if (UNTAG_Bool(REGB3)) {
859 } else {
860 fprintf(stderr, "Uninitialized attribute %s", "_length");
861 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
862 nit_exit(1);
863 }
864 REGB3 = ATTR_array___AbstractArrayRead____length(fra.me.REG[5]);
865 REGB3 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
866 /* ./../lib/standard//collection//array.nit:233 */
867 } else {
868 REGB4 = TAG_Bool(false);
869 REGB3 = REGB4;
870 }
871 if (UNTAG_Bool(REGB3)) {
872 } else {
873 fprintf(stderr, "Assert %s failed", "'index'");
874 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
875 nit_exit(1);
876 }
877 fra.me.REG[5] = ATTR_array___Array____items(fra.me.REG[5]);
878 REGB3 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
879 /* ./../lib/standard//collection//array.nit:234 */
880 if (UNTAG_Bool(REGB3)) {
881 fprintf(stderr, "Reciever is null");
882 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
883 nit_exit(1);
884 }
885 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB2)];
886 /* ./../lib/standard//collection//array.nit:234 */
887 goto label4;
888 label4: while(0);
889 REGB2 = fra.me.REG[5];
890 REGB3 = TAG_Int(1);
891 REGB4 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
892 /* ./../lib/standard//collection//array.nit:23 */
893 if (UNTAG_Bool(REGB4)) {
894 } else {
895 fprintf(stderr, "Uninitialized attribute %s", "_length");
896 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
897 nit_exit(1);
898 }
899 REGB4 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]);
900 REGB5 = TAG_Int(3);
901 REGB5 = TAG_Int(UNTAG_Int(REGB4)/UNTAG_Int(REGB5));
902 REGB4 = TAG_Int(1);
903 REGB4 = TAG_Int(UNTAG_Int(REGB5)-UNTAG_Int(REGB4));
904 /* ./parser//parser.nit:117 */
905 while(1) {
906 REGB5 = TAG_Bool(UNTAG_Int(REGB3)<=UNTAG_Int(REGB4));
907 /* ./parser//parser.nit:117 */
908 if (UNTAG_Bool(REGB5)) {
909 REGB5 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB4));
910 REGB6 = TAG_Int(2);
911 REGB6 = TAG_Int(UNTAG_Int(REGB5)/UNTAG_Int(REGB6));
912 REGB5 = TAG_Int(3);
913 REGB5 = TAG_Int(UNTAG_Int(REGB6)*UNTAG_Int(REGB5));
914 fra.me.REG[5] = fra.me.REG[4];
915 REGB7 = REGB5;
916 REGB8 = TAG_Int(0);
917 REGB8 = TAG_Bool(UNTAG_Int(REGB7)>=UNTAG_Int(REGB8));
918 /* ./../lib/standard//collection//array.nit:233 */
919 if (UNTAG_Bool(REGB8)) {
920 REGB8 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
921 if (UNTAG_Bool(REGB8)) {
922 } else {
923 fprintf(stderr, "Uninitialized attribute %s", "_length");
924 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
925 nit_exit(1);
926 }
927 REGB8 = ATTR_array___AbstractArrayRead____length(fra.me.REG[5]);
928 REGB8 = TAG_Bool(UNTAG_Int(REGB7)<UNTAG_Int(REGB8));
929 /* ./../lib/standard//collection//array.nit:233 */
930 } else {
931 REGB9 = TAG_Bool(false);
932 REGB8 = REGB9;
933 }
934 if (UNTAG_Bool(REGB8)) {
935 } else {
936 fprintf(stderr, "Assert %s failed", "'index'");
937 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
938 nit_exit(1);
939 }
940 fra.me.REG[5] = ATTR_array___Array____items(fra.me.REG[5]);
941 REGB8 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
942 /* ./../lib/standard//collection//array.nit:234 */
943 if (UNTAG_Bool(REGB8)) {
944 fprintf(stderr, "Reciever is null");
945 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
946 nit_exit(1);
947 }
948 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB7)];
949 /* ./../lib/standard//collection//array.nit:234 */
950 goto label5;
951 label5: while(0);
952 REGB7 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(fra.me.REG[5]));
953 /* ./parser//parser.nit:121 */
954 if (UNTAG_Bool(REGB7)) {
955 REGB7 = TAG_Int(1);
956 REGB7 = TAG_Int(UNTAG_Int(REGB6)-UNTAG_Int(REGB7));
957 REGB4 = REGB7;
958 /* ./parser//parser.nit:122 */
959 } else {
960 fra.me.REG[5] = fra.me.REG[4];
961 REGB7 = REGB5;
962 REGB8 = TAG_Int(0);
963 REGB8 = TAG_Bool(UNTAG_Int(REGB7)>=UNTAG_Int(REGB8));
964 /* ./../lib/standard//collection//array.nit:233 */
965 if (UNTAG_Bool(REGB8)) {
966 REGB8 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
967 if (UNTAG_Bool(REGB8)) {
968 } else {
969 fprintf(stderr, "Uninitialized attribute %s", "_length");
970 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
971 nit_exit(1);
972 }
973 REGB8 = ATTR_array___AbstractArrayRead____length(fra.me.REG[5]);
974 REGB8 = TAG_Bool(UNTAG_Int(REGB7)<UNTAG_Int(REGB8));
975 /* ./../lib/standard//collection//array.nit:233 */
976 } else {
977 REGB9 = TAG_Bool(false);
978 REGB8 = REGB9;
979 }
980 if (UNTAG_Bool(REGB8)) {
981 } else {
982 fprintf(stderr, "Assert %s failed", "'index'");
983 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
984 nit_exit(1);
985 }
986 fra.me.REG[5] = ATTR_array___Array____items(fra.me.REG[5]);
987 REGB8 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
988 /* ./../lib/standard//collection//array.nit:234 */
989 if (UNTAG_Bool(REGB8)) {
990 fprintf(stderr, "Reciever is null");
991 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
992 nit_exit(1);
993 }
994 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB7)];
995 /* ./../lib/standard//collection//array.nit:234 */
996 goto label6;
997 label6: while(0);
998 REGB7 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(fra.me.REG[5]));
999 /* ./parser//parser.nit:123 */
1000 if (UNTAG_Bool(REGB7)) {
1001 REGB7 = TAG_Int(1);
1002 REGB7 = TAG_Int(UNTAG_Int(REGB6)+UNTAG_Int(REGB7));
1003 REGB3 = REGB7;
1004 /* ./parser//parser.nit:124 */
1005 } else {
1006 REGB7 = TAG_Int(1);
1007 REGB7 = TAG_Int(UNTAG_Int(REGB5)+UNTAG_Int(REGB7));
1008 fra.me.REG[5] = fra.me.REG[4];
1009 REGB6 = TAG_Int(0);
1010 REGB6 = TAG_Bool(UNTAG_Int(REGB7)>=UNTAG_Int(REGB6));
1011 /* ./../lib/standard//collection//array.nit:233 */
1012 if (UNTAG_Bool(REGB6)) {
1013 REGB6 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
1014 if (UNTAG_Bool(REGB6)) {
1015 } else {
1016 fprintf(stderr, "Uninitialized attribute %s", "_length");
1017 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
1018 nit_exit(1);
1019 }
1020 REGB6 = ATTR_array___AbstractArrayRead____length(fra.me.REG[5]);
1021 REGB6 = TAG_Bool(UNTAG_Int(REGB7)<UNTAG_Int(REGB6));
1022 /* ./../lib/standard//collection//array.nit:233 */
1023 } else {
1024 REGB8 = TAG_Bool(false);
1025 REGB6 = REGB8;
1026 }
1027 if (UNTAG_Bool(REGB6)) {
1028 } else {
1029 fprintf(stderr, "Assert %s failed", "'index'");
1030 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
1031 nit_exit(1);
1032 }
1033 fra.me.REG[5] = ATTR_array___Array____items(fra.me.REG[5]);
1034 REGB6 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1035 /* ./../lib/standard//collection//array.nit:234 */
1036 if (UNTAG_Bool(REGB6)) {
1037 fprintf(stderr, "Reciever is null");
1038 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
1039 nit_exit(1);
1040 }
1041 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB7)];
1042 /* ./../lib/standard//collection//array.nit:234 */
1043 goto label7;
1044 label7: while(0);
1045 REGB1 = fra.me.REG[5];
1046 REGB7 = TAG_Int(2);
1047 REGB7 = TAG_Int(UNTAG_Int(REGB5)+UNTAG_Int(REGB7));
1048 fra.me.REG[5] = fra.me.REG[4];
1049 REGB5 = TAG_Int(0);
1050 REGB5 = TAG_Bool(UNTAG_Int(REGB7)>=UNTAG_Int(REGB5));
1051 /* ./../lib/standard//collection//array.nit:233 */
1052 if (UNTAG_Bool(REGB5)) {
1053 REGB5 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
1054 if (UNTAG_Bool(REGB5)) {
1055 } else {
1056 fprintf(stderr, "Uninitialized attribute %s", "_length");
1057 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
1058 nit_exit(1);
1059 }
1060 REGB5 = ATTR_array___AbstractArrayRead____length(fra.me.REG[5]);
1061 REGB5 = TAG_Bool(UNTAG_Int(REGB7)<UNTAG_Int(REGB5));
1062 /* ./../lib/standard//collection//array.nit:233 */
1063 } else {
1064 REGB6 = TAG_Bool(false);
1065 REGB5 = REGB6;
1066 }
1067 if (UNTAG_Bool(REGB5)) {
1068 } else {
1069 fprintf(stderr, "Assert %s failed", "'index'");
1070 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
1071 nit_exit(1);
1072 }
1073 fra.me.REG[5] = ATTR_array___Array____items(fra.me.REG[5]);
1074 REGB5 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1075 /* ./../lib/standard//collection//array.nit:234 */
1076 if (UNTAG_Bool(REGB5)) {
1077 fprintf(stderr, "Reciever is null");
1078 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
1079 nit_exit(1);
1080 }
1081 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB7)];
1082 /* ./../lib/standard//collection//array.nit:234 */
1083 goto label8;
1084 label8: while(0);
1085 REGB2 = fra.me.REG[5];
1086 REGB7 = TAG_Int(1);
1087 REGB7 = TAG_Int(UNTAG_Int(REGB3)-UNTAG_Int(REGB7));
1088 REGB4 = REGB7;
1089 /* ./parser//parser.nit:128 */
1090 }
1091 }
1092 } else {
1093 /* ./parser//parser.nit:117 */
1094 goto label9;
1095 }
1096 }
1097 label9: while(0);
1098 REGB4 = TAG_Int(0);
1099 REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB4));
1100 /* ./parser//parser.nit:132 */
1101 if (UNTAG_Bool(REGB3)) {
1102 } else {
1103 REGB4 = TAG_Bool((REGB1)==(REGB4));
1104 REGB3 = REGB4;
1105 /* ./parser//parser.nit:132 */
1106 }
1107 if (UNTAG_Bool(REGB3)) {
1108 fra.me.REG[4] = CALL_lexer___Lexer___next(fra.me.REG[1])(fra.me.REG[1]);
1109 /* ./parser//parser.nit:133 */
1110 CALL_parser___Parser___push(fra.me.REG[0])(fra.me.REG[0], REGB2, fra.me.REG[4]);
1111 } else {
1112 REGB3 = TAG_Int(1);
1113 REGB4 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB3));
1114 /* ./parser//parser.nit:134 */
1115 if (UNTAG_Bool(REGB4)) {
1116 } else {
1117 REGB3 = TAG_Bool((REGB1)==(REGB3));
1118 REGB4 = REGB3;
1119 /* ./parser//parser.nit:134 */
1120 }
1121 if (UNTAG_Bool(REGB4)) {
1122 REGB4 = TAG_Bool(ATTR_parser___Parser____reduce_table(fra.me.REG[0])!=NIT_NULL);
1123 /* ./parser//parser.nit:135 */
1124 if (UNTAG_Bool(REGB4)) {
1125 } else {
1126 fprintf(stderr, "Uninitialized attribute %s", "_reduce_table");
1127 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 135);
1128 nit_exit(1);
1129 }
1130 fra.me.REG[4] = ATTR_parser___Parser____reduce_table(fra.me.REG[0]);
1131 REGB4 = TAG_Int(0);
1132 REGB4 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB4));
1133 /* ./../lib/standard//collection//array.nit:233 */
1134 if (UNTAG_Bool(REGB4)) {
1135 REGB4 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
1136 if (UNTAG_Bool(REGB4)) {
1137 } else {
1138 fprintf(stderr, "Uninitialized attribute %s", "_length");
1139 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
1140 nit_exit(1);
1141 }
1142 REGB4 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]);
1143 REGB4 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB4));
1144 /* ./../lib/standard//collection//array.nit:233 */
1145 } else {
1146 REGB3 = TAG_Bool(false);
1147 REGB4 = REGB3;
1148 }
1149 if (UNTAG_Bool(REGB4)) {
1150 } else {
1151 fprintf(stderr, "Assert %s failed", "'index'");
1152 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
1153 nit_exit(1);
1154 }
1155 fra.me.REG[4] = ATTR_array___Array____items(fra.me.REG[4]);
1156 REGB4 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
1157 /* ./../lib/standard//collection//array.nit:234 */
1158 if (UNTAG_Bool(REGB4)) {
1159 fprintf(stderr, "Reciever is null");
1160 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
1161 nit_exit(1);
1162 }
1163 fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB2)];
1164 /* ./../lib/standard//collection//array.nit:234 */
1165 goto label10;
1166 label10: while(0);
1167 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
1168 /* ./parser//parser.nit:135 */
1169 if (UNTAG_Bool(REGB2)) {
1170 fprintf(stderr, "Reciever is null");
1171 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 135);
1172 nit_exit(1);
1173 }
1174 CALL_parser___ReduceAction___action(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
1175 } else {
1176 REGB2 = TAG_Int(2);
1177 REGB4 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2));
1178 /* ./parser//parser.nit:136 */
1179 if (UNTAG_Bool(REGB4)) {
1180 } else {
1181 REGB2 = TAG_Bool((REGB1)==(REGB2));
1182 REGB4 = REGB2;
1183 /* ./parser//parser.nit:136 */
1184 }
1185 if (UNTAG_Bool(REGB4)) {
1186 fra.me.REG[4] = CALL_lexer___Lexer___next(fra.me.REG[1])(fra.me.REG[1]);
1187 REGB4 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_EOF, ID_EOF)) /*cast EOF*/;
1188 /* ./parser//parser.nit:138 */
1189 if (UNTAG_Bool(REGB4)) {
1190 } else {
1191 fprintf(stderr, "Assert failed");
1192 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 138);
1193 nit_exit(1);
1194 }
1195 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[0])(fra.me.REG[0]);
1196 REGB4 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_AModule, ID_AModule)) /*cast AModule*/;
1197 /* ./parser//parser.nit:140 */
1198 if (UNTAG_Bool(REGB4)) {
1199 } else {
1200 fprintf(stderr, "Assert failed");
1201 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 140);
1202 nit_exit(1);
1203 }
1204 fra.me.REG[4] = NEW_Start_parser_prod___Start___init(fra.me.REG[5], fra.me.REG[4]);
1205 fra.me.REG[5] = NEW_ComputeProdLocationVisitor_parser___ComputeProdLocationVisitor___init();
1206 /* ./parser//parser.nit:142 */
1207 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1208 fra.me.REG[3] = fra.me.REG[4];
1209 /* ./parser//parser.nit:143 */
1210 goto label1;
1211 } else {
1212 REGB4 = TAG_Int(3);
1213 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB4));
1214 /* ./parser//parser.nit:144 */
1215 if (UNTAG_Bool(REGB2)) {
1216 } else {
1217 REGB4 = TAG_Bool((REGB1)==(REGB4));
1218 REGB2 = REGB4;
1219 /* ./parser//parser.nit:144 */
1220 }
1221 if (UNTAG_Bool(REGB2)) {
1222 /* ./parser//parser.nit:145 */
1223 if (!once_value_11) {
1224 fra.me.REG[4] = BOX_NativeString("Syntax error: unexpected token.");
1225 REGB2 = TAG_Int(31);
1226 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB2);
1227 once_value_11 = fra.me.REG[4];
1228 register_static_object(&once_value_11);
1229 } else fra.me.REG[4] = once_value_11;
1230 fra.me.REG[2] = CALL_parser_nodes___ANode___location(fra.me.REG[2])(fra.me.REG[2]);
1231 fra.me.REG[2] = NEW_AError_lexer___AError___init_error(fra.me.REG[4], fra.me.REG[2]);
1232 fra.me.REG[2] = NEW_Start_parser_prod___Start___init(NIT_NULL, fra.me.REG[2]);
1233 fra.me.REG[3] = fra.me.REG[2];
1234 /* ./parser//parser.nit:147 */
1235 goto label1;
1236 }
1237 }
1238 }
1239 }
1240 } else {
1241 /* ./parser//parser.nit:103 */
1242 goto label12;
1243 }
1244 }
1245 label12: while(0);
1246 /* ./parser//parser.nit:150 */
1247 fprintf(stderr, "Aborted");
1248 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 150);
1249 nit_exit(1);
1250 label1: while(0);
1251 stack_frame_head = fra.me.prev;
1252 return fra.me.REG[3];
1253 }
1254 void parser___Parser___build_reduce_table(val_t p0){
1255 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1256 val_t REGB0;
1257 val_t tmp;
1258 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1259 fra.me.file = LOCATE_parser;
1260 fra.me.line = 154;
1261 fra.me.meth = LOCATE_parser___Parser___build_reduce_table;
1262 fra.me.has_broke = 0;
1263 fra.me.REG_size = 3;
1264 fra.me.REG[0] = NIT_NULL;
1265 fra.me.REG[1] = NIT_NULL;
1266 fra.me.REG[2] = NIT_NULL;
1267 fra.me.REG[0] = p0;
1268 REGB0 = TAG_Int(1193);
1269 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
1270 fra.me.REG[2] = NEW_ReduceAction0_parser___ReduceAction0___init();
1271 /* ./parser//parser.nit:156 */
1272 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1273 fra.me.REG[2] = NEW_ReduceAction1_parser___ReduceAction1___init();
1274 /* ./parser//parser.nit:156 */
1275 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1276 fra.me.REG[2] = NEW_ReduceAction2_parser___ReduceAction2___init();
1277 /* ./parser//parser.nit:156 */
1278 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1279 fra.me.REG[2] = NEW_ReduceAction3_parser___ReduceAction3___init();
1280 /* ./parser//parser.nit:156 */
1281 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1282 fra.me.REG[2] = NEW_ReduceAction4_parser___ReduceAction4___init();
1283 /* ./parser//parser.nit:156 */
1284 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1285 fra.me.REG[2] = NEW_ReduceAction5_parser___ReduceAction5___init();
1286 /* ./parser//parser.nit:156 */
1287 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1288 fra.me.REG[2] = NEW_ReduceAction6_parser___ReduceAction6___init();
1289 /* ./parser//parser.nit:156 */
1290 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1291 fra.me.REG[2] = NEW_ReduceAction7_parser___ReduceAction7___init();
1292 /* ./parser//parser.nit:156 */
1293 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1294 fra.me.REG[2] = NEW_ReduceAction8_parser___ReduceAction8___init();
1295 /* ./parser//parser.nit:156 */
1296 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1297 fra.me.REG[2] = NEW_ReduceAction9_parser___ReduceAction9___init();
1298 /* ./parser//parser.nit:156 */
1299 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1300 fra.me.REG[2] = NEW_ReduceAction10_parser___ReduceAction10___init();
1301 /* ./parser//parser.nit:156 */
1302 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1303 fra.me.REG[2] = NEW_ReduceAction11_parser___ReduceAction11___init();
1304 /* ./parser//parser.nit:156 */
1305 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1306 fra.me.REG[2] = NEW_ReduceAction12_parser___ReduceAction12___init();
1307 /* ./parser//parser.nit:156 */
1308 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1309 fra.me.REG[2] = NEW_ReduceAction13_parser___ReduceAction13___init();
1310 /* ./parser//parser.nit:156 */
1311 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1312 fra.me.REG[2] = NEW_ReduceAction14_parser___ReduceAction14___init();
1313 /* ./parser//parser.nit:156 */
1314 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1315 fra.me.REG[2] = NEW_ReduceAction15_parser___ReduceAction15___init();
1316 /* ./parser//parser.nit:156 */
1317 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1318 fra.me.REG[2] = NEW_ReduceAction16_parser___ReduceAction16___init();
1319 /* ./parser//parser.nit:156 */
1320 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1321 fra.me.REG[2] = NEW_ReduceAction17_parser___ReduceAction17___init();
1322 /* ./parser//parser.nit:156 */
1323 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1324 fra.me.REG[2] = NEW_ReduceAction18_parser___ReduceAction18___init();
1325 /* ./parser//parser.nit:156 */
1326 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1327 fra.me.REG[2] = NEW_ReduceAction19_parser___ReduceAction19___init();
1328 /* ./parser//parser.nit:156 */
1329 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1330 fra.me.REG[2] = NEW_ReduceAction20_parser___ReduceAction20___init();
1331 /* ./parser//parser.nit:156 */
1332 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1333 fra.me.REG[2] = NEW_ReduceAction21_parser___ReduceAction21___init();
1334 /* ./parser//parser.nit:156 */
1335 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1336 fra.me.REG[2] = NEW_ReduceAction22_parser___ReduceAction22___init();
1337 /* ./parser//parser.nit:156 */
1338 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1339 fra.me.REG[2] = NEW_ReduceAction23_parser___ReduceAction23___init();
1340 /* ./parser//parser.nit:156 */
1341 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1342 fra.me.REG[2] = NEW_ReduceAction24_parser___ReduceAction24___init();
1343 /* ./parser//parser.nit:156 */
1344 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1345 fra.me.REG[2] = NEW_ReduceAction25_parser___ReduceAction25___init();
1346 /* ./parser//parser.nit:156 */
1347 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1348 fra.me.REG[2] = NEW_ReduceAction26_parser___ReduceAction26___init();
1349 /* ./parser//parser.nit:156 */
1350 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1351 fra.me.REG[2] = NEW_ReduceAction27_parser___ReduceAction27___init();
1352 /* ./parser//parser.nit:156 */
1353 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1354 fra.me.REG[2] = NEW_ReduceAction28_parser___ReduceAction28___init();
1355 /* ./parser//parser.nit:156 */
1356 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1357 fra.me.REG[2] = NEW_ReduceAction29_parser___ReduceAction29___init();
1358 /* ./parser//parser.nit:156 */
1359 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1360 fra.me.REG[2] = NEW_ReduceAction30_parser___ReduceAction30___init();
1361 /* ./parser//parser.nit:156 */
1362 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1363 fra.me.REG[2] = NEW_ReduceAction31_parser___ReduceAction31___init();
1364 /* ./parser//parser.nit:156 */
1365 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1366 fra.me.REG[2] = NEW_ReduceAction32_parser___ReduceAction32___init();
1367 /* ./parser//parser.nit:156 */
1368 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1369 fra.me.REG[2] = NEW_ReduceAction33_parser___ReduceAction33___init();
1370 /* ./parser//parser.nit:156 */
1371 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1372 fra.me.REG[2] = NEW_ReduceAction34_parser___ReduceAction34___init();
1373 /* ./parser//parser.nit:156 */
1374 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1375 fra.me.REG[2] = NEW_ReduceAction35_parser___ReduceAction35___init();
1376 /* ./parser//parser.nit:156 */
1377 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1378 fra.me.REG[2] = NEW_ReduceAction36_parser___ReduceAction36___init();
1379 /* ./parser//parser.nit:156 */
1380 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1381 fra.me.REG[2] = NEW_ReduceAction37_parser___ReduceAction37___init();
1382 /* ./parser//parser.nit:156 */
1383 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1384 fra.me.REG[2] = NEW_ReduceAction38_parser___ReduceAction38___init();
1385 /* ./parser//parser.nit:156 */
1386 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1387 fra.me.REG[2] = NEW_ReduceAction39_parser___ReduceAction39___init();
1388 /* ./parser//parser.nit:156 */
1389 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1390 fra.me.REG[2] = NEW_ReduceAction40_parser___ReduceAction40___init();
1391 /* ./parser//parser.nit:156 */
1392 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1393 fra.me.REG[2] = NEW_ReduceAction41_parser___ReduceAction41___init();
1394 /* ./parser//parser.nit:156 */
1395 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1396 fra.me.REG[2] = NEW_ReduceAction42_parser___ReduceAction42___init();
1397 /* ./parser//parser.nit:156 */
1398 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1399 fra.me.REG[2] = NEW_ReduceAction43_parser___ReduceAction43___init();
1400 /* ./parser//parser.nit:156 */
1401 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1402 fra.me.REG[2] = NEW_ReduceAction44_parser___ReduceAction44___init();
1403 /* ./parser//parser.nit:156 */
1404 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1405 fra.me.REG[2] = NEW_ReduceAction45_parser___ReduceAction45___init();
1406 /* ./parser//parser.nit:156 */
1407 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1408 fra.me.REG[2] = NEW_ReduceAction46_parser___ReduceAction46___init();
1409 /* ./parser//parser.nit:156 */
1410 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1411 fra.me.REG[2] = NEW_ReduceAction47_parser___ReduceAction47___init();
1412 /* ./parser//parser.nit:156 */
1413 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1414 fra.me.REG[2] = NEW_ReduceAction48_parser___ReduceAction48___init();
1415 /* ./parser//parser.nit:156 */
1416 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1417 fra.me.REG[2] = NEW_ReduceAction49_parser___ReduceAction49___init();
1418 /* ./parser//parser.nit:156 */
1419 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1420 fra.me.REG[2] = NEW_ReduceAction50_parser___ReduceAction50___init();
1421 /* ./parser//parser.nit:156 */
1422 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1423 fra.me.REG[2] = NEW_ReduceAction51_parser___ReduceAction51___init();
1424 /* ./parser//parser.nit:156 */
1425 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1426 fra.me.REG[2] = NEW_ReduceAction52_parser___ReduceAction52___init();
1427 /* ./parser//parser.nit:156 */
1428 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1429 fra.me.REG[2] = NEW_ReduceAction53_parser___ReduceAction53___init();
1430 /* ./parser//parser.nit:156 */
1431 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1432 fra.me.REG[2] = NEW_ReduceAction54_parser___ReduceAction54___init();
1433 /* ./parser//parser.nit:156 */
1434 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1435 fra.me.REG[2] = NEW_ReduceAction55_parser___ReduceAction55___init();
1436 /* ./parser//parser.nit:156 */
1437 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1438 fra.me.REG[2] = NEW_ReduceAction56_parser___ReduceAction56___init();
1439 /* ./parser//parser.nit:156 */
1440 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1441 fra.me.REG[2] = NEW_ReduceAction57_parser___ReduceAction57___init();
1442 /* ./parser//parser.nit:156 */
1443 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1444 fra.me.REG[2] = NEW_ReduceAction58_parser___ReduceAction58___init();
1445 /* ./parser//parser.nit:156 */
1446 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1447 fra.me.REG[2] = NEW_ReduceAction59_parser___ReduceAction59___init();
1448 /* ./parser//parser.nit:156 */
1449 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1450 fra.me.REG[2] = NEW_ReduceAction60_parser___ReduceAction60___init();
1451 /* ./parser//parser.nit:156 */
1452 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1453 fra.me.REG[2] = NEW_ReduceAction61_parser___ReduceAction61___init();
1454 /* ./parser//parser.nit:156 */
1455 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1456 fra.me.REG[2] = NEW_ReduceAction62_parser___ReduceAction62___init();
1457 /* ./parser//parser.nit:156 */
1458 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1459 fra.me.REG[2] = NEW_ReduceAction63_parser___ReduceAction63___init();
1460 /* ./parser//parser.nit:156 */
1461 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1462 fra.me.REG[2] = NEW_ReduceAction64_parser___ReduceAction64___init();
1463 /* ./parser//parser.nit:156 */
1464 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1465 fra.me.REG[2] = NEW_ReduceAction65_parser___ReduceAction65___init();
1466 /* ./parser//parser.nit:156 */
1467 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1468 fra.me.REG[2] = NEW_ReduceAction66_parser___ReduceAction66___init();
1469 /* ./parser//parser.nit:156 */
1470 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1471 fra.me.REG[2] = NEW_ReduceAction67_parser___ReduceAction67___init();
1472 /* ./parser//parser.nit:156 */
1473 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1474 fra.me.REG[2] = NEW_ReduceAction68_parser___ReduceAction68___init();
1475 /* ./parser//parser.nit:156 */
1476 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1477 fra.me.REG[2] = NEW_ReduceAction69_parser___ReduceAction69___init();
1478 /* ./parser//parser.nit:156 */
1479 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1480 fra.me.REG[2] = NEW_ReduceAction70_parser___ReduceAction70___init();
1481 /* ./parser//parser.nit:156 */
1482 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1483 fra.me.REG[2] = NEW_ReduceAction71_parser___ReduceAction71___init();
1484 /* ./parser//parser.nit:156 */
1485 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1486 fra.me.REG[2] = NEW_ReduceAction72_parser___ReduceAction72___init();
1487 /* ./parser//parser.nit:156 */
1488 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1489 fra.me.REG[2] = NEW_ReduceAction73_parser___ReduceAction73___init();
1490 /* ./parser//parser.nit:156 */
1491 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1492 fra.me.REG[2] = NEW_ReduceAction74_parser___ReduceAction74___init();
1493 /* ./parser//parser.nit:156 */
1494 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1495 fra.me.REG[2] = NEW_ReduceAction75_parser___ReduceAction75___init();
1496 /* ./parser//parser.nit:156 */
1497 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1498 fra.me.REG[2] = NEW_ReduceAction76_parser___ReduceAction76___init();
1499 /* ./parser//parser.nit:156 */
1500 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1501 fra.me.REG[2] = NEW_ReduceAction77_parser___ReduceAction77___init();
1502 /* ./parser//parser.nit:156 */
1503 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1504 fra.me.REG[2] = NEW_ReduceAction78_parser___ReduceAction78___init();
1505 /* ./parser//parser.nit:156 */
1506 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1507 fra.me.REG[2] = NEW_ReduceAction79_parser___ReduceAction79___init();
1508 /* ./parser//parser.nit:156 */
1509 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1510 fra.me.REG[2] = NEW_ReduceAction80_parser___ReduceAction80___init();
1511 /* ./parser//parser.nit:156 */
1512 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1513 fra.me.REG[2] = NEW_ReduceAction81_parser___ReduceAction81___init();
1514 /* ./parser//parser.nit:156 */
1515 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1516 fra.me.REG[2] = NEW_ReduceAction82_parser___ReduceAction82___init();
1517 /* ./parser//parser.nit:156 */
1518 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1519 fra.me.REG[2] = NEW_ReduceAction83_parser___ReduceAction83___init();
1520 /* ./parser//parser.nit:156 */
1521 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1522 fra.me.REG[2] = NEW_ReduceAction84_parser___ReduceAction84___init();
1523 /* ./parser//parser.nit:156 */
1524 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1525 fra.me.REG[2] = NEW_ReduceAction85_parser___ReduceAction85___init();
1526 /* ./parser//parser.nit:156 */
1527 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1528 fra.me.REG[2] = NEW_ReduceAction86_parser___ReduceAction86___init();
1529 /* ./parser//parser.nit:156 */
1530 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1531 fra.me.REG[2] = NEW_ReduceAction87_parser___ReduceAction87___init();
1532 /* ./parser//parser.nit:156 */
1533 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1534 fra.me.REG[2] = NEW_ReduceAction88_parser___ReduceAction88___init();
1535 /* ./parser//parser.nit:156 */
1536 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1537 fra.me.REG[2] = NEW_ReduceAction89_parser___ReduceAction89___init();
1538 /* ./parser//parser.nit:156 */
1539 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1540 fra.me.REG[2] = NEW_ReduceAction90_parser___ReduceAction90___init();
1541 /* ./parser//parser.nit:156 */
1542 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1543 fra.me.REG[2] = NEW_ReduceAction91_parser___ReduceAction91___init();
1544 /* ./parser//parser.nit:156 */
1545 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1546 fra.me.REG[2] = NEW_ReduceAction92_parser___ReduceAction92___init();
1547 /* ./parser//parser.nit:156 */
1548 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1549 fra.me.REG[2] = NEW_ReduceAction93_parser___ReduceAction93___init();
1550 /* ./parser//parser.nit:156 */
1551 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1552 fra.me.REG[2] = NEW_ReduceAction94_parser___ReduceAction94___init();
1553 /* ./parser//parser.nit:156 */
1554 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1555 fra.me.REG[2] = NEW_ReduceAction95_parser___ReduceAction95___init();
1556 /* ./parser//parser.nit:156 */
1557 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1558 fra.me.REG[2] = NEW_ReduceAction96_parser___ReduceAction96___init();
1559 /* ./parser//parser.nit:156 */
1560 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1561 fra.me.REG[2] = NEW_ReduceAction97_parser___ReduceAction97___init();
1562 /* ./parser//parser.nit:156 */
1563 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1564 fra.me.REG[2] = NEW_ReduceAction98_parser___ReduceAction98___init();
1565 /* ./parser//parser.nit:156 */
1566 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1567 fra.me.REG[2] = NEW_ReduceAction99_parser___ReduceAction99___init();
1568 /* ./parser//parser.nit:156 */
1569 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1570 fra.me.REG[2] = NEW_ReduceAction100_parser___ReduceAction100___init();
1571 /* ./parser//parser.nit:156 */
1572 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1573 fra.me.REG[2] = NEW_ReduceAction101_parser___ReduceAction101___init();
1574 /* ./parser//parser.nit:156 */
1575 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1576 fra.me.REG[2] = NEW_ReduceAction102_parser___ReduceAction102___init();
1577 /* ./parser//parser.nit:156 */
1578 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1579 fra.me.REG[2] = NEW_ReduceAction103_parser___ReduceAction103___init();
1580 /* ./parser//parser.nit:156 */
1581 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1582 fra.me.REG[2] = NEW_ReduceAction104_parser___ReduceAction104___init();
1583 /* ./parser//parser.nit:156 */
1584 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1585 fra.me.REG[2] = NEW_ReduceAction105_parser___ReduceAction105___init();
1586 /* ./parser//parser.nit:156 */
1587 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1588 fra.me.REG[2] = NEW_ReduceAction106_parser___ReduceAction106___init();
1589 /* ./parser//parser.nit:156 */
1590 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1591 fra.me.REG[2] = NEW_ReduceAction107_parser___ReduceAction107___init();
1592 /* ./parser//parser.nit:156 */
1593 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1594 fra.me.REG[2] = NEW_ReduceAction108_parser___ReduceAction108___init();
1595 /* ./parser//parser.nit:156 */
1596 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1597 fra.me.REG[2] = NEW_ReduceAction109_parser___ReduceAction109___init();
1598 /* ./parser//parser.nit:156 */
1599 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1600 fra.me.REG[2] = NEW_ReduceAction110_parser___ReduceAction110___init();
1601 /* ./parser//parser.nit:156 */
1602 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1603 fra.me.REG[2] = NEW_ReduceAction111_parser___ReduceAction111___init();
1604 /* ./parser//parser.nit:156 */
1605 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1606 fra.me.REG[2] = NEW_ReduceAction112_parser___ReduceAction112___init();
1607 /* ./parser//parser.nit:156 */
1608 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1609 fra.me.REG[2] = NEW_ReduceAction113_parser___ReduceAction113___init();
1610 /* ./parser//parser.nit:156 */
1611 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1612 fra.me.REG[2] = NEW_ReduceAction114_parser___ReduceAction114___init();
1613 /* ./parser//parser.nit:156 */
1614 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1615 fra.me.REG[2] = NEW_ReduceAction115_parser___ReduceAction115___init();
1616 /* ./parser//parser.nit:156 */
1617 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1618 fra.me.REG[2] = NEW_ReduceAction116_parser___ReduceAction116___init();
1619 /* ./parser//parser.nit:156 */
1620 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1621 fra.me.REG[2] = NEW_ReduceAction117_parser___ReduceAction117___init();
1622 /* ./parser//parser.nit:156 */
1623 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1624 fra.me.REG[2] = NEW_ReduceAction118_parser___ReduceAction118___init();
1625 /* ./parser//parser.nit:156 */
1626 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1627 fra.me.REG[2] = NEW_ReduceAction119_parser___ReduceAction119___init();
1628 /* ./parser//parser.nit:156 */
1629 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1630 fra.me.REG[2] = NEW_ReduceAction120_parser___ReduceAction120___init();
1631 /* ./parser//parser.nit:156 */
1632 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1633 fra.me.REG[2] = NEW_ReduceAction121_parser___ReduceAction121___init();
1634 /* ./parser//parser.nit:156 */
1635 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1636 fra.me.REG[2] = NEW_ReduceAction122_parser___ReduceAction122___init();
1637 /* ./parser//parser.nit:156 */
1638 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1639 fra.me.REG[2] = NEW_ReduceAction123_parser___ReduceAction123___init();
1640 /* ./parser//parser.nit:156 */
1641 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1642 fra.me.REG[2] = NEW_ReduceAction124_parser___ReduceAction124___init();
1643 /* ./parser//parser.nit:156 */
1644 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1645 fra.me.REG[2] = NEW_ReduceAction125_parser___ReduceAction125___init();
1646 /* ./parser//parser.nit:156 */
1647 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1648 fra.me.REG[2] = NEW_ReduceAction126_parser___ReduceAction126___init();
1649 /* ./parser//parser.nit:156 */
1650 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1651 fra.me.REG[2] = NEW_ReduceAction127_parser___ReduceAction127___init();
1652 /* ./parser//parser.nit:156 */
1653 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1654 fra.me.REG[2] = NEW_ReduceAction128_parser___ReduceAction128___init();
1655 /* ./parser//parser.nit:156 */
1656 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1657 fra.me.REG[2] = NEW_ReduceAction129_parser___ReduceAction129___init();
1658 /* ./parser//parser.nit:156 */
1659 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1660 fra.me.REG[2] = NEW_ReduceAction130_parser___ReduceAction130___init();
1661 /* ./parser//parser.nit:156 */
1662 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1663 fra.me.REG[2] = NEW_ReduceAction131_parser___ReduceAction131___init();
1664 /* ./parser//parser.nit:156 */
1665 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1666 fra.me.REG[2] = NEW_ReduceAction132_parser___ReduceAction132___init();
1667 /* ./parser//parser.nit:156 */
1668 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1669 fra.me.REG[2] = NEW_ReduceAction133_parser___ReduceAction133___init();
1670 /* ./parser//parser.nit:156 */
1671 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1672 fra.me.REG[2] = NEW_ReduceAction134_parser___ReduceAction134___init();
1673 /* ./parser//parser.nit:156 */
1674 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1675 fra.me.REG[2] = NEW_ReduceAction135_parser___ReduceAction135___init();
1676 /* ./parser//parser.nit:156 */
1677 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1678 fra.me.REG[2] = NEW_ReduceAction136_parser___ReduceAction136___init();
1679 /* ./parser//parser.nit:156 */
1680 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1681 fra.me.REG[2] = NEW_ReduceAction137_parser___ReduceAction137___init();
1682 /* ./parser//parser.nit:156 */
1683 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1684 fra.me.REG[2] = NEW_ReduceAction138_parser___ReduceAction138___init();
1685 /* ./parser//parser.nit:156 */
1686 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1687 fra.me.REG[2] = NEW_ReduceAction139_parser___ReduceAction139___init();
1688 /* ./parser//parser.nit:156 */
1689 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1690 fra.me.REG[2] = NEW_ReduceAction140_parser___ReduceAction140___init();
1691 /* ./parser//parser.nit:156 */
1692 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1693 fra.me.REG[2] = NEW_ReduceAction141_parser___ReduceAction141___init();
1694 /* ./parser//parser.nit:156 */
1695 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1696 fra.me.REG[2] = NEW_ReduceAction142_parser___ReduceAction142___init();
1697 /* ./parser//parser.nit:156 */
1698 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1699 fra.me.REG[2] = NEW_ReduceAction143_parser___ReduceAction143___init();
1700 /* ./parser//parser.nit:156 */
1701 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1702 fra.me.REG[2] = NEW_ReduceAction144_parser___ReduceAction144___init();
1703 /* ./parser//parser.nit:156 */
1704 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1705 fra.me.REG[2] = NEW_ReduceAction145_parser___ReduceAction145___init();
1706 /* ./parser//parser.nit:156 */
1707 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1708 fra.me.REG[2] = NEW_ReduceAction146_parser___ReduceAction146___init();
1709 /* ./parser//parser.nit:156 */
1710 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1711 fra.me.REG[2] = NEW_ReduceAction147_parser___ReduceAction147___init();
1712 /* ./parser//parser.nit:156 */
1713 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1714 fra.me.REG[2] = NEW_ReduceAction148_parser___ReduceAction148___init();
1715 /* ./parser//parser.nit:156 */
1716 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1717 fra.me.REG[2] = NEW_ReduceAction149_parser___ReduceAction149___init();
1718 /* ./parser//parser.nit:156 */
1719 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1720 fra.me.REG[2] = NEW_ReduceAction150_parser___ReduceAction150___init();
1721 /* ./parser//parser.nit:156 */
1722 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1723 fra.me.REG[2] = NEW_ReduceAction151_parser___ReduceAction151___init();
1724 /* ./parser//parser.nit:156 */
1725 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1726 fra.me.REG[2] = NEW_ReduceAction152_parser___ReduceAction152___init();
1727 /* ./parser//parser.nit:156 */
1728 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1729 fra.me.REG[2] = NEW_ReduceAction153_parser___ReduceAction153___init();
1730 /* ./parser//parser.nit:156 */
1731 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1732 fra.me.REG[2] = NEW_ReduceAction154_parser___ReduceAction154___init();
1733 /* ./parser//parser.nit:156 */
1734 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1735 fra.me.REG[2] = NEW_ReduceAction155_parser___ReduceAction155___init();
1736 /* ./parser//parser.nit:156 */
1737 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1738 fra.me.REG[2] = NEW_ReduceAction156_parser___ReduceAction156___init();
1739 /* ./parser//parser.nit:156 */
1740 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1741 fra.me.REG[2] = NEW_ReduceAction157_parser___ReduceAction157___init();
1742 /* ./parser//parser.nit:156 */
1743 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1744 fra.me.REG[2] = NEW_ReduceAction158_parser___ReduceAction158___init();
1745 /* ./parser//parser.nit:156 */
1746 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1747 fra.me.REG[2] = NEW_ReduceAction159_parser___ReduceAction159___init();
1748 /* ./parser//parser.nit:156 */
1749 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1750 fra.me.REG[2] = NEW_ReduceAction160_parser___ReduceAction160___init();
1751 /* ./parser//parser.nit:156 */
1752 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1753 fra.me.REG[2] = NEW_ReduceAction161_parser___ReduceAction161___init();
1754 /* ./parser//parser.nit:156 */
1755 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1756 fra.me.REG[2] = NEW_ReduceAction162_parser___ReduceAction162___init();
1757 /* ./parser//parser.nit:156 */
1758 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1759 fra.me.REG[2] = NEW_ReduceAction163_parser___ReduceAction163___init();
1760 /* ./parser//parser.nit:156 */
1761 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1762 fra.me.REG[2] = NEW_ReduceAction164_parser___ReduceAction164___init();
1763 /* ./parser//parser.nit:156 */
1764 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1765 fra.me.REG[2] = NEW_ReduceAction165_parser___ReduceAction165___init();
1766 /* ./parser//parser.nit:156 */
1767 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1768 fra.me.REG[2] = NEW_ReduceAction166_parser___ReduceAction166___init();
1769 /* ./parser//parser.nit:156 */
1770 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1771 fra.me.REG[2] = NEW_ReduceAction167_parser___ReduceAction167___init();
1772 /* ./parser//parser.nit:156 */
1773 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1774 fra.me.REG[2] = NEW_ReduceAction168_parser___ReduceAction168___init();
1775 /* ./parser//parser.nit:156 */
1776 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1777 fra.me.REG[2] = NEW_ReduceAction169_parser___ReduceAction169___init();
1778 /* ./parser//parser.nit:156 */
1779 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1780 fra.me.REG[2] = NEW_ReduceAction170_parser___ReduceAction170___init();
1781 /* ./parser//parser.nit:156 */
1782 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1783 fra.me.REG[2] = NEW_ReduceAction171_parser___ReduceAction171___init();
1784 /* ./parser//parser.nit:156 */
1785 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1786 fra.me.REG[2] = NEW_ReduceAction172_parser___ReduceAction172___init();
1787 /* ./parser//parser.nit:156 */
1788 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1789 fra.me.REG[2] = NEW_ReduceAction173_parser___ReduceAction173___init();
1790 /* ./parser//parser.nit:156 */
1791 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1792 fra.me.REG[2] = NEW_ReduceAction174_parser___ReduceAction174___init();
1793 /* ./parser//parser.nit:156 */
1794 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1795 fra.me.REG[2] = NEW_ReduceAction175_parser___ReduceAction175___init();
1796 /* ./parser//parser.nit:156 */
1797 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1798 fra.me.REG[2] = NEW_ReduceAction176_parser___ReduceAction176___init();
1799 /* ./parser//parser.nit:156 */
1800 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1801 fra.me.REG[2] = NEW_ReduceAction177_parser___ReduceAction177___init();
1802 /* ./parser//parser.nit:156 */
1803 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1804 fra.me.REG[2] = NEW_ReduceAction178_parser___ReduceAction178___init();
1805 /* ./parser//parser.nit:156 */
1806 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1807 fra.me.REG[2] = NEW_ReduceAction179_parser___ReduceAction179___init();
1808 /* ./parser//parser.nit:156 */
1809 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1810 fra.me.REG[2] = NEW_ReduceAction180_parser___ReduceAction180___init();
1811 /* ./parser//parser.nit:156 */
1812 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1813 fra.me.REG[2] = NEW_ReduceAction181_parser___ReduceAction181___init();
1814 /* ./parser//parser.nit:156 */
1815 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1816 fra.me.REG[2] = NEW_ReduceAction182_parser___ReduceAction182___init();
1817 /* ./parser//parser.nit:156 */
1818 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1819 fra.me.REG[2] = NEW_ReduceAction183_parser___ReduceAction183___init();
1820 /* ./parser//parser.nit:156 */
1821 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1822 fra.me.REG[2] = NEW_ReduceAction184_parser___ReduceAction184___init();
1823 /* ./parser//parser.nit:156 */
1824 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1825 fra.me.REG[2] = NEW_ReduceAction185_parser___ReduceAction185___init();
1826 /* ./parser//parser.nit:156 */
1827 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1828 fra.me.REG[2] = NEW_ReduceAction186_parser___ReduceAction186___init();
1829 /* ./parser//parser.nit:156 */
1830 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1831 fra.me.REG[2] = NEW_ReduceAction187_parser___ReduceAction187___init();
1832 /* ./parser//parser.nit:156 */
1833 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1834 fra.me.REG[2] = NEW_ReduceAction188_parser___ReduceAction188___init();
1835 /* ./parser//parser.nit:156 */
1836 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1837 fra.me.REG[2] = NEW_ReduceAction189_parser___ReduceAction189___init();
1838 /* ./parser//parser.nit:156 */
1839 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1840 fra.me.REG[2] = NEW_ReduceAction190_parser___ReduceAction190___init();
1841 /* ./parser//parser.nit:156 */
1842 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1843 fra.me.REG[2] = NEW_ReduceAction191_parser___ReduceAction191___init();
1844 /* ./parser//parser.nit:156 */
1845 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1846 fra.me.REG[2] = NEW_ReduceAction192_parser___ReduceAction192___init();
1847 /* ./parser//parser.nit:156 */
1848 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1849 fra.me.REG[2] = NEW_ReduceAction193_parser___ReduceAction193___init();
1850 /* ./parser//parser.nit:156 */
1851 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1852 fra.me.REG[2] = NEW_ReduceAction194_parser___ReduceAction194___init();
1853 /* ./parser//parser.nit:156 */
1854 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1855 fra.me.REG[2] = NEW_ReduceAction195_parser___ReduceAction195___init();
1856 /* ./parser//parser.nit:156 */
1857 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1858 fra.me.REG[2] = NEW_ReduceAction196_parser___ReduceAction196___init();
1859 /* ./parser//parser.nit:156 */
1860 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1861 fra.me.REG[2] = NEW_ReduceAction197_parser___ReduceAction197___init();
1862 /* ./parser//parser.nit:156 */
1863 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1864 fra.me.REG[2] = NEW_ReduceAction198_parser___ReduceAction198___init();
1865 /* ./parser//parser.nit:156 */
1866 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1867 fra.me.REG[2] = NEW_ReduceAction199_parser___ReduceAction199___init();
1868 /* ./parser//parser.nit:156 */
1869 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1870 fra.me.REG[2] = NEW_ReduceAction200_parser___ReduceAction200___init();
1871 /* ./parser//parser.nit:156 */
1872 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1873 fra.me.REG[2] = NEW_ReduceAction201_parser___ReduceAction201___init();
1874 /* ./parser//parser.nit:156 */
1875 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1876 fra.me.REG[2] = NEW_ReduceAction202_parser___ReduceAction202___init();
1877 /* ./parser//parser.nit:156 */
1878 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1879 fra.me.REG[2] = NEW_ReduceAction203_parser___ReduceAction203___init();
1880 /* ./parser//parser.nit:156 */
1881 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1882 fra.me.REG[2] = NEW_ReduceAction204_parser___ReduceAction204___init();
1883 /* ./parser//parser.nit:156 */
1884 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1885 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction205___init();
1886 /* ./parser//parser.nit:156 */
1887 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1888 fra.me.REG[2] = NEW_ReduceAction206_parser___ReduceAction206___init();
1889 /* ./parser//parser.nit:156 */
1890 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1891 fra.me.REG[2] = NEW_ReduceAction207_parser___ReduceAction207___init();
1892 /* ./parser//parser.nit:156 */
1893 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1894 fra.me.REG[2] = NEW_ReduceAction208_parser___ReduceAction208___init();
1895 /* ./parser//parser.nit:156 */
1896 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1897 fra.me.REG[2] = NEW_ReduceAction209_parser___ReduceAction209___init();
1898 /* ./parser//parser.nit:156 */
1899 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1900 fra.me.REG[2] = NEW_ReduceAction210_parser___ReduceAction210___init();
1901 /* ./parser//parser.nit:156 */
1902 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1903 fra.me.REG[2] = NEW_ReduceAction211_parser___ReduceAction211___init();
1904 /* ./parser//parser.nit:156 */
1905 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1906 fra.me.REG[2] = NEW_ReduceAction212_parser___ReduceAction212___init();
1907 /* ./parser//parser.nit:156 */
1908 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1909 fra.me.REG[2] = NEW_ReduceAction213_parser___ReduceAction213___init();
1910 /* ./parser//parser.nit:156 */
1911 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1912 fra.me.REG[2] = NEW_ReduceAction214_parser___ReduceAction214___init();
1913 /* ./parser//parser.nit:156 */
1914 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1915 fra.me.REG[2] = NEW_ReduceAction215_parser___ReduceAction215___init();
1916 /* ./parser//parser.nit:156 */
1917 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1918 fra.me.REG[2] = NEW_ReduceAction216_parser___ReduceAction216___init();
1919 /* ./parser//parser.nit:156 */
1920 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1921 fra.me.REG[2] = NEW_ReduceAction217_parser___ReduceAction217___init();
1922 /* ./parser//parser.nit:156 */
1923 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1924 fra.me.REG[2] = NEW_ReduceAction218_parser___ReduceAction218___init();
1925 /* ./parser//parser.nit:156 */
1926 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1927 fra.me.REG[2] = NEW_ReduceAction219_parser___ReduceAction219___init();
1928 /* ./parser//parser.nit:156 */
1929 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1930 fra.me.REG[2] = NEW_ReduceAction220_parser___ReduceAction220___init();
1931 /* ./parser//parser.nit:156 */
1932 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1933 fra.me.REG[2] = NEW_ReduceAction221_parser___ReduceAction221___init();
1934 /* ./parser//parser.nit:156 */
1935 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1936 fra.me.REG[2] = NEW_ReduceAction222_parser___ReduceAction222___init();
1937 /* ./parser//parser.nit:156 */
1938 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1939 fra.me.REG[2] = NEW_ReduceAction223_parser___ReduceAction223___init();
1940 /* ./parser//parser.nit:156 */
1941 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1942 fra.me.REG[2] = NEW_ReduceAction224_parser___ReduceAction224___init();
1943 /* ./parser//parser.nit:156 */
1944 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1945 fra.me.REG[2] = NEW_ReduceAction225_parser___ReduceAction225___init();
1946 /* ./parser//parser.nit:156 */
1947 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1948 fra.me.REG[2] = NEW_ReduceAction226_parser___ReduceAction226___init();
1949 /* ./parser//parser.nit:156 */
1950 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1951 fra.me.REG[2] = NEW_ReduceAction227_parser___ReduceAction227___init();
1952 /* ./parser//parser.nit:156 */
1953 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1954 fra.me.REG[2] = NEW_ReduceAction228_parser___ReduceAction228___init();
1955 /* ./parser//parser.nit:156 */
1956 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1957 fra.me.REG[2] = NEW_ReduceAction229_parser___ReduceAction229___init();
1958 /* ./parser//parser.nit:156 */
1959 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1960 fra.me.REG[2] = NEW_ReduceAction230_parser___ReduceAction230___init();
1961 /* ./parser//parser.nit:156 */
1962 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1963 fra.me.REG[2] = NEW_ReduceAction231_parser___ReduceAction231___init();
1964 /* ./parser//parser.nit:156 */
1965 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1966 fra.me.REG[2] = NEW_ReduceAction232_parser___ReduceAction232___init();
1967 /* ./parser//parser.nit:156 */
1968 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1969 fra.me.REG[2] = NEW_ReduceAction233_parser___ReduceAction233___init();
1970 /* ./parser//parser.nit:156 */
1971 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1972 fra.me.REG[2] = NEW_ReduceAction234_parser___ReduceAction234___init();
1973 /* ./parser//parser.nit:156 */
1974 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1975 fra.me.REG[2] = NEW_ReduceAction235_parser___ReduceAction235___init();
1976 /* ./parser//parser.nit:156 */
1977 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1978 fra.me.REG[2] = NEW_ReduceAction236_parser___ReduceAction236___init();
1979 /* ./parser//parser.nit:156 */
1980 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1981 fra.me.REG[2] = NEW_ReduceAction237_parser___ReduceAction237___init();
1982 /* ./parser//parser.nit:156 */
1983 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1984 fra.me.REG[2] = NEW_ReduceAction238_parser___ReduceAction238___init();
1985 /* ./parser//parser.nit:156 */
1986 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1987 fra.me.REG[2] = NEW_ReduceAction239_parser___ReduceAction239___init();
1988 /* ./parser//parser.nit:156 */
1989 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1990 fra.me.REG[2] = NEW_ReduceAction240_parser___ReduceAction240___init();
1991 /* ./parser//parser.nit:156 */
1992 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1993 fra.me.REG[2] = NEW_ReduceAction241_parser___ReduceAction241___init();
1994 /* ./parser//parser.nit:156 */
1995 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1996 fra.me.REG[2] = NEW_ReduceAction242_parser___ReduceAction242___init();
1997 /* ./parser//parser.nit:156 */
1998 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
1999 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction243___init();
2000 /* ./parser//parser.nit:156 */
2001 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2002 fra.me.REG[2] = NEW_ReduceAction244_parser___ReduceAction244___init();
2003 /* ./parser//parser.nit:156 */
2004 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2005 fra.me.REG[2] = NEW_ReduceAction245_parser___ReduceAction245___init();
2006 /* ./parser//parser.nit:156 */
2007 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2008 fra.me.REG[2] = NEW_ReduceAction246_parser___ReduceAction246___init();
2009 /* ./parser//parser.nit:156 */
2010 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2011 fra.me.REG[2] = NEW_ReduceAction247_parser___ReduceAction247___init();
2012 /* ./parser//parser.nit:156 */
2013 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2014 fra.me.REG[2] = NEW_ReduceAction248_parser___ReduceAction248___init();
2015 /* ./parser//parser.nit:156 */
2016 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2017 fra.me.REG[2] = NEW_ReduceAction249_parser___ReduceAction249___init();
2018 /* ./parser//parser.nit:156 */
2019 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2020 fra.me.REG[2] = NEW_ReduceAction250_parser___ReduceAction250___init();
2021 /* ./parser//parser.nit:156 */
2022 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2023 fra.me.REG[2] = NEW_ReduceAction251_parser___ReduceAction251___init();
2024 /* ./parser//parser.nit:156 */
2025 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2026 fra.me.REG[2] = NEW_ReduceAction252_parser___ReduceAction252___init();
2027 /* ./parser//parser.nit:156 */
2028 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2029 fra.me.REG[2] = NEW_ReduceAction253_parser___ReduceAction253___init();
2030 /* ./parser//parser.nit:156 */
2031 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2032 fra.me.REG[2] = NEW_ReduceAction254_parser___ReduceAction254___init();
2033 /* ./parser//parser.nit:156 */
2034 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2035 fra.me.REG[2] = NEW_ReduceAction255_parser___ReduceAction255___init();
2036 /* ./parser//parser.nit:156 */
2037 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2038 fra.me.REG[2] = NEW_ReduceAction256_parser___ReduceAction256___init();
2039 /* ./parser//parser.nit:156 */
2040 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2041 fra.me.REG[2] = NEW_ReduceAction257_parser___ReduceAction257___init();
2042 /* ./parser//parser.nit:156 */
2043 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2044 fra.me.REG[2] = NEW_ReduceAction258_parser___ReduceAction258___init();
2045 /* ./parser//parser.nit:156 */
2046 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2047 fra.me.REG[2] = NEW_ReduceAction259_parser___ReduceAction259___init();
2048 /* ./parser//parser.nit:156 */
2049 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2050 fra.me.REG[2] = NEW_ReduceAction260_parser___ReduceAction260___init();
2051 /* ./parser//parser.nit:156 */
2052 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2053 fra.me.REG[2] = NEW_ReduceAction261_parser___ReduceAction261___init();
2054 /* ./parser//parser.nit:156 */
2055 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2056 fra.me.REG[2] = NEW_ReduceAction262_parser___ReduceAction262___init();
2057 /* ./parser//parser.nit:156 */
2058 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2059 fra.me.REG[2] = NEW_ReduceAction263_parser___ReduceAction263___init();
2060 /* ./parser//parser.nit:156 */
2061 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2062 fra.me.REG[2] = NEW_ReduceAction264_parser___ReduceAction264___init();
2063 /* ./parser//parser.nit:156 */
2064 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2065 fra.me.REG[2] = NEW_ReduceAction265_parser___ReduceAction265___init();
2066 /* ./parser//parser.nit:156 */
2067 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2068 fra.me.REG[2] = NEW_ReduceAction266_parser___ReduceAction266___init();
2069 /* ./parser//parser.nit:156 */
2070 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2071 fra.me.REG[2] = NEW_ReduceAction267_parser___ReduceAction267___init();
2072 /* ./parser//parser.nit:156 */
2073 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2074 fra.me.REG[2] = NEW_ReduceAction268_parser___ReduceAction268___init();
2075 /* ./parser//parser.nit:156 */
2076 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2077 fra.me.REG[2] = NEW_ReduceAction269_parser___ReduceAction269___init();
2078 /* ./parser//parser.nit:156 */
2079 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2080 fra.me.REG[2] = NEW_ReduceAction270_parser___ReduceAction270___init();
2081 /* ./parser//parser.nit:156 */
2082 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2083 fra.me.REG[2] = NEW_ReduceAction271_parser___ReduceAction271___init();
2084 /* ./parser//parser.nit:156 */
2085 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2086 fra.me.REG[2] = NEW_ReduceAction272_parser___ReduceAction272___init();
2087 /* ./parser//parser.nit:156 */
2088 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2089 fra.me.REG[2] = NEW_ReduceAction273_parser___ReduceAction273___init();
2090 /* ./parser//parser.nit:156 */
2091 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2092 fra.me.REG[2] = NEW_ReduceAction274_parser___ReduceAction274___init();
2093 /* ./parser//parser.nit:156 */
2094 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2095 fra.me.REG[2] = NEW_ReduceAction275_parser___ReduceAction275___init();
2096 /* ./parser//parser.nit:156 */
2097 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2098 fra.me.REG[2] = NEW_ReduceAction276_parser___ReduceAction276___init();
2099 /* ./parser//parser.nit:156 */
2100 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2101 fra.me.REG[2] = NEW_ReduceAction277_parser___ReduceAction277___init();
2102 /* ./parser//parser.nit:156 */
2103 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2104 fra.me.REG[2] = NEW_ReduceAction278_parser___ReduceAction278___init();
2105 /* ./parser//parser.nit:156 */
2106 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2107 fra.me.REG[2] = NEW_ReduceAction279_parser___ReduceAction279___init();
2108 /* ./parser//parser.nit:156 */
2109 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2110 fra.me.REG[2] = NEW_ReduceAction280_parser___ReduceAction280___init();
2111 /* ./parser//parser.nit:156 */
2112 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2113 fra.me.REG[2] = NEW_ReduceAction281_parser___ReduceAction281___init();
2114 /* ./parser//parser.nit:156 */
2115 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2116 fra.me.REG[2] = NEW_ReduceAction282_parser___ReduceAction282___init();
2117 /* ./parser//parser.nit:156 */
2118 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2119 fra.me.REG[2] = NEW_ReduceAction283_parser___ReduceAction283___init();
2120 /* ./parser//parser.nit:156 */
2121 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2122 fra.me.REG[2] = NEW_ReduceAction284_parser___ReduceAction284___init();
2123 /* ./parser//parser.nit:156 */
2124 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2125 fra.me.REG[2] = NEW_ReduceAction285_parser___ReduceAction285___init();
2126 /* ./parser//parser.nit:156 */
2127 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2128 fra.me.REG[2] = NEW_ReduceAction286_parser___ReduceAction286___init();
2129 /* ./parser//parser.nit:156 */
2130 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2131 fra.me.REG[2] = NEW_ReduceAction287_parser___ReduceAction287___init();
2132 /* ./parser//parser.nit:156 */
2133 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2134 fra.me.REG[2] = NEW_ReduceAction288_parser___ReduceAction288___init();
2135 /* ./parser//parser.nit:156 */
2136 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2137 fra.me.REG[2] = NEW_ReduceAction289_parser___ReduceAction289___init();
2138 /* ./parser//parser.nit:156 */
2139 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2140 fra.me.REG[2] = NEW_ReduceAction290_parser___ReduceAction290___init();
2141 /* ./parser//parser.nit:156 */
2142 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2143 fra.me.REG[2] = NEW_ReduceAction291_parser___ReduceAction291___init();
2144 /* ./parser//parser.nit:156 */
2145 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2146 fra.me.REG[2] = NEW_ReduceAction292_parser___ReduceAction292___init();
2147 /* ./parser//parser.nit:156 */
2148 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2149 fra.me.REG[2] = NEW_ReduceAction293_parser___ReduceAction293___init();
2150 /* ./parser//parser.nit:156 */
2151 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2152 fra.me.REG[2] = NEW_ReduceAction294_parser___ReduceAction294___init();
2153 /* ./parser//parser.nit:156 */
2154 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2155 fra.me.REG[2] = NEW_ReduceAction295_parser___ReduceAction295___init();
2156 /* ./parser//parser.nit:156 */
2157 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2158 fra.me.REG[2] = NEW_ReduceAction296_parser___ReduceAction296___init();
2159 /* ./parser//parser.nit:156 */
2160 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2161 fra.me.REG[2] = NEW_ReduceAction297_parser___ReduceAction297___init();
2162 /* ./parser//parser.nit:156 */
2163 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2164 fra.me.REG[2] = NEW_ReduceAction298_parser___ReduceAction298___init();
2165 /* ./parser//parser.nit:156 */
2166 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2167 fra.me.REG[2] = NEW_ReduceAction299_parser___ReduceAction299___init();
2168 /* ./parser//parser.nit:156 */
2169 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2170 fra.me.REG[2] = NEW_ReduceAction300_parser___ReduceAction300___init();
2171 /* ./parser//parser.nit:156 */
2172 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2173 fra.me.REG[2] = NEW_ReduceAction301_parser___ReduceAction301___init();
2174 /* ./parser//parser.nit:156 */
2175 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2176 fra.me.REG[2] = NEW_ReduceAction302_parser___ReduceAction302___init();
2177 /* ./parser//parser.nit:156 */
2178 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2179 fra.me.REG[2] = NEW_ReduceAction303_parser___ReduceAction303___init();
2180 /* ./parser//parser.nit:156 */
2181 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2182 fra.me.REG[2] = NEW_ReduceAction304_parser___ReduceAction304___init();
2183 /* ./parser//parser.nit:156 */
2184 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2185 fra.me.REG[2] = NEW_ReduceAction305_parser___ReduceAction305___init();
2186 /* ./parser//parser.nit:156 */
2187 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2188 fra.me.REG[2] = NEW_ReduceAction306_parser___ReduceAction306___init();
2189 /* ./parser//parser.nit:156 */
2190 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2191 fra.me.REG[2] = NEW_ReduceAction307_parser___ReduceAction307___init();
2192 /* ./parser//parser.nit:156 */
2193 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2194 fra.me.REG[2] = NEW_ReduceAction308_parser___ReduceAction308___init();
2195 /* ./parser//parser.nit:156 */
2196 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2197 fra.me.REG[2] = NEW_ReduceAction309_parser___ReduceAction309___init();
2198 /* ./parser//parser.nit:156 */
2199 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2200 fra.me.REG[2] = NEW_ReduceAction310_parser___ReduceAction310___init();
2201 /* ./parser//parser.nit:156 */
2202 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2203 fra.me.REG[2] = NEW_ReduceAction311_parser___ReduceAction311___init();
2204 /* ./parser//parser.nit:156 */
2205 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2206 fra.me.REG[2] = NEW_ReduceAction312_parser___ReduceAction312___init();
2207 /* ./parser//parser.nit:156 */
2208 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2209 fra.me.REG[2] = NEW_ReduceAction313_parser___ReduceAction313___init();
2210 /* ./parser//parser.nit:156 */
2211 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2212 fra.me.REG[2] = NEW_ReduceAction314_parser___ReduceAction314___init();
2213 /* ./parser//parser.nit:156 */
2214 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2215 fra.me.REG[2] = NEW_ReduceAction315_parser___ReduceAction315___init();
2216 /* ./parser//parser.nit:156 */
2217 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2218 fra.me.REG[2] = NEW_ReduceAction316_parser___ReduceAction316___init();
2219 /* ./parser//parser.nit:156 */
2220 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2221 fra.me.REG[2] = NEW_ReduceAction317_parser___ReduceAction317___init();
2222 /* ./parser//parser.nit:156 */
2223 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2224 fra.me.REG[2] = NEW_ReduceAction318_parser___ReduceAction318___init();
2225 /* ./parser//parser.nit:156 */
2226 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2227 fra.me.REG[2] = NEW_ReduceAction319_parser___ReduceAction319___init();
2228 /* ./parser//parser.nit:156 */
2229 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2230 fra.me.REG[2] = NEW_ReduceAction320_parser___ReduceAction320___init();
2231 /* ./parser//parser.nit:156 */
2232 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2233 fra.me.REG[2] = NEW_ReduceAction321_parser___ReduceAction321___init();
2234 /* ./parser//parser.nit:156 */
2235 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2236 fra.me.REG[2] = NEW_ReduceAction322_parser___ReduceAction322___init();
2237 /* ./parser//parser.nit:156 */
2238 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2239 fra.me.REG[2] = NEW_ReduceAction323_parser___ReduceAction323___init();
2240 /* ./parser//parser.nit:156 */
2241 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2242 fra.me.REG[2] = NEW_ReduceAction324_parser___ReduceAction324___init();
2243 /* ./parser//parser.nit:156 */
2244 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2245 fra.me.REG[2] = NEW_ReduceAction325_parser___ReduceAction325___init();
2246 /* ./parser//parser.nit:156 */
2247 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2248 fra.me.REG[2] = NEW_ReduceAction326_parser___ReduceAction326___init();
2249 /* ./parser//parser.nit:156 */
2250 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2251 fra.me.REG[2] = NEW_ReduceAction327_parser___ReduceAction327___init();
2252 /* ./parser//parser.nit:156 */
2253 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2254 fra.me.REG[2] = NEW_ReduceAction328_parser___ReduceAction328___init();
2255 /* ./parser//parser.nit:156 */
2256 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2257 fra.me.REG[2] = NEW_ReduceAction329_parser___ReduceAction329___init();
2258 /* ./parser//parser.nit:156 */
2259 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2260 fra.me.REG[2] = NEW_ReduceAction330_parser___ReduceAction330___init();
2261 /* ./parser//parser.nit:156 */
2262 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2263 fra.me.REG[2] = NEW_ReduceAction331_parser___ReduceAction331___init();
2264 /* ./parser//parser.nit:156 */
2265 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2266 fra.me.REG[2] = NEW_ReduceAction332_parser___ReduceAction332___init();
2267 /* ./parser//parser.nit:156 */
2268 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2269 fra.me.REG[2] = NEW_ReduceAction333_parser___ReduceAction333___init();
2270 /* ./parser//parser.nit:156 */
2271 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2272 fra.me.REG[2] = NEW_ReduceAction334_parser___ReduceAction334___init();
2273 /* ./parser//parser.nit:156 */
2274 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2275 fra.me.REG[2] = NEW_ReduceAction335_parser___ReduceAction335___init();
2276 /* ./parser//parser.nit:156 */
2277 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2278 fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction336___init();
2279 /* ./parser//parser.nit:156 */
2280 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2281 fra.me.REG[2] = NEW_ReduceAction337_parser___ReduceAction337___init();
2282 /* ./parser//parser.nit:156 */
2283 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2284 fra.me.REG[2] = NEW_ReduceAction338_parser___ReduceAction338___init();
2285 /* ./parser//parser.nit:156 */
2286 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2287 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction339___init();
2288 /* ./parser//parser.nit:156 */
2289 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2290 fra.me.REG[2] = NEW_ReduceAction340_parser___ReduceAction340___init();
2291 /* ./parser//parser.nit:156 */
2292 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2293 fra.me.REG[2] = NEW_ReduceAction341_parser___ReduceAction341___init();
2294 /* ./parser//parser.nit:156 */
2295 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2296 fra.me.REG[2] = NEW_ReduceAction342_parser___ReduceAction342___init();
2297 /* ./parser//parser.nit:156 */
2298 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2299 fra.me.REG[2] = NEW_ReduceAction343_parser___ReduceAction343___init();
2300 /* ./parser//parser.nit:156 */
2301 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2302 fra.me.REG[2] = NEW_ReduceAction344_parser___ReduceAction344___init();
2303 /* ./parser//parser.nit:156 */
2304 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2305 fra.me.REG[2] = NEW_ReduceAction345_parser___ReduceAction345___init();
2306 /* ./parser//parser.nit:156 */
2307 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2308 fra.me.REG[2] = NEW_ReduceAction346_parser___ReduceAction346___init();
2309 /* ./parser//parser.nit:156 */
2310 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2311 fra.me.REG[2] = NEW_ReduceAction347_parser___ReduceAction347___init();
2312 /* ./parser//parser.nit:156 */
2313 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2314 fra.me.REG[2] = NEW_ReduceAction348_parser___ReduceAction348___init();
2315 /* ./parser//parser.nit:156 */
2316 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2317 fra.me.REG[2] = NEW_ReduceAction349_parser___ReduceAction349___init();
2318 /* ./parser//parser.nit:156 */
2319 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2320 fra.me.REG[2] = NEW_ReduceAction350_parser___ReduceAction350___init();
2321 /* ./parser//parser.nit:156 */
2322 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2323 fra.me.REG[2] = NEW_ReduceAction351_parser___ReduceAction351___init();
2324 /* ./parser//parser.nit:156 */
2325 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2326 fra.me.REG[2] = NEW_ReduceAction352_parser___ReduceAction352___init();
2327 /* ./parser//parser.nit:156 */
2328 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2329 fra.me.REG[2] = NEW_ReduceAction353_parser___ReduceAction353___init();
2330 /* ./parser//parser.nit:156 */
2331 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2332 fra.me.REG[2] = NEW_ReduceAction354_parser___ReduceAction354___init();
2333 /* ./parser//parser.nit:156 */
2334 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2335 fra.me.REG[2] = NEW_ReduceAction355_parser___ReduceAction355___init();
2336 /* ./parser//parser.nit:156 */
2337 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2338 fra.me.REG[2] = NEW_ReduceAction356_parser___ReduceAction356___init();
2339 /* ./parser//parser.nit:156 */
2340 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2341 fra.me.REG[2] = NEW_ReduceAction357_parser___ReduceAction357___init();
2342 /* ./parser//parser.nit:156 */
2343 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2344 fra.me.REG[2] = NEW_ReduceAction358_parser___ReduceAction358___init();
2345 /* ./parser//parser.nit:156 */
2346 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2347 fra.me.REG[2] = NEW_ReduceAction359_parser___ReduceAction359___init();
2348 /* ./parser//parser.nit:156 */
2349 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2350 fra.me.REG[2] = NEW_ReduceAction360_parser___ReduceAction360___init();
2351 /* ./parser//parser.nit:156 */
2352 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2353 fra.me.REG[2] = NEW_ReduceAction361_parser___ReduceAction361___init();
2354 /* ./parser//parser.nit:156 */
2355 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2356 fra.me.REG[2] = NEW_ReduceAction362_parser___ReduceAction362___init();
2357 /* ./parser//parser.nit:156 */
2358 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2359 fra.me.REG[2] = NEW_ReduceAction363_parser___ReduceAction363___init();
2360 /* ./parser//parser.nit:156 */
2361 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2362 fra.me.REG[2] = NEW_ReduceAction364_parser___ReduceAction364___init();
2363 /* ./parser//parser.nit:156 */
2364 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2365 fra.me.REG[2] = NEW_ReduceAction365_parser___ReduceAction365___init();
2366 /* ./parser//parser.nit:156 */
2367 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2368 fra.me.REG[2] = NEW_ReduceAction366_parser___ReduceAction366___init();
2369 /* ./parser//parser.nit:156 */
2370 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2371 fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction367___init();
2372 /* ./parser//parser.nit:156 */
2373 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2374 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction368___init();
2375 /* ./parser//parser.nit:156 */
2376 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2377 fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction369___init();
2378 /* ./parser//parser.nit:156 */
2379 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2380 fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction370___init();
2381 /* ./parser//parser.nit:156 */
2382 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2383 fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction371___init();
2384 /* ./parser//parser.nit:156 */
2385 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2386 fra.me.REG[2] = NEW_ReduceAction372_parser___ReduceAction372___init();
2387 /* ./parser//parser.nit:156 */
2388 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2389 fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction373___init();
2390 /* ./parser//parser.nit:156 */
2391 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2392 fra.me.REG[2] = NEW_ReduceAction374_parser___ReduceAction374___init();
2393 /* ./parser//parser.nit:156 */
2394 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2395 fra.me.REG[2] = NEW_ReduceAction375_parser___ReduceAction375___init();
2396 /* ./parser//parser.nit:156 */
2397 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2398 fra.me.REG[2] = NEW_ReduceAction376_parser___ReduceAction376___init();
2399 /* ./parser//parser.nit:156 */
2400 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2401 fra.me.REG[2] = NEW_ReduceAction377_parser___ReduceAction377___init();
2402 /* ./parser//parser.nit:156 */
2403 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2404 fra.me.REG[2] = NEW_ReduceAction378_parser___ReduceAction378___init();
2405 /* ./parser//parser.nit:156 */
2406 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2407 fra.me.REG[2] = NEW_ReduceAction379_parser___ReduceAction379___init();
2408 /* ./parser//parser.nit:156 */
2409 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2410 fra.me.REG[2] = NEW_ReduceAction380_parser___ReduceAction380___init();
2411 /* ./parser//parser.nit:156 */
2412 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2413 fra.me.REG[2] = NEW_ReduceAction381_parser___ReduceAction381___init();
2414 /* ./parser//parser.nit:156 */
2415 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2416 fra.me.REG[2] = NEW_ReduceAction382_parser___ReduceAction382___init();
2417 /* ./parser//parser.nit:156 */
2418 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2419 fra.me.REG[2] = NEW_ReduceAction383_parser___ReduceAction383___init();
2420 /* ./parser//parser.nit:156 */
2421 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2422 fra.me.REG[2] = NEW_ReduceAction384_parser___ReduceAction384___init();
2423 /* ./parser//parser.nit:156 */
2424 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2425 fra.me.REG[2] = NEW_ReduceAction385_parser___ReduceAction385___init();
2426 /* ./parser//parser.nit:156 */
2427 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2428 fra.me.REG[2] = NEW_ReduceAction386_parser___ReduceAction386___init();
2429 /* ./parser//parser.nit:156 */
2430 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2431 fra.me.REG[2] = NEW_ReduceAction387_parser___ReduceAction387___init();
2432 /* ./parser//parser.nit:156 */
2433 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2434 fra.me.REG[2] = NEW_ReduceAction388_parser___ReduceAction388___init();
2435 /* ./parser//parser.nit:156 */
2436 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2437 fra.me.REG[2] = NEW_ReduceAction389_parser___ReduceAction389___init();
2438 /* ./parser//parser.nit:156 */
2439 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2440 fra.me.REG[2] = NEW_ReduceAction390_parser___ReduceAction390___init();
2441 /* ./parser//parser.nit:156 */
2442 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2443 fra.me.REG[2] = NEW_ReduceAction391_parser___ReduceAction391___init();
2444 /* ./parser//parser.nit:156 */
2445 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2446 fra.me.REG[2] = NEW_ReduceAction392_parser___ReduceAction392___init();
2447 /* ./parser//parser.nit:156 */
2448 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2449 fra.me.REG[2] = NEW_ReduceAction393_parser___ReduceAction393___init();
2450 /* ./parser//parser.nit:156 */
2451 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2452 fra.me.REG[2] = NEW_ReduceAction394_parser___ReduceAction394___init();
2453 /* ./parser//parser.nit:156 */
2454 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2455 fra.me.REG[2] = NEW_ReduceAction395_parser___ReduceAction395___init();
2456 /* ./parser//parser.nit:156 */
2457 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2458 fra.me.REG[2] = NEW_ReduceAction396_parser___ReduceAction396___init();
2459 /* ./parser//parser.nit:156 */
2460 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2461 fra.me.REG[2] = NEW_ReduceAction397_parser___ReduceAction397___init();
2462 /* ./parser//parser.nit:156 */
2463 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2464 fra.me.REG[2] = NEW_ReduceAction398_parser___ReduceAction398___init();
2465 /* ./parser//parser.nit:156 */
2466 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2467 fra.me.REG[2] = NEW_ReduceAction399_parser___ReduceAction399___init();
2468 /* ./parser//parser.nit:156 */
2469 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2470 fra.me.REG[2] = NEW_ReduceAction400_parser___ReduceAction400___init();
2471 /* ./parser//parser.nit:156 */
2472 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2473 fra.me.REG[2] = NEW_ReduceAction401_parser___ReduceAction401___init();
2474 /* ./parser//parser.nit:156 */
2475 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2476 fra.me.REG[2] = NEW_ReduceAction402_parser___ReduceAction402___init();
2477 /* ./parser//parser.nit:156 */
2478 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2479 fra.me.REG[2] = NEW_ReduceAction403_parser___ReduceAction403___init();
2480 /* ./parser//parser.nit:156 */
2481 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2482 fra.me.REG[2] = NEW_ReduceAction404_parser___ReduceAction404___init();
2483 /* ./parser//parser.nit:156 */
2484 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2485 fra.me.REG[2] = NEW_ReduceAction405_parser___ReduceAction405___init();
2486 /* ./parser//parser.nit:156 */
2487 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2488 fra.me.REG[2] = NEW_ReduceAction406_parser___ReduceAction406___init();
2489 /* ./parser//parser.nit:156 */
2490 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2491 fra.me.REG[2] = NEW_ReduceAction407_parser___ReduceAction407___init();
2492 /* ./parser//parser.nit:156 */
2493 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2494 fra.me.REG[2] = NEW_ReduceAction408_parser___ReduceAction408___init();
2495 /* ./parser//parser.nit:156 */
2496 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2497 fra.me.REG[2] = NEW_ReduceAction409_parser___ReduceAction409___init();
2498 /* ./parser//parser.nit:156 */
2499 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2500 fra.me.REG[2] = NEW_ReduceAction410_parser___ReduceAction410___init();
2501 /* ./parser//parser.nit:156 */
2502 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2503 fra.me.REG[2] = NEW_ReduceAction411_parser___ReduceAction411___init();
2504 /* ./parser//parser.nit:156 */
2505 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2506 fra.me.REG[2] = NEW_ReduceAction412_parser___ReduceAction412___init();
2507 /* ./parser//parser.nit:156 */
2508 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2509 fra.me.REG[2] = NEW_ReduceAction413_parser___ReduceAction413___init();
2510 /* ./parser//parser.nit:156 */
2511 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2512 fra.me.REG[2] = NEW_ReduceAction414_parser___ReduceAction414___init();
2513 /* ./parser//parser.nit:156 */
2514 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2515 fra.me.REG[2] = NEW_ReduceAction415_parser___ReduceAction415___init();
2516 /* ./parser//parser.nit:156 */
2517 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2518 fra.me.REG[2] = NEW_ReduceAction416_parser___ReduceAction416___init();
2519 /* ./parser//parser.nit:156 */
2520 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2521 fra.me.REG[2] = NEW_ReduceAction417_parser___ReduceAction417___init();
2522 /* ./parser//parser.nit:156 */
2523 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2524 fra.me.REG[2] = NEW_ReduceAction418_parser___ReduceAction418___init();
2525 /* ./parser//parser.nit:156 */
2526 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2527 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction419___init();
2528 /* ./parser//parser.nit:156 */
2529 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2530 fra.me.REG[2] = NEW_ReduceAction420_parser___ReduceAction420___init();
2531 /* ./parser//parser.nit:156 */
2532 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2533 fra.me.REG[2] = NEW_ReduceAction421_parser___ReduceAction421___init();
2534 /* ./parser//parser.nit:156 */
2535 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2536 fra.me.REG[2] = NEW_ReduceAction422_parser___ReduceAction422___init();
2537 /* ./parser//parser.nit:156 */
2538 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2539 fra.me.REG[2] = NEW_ReduceAction423_parser___ReduceAction423___init();
2540 /* ./parser//parser.nit:156 */
2541 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2542 fra.me.REG[2] = NEW_ReduceAction424_parser___ReduceAction424___init();
2543 /* ./parser//parser.nit:156 */
2544 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2545 fra.me.REG[2] = NEW_ReduceAction425_parser___ReduceAction425___init();
2546 /* ./parser//parser.nit:156 */
2547 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2548 fra.me.REG[2] = NEW_ReduceAction426_parser___ReduceAction426___init();
2549 /* ./parser//parser.nit:156 */
2550 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2551 fra.me.REG[2] = NEW_ReduceAction427_parser___ReduceAction427___init();
2552 /* ./parser//parser.nit:156 */
2553 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2554 fra.me.REG[2] = NEW_ReduceAction428_parser___ReduceAction428___init();
2555 /* ./parser//parser.nit:156 */
2556 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2557 fra.me.REG[2] = NEW_ReduceAction429_parser___ReduceAction429___init();
2558 /* ./parser//parser.nit:156 */
2559 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2560 fra.me.REG[2] = NEW_ReduceAction430_parser___ReduceAction430___init();
2561 /* ./parser//parser.nit:156 */
2562 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2563 fra.me.REG[2] = NEW_ReduceAction431_parser___ReduceAction431___init();
2564 /* ./parser//parser.nit:156 */
2565 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2566 fra.me.REG[2] = NEW_ReduceAction432_parser___ReduceAction432___init();
2567 /* ./parser//parser.nit:156 */
2568 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2569 fra.me.REG[2] = NEW_ReduceAction433_parser___ReduceAction433___init();
2570 /* ./parser//parser.nit:156 */
2571 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2572 fra.me.REG[2] = NEW_ReduceAction434_parser___ReduceAction434___init();
2573 /* ./parser//parser.nit:156 */
2574 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2575 fra.me.REG[2] = NEW_ReduceAction435_parser___ReduceAction435___init();
2576 /* ./parser//parser.nit:156 */
2577 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2578 fra.me.REG[2] = NEW_ReduceAction436_parser___ReduceAction436___init();
2579 /* ./parser//parser.nit:156 */
2580 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2581 fra.me.REG[2] = NEW_ReduceAction437_parser___ReduceAction437___init();
2582 /* ./parser//parser.nit:156 */
2583 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2584 fra.me.REG[2] = NEW_ReduceAction438_parser___ReduceAction438___init();
2585 /* ./parser//parser.nit:156 */
2586 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2587 fra.me.REG[2] = NEW_ReduceAction439_parser___ReduceAction439___init();
2588 /* ./parser//parser.nit:156 */
2589 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2590 fra.me.REG[2] = NEW_ReduceAction440_parser___ReduceAction440___init();
2591 /* ./parser//parser.nit:156 */
2592 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2593 fra.me.REG[2] = NEW_ReduceAction441_parser___ReduceAction441___init();
2594 /* ./parser//parser.nit:156 */
2595 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2596 fra.me.REG[2] = NEW_ReduceAction442_parser___ReduceAction442___init();
2597 /* ./parser//parser.nit:156 */
2598 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2599 fra.me.REG[2] = NEW_ReduceAction443_parser___ReduceAction443___init();
2600 /* ./parser//parser.nit:156 */
2601 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2602 fra.me.REG[2] = NEW_ReduceAction444_parser___ReduceAction444___init();
2603 /* ./parser//parser.nit:156 */
2604 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2605 fra.me.REG[2] = NEW_ReduceAction445_parser___ReduceAction445___init();
2606 /* ./parser//parser.nit:156 */
2607 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2608 fra.me.REG[2] = NEW_ReduceAction446_parser___ReduceAction446___init();
2609 /* ./parser//parser.nit:156 */
2610 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2611 fra.me.REG[2] = NEW_ReduceAction447_parser___ReduceAction447___init();
2612 /* ./parser//parser.nit:156 */
2613 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2614 fra.me.REG[2] = NEW_ReduceAction448_parser___ReduceAction448___init();
2615 /* ./parser//parser.nit:156 */
2616 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2617 fra.me.REG[2] = NEW_ReduceAction449_parser___ReduceAction449___init();
2618 /* ./parser//parser.nit:156 */
2619 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2620 fra.me.REG[2] = NEW_ReduceAction450_parser___ReduceAction450___init();
2621 /* ./parser//parser.nit:156 */
2622 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2623 fra.me.REG[2] = NEW_ReduceAction451_parser___ReduceAction451___init();
2624 /* ./parser//parser.nit:156 */
2625 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2626 fra.me.REG[2] = NEW_ReduceAction452_parser___ReduceAction452___init();
2627 /* ./parser//parser.nit:156 */
2628 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2629 fra.me.REG[2] = NEW_ReduceAction453_parser___ReduceAction453___init();
2630 /* ./parser//parser.nit:156 */
2631 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2632 fra.me.REG[2] = NEW_ReduceAction454_parser___ReduceAction454___init();
2633 /* ./parser//parser.nit:156 */
2634 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2635 fra.me.REG[2] = NEW_ReduceAction455_parser___ReduceAction455___init();
2636 /* ./parser//parser.nit:156 */
2637 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2638 fra.me.REG[2] = NEW_ReduceAction456_parser___ReduceAction456___init();
2639 /* ./parser//parser.nit:156 */
2640 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2641 fra.me.REG[2] = NEW_ReduceAction457_parser___ReduceAction457___init();
2642 /* ./parser//parser.nit:156 */
2643 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2644 fra.me.REG[2] = NEW_ReduceAction458_parser___ReduceAction458___init();
2645 /* ./parser//parser.nit:156 */
2646 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2647 fra.me.REG[2] = NEW_ReduceAction459_parser___ReduceAction459___init();
2648 /* ./parser//parser.nit:156 */
2649 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2650 fra.me.REG[2] = NEW_ReduceAction460_parser___ReduceAction460___init();
2651 /* ./parser//parser.nit:156 */
2652 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2653 fra.me.REG[2] = NEW_ReduceAction461_parser___ReduceAction461___init();
2654 /* ./parser//parser.nit:156 */
2655 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2656 fra.me.REG[2] = NEW_ReduceAction462_parser___ReduceAction462___init();
2657 /* ./parser//parser.nit:156 */
2658 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2659 fra.me.REG[2] = NEW_ReduceAction463_parser___ReduceAction463___init();
2660 /* ./parser//parser.nit:156 */
2661 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2662 fra.me.REG[2] = NEW_ReduceAction464_parser___ReduceAction464___init();
2663 /* ./parser//parser.nit:156 */
2664 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2665 fra.me.REG[2] = NEW_ReduceAction465_parser___ReduceAction465___init();
2666 /* ./parser//parser.nit:156 */
2667 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2668 fra.me.REG[2] = NEW_ReduceAction466_parser___ReduceAction466___init();
2669 /* ./parser//parser.nit:156 */
2670 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2671 fra.me.REG[2] = NEW_ReduceAction467_parser___ReduceAction467___init();
2672 /* ./parser//parser.nit:156 */
2673 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2674 fra.me.REG[2] = NEW_ReduceAction468_parser___ReduceAction468___init();
2675 /* ./parser//parser.nit:156 */
2676 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2677 fra.me.REG[2] = NEW_ReduceAction469_parser___ReduceAction469___init();
2678 /* ./parser//parser.nit:156 */
2679 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2680 fra.me.REG[2] = NEW_ReduceAction470_parser___ReduceAction470___init();
2681 /* ./parser//parser.nit:156 */
2682 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2683 fra.me.REG[2] = NEW_ReduceAction471_parser___ReduceAction471___init();
2684 /* ./parser//parser.nit:156 */
2685 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2686 fra.me.REG[2] = NEW_ReduceAction472_parser___ReduceAction472___init();
2687 /* ./parser//parser.nit:156 */
2688 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2689 fra.me.REG[2] = NEW_ReduceAction473_parser___ReduceAction473___init();
2690 /* ./parser//parser.nit:156 */
2691 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2692 fra.me.REG[2] = NEW_ReduceAction474_parser___ReduceAction474___init();
2693 /* ./parser//parser.nit:156 */
2694 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2695 fra.me.REG[2] = NEW_ReduceAction475_parser___ReduceAction475___init();
2696 /* ./parser//parser.nit:156 */
2697 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2698 fra.me.REG[2] = NEW_ReduceAction476_parser___ReduceAction476___init();
2699 /* ./parser//parser.nit:156 */
2700 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2701 fra.me.REG[2] = NEW_ReduceAction477_parser___ReduceAction477___init();
2702 /* ./parser//parser.nit:156 */
2703 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2704 fra.me.REG[2] = NEW_ReduceAction478_parser___ReduceAction478___init();
2705 /* ./parser//parser.nit:156 */
2706 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2707 fra.me.REG[2] = NEW_ReduceAction479_parser___ReduceAction479___init();
2708 /* ./parser//parser.nit:156 */
2709 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2710 fra.me.REG[2] = NEW_ReduceAction480_parser___ReduceAction480___init();
2711 /* ./parser//parser.nit:156 */
2712 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2713 fra.me.REG[2] = NEW_ReduceAction481_parser___ReduceAction481___init();
2714 /* ./parser//parser.nit:156 */
2715 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2716 fra.me.REG[2] = NEW_ReduceAction482_parser___ReduceAction482___init();
2717 /* ./parser//parser.nit:156 */
2718 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2719 fra.me.REG[2] = NEW_ReduceAction483_parser___ReduceAction483___init();
2720 /* ./parser//parser.nit:156 */
2721 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2722 fra.me.REG[2] = NEW_ReduceAction484_parser___ReduceAction484___init();
2723 /* ./parser//parser.nit:156 */
2724 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2725 fra.me.REG[2] = NEW_ReduceAction485_parser___ReduceAction485___init();
2726 /* ./parser//parser.nit:156 */
2727 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2728 fra.me.REG[2] = NEW_ReduceAction486_parser___ReduceAction486___init();
2729 /* ./parser//parser.nit:156 */
2730 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2731 fra.me.REG[2] = NEW_ReduceAction487_parser___ReduceAction487___init();
2732 /* ./parser//parser.nit:156 */
2733 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2734 fra.me.REG[2] = NEW_ReduceAction488_parser___ReduceAction488___init();
2735 /* ./parser//parser.nit:156 */
2736 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2737 fra.me.REG[2] = NEW_ReduceAction489_parser___ReduceAction489___init();
2738 /* ./parser//parser.nit:156 */
2739 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2740 fra.me.REG[2] = NEW_ReduceAction490_parser___ReduceAction490___init();
2741 /* ./parser//parser.nit:156 */
2742 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2743 fra.me.REG[2] = NEW_ReduceAction491_parser___ReduceAction491___init();
2744 /* ./parser//parser.nit:156 */
2745 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2746 fra.me.REG[2] = NEW_ReduceAction492_parser___ReduceAction492___init();
2747 /* ./parser//parser.nit:156 */
2748 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2749 fra.me.REG[2] = NEW_ReduceAction493_parser___ReduceAction493___init();
2750 /* ./parser//parser.nit:156 */
2751 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2752 fra.me.REG[2] = NEW_ReduceAction494_parser___ReduceAction494___init();
2753 /* ./parser//parser.nit:156 */
2754 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2755 fra.me.REG[2] = NEW_ReduceAction495_parser___ReduceAction495___init();
2756 /* ./parser//parser.nit:156 */
2757 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2758 fra.me.REG[2] = NEW_ReduceAction496_parser___ReduceAction496___init();
2759 /* ./parser//parser.nit:156 */
2760 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2761 fra.me.REG[2] = NEW_ReduceAction497_parser___ReduceAction497___init();
2762 /* ./parser//parser.nit:156 */
2763 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2764 fra.me.REG[2] = NEW_ReduceAction498_parser___ReduceAction498___init();
2765 /* ./parser//parser.nit:156 */
2766 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2767 fra.me.REG[2] = NEW_ReduceAction499_parser___ReduceAction499___init();
2768 /* ./parser//parser.nit:156 */
2769 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2770 fra.me.REG[2] = NEW_ReduceAction500_parser___ReduceAction500___init();
2771 /* ./parser//parser.nit:156 */
2772 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2773 fra.me.REG[2] = NEW_ReduceAction501_parser___ReduceAction501___init();
2774 /* ./parser//parser.nit:156 */
2775 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2776 fra.me.REG[2] = NEW_ReduceAction502_parser___ReduceAction502___init();
2777 /* ./parser//parser.nit:156 */
2778 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2779 fra.me.REG[2] = NEW_ReduceAction503_parser___ReduceAction503___init();
2780 /* ./parser//parser.nit:156 */
2781 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2782 fra.me.REG[2] = NEW_ReduceAction504_parser___ReduceAction504___init();
2783 /* ./parser//parser.nit:156 */
2784 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2785 fra.me.REG[2] = NEW_ReduceAction505_parser___ReduceAction505___init();
2786 /* ./parser//parser.nit:156 */
2787 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2788 fra.me.REG[2] = NEW_ReduceAction506_parser___ReduceAction506___init();
2789 /* ./parser//parser.nit:156 */
2790 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2791 fra.me.REG[2] = NEW_ReduceAction507_parser___ReduceAction507___init();
2792 /* ./parser//parser.nit:156 */
2793 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2794 fra.me.REG[2] = NEW_ReduceAction508_parser___ReduceAction508___init();
2795 /* ./parser//parser.nit:156 */
2796 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2797 fra.me.REG[2] = NEW_ReduceAction509_parser___ReduceAction509___init();
2798 /* ./parser//parser.nit:156 */
2799 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2800 fra.me.REG[2] = NEW_ReduceAction510_parser___ReduceAction510___init();
2801 /* ./parser//parser.nit:156 */
2802 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2803 fra.me.REG[2] = NEW_ReduceAction511_parser___ReduceAction511___init();
2804 /* ./parser//parser.nit:156 */
2805 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2806 fra.me.REG[2] = NEW_ReduceAction512_parser___ReduceAction512___init();
2807 /* ./parser//parser.nit:156 */
2808 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2809 fra.me.REG[2] = NEW_ReduceAction513_parser___ReduceAction513___init();
2810 /* ./parser//parser.nit:156 */
2811 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2812 fra.me.REG[2] = NEW_ReduceAction514_parser___ReduceAction514___init();
2813 /* ./parser//parser.nit:156 */
2814 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2815 fra.me.REG[2] = NEW_ReduceAction515_parser___ReduceAction515___init();
2816 /* ./parser//parser.nit:156 */
2817 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2818 fra.me.REG[2] = NEW_ReduceAction516_parser___ReduceAction516___init();
2819 /* ./parser//parser.nit:156 */
2820 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2821 fra.me.REG[2] = NEW_ReduceAction517_parser___ReduceAction517___init();
2822 /* ./parser//parser.nit:156 */
2823 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2824 fra.me.REG[2] = NEW_ReduceAction518_parser___ReduceAction518___init();
2825 /* ./parser//parser.nit:156 */
2826 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2827 fra.me.REG[2] = NEW_ReduceAction519_parser___ReduceAction519___init();
2828 /* ./parser//parser.nit:156 */
2829 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2830 fra.me.REG[2] = NEW_ReduceAction520_parser___ReduceAction520___init();
2831 /* ./parser//parser.nit:156 */
2832 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2833 fra.me.REG[2] = NEW_ReduceAction521_parser___ReduceAction521___init();
2834 /* ./parser//parser.nit:156 */
2835 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2836 fra.me.REG[2] = NEW_ReduceAction522_parser___ReduceAction522___init();
2837 /* ./parser//parser.nit:156 */
2838 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2839 fra.me.REG[2] = NEW_ReduceAction523_parser___ReduceAction523___init();
2840 /* ./parser//parser.nit:156 */
2841 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2842 fra.me.REG[2] = NEW_ReduceAction524_parser___ReduceAction524___init();
2843 /* ./parser//parser.nit:156 */
2844 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2845 fra.me.REG[2] = NEW_ReduceAction525_parser___ReduceAction525___init();
2846 /* ./parser//parser.nit:156 */
2847 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2848 fra.me.REG[2] = NEW_ReduceAction526_parser___ReduceAction526___init();
2849 /* ./parser//parser.nit:156 */
2850 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2851 fra.me.REG[2] = NEW_ReduceAction527_parser___ReduceAction527___init();
2852 /* ./parser//parser.nit:156 */
2853 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2854 fra.me.REG[2] = NEW_ReduceAction528_parser___ReduceAction528___init();
2855 /* ./parser//parser.nit:156 */
2856 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2857 fra.me.REG[2] = NEW_ReduceAction529_parser___ReduceAction529___init();
2858 /* ./parser//parser.nit:156 */
2859 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2860 fra.me.REG[2] = NEW_ReduceAction530_parser___ReduceAction530___init();
2861 /* ./parser//parser.nit:156 */
2862 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2863 fra.me.REG[2] = NEW_ReduceAction531_parser___ReduceAction531___init();
2864 /* ./parser//parser.nit:156 */
2865 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2866 fra.me.REG[2] = NEW_ReduceAction532_parser___ReduceAction532___init();
2867 /* ./parser//parser.nit:156 */
2868 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2869 fra.me.REG[2] = NEW_ReduceAction533_parser___ReduceAction533___init();
2870 /* ./parser//parser.nit:156 */
2871 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2872 fra.me.REG[2] = NEW_ReduceAction534_parser___ReduceAction534___init();
2873 /* ./parser//parser.nit:156 */
2874 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2875 fra.me.REG[2] = NEW_ReduceAction535_parser___ReduceAction535___init();
2876 /* ./parser//parser.nit:156 */
2877 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2878 fra.me.REG[2] = NEW_ReduceAction536_parser___ReduceAction536___init();
2879 /* ./parser//parser.nit:156 */
2880 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2881 fra.me.REG[2] = NEW_ReduceAction537_parser___ReduceAction537___init();
2882 /* ./parser//parser.nit:156 */
2883 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2884 fra.me.REG[2] = NEW_ReduceAction538_parser___ReduceAction538___init();
2885 /* ./parser//parser.nit:156 */
2886 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2887 fra.me.REG[2] = NEW_ReduceAction539_parser___ReduceAction539___init();
2888 /* ./parser//parser.nit:156 */
2889 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2890 fra.me.REG[2] = NEW_ReduceAction540_parser___ReduceAction540___init();
2891 /* ./parser//parser.nit:156 */
2892 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2893 fra.me.REG[2] = NEW_ReduceAction541_parser___ReduceAction541___init();
2894 /* ./parser//parser.nit:156 */
2895 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2896 fra.me.REG[2] = NEW_ReduceAction542_parser___ReduceAction542___init();
2897 /* ./parser//parser.nit:156 */
2898 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2899 fra.me.REG[2] = NEW_ReduceAction543_parser___ReduceAction543___init();
2900 /* ./parser//parser.nit:156 */
2901 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2902 fra.me.REG[2] = NEW_ReduceAction544_parser___ReduceAction544___init();
2903 /* ./parser//parser.nit:156 */
2904 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2905 fra.me.REG[2] = NEW_ReduceAction545_parser___ReduceAction545___init();
2906 /* ./parser//parser.nit:156 */
2907 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2908 fra.me.REG[2] = NEW_ReduceAction546_parser___ReduceAction546___init();
2909 /* ./parser//parser.nit:156 */
2910 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2911 fra.me.REG[2] = NEW_ReduceAction547_parser___ReduceAction547___init();
2912 /* ./parser//parser.nit:156 */
2913 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2914 fra.me.REG[2] = NEW_ReduceAction548_parser___ReduceAction548___init();
2915 /* ./parser//parser.nit:156 */
2916 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2917 fra.me.REG[2] = NEW_ReduceAction549_parser___ReduceAction549___init();
2918 /* ./parser//parser.nit:156 */
2919 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2920 fra.me.REG[2] = NEW_ReduceAction550_parser___ReduceAction550___init();
2921 /* ./parser//parser.nit:156 */
2922 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2923 fra.me.REG[2] = NEW_ReduceAction551_parser___ReduceAction551___init();
2924 /* ./parser//parser.nit:156 */
2925 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2926 fra.me.REG[2] = NEW_ReduceAction552_parser___ReduceAction552___init();
2927 /* ./parser//parser.nit:156 */
2928 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2929 fra.me.REG[2] = NEW_ReduceAction553_parser___ReduceAction553___init();
2930 /* ./parser//parser.nit:156 */
2931 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2932 fra.me.REG[2] = NEW_ReduceAction554_parser___ReduceAction554___init();
2933 /* ./parser//parser.nit:156 */
2934 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2935 fra.me.REG[2] = NEW_ReduceAction555_parser___ReduceAction555___init();
2936 /* ./parser//parser.nit:156 */
2937 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2938 fra.me.REG[2] = NEW_ReduceAction556_parser___ReduceAction556___init();
2939 /* ./parser//parser.nit:156 */
2940 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2941 fra.me.REG[2] = NEW_ReduceAction557_parser___ReduceAction557___init();
2942 /* ./parser//parser.nit:156 */
2943 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2944 fra.me.REG[2] = NEW_ReduceAction558_parser___ReduceAction558___init();
2945 /* ./parser//parser.nit:156 */
2946 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2947 fra.me.REG[2] = NEW_ReduceAction559_parser___ReduceAction559___init();
2948 /* ./parser//parser.nit:156 */
2949 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2950 fra.me.REG[2] = NEW_ReduceAction560_parser___ReduceAction560___init();
2951 /* ./parser//parser.nit:156 */
2952 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2953 fra.me.REG[2] = NEW_ReduceAction561_parser___ReduceAction561___init();
2954 /* ./parser//parser.nit:156 */
2955 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2956 fra.me.REG[2] = NEW_ReduceAction562_parser___ReduceAction562___init();
2957 /* ./parser//parser.nit:156 */
2958 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2959 fra.me.REG[2] = NEW_ReduceAction563_parser___ReduceAction563___init();
2960 /* ./parser//parser.nit:156 */
2961 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2962 fra.me.REG[2] = NEW_ReduceAction564_parser___ReduceAction564___init();
2963 /* ./parser//parser.nit:156 */
2964 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2965 fra.me.REG[2] = NEW_ReduceAction565_parser___ReduceAction565___init();
2966 /* ./parser//parser.nit:156 */
2967 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2968 fra.me.REG[2] = NEW_ReduceAction566_parser___ReduceAction566___init();
2969 /* ./parser//parser.nit:156 */
2970 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2971 fra.me.REG[2] = NEW_ReduceAction567_parser___ReduceAction567___init();
2972 /* ./parser//parser.nit:156 */
2973 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2974 fra.me.REG[2] = NEW_ReduceAction568_parser___ReduceAction568___init();
2975 /* ./parser//parser.nit:156 */
2976 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2977 fra.me.REG[2] = NEW_ReduceAction569_parser___ReduceAction569___init();
2978 /* ./parser//parser.nit:156 */
2979 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2980 fra.me.REG[2] = NEW_ReduceAction570_parser___ReduceAction570___init();
2981 /* ./parser//parser.nit:156 */
2982 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2983 fra.me.REG[2] = NEW_ReduceAction571_parser___ReduceAction571___init();
2984 /* ./parser//parser.nit:156 */
2985 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2986 fra.me.REG[2] = NEW_ReduceAction572_parser___ReduceAction572___init();
2987 /* ./parser//parser.nit:156 */
2988 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2989 fra.me.REG[2] = NEW_ReduceAction573_parser___ReduceAction573___init();
2990 /* ./parser//parser.nit:156 */
2991 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2992 fra.me.REG[2] = NEW_ReduceAction574_parser___ReduceAction574___init();
2993 /* ./parser//parser.nit:156 */
2994 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2995 fra.me.REG[2] = NEW_ReduceAction575_parser___ReduceAction575___init();
2996 /* ./parser//parser.nit:156 */
2997 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2998 fra.me.REG[2] = NEW_ReduceAction576_parser___ReduceAction576___init();
2999 /* ./parser//parser.nit:156 */
3000 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3001 fra.me.REG[2] = NEW_ReduceAction577_parser___ReduceAction577___init();
3002 /* ./parser//parser.nit:156 */
3003 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3004 fra.me.REG[2] = NEW_ReduceAction578_parser___ReduceAction578___init();
3005 /* ./parser//parser.nit:156 */
3006 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3007 fra.me.REG[2] = NEW_ReduceAction579_parser___ReduceAction579___init();
3008 /* ./parser//parser.nit:156 */
3009 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3010 fra.me.REG[2] = NEW_ReduceAction580_parser___ReduceAction580___init();
3011 /* ./parser//parser.nit:156 */
3012 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3013 fra.me.REG[2] = NEW_ReduceAction581_parser___ReduceAction581___init();
3014 /* ./parser//parser.nit:156 */
3015 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3016 fra.me.REG[2] = NEW_ReduceAction582_parser___ReduceAction582___init();
3017 /* ./parser//parser.nit:156 */
3018 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3019 fra.me.REG[2] = NEW_ReduceAction583_parser___ReduceAction583___init();
3020 /* ./parser//parser.nit:156 */
3021 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3022 fra.me.REG[2] = NEW_ReduceAction584_parser___ReduceAction584___init();
3023 /* ./parser//parser.nit:156 */
3024 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3025 fra.me.REG[2] = NEW_ReduceAction585_parser___ReduceAction585___init();
3026 /* ./parser//parser.nit:156 */
3027 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3028 fra.me.REG[2] = NEW_ReduceAction586_parser___ReduceAction586___init();
3029 /* ./parser//parser.nit:156 */
3030 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3031 fra.me.REG[2] = NEW_ReduceAction587_parser___ReduceAction587___init();
3032 /* ./parser//parser.nit:156 */
3033 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3034 fra.me.REG[2] = NEW_ReduceAction588_parser___ReduceAction588___init();
3035 /* ./parser//parser.nit:156 */
3036 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3037 fra.me.REG[2] = NEW_ReduceAction589_parser___ReduceAction589___init();
3038 /* ./parser//parser.nit:156 */
3039 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3040 fra.me.REG[2] = NEW_ReduceAction590_parser___ReduceAction590___init();
3041 /* ./parser//parser.nit:156 */
3042 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3043 fra.me.REG[2] = NEW_ReduceAction591_parser___ReduceAction591___init();
3044 /* ./parser//parser.nit:156 */
3045 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3046 fra.me.REG[2] = NEW_ReduceAction592_parser___ReduceAction592___init();
3047 /* ./parser//parser.nit:156 */
3048 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3049 fra.me.REG[2] = NEW_ReduceAction593_parser___ReduceAction593___init();
3050 /* ./parser//parser.nit:156 */
3051 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3052 fra.me.REG[2] = NEW_ReduceAction594_parser___ReduceAction594___init();
3053 /* ./parser//parser.nit:156 */
3054 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3055 fra.me.REG[2] = NEW_ReduceAction595_parser___ReduceAction595___init();
3056 /* ./parser//parser.nit:156 */
3057 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3058 fra.me.REG[2] = NEW_ReduceAction596_parser___ReduceAction596___init();
3059 /* ./parser//parser.nit:156 */
3060 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3061 fra.me.REG[2] = NEW_ReduceAction597_parser___ReduceAction597___init();
3062 /* ./parser//parser.nit:156 */
3063 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3064 fra.me.REG[2] = NEW_ReduceAction598_parser___ReduceAction598___init();
3065 /* ./parser//parser.nit:156 */
3066 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3067 fra.me.REG[2] = NEW_ReduceAction599_parser___ReduceAction599___init();
3068 /* ./parser//parser.nit:156 */
3069 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3070 fra.me.REG[2] = NEW_ReduceAction600_parser___ReduceAction600___init();
3071 /* ./parser//parser.nit:156 */
3072 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3073 fra.me.REG[2] = NEW_ReduceAction601_parser___ReduceAction601___init();
3074 /* ./parser//parser.nit:156 */
3075 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3076 fra.me.REG[2] = NEW_ReduceAction602_parser___ReduceAction602___init();
3077 /* ./parser//parser.nit:156 */
3078 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3079 fra.me.REG[2] = NEW_ReduceAction603_parser___ReduceAction603___init();
3080 /* ./parser//parser.nit:156 */
3081 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3082 fra.me.REG[2] = NEW_ReduceAction604_parser___ReduceAction604___init();
3083 /* ./parser//parser.nit:156 */
3084 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3085 fra.me.REG[2] = NEW_ReduceAction605_parser___ReduceAction605___init();
3086 /* ./parser//parser.nit:156 */
3087 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3088 fra.me.REG[2] = NEW_ReduceAction606_parser___ReduceAction606___init();
3089 /* ./parser//parser.nit:156 */
3090 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3091 fra.me.REG[2] = NEW_ReduceAction607_parser___ReduceAction607___init();
3092 /* ./parser//parser.nit:156 */
3093 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3094 fra.me.REG[2] = NEW_ReduceAction608_parser___ReduceAction608___init();
3095 /* ./parser//parser.nit:156 */
3096 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3097 fra.me.REG[2] = NEW_ReduceAction609_parser___ReduceAction609___init();
3098 /* ./parser//parser.nit:156 */
3099 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3100 fra.me.REG[2] = NEW_ReduceAction610_parser___ReduceAction610___init();
3101 /* ./parser//parser.nit:156 */
3102 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3103 fra.me.REG[2] = NEW_ReduceAction611_parser___ReduceAction611___init();
3104 /* ./parser//parser.nit:156 */
3105 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3106 fra.me.REG[2] = NEW_ReduceAction612_parser___ReduceAction612___init();
3107 /* ./parser//parser.nit:156 */
3108 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3109 fra.me.REG[2] = NEW_ReduceAction613_parser___ReduceAction613___init();
3110 /* ./parser//parser.nit:156 */
3111 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3112 fra.me.REG[2] = NEW_ReduceAction614_parser___ReduceAction614___init();
3113 /* ./parser//parser.nit:156 */
3114 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3115 fra.me.REG[2] = NEW_ReduceAction615_parser___ReduceAction615___init();
3116 /* ./parser//parser.nit:156 */
3117 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3118 fra.me.REG[2] = NEW_ReduceAction616_parser___ReduceAction616___init();
3119 /* ./parser//parser.nit:156 */
3120 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3121 fra.me.REG[2] = NEW_ReduceAction617_parser___ReduceAction617___init();
3122 /* ./parser//parser.nit:156 */
3123 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3124 fra.me.REG[2] = NEW_ReduceAction618_parser___ReduceAction618___init();
3125 /* ./parser//parser.nit:156 */
3126 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3127 fra.me.REG[2] = NEW_ReduceAction619_parser___ReduceAction619___init();
3128 /* ./parser//parser.nit:156 */
3129 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3130 fra.me.REG[2] = NEW_ReduceAction620_parser___ReduceAction620___init();
3131 /* ./parser//parser.nit:156 */
3132 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3133 fra.me.REG[2] = NEW_ReduceAction621_parser___ReduceAction621___init();
3134 /* ./parser//parser.nit:156 */
3135 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3136 fra.me.REG[2] = NEW_ReduceAction622_parser___ReduceAction622___init();
3137 /* ./parser//parser.nit:156 */
3138 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3139 fra.me.REG[2] = NEW_ReduceAction623_parser___ReduceAction623___init();
3140 /* ./parser//parser.nit:156 */
3141 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3142 fra.me.REG[2] = NEW_ReduceAction624_parser___ReduceAction624___init();
3143 /* ./parser//parser.nit:156 */
3144 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3145 fra.me.REG[2] = NEW_ReduceAction625_parser___ReduceAction625___init();
3146 /* ./parser//parser.nit:156 */
3147 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3148 fra.me.REG[2] = NEW_ReduceAction626_parser___ReduceAction626___init();
3149 /* ./parser//parser.nit:156 */
3150 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3151 fra.me.REG[2] = NEW_ReduceAction627_parser___ReduceAction627___init();
3152 /* ./parser//parser.nit:156 */
3153 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3154 fra.me.REG[2] = NEW_ReduceAction628_parser___ReduceAction628___init();
3155 /* ./parser//parser.nit:156 */
3156 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3157 fra.me.REG[2] = NEW_ReduceAction629_parser___ReduceAction629___init();
3158 /* ./parser//parser.nit:156 */
3159 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3160 fra.me.REG[2] = NEW_ReduceAction630_parser___ReduceAction630___init();
3161 /* ./parser//parser.nit:156 */
3162 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3163 fra.me.REG[2] = NEW_ReduceAction631_parser___ReduceAction631___init();
3164 /* ./parser//parser.nit:156 */
3165 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3166 fra.me.REG[2] = NEW_ReduceAction632_parser___ReduceAction632___init();
3167 /* ./parser//parser.nit:156 */
3168 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3169 fra.me.REG[2] = NEW_ReduceAction633_parser___ReduceAction633___init();
3170 /* ./parser//parser.nit:156 */
3171 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3172 fra.me.REG[2] = NEW_ReduceAction634_parser___ReduceAction634___init();
3173 /* ./parser//parser.nit:156 */
3174 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3175 fra.me.REG[2] = NEW_ReduceAction635_parser___ReduceAction635___init();
3176 /* ./parser//parser.nit:156 */
3177 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3178 fra.me.REG[2] = NEW_ReduceAction636_parser___ReduceAction636___init();
3179 /* ./parser//parser.nit:156 */
3180 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3181 fra.me.REG[2] = NEW_ReduceAction637_parser___ReduceAction637___init();
3182 /* ./parser//parser.nit:156 */
3183 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3184 fra.me.REG[2] = NEW_ReduceAction638_parser___ReduceAction638___init();
3185 /* ./parser//parser.nit:156 */
3186 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3187 fra.me.REG[2] = NEW_ReduceAction639_parser___ReduceAction639___init();
3188 /* ./parser//parser.nit:156 */
3189 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3190 fra.me.REG[2] = NEW_ReduceAction640_parser___ReduceAction640___init();
3191 /* ./parser//parser.nit:156 */
3192 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3193 fra.me.REG[2] = NEW_ReduceAction641_parser___ReduceAction641___init();
3194 /* ./parser//parser.nit:156 */
3195 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3196 fra.me.REG[2] = NEW_ReduceAction642_parser___ReduceAction642___init();
3197 /* ./parser//parser.nit:156 */
3198 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3199 fra.me.REG[2] = NEW_ReduceAction643_parser___ReduceAction643___init();
3200 /* ./parser//parser.nit:156 */
3201 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3202 fra.me.REG[2] = NEW_ReduceAction644_parser___ReduceAction644___init();
3203 /* ./parser//parser.nit:156 */
3204 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3205 fra.me.REG[2] = NEW_ReduceAction645_parser___ReduceAction645___init();
3206 /* ./parser//parser.nit:156 */
3207 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3208 fra.me.REG[2] = NEW_ReduceAction646_parser___ReduceAction646___init();
3209 /* ./parser//parser.nit:156 */
3210 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3211 fra.me.REG[2] = NEW_ReduceAction647_parser___ReduceAction647___init();
3212 /* ./parser//parser.nit:156 */
3213 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3214 fra.me.REG[2] = NEW_ReduceAction648_parser___ReduceAction648___init();
3215 /* ./parser//parser.nit:156 */
3216 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3217 fra.me.REG[2] = NEW_ReduceAction649_parser___ReduceAction649___init();
3218 /* ./parser//parser.nit:156 */
3219 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3220 fra.me.REG[2] = NEW_ReduceAction650_parser___ReduceAction650___init();
3221 /* ./parser//parser.nit:156 */
3222 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3223 fra.me.REG[2] = NEW_ReduceAction651_parser___ReduceAction651___init();
3224 /* ./parser//parser.nit:156 */
3225 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3226 fra.me.REG[2] = NEW_ReduceAction652_parser___ReduceAction652___init();
3227 /* ./parser//parser.nit:156 */
3228 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3229 fra.me.REG[2] = NEW_ReduceAction653_parser___ReduceAction653___init();
3230 /* ./parser//parser.nit:156 */
3231 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3232 fra.me.REG[2] = NEW_ReduceAction654_parser___ReduceAction654___init();
3233 /* ./parser//parser.nit:156 */
3234 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3235 fra.me.REG[2] = NEW_ReduceAction655_parser___ReduceAction655___init();
3236 /* ./parser//parser.nit:156 */
3237 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3238 fra.me.REG[2] = NEW_ReduceAction656_parser___ReduceAction656___init();
3239 /* ./parser//parser.nit:156 */
3240 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3241 fra.me.REG[2] = NEW_ReduceAction657_parser___ReduceAction657___init();
3242 /* ./parser//parser.nit:156 */
3243 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3244 fra.me.REG[2] = NEW_ReduceAction658_parser___ReduceAction658___init();
3245 /* ./parser//parser.nit:156 */
3246 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3247 fra.me.REG[2] = NEW_ReduceAction659_parser___ReduceAction659___init();
3248 /* ./parser//parser.nit:156 */
3249 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3250 fra.me.REG[2] = NEW_ReduceAction660_parser___ReduceAction660___init();
3251 /* ./parser//parser.nit:156 */
3252 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3253 fra.me.REG[2] = NEW_ReduceAction661_parser___ReduceAction661___init();
3254 /* ./parser//parser.nit:156 */
3255 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3256 fra.me.REG[2] = NEW_ReduceAction662_parser___ReduceAction662___init();
3257 /* ./parser//parser.nit:156 */
3258 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3259 fra.me.REG[2] = NEW_ReduceAction663_parser___ReduceAction663___init();
3260 /* ./parser//parser.nit:156 */
3261 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3262 fra.me.REG[2] = NEW_ReduceAction664_parser___ReduceAction664___init();
3263 /* ./parser//parser.nit:156 */
3264 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3265 fra.me.REG[2] = NEW_ReduceAction665_parser___ReduceAction665___init();
3266 /* ./parser//parser.nit:156 */
3267 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3268 fra.me.REG[2] = NEW_ReduceAction666_parser___ReduceAction666___init();
3269 /* ./parser//parser.nit:156 */
3270 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3271 fra.me.REG[2] = NEW_ReduceAction667_parser___ReduceAction667___init();
3272 /* ./parser//parser.nit:156 */
3273 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3274 fra.me.REG[2] = NEW_ReduceAction668_parser___ReduceAction668___init();
3275 /* ./parser//parser.nit:156 */
3276 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3277 fra.me.REG[2] = NEW_ReduceAction669_parser___ReduceAction669___init();
3278 /* ./parser//parser.nit:156 */
3279 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3280 fra.me.REG[2] = NEW_ReduceAction670_parser___ReduceAction670___init();
3281 /* ./parser//parser.nit:156 */
3282 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3283 fra.me.REG[2] = NEW_ReduceAction671_parser___ReduceAction671___init();
3284 /* ./parser//parser.nit:156 */
3285 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3286 fra.me.REG[2] = NEW_ReduceAction672_parser___ReduceAction672___init();
3287 /* ./parser//parser.nit:156 */
3288 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3289 fra.me.REG[2] = NEW_ReduceAction673_parser___ReduceAction673___init();
3290 /* ./parser//parser.nit:156 */
3291 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3292 fra.me.REG[2] = NEW_ReduceAction674_parser___ReduceAction674___init();
3293 /* ./parser//parser.nit:156 */
3294 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3295 fra.me.REG[2] = NEW_ReduceAction675_parser___ReduceAction675___init();
3296 /* ./parser//parser.nit:156 */
3297 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3298 fra.me.REG[2] = NEW_ReduceAction676_parser___ReduceAction676___init();
3299 /* ./parser//parser.nit:156 */
3300 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3301 fra.me.REG[2] = NEW_ReduceAction677_parser___ReduceAction677___init();
3302 /* ./parser//parser.nit:156 */
3303 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3304 fra.me.REG[2] = NEW_ReduceAction678_parser___ReduceAction678___init();
3305 /* ./parser//parser.nit:156 */
3306 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3307 fra.me.REG[2] = NEW_ReduceAction679_parser___ReduceAction679___init();
3308 /* ./parser//parser.nit:156 */
3309 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3310 fra.me.REG[2] = NEW_ReduceAction680_parser___ReduceAction680___init();
3311 /* ./parser//parser.nit:156 */
3312 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3313 fra.me.REG[2] = NEW_ReduceAction681_parser___ReduceAction681___init();
3314 /* ./parser//parser.nit:156 */
3315 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3316 fra.me.REG[2] = NEW_ReduceAction682_parser___ReduceAction682___init();
3317 /* ./parser//parser.nit:156 */
3318 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3319 fra.me.REG[2] = NEW_ReduceAction683_parser___ReduceAction683___init();
3320 /* ./parser//parser.nit:156 */
3321 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3322 fra.me.REG[2] = NEW_ReduceAction684_parser___ReduceAction684___init();
3323 /* ./parser//parser.nit:156 */
3324 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3325 fra.me.REG[2] = NEW_ReduceAction685_parser___ReduceAction685___init();
3326 /* ./parser//parser.nit:156 */
3327 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3328 fra.me.REG[2] = NEW_ReduceAction686_parser___ReduceAction686___init();
3329 /* ./parser//parser.nit:156 */
3330 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3331 fra.me.REG[2] = NEW_ReduceAction687_parser___ReduceAction687___init();
3332 /* ./parser//parser.nit:156 */
3333 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3334 fra.me.REG[2] = NEW_ReduceAction688_parser___ReduceAction688___init();
3335 /* ./parser//parser.nit:156 */
3336 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3337 fra.me.REG[2] = NEW_ReduceAction689_parser___ReduceAction689___init();
3338 /* ./parser//parser.nit:156 */
3339 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3340 fra.me.REG[2] = NEW_ReduceAction690_parser___ReduceAction690___init();
3341 /* ./parser//parser.nit:156 */
3342 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3343 fra.me.REG[2] = NEW_ReduceAction691_parser___ReduceAction691___init();
3344 /* ./parser//parser.nit:156 */
3345 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3346 fra.me.REG[2] = NEW_ReduceAction692_parser___ReduceAction692___init();
3347 /* ./parser//parser.nit:156 */
3348 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3349 fra.me.REG[2] = NEW_ReduceAction693_parser___ReduceAction693___init();
3350 /* ./parser//parser.nit:156 */
3351 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3352 fra.me.REG[2] = NEW_ReduceAction694_parser___ReduceAction694___init();
3353 /* ./parser//parser.nit:156 */
3354 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3355 fra.me.REG[2] = NEW_ReduceAction695_parser___ReduceAction695___init();
3356 /* ./parser//parser.nit:156 */
3357 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3358 fra.me.REG[2] = NEW_ReduceAction696_parser___ReduceAction696___init();
3359 /* ./parser//parser.nit:156 */
3360 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3361 fra.me.REG[2] = NEW_ReduceAction697_parser___ReduceAction697___init();
3362 /* ./parser//parser.nit:156 */
3363 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3364 fra.me.REG[2] = NEW_ReduceAction698_parser___ReduceAction698___init();
3365 /* ./parser//parser.nit:156 */
3366 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3367 fra.me.REG[2] = NEW_ReduceAction699_parser___ReduceAction699___init();
3368 /* ./parser//parser.nit:156 */
3369 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3370 fra.me.REG[2] = NEW_ReduceAction700_parser___ReduceAction700___init();
3371 /* ./parser//parser.nit:156 */
3372 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3373 fra.me.REG[2] = NEW_ReduceAction701_parser___ReduceAction701___init();
3374 /* ./parser//parser.nit:156 */
3375 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3376 fra.me.REG[2] = NEW_ReduceAction702_parser___ReduceAction702___init();
3377 /* ./parser//parser.nit:156 */
3378 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3379 fra.me.REG[2] = NEW_ReduceAction703_parser___ReduceAction703___init();
3380 /* ./parser//parser.nit:156 */
3381 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3382 fra.me.REG[2] = NEW_ReduceAction704_parser___ReduceAction704___init();
3383 /* ./parser//parser.nit:156 */
3384 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3385 fra.me.REG[2] = NEW_ReduceAction705_parser___ReduceAction705___init();
3386 /* ./parser//parser.nit:156 */
3387 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3388 fra.me.REG[2] = NEW_ReduceAction706_parser___ReduceAction706___init();
3389 /* ./parser//parser.nit:156 */
3390 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3391 fra.me.REG[2] = NEW_ReduceAction707_parser___ReduceAction707___init();
3392 /* ./parser//parser.nit:156 */
3393 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3394 fra.me.REG[2] = NEW_ReduceAction708_parser___ReduceAction708___init();
3395 /* ./parser//parser.nit:156 */
3396 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3397 fra.me.REG[2] = NEW_ReduceAction709_parser___ReduceAction709___init();
3398 /* ./parser//parser.nit:156 */
3399 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3400 fra.me.REG[2] = NEW_ReduceAction710_parser___ReduceAction710___init();
3401 /* ./parser//parser.nit:156 */
3402 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3403 fra.me.REG[2] = NEW_ReduceAction711_parser___ReduceAction711___init();
3404 /* ./parser//parser.nit:156 */
3405 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3406 fra.me.REG[2] = NEW_ReduceAction712_parser___ReduceAction712___init();
3407 /* ./parser//parser.nit:156 */
3408 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3409 fra.me.REG[2] = NEW_ReduceAction713_parser___ReduceAction713___init();
3410 /* ./parser//parser.nit:156 */
3411 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3412 fra.me.REG[2] = NEW_ReduceAction714_parser___ReduceAction714___init();
3413 /* ./parser//parser.nit:156 */
3414 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3415 fra.me.REG[2] = NEW_ReduceAction715_parser___ReduceAction715___init();
3416 /* ./parser//parser.nit:156 */
3417 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3418 fra.me.REG[2] = NEW_ReduceAction716_parser___ReduceAction716___init();
3419 /* ./parser//parser.nit:156 */
3420 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3421 fra.me.REG[2] = NEW_ReduceAction717_parser___ReduceAction717___init();
3422 /* ./parser//parser.nit:156 */
3423 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3424 fra.me.REG[2] = NEW_ReduceAction718_parser___ReduceAction718___init();
3425 /* ./parser//parser.nit:156 */
3426 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3427 fra.me.REG[2] = NEW_ReduceAction719_parser___ReduceAction719___init();
3428 /* ./parser//parser.nit:156 */
3429 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3430 fra.me.REG[2] = NEW_ReduceAction720_parser___ReduceAction720___init();
3431 /* ./parser//parser.nit:156 */
3432 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3433 fra.me.REG[2] = NEW_ReduceAction721_parser___ReduceAction721___init();
3434 /* ./parser//parser.nit:156 */
3435 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3436 fra.me.REG[2] = NEW_ReduceAction722_parser___ReduceAction722___init();
3437 /* ./parser//parser.nit:156 */
3438 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3439 fra.me.REG[2] = NEW_ReduceAction723_parser___ReduceAction723___init();
3440 /* ./parser//parser.nit:156 */
3441 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3442 fra.me.REG[2] = NEW_ReduceAction724_parser___ReduceAction724___init();
3443 /* ./parser//parser.nit:156 */
3444 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3445 fra.me.REG[2] = NEW_ReduceAction725_parser___ReduceAction725___init();
3446 /* ./parser//parser.nit:156 */
3447 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3448 fra.me.REG[2] = NEW_ReduceAction726_parser___ReduceAction726___init();
3449 /* ./parser//parser.nit:156 */
3450 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3451 fra.me.REG[2] = NEW_ReduceAction727_parser___ReduceAction727___init();
3452 /* ./parser//parser.nit:156 */
3453 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3454 fra.me.REG[2] = NEW_ReduceAction728_parser___ReduceAction728___init();
3455 /* ./parser//parser.nit:156 */
3456 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3457 fra.me.REG[2] = NEW_ReduceAction729_parser___ReduceAction729___init();
3458 /* ./parser//parser.nit:156 */
3459 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3460 fra.me.REG[2] = NEW_ReduceAction730_parser___ReduceAction730___init();
3461 /* ./parser//parser.nit:156 */
3462 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3463 fra.me.REG[2] = NEW_ReduceAction731_parser___ReduceAction731___init();
3464 /* ./parser//parser.nit:156 */
3465 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3466 fra.me.REG[2] = NEW_ReduceAction732_parser___ReduceAction732___init();
3467 /* ./parser//parser.nit:156 */
3468 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3469 fra.me.REG[2] = NEW_ReduceAction733_parser___ReduceAction733___init();
3470 /* ./parser//parser.nit:156 */
3471 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3472 fra.me.REG[2] = NEW_ReduceAction734_parser___ReduceAction734___init();
3473 /* ./parser//parser.nit:156 */
3474 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3475 fra.me.REG[2] = NEW_ReduceAction735_parser___ReduceAction735___init();
3476 /* ./parser//parser.nit:156 */
3477 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3478 fra.me.REG[2] = NEW_ReduceAction736_parser___ReduceAction736___init();
3479 /* ./parser//parser.nit:156 */
3480 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3481 fra.me.REG[2] = NEW_ReduceAction737_parser___ReduceAction737___init();
3482 /* ./parser//parser.nit:156 */
3483 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3484 fra.me.REG[2] = NEW_ReduceAction738_parser___ReduceAction738___init();
3485 /* ./parser//parser.nit:156 */
3486 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3487 fra.me.REG[2] = NEW_ReduceAction739_parser___ReduceAction739___init();
3488 /* ./parser//parser.nit:156 */
3489 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3490 fra.me.REG[2] = NEW_ReduceAction740_parser___ReduceAction740___init();
3491 /* ./parser//parser.nit:156 */
3492 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3493 fra.me.REG[2] = NEW_ReduceAction741_parser___ReduceAction741___init();
3494 /* ./parser//parser.nit:156 */
3495 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3496 fra.me.REG[2] = NEW_ReduceAction742_parser___ReduceAction742___init();
3497 /* ./parser//parser.nit:156 */
3498 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3499 fra.me.REG[2] = NEW_ReduceAction743_parser___ReduceAction743___init();
3500 /* ./parser//parser.nit:156 */
3501 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3502 fra.me.REG[2] = NEW_ReduceAction744_parser___ReduceAction744___init();
3503 /* ./parser//parser.nit:156 */
3504 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3505 fra.me.REG[2] = NEW_ReduceAction745_parser___ReduceAction745___init();
3506 /* ./parser//parser.nit:156 */
3507 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3508 fra.me.REG[2] = NEW_ReduceAction746_parser___ReduceAction746___init();
3509 /* ./parser//parser.nit:156 */
3510 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3511 fra.me.REG[2] = NEW_ReduceAction747_parser___ReduceAction747___init();
3512 /* ./parser//parser.nit:156 */
3513 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3514 fra.me.REG[2] = NEW_ReduceAction748_parser___ReduceAction748___init();
3515 /* ./parser//parser.nit:156 */
3516 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3517 fra.me.REG[2] = NEW_ReduceAction749_parser___ReduceAction749___init();
3518 /* ./parser//parser.nit:156 */
3519 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3520 fra.me.REG[2] = NEW_ReduceAction750_parser___ReduceAction750___init();
3521 /* ./parser//parser.nit:156 */
3522 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3523 fra.me.REG[2] = NEW_ReduceAction751_parser___ReduceAction751___init();
3524 /* ./parser//parser.nit:156 */
3525 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3526 fra.me.REG[2] = NEW_ReduceAction752_parser___ReduceAction752___init();
3527 /* ./parser//parser.nit:156 */
3528 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3529 fra.me.REG[2] = NEW_ReduceAction753_parser___ReduceAction753___init();
3530 /* ./parser//parser.nit:156 */
3531 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3532 fra.me.REG[2] = NEW_ReduceAction754_parser___ReduceAction754___init();
3533 /* ./parser//parser.nit:156 */
3534 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3535 fra.me.REG[2] = NEW_ReduceAction755_parser___ReduceAction755___init();
3536 /* ./parser//parser.nit:156 */
3537 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3538 fra.me.REG[2] = NEW_ReduceAction756_parser___ReduceAction756___init();
3539 /* ./parser//parser.nit:156 */
3540 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3541 fra.me.REG[2] = NEW_ReduceAction757_parser___ReduceAction757___init();
3542 /* ./parser//parser.nit:156 */
3543 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3544 fra.me.REG[2] = NEW_ReduceAction758_parser___ReduceAction758___init();
3545 /* ./parser//parser.nit:156 */
3546 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3547 fra.me.REG[2] = NEW_ReduceAction759_parser___ReduceAction759___init();
3548 /* ./parser//parser.nit:156 */
3549 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3550 fra.me.REG[2] = NEW_ReduceAction760_parser___ReduceAction760___init();
3551 /* ./parser//parser.nit:156 */
3552 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3553 fra.me.REG[2] = NEW_ReduceAction761_parser___ReduceAction761___init();
3554 /* ./parser//parser.nit:156 */
3555 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3556 fra.me.REG[2] = NEW_ReduceAction762_parser___ReduceAction762___init();
3557 /* ./parser//parser.nit:156 */
3558 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3559 fra.me.REG[2] = NEW_ReduceAction763_parser___ReduceAction763___init();
3560 /* ./parser//parser.nit:156 */
3561 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3562 fra.me.REG[2] = NEW_ReduceAction764_parser___ReduceAction764___init();
3563 /* ./parser//parser.nit:156 */
3564 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3565 fra.me.REG[2] = NEW_ReduceAction765_parser___ReduceAction765___init();
3566 /* ./parser//parser.nit:156 */
3567 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3568 fra.me.REG[2] = NEW_ReduceAction766_parser___ReduceAction766___init();
3569 /* ./parser//parser.nit:156 */
3570 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3571 fra.me.REG[2] = NEW_ReduceAction767_parser___ReduceAction767___init();
3572 /* ./parser//parser.nit:156 */
3573 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3574 fra.me.REG[2] = NEW_ReduceAction768_parser___ReduceAction768___init();
3575 /* ./parser//parser.nit:156 */
3576 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3577 fra.me.REG[2] = NEW_ReduceAction769_parser___ReduceAction769___init();
3578 /* ./parser//parser.nit:156 */
3579 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3580 fra.me.REG[2] = NEW_ReduceAction770_parser___ReduceAction770___init();
3581 /* ./parser//parser.nit:156 */
3582 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3583 fra.me.REG[2] = NEW_ReduceAction771_parser___ReduceAction771___init();
3584 /* ./parser//parser.nit:156 */
3585 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3586 fra.me.REG[2] = NEW_ReduceAction772_parser___ReduceAction772___init();
3587 /* ./parser//parser.nit:156 */
3588 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3589 fra.me.REG[2] = NEW_ReduceAction773_parser___ReduceAction773___init();
3590 /* ./parser//parser.nit:156 */
3591 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3592 fra.me.REG[2] = NEW_ReduceAction774_parser___ReduceAction774___init();
3593 /* ./parser//parser.nit:156 */
3594 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3595 fra.me.REG[2] = NEW_ReduceAction775_parser___ReduceAction775___init();
3596 /* ./parser//parser.nit:156 */
3597 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3598 fra.me.REG[2] = NEW_ReduceAction776_parser___ReduceAction776___init();
3599 /* ./parser//parser.nit:156 */
3600 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3601 fra.me.REG[2] = NEW_ReduceAction777_parser___ReduceAction777___init();
3602 /* ./parser//parser.nit:156 */
3603 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3604 fra.me.REG[2] = NEW_ReduceAction778_parser___ReduceAction778___init();
3605 /* ./parser//parser.nit:156 */
3606 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3607 fra.me.REG[2] = NEW_ReduceAction779_parser___ReduceAction779___init();
3608 /* ./parser//parser.nit:156 */
3609 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3610 fra.me.REG[2] = NEW_ReduceAction780_parser___ReduceAction780___init();
3611 /* ./parser//parser.nit:156 */
3612 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3613 fra.me.REG[2] = NEW_ReduceAction781_parser___ReduceAction781___init();
3614 /* ./parser//parser.nit:156 */
3615 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3616 fra.me.REG[2] = NEW_ReduceAction782_parser___ReduceAction782___init();
3617 /* ./parser//parser.nit:156 */
3618 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3619 fra.me.REG[2] = NEW_ReduceAction783_parser___ReduceAction783___init();
3620 /* ./parser//parser.nit:156 */
3621 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3622 fra.me.REG[2] = NEW_ReduceAction784_parser___ReduceAction784___init();
3623 /* ./parser//parser.nit:156 */
3624 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3625 fra.me.REG[2] = NEW_ReduceAction785_parser___ReduceAction785___init();
3626 /* ./parser//parser.nit:156 */
3627 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3628 fra.me.REG[2] = NEW_ReduceAction786_parser___ReduceAction786___init();
3629 /* ./parser//parser.nit:156 */
3630 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3631 fra.me.REG[2] = NEW_ReduceAction787_parser___ReduceAction787___init();
3632 /* ./parser//parser.nit:156 */
3633 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3634 fra.me.REG[2] = NEW_ReduceAction788_parser___ReduceAction788___init();
3635 /* ./parser//parser.nit:156 */
3636 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3637 fra.me.REG[2] = NEW_ReduceAction789_parser___ReduceAction789___init();
3638 /* ./parser//parser.nit:156 */
3639 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3640 fra.me.REG[2] = NEW_ReduceAction790_parser___ReduceAction790___init();
3641 /* ./parser//parser.nit:156 */
3642 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3643 fra.me.REG[2] = NEW_ReduceAction791_parser___ReduceAction791___init();
3644 /* ./parser//parser.nit:156 */
3645 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3646 fra.me.REG[2] = NEW_ReduceAction792_parser___ReduceAction792___init();
3647 /* ./parser//parser.nit:156 */
3648 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3649 fra.me.REG[2] = NEW_ReduceAction793_parser___ReduceAction793___init();
3650 /* ./parser//parser.nit:156 */
3651 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3652 fra.me.REG[2] = NEW_ReduceAction794_parser___ReduceAction794___init();
3653 /* ./parser//parser.nit:156 */
3654 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3655 fra.me.REG[2] = NEW_ReduceAction795_parser___ReduceAction795___init();
3656 /* ./parser//parser.nit:156 */
3657 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3658 fra.me.REG[2] = NEW_ReduceAction796_parser___ReduceAction796___init();
3659 /* ./parser//parser.nit:156 */
3660 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3661 fra.me.REG[2] = NEW_ReduceAction797_parser___ReduceAction797___init();
3662 /* ./parser//parser.nit:156 */
3663 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3664 fra.me.REG[2] = NEW_ReduceAction798_parser___ReduceAction798___init();
3665 /* ./parser//parser.nit:156 */
3666 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3667 fra.me.REG[2] = NEW_ReduceAction799_parser___ReduceAction799___init();
3668 /* ./parser//parser.nit:156 */
3669 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3670 fra.me.REG[2] = NEW_ReduceAction800_parser___ReduceAction800___init();
3671 /* ./parser//parser.nit:156 */
3672 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3673 fra.me.REG[2] = NEW_ReduceAction801_parser___ReduceAction801___init();
3674 /* ./parser//parser.nit:156 */
3675 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3676 fra.me.REG[2] = NEW_ReduceAction802_parser___ReduceAction802___init();
3677 /* ./parser//parser.nit:156 */
3678 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3679 fra.me.REG[2] = NEW_ReduceAction803_parser___ReduceAction803___init();
3680 /* ./parser//parser.nit:156 */
3681 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3682 fra.me.REG[2] = NEW_ReduceAction804_parser___ReduceAction804___init();
3683 /* ./parser//parser.nit:156 */
3684 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3685 fra.me.REG[2] = NEW_ReduceAction805_parser___ReduceAction805___init();
3686 /* ./parser//parser.nit:156 */
3687 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3688 fra.me.REG[2] = NEW_ReduceAction806_parser___ReduceAction806___init();
3689 /* ./parser//parser.nit:156 */
3690 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3691 fra.me.REG[2] = NEW_ReduceAction807_parser___ReduceAction807___init();
3692 /* ./parser//parser.nit:156 */
3693 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3694 fra.me.REG[2] = NEW_ReduceAction808_parser___ReduceAction808___init();
3695 /* ./parser//parser.nit:156 */
3696 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3697 fra.me.REG[2] = NEW_ReduceAction809_parser___ReduceAction809___init();
3698 /* ./parser//parser.nit:156 */
3699 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3700 fra.me.REG[2] = NEW_ReduceAction810_parser___ReduceAction810___init();
3701 /* ./parser//parser.nit:156 */
3702 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3703 fra.me.REG[2] = NEW_ReduceAction811_parser___ReduceAction811___init();
3704 /* ./parser//parser.nit:156 */
3705 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3706 fra.me.REG[2] = NEW_ReduceAction812_parser___ReduceAction812___init();
3707 /* ./parser//parser.nit:156 */
3708 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3709 fra.me.REG[2] = NEW_ReduceAction813_parser___ReduceAction813___init();
3710 /* ./parser//parser.nit:156 */
3711 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3712 fra.me.REG[2] = NEW_ReduceAction814_parser___ReduceAction814___init();
3713 /* ./parser//parser.nit:156 */
3714 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3715 fra.me.REG[2] = NEW_ReduceAction815_parser___ReduceAction815___init();
3716 /* ./parser//parser.nit:156 */
3717 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3718 fra.me.REG[2] = NEW_ReduceAction816_parser___ReduceAction816___init();
3719 /* ./parser//parser.nit:156 */
3720 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3721 fra.me.REG[2] = NEW_ReduceAction817_parser___ReduceAction817___init();
3722 /* ./parser//parser.nit:156 */
3723 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3724 fra.me.REG[2] = NEW_ReduceAction818_parser___ReduceAction818___init();
3725 /* ./parser//parser.nit:156 */
3726 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3727 fra.me.REG[2] = NEW_ReduceAction819_parser___ReduceAction819___init();
3728 /* ./parser//parser.nit:156 */
3729 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3730 fra.me.REG[2] = NEW_ReduceAction820_parser___ReduceAction820___init();
3731 /* ./parser//parser.nit:156 */
3732 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3733 fra.me.REG[2] = NEW_ReduceAction821_parser___ReduceAction821___init();
3734 /* ./parser//parser.nit:156 */
3735 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3736 fra.me.REG[2] = NEW_ReduceAction822_parser___ReduceAction822___init();
3737 /* ./parser//parser.nit:156 */
3738 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3739 fra.me.REG[2] = NEW_ReduceAction823_parser___ReduceAction823___init();
3740 /* ./parser//parser.nit:156 */
3741 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3742 fra.me.REG[2] = NEW_ReduceAction824_parser___ReduceAction824___init();
3743 /* ./parser//parser.nit:156 */
3744 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3745 fra.me.REG[2] = NEW_ReduceAction825_parser___ReduceAction825___init();
3746 /* ./parser//parser.nit:156 */
3747 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3748 fra.me.REG[2] = NEW_ReduceAction826_parser___ReduceAction826___init();
3749 /* ./parser//parser.nit:156 */
3750 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3751 fra.me.REG[2] = NEW_ReduceAction827_parser___ReduceAction827___init();
3752 /* ./parser//parser.nit:156 */
3753 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3754 fra.me.REG[2] = NEW_ReduceAction828_parser___ReduceAction828___init();
3755 /* ./parser//parser.nit:156 */
3756 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3757 fra.me.REG[2] = NEW_ReduceAction829_parser___ReduceAction829___init();
3758 /* ./parser//parser.nit:156 */
3759 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3760 fra.me.REG[2] = NEW_ReduceAction830_parser___ReduceAction830___init();
3761 /* ./parser//parser.nit:156 */
3762 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3763 fra.me.REG[2] = NEW_ReduceAction831_parser___ReduceAction831___init();
3764 /* ./parser//parser.nit:156 */
3765 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3766 fra.me.REG[2] = NEW_ReduceAction832_parser___ReduceAction832___init();
3767 /* ./parser//parser.nit:156 */
3768 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3769 fra.me.REG[2] = NEW_ReduceAction833_parser___ReduceAction833___init();
3770 /* ./parser//parser.nit:156 */
3771 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3772 fra.me.REG[2] = NEW_ReduceAction834_parser___ReduceAction834___init();
3773 /* ./parser//parser.nit:156 */
3774 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3775 fra.me.REG[2] = NEW_ReduceAction835_parser___ReduceAction835___init();
3776 /* ./parser//parser.nit:156 */
3777 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3778 fra.me.REG[2] = NEW_ReduceAction836_parser___ReduceAction836___init();
3779 /* ./parser//parser.nit:156 */
3780 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3781 fra.me.REG[2] = NEW_ReduceAction837_parser___ReduceAction837___init();
3782 /* ./parser//parser.nit:156 */
3783 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3784 fra.me.REG[2] = NEW_ReduceAction838_parser___ReduceAction838___init();
3785 /* ./parser//parser.nit:156 */
3786 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3787 fra.me.REG[2] = NEW_ReduceAction839_parser___ReduceAction839___init();
3788 /* ./parser//parser.nit:156 */
3789 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3790 fra.me.REG[2] = NEW_ReduceAction840_parser___ReduceAction840___init();
3791 /* ./parser//parser.nit:156 */
3792 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3793 fra.me.REG[2] = NEW_ReduceAction841_parser___ReduceAction841___init();
3794 /* ./parser//parser.nit:156 */
3795 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3796 fra.me.REG[2] = NEW_ReduceAction842_parser___ReduceAction842___init();
3797 /* ./parser//parser.nit:156 */
3798 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3799 fra.me.REG[2] = NEW_ReduceAction843_parser___ReduceAction843___init();
3800 /* ./parser//parser.nit:156 */
3801 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3802 fra.me.REG[2] = NEW_ReduceAction844_parser___ReduceAction844___init();
3803 /* ./parser//parser.nit:156 */
3804 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3805 fra.me.REG[2] = NEW_ReduceAction845_parser___ReduceAction845___init();
3806 /* ./parser//parser.nit:156 */
3807 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3808 fra.me.REG[2] = NEW_ReduceAction846_parser___ReduceAction846___init();
3809 /* ./parser//parser.nit:156 */
3810 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3811 fra.me.REG[2] = NEW_ReduceAction847_parser___ReduceAction847___init();
3812 /* ./parser//parser.nit:156 */
3813 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3814 fra.me.REG[2] = NEW_ReduceAction848_parser___ReduceAction848___init();
3815 /* ./parser//parser.nit:156 */
3816 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3817 fra.me.REG[2] = NEW_ReduceAction849_parser___ReduceAction849___init();
3818 /* ./parser//parser.nit:156 */
3819 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3820 fra.me.REG[2] = NEW_ReduceAction850_parser___ReduceAction850___init();
3821 /* ./parser//parser.nit:156 */
3822 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3823 fra.me.REG[2] = NEW_ReduceAction851_parser___ReduceAction851___init();
3824 /* ./parser//parser.nit:156 */
3825 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3826 fra.me.REG[2] = NEW_ReduceAction852_parser___ReduceAction852___init();
3827 /* ./parser//parser.nit:156 */
3828 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3829 fra.me.REG[2] = NEW_ReduceAction853_parser___ReduceAction853___init();
3830 /* ./parser//parser.nit:156 */
3831 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3832 fra.me.REG[2] = NEW_ReduceAction854_parser___ReduceAction854___init();
3833 /* ./parser//parser.nit:156 */
3834 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3835 fra.me.REG[2] = NEW_ReduceAction855_parser___ReduceAction855___init();
3836 /* ./parser//parser.nit:156 */
3837 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3838 fra.me.REG[2] = NEW_ReduceAction856_parser___ReduceAction856___init();
3839 /* ./parser//parser.nit:156 */
3840 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3841 fra.me.REG[2] = NEW_ReduceAction857_parser___ReduceAction857___init();
3842 /* ./parser//parser.nit:156 */
3843 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3844 fra.me.REG[2] = NEW_ReduceAction858_parser___ReduceAction858___init();
3845 /* ./parser//parser.nit:156 */
3846 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3847 fra.me.REG[2] = NEW_ReduceAction859_parser___ReduceAction859___init();
3848 /* ./parser//parser.nit:156 */
3849 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3850 fra.me.REG[2] = NEW_ReduceAction860_parser___ReduceAction860___init();
3851 /* ./parser//parser.nit:156 */
3852 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3853 fra.me.REG[2] = NEW_ReduceAction861_parser___ReduceAction861___init();
3854 /* ./parser//parser.nit:156 */
3855 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3856 fra.me.REG[2] = NEW_ReduceAction862_parser___ReduceAction862___init();
3857 /* ./parser//parser.nit:156 */
3858 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3859 fra.me.REG[2] = NEW_ReduceAction863_parser___ReduceAction863___init();
3860 /* ./parser//parser.nit:156 */
3861 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3862 fra.me.REG[2] = NEW_ReduceAction864_parser___ReduceAction864___init();
3863 /* ./parser//parser.nit:156 */
3864 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3865 fra.me.REG[2] = NEW_ReduceAction865_parser___ReduceAction865___init();
3866 /* ./parser//parser.nit:156 */
3867 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3868 fra.me.REG[2] = NEW_ReduceAction866_parser___ReduceAction866___init();
3869 /* ./parser//parser.nit:156 */
3870 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3871 fra.me.REG[2] = NEW_ReduceAction867_parser___ReduceAction867___init();
3872 /* ./parser//parser.nit:156 */
3873 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3874 fra.me.REG[2] = NEW_ReduceAction868_parser___ReduceAction868___init();
3875 /* ./parser//parser.nit:156 */
3876 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3877 fra.me.REG[2] = NEW_ReduceAction869_parser___ReduceAction869___init();
3878 /* ./parser//parser.nit:156 */
3879 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3880 fra.me.REG[2] = NEW_ReduceAction870_parser___ReduceAction870___init();
3881 /* ./parser//parser.nit:156 */
3882 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3883 fra.me.REG[2] = NEW_ReduceAction871_parser___ReduceAction871___init();
3884 /* ./parser//parser.nit:156 */
3885 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3886 fra.me.REG[2] = NEW_ReduceAction872_parser___ReduceAction872___init();
3887 /* ./parser//parser.nit:156 */
3888 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3889 fra.me.REG[2] = NEW_ReduceAction873_parser___ReduceAction873___init();
3890 /* ./parser//parser.nit:156 */
3891 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3892 fra.me.REG[2] = NEW_ReduceAction874_parser___ReduceAction874___init();
3893 /* ./parser//parser.nit:156 */
3894 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3895 fra.me.REG[2] = NEW_ReduceAction875_parser___ReduceAction875___init();
3896 /* ./parser//parser.nit:156 */
3897 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3898 fra.me.REG[2] = NEW_ReduceAction876_parser___ReduceAction876___init();
3899 /* ./parser//parser.nit:156 */
3900 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3901 fra.me.REG[2] = NEW_ReduceAction877_parser___ReduceAction877___init();
3902 /* ./parser//parser.nit:156 */
3903 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3904 fra.me.REG[2] = NEW_ReduceAction878_parser___ReduceAction878___init();
3905 /* ./parser//parser.nit:156 */
3906 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3907 fra.me.REG[2] = NEW_ReduceAction879_parser___ReduceAction879___init();
3908 /* ./parser//parser.nit:156 */
3909 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3910 fra.me.REG[2] = NEW_ReduceAction880_parser___ReduceAction880___init();
3911 /* ./parser//parser.nit:156 */
3912 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3913 fra.me.REG[2] = NEW_ReduceAction881_parser___ReduceAction881___init();
3914 /* ./parser//parser.nit:156 */
3915 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3916 fra.me.REG[2] = NEW_ReduceAction882_parser___ReduceAction882___init();
3917 /* ./parser//parser.nit:156 */
3918 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3919 fra.me.REG[2] = NEW_ReduceAction883_parser___ReduceAction883___init();
3920 /* ./parser//parser.nit:156 */
3921 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3922 fra.me.REG[2] = NEW_ReduceAction884_parser___ReduceAction884___init();
3923 /* ./parser//parser.nit:156 */
3924 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3925 fra.me.REG[2] = NEW_ReduceAction885_parser___ReduceAction885___init();
3926 /* ./parser//parser.nit:156 */
3927 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3928 fra.me.REG[2] = NEW_ReduceAction886_parser___ReduceAction886___init();
3929 /* ./parser//parser.nit:156 */
3930 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3931 fra.me.REG[2] = NEW_ReduceAction887_parser___ReduceAction887___init();
3932 /* ./parser//parser.nit:156 */
3933 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3934 fra.me.REG[2] = NEW_ReduceAction888_parser___ReduceAction888___init();
3935 /* ./parser//parser.nit:156 */
3936 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3937 fra.me.REG[2] = NEW_ReduceAction889_parser___ReduceAction889___init();
3938 /* ./parser//parser.nit:156 */
3939 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3940 fra.me.REG[2] = NEW_ReduceAction890_parser___ReduceAction890___init();
3941 /* ./parser//parser.nit:156 */
3942 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3943 fra.me.REG[2] = NEW_ReduceAction891_parser___ReduceAction891___init();
3944 /* ./parser//parser.nit:156 */
3945 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3946 fra.me.REG[2] = NEW_ReduceAction892_parser___ReduceAction892___init();
3947 /* ./parser//parser.nit:156 */
3948 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3949 fra.me.REG[2] = NEW_ReduceAction893_parser___ReduceAction893___init();
3950 /* ./parser//parser.nit:156 */
3951 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3952 fra.me.REG[2] = NEW_ReduceAction894_parser___ReduceAction894___init();
3953 /* ./parser//parser.nit:156 */
3954 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3955 fra.me.REG[2] = NEW_ReduceAction895_parser___ReduceAction895___init();
3956 /* ./parser//parser.nit:156 */
3957 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3958 fra.me.REG[2] = NEW_ReduceAction896_parser___ReduceAction896___init();
3959 /* ./parser//parser.nit:156 */
3960 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3961 fra.me.REG[2] = NEW_ReduceAction897_parser___ReduceAction897___init();
3962 /* ./parser//parser.nit:156 */
3963 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3964 fra.me.REG[2] = NEW_ReduceAction898_parser___ReduceAction898___init();
3965 /* ./parser//parser.nit:156 */
3966 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3967 fra.me.REG[2] = NEW_ReduceAction899_parser___ReduceAction899___init();
3968 /* ./parser//parser.nit:156 */
3969 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3970 fra.me.REG[2] = NEW_ReduceAction900_parser___ReduceAction900___init();
3971 /* ./parser//parser.nit:156 */
3972 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3973 fra.me.REG[2] = NEW_ReduceAction901_parser___ReduceAction901___init();
3974 /* ./parser//parser.nit:156 */
3975 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3976 fra.me.REG[2] = NEW_ReduceAction902_parser___ReduceAction902___init();
3977 /* ./parser//parser.nit:156 */
3978 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3979 fra.me.REG[2] = NEW_ReduceAction903_parser___ReduceAction903___init();
3980 /* ./parser//parser.nit:156 */
3981 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3982 fra.me.REG[2] = NEW_ReduceAction904_parser___ReduceAction904___init();
3983 /* ./parser//parser.nit:156 */
3984 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3985 fra.me.REG[2] = NEW_ReduceAction905_parser___ReduceAction905___init();
3986 /* ./parser//parser.nit:156 */
3987 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3988 fra.me.REG[2] = NEW_ReduceAction906_parser___ReduceAction906___init();
3989 /* ./parser//parser.nit:156 */
3990 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3991 fra.me.REG[2] = NEW_ReduceAction907_parser___ReduceAction907___init();
3992 /* ./parser//parser.nit:156 */
3993 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3994 fra.me.REG[2] = NEW_ReduceAction908_parser___ReduceAction908___init();
3995 /* ./parser//parser.nit:156 */
3996 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3997 fra.me.REG[2] = NEW_ReduceAction909_parser___ReduceAction909___init();
3998 /* ./parser//parser.nit:156 */
3999 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4000 fra.me.REG[2] = NEW_ReduceAction910_parser___ReduceAction910___init();
4001 /* ./parser//parser.nit:156 */
4002 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4003 fra.me.REG[2] = NEW_ReduceAction911_parser___ReduceAction911___init();
4004 /* ./parser//parser.nit:156 */
4005 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4006 fra.me.REG[2] = NEW_ReduceAction912_parser___ReduceAction912___init();
4007 /* ./parser//parser.nit:156 */
4008 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4009 fra.me.REG[2] = NEW_ReduceAction913_parser___ReduceAction913___init();
4010 /* ./parser//parser.nit:156 */
4011 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4012 fra.me.REG[2] = NEW_ReduceAction914_parser___ReduceAction914___init();
4013 /* ./parser//parser.nit:156 */
4014 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4015 fra.me.REG[2] = NEW_ReduceAction915_parser___ReduceAction915___init();
4016 /* ./parser//parser.nit:156 */
4017 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4018 fra.me.REG[2] = NEW_ReduceAction916_parser___ReduceAction916___init();
4019 /* ./parser//parser.nit:156 */
4020 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4021 fra.me.REG[2] = NEW_ReduceAction917_parser___ReduceAction917___init();
4022 /* ./parser//parser.nit:156 */
4023 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4024 fra.me.REG[2] = NEW_ReduceAction918_parser___ReduceAction918___init();
4025 /* ./parser//parser.nit:156 */
4026 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4027 fra.me.REG[2] = NEW_ReduceAction919_parser___ReduceAction919___init();
4028 /* ./parser//parser.nit:156 */
4029 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4030 fra.me.REG[2] = NEW_ReduceAction920_parser___ReduceAction920___init();
4031 /* ./parser//parser.nit:156 */
4032 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4033 fra.me.REG[2] = NEW_ReduceAction921_parser___ReduceAction921___init();
4034 /* ./parser//parser.nit:156 */
4035 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4036 fra.me.REG[2] = NEW_ReduceAction922_parser___ReduceAction922___init();
4037 /* ./parser//parser.nit:156 */
4038 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4039 fra.me.REG[2] = NEW_ReduceAction923_parser___ReduceAction923___init();
4040 /* ./parser//parser.nit:156 */
4041 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4042 fra.me.REG[2] = NEW_ReduceAction924_parser___ReduceAction924___init();
4043 /* ./parser//parser.nit:156 */
4044 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4045 fra.me.REG[2] = NEW_ReduceAction925_parser___ReduceAction925___init();
4046 /* ./parser//parser.nit:156 */
4047 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4048 fra.me.REG[2] = NEW_ReduceAction926_parser___ReduceAction926___init();
4049 /* ./parser//parser.nit:156 */
4050 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4051 fra.me.REG[2] = NEW_ReduceAction927_parser___ReduceAction927___init();
4052 /* ./parser//parser.nit:156 */
4053 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4054 fra.me.REG[2] = NEW_ReduceAction928_parser___ReduceAction928___init();
4055 /* ./parser//parser.nit:156 */
4056 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4057 fra.me.REG[2] = NEW_ReduceAction929_parser___ReduceAction929___init();
4058 /* ./parser//parser.nit:156 */
4059 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4060 fra.me.REG[2] = NEW_ReduceAction930_parser___ReduceAction930___init();
4061 /* ./parser//parser.nit:156 */
4062 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4063 fra.me.REG[2] = NEW_ReduceAction931_parser___ReduceAction931___init();
4064 /* ./parser//parser.nit:156 */
4065 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4066 fra.me.REG[2] = NEW_ReduceAction932_parser___ReduceAction932___init();
4067 /* ./parser//parser.nit:156 */
4068 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4069 fra.me.REG[2] = NEW_ReduceAction933_parser___ReduceAction933___init();
4070 /* ./parser//parser.nit:156 */
4071 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4072 fra.me.REG[2] = NEW_ReduceAction934_parser___ReduceAction934___init();
4073 /* ./parser//parser.nit:156 */
4074 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4075 fra.me.REG[2] = NEW_ReduceAction935_parser___ReduceAction935___init();
4076 /* ./parser//parser.nit:156 */
4077 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4078 fra.me.REG[2] = NEW_ReduceAction936_parser___ReduceAction936___init();
4079 /* ./parser//parser.nit:156 */
4080 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4081 fra.me.REG[2] = NEW_ReduceAction937_parser___ReduceAction937___init();
4082 /* ./parser//parser.nit:156 */
4083 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4084 fra.me.REG[2] = NEW_ReduceAction938_parser___ReduceAction938___init();
4085 /* ./parser//parser.nit:156 */
4086 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4087 fra.me.REG[2] = NEW_ReduceAction939_parser___ReduceAction939___init();
4088 /* ./parser//parser.nit:156 */
4089 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4090 fra.me.REG[2] = NEW_ReduceAction940_parser___ReduceAction940___init();
4091 /* ./parser//parser.nit:156 */
4092 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4093 fra.me.REG[2] = NEW_ReduceAction941_parser___ReduceAction941___init();
4094 /* ./parser//parser.nit:156 */
4095 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4096 fra.me.REG[2] = NEW_ReduceAction942_parser___ReduceAction942___init();
4097 /* ./parser//parser.nit:156 */
4098 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4099 fra.me.REG[2] = NEW_ReduceAction943_parser___ReduceAction943___init();
4100 /* ./parser//parser.nit:156 */
4101 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4102 fra.me.REG[2] = NEW_ReduceAction944_parser___ReduceAction944___init();
4103 /* ./parser//parser.nit:156 */
4104 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4105 fra.me.REG[2] = NEW_ReduceAction945_parser___ReduceAction945___init();
4106 /* ./parser//parser.nit:156 */
4107 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4108 fra.me.REG[2] = NEW_ReduceAction946_parser___ReduceAction946___init();
4109 /* ./parser//parser.nit:156 */
4110 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4111 fra.me.REG[2] = NEW_ReduceAction947_parser___ReduceAction947___init();
4112 /* ./parser//parser.nit:156 */
4113 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4114 fra.me.REG[2] = NEW_ReduceAction948_parser___ReduceAction948___init();
4115 /* ./parser//parser.nit:156 */
4116 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4117 fra.me.REG[2] = NEW_ReduceAction949_parser___ReduceAction949___init();
4118 /* ./parser//parser.nit:156 */
4119 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4120 fra.me.REG[2] = NEW_ReduceAction950_parser___ReduceAction950___init();
4121 /* ./parser//parser.nit:156 */
4122 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4123 fra.me.REG[2] = NEW_ReduceAction951_parser___ReduceAction951___init();
4124 /* ./parser//parser.nit:156 */
4125 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4126 fra.me.REG[2] = NEW_ReduceAction952_parser___ReduceAction952___init();
4127 /* ./parser//parser.nit:156 */
4128 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4129 fra.me.REG[2] = NEW_ReduceAction953_parser___ReduceAction953___init();
4130 /* ./parser//parser.nit:156 */
4131 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4132 fra.me.REG[2] = NEW_ReduceAction954_parser___ReduceAction954___init();
4133 /* ./parser//parser.nit:156 */
4134 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4135 fra.me.REG[2] = NEW_ReduceAction955_parser___ReduceAction955___init();
4136 /* ./parser//parser.nit:156 */
4137 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4138 fra.me.REG[2] = NEW_ReduceAction956_parser___ReduceAction956___init();
4139 /* ./parser//parser.nit:156 */
4140 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4141 fra.me.REG[2] = NEW_ReduceAction957_parser___ReduceAction957___init();
4142 /* ./parser//parser.nit:156 */
4143 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4144 fra.me.REG[2] = NEW_ReduceAction958_parser___ReduceAction958___init();
4145 /* ./parser//parser.nit:156 */
4146 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4147 fra.me.REG[2] = NEW_ReduceAction959_parser___ReduceAction959___init();
4148 /* ./parser//parser.nit:156 */
4149 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4150 fra.me.REG[2] = NEW_ReduceAction960_parser___ReduceAction960___init();
4151 /* ./parser//parser.nit:156 */
4152 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4153 fra.me.REG[2] = NEW_ReduceAction961_parser___ReduceAction961___init();
4154 /* ./parser//parser.nit:156 */
4155 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4156 fra.me.REG[2] = NEW_ReduceAction962_parser___ReduceAction962___init();
4157 /* ./parser//parser.nit:156 */
4158 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4159 fra.me.REG[2] = NEW_ReduceAction963_parser___ReduceAction963___init();
4160 /* ./parser//parser.nit:156 */
4161 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4162 fra.me.REG[2] = NEW_ReduceAction964_parser___ReduceAction964___init();
4163 /* ./parser//parser.nit:156 */
4164 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4165 fra.me.REG[2] = NEW_ReduceAction965_parser___ReduceAction965___init();
4166 /* ./parser//parser.nit:156 */
4167 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4168 fra.me.REG[2] = NEW_ReduceAction966_parser___ReduceAction966___init();
4169 /* ./parser//parser.nit:156 */
4170 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4171 fra.me.REG[2] = NEW_ReduceAction967_parser___ReduceAction967___init();
4172 /* ./parser//parser.nit:156 */
4173 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4174 fra.me.REG[2] = NEW_ReduceAction968_parser___ReduceAction968___init();
4175 /* ./parser//parser.nit:156 */
4176 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4177 fra.me.REG[2] = NEW_ReduceAction969_parser___ReduceAction969___init();
4178 /* ./parser//parser.nit:156 */
4179 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4180 fra.me.REG[2] = NEW_ReduceAction970_parser___ReduceAction970___init();
4181 /* ./parser//parser.nit:156 */
4182 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4183 fra.me.REG[2] = NEW_ReduceAction971_parser___ReduceAction971___init();
4184 /* ./parser//parser.nit:156 */
4185 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4186 fra.me.REG[2] = NEW_ReduceAction972_parser___ReduceAction972___init();
4187 /* ./parser//parser.nit:156 */
4188 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4189 fra.me.REG[2] = NEW_ReduceAction973_parser___ReduceAction973___init();
4190 /* ./parser//parser.nit:156 */
4191 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4192 fra.me.REG[2] = NEW_ReduceAction974_parser___ReduceAction974___init();
4193 /* ./parser//parser.nit:156 */
4194 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4195 fra.me.REG[2] = NEW_ReduceAction975_parser___ReduceAction975___init();
4196 /* ./parser//parser.nit:156 */
4197 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4198 fra.me.REG[2] = NEW_ReduceAction976_parser___ReduceAction976___init();
4199 /* ./parser//parser.nit:156 */
4200 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4201 fra.me.REG[2] = NEW_ReduceAction977_parser___ReduceAction977___init();
4202 /* ./parser//parser.nit:156 */
4203 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4204 fra.me.REG[2] = NEW_ReduceAction978_parser___ReduceAction978___init();
4205 /* ./parser//parser.nit:156 */
4206 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4207 fra.me.REG[2] = NEW_ReduceAction979_parser___ReduceAction979___init();
4208 /* ./parser//parser.nit:156 */
4209 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4210 fra.me.REG[2] = NEW_ReduceAction980_parser___ReduceAction980___init();
4211 /* ./parser//parser.nit:156 */
4212 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4213 fra.me.REG[2] = NEW_ReduceAction981_parser___ReduceAction981___init();
4214 /* ./parser//parser.nit:156 */
4215 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4216 fra.me.REG[2] = NEW_ReduceAction982_parser___ReduceAction982___init();
4217 /* ./parser//parser.nit:156 */
4218 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4219 fra.me.REG[2] = NEW_ReduceAction983_parser___ReduceAction983___init();
4220 /* ./parser//parser.nit:156 */
4221 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4222 fra.me.REG[2] = NEW_ReduceAction984_parser___ReduceAction984___init();
4223 /* ./parser//parser.nit:156 */
4224 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4225 fra.me.REG[2] = NEW_ReduceAction985_parser___ReduceAction985___init();
4226 /* ./parser//parser.nit:156 */
4227 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4228 fra.me.REG[2] = NEW_ReduceAction986_parser___ReduceAction986___init();
4229 /* ./parser//parser.nit:156 */
4230 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4231 fra.me.REG[2] = NEW_ReduceAction987_parser___ReduceAction987___init();
4232 /* ./parser//parser.nit:156 */
4233 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4234 fra.me.REG[2] = NEW_ReduceAction988_parser___ReduceAction988___init();
4235 /* ./parser//parser.nit:156 */
4236 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4237 fra.me.REG[2] = NEW_ReduceAction989_parser___ReduceAction989___init();
4238 /* ./parser//parser.nit:156 */
4239 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4240 fra.me.REG[2] = NEW_ReduceAction990_parser___ReduceAction990___init();
4241 /* ./parser//parser.nit:156 */
4242 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4243 fra.me.REG[2] = NEW_ReduceAction991_parser___ReduceAction991___init();
4244 /* ./parser//parser.nit:156 */
4245 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4246 fra.me.REG[2] = NEW_ReduceAction992_parser___ReduceAction992___init();
4247 /* ./parser//parser.nit:156 */
4248 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4249 fra.me.REG[2] = NEW_ReduceAction993_parser___ReduceAction993___init();
4250 /* ./parser//parser.nit:156 */
4251 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4252 fra.me.REG[2] = NEW_ReduceAction994_parser___ReduceAction994___init();
4253 /* ./parser//parser.nit:156 */
4254 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4255 fra.me.REG[2] = NEW_ReduceAction995_parser___ReduceAction995___init();
4256 /* ./parser//parser.nit:156 */
4257 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4258 fra.me.REG[2] = NEW_ReduceAction996_parser___ReduceAction996___init();
4259 /* ./parser//parser.nit:156 */
4260 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4261 fra.me.REG[2] = NEW_ReduceAction997_parser___ReduceAction997___init();
4262 /* ./parser//parser.nit:156 */
4263 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4264 fra.me.REG[2] = NEW_ReduceAction998_parser___ReduceAction998___init();
4265 /* ./parser//parser.nit:156 */
4266 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4267 fra.me.REG[2] = NEW_ReduceAction999_parser___ReduceAction999___init();
4268 /* ./parser//parser.nit:156 */
4269 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4270 fra.me.REG[2] = NEW_ReduceAction1000_parser___ReduceAction1000___init();
4271 /* ./parser//parser.nit:156 */
4272 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4273 fra.me.REG[2] = NEW_ReduceAction1001_parser___ReduceAction1001___init();
4274 /* ./parser//parser.nit:156 */
4275 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4276 fra.me.REG[2] = NEW_ReduceAction1002_parser___ReduceAction1002___init();
4277 /* ./parser//parser.nit:156 */
4278 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4279 fra.me.REG[2] = NEW_ReduceAction1003_parser___ReduceAction1003___init();
4280 /* ./parser//parser.nit:156 */
4281 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4282 fra.me.REG[2] = NEW_ReduceAction1004_parser___ReduceAction1004___init();
4283 /* ./parser//parser.nit:156 */
4284 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4285 fra.me.REG[2] = NEW_ReduceAction1005_parser___ReduceAction1005___init();
4286 /* ./parser//parser.nit:156 */
4287 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4288 fra.me.REG[2] = NEW_ReduceAction1006_parser___ReduceAction1006___init();
4289 /* ./parser//parser.nit:156 */
4290 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4291 fra.me.REG[2] = NEW_ReduceAction1007_parser___ReduceAction1007___init();
4292 /* ./parser//parser.nit:156 */
4293 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4294 fra.me.REG[2] = NEW_ReduceAction1008_parser___ReduceAction1008___init();
4295 /* ./parser//parser.nit:156 */
4296 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4297 fra.me.REG[2] = NEW_ReduceAction1009_parser___ReduceAction1009___init();
4298 /* ./parser//parser.nit:156 */
4299 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4300 fra.me.REG[2] = NEW_ReduceAction1010_parser___ReduceAction1010___init();
4301 /* ./parser//parser.nit:156 */
4302 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4303 fra.me.REG[2] = NEW_ReduceAction1011_parser___ReduceAction1011___init();
4304 /* ./parser//parser.nit:156 */
4305 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4306 fra.me.REG[2] = NEW_ReduceAction1012_parser___ReduceAction1012___init();
4307 /* ./parser//parser.nit:156 */
4308 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4309 fra.me.REG[2] = NEW_ReduceAction1013_parser___ReduceAction1013___init();
4310 /* ./parser//parser.nit:156 */
4311 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4312 fra.me.REG[2] = NEW_ReduceAction1014_parser___ReduceAction1014___init();
4313 /* ./parser//parser.nit:156 */
4314 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4315 fra.me.REG[2] = NEW_ReduceAction1015_parser___ReduceAction1015___init();
4316 /* ./parser//parser.nit:156 */
4317 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4318 fra.me.REG[2] = NEW_ReduceAction1016_parser___ReduceAction1016___init();
4319 /* ./parser//parser.nit:156 */
4320 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4321 fra.me.REG[2] = NEW_ReduceAction1017_parser___ReduceAction1017___init();
4322 /* ./parser//parser.nit:156 */
4323 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4324 fra.me.REG[2] = NEW_ReduceAction1018_parser___ReduceAction1018___init();
4325 /* ./parser//parser.nit:156 */
4326 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4327 fra.me.REG[2] = NEW_ReduceAction1019_parser___ReduceAction1019___init();
4328 /* ./parser//parser.nit:156 */
4329 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4330 fra.me.REG[2] = NEW_ReduceAction1020_parser___ReduceAction1020___init();
4331 /* ./parser//parser.nit:156 */
4332 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4333 fra.me.REG[2] = NEW_ReduceAction1021_parser___ReduceAction1021___init();
4334 /* ./parser//parser.nit:156 */
4335 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4336 fra.me.REG[2] = NEW_ReduceAction1022_parser___ReduceAction1022___init();
4337 /* ./parser//parser.nit:156 */
4338 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4339 fra.me.REG[2] = NEW_ReduceAction1023_parser___ReduceAction1023___init();
4340 /* ./parser//parser.nit:156 */
4341 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4342 fra.me.REG[2] = NEW_ReduceAction1024_parser___ReduceAction1024___init();
4343 /* ./parser//parser.nit:156 */
4344 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4345 fra.me.REG[2] = NEW_ReduceAction1025_parser___ReduceAction1025___init();
4346 /* ./parser//parser.nit:156 */
4347 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4348 fra.me.REG[2] = NEW_ReduceAction1026_parser___ReduceAction1026___init();
4349 /* ./parser//parser.nit:156 */
4350 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4351 fra.me.REG[2] = NEW_ReduceAction1027_parser___ReduceAction1027___init();
4352 /* ./parser//parser.nit:156 */
4353 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4354 fra.me.REG[2] = NEW_ReduceAction1028_parser___ReduceAction1028___init();
4355 /* ./parser//parser.nit:156 */
4356 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4357 fra.me.REG[2] = NEW_ReduceAction1029_parser___ReduceAction1029___init();
4358 /* ./parser//parser.nit:156 */
4359 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4360 fra.me.REG[2] = NEW_ReduceAction1030_parser___ReduceAction1030___init();
4361 /* ./parser//parser.nit:156 */
4362 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4363 fra.me.REG[2] = NEW_ReduceAction1031_parser___ReduceAction1031___init();
4364 /* ./parser//parser.nit:156 */
4365 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4366 fra.me.REG[2] = NEW_ReduceAction1032_parser___ReduceAction1032___init();
4367 /* ./parser//parser.nit:156 */
4368 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4369 fra.me.REG[2] = NEW_ReduceAction1033_parser___ReduceAction1033___init();
4370 /* ./parser//parser.nit:156 */
4371 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4372 fra.me.REG[2] = NEW_ReduceAction1034_parser___ReduceAction1034___init();
4373 /* ./parser//parser.nit:156 */
4374 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4375 fra.me.REG[2] = NEW_ReduceAction1035_parser___ReduceAction1035___init();
4376 /* ./parser//parser.nit:156 */
4377 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4378 fra.me.REG[2] = NEW_ReduceAction1036_parser___ReduceAction1036___init();
4379 /* ./parser//parser.nit:156 */
4380 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4381 fra.me.REG[2] = NEW_ReduceAction1037_parser___ReduceAction1037___init();
4382 /* ./parser//parser.nit:156 */
4383 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4384 fra.me.REG[2] = NEW_ReduceAction1038_parser___ReduceAction1038___init();
4385 /* ./parser//parser.nit:156 */
4386 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4387 fra.me.REG[2] = NEW_ReduceAction1039_parser___ReduceAction1039___init();
4388 /* ./parser//parser.nit:156 */
4389 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4390 fra.me.REG[2] = NEW_ReduceAction1040_parser___ReduceAction1040___init();
4391 /* ./parser//parser.nit:156 */
4392 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4393 fra.me.REG[2] = NEW_ReduceAction1041_parser___ReduceAction1041___init();
4394 /* ./parser//parser.nit:156 */
4395 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4396 fra.me.REG[2] = NEW_ReduceAction1042_parser___ReduceAction1042___init();
4397 /* ./parser//parser.nit:156 */
4398 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4399 fra.me.REG[2] = NEW_ReduceAction1043_parser___ReduceAction1043___init();
4400 /* ./parser//parser.nit:156 */
4401 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4402 fra.me.REG[2] = NEW_ReduceAction1044_parser___ReduceAction1044___init();
4403 /* ./parser//parser.nit:156 */
4404 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4405 fra.me.REG[2] = NEW_ReduceAction1045_parser___ReduceAction1045___init();
4406 /* ./parser//parser.nit:156 */
4407 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4408 fra.me.REG[2] = NEW_ReduceAction1046_parser___ReduceAction1046___init();
4409 /* ./parser//parser.nit:156 */
4410 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4411 fra.me.REG[2] = NEW_ReduceAction1047_parser___ReduceAction1047___init();
4412 /* ./parser//parser.nit:156 */
4413 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4414 fra.me.REG[2] = NEW_ReduceAction1048_parser___ReduceAction1048___init();
4415 /* ./parser//parser.nit:156 */
4416 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4417 fra.me.REG[2] = NEW_ReduceAction1049_parser___ReduceAction1049___init();
4418 /* ./parser//parser.nit:156 */
4419 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4420 fra.me.REG[2] = NEW_ReduceAction1050_parser___ReduceAction1050___init();
4421 /* ./parser//parser.nit:156 */
4422 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4423 fra.me.REG[2] = NEW_ReduceAction1051_parser___ReduceAction1051___init();
4424 /* ./parser//parser.nit:156 */
4425 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4426 fra.me.REG[2] = NEW_ReduceAction1052_parser___ReduceAction1052___init();
4427 /* ./parser//parser.nit:156 */
4428 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4429 fra.me.REG[2] = NEW_ReduceAction1053_parser___ReduceAction1053___init();
4430 /* ./parser//parser.nit:156 */
4431 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4432 fra.me.REG[2] = NEW_ReduceAction1054_parser___ReduceAction1054___init();
4433 /* ./parser//parser.nit:156 */
4434 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4435 fra.me.REG[2] = NEW_ReduceAction1055_parser___ReduceAction1055___init();
4436 /* ./parser//parser.nit:156 */
4437 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4438 fra.me.REG[2] = NEW_ReduceAction1056_parser___ReduceAction1056___init();
4439 /* ./parser//parser.nit:156 */
4440 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4441 fra.me.REG[2] = NEW_ReduceAction1057_parser___ReduceAction1057___init();
4442 /* ./parser//parser.nit:156 */
4443 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4444 fra.me.REG[2] = NEW_ReduceAction1058_parser___ReduceAction1058___init();
4445 /* ./parser//parser.nit:156 */
4446 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4447 fra.me.REG[2] = NEW_ReduceAction1059_parser___ReduceAction1059___init();
4448 /* ./parser//parser.nit:156 */
4449 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4450 fra.me.REG[2] = NEW_ReduceAction1060_parser___ReduceAction1060___init();
4451 /* ./parser//parser.nit:156 */
4452 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4453 fra.me.REG[2] = NEW_ReduceAction1061_parser___ReduceAction1061___init();
4454 /* ./parser//parser.nit:156 */
4455 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4456 fra.me.REG[2] = NEW_ReduceAction1062_parser___ReduceAction1062___init();
4457 /* ./parser//parser.nit:156 */
4458 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4459 fra.me.REG[2] = NEW_ReduceAction1063_parser___ReduceAction1063___init();
4460 /* ./parser//parser.nit:156 */
4461 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4462 fra.me.REG[2] = NEW_ReduceAction1064_parser___ReduceAction1064___init();
4463 /* ./parser//parser.nit:156 */
4464 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4465 fra.me.REG[2] = NEW_ReduceAction1065_parser___ReduceAction1065___init();
4466 /* ./parser//parser.nit:156 */
4467 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4468 fra.me.REG[2] = NEW_ReduceAction1066_parser___ReduceAction1066___init();
4469 /* ./parser//parser.nit:156 */
4470 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4471 fra.me.REG[2] = NEW_ReduceAction1067_parser___ReduceAction1067___init();
4472 /* ./parser//parser.nit:156 */
4473 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4474 fra.me.REG[2] = NEW_ReduceAction1068_parser___ReduceAction1068___init();
4475 /* ./parser//parser.nit:156 */
4476 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4477 fra.me.REG[2] = NEW_ReduceAction1069_parser___ReduceAction1069___init();
4478 /* ./parser//parser.nit:156 */
4479 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4480 fra.me.REG[2] = NEW_ReduceAction1070_parser___ReduceAction1070___init();
4481 /* ./parser//parser.nit:156 */
4482 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4483 fra.me.REG[2] = NEW_ReduceAction1071_parser___ReduceAction1071___init();
4484 /* ./parser//parser.nit:156 */
4485 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4486 fra.me.REG[2] = NEW_ReduceAction1072_parser___ReduceAction1072___init();
4487 /* ./parser//parser.nit:156 */
4488 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4489 fra.me.REG[2] = NEW_ReduceAction1073_parser___ReduceAction1073___init();
4490 /* ./parser//parser.nit:156 */
4491 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4492 fra.me.REG[2] = NEW_ReduceAction1074_parser___ReduceAction1074___init();
4493 /* ./parser//parser.nit:156 */
4494 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4495 fra.me.REG[2] = NEW_ReduceAction1075_parser___ReduceAction1075___init();
4496 /* ./parser//parser.nit:156 */
4497 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4498 fra.me.REG[2] = NEW_ReduceAction1076_parser___ReduceAction1076___init();
4499 /* ./parser//parser.nit:156 */
4500 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4501 fra.me.REG[2] = NEW_ReduceAction1077_parser___ReduceAction1077___init();
4502 /* ./parser//parser.nit:156 */
4503 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4504 fra.me.REG[2] = NEW_ReduceAction1078_parser___ReduceAction1078___init();
4505 /* ./parser//parser.nit:156 */
4506 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4507 fra.me.REG[2] = NEW_ReduceAction1079_parser___ReduceAction1079___init();
4508 /* ./parser//parser.nit:156 */
4509 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4510 fra.me.REG[2] = NEW_ReduceAction1080_parser___ReduceAction1080___init();
4511 /* ./parser//parser.nit:156 */
4512 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4513 fra.me.REG[2] = NEW_ReduceAction1081_parser___ReduceAction1081___init();
4514 /* ./parser//parser.nit:156 */
4515 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4516 fra.me.REG[2] = NEW_ReduceAction1082_parser___ReduceAction1082___init();
4517 /* ./parser//parser.nit:156 */
4518 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4519 fra.me.REG[2] = NEW_ReduceAction1083_parser___ReduceAction1083___init();
4520 /* ./parser//parser.nit:156 */
4521 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4522 fra.me.REG[2] = NEW_ReduceAction1084_parser___ReduceAction1084___init();
4523 /* ./parser//parser.nit:156 */
4524 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4525 fra.me.REG[2] = NEW_ReduceAction1085_parser___ReduceAction1085___init();
4526 /* ./parser//parser.nit:156 */
4527 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4528 fra.me.REG[2] = NEW_ReduceAction1086_parser___ReduceAction1086___init();
4529 /* ./parser//parser.nit:156 */
4530 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4531 fra.me.REG[2] = NEW_ReduceAction1087_parser___ReduceAction1087___init();
4532 /* ./parser//parser.nit:156 */
4533 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4534 fra.me.REG[2] = NEW_ReduceAction1088_parser___ReduceAction1088___init();
4535 /* ./parser//parser.nit:156 */
4536 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4537 fra.me.REG[2] = NEW_ReduceAction1089_parser___ReduceAction1089___init();
4538 /* ./parser//parser.nit:156 */
4539 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4540 fra.me.REG[2] = NEW_ReduceAction1090_parser___ReduceAction1090___init();
4541 /* ./parser//parser.nit:156 */
4542 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4543 fra.me.REG[2] = NEW_ReduceAction1091_parser___ReduceAction1091___init();
4544 /* ./parser//parser.nit:156 */
4545 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4546 fra.me.REG[2] = NEW_ReduceAction1092_parser___ReduceAction1092___init();
4547 /* ./parser//parser.nit:156 */
4548 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4549 fra.me.REG[2] = NEW_ReduceAction1093_parser___ReduceAction1093___init();
4550 /* ./parser//parser.nit:156 */
4551 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4552 fra.me.REG[2] = NEW_ReduceAction1094_parser___ReduceAction1094___init();
4553 /* ./parser//parser.nit:156 */
4554 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4555 fra.me.REG[2] = NEW_ReduceAction1095_parser___ReduceAction1095___init();
4556 /* ./parser//parser.nit:156 */
4557 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4558 fra.me.REG[2] = NEW_ReduceAction1096_parser___ReduceAction1096___init();
4559 /* ./parser//parser.nit:156 */
4560 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4561 fra.me.REG[2] = NEW_ReduceAction1097_parser___ReduceAction1097___init();
4562 /* ./parser//parser.nit:156 */
4563 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4564 fra.me.REG[2] = NEW_ReduceAction1098_parser___ReduceAction1098___init();
4565 /* ./parser//parser.nit:156 */
4566 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4567 fra.me.REG[2] = NEW_ReduceAction1099_parser___ReduceAction1099___init();
4568 /* ./parser//parser.nit:156 */
4569 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4570 fra.me.REG[2] = NEW_ReduceAction1100_parser___ReduceAction1100___init();
4571 /* ./parser//parser.nit:156 */
4572 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4573 fra.me.REG[2] = NEW_ReduceAction1101_parser___ReduceAction1101___init();
4574 /* ./parser//parser.nit:156 */
4575 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4576 fra.me.REG[2] = NEW_ReduceAction1102_parser___ReduceAction1102___init();
4577 /* ./parser//parser.nit:156 */
4578 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4579 fra.me.REG[2] = NEW_ReduceAction1103_parser___ReduceAction1103___init();
4580 /* ./parser//parser.nit:156 */
4581 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4582 fra.me.REG[2] = NEW_ReduceAction1104_parser___ReduceAction1104___init();
4583 /* ./parser//parser.nit:156 */
4584 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4585 fra.me.REG[2] = NEW_ReduceAction1105_parser___ReduceAction1105___init();
4586 /* ./parser//parser.nit:156 */
4587 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4588 fra.me.REG[2] = NEW_ReduceAction1106_parser___ReduceAction1106___init();
4589 /* ./parser//parser.nit:156 */
4590 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4591 fra.me.REG[2] = NEW_ReduceAction1107_parser___ReduceAction1107___init();
4592 /* ./parser//parser.nit:156 */
4593 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4594 fra.me.REG[2] = NEW_ReduceAction1108_parser___ReduceAction1108___init();
4595 /* ./parser//parser.nit:156 */
4596 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4597 fra.me.REG[2] = NEW_ReduceAction1109_parser___ReduceAction1109___init();
4598 /* ./parser//parser.nit:156 */
4599 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4600 fra.me.REG[2] = NEW_ReduceAction1110_parser___ReduceAction1110___init();
4601 /* ./parser//parser.nit:156 */
4602 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4603 fra.me.REG[2] = NEW_ReduceAction1111_parser___ReduceAction1111___init();
4604 /* ./parser//parser.nit:156 */
4605 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4606 fra.me.REG[2] = NEW_ReduceAction1112_parser___ReduceAction1112___init();
4607 /* ./parser//parser.nit:156 */
4608 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4609 fra.me.REG[2] = NEW_ReduceAction1113_parser___ReduceAction1113___init();
4610 /* ./parser//parser.nit:156 */
4611 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4612 fra.me.REG[2] = NEW_ReduceAction1114_parser___ReduceAction1114___init();
4613 /* ./parser//parser.nit:156 */
4614 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4615 fra.me.REG[2] = NEW_ReduceAction1115_parser___ReduceAction1115___init();
4616 /* ./parser//parser.nit:156 */
4617 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4618 fra.me.REG[2] = NEW_ReduceAction1116_parser___ReduceAction1116___init();
4619 /* ./parser//parser.nit:156 */
4620 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4621 fra.me.REG[2] = NEW_ReduceAction1117_parser___ReduceAction1117___init();
4622 /* ./parser//parser.nit:156 */
4623 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4624 fra.me.REG[2] = NEW_ReduceAction1118_parser___ReduceAction1118___init();
4625 /* ./parser//parser.nit:156 */
4626 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4627 fra.me.REG[2] = NEW_ReduceAction1119_parser___ReduceAction1119___init();
4628 /* ./parser//parser.nit:156 */
4629 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4630 fra.me.REG[2] = NEW_ReduceAction1120_parser___ReduceAction1120___init();
4631 /* ./parser//parser.nit:156 */
4632 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4633 fra.me.REG[2] = NEW_ReduceAction1121_parser___ReduceAction1121___init();
4634 /* ./parser//parser.nit:156 */
4635 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4636 fra.me.REG[2] = NEW_ReduceAction1122_parser___ReduceAction1122___init();
4637 /* ./parser//parser.nit:156 */
4638 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4639 fra.me.REG[2] = NEW_ReduceAction1123_parser___ReduceAction1123___init();
4640 /* ./parser//parser.nit:156 */
4641 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4642 fra.me.REG[2] = NEW_ReduceAction1124_parser___ReduceAction1124___init();
4643 /* ./parser//parser.nit:156 */
4644 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4645 fra.me.REG[2] = NEW_ReduceAction1125_parser___ReduceAction1125___init();
4646 /* ./parser//parser.nit:156 */
4647 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4648 fra.me.REG[2] = NEW_ReduceAction1126_parser___ReduceAction1126___init();
4649 /* ./parser//parser.nit:156 */
4650 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4651 fra.me.REG[2] = NEW_ReduceAction1127_parser___ReduceAction1127___init();
4652 /* ./parser//parser.nit:156 */
4653 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4654 fra.me.REG[2] = NEW_ReduceAction1128_parser___ReduceAction1128___init();
4655 /* ./parser//parser.nit:156 */
4656 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4657 fra.me.REG[2] = NEW_ReduceAction1129_parser___ReduceAction1129___init();
4658 /* ./parser//parser.nit:156 */
4659 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4660 fra.me.REG[2] = NEW_ReduceAction1130_parser___ReduceAction1130___init();
4661 /* ./parser//parser.nit:156 */
4662 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4663 fra.me.REG[2] = NEW_ReduceAction1131_parser___ReduceAction1131___init();
4664 /* ./parser//parser.nit:156 */
4665 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4666 fra.me.REG[2] = NEW_ReduceAction1132_parser___ReduceAction1132___init();
4667 /* ./parser//parser.nit:156 */
4668 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4669 fra.me.REG[2] = NEW_ReduceAction1133_parser___ReduceAction1133___init();
4670 /* ./parser//parser.nit:156 */
4671 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4672 fra.me.REG[2] = NEW_ReduceAction1134_parser___ReduceAction1134___init();
4673 /* ./parser//parser.nit:156 */
4674 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4675 fra.me.REG[2] = NEW_ReduceAction1135_parser___ReduceAction1135___init();
4676 /* ./parser//parser.nit:156 */
4677 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4678 fra.me.REG[2] = NEW_ReduceAction1136_parser___ReduceAction1136___init();
4679 /* ./parser//parser.nit:156 */
4680 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4681 fra.me.REG[2] = NEW_ReduceAction1137_parser___ReduceAction1137___init();
4682 /* ./parser//parser.nit:156 */
4683 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4684 fra.me.REG[2] = NEW_ReduceAction1138_parser___ReduceAction1138___init();
4685 /* ./parser//parser.nit:156 */
4686 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4687 fra.me.REG[2] = NEW_ReduceAction1139_parser___ReduceAction1139___init();
4688 /* ./parser//parser.nit:156 */
4689 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4690 fra.me.REG[2] = NEW_ReduceAction1140_parser___ReduceAction1140___init();
4691 /* ./parser//parser.nit:156 */
4692 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4693 fra.me.REG[2] = NEW_ReduceAction1141_parser___ReduceAction1141___init();
4694 /* ./parser//parser.nit:156 */
4695 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4696 fra.me.REG[2] = NEW_ReduceAction1142_parser___ReduceAction1142___init();
4697 /* ./parser//parser.nit:156 */
4698 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4699 fra.me.REG[2] = NEW_ReduceAction1143_parser___ReduceAction1143___init();
4700 /* ./parser//parser.nit:156 */
4701 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4702 fra.me.REG[2] = NEW_ReduceAction1144_parser___ReduceAction1144___init();
4703 /* ./parser//parser.nit:156 */
4704 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4705 fra.me.REG[2] = NEW_ReduceAction1145_parser___ReduceAction1145___init();
4706 /* ./parser//parser.nit:156 */
4707 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4708 fra.me.REG[2] = NEW_ReduceAction1146_parser___ReduceAction1146___init();
4709 /* ./parser//parser.nit:156 */
4710 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4711 fra.me.REG[2] = NEW_ReduceAction1147_parser___ReduceAction1147___init();
4712 /* ./parser//parser.nit:156 */
4713 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4714 fra.me.REG[2] = NEW_ReduceAction1148_parser___ReduceAction1148___init();
4715 /* ./parser//parser.nit:156 */
4716 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4717 fra.me.REG[2] = NEW_ReduceAction1149_parser___ReduceAction1149___init();
4718 /* ./parser//parser.nit:156 */
4719 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4720 fra.me.REG[2] = NEW_ReduceAction1150_parser___ReduceAction1150___init();
4721 /* ./parser//parser.nit:156 */
4722 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4723 fra.me.REG[2] = NEW_ReduceAction1151_parser___ReduceAction1151___init();
4724 /* ./parser//parser.nit:156 */
4725 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4726 fra.me.REG[2] = NEW_ReduceAction1152_parser___ReduceAction1152___init();
4727 /* ./parser//parser.nit:156 */
4728 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4729 fra.me.REG[2] = NEW_ReduceAction1153_parser___ReduceAction1153___init();
4730 /* ./parser//parser.nit:156 */
4731 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4732 fra.me.REG[2] = NEW_ReduceAction1154_parser___ReduceAction1154___init();
4733 /* ./parser//parser.nit:156 */
4734 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4735 fra.me.REG[2] = NEW_ReduceAction1155_parser___ReduceAction1155___init();
4736 /* ./parser//parser.nit:156 */
4737 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4738 fra.me.REG[2] = NEW_ReduceAction1156_parser___ReduceAction1156___init();
4739 /* ./parser//parser.nit:156 */
4740 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4741 fra.me.REG[2] = NEW_ReduceAction1157_parser___ReduceAction1157___init();
4742 /* ./parser//parser.nit:156 */
4743 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4744 fra.me.REG[2] = NEW_ReduceAction1158_parser___ReduceAction1158___init();
4745 /* ./parser//parser.nit:156 */
4746 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4747 fra.me.REG[2] = NEW_ReduceAction1159_parser___ReduceAction1159___init();
4748 /* ./parser//parser.nit:156 */
4749 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4750 fra.me.REG[2] = NEW_ReduceAction1160_parser___ReduceAction1160___init();
4751 /* ./parser//parser.nit:156 */
4752 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4753 fra.me.REG[2] = NEW_ReduceAction1161_parser___ReduceAction1161___init();
4754 /* ./parser//parser.nit:156 */
4755 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4756 fra.me.REG[2] = NEW_ReduceAction1162_parser___ReduceAction1162___init();
4757 /* ./parser//parser.nit:156 */
4758 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4759 fra.me.REG[2] = NEW_ReduceAction1163_parser___ReduceAction1163___init();
4760 /* ./parser//parser.nit:156 */
4761 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4762 fra.me.REG[2] = NEW_ReduceAction1164_parser___ReduceAction1164___init();
4763 /* ./parser//parser.nit:156 */
4764 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4765 fra.me.REG[2] = NEW_ReduceAction1165_parser___ReduceAction1165___init();
4766 /* ./parser//parser.nit:156 */
4767 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4768 fra.me.REG[2] = NEW_ReduceAction1166_parser___ReduceAction1166___init();
4769 /* ./parser//parser.nit:156 */
4770 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4771 fra.me.REG[2] = NEW_ReduceAction1167_parser___ReduceAction1167___init();
4772 /* ./parser//parser.nit:156 */
4773 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4774 fra.me.REG[2] = NEW_ReduceAction1168_parser___ReduceAction1168___init();
4775 /* ./parser//parser.nit:156 */
4776 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4777 fra.me.REG[2] = NEW_ReduceAction1169_parser___ReduceAction1169___init();
4778 /* ./parser//parser.nit:156 */
4779 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4780 fra.me.REG[2] = NEW_ReduceAction1170_parser___ReduceAction1170___init();
4781 /* ./parser//parser.nit:156 */
4782 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4783 fra.me.REG[2] = NEW_ReduceAction1171_parser___ReduceAction1171___init();
4784 /* ./parser//parser.nit:156 */
4785 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4786 fra.me.REG[2] = NEW_ReduceAction1172_parser___ReduceAction1172___init();
4787 /* ./parser//parser.nit:156 */
4788 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4789 fra.me.REG[2] = NEW_ReduceAction1173_parser___ReduceAction1173___init();
4790 /* ./parser//parser.nit:156 */
4791 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4792 fra.me.REG[2] = NEW_ReduceAction1174_parser___ReduceAction1174___init();
4793 /* ./parser//parser.nit:156 */
4794 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4795 fra.me.REG[2] = NEW_ReduceAction1175_parser___ReduceAction1175___init();
4796 /* ./parser//parser.nit:156 */
4797 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4798 fra.me.REG[2] = NEW_ReduceAction1176_parser___ReduceAction1176___init();
4799 /* ./parser//parser.nit:156 */
4800 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4801 fra.me.REG[2] = NEW_ReduceAction1177_parser___ReduceAction1177___init();
4802 /* ./parser//parser.nit:156 */
4803 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4804 fra.me.REG[2] = NEW_ReduceAction1178_parser___ReduceAction1178___init();
4805 /* ./parser//parser.nit:156 */
4806 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4807 fra.me.REG[2] = NEW_ReduceAction1179_parser___ReduceAction1179___init();
4808 /* ./parser//parser.nit:156 */
4809 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4810 fra.me.REG[2] = NEW_ReduceAction1180_parser___ReduceAction1180___init();
4811 /* ./parser//parser.nit:156 */
4812 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4813 fra.me.REG[2] = NEW_ReduceAction1181_parser___ReduceAction1181___init();
4814 /* ./parser//parser.nit:156 */
4815 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4816 fra.me.REG[2] = NEW_ReduceAction1182_parser___ReduceAction1182___init();
4817 /* ./parser//parser.nit:156 */
4818 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4819 fra.me.REG[2] = NEW_ReduceAction1183_parser___ReduceAction1183___init();
4820 /* ./parser//parser.nit:156 */
4821 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4822 fra.me.REG[2] = NEW_ReduceAction1184_parser___ReduceAction1184___init();
4823 /* ./parser//parser.nit:156 */
4824 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4825 fra.me.REG[2] = NEW_ReduceAction1185_parser___ReduceAction1185___init();
4826 /* ./parser//parser.nit:156 */
4827 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4828 fra.me.REG[2] = NEW_ReduceAction1186_parser___ReduceAction1186___init();
4829 /* ./parser//parser.nit:156 */
4830 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4831 fra.me.REG[2] = NEW_ReduceAction1187_parser___ReduceAction1187___init();
4832 /* ./parser//parser.nit:156 */
4833 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4834 fra.me.REG[2] = NEW_ReduceAction1188_parser___ReduceAction1188___init();
4835 /* ./parser//parser.nit:156 */
4836 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4837 fra.me.REG[2] = NEW_ReduceAction1189_parser___ReduceAction1189___init();
4838 /* ./parser//parser.nit:156 */
4839 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4840 fra.me.REG[2] = NEW_ReduceAction1190_parser___ReduceAction1190___init();
4841 /* ./parser//parser.nit:156 */
4842 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4843 fra.me.REG[2] = NEW_ReduceAction1191_parser___ReduceAction1191___init();
4844 /* ./parser//parser.nit:156 */
4845 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4846 fra.me.REG[2] = NEW_ReduceAction1192_parser___ReduceAction1192___init();
4847 /* ./parser//parser.nit:156 */
4848 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4849 fra.me.REG[2] = NEW_ReduceAction1193_parser___ReduceAction1193___init();
4850 /* ./parser//parser.nit:156 */
4851 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
4852 fra.me.REG[1] = NEW_Array_array___Array___with_items(fra.me.REG[1]);
4853 ATTR_parser___Parser____reduce_table(fra.me.REG[0]) = fra.me.REG[1];
4854 stack_frame_head = fra.me.prev;
4855 return;
4856 }
4857 void parser___ComputeProdLocationVisitor___visit(val_t p0, val_t p1){
4858 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
4859 val_t REGB0;
4860 val_t REGB1;
4861 val_t REGB2;
4862 val_t REGB3;
4863 val_t tmp;
4864 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4865 fra.me.file = LOCATE_parser;
4866 fra.me.line = 1381;
4867 fra.me.meth = LOCATE_parser___ComputeProdLocationVisitor___visit;
4868 fra.me.has_broke = 0;
4869 fra.me.REG_size = 8;
4870 fra.me.REG[0] = NIT_NULL;
4871 fra.me.REG[1] = NIT_NULL;
4872 fra.me.REG[2] = NIT_NULL;
4873 fra.me.REG[3] = NIT_NULL;
4874 fra.me.REG[4] = NIT_NULL;
4875 fra.me.REG[5] = NIT_NULL;
4876 fra.me.REG[6] = NIT_NULL;
4877 fra.me.REG[7] = NIT_NULL;
4878 fra.me.REG[0] = p0;
4879 fra.me.REG[1] = p1;
4880 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
4881 /* ./parser//parser.nit:1383 */
4882 if (UNTAG_Bool(REGB0)) {
4883 } else {
4884 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
4885 if (UNTAG_Bool(REGB1)) {
4886 REGB1 = TAG_Bool(false);
4887 REGB0 = REGB1;
4888 } else {
4889 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
4890 REGB0 = REGB1;
4891 }
4892 }
4893 if (UNTAG_Bool(REGB0)) {
4894 /* ./parser//parser.nit:1384 */
4895 goto label1;
4896 } else {
4897 REGB0 = TAG_Bool((fra.me.REG[1]!=NIT_NULL) && VAL_ISA(fra.me.REG[1], COLOR_Token, ID_Token)) /*cast Token*/;
4898 /* ./parser//parser.nit:1385 */
4899 if (UNTAG_Bool(REGB0)) {
4900 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
4901 /* ./parser//parser.nit:1386 */
4902 if (UNTAG_Bool(REGB0)) {
4903 fprintf(stderr, "Reciever is null");
4904 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1386);
4905 nit_exit(1);
4906 }
4907 fra.me.REG[2] = CALL_parser_nodes___ANode___location(fra.me.REG[1])(fra.me.REG[1]);
4908 /* ./parser//parser.nit:1387 */
4909 ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = fra.me.REG[2];
4910 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
4911 /* ./parser//parser.nit:1390 */
4912 if (UNTAG_Bool(REGB0)) {
4913 } else {
4914 fprintf(stderr, "Uninitialized attribute %s", "_need_first_prods");
4915 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1390);
4916 nit_exit(1);
4917 }
4918 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
4919 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
4920 while(1) {
4921 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
4922 if (UNTAG_Bool(REGB0)) {
4923 fra.me.REG[4] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
4924 /* ./parser//parser.nit:1391 */
4925 ATTR_parser___Prod____first_location(fra.me.REG[4]) = fra.me.REG[2];
4926 } else {
4927 /* ./parser//parser.nit:1390 */
4928 goto label2;
4929 }
4930 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
4931 }
4932 label2: while(0);
4933 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
4934 /* ./parser//parser.nit:1393 */
4935 if (UNTAG_Bool(REGB0)) {
4936 } else {
4937 fprintf(stderr, "Uninitialized attribute %s", "_need_first_prods");
4938 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1393);
4939 nit_exit(1);
4940 }
4941 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
4942 CALL_abstract_collection___RemovableCollection___clear(fra.me.REG[3])(fra.me.REG[3]);
4943 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
4944 /* ./parser//parser.nit:1396 */
4945 if (UNTAG_Bool(REGB0)) {
4946 } else {
4947 fprintf(stderr, "Uninitialized attribute %s", "_need_after_epsilons");
4948 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1396);
4949 nit_exit(1);
4950 }
4951 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
4952 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
4953 while(1) {
4954 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
4955 if (UNTAG_Bool(REGB0)) {
4956 fra.me.REG[4] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
4957 fra.me.REG[5] = fra.me.REG[2];
4958 fra.me.REG[6] = ATTR_parser___Prod____last_location(fra.me.REG[4]);
4959 fra.me.REG[7] = CALL_location___Location___file(fra.me.REG[5])(fra.me.REG[5]);
4960 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
4961 /* ./parser//parser.nit:1401 */
4962 if (UNTAG_Bool(REGB0)) {
4963 fprintf(stderr, "Reciever is null");
4964 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1401);
4965 nit_exit(1);
4966 }
4967 REGB0 = CALL_location___Location___line_end(fra.me.REG[6])(fra.me.REG[6]);
4968 REGB1 = CALL_location___Location___line_start(fra.me.REG[5])(fra.me.REG[5]);
4969 REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
4970 if (UNTAG_Bool(REGB2)) {
4971 fprintf(stderr, "Reciever is null");
4972 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1401);
4973 nit_exit(1);
4974 }
4975 REGB2 = CALL_location___Location___column_end(fra.me.REG[6])(fra.me.REG[6]);
4976 REGB3 = CALL_location___Location___column_start(fra.me.REG[5])(fra.me.REG[5]);
4977 fra.me.REG[7] = NEW_Location_location___Location___init(fra.me.REG[7], REGB0, REGB1, REGB2, REGB3);
4978 CALL_parser_nodes___Prod___location__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[7]);
4979 } else {
4980 /* ./parser//parser.nit:1396 */
4981 goto label3;
4982 }
4983 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
4984 }
4985 label3: while(0);
4986 REGB3 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
4987 /* ./parser//parser.nit:1403 */
4988 if (UNTAG_Bool(REGB3)) {
4989 } else {
4990 fprintf(stderr, "Uninitialized attribute %s", "_need_after_epsilons");
4991 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1403);
4992 nit_exit(1);
4993 }
4994 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
4995 CALL_abstract_collection___RemovableCollection___clear(fra.me.REG[3])(fra.me.REG[3]);
4996 } else {
4997 REGB3 = TAG_Bool((fra.me.REG[1]!=NIT_NULL) && VAL_ISA(fra.me.REG[1], COLOR_Prod, ID_Prod)) /*cast Prod*/;
4998 /* ./parser//parser.nit:1405 */
4999 if (UNTAG_Bool(REGB3)) {
5000 } else {
5001 fprintf(stderr, "Assert failed");
5002 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1405);
5003 nit_exit(1);
5004 }
5005 REGB3 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
5006 /* ./parser//parser.nit:1406 */
5007 if (UNTAG_Bool(REGB3)) {
5008 } else {
5009 fprintf(stderr, "Uninitialized attribute %s", "_need_first_prods");
5010 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1406);
5011 nit_exit(1);
5012 }
5013 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
5014 array___Array___add(fra.me.REG[3], fra.me.REG[1]);
5015 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]);
5016 /* ./parser//parser.nit:1409 */
5017 ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = NIT_NULL;
5018 REGB3 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
5019 /* ./parser//parser.nit:1410 */
5020 if (UNTAG_Bool(REGB3)) {
5021 fprintf(stderr, "Reciever is null");
5022 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1410);
5023 nit_exit(1);
5024 }
5025 CALL_parser_prod___ANode___visit_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
5026 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]);
5027 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5028 /* ./parser//parser.nit:1412 */
5029 if (UNTAG_Bool(REGB3)) {
5030 } else {
5031 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5032 if (UNTAG_Bool(REGB2)) {
5033 REGB2 = TAG_Bool(false);
5034 REGB3 = REGB2;
5035 } else {
5036 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
5037 REGB3 = REGB2;
5038 }
5039 }
5040 if (UNTAG_Bool(REGB3)) {
5041 ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = fra.me.REG[3];
5042 }
5043 /* ./parser//parser.nit:1414 */
5044 ATTR_parser___Prod____last_location(fra.me.REG[1]) = fra.me.REG[2];
5045 fra.me.REG[3] = ATTR_parser___Prod____first_location(fra.me.REG[1]);
5046 REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5047 /* ./parser//parser.nit:1416 */
5048 if (UNTAG_Bool(REGB3)) {
5049 } else {
5050 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5051 if (UNTAG_Bool(REGB2)) {
5052 REGB2 = TAG_Bool(false);
5053 REGB3 = REGB2;
5054 } else {
5055 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
5056 REGB3 = REGB2;
5057 }
5058 }
5059 REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
5060 if (UNTAG_Bool(REGB3)) {
5061 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5062 /* ./parser//parser.nit:1418 */
5063 if (UNTAG_Bool(REGB3)) {
5064 } else {
5065 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5066 if (UNTAG_Bool(REGB2)) {
5067 REGB2 = TAG_Bool(false);
5068 REGB3 = REGB2;
5069 } else {
5070 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
5071 REGB3 = REGB2;
5072 }
5073 }
5074 REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
5075 if (UNTAG_Bool(REGB3)) {
5076 } else {
5077 fprintf(stderr, "Assert failed");
5078 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1418);
5079 nit_exit(1);
5080 }
5081 REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5082 /* ./parser//parser.nit:1420 */
5083 if (UNTAG_Bool(REGB3)) {
5084 fprintf(stderr, "Reciever is null");
5085 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1420);
5086 nit_exit(1);
5087 }
5088 fra.me.REG[7] = CALL_location___Location___file(fra.me.REG[3])(fra.me.REG[3]);
5089 REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5090 if (UNTAG_Bool(REGB3)) {
5091 fprintf(stderr, "Reciever is null");
5092 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1420);
5093 nit_exit(1);
5094 }
5095 REGB3 = CALL_location___Location___line_start(fra.me.REG[3])(fra.me.REG[3]);
5096 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5097 if (UNTAG_Bool(REGB2)) {
5098 fprintf(stderr, "Reciever is null");
5099 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1420);
5100 nit_exit(1);
5101 }
5102 REGB2 = CALL_location___Location___line_end(fra.me.REG[2])(fra.me.REG[2]);
5103 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5104 if (UNTAG_Bool(REGB1)) {
5105 fprintf(stderr, "Reciever is null");
5106 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1420);
5107 nit_exit(1);
5108 }
5109 REGB1 = CALL_location___Location___column_start(fra.me.REG[3])(fra.me.REG[3]);
5110 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5111 if (UNTAG_Bool(REGB0)) {
5112 fprintf(stderr, "Reciever is null");
5113 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1420);
5114 nit_exit(1);
5115 }
5116 REGB0 = CALL_location___Location___column_end(fra.me.REG[2])(fra.me.REG[2]);
5117 fra.me.REG[7] = NEW_Location_location___Location___init(fra.me.REG[7], REGB3, REGB2, REGB1, REGB0);
5118 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
5119 if (UNTAG_Bool(REGB0)) {
5120 fprintf(stderr, "Reciever is null");
5121 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1420);
5122 nit_exit(1);
5123 }
5124 CALL_parser_nodes___Prod___location__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[7]);
5125 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
5126 /* ./parser//parser.nit:1422 */
5127 if (UNTAG_Bool(REGB0)) {
5128 } else {
5129 fprintf(stderr, "Uninitialized attribute %s", "_need_before_epsilons");
5130 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1422);
5131 nit_exit(1);
5132 }
5133 fra.me.REG[7] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
5134 fra.me.REG[7] = CALL_abstract_collection___Collection___iterator(fra.me.REG[7])(fra.me.REG[7]);
5135 while(1) {
5136 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[7])(fra.me.REG[7]);
5137 if (UNTAG_Bool(REGB0)) {
5138 fra.me.REG[4] = CALL_abstract_collection___Iterator___item(fra.me.REG[7])(fra.me.REG[7]);
5139 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5140 /* ./parser//parser.nit:1425 */
5141 if (UNTAG_Bool(REGB0)) {
5142 fprintf(stderr, "Reciever is null");
5143 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1425);
5144 nit_exit(1);
5145 }
5146 fra.me.REG[5] = CALL_location___Location___file(fra.me.REG[3])(fra.me.REG[3]);
5147 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5148 if (UNTAG_Bool(REGB0)) {
5149 fprintf(stderr, "Reciever is null");
5150 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1425);
5151 nit_exit(1);
5152 }
5153 REGB0 = CALL_location___Location___line_start(fra.me.REG[3])(fra.me.REG[3]);
5154 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5155 if (UNTAG_Bool(REGB1)) {
5156 fprintf(stderr, "Reciever is null");
5157 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1425);
5158 nit_exit(1);
5159 }
5160 REGB1 = CALL_location___Location___line_start(fra.me.REG[3])(fra.me.REG[3]);
5161 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5162 if (UNTAG_Bool(REGB2)) {
5163 fprintf(stderr, "Reciever is null");
5164 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1425);
5165 nit_exit(1);
5166 }
5167 REGB2 = CALL_location___Location___column_start(fra.me.REG[3])(fra.me.REG[3]);
5168 REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5169 if (UNTAG_Bool(REGB3)) {
5170 fprintf(stderr, "Reciever is null");
5171 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1425);
5172 nit_exit(1);
5173 }
5174 REGB3 = CALL_location___Location___column_start(fra.me.REG[3])(fra.me.REG[3]);
5175 fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB0, REGB1, REGB2, REGB3);
5176 CALL_parser_nodes___Prod___location__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
5177 } else {
5178 /* ./parser//parser.nit:1422 */
5179 goto label4;
5180 }
5181 CALL_abstract_collection___Iterator___next(fra.me.REG[7])(fra.me.REG[7]);
5182 }
5183 label4: while(0);
5184 REGB3 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
5185 /* ./parser//parser.nit:1427 */
5186 if (UNTAG_Bool(REGB3)) {
5187 } else {
5188 fprintf(stderr, "Uninitialized attribute %s", "_need_before_epsilons");
5189 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1427);
5190 nit_exit(1);
5191 }
5192 fra.me.REG[7] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
5193 CALL_abstract_collection___RemovableCollection___clear(fra.me.REG[7])(fra.me.REG[7]);
5194 REGB3 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
5195 /* ./parser//parser.nit:1429 */
5196 if (UNTAG_Bool(REGB3)) {
5197 } else {
5198 fprintf(stderr, "Uninitialized attribute %s", "_need_after_epsilons");
5199 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1429);
5200 nit_exit(1);
5201 }
5202 fra.me.REG[7] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
5203 fra.me.REG[7] = CALL_abstract_collection___Collection___iterator(fra.me.REG[7])(fra.me.REG[7]);
5204 while(1) {
5205 REGB3 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[7])(fra.me.REG[7]);
5206 if (UNTAG_Bool(REGB3)) {
5207 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[7])(fra.me.REG[7]);
5208 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5209 /* ./parser//parser.nit:1432 */
5210 if (UNTAG_Bool(REGB3)) {
5211 fprintf(stderr, "Reciever is null");
5212 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1432);
5213 nit_exit(1);
5214 }
5215 fra.me.REG[5] = CALL_location___Location___file(fra.me.REG[2])(fra.me.REG[2]);
5216 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5217 if (UNTAG_Bool(REGB3)) {
5218 fprintf(stderr, "Reciever is null");
5219 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1432);
5220 nit_exit(1);
5221 }
5222 REGB3 = CALL_location___Location___line_end(fra.me.REG[2])(fra.me.REG[2]);
5223 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5224 if (UNTAG_Bool(REGB2)) {
5225 fprintf(stderr, "Reciever is null");
5226 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1432);
5227 nit_exit(1);
5228 }
5229 REGB2 = CALL_location___Location___line_end(fra.me.REG[2])(fra.me.REG[2]);
5230 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5231 if (UNTAG_Bool(REGB1)) {
5232 fprintf(stderr, "Reciever is null");
5233 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1432);
5234 nit_exit(1);
5235 }
5236 REGB1 = CALL_location___Location___column_end(fra.me.REG[2])(fra.me.REG[2]);
5237 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5238 if (UNTAG_Bool(REGB0)) {
5239 fprintf(stderr, "Reciever is null");
5240 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1432);
5241 nit_exit(1);
5242 }
5243 REGB0 = CALL_location___Location___column_end(fra.me.REG[2])(fra.me.REG[2]);
5244 fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB3, REGB2, REGB1, REGB0);
5245 CALL_parser_nodes___Prod___location__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
5246 } else {
5247 /* ./parser//parser.nit:1429 */
5248 goto label5;
5249 }
5250 CALL_abstract_collection___Iterator___next(fra.me.REG[7])(fra.me.REG[7]);
5251 }
5252 label5: while(0);
5253 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
5254 /* ./parser//parser.nit:1434 */
5255 if (UNTAG_Bool(REGB0)) {
5256 } else {
5257 fprintf(stderr, "Uninitialized attribute %s", "_need_after_epsilons");
5258 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1434);
5259 nit_exit(1);
5260 }
5261 fra.me.REG[7] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
5262 CALL_abstract_collection___RemovableCollection___clear(fra.me.REG[7])(fra.me.REG[7]);
5263 } else {
5264 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5265 /* ./parser//parser.nit:1438 */
5266 if (UNTAG_Bool(REGB0)) {
5267 } else {
5268 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5269 if (UNTAG_Bool(REGB1)) {
5270 REGB1 = TAG_Bool(false);
5271 REGB0 = REGB1;
5272 } else {
5273 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
5274 REGB0 = REGB1;
5275 }
5276 }
5277 if (UNTAG_Bool(REGB0)) {
5278 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
5279 /* ./parser//parser.nit:1440 */
5280 if (UNTAG_Bool(REGB0)) {
5281 } else {
5282 fprintf(stderr, "Uninitialized attribute %s", "_need_before_epsilons");
5283 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1440);
5284 nit_exit(1);
5285 }
5286 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
5287 array___Array___add(fra.me.REG[2], fra.me.REG[1]);
5288 } else {
5289 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
5290 /* ./parser//parser.nit:1443 */
5291 if (UNTAG_Bool(REGB0)) {
5292 } else {
5293 fprintf(stderr, "Uninitialized attribute %s", "_need_after_epsilons");
5294 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1443);
5295 nit_exit(1);
5296 }
5297 fra.me.REG[0] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
5298 array___Array___add(fra.me.REG[0], fra.me.REG[1]);
5299 }
5300 }
5301 }
5302 }
5303 label1: while(0);
5304 stack_frame_head = fra.me.prev;
5305 return;
5306 }
5307 void parser___ComputeProdLocationVisitor___init(val_t p0, int* init_table){
5308 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ComputeProdLocationVisitor].i;
5309 struct {struct stack_frame_t me;} fra;
5310 val_t tmp;
5311 if (init_table[itpos2]) return;
5312 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5313 fra.me.file = LOCATE_parser;
5314 fra.me.line = 1449;
5315 fra.me.meth = LOCATE_parser___ComputeProdLocationVisitor___init;
5316 fra.me.has_broke = 0;
5317 fra.me.REG_size = 1;
5318 fra.me.REG[0] = NIT_NULL;
5319 fra.me.REG[0] = p0;
5320 /* ./parser//parser.nit:1449 */
5321 CALL_parser_prod___Visitor___init(fra.me.REG[0])(fra.me.REG[0], init_table);
5322 stack_frame_head = fra.me.prev;
5323 init_table[itpos2] = 1;
5324 return;
5325 }
5326 void parser___ReduceAction___action(val_t p0, val_t p1){
5327 struct {struct stack_frame_t me;} fra;
5328 val_t tmp;
5329 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5330 fra.me.file = LOCATE_parser;
5331 fra.me.line = 1454;
5332 fra.me.meth = LOCATE_parser___ReduceAction___action;
5333 fra.me.has_broke = 0;
5334 fra.me.REG_size = 0;
5335 /* ./parser//parser.nit:1454 */
5336 fprintf(stderr, "Deferred method called");
5337 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1454);
5338 nit_exit(1);
5339 stack_frame_head = fra.me.prev;
5340 return;
5341 }
5342 void parser___ReduceAction___init(val_t p0, int* init_table){
5343 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction].i;
5344 struct {struct stack_frame_t me;} fra;
5345 val_t tmp;
5346 if (init_table[itpos3]) return;
5347 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5348 fra.me.file = LOCATE_parser;
5349 fra.me.line = 0;
5350 fra.me.meth = LOCATE_parser___ReduceAction___init;
5351 fra.me.has_broke = 0;
5352 fra.me.REG_size = 0;
5353 stack_frame_head = fra.me.prev;
5354 init_table[itpos3] = 1;
5355 return;
5356 }
5357 void parser___ReduceAction0___action(val_t p0, val_t p1){
5358 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
5359 val_t REGB0;
5360 val_t tmp;
5361 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5362 fra.me.file = LOCATE_parser;
5363 fra.me.line = 1459;
5364 fra.me.meth = LOCATE_parser___ReduceAction0___action;
5365 fra.me.has_broke = 0;
5366 fra.me.REG_size = 4;
5367 fra.me.REG[0] = NIT_NULL;
5368 fra.me.REG[1] = NIT_NULL;
5369 fra.me.REG[2] = NIT_NULL;
5370 fra.me.REG[3] = NIT_NULL;
5371 fra.me.REG[0] = p0;
5372 fra.me.REG[1] = p1;
5373 fra.me.REG[0] = NIT_NULL;
5374 fra.me.REG[2] = NEW_Array_array___Array___init();
5375 fra.me.REG[3] = NEW_Array_array___Array___init();
5376 fra.me.REG[3] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[2], fra.me.REG[3]);
5377 fra.me.REG[0] = fra.me.REG[3];
5378 REGB0 = TAG_Int(0);
5379 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5380 /* ./parser//parser.nit:1470 */
5381 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
5382 stack_frame_head = fra.me.prev;
5383 return;
5384 }
5385 void parser___ReduceAction0___init(val_t p0, int* init_table){
5386 int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction0].i;
5387 struct {struct stack_frame_t me;} fra;
5388 val_t tmp;
5389 if (init_table[itpos4]) return;
5390 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5391 fra.me.file = LOCATE_parser;
5392 fra.me.line = 1472;
5393 fra.me.meth = LOCATE_parser___ReduceAction0___init;
5394 fra.me.has_broke = 0;
5395 fra.me.REG_size = 1;
5396 fra.me.REG[0] = NIT_NULL;
5397 fra.me.REG[0] = p0;
5398 /* ./parser//parser.nit:1472 */
5399 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
5400 stack_frame_head = fra.me.prev;
5401 init_table[itpos4] = 1;
5402 return;
5403 }
5404 void parser___ReduceAction1___action(val_t p0, val_t p1){
5405 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
5406 val_t REGB0;
5407 val_t tmp;
5408 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5409 fra.me.file = LOCATE_parser;
5410 fra.me.line = 1476;
5411 fra.me.meth = LOCATE_parser___ReduceAction1___action;
5412 fra.me.has_broke = 0;
5413 fra.me.REG_size = 5;
5414 fra.me.REG[0] = NIT_NULL;
5415 fra.me.REG[1] = NIT_NULL;
5416 fra.me.REG[2] = NIT_NULL;
5417 fra.me.REG[3] = NIT_NULL;
5418 fra.me.REG[4] = NIT_NULL;
5419 fra.me.REG[0] = p0;
5420 fra.me.REG[1] = p1;
5421 fra.me.REG[0] = NIT_NULL;
5422 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5423 fra.me.REG[3] = NEW_Array_array___Array___init();
5424 fra.me.REG[4] = NEW_Array_array___Array___init();
5425 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
5426 /* ./parser//parser.nit:1483 */
5427 if (UNTAG_Bool(REGB0)) {
5428 } else {
5429 fprintf(stderr, "Assert failed");
5430 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1483);
5431 nit_exit(1);
5432 }
5433 fra.me.REG[4] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[2], fra.me.REG[3], fra.me.REG[4]);
5434 fra.me.REG[0] = fra.me.REG[4];
5435 REGB0 = TAG_Int(0);
5436 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5437 /* ./parser//parser.nit:1490 */
5438 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
5439 stack_frame_head = fra.me.prev;
5440 return;
5441 }
5442 void parser___ReduceAction1___init(val_t p0, int* init_table){
5443 int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1].i;
5444 struct {struct stack_frame_t me;} fra;
5445 val_t tmp;
5446 if (init_table[itpos5]) return;
5447 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5448 fra.me.file = LOCATE_parser;
5449 fra.me.line = 1492;
5450 fra.me.meth = LOCATE_parser___ReduceAction1___init;
5451 fra.me.has_broke = 0;
5452 fra.me.REG_size = 1;
5453 fra.me.REG[0] = NIT_NULL;
5454 fra.me.REG[0] = p0;
5455 /* ./parser//parser.nit:1492 */
5456 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
5457 stack_frame_head = fra.me.prev;
5458 init_table[itpos5] = 1;
5459 return;
5460 }
5461 void parser___ReduceAction2___action(val_t p0, val_t p1){
5462 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
5463 val_t REGB0;
5464 val_t tmp;
5465 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5466 fra.me.file = LOCATE_parser;
5467 fra.me.line = 1496;
5468 fra.me.meth = LOCATE_parser___ReduceAction2___action;
5469 fra.me.has_broke = 0;
5470 fra.me.REG_size = 5;
5471 fra.me.REG[0] = NIT_NULL;
5472 fra.me.REG[1] = NIT_NULL;
5473 fra.me.REG[2] = NIT_NULL;
5474 fra.me.REG[3] = NIT_NULL;
5475 fra.me.REG[4] = NIT_NULL;
5476 fra.me.REG[0] = p0;
5477 fra.me.REG[1] = p1;
5478 fra.me.REG[0] = NIT_NULL;
5479 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5480 fra.me.REG[3] = NEW_Array_array___Array___init();
5481 fra.me.REG[4] = NEW_Array_array___Array___init();
5482 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5483 /* ./parser//parser.nit:1503 */
5484 if (UNTAG_Bool(REGB0)) {
5485 } else {
5486 fprintf(stderr, "Assert failed");
5487 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1503);
5488 nit_exit(1);
5489 }
5490 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
5491 /* ./parser//parser.nit:1505 */
5492 if (UNTAG_Bool(REGB0)) {
5493 fra.me.REG[3] = fra.me.REG[2];
5494 /* ./parser//parser.nit:1506 */
5495 } else {
5496 /* ./parser//parser.nit:1508 */
5497 CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
5498 }
5499 fra.me.REG[4] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
5500 fra.me.REG[0] = fra.me.REG[4];
5501 REGB0 = TAG_Int(0);
5502 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5503 /* ./parser//parser.nit:1517 */
5504 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
5505 stack_frame_head = fra.me.prev;
5506 return;
5507 }
5508 void parser___ReduceAction2___init(val_t p0, int* init_table){
5509 int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction2].i;
5510 struct {struct stack_frame_t me;} fra;
5511 val_t tmp;
5512 if (init_table[itpos6]) return;
5513 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5514 fra.me.file = LOCATE_parser;
5515 fra.me.line = 1519;
5516 fra.me.meth = LOCATE_parser___ReduceAction2___init;
5517 fra.me.has_broke = 0;
5518 fra.me.REG_size = 1;
5519 fra.me.REG[0] = NIT_NULL;
5520 fra.me.REG[0] = p0;
5521 /* ./parser//parser.nit:1519 */
5522 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
5523 stack_frame_head = fra.me.prev;
5524 init_table[itpos6] = 1;
5525 return;
5526 }
5527 void parser___ReduceAction3___action(val_t p0, val_t p1){
5528 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
5529 val_t REGB0;
5530 val_t tmp;
5531 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5532 fra.me.file = LOCATE_parser;
5533 fra.me.line = 1523;
5534 fra.me.meth = LOCATE_parser___ReduceAction3___action;
5535 fra.me.has_broke = 0;
5536 fra.me.REG_size = 6;
5537 fra.me.REG[0] = NIT_NULL;
5538 fra.me.REG[1] = NIT_NULL;
5539 fra.me.REG[2] = NIT_NULL;
5540 fra.me.REG[3] = NIT_NULL;
5541 fra.me.REG[4] = NIT_NULL;
5542 fra.me.REG[5] = NIT_NULL;
5543 fra.me.REG[0] = p0;
5544 fra.me.REG[1] = p1;
5545 fra.me.REG[0] = NIT_NULL;
5546 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5547 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5548 fra.me.REG[4] = NEW_Array_array___Array___init();
5549 fra.me.REG[5] = NEW_Array_array___Array___init();
5550 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
5551 /* ./parser//parser.nit:1531 */
5552 if (UNTAG_Bool(REGB0)) {
5553 } else {
5554 fprintf(stderr, "Assert failed");
5555 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1531);
5556 nit_exit(1);
5557 }
5558 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5559 /* ./parser//parser.nit:1533 */
5560 if (UNTAG_Bool(REGB0)) {
5561 } else {
5562 fprintf(stderr, "Assert failed");
5563 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1533);
5564 nit_exit(1);
5565 }
5566 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
5567 /* ./parser//parser.nit:1535 */
5568 if (UNTAG_Bool(REGB0)) {
5569 fra.me.REG[4] = fra.me.REG[2];
5570 /* ./parser//parser.nit:1536 */
5571 } else {
5572 /* ./parser//parser.nit:1538 */
5573 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
5574 }
5575 fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]);
5576 fra.me.REG[0] = fra.me.REG[5];
5577 REGB0 = TAG_Int(0);
5578 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5579 /* ./parser//parser.nit:1547 */
5580 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
5581 stack_frame_head = fra.me.prev;
5582 return;
5583 }
5584 void parser___ReduceAction3___init(val_t p0, int* init_table){
5585 int itpos7 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction3].i;
5586 struct {struct stack_frame_t me;} fra;
5587 val_t tmp;
5588 if (init_table[itpos7]) return;
5589 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5590 fra.me.file = LOCATE_parser;
5591 fra.me.line = 1549;
5592 fra.me.meth = LOCATE_parser___ReduceAction3___init;
5593 fra.me.has_broke = 0;
5594 fra.me.REG_size = 1;
5595 fra.me.REG[0] = NIT_NULL;
5596 fra.me.REG[0] = p0;
5597 /* ./parser//parser.nit:1549 */
5598 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
5599 stack_frame_head = fra.me.prev;
5600 init_table[itpos7] = 1;
5601 return;
5602 }
5603 void parser___ReduceAction4___action(val_t p0, val_t p1){
5604 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
5605 val_t REGB0;
5606 val_t tmp;
5607 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5608 fra.me.file = LOCATE_parser;
5609 fra.me.line = 1553;
5610 fra.me.meth = LOCATE_parser___ReduceAction4___action;
5611 fra.me.has_broke = 0;
5612 fra.me.REG_size = 5;
5613 fra.me.REG[0] = NIT_NULL;
5614 fra.me.REG[1] = NIT_NULL;
5615 fra.me.REG[2] = NIT_NULL;
5616 fra.me.REG[3] = NIT_NULL;
5617 fra.me.REG[4] = NIT_NULL;
5618 fra.me.REG[0] = p0;
5619 fra.me.REG[1] = p1;
5620 fra.me.REG[0] = NIT_NULL;
5621 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5622 fra.me.REG[3] = NEW_Array_array___Array___init();
5623 fra.me.REG[4] = NEW_Array_array___Array___init();
5624 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5625 /* ./parser//parser.nit:1560 */
5626 if (UNTAG_Bool(REGB0)) {
5627 } else {
5628 fprintf(stderr, "Assert failed");
5629 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1560);
5630 nit_exit(1);
5631 }
5632 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
5633 /* ./parser//parser.nit:1562 */
5634 if (UNTAG_Bool(REGB0)) {
5635 fra.me.REG[4] = fra.me.REG[2];
5636 /* ./parser//parser.nit:1563 */
5637 } else {
5638 /* ./parser//parser.nit:1565 */
5639 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
5640 }
5641 fra.me.REG[4] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
5642 fra.me.REG[0] = fra.me.REG[4];
5643 REGB0 = TAG_Int(0);
5644 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5645 /* ./parser//parser.nit:1574 */
5646 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
5647 stack_frame_head = fra.me.prev;
5648 return;
5649 }
5650 void parser___ReduceAction4___init(val_t p0, int* init_table){
5651 int itpos8 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction4].i;
5652 struct {struct stack_frame_t me;} fra;
5653 val_t tmp;
5654 if (init_table[itpos8]) return;
5655 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5656 fra.me.file = LOCATE_parser;
5657 fra.me.line = 1576;
5658 fra.me.meth = LOCATE_parser___ReduceAction4___init;
5659 fra.me.has_broke = 0;
5660 fra.me.REG_size = 1;
5661 fra.me.REG[0] = NIT_NULL;
5662 fra.me.REG[0] = p0;
5663 /* ./parser//parser.nit:1576 */
5664 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
5665 stack_frame_head = fra.me.prev;
5666 init_table[itpos8] = 1;
5667 return;
5668 }
5669 void parser___ReduceAction5___action(val_t p0, val_t p1){
5670 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
5671 val_t REGB0;
5672 val_t tmp;
5673 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5674 fra.me.file = LOCATE_parser;
5675 fra.me.line = 1580;
5676 fra.me.meth = LOCATE_parser___ReduceAction5___action;
5677 fra.me.has_broke = 0;
5678 fra.me.REG_size = 6;
5679 fra.me.REG[0] = NIT_NULL;
5680 fra.me.REG[1] = NIT_NULL;
5681 fra.me.REG[2] = NIT_NULL;
5682 fra.me.REG[3] = NIT_NULL;
5683 fra.me.REG[4] = NIT_NULL;
5684 fra.me.REG[5] = NIT_NULL;
5685 fra.me.REG[0] = p0;
5686 fra.me.REG[1] = p1;
5687 fra.me.REG[0] = NIT_NULL;
5688 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5689 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5690 fra.me.REG[4] = NEW_Array_array___Array___init();
5691 fra.me.REG[5] = NEW_Array_array___Array___init();
5692 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
5693 /* ./parser//parser.nit:1588 */
5694 if (UNTAG_Bool(REGB0)) {
5695 } else {
5696 fprintf(stderr, "Assert failed");
5697 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1588);
5698 nit_exit(1);
5699 }
5700 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5701 /* ./parser//parser.nit:1590 */
5702 if (UNTAG_Bool(REGB0)) {
5703 } else {
5704 fprintf(stderr, "Assert failed");
5705 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1590);
5706 nit_exit(1);
5707 }
5708 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
5709 /* ./parser//parser.nit:1592 */
5710 if (UNTAG_Bool(REGB0)) {
5711 fra.me.REG[5] = fra.me.REG[2];
5712 /* ./parser//parser.nit:1593 */
5713 } else {
5714 /* ./parser//parser.nit:1595 */
5715 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
5716 }
5717 fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]);
5718 fra.me.REG[0] = fra.me.REG[5];
5719 REGB0 = TAG_Int(0);
5720 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5721 /* ./parser//parser.nit:1604 */
5722 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
5723 stack_frame_head = fra.me.prev;
5724 return;
5725 }
5726 void parser___ReduceAction5___init(val_t p0, int* init_table){
5727 int itpos9 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction5].i;
5728 struct {struct stack_frame_t me;} fra;
5729 val_t tmp;
5730 if (init_table[itpos9]) return;
5731 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5732 fra.me.file = LOCATE_parser;
5733 fra.me.line = 1606;
5734 fra.me.meth = LOCATE_parser___ReduceAction5___init;
5735 fra.me.has_broke = 0;
5736 fra.me.REG_size = 1;
5737 fra.me.REG[0] = NIT_NULL;
5738 fra.me.REG[0] = p0;
5739 /* ./parser//parser.nit:1606 */
5740 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
5741 stack_frame_head = fra.me.prev;
5742 init_table[itpos9] = 1;
5743 return;
5744 }
5745 void parser___ReduceAction6___action(val_t p0, val_t p1){
5746 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
5747 val_t REGB0;
5748 val_t tmp;
5749 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5750 fra.me.file = LOCATE_parser;
5751 fra.me.line = 1610;
5752 fra.me.meth = LOCATE_parser___ReduceAction6___action;
5753 fra.me.has_broke = 0;
5754 fra.me.REG_size = 6;
5755 fra.me.REG[0] = NIT_NULL;
5756 fra.me.REG[1] = NIT_NULL;
5757 fra.me.REG[2] = NIT_NULL;
5758 fra.me.REG[3] = NIT_NULL;
5759 fra.me.REG[4] = NIT_NULL;
5760 fra.me.REG[5] = NIT_NULL;
5761 fra.me.REG[0] = p0;
5762 fra.me.REG[1] = p1;
5763 fra.me.REG[0] = NIT_NULL;
5764 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5765 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5766 fra.me.REG[4] = NEW_Array_array___Array___init();
5767 fra.me.REG[5] = NEW_Array_array___Array___init();
5768 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5769 /* ./parser//parser.nit:1618 */
5770 if (UNTAG_Bool(REGB0)) {
5771 } else {
5772 fprintf(stderr, "Assert failed");
5773 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1618);
5774 nit_exit(1);
5775 }
5776 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
5777 /* ./parser//parser.nit:1620 */
5778 if (UNTAG_Bool(REGB0)) {
5779 fra.me.REG[4] = fra.me.REG[3];
5780 /* ./parser//parser.nit:1621 */
5781 } else {
5782 /* ./parser//parser.nit:1623 */
5783 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
5784 }
5785 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5786 /* ./parser//parser.nit:1627 */
5787 if (UNTAG_Bool(REGB0)) {
5788 } else {
5789 fprintf(stderr, "Assert failed");
5790 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1627);
5791 nit_exit(1);
5792 }
5793 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
5794 /* ./parser//parser.nit:1629 */
5795 if (UNTAG_Bool(REGB0)) {
5796 fra.me.REG[5] = fra.me.REG[2];
5797 /* ./parser//parser.nit:1630 */
5798 } else {
5799 /* ./parser//parser.nit:1632 */
5800 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
5801 }
5802 fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
5803 fra.me.REG[0] = fra.me.REG[5];
5804 REGB0 = TAG_Int(0);
5805 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5806 /* ./parser//parser.nit:1641 */
5807 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
5808 stack_frame_head = fra.me.prev;
5809 return;
5810 }
5811 void parser___ReduceAction6___init(val_t p0, int* init_table){
5812 int itpos10 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction6].i;
5813 struct {struct stack_frame_t me;} fra;
5814 val_t tmp;
5815 if (init_table[itpos10]) return;
5816 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5817 fra.me.file = LOCATE_parser;
5818 fra.me.line = 1643;
5819 fra.me.meth = LOCATE_parser___ReduceAction6___init;
5820 fra.me.has_broke = 0;
5821 fra.me.REG_size = 1;
5822 fra.me.REG[0] = NIT_NULL;
5823 fra.me.REG[0] = p0;
5824 /* ./parser//parser.nit:1643 */
5825 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
5826 stack_frame_head = fra.me.prev;
5827 init_table[itpos10] = 1;
5828 return;
5829 }
5830 void parser___ReduceAction7___action(val_t p0, val_t p1){
5831 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
5832 val_t REGB0;
5833 val_t tmp;
5834 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5835 fra.me.file = LOCATE_parser;
5836 fra.me.line = 1647;
5837 fra.me.meth = LOCATE_parser___ReduceAction7___action;
5838 fra.me.has_broke = 0;
5839 fra.me.REG_size = 7;
5840 fra.me.REG[0] = NIT_NULL;
5841 fra.me.REG[1] = NIT_NULL;
5842 fra.me.REG[2] = NIT_NULL;
5843 fra.me.REG[3] = NIT_NULL;
5844 fra.me.REG[4] = NIT_NULL;
5845 fra.me.REG[5] = NIT_NULL;
5846 fra.me.REG[6] = NIT_NULL;
5847 fra.me.REG[0] = p0;
5848 fra.me.REG[1] = p1;
5849 fra.me.REG[0] = NIT_NULL;
5850 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5851 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5852 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5853 fra.me.REG[5] = NEW_Array_array___Array___init();
5854 fra.me.REG[6] = NEW_Array_array___Array___init();
5855 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
5856 /* ./parser//parser.nit:1656 */
5857 if (UNTAG_Bool(REGB0)) {
5858 } else {
5859 fprintf(stderr, "Assert failed");
5860 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1656);
5861 nit_exit(1);
5862 }
5863 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5864 /* ./parser//parser.nit:1658 */
5865 if (UNTAG_Bool(REGB0)) {
5866 } else {
5867 fprintf(stderr, "Assert failed");
5868 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1658);
5869 nit_exit(1);
5870 }
5871 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
5872 /* ./parser//parser.nit:1660 */
5873 if (UNTAG_Bool(REGB0)) {
5874 fra.me.REG[5] = fra.me.REG[3];
5875 /* ./parser//parser.nit:1661 */
5876 } else {
5877 /* ./parser//parser.nit:1663 */
5878 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
5879 }
5880 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5881 /* ./parser//parser.nit:1667 */
5882 if (UNTAG_Bool(REGB0)) {
5883 } else {
5884 fprintf(stderr, "Assert failed");
5885 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1667);
5886 nit_exit(1);
5887 }
5888 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
5889 /* ./parser//parser.nit:1669 */
5890 if (UNTAG_Bool(REGB0)) {
5891 fra.me.REG[6] = fra.me.REG[2];
5892 /* ./parser//parser.nit:1670 */
5893 } else {
5894 /* ./parser//parser.nit:1672 */
5895 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
5896 }
5897 fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
5898 fra.me.REG[0] = fra.me.REG[6];
5899 REGB0 = TAG_Int(0);
5900 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5901 /* ./parser//parser.nit:1681 */
5902 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
5903 stack_frame_head = fra.me.prev;
5904 return;
5905 }
5906 void parser___ReduceAction7___init(val_t p0, int* init_table){
5907 int itpos11 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction7].i;
5908 struct {struct stack_frame_t me;} fra;
5909 val_t tmp;
5910 if (init_table[itpos11]) return;
5911 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5912 fra.me.file = LOCATE_parser;
5913 fra.me.line = 1683;
5914 fra.me.meth = LOCATE_parser___ReduceAction7___init;
5915 fra.me.has_broke = 0;
5916 fra.me.REG_size = 1;
5917 fra.me.REG[0] = NIT_NULL;
5918 fra.me.REG[0] = p0;
5919 /* ./parser//parser.nit:1683 */
5920 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
5921 stack_frame_head = fra.me.prev;
5922 init_table[itpos11] = 1;
5923 return;
5924 }
5925 void parser___ReduceAction8___action(val_t p0, val_t p1){
5926 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
5927 val_t REGB0;
5928 val_t REGB1;
5929 val_t tmp;
5930 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5931 fra.me.file = LOCATE_parser;
5932 fra.me.line = 1687;
5933 fra.me.meth = LOCATE_parser___ReduceAction8___action;
5934 fra.me.has_broke = 0;
5935 fra.me.REG_size = 6;
5936 fra.me.REG[0] = NIT_NULL;
5937 fra.me.REG[1] = NIT_NULL;
5938 fra.me.REG[2] = NIT_NULL;
5939 fra.me.REG[3] = NIT_NULL;
5940 fra.me.REG[4] = NIT_NULL;
5941 fra.me.REG[5] = NIT_NULL;
5942 fra.me.REG[0] = p0;
5943 fra.me.REG[1] = p1;
5944 fra.me.REG[0] = NIT_NULL;
5945 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5946 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5947 fra.me.REG[3] = NEW_Array_array___Array___init();
5948 fra.me.REG[4] = NEW_Array_array___Array___init();
5949 fra.me.REG[5] = NEW_Array_array___Array___init();
5950 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
5951 /* ./parser//parser.nit:1696 */
5952 if (UNTAG_Bool(REGB0)) {
5953 } else {
5954 fprintf(stderr, "Assert failed");
5955 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1696);
5956 nit_exit(1);
5957 }
5958 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5959 /* ./parser//parser.nit:1697 */
5960 if (UNTAG_Bool(REGB0)) {
5961 } else {
5962 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5963 if (UNTAG_Bool(REGB1)) {
5964 REGB1 = TAG_Bool(false);
5965 REGB0 = REGB1;
5966 } else {
5967 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
5968 REGB0 = REGB1;
5969 }
5970 }
5971 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5972 if (UNTAG_Bool(REGB0)) {
5973 /* ./parser//parser.nit:1698 */
5974 array___Array___add(fra.me.REG[5], fra.me.REG[2]);
5975 }
5976 fra.me.REG[5] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
5977 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
5978 /* ./parser//parser.nit:1703 */
5979 if (UNTAG_Bool(REGB0)) {
5980 } else {
5981 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
5982 if (UNTAG_Bool(REGB1)) {
5983 REGB1 = TAG_Bool(false);
5984 REGB0 = REGB1;
5985 } else {
5986 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
5987 REGB0 = REGB1;
5988 }
5989 }
5990 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5991 if (UNTAG_Bool(REGB0)) {
5992 /* ./parser//parser.nit:1704 */
5993 array___Array___add(fra.me.REG[4], fra.me.REG[5]);
5994 }
5995 fra.me.REG[4] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
5996 fra.me.REG[0] = fra.me.REG[4];
5997 REGB0 = TAG_Int(0);
5998 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5999 /* ./parser//parser.nit:1712 */
6000 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
6001 stack_frame_head = fra.me.prev;
6002 return;
6003 }
6004 void parser___ReduceAction8___init(val_t p0, int* init_table){
6005 int itpos12 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction8].i;
6006 struct {struct stack_frame_t me;} fra;
6007 val_t tmp;
6008 if (init_table[itpos12]) return;
6009 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6010 fra.me.file = LOCATE_parser;
6011 fra.me.line = 1714;
6012 fra.me.meth = LOCATE_parser___ReduceAction8___init;
6013 fra.me.has_broke = 0;
6014 fra.me.REG_size = 1;
6015 fra.me.REG[0] = NIT_NULL;
6016 fra.me.REG[0] = p0;
6017 /* ./parser//parser.nit:1714 */
6018 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
6019 stack_frame_head = fra.me.prev;
6020 init_table[itpos12] = 1;
6021 return;
6022 }
6023 void parser___ReduceAction9___action(val_t p0, val_t p1){
6024 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
6025 val_t REGB0;
6026 val_t REGB1;
6027 val_t tmp;
6028 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6029 fra.me.file = LOCATE_parser;
6030 fra.me.line = 1718;
6031 fra.me.meth = LOCATE_parser___ReduceAction9___action;
6032 fra.me.has_broke = 0;
6033 fra.me.REG_size = 7;
6034 fra.me.REG[0] = NIT_NULL;
6035 fra.me.REG[1] = NIT_NULL;
6036 fra.me.REG[2] = NIT_NULL;
6037 fra.me.REG[3] = NIT_NULL;
6038 fra.me.REG[4] = NIT_NULL;
6039 fra.me.REG[5] = NIT_NULL;
6040 fra.me.REG[6] = NIT_NULL;
6041 fra.me.REG[0] = p0;
6042 fra.me.REG[1] = p1;
6043 fra.me.REG[0] = NIT_NULL;
6044 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6045 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6046 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6047 fra.me.REG[4] = NEW_Array_array___Array___init();
6048 fra.me.REG[5] = NEW_Array_array___Array___init();
6049 fra.me.REG[6] = NEW_Array_array___Array___init();
6050 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
6051 /* ./parser//parser.nit:1728 */
6052 if (UNTAG_Bool(REGB0)) {
6053 } else {
6054 fprintf(stderr, "Assert failed");
6055 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1728);
6056 nit_exit(1);
6057 }
6058 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6059 /* ./parser//parser.nit:1730 */
6060 if (UNTAG_Bool(REGB0)) {
6061 } else {
6062 fprintf(stderr, "Assert failed");
6063 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1730);
6064 nit_exit(1);
6065 }
6066 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6067 /* ./parser//parser.nit:1731 */
6068 if (UNTAG_Bool(REGB0)) {
6069 } else {
6070 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6071 if (UNTAG_Bool(REGB1)) {
6072 REGB1 = TAG_Bool(false);
6073 REGB0 = REGB1;
6074 } else {
6075 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6076 REGB0 = REGB1;
6077 }
6078 }
6079 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6080 if (UNTAG_Bool(REGB0)) {
6081 /* ./parser//parser.nit:1732 */
6082 array___Array___add(fra.me.REG[6], fra.me.REG[3]);
6083 }
6084 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
6085 /* ./parser//parser.nit:1735 */
6086 if (UNTAG_Bool(REGB0)) {
6087 fra.me.REG[6] = fra.me.REG[2];
6088 /* ./parser//parser.nit:1736 */
6089 } else {
6090 /* ./parser//parser.nit:1738 */
6091 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
6092 }
6093 fra.me.REG[6] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
6094 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
6095 /* ./parser//parser.nit:1744 */
6096 if (UNTAG_Bool(REGB0)) {
6097 } else {
6098 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
6099 if (UNTAG_Bool(REGB1)) {
6100 REGB1 = TAG_Bool(false);
6101 REGB0 = REGB1;
6102 } else {
6103 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
6104 REGB0 = REGB1;
6105 }
6106 }
6107 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6108 if (UNTAG_Bool(REGB0)) {
6109 /* ./parser//parser.nit:1745 */
6110 array___Array___add(fra.me.REG[5], fra.me.REG[6]);
6111 }
6112 fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
6113 fra.me.REG[0] = fra.me.REG[5];
6114 REGB0 = TAG_Int(0);
6115 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6116 /* ./parser//parser.nit:1753 */
6117 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
6118 stack_frame_head = fra.me.prev;
6119 return;
6120 }
6121 void parser___ReduceAction9___init(val_t p0, int* init_table){
6122 int itpos13 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction9].i;
6123 struct {struct stack_frame_t me;} fra;
6124 val_t tmp;
6125 if (init_table[itpos13]) return;
6126 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6127 fra.me.file = LOCATE_parser;
6128 fra.me.line = 1755;
6129 fra.me.meth = LOCATE_parser___ReduceAction9___init;
6130 fra.me.has_broke = 0;
6131 fra.me.REG_size = 1;
6132 fra.me.REG[0] = NIT_NULL;
6133 fra.me.REG[0] = p0;
6134 /* ./parser//parser.nit:1755 */
6135 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
6136 stack_frame_head = fra.me.prev;
6137 init_table[itpos13] = 1;
6138 return;
6139 }
6140 void parser___ReduceAction10___action(val_t p0, val_t p1){
6141 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
6142 val_t REGB0;
6143 val_t REGB1;
6144 val_t tmp;
6145 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6146 fra.me.file = LOCATE_parser;
6147 fra.me.line = 1759;
6148 fra.me.meth = LOCATE_parser___ReduceAction10___action;
6149 fra.me.has_broke = 0;
6150 fra.me.REG_size = 7;
6151 fra.me.REG[0] = NIT_NULL;
6152 fra.me.REG[1] = NIT_NULL;
6153 fra.me.REG[2] = NIT_NULL;
6154 fra.me.REG[3] = NIT_NULL;
6155 fra.me.REG[4] = NIT_NULL;
6156 fra.me.REG[5] = NIT_NULL;
6157 fra.me.REG[6] = NIT_NULL;
6158 fra.me.REG[0] = p0;
6159 fra.me.REG[1] = p1;
6160 fra.me.REG[0] = NIT_NULL;
6161 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6162 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6163 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6164 fra.me.REG[4] = NEW_Array_array___Array___init();
6165 fra.me.REG[5] = NEW_Array_array___Array___init();
6166 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
6167 /* ./parser//parser.nit:1768 */
6168 if (UNTAG_Bool(REGB0)) {
6169 } else {
6170 fprintf(stderr, "Assert failed");
6171 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1768);
6172 nit_exit(1);
6173 }
6174 fra.me.REG[6] = NEW_Array_array___Array___init();
6175 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
6176 /* ./parser//parser.nit:1771 */
6177 if (UNTAG_Bool(REGB0)) {
6178 } else {
6179 fprintf(stderr, "Assert failed");
6180 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1771);
6181 nit_exit(1);
6182 }
6183 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6184 /* ./parser//parser.nit:1772 */
6185 if (UNTAG_Bool(REGB0)) {
6186 } else {
6187 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6188 if (UNTAG_Bool(REGB1)) {
6189 REGB1 = TAG_Bool(false);
6190 REGB0 = REGB1;
6191 } else {
6192 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
6193 REGB0 = REGB1;
6194 }
6195 }
6196 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6197 if (UNTAG_Bool(REGB0)) {
6198 /* ./parser//parser.nit:1773 */
6199 array___Array___add(fra.me.REG[6], fra.me.REG[2]);
6200 }
6201 fra.me.REG[6] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
6202 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
6203 /* ./parser//parser.nit:1778 */
6204 if (UNTAG_Bool(REGB0)) {
6205 } else {
6206 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
6207 if (UNTAG_Bool(REGB1)) {
6208 REGB1 = TAG_Bool(false);
6209 REGB0 = REGB1;
6210 } else {
6211 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
6212 REGB0 = REGB1;
6213 }
6214 }
6215 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6216 if (UNTAG_Bool(REGB0)) {
6217 /* ./parser//parser.nit:1779 */
6218 array___Array___add(fra.me.REG[5], fra.me.REG[6]);
6219 }
6220 fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]);
6221 fra.me.REG[0] = fra.me.REG[5];
6222 REGB0 = TAG_Int(0);
6223 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6224 /* ./parser//parser.nit:1787 */
6225 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
6226 stack_frame_head = fra.me.prev;
6227 return;
6228 }
6229 void parser___ReduceAction10___init(val_t p0, int* init_table){
6230 int itpos14 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction10].i;
6231 struct {struct stack_frame_t me;} fra;
6232 val_t tmp;
6233 if (init_table[itpos14]) return;
6234 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6235 fra.me.file = LOCATE_parser;
6236 fra.me.line = 1789;
6237 fra.me.meth = LOCATE_parser___ReduceAction10___init;
6238 fra.me.has_broke = 0;
6239 fra.me.REG_size = 1;
6240 fra.me.REG[0] = NIT_NULL;
6241 fra.me.REG[0] = p0;
6242 /* ./parser//parser.nit:1789 */
6243 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
6244 stack_frame_head = fra.me.prev;
6245 init_table[itpos14] = 1;
6246 return;
6247 }
6248 void parser___ReduceAction11___action(val_t p0, val_t p1){
6249 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6250 val_t REGB0;
6251 val_t REGB1;
6252 val_t tmp;
6253 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6254 fra.me.file = LOCATE_parser;
6255 fra.me.line = 1793;
6256 fra.me.meth = LOCATE_parser___ReduceAction11___action;
6257 fra.me.has_broke = 0;
6258 fra.me.REG_size = 8;
6259 fra.me.REG[0] = NIT_NULL;
6260 fra.me.REG[1] = NIT_NULL;
6261 fra.me.REG[2] = NIT_NULL;
6262 fra.me.REG[3] = NIT_NULL;
6263 fra.me.REG[4] = NIT_NULL;
6264 fra.me.REG[5] = NIT_NULL;
6265 fra.me.REG[6] = NIT_NULL;
6266 fra.me.REG[7] = NIT_NULL;
6267 fra.me.REG[0] = p0;
6268 fra.me.REG[1] = p1;
6269 fra.me.REG[0] = NIT_NULL;
6270 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6271 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6272 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6273 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6274 fra.me.REG[5] = NEW_Array_array___Array___init();
6275 fra.me.REG[6] = NEW_Array_array___Array___init();
6276 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
6277 /* ./parser//parser.nit:1803 */
6278 if (UNTAG_Bool(REGB0)) {
6279 } else {
6280 fprintf(stderr, "Assert failed");
6281 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1803);
6282 nit_exit(1);
6283 }
6284 fra.me.REG[7] = NEW_Array_array___Array___init();
6285 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
6286 /* ./parser//parser.nit:1806 */
6287 if (UNTAG_Bool(REGB0)) {
6288 } else {
6289 fprintf(stderr, "Assert failed");
6290 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1806);
6291 nit_exit(1);
6292 }
6293 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6294 /* ./parser//parser.nit:1808 */
6295 if (UNTAG_Bool(REGB0)) {
6296 } else {
6297 fprintf(stderr, "Assert failed");
6298 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1808);
6299 nit_exit(1);
6300 }
6301 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6302 /* ./parser//parser.nit:1809 */
6303 if (UNTAG_Bool(REGB0)) {
6304 } else {
6305 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6306 if (UNTAG_Bool(REGB1)) {
6307 REGB1 = TAG_Bool(false);
6308 REGB0 = REGB1;
6309 } else {
6310 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6311 REGB0 = REGB1;
6312 }
6313 }
6314 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6315 if (UNTAG_Bool(REGB0)) {
6316 /* ./parser//parser.nit:1810 */
6317 array___Array___add(fra.me.REG[7], fra.me.REG[3]);
6318 }
6319 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
6320 /* ./parser//parser.nit:1813 */
6321 if (UNTAG_Bool(REGB0)) {
6322 fra.me.REG[7] = fra.me.REG[2];
6323 /* ./parser//parser.nit:1814 */
6324 } else {
6325 /* ./parser//parser.nit:1816 */
6326 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]);
6327 }
6328 fra.me.REG[7] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]);
6329 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
6330 /* ./parser//parser.nit:1822 */
6331 if (UNTAG_Bool(REGB0)) {
6332 } else {
6333 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
6334 if (UNTAG_Bool(REGB1)) {
6335 REGB1 = TAG_Bool(false);
6336 REGB0 = REGB1;
6337 } else {
6338 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
6339 REGB0 = REGB1;
6340 }
6341 }
6342 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6343 if (UNTAG_Bool(REGB0)) {
6344 /* ./parser//parser.nit:1823 */
6345 array___Array___add(fra.me.REG[6], fra.me.REG[7]);
6346 }
6347 fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
6348 fra.me.REG[0] = fra.me.REG[6];
6349 REGB0 = TAG_Int(0);
6350 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6351 /* ./parser//parser.nit:1831 */
6352 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
6353 stack_frame_head = fra.me.prev;
6354 return;
6355 }
6356 void parser___ReduceAction11___init(val_t p0, int* init_table){
6357 int itpos15 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction11].i;
6358 struct {struct stack_frame_t me;} fra;
6359 val_t tmp;
6360 if (init_table[itpos15]) return;
6361 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6362 fra.me.file = LOCATE_parser;
6363 fra.me.line = 1833;
6364 fra.me.meth = LOCATE_parser___ReduceAction11___init;
6365 fra.me.has_broke = 0;
6366 fra.me.REG_size = 1;
6367 fra.me.REG[0] = NIT_NULL;
6368 fra.me.REG[0] = p0;
6369 /* ./parser//parser.nit:1833 */
6370 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
6371 stack_frame_head = fra.me.prev;
6372 init_table[itpos15] = 1;
6373 return;
6374 }
6375 void parser___ReduceAction12___action(val_t p0, val_t p1){
6376 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
6377 val_t REGB0;
6378 val_t REGB1;
6379 val_t tmp;
6380 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6381 fra.me.file = LOCATE_parser;
6382 fra.me.line = 1837;
6383 fra.me.meth = LOCATE_parser___ReduceAction12___action;
6384 fra.me.has_broke = 0;
6385 fra.me.REG_size = 6;
6386 fra.me.REG[0] = NIT_NULL;
6387 fra.me.REG[1] = NIT_NULL;
6388 fra.me.REG[2] = NIT_NULL;
6389 fra.me.REG[3] = NIT_NULL;
6390 fra.me.REG[4] = NIT_NULL;
6391 fra.me.REG[5] = NIT_NULL;
6392 fra.me.REG[0] = p0;
6393 fra.me.REG[1] = p1;
6394 fra.me.REG[0] = NIT_NULL;
6395 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6396 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6397 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6398 fra.me.REG[4] = NEW_Array_array___Array___init();
6399 fra.me.REG[5] = NEW_Array_array___Array___init();
6400 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6401 /* ./parser//parser.nit:1846 */
6402 if (UNTAG_Bool(REGB0)) {
6403 } else {
6404 fprintf(stderr, "Assert failed");
6405 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1846);
6406 nit_exit(1);
6407 }
6408 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
6409 /* ./parser//parser.nit:1848 */
6410 if (UNTAG_Bool(REGB0)) {
6411 fra.me.REG[4] = fra.me.REG[3];
6412 /* ./parser//parser.nit:1849 */
6413 } else {
6414 /* ./parser//parser.nit:1851 */
6415 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
6416 }
6417 fra.me.REG[3] = NEW_Array_array___Array___init();
6418 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
6419 /* ./parser//parser.nit:1856 */
6420 if (UNTAG_Bool(REGB0)) {
6421 } else {
6422 fprintf(stderr, "Assert failed");
6423 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1856);
6424 nit_exit(1);
6425 }
6426 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6427 /* ./parser//parser.nit:1857 */
6428 if (UNTAG_Bool(REGB0)) {
6429 } else {
6430 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6431 if (UNTAG_Bool(REGB1)) {
6432 REGB1 = TAG_Bool(false);
6433 REGB0 = REGB1;
6434 } else {
6435 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
6436 REGB0 = REGB1;
6437 }
6438 }
6439 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6440 if (UNTAG_Bool(REGB0)) {
6441 /* ./parser//parser.nit:1858 */
6442 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
6443 }
6444 fra.me.REG[3] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[3]);
6445 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6446 /* ./parser//parser.nit:1863 */
6447 if (UNTAG_Bool(REGB0)) {
6448 } else {
6449 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6450 if (UNTAG_Bool(REGB1)) {
6451 REGB1 = TAG_Bool(false);
6452 REGB0 = REGB1;
6453 } else {
6454 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6455 REGB0 = REGB1;
6456 }
6457 }
6458 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6459 if (UNTAG_Bool(REGB0)) {
6460 /* ./parser//parser.nit:1864 */
6461 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
6462 }
6463 fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
6464 fra.me.REG[0] = fra.me.REG[5];
6465 REGB0 = TAG_Int(0);
6466 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6467 /* ./parser//parser.nit:1872 */
6468 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
6469 stack_frame_head = fra.me.prev;
6470 return;
6471 }
6472 void parser___ReduceAction12___init(val_t p0, int* init_table){
6473 int itpos16 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction12].i;
6474 struct {struct stack_frame_t me;} fra;
6475 val_t tmp;
6476 if (init_table[itpos16]) return;
6477 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6478 fra.me.file = LOCATE_parser;
6479 fra.me.line = 1874;
6480 fra.me.meth = LOCATE_parser___ReduceAction12___init;
6481 fra.me.has_broke = 0;
6482 fra.me.REG_size = 1;
6483 fra.me.REG[0] = NIT_NULL;
6484 fra.me.REG[0] = p0;
6485 /* ./parser//parser.nit:1874 */
6486 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
6487 stack_frame_head = fra.me.prev;
6488 init_table[itpos16] = 1;
6489 return;
6490 }
6491 void parser___ReduceAction13___action(val_t p0, val_t p1){
6492 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
6493 val_t REGB0;
6494 val_t REGB1;
6495 val_t tmp;
6496 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6497 fra.me.file = LOCATE_parser;
6498 fra.me.line = 1878;
6499 fra.me.meth = LOCATE_parser___ReduceAction13___action;
6500 fra.me.has_broke = 0;
6501 fra.me.REG_size = 7;
6502 fra.me.REG[0] = NIT_NULL;
6503 fra.me.REG[1] = NIT_NULL;
6504 fra.me.REG[2] = NIT_NULL;
6505 fra.me.REG[3] = NIT_NULL;
6506 fra.me.REG[4] = NIT_NULL;
6507 fra.me.REG[5] = NIT_NULL;
6508 fra.me.REG[6] = NIT_NULL;
6509 fra.me.REG[0] = p0;
6510 fra.me.REG[1] = p1;
6511 fra.me.REG[0] = NIT_NULL;
6512 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6513 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6514 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6515 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6516 fra.me.REG[5] = NEW_Array_array___Array___init();
6517 fra.me.REG[6] = NEW_Array_array___Array___init();
6518 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6519 /* ./parser//parser.nit:1888 */
6520 if (UNTAG_Bool(REGB0)) {
6521 } else {
6522 fprintf(stderr, "Assert failed");
6523 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1888);
6524 nit_exit(1);
6525 }
6526 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
6527 /* ./parser//parser.nit:1890 */
6528 if (UNTAG_Bool(REGB0)) {
6529 fra.me.REG[5] = fra.me.REG[4];
6530 /* ./parser//parser.nit:1891 */
6531 } else {
6532 /* ./parser//parser.nit:1893 */
6533 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
6534 }
6535 fra.me.REG[4] = NEW_Array_array___Array___init();
6536 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
6537 /* ./parser//parser.nit:1898 */
6538 if (UNTAG_Bool(REGB0)) {
6539 } else {
6540 fprintf(stderr, "Assert failed");
6541 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1898);
6542 nit_exit(1);
6543 }
6544 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6545 /* ./parser//parser.nit:1900 */
6546 if (UNTAG_Bool(REGB0)) {
6547 } else {
6548 fprintf(stderr, "Assert failed");
6549 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1900);
6550 nit_exit(1);
6551 }
6552 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6553 /* ./parser//parser.nit:1901 */
6554 if (UNTAG_Bool(REGB0)) {
6555 } else {
6556 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6557 if (UNTAG_Bool(REGB1)) {
6558 REGB1 = TAG_Bool(false);
6559 REGB0 = REGB1;
6560 } else {
6561 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6562 REGB0 = REGB1;
6563 }
6564 }
6565 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6566 if (UNTAG_Bool(REGB0)) {
6567 /* ./parser//parser.nit:1902 */
6568 array___Array___add(fra.me.REG[4], fra.me.REG[3]);
6569 }
6570 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
6571 /* ./parser//parser.nit:1905 */
6572 if (UNTAG_Bool(REGB0)) {
6573 fra.me.REG[4] = fra.me.REG[2];
6574 /* ./parser//parser.nit:1906 */
6575 } else {
6576 /* ./parser//parser.nit:1908 */
6577 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
6578 }
6579 fra.me.REG[4] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
6580 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
6581 /* ./parser//parser.nit:1914 */
6582 if (UNTAG_Bool(REGB0)) {
6583 } else {
6584 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
6585 if (UNTAG_Bool(REGB1)) {
6586 REGB1 = TAG_Bool(false);
6587 REGB0 = REGB1;
6588 } else {
6589 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
6590 REGB0 = REGB1;
6591 }
6592 }
6593 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6594 if (UNTAG_Bool(REGB0)) {
6595 /* ./parser//parser.nit:1915 */
6596 array___Array___add(fra.me.REG[6], fra.me.REG[4]);
6597 }
6598 fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
6599 fra.me.REG[0] = fra.me.REG[6];
6600 REGB0 = TAG_Int(0);
6601 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6602 /* ./parser//parser.nit:1923 */
6603 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
6604 stack_frame_head = fra.me.prev;
6605 return;
6606 }
6607 void parser___ReduceAction13___init(val_t p0, int* init_table){
6608 int itpos17 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction13].i;
6609 struct {struct stack_frame_t me;} fra;
6610 val_t tmp;
6611 if (init_table[itpos17]) return;
6612 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6613 fra.me.file = LOCATE_parser;
6614 fra.me.line = 1925;
6615 fra.me.meth = LOCATE_parser___ReduceAction13___init;
6616 fra.me.has_broke = 0;
6617 fra.me.REG_size = 1;
6618 fra.me.REG[0] = NIT_NULL;
6619 fra.me.REG[0] = p0;
6620 /* ./parser//parser.nit:1925 */
6621 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
6622 stack_frame_head = fra.me.prev;
6623 init_table[itpos17] = 1;
6624 return;
6625 }
6626 void parser___ReduceAction14___action(val_t p0, val_t p1){
6627 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
6628 val_t REGB0;
6629 val_t REGB1;
6630 val_t tmp;
6631 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6632 fra.me.file = LOCATE_parser;
6633 fra.me.line = 1929;
6634 fra.me.meth = LOCATE_parser___ReduceAction14___action;
6635 fra.me.has_broke = 0;
6636 fra.me.REG_size = 7;
6637 fra.me.REG[0] = NIT_NULL;
6638 fra.me.REG[1] = NIT_NULL;
6639 fra.me.REG[2] = NIT_NULL;
6640 fra.me.REG[3] = NIT_NULL;
6641 fra.me.REG[4] = NIT_NULL;
6642 fra.me.REG[5] = NIT_NULL;
6643 fra.me.REG[6] = NIT_NULL;
6644 fra.me.REG[0] = p0;
6645 fra.me.REG[1] = p1;
6646 fra.me.REG[0] = NIT_NULL;
6647 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6648 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6649 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6650 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6651 fra.me.REG[5] = NEW_Array_array___Array___init();
6652 fra.me.REG[6] = NEW_Array_array___Array___init();
6653 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
6654 /* ./parser//parser.nit:1939 */
6655 if (UNTAG_Bool(REGB0)) {
6656 } else {
6657 fprintf(stderr, "Assert failed");
6658 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1939);
6659 nit_exit(1);
6660 }
6661 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6662 /* ./parser//parser.nit:1941 */
6663 if (UNTAG_Bool(REGB0)) {
6664 } else {
6665 fprintf(stderr, "Assert failed");
6666 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1941);
6667 nit_exit(1);
6668 }
6669 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
6670 /* ./parser//parser.nit:1943 */
6671 if (UNTAG_Bool(REGB0)) {
6672 fra.me.REG[5] = fra.me.REG[3];
6673 /* ./parser//parser.nit:1944 */
6674 } else {
6675 /* ./parser//parser.nit:1946 */
6676 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
6677 }
6678 fra.me.REG[3] = NEW_Array_array___Array___init();
6679 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
6680 /* ./parser//parser.nit:1951 */
6681 if (UNTAG_Bool(REGB0)) {
6682 } else {
6683 fprintf(stderr, "Assert failed");
6684 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1951);
6685 nit_exit(1);
6686 }
6687 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6688 /* ./parser//parser.nit:1952 */
6689 if (UNTAG_Bool(REGB0)) {
6690 } else {
6691 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6692 if (UNTAG_Bool(REGB1)) {
6693 REGB1 = TAG_Bool(false);
6694 REGB0 = REGB1;
6695 } else {
6696 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
6697 REGB0 = REGB1;
6698 }
6699 }
6700 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6701 if (UNTAG_Bool(REGB0)) {
6702 /* ./parser//parser.nit:1953 */
6703 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
6704 }
6705 fra.me.REG[3] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[3]);
6706 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6707 /* ./parser//parser.nit:1958 */
6708 if (UNTAG_Bool(REGB0)) {
6709 } else {
6710 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6711 if (UNTAG_Bool(REGB1)) {
6712 REGB1 = TAG_Bool(false);
6713 REGB0 = REGB1;
6714 } else {
6715 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6716 REGB0 = REGB1;
6717 }
6718 }
6719 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6720 if (UNTAG_Bool(REGB0)) {
6721 /* ./parser//parser.nit:1959 */
6722 array___Array___add(fra.me.REG[6], fra.me.REG[3]);
6723 }
6724 fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
6725 fra.me.REG[0] = fra.me.REG[6];
6726 REGB0 = TAG_Int(0);
6727 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6728 /* ./parser//parser.nit:1967 */
6729 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
6730 stack_frame_head = fra.me.prev;
6731 return;
6732 }
6733 void parser___ReduceAction14___init(val_t p0, int* init_table){
6734 int itpos18 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction14].i;
6735 struct {struct stack_frame_t me;} fra;
6736 val_t tmp;
6737 if (init_table[itpos18]) return;
6738 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6739 fra.me.file = LOCATE_parser;
6740 fra.me.line = 1969;
6741 fra.me.meth = LOCATE_parser___ReduceAction14___init;
6742 fra.me.has_broke = 0;
6743 fra.me.REG_size = 1;
6744 fra.me.REG[0] = NIT_NULL;
6745 fra.me.REG[0] = p0;
6746 /* ./parser//parser.nit:1969 */
6747 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
6748 stack_frame_head = fra.me.prev;
6749 init_table[itpos18] = 1;
6750 return;
6751 }
6752 void parser___ReduceAction15___action(val_t p0, val_t p1){
6753 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6754 val_t REGB0;
6755 val_t REGB1;
6756 val_t tmp;
6757 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6758 fra.me.file = LOCATE_parser;
6759 fra.me.line = 1973;
6760 fra.me.meth = LOCATE_parser___ReduceAction15___action;
6761 fra.me.has_broke = 0;
6762 fra.me.REG_size = 8;
6763 fra.me.REG[0] = NIT_NULL;
6764 fra.me.REG[1] = NIT_NULL;
6765 fra.me.REG[2] = NIT_NULL;
6766 fra.me.REG[3] = NIT_NULL;
6767 fra.me.REG[4] = NIT_NULL;
6768 fra.me.REG[5] = NIT_NULL;
6769 fra.me.REG[6] = NIT_NULL;
6770 fra.me.REG[7] = NIT_NULL;
6771 fra.me.REG[0] = p0;
6772 fra.me.REG[1] = p1;
6773 fra.me.REG[0] = NIT_NULL;
6774 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6775 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6776 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6777 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6778 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6779 fra.me.REG[6] = NEW_Array_array___Array___init();
6780 fra.me.REG[7] = NEW_Array_array___Array___init();
6781 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
6782 /* ./parser//parser.nit:1984 */
6783 if (UNTAG_Bool(REGB0)) {
6784 } else {
6785 fprintf(stderr, "Assert failed");
6786 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1984);
6787 nit_exit(1);
6788 }
6789 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6790 /* ./parser//parser.nit:1986 */
6791 if (UNTAG_Bool(REGB0)) {
6792 } else {
6793 fprintf(stderr, "Assert failed");
6794 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1986);
6795 nit_exit(1);
6796 }
6797 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
6798 /* ./parser//parser.nit:1988 */
6799 if (UNTAG_Bool(REGB0)) {
6800 fra.me.REG[6] = fra.me.REG[4];
6801 /* ./parser//parser.nit:1989 */
6802 } else {
6803 /* ./parser//parser.nit:1991 */
6804 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
6805 }
6806 fra.me.REG[4] = NEW_Array_array___Array___init();
6807 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
6808 /* ./parser//parser.nit:1996 */
6809 if (UNTAG_Bool(REGB0)) {
6810 } else {
6811 fprintf(stderr, "Assert failed");
6812 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1996);
6813 nit_exit(1);
6814 }
6815 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6816 /* ./parser//parser.nit:1998 */
6817 if (UNTAG_Bool(REGB0)) {
6818 } else {
6819 fprintf(stderr, "Assert failed");
6820 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1998);
6821 nit_exit(1);
6822 }
6823 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6824 /* ./parser//parser.nit:1999 */
6825 if (UNTAG_Bool(REGB0)) {
6826 } else {
6827 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6828 if (UNTAG_Bool(REGB1)) {
6829 REGB1 = TAG_Bool(false);
6830 REGB0 = REGB1;
6831 } else {
6832 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6833 REGB0 = REGB1;
6834 }
6835 }
6836 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6837 if (UNTAG_Bool(REGB0)) {
6838 /* ./parser//parser.nit:2000 */
6839 array___Array___add(fra.me.REG[4], fra.me.REG[3]);
6840 }
6841 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
6842 /* ./parser//parser.nit:2003 */
6843 if (UNTAG_Bool(REGB0)) {
6844 fra.me.REG[4] = fra.me.REG[2];
6845 /* ./parser//parser.nit:2004 */
6846 } else {
6847 /* ./parser//parser.nit:2006 */
6848 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
6849 }
6850 fra.me.REG[4] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
6851 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
6852 /* ./parser//parser.nit:2012 */
6853 if (UNTAG_Bool(REGB0)) {
6854 } else {
6855 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
6856 if (UNTAG_Bool(REGB1)) {
6857 REGB1 = TAG_Bool(false);
6858 REGB0 = REGB1;
6859 } else {
6860 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
6861 REGB0 = REGB1;
6862 }
6863 }
6864 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6865 if (UNTAG_Bool(REGB0)) {
6866 /* ./parser//parser.nit:2013 */
6867 array___Array___add(fra.me.REG[7], fra.me.REG[4]);
6868 }
6869 fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
6870 fra.me.REG[0] = fra.me.REG[7];
6871 REGB0 = TAG_Int(0);
6872 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6873 /* ./parser//parser.nit:2021 */
6874 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
6875 stack_frame_head = fra.me.prev;
6876 return;
6877 }
6878 void parser___ReduceAction15___init(val_t p0, int* init_table){
6879 int itpos19 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction15].i;
6880 struct {struct stack_frame_t me;} fra;
6881 val_t tmp;
6882 if (init_table[itpos19]) return;
6883 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6884 fra.me.file = LOCATE_parser;
6885 fra.me.line = 2023;
6886 fra.me.meth = LOCATE_parser___ReduceAction15___init;
6887 fra.me.has_broke = 0;
6888 fra.me.REG_size = 1;
6889 fra.me.REG[0] = NIT_NULL;
6890 fra.me.REG[0] = p0;
6891 /* ./parser//parser.nit:2023 */
6892 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
6893 stack_frame_head = fra.me.prev;
6894 init_table[itpos19] = 1;
6895 return;
6896 }
6897 void parser___ReduceAction16___action(val_t p0, val_t p1){
6898 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
6899 val_t REGB0;
6900 val_t REGB1;
6901 val_t tmp;
6902 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6903 fra.me.file = LOCATE_parser;
6904 fra.me.line = 2027;
6905 fra.me.meth = LOCATE_parser___ReduceAction16___action;
6906 fra.me.has_broke = 0;
6907 fra.me.REG_size = 7;
6908 fra.me.REG[0] = NIT_NULL;
6909 fra.me.REG[1] = NIT_NULL;
6910 fra.me.REG[2] = NIT_NULL;
6911 fra.me.REG[3] = NIT_NULL;
6912 fra.me.REG[4] = NIT_NULL;
6913 fra.me.REG[5] = NIT_NULL;
6914 fra.me.REG[6] = NIT_NULL;
6915 fra.me.REG[0] = p0;
6916 fra.me.REG[1] = p1;
6917 fra.me.REG[0] = NIT_NULL;
6918 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6919 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6920 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6921 fra.me.REG[4] = NEW_Array_array___Array___init();
6922 fra.me.REG[5] = NEW_Array_array___Array___init();
6923 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6924 /* ./parser//parser.nit:2036 */
6925 if (UNTAG_Bool(REGB0)) {
6926 } else {
6927 fprintf(stderr, "Assert failed");
6928 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2036);
6929 nit_exit(1);
6930 }
6931 fra.me.REG[6] = NEW_Array_array___Array___init();
6932 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
6933 /* ./parser//parser.nit:2039 */
6934 if (UNTAG_Bool(REGB0)) {
6935 } else {
6936 fprintf(stderr, "Assert failed");
6937 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2039);
6938 nit_exit(1);
6939 }
6940 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6941 /* ./parser//parser.nit:2040 */
6942 if (UNTAG_Bool(REGB0)) {
6943 } else {
6944 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6945 if (UNTAG_Bool(REGB1)) {
6946 REGB1 = TAG_Bool(false);
6947 REGB0 = REGB1;
6948 } else {
6949 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
6950 REGB0 = REGB1;
6951 }
6952 }
6953 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6954 if (UNTAG_Bool(REGB0)) {
6955 /* ./parser//parser.nit:2041 */
6956 array___Array___add(fra.me.REG[6], fra.me.REG[2]);
6957 }
6958 fra.me.REG[6] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
6959 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
6960 /* ./parser//parser.nit:2047 */
6961 if (UNTAG_Bool(REGB0)) {
6962 fra.me.REG[5] = fra.me.REG[3];
6963 /* ./parser//parser.nit:2048 */
6964 } else {
6965 /* ./parser//parser.nit:2050 */
6966 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
6967 }
6968 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
6969 /* ./parser//parser.nit:2053 */
6970 if (UNTAG_Bool(REGB0)) {
6971 } else {
6972 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
6973 if (UNTAG_Bool(REGB1)) {
6974 REGB1 = TAG_Bool(false);
6975 REGB0 = REGB1;
6976 } else {
6977 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
6978 REGB0 = REGB1;
6979 }
6980 }
6981 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6982 if (UNTAG_Bool(REGB0)) {
6983 /* ./parser//parser.nit:2054 */
6984 array___Array___add(fra.me.REG[5], fra.me.REG[6]);
6985 }
6986 fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
6987 fra.me.REG[0] = fra.me.REG[5];
6988 REGB0 = TAG_Int(0);
6989 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6990 /* ./parser//parser.nit:2062 */
6991 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
6992 stack_frame_head = fra.me.prev;
6993 return;
6994 }
6995 void parser___ReduceAction16___init(val_t p0, int* init_table){
6996 int itpos20 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction16].i;
6997 struct {struct stack_frame_t me;} fra;
6998 val_t tmp;
6999 if (init_table[itpos20]) return;
7000 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7001 fra.me.file = LOCATE_parser;
7002 fra.me.line = 2064;
7003 fra.me.meth = LOCATE_parser___ReduceAction16___init;
7004 fra.me.has_broke = 0;
7005 fra.me.REG_size = 1;
7006 fra.me.REG[0] = NIT_NULL;
7007 fra.me.REG[0] = p0;
7008 /* ./parser//parser.nit:2064 */
7009 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
7010 stack_frame_head = fra.me.prev;
7011 init_table[itpos20] = 1;
7012 return;
7013 }
7014 void parser___ReduceAction17___action(val_t p0, val_t p1){
7015 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
7016 val_t REGB0;
7017 val_t REGB1;
7018 val_t tmp;
7019 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7020 fra.me.file = LOCATE_parser;
7021 fra.me.line = 2068;
7022 fra.me.meth = LOCATE_parser___ReduceAction17___action;
7023 fra.me.has_broke = 0;
7024 fra.me.REG_size = 8;
7025 fra.me.REG[0] = NIT_NULL;
7026 fra.me.REG[1] = NIT_NULL;
7027 fra.me.REG[2] = NIT_NULL;
7028 fra.me.REG[3] = NIT_NULL;
7029 fra.me.REG[4] = NIT_NULL;
7030 fra.me.REG[5] = NIT_NULL;
7031 fra.me.REG[6] = NIT_NULL;
7032 fra.me.REG[7] = NIT_NULL;
7033 fra.me.REG[0] = p0;
7034 fra.me.REG[1] = p1;
7035 fra.me.REG[0] = NIT_NULL;
7036 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7037 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7038 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7039 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7040 fra.me.REG[5] = NEW_Array_array___Array___init();
7041 fra.me.REG[6] = NEW_Array_array___Array___init();
7042 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7043 /* ./parser//parser.nit:2078 */
7044 if (UNTAG_Bool(REGB0)) {
7045 } else {
7046 fprintf(stderr, "Assert failed");
7047 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2078);
7048 nit_exit(1);
7049 }
7050 fra.me.REG[7] = NEW_Array_array___Array___init();
7051 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
7052 /* ./parser//parser.nit:2081 */
7053 if (UNTAG_Bool(REGB0)) {
7054 } else {
7055 fprintf(stderr, "Assert failed");
7056 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2081);
7057 nit_exit(1);
7058 }
7059 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7060 /* ./parser//parser.nit:2083 */
7061 if (UNTAG_Bool(REGB0)) {
7062 } else {
7063 fprintf(stderr, "Assert failed");
7064 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2083);
7065 nit_exit(1);
7066 }
7067 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7068 /* ./parser//parser.nit:2084 */
7069 if (UNTAG_Bool(REGB0)) {
7070 } else {
7071 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7072 if (UNTAG_Bool(REGB1)) {
7073 REGB1 = TAG_Bool(false);
7074 REGB0 = REGB1;
7075 } else {
7076 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7077 REGB0 = REGB1;
7078 }
7079 }
7080 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7081 if (UNTAG_Bool(REGB0)) {
7082 /* ./parser//parser.nit:2085 */
7083 array___Array___add(fra.me.REG[7], fra.me.REG[3]);
7084 }
7085 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
7086 /* ./parser//parser.nit:2088 */
7087 if (UNTAG_Bool(REGB0)) {
7088 fra.me.REG[7] = fra.me.REG[2];
7089 /* ./parser//parser.nit:2089 */
7090 } else {
7091 /* ./parser//parser.nit:2091 */
7092 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]);
7093 }
7094 fra.me.REG[7] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]);
7095 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
7096 /* ./parser//parser.nit:2098 */
7097 if (UNTAG_Bool(REGB0)) {
7098 fra.me.REG[6] = fra.me.REG[4];
7099 /* ./parser//parser.nit:2099 */
7100 } else {
7101 /* ./parser//parser.nit:2101 */
7102 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
7103 }
7104 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
7105 /* ./parser//parser.nit:2104 */
7106 if (UNTAG_Bool(REGB0)) {
7107 } else {
7108 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
7109 if (UNTAG_Bool(REGB1)) {
7110 REGB1 = TAG_Bool(false);
7111 REGB0 = REGB1;
7112 } else {
7113 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
7114 REGB0 = REGB1;
7115 }
7116 }
7117 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7118 if (UNTAG_Bool(REGB0)) {
7119 /* ./parser//parser.nit:2105 */
7120 array___Array___add(fra.me.REG[6], fra.me.REG[7]);
7121 }
7122 fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
7123 fra.me.REG[0] = fra.me.REG[6];
7124 REGB0 = TAG_Int(0);
7125 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7126 /* ./parser//parser.nit:2113 */
7127 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
7128 stack_frame_head = fra.me.prev;
7129 return;
7130 }
7131 void parser___ReduceAction17___init(val_t p0, int* init_table){
7132 int itpos21 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction17].i;
7133 struct {struct stack_frame_t me;} fra;
7134 val_t tmp;
7135 if (init_table[itpos21]) return;
7136 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7137 fra.me.file = LOCATE_parser;
7138 fra.me.line = 2115;
7139 fra.me.meth = LOCATE_parser___ReduceAction17___init;
7140 fra.me.has_broke = 0;
7141 fra.me.REG_size = 1;
7142 fra.me.REG[0] = NIT_NULL;
7143 fra.me.REG[0] = p0;
7144 /* ./parser//parser.nit:2115 */
7145 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
7146 stack_frame_head = fra.me.prev;
7147 init_table[itpos21] = 1;
7148 return;
7149 }
7150 void parser___ReduceAction18___action(val_t p0, val_t p1){
7151 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
7152 val_t REGB0;
7153 val_t REGB1;
7154 val_t tmp;
7155 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7156 fra.me.file = LOCATE_parser;
7157 fra.me.line = 2119;
7158 fra.me.meth = LOCATE_parser___ReduceAction18___action;
7159 fra.me.has_broke = 0;
7160 fra.me.REG_size = 8;
7161 fra.me.REG[0] = NIT_NULL;
7162 fra.me.REG[1] = NIT_NULL;
7163 fra.me.REG[2] = NIT_NULL;
7164 fra.me.REG[3] = NIT_NULL;
7165 fra.me.REG[4] = NIT_NULL;
7166 fra.me.REG[5] = NIT_NULL;
7167 fra.me.REG[6] = NIT_NULL;
7168 fra.me.REG[7] = NIT_NULL;
7169 fra.me.REG[0] = p0;
7170 fra.me.REG[1] = p1;
7171 fra.me.REG[0] = NIT_NULL;
7172 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7173 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7174 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7175 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7176 fra.me.REG[5] = NEW_Array_array___Array___init();
7177 fra.me.REG[6] = NEW_Array_array___Array___init();
7178 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
7179 /* ./parser//parser.nit:2129 */
7180 if (UNTAG_Bool(REGB0)) {
7181 } else {
7182 fprintf(stderr, "Assert failed");
7183 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2129);
7184 nit_exit(1);
7185 }
7186 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7187 /* ./parser//parser.nit:2131 */
7188 if (UNTAG_Bool(REGB0)) {
7189 } else {
7190 fprintf(stderr, "Assert failed");
7191 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2131);
7192 nit_exit(1);
7193 }
7194 fra.me.REG[7] = NEW_Array_array___Array___init();
7195 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
7196 /* ./parser//parser.nit:2134 */
7197 if (UNTAG_Bool(REGB0)) {
7198 } else {
7199 fprintf(stderr, "Assert failed");
7200 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2134);
7201 nit_exit(1);
7202 }
7203 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7204 /* ./parser//parser.nit:2135 */
7205 if (UNTAG_Bool(REGB0)) {
7206 } else {
7207 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7208 if (UNTAG_Bool(REGB1)) {
7209 REGB1 = TAG_Bool(false);
7210 REGB0 = REGB1;
7211 } else {
7212 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7213 REGB0 = REGB1;
7214 }
7215 }
7216 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7217 if (UNTAG_Bool(REGB0)) {
7218 /* ./parser//parser.nit:2136 */
7219 array___Array___add(fra.me.REG[7], fra.me.REG[2]);
7220 }
7221 fra.me.REG[7] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]);
7222 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
7223 /* ./parser//parser.nit:2142 */
7224 if (UNTAG_Bool(REGB0)) {
7225 fra.me.REG[6] = fra.me.REG[3];
7226 /* ./parser//parser.nit:2143 */
7227 } else {
7228 /* ./parser//parser.nit:2145 */
7229 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
7230 }
7231 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
7232 /* ./parser//parser.nit:2148 */
7233 if (UNTAG_Bool(REGB0)) {
7234 } else {
7235 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
7236 if (UNTAG_Bool(REGB1)) {
7237 REGB1 = TAG_Bool(false);
7238 REGB0 = REGB1;
7239 } else {
7240 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
7241 REGB0 = REGB1;
7242 }
7243 }
7244 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7245 if (UNTAG_Bool(REGB0)) {
7246 /* ./parser//parser.nit:2149 */
7247 array___Array___add(fra.me.REG[6], fra.me.REG[7]);
7248 }
7249 fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
7250 fra.me.REG[0] = fra.me.REG[6];
7251 REGB0 = TAG_Int(0);
7252 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7253 /* ./parser//parser.nit:2157 */
7254 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
7255 stack_frame_head = fra.me.prev;
7256 return;
7257 }
7258 void parser___ReduceAction18___init(val_t p0, int* init_table){
7259 int itpos22 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction18].i;
7260 struct {struct stack_frame_t me;} fra;
7261 val_t tmp;
7262 if (init_table[itpos22]) return;
7263 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7264 fra.me.file = LOCATE_parser;
7265 fra.me.line = 2159;
7266 fra.me.meth = LOCATE_parser___ReduceAction18___init;
7267 fra.me.has_broke = 0;
7268 fra.me.REG_size = 1;
7269 fra.me.REG[0] = NIT_NULL;
7270 fra.me.REG[0] = p0;
7271 /* ./parser//parser.nit:2159 */
7272 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
7273 stack_frame_head = fra.me.prev;
7274 init_table[itpos22] = 1;
7275 return;
7276 }
7277 void parser___ReduceAction19___action(val_t p0, val_t p1){
7278 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
7279 val_t REGB0;
7280 val_t REGB1;
7281 val_t tmp;
7282 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7283 fra.me.file = LOCATE_parser;
7284 fra.me.line = 2163;
7285 fra.me.meth = LOCATE_parser___ReduceAction19___action;
7286 fra.me.has_broke = 0;
7287 fra.me.REG_size = 9;
7288 fra.me.REG[0] = NIT_NULL;
7289 fra.me.REG[1] = NIT_NULL;
7290 fra.me.REG[2] = NIT_NULL;
7291 fra.me.REG[3] = NIT_NULL;
7292 fra.me.REG[4] = NIT_NULL;
7293 fra.me.REG[5] = NIT_NULL;
7294 fra.me.REG[6] = NIT_NULL;
7295 fra.me.REG[7] = NIT_NULL;
7296 fra.me.REG[8] = NIT_NULL;
7297 fra.me.REG[0] = p0;
7298 fra.me.REG[1] = p1;
7299 fra.me.REG[0] = NIT_NULL;
7300 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7301 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7302 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7303 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7304 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7305 fra.me.REG[6] = NEW_Array_array___Array___init();
7306 fra.me.REG[7] = NEW_Array_array___Array___init();
7307 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
7308 /* ./parser//parser.nit:2174 */
7309 if (UNTAG_Bool(REGB0)) {
7310 } else {
7311 fprintf(stderr, "Assert failed");
7312 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2174);
7313 nit_exit(1);
7314 }
7315 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7316 /* ./parser//parser.nit:2176 */
7317 if (UNTAG_Bool(REGB0)) {
7318 } else {
7319 fprintf(stderr, "Assert failed");
7320 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2176);
7321 nit_exit(1);
7322 }
7323 fra.me.REG[8] = NEW_Array_array___Array___init();
7324 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
7325 /* ./parser//parser.nit:2179 */
7326 if (UNTAG_Bool(REGB0)) {
7327 } else {
7328 fprintf(stderr, "Assert failed");
7329 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2179);
7330 nit_exit(1);
7331 }
7332 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7333 /* ./parser//parser.nit:2181 */
7334 if (UNTAG_Bool(REGB0)) {
7335 } else {
7336 fprintf(stderr, "Assert failed");
7337 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2181);
7338 nit_exit(1);
7339 }
7340 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7341 /* ./parser//parser.nit:2182 */
7342 if (UNTAG_Bool(REGB0)) {
7343 } else {
7344 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7345 if (UNTAG_Bool(REGB1)) {
7346 REGB1 = TAG_Bool(false);
7347 REGB0 = REGB1;
7348 } else {
7349 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7350 REGB0 = REGB1;
7351 }
7352 }
7353 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7354 if (UNTAG_Bool(REGB0)) {
7355 /* ./parser//parser.nit:2183 */
7356 array___Array___add(fra.me.REG[8], fra.me.REG[3]);
7357 }
7358 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
7359 /* ./parser//parser.nit:2186 */
7360 if (UNTAG_Bool(REGB0)) {
7361 fra.me.REG[8] = fra.me.REG[2];
7362 /* ./parser//parser.nit:2187 */
7363 } else {
7364 /* ./parser//parser.nit:2189 */
7365 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[2]);
7366 }
7367 fra.me.REG[8] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
7368 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
7369 /* ./parser//parser.nit:2196 */
7370 if (UNTAG_Bool(REGB0)) {
7371 fra.me.REG[7] = fra.me.REG[4];
7372 /* ./parser//parser.nit:2197 */
7373 } else {
7374 /* ./parser//parser.nit:2199 */
7375 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
7376 }
7377 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
7378 /* ./parser//parser.nit:2202 */
7379 if (UNTAG_Bool(REGB0)) {
7380 } else {
7381 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
7382 if (UNTAG_Bool(REGB1)) {
7383 REGB1 = TAG_Bool(false);
7384 REGB0 = REGB1;
7385 } else {
7386 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
7387 REGB0 = REGB1;
7388 }
7389 }
7390 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7391 if (UNTAG_Bool(REGB0)) {
7392 /* ./parser//parser.nit:2203 */
7393 array___Array___add(fra.me.REG[7], fra.me.REG[8]);
7394 }
7395 fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
7396 fra.me.REG[0] = fra.me.REG[7];
7397 REGB0 = TAG_Int(0);
7398 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7399 /* ./parser//parser.nit:2211 */
7400 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
7401 stack_frame_head = fra.me.prev;
7402 return;
7403 }
7404 void parser___ReduceAction19___init(val_t p0, int* init_table){
7405 int itpos23 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction19].i;
7406 struct {struct stack_frame_t me;} fra;
7407 val_t tmp;
7408 if (init_table[itpos23]) return;
7409 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7410 fra.me.file = LOCATE_parser;
7411 fra.me.line = 2213;
7412 fra.me.meth = LOCATE_parser___ReduceAction19___init;
7413 fra.me.has_broke = 0;
7414 fra.me.REG_size = 1;
7415 fra.me.REG[0] = NIT_NULL;
7416 fra.me.REG[0] = p0;
7417 /* ./parser//parser.nit:2213 */
7418 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
7419 stack_frame_head = fra.me.prev;
7420 init_table[itpos23] = 1;
7421 return;
7422 }
7423 void parser___ReduceAction20___action(val_t p0, val_t p1){
7424 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
7425 val_t REGB0;
7426 val_t REGB1;
7427 val_t tmp;
7428 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7429 fra.me.file = LOCATE_parser;
7430 fra.me.line = 2217;
7431 fra.me.meth = LOCATE_parser___ReduceAction20___action;
7432 fra.me.has_broke = 0;
7433 fra.me.REG_size = 7;
7434 fra.me.REG[0] = NIT_NULL;
7435 fra.me.REG[1] = NIT_NULL;
7436 fra.me.REG[2] = NIT_NULL;
7437 fra.me.REG[3] = NIT_NULL;
7438 fra.me.REG[4] = NIT_NULL;
7439 fra.me.REG[5] = NIT_NULL;
7440 fra.me.REG[6] = NIT_NULL;
7441 fra.me.REG[0] = p0;
7442 fra.me.REG[1] = p1;
7443 fra.me.REG[0] = NIT_NULL;
7444 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7445 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7446 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7447 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7448 fra.me.REG[5] = NEW_Array_array___Array___init();
7449 fra.me.REG[6] = NEW_Array_array___Array___init();
7450 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7451 /* ./parser//parser.nit:2227 */
7452 if (UNTAG_Bool(REGB0)) {
7453 } else {
7454 fprintf(stderr, "Assert failed");
7455 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2227);
7456 nit_exit(1);
7457 }
7458 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
7459 /* ./parser//parser.nit:2229 */
7460 if (UNTAG_Bool(REGB0)) {
7461 fra.me.REG[5] = fra.me.REG[4];
7462 /* ./parser//parser.nit:2230 */
7463 } else {
7464 /* ./parser//parser.nit:2232 */
7465 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
7466 }
7467 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7468 /* ./parser//parser.nit:2236 */
7469 if (UNTAG_Bool(REGB0)) {
7470 } else {
7471 fprintf(stderr, "Assert failed");
7472 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2236);
7473 nit_exit(1);
7474 }
7475 fra.me.REG[4] = NEW_Array_array___Array___init();
7476 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
7477 /* ./parser//parser.nit:2239 */
7478 if (UNTAG_Bool(REGB0)) {
7479 } else {
7480 fprintf(stderr, "Assert failed");
7481 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2239);
7482 nit_exit(1);
7483 }
7484 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7485 /* ./parser//parser.nit:2240 */
7486 if (UNTAG_Bool(REGB0)) {
7487 } else {
7488 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7489 if (UNTAG_Bool(REGB1)) {
7490 REGB1 = TAG_Bool(false);
7491 REGB0 = REGB1;
7492 } else {
7493 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7494 REGB0 = REGB1;
7495 }
7496 }
7497 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7498 if (UNTAG_Bool(REGB0)) {
7499 /* ./parser//parser.nit:2241 */
7500 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
7501 }
7502 fra.me.REG[4] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
7503 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
7504 /* ./parser//parser.nit:2247 */
7505 if (UNTAG_Bool(REGB0)) {
7506 fra.me.REG[6] = fra.me.REG[3];
7507 /* ./parser//parser.nit:2248 */
7508 } else {
7509 /* ./parser//parser.nit:2250 */
7510 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
7511 }
7512 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
7513 /* ./parser//parser.nit:2253 */
7514 if (UNTAG_Bool(REGB0)) {
7515 } else {
7516 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
7517 if (UNTAG_Bool(REGB1)) {
7518 REGB1 = TAG_Bool(false);
7519 REGB0 = REGB1;
7520 } else {
7521 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
7522 REGB0 = REGB1;
7523 }
7524 }
7525 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7526 if (UNTAG_Bool(REGB0)) {
7527 /* ./parser//parser.nit:2254 */
7528 array___Array___add(fra.me.REG[6], fra.me.REG[4]);
7529 }
7530 fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
7531 fra.me.REG[0] = fra.me.REG[6];
7532 REGB0 = TAG_Int(0);
7533 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7534 /* ./parser//parser.nit:2262 */
7535 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
7536 stack_frame_head = fra.me.prev;
7537 return;
7538 }
7539 void parser___ReduceAction20___init(val_t p0, int* init_table){
7540 int itpos24 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction20].i;
7541 struct {struct stack_frame_t me;} fra;
7542 val_t tmp;
7543 if (init_table[itpos24]) return;
7544 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7545 fra.me.file = LOCATE_parser;
7546 fra.me.line = 2264;
7547 fra.me.meth = LOCATE_parser___ReduceAction20___init;
7548 fra.me.has_broke = 0;
7549 fra.me.REG_size = 1;
7550 fra.me.REG[0] = NIT_NULL;
7551 fra.me.REG[0] = p0;
7552 /* ./parser//parser.nit:2264 */
7553 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
7554 stack_frame_head = fra.me.prev;
7555 init_table[itpos24] = 1;
7556 return;
7557 }
7558 void parser___ReduceAction21___action(val_t p0, val_t p1){
7559 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
7560 val_t REGB0;
7561 val_t REGB1;
7562 val_t tmp;
7563 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7564 fra.me.file = LOCATE_parser;
7565 fra.me.line = 2268;
7566 fra.me.meth = LOCATE_parser___ReduceAction21___action;
7567 fra.me.has_broke = 0;
7568 fra.me.REG_size = 8;
7569 fra.me.REG[0] = NIT_NULL;
7570 fra.me.REG[1] = NIT_NULL;
7571 fra.me.REG[2] = NIT_NULL;
7572 fra.me.REG[3] = NIT_NULL;
7573 fra.me.REG[4] = NIT_NULL;
7574 fra.me.REG[5] = NIT_NULL;
7575 fra.me.REG[6] = NIT_NULL;
7576 fra.me.REG[7] = NIT_NULL;
7577 fra.me.REG[0] = p0;
7578 fra.me.REG[1] = p1;
7579 fra.me.REG[0] = NIT_NULL;
7580 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7581 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7582 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7583 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7584 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7585 fra.me.REG[6] = NEW_Array_array___Array___init();
7586 fra.me.REG[7] = NEW_Array_array___Array___init();
7587 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7588 /* ./parser//parser.nit:2279 */
7589 if (UNTAG_Bool(REGB0)) {
7590 } else {
7591 fprintf(stderr, "Assert failed");
7592 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2279);
7593 nit_exit(1);
7594 }
7595 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
7596 /* ./parser//parser.nit:2281 */
7597 if (UNTAG_Bool(REGB0)) {
7598 fra.me.REG[6] = fra.me.REG[5];
7599 /* ./parser//parser.nit:2282 */
7600 } else {
7601 /* ./parser//parser.nit:2284 */
7602 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
7603 }
7604 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7605 /* ./parser//parser.nit:2288 */
7606 if (UNTAG_Bool(REGB0)) {
7607 } else {
7608 fprintf(stderr, "Assert failed");
7609 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2288);
7610 nit_exit(1);
7611 }
7612 fra.me.REG[5] = NEW_Array_array___Array___init();
7613 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
7614 /* ./parser//parser.nit:2291 */
7615 if (UNTAG_Bool(REGB0)) {
7616 } else {
7617 fprintf(stderr, "Assert failed");
7618 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2291);
7619 nit_exit(1);
7620 }
7621 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7622 /* ./parser//parser.nit:2293 */
7623 if (UNTAG_Bool(REGB0)) {
7624 } else {
7625 fprintf(stderr, "Assert failed");
7626 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2293);
7627 nit_exit(1);
7628 }
7629 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7630 /* ./parser//parser.nit:2294 */
7631 if (UNTAG_Bool(REGB0)) {
7632 } else {
7633 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7634 if (UNTAG_Bool(REGB1)) {
7635 REGB1 = TAG_Bool(false);
7636 REGB0 = REGB1;
7637 } else {
7638 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7639 REGB0 = REGB1;
7640 }
7641 }
7642 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7643 if (UNTAG_Bool(REGB0)) {
7644 /* ./parser//parser.nit:2295 */
7645 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
7646 }
7647 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
7648 /* ./parser//parser.nit:2298 */
7649 if (UNTAG_Bool(REGB0)) {
7650 fra.me.REG[5] = fra.me.REG[2];
7651 /* ./parser//parser.nit:2299 */
7652 } else {
7653 /* ./parser//parser.nit:2301 */
7654 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
7655 }
7656 fra.me.REG[5] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
7657 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
7658 /* ./parser//parser.nit:2308 */
7659 if (UNTAG_Bool(REGB0)) {
7660 fra.me.REG[7] = fra.me.REG[4];
7661 /* ./parser//parser.nit:2309 */
7662 } else {
7663 /* ./parser//parser.nit:2311 */
7664 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
7665 }
7666 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
7667 /* ./parser//parser.nit:2314 */
7668 if (UNTAG_Bool(REGB0)) {
7669 } else {
7670 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
7671 if (UNTAG_Bool(REGB1)) {
7672 REGB1 = TAG_Bool(false);
7673 REGB0 = REGB1;
7674 } else {
7675 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
7676 REGB0 = REGB1;
7677 }
7678 }
7679 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7680 if (UNTAG_Bool(REGB0)) {
7681 /* ./parser//parser.nit:2315 */
7682 array___Array___add(fra.me.REG[7], fra.me.REG[5]);
7683 }
7684 fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7]);
7685 fra.me.REG[0] = fra.me.REG[7];
7686 REGB0 = TAG_Int(0);
7687 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7688 /* ./parser//parser.nit:2323 */
7689 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
7690 stack_frame_head = fra.me.prev;
7691 return;
7692 }
7693 void parser___ReduceAction21___init(val_t p0, int* init_table){
7694 int itpos25 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction21].i;
7695 struct {struct stack_frame_t me;} fra;
7696 val_t tmp;
7697 if (init_table[itpos25]) return;
7698 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7699 fra.me.file = LOCATE_parser;
7700 fra.me.line = 2325;
7701 fra.me.meth = LOCATE_parser___ReduceAction21___init;
7702 fra.me.has_broke = 0;
7703 fra.me.REG_size = 1;
7704 fra.me.REG[0] = NIT_NULL;
7705 fra.me.REG[0] = p0;
7706 /* ./parser//parser.nit:2325 */
7707 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
7708 stack_frame_head = fra.me.prev;
7709 init_table[itpos25] = 1;
7710 return;
7711 }
7712 void parser___ReduceAction22___action(val_t p0, val_t p1){
7713 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
7714 val_t REGB0;
7715 val_t REGB1;
7716 val_t tmp;
7717 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7718 fra.me.file = LOCATE_parser;
7719 fra.me.line = 2329;
7720 fra.me.meth = LOCATE_parser___ReduceAction22___action;
7721 fra.me.has_broke = 0;
7722 fra.me.REG_size = 8;
7723 fra.me.REG[0] = NIT_NULL;
7724 fra.me.REG[1] = NIT_NULL;
7725 fra.me.REG[2] = NIT_NULL;
7726 fra.me.REG[3] = NIT_NULL;
7727 fra.me.REG[4] = NIT_NULL;
7728 fra.me.REG[5] = NIT_NULL;
7729 fra.me.REG[6] = NIT_NULL;
7730 fra.me.REG[7] = NIT_NULL;
7731 fra.me.REG[0] = p0;
7732 fra.me.REG[1] = p1;
7733 fra.me.REG[0] = NIT_NULL;
7734 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7735 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7736 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7737 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7738 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7739 fra.me.REG[6] = NEW_Array_array___Array___init();
7740 fra.me.REG[7] = NEW_Array_array___Array___init();
7741 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
7742 /* ./parser//parser.nit:2340 */
7743 if (UNTAG_Bool(REGB0)) {
7744 } else {
7745 fprintf(stderr, "Assert failed");
7746 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2340);
7747 nit_exit(1);
7748 }
7749 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7750 /* ./parser//parser.nit:2342 */
7751 if (UNTAG_Bool(REGB0)) {
7752 } else {
7753 fprintf(stderr, "Assert failed");
7754 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2342);
7755 nit_exit(1);
7756 }
7757 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
7758 /* ./parser//parser.nit:2344 */
7759 if (UNTAG_Bool(REGB0)) {
7760 fra.me.REG[6] = fra.me.REG[4];
7761 /* ./parser//parser.nit:2345 */
7762 } else {
7763 /* ./parser//parser.nit:2347 */
7764 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
7765 }
7766 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7767 /* ./parser//parser.nit:2351 */
7768 if (UNTAG_Bool(REGB0)) {
7769 } else {
7770 fprintf(stderr, "Assert failed");
7771 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2351);
7772 nit_exit(1);
7773 }
7774 fra.me.REG[4] = NEW_Array_array___Array___init();
7775 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
7776 /* ./parser//parser.nit:2354 */
7777 if (UNTAG_Bool(REGB0)) {
7778 } else {
7779 fprintf(stderr, "Assert failed");
7780 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2354);
7781 nit_exit(1);
7782 }
7783 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7784 /* ./parser//parser.nit:2355 */
7785 if (UNTAG_Bool(REGB0)) {
7786 } else {
7787 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7788 if (UNTAG_Bool(REGB1)) {
7789 REGB1 = TAG_Bool(false);
7790 REGB0 = REGB1;
7791 } else {
7792 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7793 REGB0 = REGB1;
7794 }
7795 }
7796 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7797 if (UNTAG_Bool(REGB0)) {
7798 /* ./parser//parser.nit:2356 */
7799 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
7800 }
7801 fra.me.REG[4] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
7802 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
7803 /* ./parser//parser.nit:2362 */
7804 if (UNTAG_Bool(REGB0)) {
7805 fra.me.REG[7] = fra.me.REG[3];
7806 /* ./parser//parser.nit:2363 */
7807 } else {
7808 /* ./parser//parser.nit:2365 */
7809 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
7810 }
7811 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
7812 /* ./parser//parser.nit:2368 */
7813 if (UNTAG_Bool(REGB0)) {
7814 } else {
7815 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
7816 if (UNTAG_Bool(REGB1)) {
7817 REGB1 = TAG_Bool(false);
7818 REGB0 = REGB1;
7819 } else {
7820 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
7821 REGB0 = REGB1;
7822 }
7823 }
7824 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7825 if (UNTAG_Bool(REGB0)) {
7826 /* ./parser//parser.nit:2369 */
7827 array___Array___add(fra.me.REG[7], fra.me.REG[4]);
7828 }
7829 fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
7830 fra.me.REG[0] = fra.me.REG[7];
7831 REGB0 = TAG_Int(0);
7832 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7833 /* ./parser//parser.nit:2377 */
7834 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
7835 stack_frame_head = fra.me.prev;
7836 return;
7837 }
7838 void parser___ReduceAction22___init(val_t p0, int* init_table){
7839 int itpos26 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction22].i;
7840 struct {struct stack_frame_t me;} fra;
7841 val_t tmp;
7842 if (init_table[itpos26]) return;
7843 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7844 fra.me.file = LOCATE_parser;
7845 fra.me.line = 2379;
7846 fra.me.meth = LOCATE_parser___ReduceAction22___init;
7847 fra.me.has_broke = 0;
7848 fra.me.REG_size = 1;
7849 fra.me.REG[0] = NIT_NULL;
7850 fra.me.REG[0] = p0;
7851 /* ./parser//parser.nit:2379 */
7852 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
7853 stack_frame_head = fra.me.prev;
7854 init_table[itpos26] = 1;
7855 return;
7856 }
7857 void parser___ReduceAction23___action(val_t p0, val_t p1){
7858 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
7859 val_t REGB0;
7860 val_t REGB1;
7861 val_t tmp;
7862 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7863 fra.me.file = LOCATE_parser;
7864 fra.me.line = 2383;
7865 fra.me.meth = LOCATE_parser___ReduceAction23___action;
7866 fra.me.has_broke = 0;
7867 fra.me.REG_size = 9;
7868 fra.me.REG[0] = NIT_NULL;
7869 fra.me.REG[1] = NIT_NULL;
7870 fra.me.REG[2] = NIT_NULL;
7871 fra.me.REG[3] = NIT_NULL;
7872 fra.me.REG[4] = NIT_NULL;
7873 fra.me.REG[5] = NIT_NULL;
7874 fra.me.REG[6] = NIT_NULL;
7875 fra.me.REG[7] = NIT_NULL;
7876 fra.me.REG[8] = NIT_NULL;
7877 fra.me.REG[0] = p0;
7878 fra.me.REG[1] = p1;
7879 fra.me.REG[0] = NIT_NULL;
7880 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7881 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7882 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7883 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7884 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7885 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7886 fra.me.REG[7] = NEW_Array_array___Array___init();
7887 fra.me.REG[8] = NEW_Array_array___Array___init();
7888 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
7889 /* ./parser//parser.nit:2395 */
7890 if (UNTAG_Bool(REGB0)) {
7891 } else {
7892 fprintf(stderr, "Assert failed");
7893 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2395);
7894 nit_exit(1);
7895 }
7896 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7897 /* ./parser//parser.nit:2397 */
7898 if (UNTAG_Bool(REGB0)) {
7899 } else {
7900 fprintf(stderr, "Assert failed");
7901 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2397);
7902 nit_exit(1);
7903 }
7904 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
7905 /* ./parser//parser.nit:2399 */
7906 if (UNTAG_Bool(REGB0)) {
7907 fra.me.REG[7] = fra.me.REG[5];
7908 /* ./parser//parser.nit:2400 */
7909 } else {
7910 /* ./parser//parser.nit:2402 */
7911 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[5]);
7912 }
7913 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7914 /* ./parser//parser.nit:2406 */
7915 if (UNTAG_Bool(REGB0)) {
7916 } else {
7917 fprintf(stderr, "Assert failed");
7918 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2406);
7919 nit_exit(1);
7920 }
7921 fra.me.REG[5] = NEW_Array_array___Array___init();
7922 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
7923 /* ./parser//parser.nit:2409 */
7924 if (UNTAG_Bool(REGB0)) {
7925 } else {
7926 fprintf(stderr, "Assert failed");
7927 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2409);
7928 nit_exit(1);
7929 }
7930 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7931 /* ./parser//parser.nit:2411 */
7932 if (UNTAG_Bool(REGB0)) {
7933 } else {
7934 fprintf(stderr, "Assert failed");
7935 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2411);
7936 nit_exit(1);
7937 }
7938 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7939 /* ./parser//parser.nit:2412 */
7940 if (UNTAG_Bool(REGB0)) {
7941 } else {
7942 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7943 if (UNTAG_Bool(REGB1)) {
7944 REGB1 = TAG_Bool(false);
7945 REGB0 = REGB1;
7946 } else {
7947 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7948 REGB0 = REGB1;
7949 }
7950 }
7951 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7952 if (UNTAG_Bool(REGB0)) {
7953 /* ./parser//parser.nit:2413 */
7954 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
7955 }
7956 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
7957 /* ./parser//parser.nit:2416 */
7958 if (UNTAG_Bool(REGB0)) {
7959 fra.me.REG[5] = fra.me.REG[2];
7960 /* ./parser//parser.nit:2417 */
7961 } else {
7962 /* ./parser//parser.nit:2419 */
7963 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
7964 }
7965 fra.me.REG[5] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
7966 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
7967 /* ./parser//parser.nit:2426 */
7968 if (UNTAG_Bool(REGB0)) {
7969 fra.me.REG[8] = fra.me.REG[4];
7970 /* ./parser//parser.nit:2427 */
7971 } else {
7972 /* ./parser//parser.nit:2429 */
7973 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[4]);
7974 }
7975 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
7976 /* ./parser//parser.nit:2432 */
7977 if (UNTAG_Bool(REGB0)) {
7978 } else {
7979 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
7980 if (UNTAG_Bool(REGB1)) {
7981 REGB1 = TAG_Bool(false);
7982 REGB0 = REGB1;
7983 } else {
7984 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
7985 REGB0 = REGB1;
7986 }
7987 }
7988 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7989 if (UNTAG_Bool(REGB0)) {
7990 /* ./parser//parser.nit:2433 */
7991 array___Array___add(fra.me.REG[8], fra.me.REG[5]);
7992 }
7993 fra.me.REG[8] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
7994 fra.me.REG[0] = fra.me.REG[8];
7995 REGB0 = TAG_Int(0);
7996 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7997 /* ./parser//parser.nit:2441 */
7998 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
7999 stack_frame_head = fra.me.prev;
8000 return;
8001 }
8002 void parser___ReduceAction23___init(val_t p0, int* init_table){
8003 int itpos27 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction23].i;
8004 struct {struct stack_frame_t me;} fra;
8005 val_t tmp;
8006 if (init_table[itpos27]) return;
8007 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8008 fra.me.file = LOCATE_parser;
8009 fra.me.line = 2443;
8010 fra.me.meth = LOCATE_parser___ReduceAction23___init;
8011 fra.me.has_broke = 0;
8012 fra.me.REG_size = 1;
8013 fra.me.REG[0] = NIT_NULL;
8014 fra.me.REG[0] = p0;
8015 /* ./parser//parser.nit:2443 */
8016 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
8017 stack_frame_head = fra.me.prev;
8018 init_table[itpos27] = 1;
8019 return;
8020 }
8021 void parser___ReduceAction24___action(val_t p0, val_t p1){
8022 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
8023 val_t REGB0;
8024 val_t REGB1;
8025 val_t tmp;
8026 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8027 fra.me.file = LOCATE_parser;
8028 fra.me.line = 2447;
8029 fra.me.meth = LOCATE_parser___ReduceAction24___action;
8030 fra.me.has_broke = 0;
8031 fra.me.REG_size = 5;
8032 fra.me.REG[0] = NIT_NULL;
8033 fra.me.REG[1] = NIT_NULL;
8034 fra.me.REG[2] = NIT_NULL;
8035 fra.me.REG[3] = NIT_NULL;
8036 fra.me.REG[4] = NIT_NULL;
8037 fra.me.REG[0] = p0;
8038 fra.me.REG[1] = p1;
8039 fra.me.REG[0] = NIT_NULL;
8040 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8041 fra.me.REG[3] = NEW_Array_array___Array___init();
8042 fra.me.REG[4] = NEW_Array_array___Array___init();
8043 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
8044 /* ./parser//parser.nit:2454 */
8045 if (UNTAG_Bool(REGB0)) {
8046 } else {
8047 fprintf(stderr, "Assert failed");
8048 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2454);
8049 nit_exit(1);
8050 }
8051 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8052 /* ./parser//parser.nit:2455 */
8053 if (UNTAG_Bool(REGB0)) {
8054 } else {
8055 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8056 if (UNTAG_Bool(REGB1)) {
8057 REGB1 = TAG_Bool(false);
8058 REGB0 = REGB1;
8059 } else {
8060 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8061 REGB0 = REGB1;
8062 }
8063 }
8064 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8065 if (UNTAG_Bool(REGB0)) {
8066 /* ./parser//parser.nit:2456 */
8067 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
8068 }
8069 fra.me.REG[4] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
8070 fra.me.REG[0] = fra.me.REG[4];
8071 REGB0 = TAG_Int(0);
8072 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8073 /* ./parser//parser.nit:2464 */
8074 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
8075 stack_frame_head = fra.me.prev;
8076 return;
8077 }
8078 void parser___ReduceAction24___init(val_t p0, int* init_table){
8079 int itpos28 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction24].i;
8080 struct {struct stack_frame_t me;} fra;
8081 val_t tmp;
8082 if (init_table[itpos28]) return;
8083 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8084 fra.me.file = LOCATE_parser;
8085 fra.me.line = 2466;
8086 fra.me.meth = LOCATE_parser___ReduceAction24___init;
8087 fra.me.has_broke = 0;
8088 fra.me.REG_size = 1;
8089 fra.me.REG[0] = NIT_NULL;
8090 fra.me.REG[0] = p0;
8091 /* ./parser//parser.nit:2466 */
8092 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
8093 stack_frame_head = fra.me.prev;
8094 init_table[itpos28] = 1;
8095 return;
8096 }
8097 void parser___ReduceAction25___action(val_t p0, val_t p1){
8098 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
8099 val_t REGB0;
8100 val_t REGB1;
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 = 2470;
8105 fra.me.meth = LOCATE_parser___ReduceAction25___action;
8106 fra.me.has_broke = 0;
8107 fra.me.REG_size = 6;
8108 fra.me.REG[0] = NIT_NULL;
8109 fra.me.REG[1] = NIT_NULL;
8110 fra.me.REG[2] = NIT_NULL;
8111 fra.me.REG[3] = NIT_NULL;
8112 fra.me.REG[4] = NIT_NULL;
8113 fra.me.REG[5] = NIT_NULL;
8114 fra.me.REG[0] = p0;
8115 fra.me.REG[1] = p1;
8116 fra.me.REG[0] = NIT_NULL;
8117 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8118 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8119 fra.me.REG[4] = NEW_Array_array___Array___init();
8120 fra.me.REG[5] = NEW_Array_array___Array___init();
8121 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
8122 /* ./parser//parser.nit:2478 */
8123 if (UNTAG_Bool(REGB0)) {
8124 } else {
8125 fprintf(stderr, "Assert failed");
8126 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2478);
8127 nit_exit(1);
8128 }
8129 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
8130 /* ./parser//parser.nit:2480 */
8131 if (UNTAG_Bool(REGB0)) {
8132 } else {
8133 fprintf(stderr, "Assert failed");
8134 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2480);
8135 nit_exit(1);
8136 }
8137 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8138 /* ./parser//parser.nit:2481 */
8139 if (UNTAG_Bool(REGB0)) {
8140 } else {
8141 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8142 if (UNTAG_Bool(REGB1)) {
8143 REGB1 = TAG_Bool(false);
8144 REGB0 = REGB1;
8145 } else {
8146 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8147 REGB0 = REGB1;
8148 }
8149 }
8150 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8151 if (UNTAG_Bool(REGB0)) {
8152 /* ./parser//parser.nit:2482 */
8153 array___Array___add(fra.me.REG[5], fra.me.REG[2]);
8154 }
8155 fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]);
8156 fra.me.REG[0] = fra.me.REG[5];
8157 REGB0 = TAG_Int(0);
8158 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8159 /* ./parser//parser.nit:2490 */
8160 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
8161 stack_frame_head = fra.me.prev;
8162 return;
8163 }
8164 void parser___ReduceAction25___init(val_t p0, int* init_table){
8165 int itpos29 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction25].i;
8166 struct {struct stack_frame_t me;} fra;
8167 val_t tmp;
8168 if (init_table[itpos29]) return;
8169 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8170 fra.me.file = LOCATE_parser;
8171 fra.me.line = 2492;
8172 fra.me.meth = LOCATE_parser___ReduceAction25___init;
8173 fra.me.has_broke = 0;
8174 fra.me.REG_size = 1;
8175 fra.me.REG[0] = NIT_NULL;
8176 fra.me.REG[0] = p0;
8177 /* ./parser//parser.nit:2492 */
8178 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
8179 stack_frame_head = fra.me.prev;
8180 init_table[itpos29] = 1;
8181 return;
8182 }
8183 void parser___ReduceAction26___action(val_t p0, val_t p1){
8184 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
8185 val_t REGB0;
8186 val_t REGB1;
8187 val_t tmp;
8188 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8189 fra.me.file = LOCATE_parser;
8190 fra.me.line = 2496;
8191 fra.me.meth = LOCATE_parser___ReduceAction26___action;
8192 fra.me.has_broke = 0;
8193 fra.me.REG_size = 6;
8194 fra.me.REG[0] = NIT_NULL;
8195 fra.me.REG[1] = NIT_NULL;
8196 fra.me.REG[2] = NIT_NULL;
8197 fra.me.REG[3] = NIT_NULL;
8198 fra.me.REG[4] = NIT_NULL;
8199 fra.me.REG[5] = NIT_NULL;
8200 fra.me.REG[0] = p0;
8201 fra.me.REG[1] = p1;
8202 fra.me.REG[0] = NIT_NULL;
8203 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8204 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8205 fra.me.REG[4] = NEW_Array_array___Array___init();
8206 fra.me.REG[5] = NEW_Array_array___Array___init();
8207 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8208 /* ./parser//parser.nit:2504 */
8209 if (UNTAG_Bool(REGB0)) {
8210 } else {
8211 fprintf(stderr, "Assert failed");
8212 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2504);
8213 nit_exit(1);
8214 }
8215 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
8216 /* ./parser//parser.nit:2506 */
8217 if (UNTAG_Bool(REGB0)) {
8218 fra.me.REG[4] = fra.me.REG[3];
8219 /* ./parser//parser.nit:2507 */
8220 } else {
8221 /* ./parser//parser.nit:2509 */
8222 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
8223 }
8224 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
8225 /* ./parser//parser.nit:2513 */
8226 if (UNTAG_Bool(REGB0)) {
8227 } else {
8228 fprintf(stderr, "Assert failed");
8229 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2513);
8230 nit_exit(1);
8231 }
8232 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8233 /* ./parser//parser.nit:2514 */
8234 if (UNTAG_Bool(REGB0)) {
8235 } else {
8236 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8237 if (UNTAG_Bool(REGB1)) {
8238 REGB1 = TAG_Bool(false);
8239 REGB0 = REGB1;
8240 } else {
8241 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8242 REGB0 = REGB1;
8243 }
8244 }
8245 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8246 if (UNTAG_Bool(REGB0)) {
8247 /* ./parser//parser.nit:2515 */
8248 array___Array___add(fra.me.REG[5], fra.me.REG[2]);
8249 }
8250 fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
8251 fra.me.REG[0] = fra.me.REG[5];
8252 REGB0 = TAG_Int(0);
8253 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8254 /* ./parser//parser.nit:2523 */
8255 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
8256 stack_frame_head = fra.me.prev;
8257 return;
8258 }
8259 void parser___ReduceAction26___init(val_t p0, int* init_table){
8260 int itpos30 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction26].i;
8261 struct {struct stack_frame_t me;} fra;
8262 val_t tmp;
8263 if (init_table[itpos30]) return;
8264 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8265 fra.me.file = LOCATE_parser;
8266 fra.me.line = 2525;
8267 fra.me.meth = LOCATE_parser___ReduceAction26___init;
8268 fra.me.has_broke = 0;
8269 fra.me.REG_size = 1;
8270 fra.me.REG[0] = NIT_NULL;
8271 fra.me.REG[0] = p0;
8272 /* ./parser//parser.nit:2525 */
8273 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
8274 stack_frame_head = fra.me.prev;
8275 init_table[itpos30] = 1;
8276 return;
8277 }
8278 void parser___ReduceAction27___action(val_t p0, val_t p1){
8279 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
8280 val_t REGB0;
8281 val_t REGB1;
8282 val_t tmp;
8283 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8284 fra.me.file = LOCATE_parser;
8285 fra.me.line = 2529;
8286 fra.me.meth = LOCATE_parser___ReduceAction27___action;
8287 fra.me.has_broke = 0;
8288 fra.me.REG_size = 7;
8289 fra.me.REG[0] = NIT_NULL;
8290 fra.me.REG[1] = NIT_NULL;
8291 fra.me.REG[2] = NIT_NULL;
8292 fra.me.REG[3] = NIT_NULL;
8293 fra.me.REG[4] = NIT_NULL;
8294 fra.me.REG[5] = NIT_NULL;
8295 fra.me.REG[6] = NIT_NULL;
8296 fra.me.REG[0] = p0;
8297 fra.me.REG[1] = p1;
8298 fra.me.REG[0] = NIT_NULL;
8299 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8300 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8301 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8302 fra.me.REG[5] = NEW_Array_array___Array___init();
8303 fra.me.REG[6] = NEW_Array_array___Array___init();
8304 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
8305 /* ./parser//parser.nit:2538 */
8306 if (UNTAG_Bool(REGB0)) {
8307 } else {
8308 fprintf(stderr, "Assert failed");
8309 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2538);
8310 nit_exit(1);
8311 }
8312 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8313 /* ./parser//parser.nit:2540 */
8314 if (UNTAG_Bool(REGB0)) {
8315 } else {
8316 fprintf(stderr, "Assert failed");
8317 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2540);
8318 nit_exit(1);
8319 }
8320 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
8321 /* ./parser//parser.nit:2542 */
8322 if (UNTAG_Bool(REGB0)) {
8323 fra.me.REG[5] = fra.me.REG[3];
8324 /* ./parser//parser.nit:2543 */
8325 } else {
8326 /* ./parser//parser.nit:2545 */
8327 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
8328 }
8329 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
8330 /* ./parser//parser.nit:2549 */
8331 if (UNTAG_Bool(REGB0)) {
8332 } else {
8333 fprintf(stderr, "Assert failed");
8334 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2549);
8335 nit_exit(1);
8336 }
8337 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8338 /* ./parser//parser.nit:2550 */
8339 if (UNTAG_Bool(REGB0)) {
8340 } else {
8341 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8342 if (UNTAG_Bool(REGB1)) {
8343 REGB1 = TAG_Bool(false);
8344 REGB0 = REGB1;
8345 } else {
8346 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8347 REGB0 = REGB1;
8348 }
8349 }
8350 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8351 if (UNTAG_Bool(REGB0)) {
8352 /* ./parser//parser.nit:2551 */
8353 array___Array___add(fra.me.REG[6], fra.me.REG[2]);
8354 }
8355 fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
8356 fra.me.REG[0] = fra.me.REG[6];
8357 REGB0 = TAG_Int(0);
8358 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8359 /* ./parser//parser.nit:2559 */
8360 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
8361 stack_frame_head = fra.me.prev;
8362 return;
8363 }
8364 void parser___ReduceAction27___init(val_t p0, int* init_table){
8365 int itpos31 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction27].i;
8366 struct {struct stack_frame_t me;} fra;
8367 val_t tmp;
8368 if (init_table[itpos31]) return;
8369 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8370 fra.me.file = LOCATE_parser;
8371 fra.me.line = 2561;
8372 fra.me.meth = LOCATE_parser___ReduceAction27___init;
8373 fra.me.has_broke = 0;
8374 fra.me.REG_size = 1;
8375 fra.me.REG[0] = NIT_NULL;
8376 fra.me.REG[0] = p0;
8377 /* ./parser//parser.nit:2561 */
8378 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
8379 stack_frame_head = fra.me.prev;
8380 init_table[itpos31] = 1;
8381 return;
8382 }
8383 void parser___ReduceAction28___action(val_t p0, val_t p1){
8384 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
8385 val_t REGB0;
8386 val_t REGB1;
8387 val_t tmp;
8388 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8389 fra.me.file = LOCATE_parser;
8390 fra.me.line = 2565;
8391 fra.me.meth = LOCATE_parser___ReduceAction28___action;
8392 fra.me.has_broke = 0;
8393 fra.me.REG_size = 6;
8394 fra.me.REG[0] = NIT_NULL;
8395 fra.me.REG[1] = NIT_NULL;
8396 fra.me.REG[2] = NIT_NULL;
8397 fra.me.REG[3] = NIT_NULL;
8398 fra.me.REG[4] = NIT_NULL;
8399 fra.me.REG[5] = NIT_NULL;
8400 fra.me.REG[0] = p0;
8401 fra.me.REG[1] = p1;
8402 fra.me.REG[0] = NIT_NULL;
8403 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8404 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8405 fra.me.REG[4] = NEW_Array_array___Array___init();
8406 fra.me.REG[5] = NEW_Array_array___Array___init();
8407 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8408 /* ./parser//parser.nit:2573 */
8409 if (UNTAG_Bool(REGB0)) {
8410 } else {
8411 fprintf(stderr, "Assert failed");
8412 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2573);
8413 nit_exit(1);
8414 }
8415 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
8416 /* ./parser//parser.nit:2575 */
8417 if (UNTAG_Bool(REGB0)) {
8418 } else {
8419 fprintf(stderr, "Assert failed");
8420 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2575);
8421 nit_exit(1);
8422 }
8423 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
8424 /* ./parser//parser.nit:2577 */
8425 if (UNTAG_Bool(REGB0)) {
8426 fra.me.REG[5] = fra.me.REG[3];
8427 /* ./parser//parser.nit:2578 */
8428 } else {
8429 /* ./parser//parser.nit:2580 */
8430 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
8431 }
8432 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8433 /* ./parser//parser.nit:2583 */
8434 if (UNTAG_Bool(REGB0)) {
8435 } else {
8436 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8437 if (UNTAG_Bool(REGB1)) {
8438 REGB1 = TAG_Bool(false);
8439 REGB0 = REGB1;
8440 } else {
8441 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8442 REGB0 = REGB1;
8443 }
8444 }
8445 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8446 if (UNTAG_Bool(REGB0)) {
8447 /* ./parser//parser.nit:2584 */
8448 array___Array___add(fra.me.REG[5], fra.me.REG[2]);
8449 }
8450 fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
8451 fra.me.REG[0] = fra.me.REG[5];
8452 REGB0 = TAG_Int(0);
8453 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8454 /* ./parser//parser.nit:2592 */
8455 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
8456 stack_frame_head = fra.me.prev;
8457 return;
8458 }
8459 void parser___ReduceAction28___init(val_t p0, int* init_table){
8460 int itpos32 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction28].i;
8461 struct {struct stack_frame_t me;} fra;
8462 val_t tmp;
8463 if (init_table[itpos32]) return;
8464 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8465 fra.me.file = LOCATE_parser;
8466 fra.me.line = 2594;
8467 fra.me.meth = LOCATE_parser___ReduceAction28___init;
8468 fra.me.has_broke = 0;
8469 fra.me.REG_size = 1;
8470 fra.me.REG[0] = NIT_NULL;
8471 fra.me.REG[0] = p0;
8472 /* ./parser//parser.nit:2594 */
8473 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
8474 stack_frame_head = fra.me.prev;
8475 init_table[itpos32] = 1;
8476 return;
8477 }
8478 void parser___ReduceAction29___action(val_t p0, val_t p1){
8479 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
8480 val_t REGB0;
8481 val_t REGB1;
8482 val_t tmp;
8483 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8484 fra.me.file = LOCATE_parser;
8485 fra.me.line = 2598;
8486 fra.me.meth = LOCATE_parser___ReduceAction29___action;
8487 fra.me.has_broke = 0;
8488 fra.me.REG_size = 7;
8489 fra.me.REG[0] = NIT_NULL;
8490 fra.me.REG[1] = NIT_NULL;
8491 fra.me.REG[2] = NIT_NULL;
8492 fra.me.REG[3] = NIT_NULL;
8493 fra.me.REG[4] = NIT_NULL;
8494 fra.me.REG[5] = NIT_NULL;
8495 fra.me.REG[6] = NIT_NULL;
8496 fra.me.REG[0] = p0;
8497 fra.me.REG[1] = p1;
8498 fra.me.REG[0] = NIT_NULL;
8499 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8500 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8501 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8502 fra.me.REG[5] = NEW_Array_array___Array___init();
8503 fra.me.REG[6] = NEW_Array_array___Array___init();
8504 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
8505 /* ./parser//parser.nit:2607 */
8506 if (UNTAG_Bool(REGB0)) {
8507 } else {
8508 fprintf(stderr, "Assert failed");
8509 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2607);
8510 nit_exit(1);
8511 }
8512 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8513 /* ./parser//parser.nit:2609 */
8514 if (UNTAG_Bool(REGB0)) {
8515 } else {
8516 fprintf(stderr, "Assert failed");
8517 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2609);
8518 nit_exit(1);
8519 }
8520 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
8521 /* ./parser//parser.nit:2611 */
8522 if (UNTAG_Bool(REGB0)) {
8523 } else {
8524 fprintf(stderr, "Assert failed");
8525 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2611);
8526 nit_exit(1);
8527 }
8528 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
8529 /* ./parser//parser.nit:2613 */
8530 if (UNTAG_Bool(REGB0)) {
8531 fra.me.REG[6] = fra.me.REG[3];
8532 /* ./parser//parser.nit:2614 */
8533 } else {
8534 /* ./parser//parser.nit:2616 */
8535 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
8536 }
8537 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8538 /* ./parser//parser.nit:2619 */
8539 if (UNTAG_Bool(REGB0)) {
8540 } else {
8541 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8542 if (UNTAG_Bool(REGB1)) {
8543 REGB1 = TAG_Bool(false);
8544 REGB0 = REGB1;
8545 } else {
8546 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8547 REGB0 = REGB1;
8548 }
8549 }
8550 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8551 if (UNTAG_Bool(REGB0)) {
8552 /* ./parser//parser.nit:2620 */
8553 array___Array___add(fra.me.REG[6], fra.me.REG[2]);
8554 }
8555 fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
8556 fra.me.REG[0] = fra.me.REG[6];
8557 REGB0 = TAG_Int(0);
8558 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8559 /* ./parser//parser.nit:2628 */
8560 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
8561 stack_frame_head = fra.me.prev;
8562 return;
8563 }
8564 void parser___ReduceAction29___init(val_t p0, int* init_table){
8565 int itpos33 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction29].i;
8566 struct {struct stack_frame_t me;} fra;
8567 val_t tmp;
8568 if (init_table[itpos33]) return;
8569 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8570 fra.me.file = LOCATE_parser;
8571 fra.me.line = 2630;
8572 fra.me.meth = LOCATE_parser___ReduceAction29___init;
8573 fra.me.has_broke = 0;
8574 fra.me.REG_size = 1;
8575 fra.me.REG[0] = NIT_NULL;
8576 fra.me.REG[0] = p0;
8577 /* ./parser//parser.nit:2630 */
8578 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
8579 stack_frame_head = fra.me.prev;
8580 init_table[itpos33] = 1;
8581 return;
8582 }
8583 void parser___ReduceAction30___action(val_t p0, val_t p1){
8584 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
8585 val_t REGB0;
8586 val_t REGB1;
8587 val_t tmp;
8588 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8589 fra.me.file = LOCATE_parser;
8590 fra.me.line = 2634;
8591 fra.me.meth = LOCATE_parser___ReduceAction30___action;
8592 fra.me.has_broke = 0;
8593 fra.me.REG_size = 7;
8594 fra.me.REG[0] = NIT_NULL;
8595 fra.me.REG[1] = NIT_NULL;
8596 fra.me.REG[2] = NIT_NULL;
8597 fra.me.REG[3] = NIT_NULL;
8598 fra.me.REG[4] = NIT_NULL;
8599 fra.me.REG[5] = NIT_NULL;
8600 fra.me.REG[6] = NIT_NULL;
8601 fra.me.REG[0] = p0;
8602 fra.me.REG[1] = p1;
8603 fra.me.REG[0] = NIT_NULL;
8604 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8605 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8606 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8607 fra.me.REG[5] = NEW_Array_array___Array___init();
8608 fra.me.REG[6] = NEW_Array_array___Array___init();
8609 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8610 /* ./parser//parser.nit:2643 */
8611 if (UNTAG_Bool(REGB0)) {
8612 } else {
8613 fprintf(stderr, "Assert failed");
8614 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2643);
8615 nit_exit(1);
8616 }
8617 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
8618 /* ./parser//parser.nit:2645 */
8619 if (UNTAG_Bool(REGB0)) {
8620 fra.me.REG[5] = fra.me.REG[4];
8621 /* ./parser//parser.nit:2646 */
8622 } else {
8623 /* ./parser//parser.nit:2648 */
8624 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
8625 }
8626 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8627 /* ./parser//parser.nit:2652 */
8628 if (UNTAG_Bool(REGB0)) {
8629 } else {
8630 fprintf(stderr, "Assert failed");
8631 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2652);
8632 nit_exit(1);
8633 }
8634 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
8635 /* ./parser//parser.nit:2654 */
8636 if (UNTAG_Bool(REGB0)) {
8637 } else {
8638 fprintf(stderr, "Assert failed");
8639 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2654);
8640 nit_exit(1);
8641 }
8642 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
8643 /* ./parser//parser.nit:2656 */
8644 if (UNTAG_Bool(REGB0)) {
8645 fra.me.REG[6] = fra.me.REG[3];
8646 /* ./parser//parser.nit:2657 */
8647 } else {
8648 /* ./parser//parser.nit:2659 */
8649 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
8650 }
8651 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8652 /* ./parser//parser.nit:2662 */
8653 if (UNTAG_Bool(REGB0)) {
8654 } else {
8655 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8656 if (UNTAG_Bool(REGB1)) {
8657 REGB1 = TAG_Bool(false);
8658 REGB0 = REGB1;
8659 } else {
8660 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8661 REGB0 = REGB1;
8662 }
8663 }
8664 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8665 if (UNTAG_Bool(REGB0)) {
8666 /* ./parser//parser.nit:2663 */
8667 array___Array___add(fra.me.REG[6], fra.me.REG[2]);
8668 }
8669 fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
8670 fra.me.REG[0] = fra.me.REG[6];
8671 REGB0 = TAG_Int(0);
8672 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8673 /* ./parser//parser.nit:2671 */
8674 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
8675 stack_frame_head = fra.me.prev;
8676 return;
8677 }
8678 void parser___ReduceAction30___init(val_t p0, int* init_table){
8679 int itpos34 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction30].i;
8680 struct {struct stack_frame_t me;} fra;
8681 val_t tmp;
8682 if (init_table[itpos34]) return;
8683 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8684 fra.me.file = LOCATE_parser;
8685 fra.me.line = 2673;
8686 fra.me.meth = LOCATE_parser___ReduceAction30___init;
8687 fra.me.has_broke = 0;
8688 fra.me.REG_size = 1;
8689 fra.me.REG[0] = NIT_NULL;
8690 fra.me.REG[0] = p0;
8691 /* ./parser//parser.nit:2673 */
8692 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
8693 stack_frame_head = fra.me.prev;
8694 init_table[itpos34] = 1;
8695 return;
8696 }
8697 void parser___ReduceAction31___action(val_t p0, val_t p1){
8698 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
8699 val_t REGB0;
8700 val_t REGB1;
8701 val_t tmp;
8702 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8703 fra.me.file = LOCATE_parser;
8704 fra.me.line = 2677;
8705 fra.me.meth = LOCATE_parser___ReduceAction31___action;
8706 fra.me.has_broke = 0;
8707 fra.me.REG_size = 8;
8708 fra.me.REG[0] = NIT_NULL;
8709 fra.me.REG[1] = NIT_NULL;
8710 fra.me.REG[2] = NIT_NULL;
8711 fra.me.REG[3] = NIT_NULL;
8712 fra.me.REG[4] = NIT_NULL;
8713 fra.me.REG[5] = NIT_NULL;
8714 fra.me.REG[6] = NIT_NULL;
8715 fra.me.REG[7] = NIT_NULL;
8716 fra.me.REG[0] = p0;
8717 fra.me.REG[1] = p1;
8718 fra.me.REG[0] = NIT_NULL;
8719 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8720 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8721 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8722 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8723 fra.me.REG[6] = NEW_Array_array___Array___init();
8724 fra.me.REG[7] = NEW_Array_array___Array___init();
8725 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
8726 /* ./parser//parser.nit:2687 */
8727 if (UNTAG_Bool(REGB0)) {
8728 } else {
8729 fprintf(stderr, "Assert failed");
8730 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2687);
8731 nit_exit(1);
8732 }
8733 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8734 /* ./parser//parser.nit:2689 */
8735 if (UNTAG_Bool(REGB0)) {
8736 } else {
8737 fprintf(stderr, "Assert failed");
8738 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2689);
8739 nit_exit(1);
8740 }
8741 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
8742 /* ./parser//parser.nit:2691 */
8743 if (UNTAG_Bool(REGB0)) {
8744 fra.me.REG[6] = fra.me.REG[4];
8745 /* ./parser//parser.nit:2692 */
8746 } else {
8747 /* ./parser//parser.nit:2694 */
8748 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
8749 }
8750 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8751 /* ./parser//parser.nit:2698 */
8752 if (UNTAG_Bool(REGB0)) {
8753 } else {
8754 fprintf(stderr, "Assert failed");
8755 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2698);
8756 nit_exit(1);
8757 }
8758 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
8759 /* ./parser//parser.nit:2700 */
8760 if (UNTAG_Bool(REGB0)) {
8761 } else {
8762 fprintf(stderr, "Assert failed");
8763 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2700);
8764 nit_exit(1);
8765 }
8766 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
8767 /* ./parser//parser.nit:2702 */
8768 if (UNTAG_Bool(REGB0)) {
8769 fra.me.REG[7] = fra.me.REG[3];
8770 /* ./parser//parser.nit:2703 */
8771 } else {
8772 /* ./parser//parser.nit:2705 */
8773 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
8774 }
8775 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8776 /* ./parser//parser.nit:2708 */
8777 if (UNTAG_Bool(REGB0)) {
8778 } else {
8779 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8780 if (UNTAG_Bool(REGB1)) {
8781 REGB1 = TAG_Bool(false);
8782 REGB0 = REGB1;
8783 } else {
8784 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8785 REGB0 = REGB1;
8786 }
8787 }
8788 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8789 if (UNTAG_Bool(REGB0)) {
8790 /* ./parser//parser.nit:2709 */
8791 array___Array___add(fra.me.REG[7], fra.me.REG[2]);
8792 }
8793 fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
8794 fra.me.REG[0] = fra.me.REG[7];
8795 REGB0 = TAG_Int(0);
8796 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8797 /* ./parser//parser.nit:2717 */
8798 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
8799 stack_frame_head = fra.me.prev;
8800 return;
8801 }
8802 void parser___ReduceAction31___init(val_t p0, int* init_table){
8803 int itpos35 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction31].i;
8804 struct {struct stack_frame_t me;} fra;
8805 val_t tmp;
8806 if (init_table[itpos35]) return;
8807 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8808 fra.me.file = LOCATE_parser;
8809 fra.me.line = 2719;
8810 fra.me.meth = LOCATE_parser___ReduceAction31___init;
8811 fra.me.has_broke = 0;
8812 fra.me.REG_size = 1;
8813 fra.me.REG[0] = NIT_NULL;
8814 fra.me.REG[0] = p0;
8815 /* ./parser//parser.nit:2719 */
8816 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
8817 stack_frame_head = fra.me.prev;
8818 init_table[itpos35] = 1;
8819 return;
8820 }
8821 void parser___ReduceAction32___action(val_t p0, val_t p1){
8822 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
8823 val_t REGB0;
8824 val_t REGB1;
8825 val_t tmp;
8826 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8827 fra.me.file = LOCATE_parser;
8828 fra.me.line = 2723;
8829 fra.me.meth = LOCATE_parser___ReduceAction32___action;
8830 fra.me.has_broke = 0;
8831 fra.me.REG_size = 7;
8832 fra.me.REG[0] = NIT_NULL;
8833 fra.me.REG[1] = NIT_NULL;
8834 fra.me.REG[2] = NIT_NULL;
8835 fra.me.REG[3] = NIT_NULL;
8836 fra.me.REG[4] = NIT_NULL;
8837 fra.me.REG[5] = NIT_NULL;
8838 fra.me.REG[6] = NIT_NULL;
8839 fra.me.REG[0] = p0;
8840 fra.me.REG[1] = p1;
8841 fra.me.REG[0] = NIT_NULL;
8842 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8843 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8844 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8845 fra.me.REG[4] = NEW_Array_array___Array___init();
8846 fra.me.REG[5] = NEW_Array_array___Array___init();
8847 fra.me.REG[6] = NEW_Array_array___Array___init();
8848 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
8849 /* ./parser//parser.nit:2733 */
8850 if (UNTAG_Bool(REGB0)) {
8851 } else {
8852 fprintf(stderr, "Assert failed");
8853 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2733);
8854 nit_exit(1);
8855 }
8856 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8857 /* ./parser//parser.nit:2734 */
8858 if (UNTAG_Bool(REGB0)) {
8859 } else {
8860 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8861 if (UNTAG_Bool(REGB1)) {
8862 REGB1 = TAG_Bool(false);
8863 REGB0 = REGB1;
8864 } else {
8865 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
8866 REGB0 = REGB1;
8867 }
8868 }
8869 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8870 if (UNTAG_Bool(REGB0)) {
8871 /* ./parser//parser.nit:2735 */
8872 array___Array___add(fra.me.REG[6], fra.me.REG[3]);
8873 }
8874 fra.me.REG[6] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
8875 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
8876 /* ./parser//parser.nit:2741 */
8877 if (UNTAG_Bool(REGB0)) {
8878 } else {
8879 fprintf(stderr, "Assert failed");
8880 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2741);
8881 nit_exit(1);
8882 }
8883 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
8884 /* ./parser//parser.nit:2742 */
8885 if (UNTAG_Bool(REGB0)) {
8886 } else {
8887 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
8888 if (UNTAG_Bool(REGB1)) {
8889 REGB1 = TAG_Bool(false);
8890 REGB0 = REGB1;
8891 } else {
8892 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
8893 REGB0 = REGB1;
8894 }
8895 }
8896 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8897 if (UNTAG_Bool(REGB0)) {
8898 /* ./parser//parser.nit:2743 */
8899 array___Array___add(fra.me.REG[5], fra.me.REG[6]);
8900 }
8901 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8902 /* ./parser//parser.nit:2745 */
8903 if (UNTAG_Bool(REGB0)) {
8904 } else {
8905 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8906 if (UNTAG_Bool(REGB1)) {
8907 REGB1 = TAG_Bool(false);
8908 REGB0 = REGB1;
8909 } else {
8910 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8911 REGB0 = REGB1;
8912 }
8913 }
8914 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8915 if (UNTAG_Bool(REGB0)) {
8916 /* ./parser//parser.nit:2746 */
8917 array___Array___add(fra.me.REG[5], fra.me.REG[2]);
8918 }
8919 fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
8920 fra.me.REG[0] = fra.me.REG[5];
8921 REGB0 = TAG_Int(0);
8922 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8923 /* ./parser//parser.nit:2754 */
8924 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
8925 stack_frame_head = fra.me.prev;
8926 return;
8927 }
8928 void parser___ReduceAction32___init(val_t p0, int* init_table){
8929 int itpos36 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction32].i;
8930 struct {struct stack_frame_t me;} fra;
8931 val_t tmp;
8932 if (init_table[itpos36]) return;
8933 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8934 fra.me.file = LOCATE_parser;
8935 fra.me.line = 2756;
8936 fra.me.meth = LOCATE_parser___ReduceAction32___init;
8937 fra.me.has_broke = 0;
8938 fra.me.REG_size = 1;
8939 fra.me.REG[0] = NIT_NULL;
8940 fra.me.REG[0] = p0;
8941 /* ./parser//parser.nit:2756 */
8942 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
8943 stack_frame_head = fra.me.prev;
8944 init_table[itpos36] = 1;
8945 return;
8946 }
8947 void parser___ReduceAction33___action(val_t p0, val_t p1){
8948 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
8949 val_t REGB0;
8950 val_t REGB1;
8951 val_t tmp;
8952 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8953 fra.me.file = LOCATE_parser;
8954 fra.me.line = 2760;
8955 fra.me.meth = LOCATE_parser___ReduceAction33___action;
8956 fra.me.has_broke = 0;
8957 fra.me.REG_size = 8;
8958 fra.me.REG[0] = NIT_NULL;
8959 fra.me.REG[1] = NIT_NULL;
8960 fra.me.REG[2] = NIT_NULL;
8961 fra.me.REG[3] = NIT_NULL;
8962 fra.me.REG[4] = NIT_NULL;
8963 fra.me.REG[5] = NIT_NULL;
8964 fra.me.REG[6] = NIT_NULL;
8965 fra.me.REG[7] = NIT_NULL;
8966 fra.me.REG[0] = p0;
8967 fra.me.REG[1] = p1;
8968 fra.me.REG[0] = NIT_NULL;
8969 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8970 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8971 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8972 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8973 fra.me.REG[5] = NEW_Array_array___Array___init();
8974 fra.me.REG[6] = NEW_Array_array___Array___init();
8975 fra.me.REG[7] = NEW_Array_array___Array___init();
8976 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
8977 /* ./parser//parser.nit:2771 */
8978 if (UNTAG_Bool(REGB0)) {
8979 } else {
8980 fprintf(stderr, "Assert failed");
8981 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2771);
8982 nit_exit(1);
8983 }
8984 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8985 /* ./parser//parser.nit:2773 */
8986 if (UNTAG_Bool(REGB0)) {
8987 } else {
8988 fprintf(stderr, "Assert failed");
8989 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2773);
8990 nit_exit(1);
8991 }
8992 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
8993 /* ./parser//parser.nit:2774 */
8994 if (UNTAG_Bool(REGB0)) {
8995 } else {
8996 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
8997 if (UNTAG_Bool(REGB1)) {
8998 REGB1 = TAG_Bool(false);
8999 REGB0 = REGB1;
9000 } else {
9001 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
9002 REGB0 = REGB1;
9003 }
9004 }
9005 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9006 if (UNTAG_Bool(REGB0)) {
9007 /* ./parser//parser.nit:2775 */
9008 array___Array___add(fra.me.REG[7], fra.me.REG[4]);
9009 }
9010 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
9011 /* ./parser//parser.nit:2778 */
9012 if (UNTAG_Bool(REGB0)) {
9013 fra.me.REG[7] = fra.me.REG[3];
9014 /* ./parser//parser.nit:2779 */
9015 } else {
9016 /* ./parser//parser.nit:2781 */
9017 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
9018 }
9019 fra.me.REG[7] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]);
9020 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
9021 /* ./parser//parser.nit:2788 */
9022 if (UNTAG_Bool(REGB0)) {
9023 } else {
9024 fprintf(stderr, "Assert failed");
9025 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2788);
9026 nit_exit(1);
9027 }
9028 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
9029 /* ./parser//parser.nit:2789 */
9030 if (UNTAG_Bool(REGB0)) {
9031 } else {
9032 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
9033 if (UNTAG_Bool(REGB1)) {
9034 REGB1 = TAG_Bool(false);
9035 REGB0 = REGB1;
9036 } else {
9037 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
9038 REGB0 = REGB1;
9039 }
9040 }
9041 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9042 if (UNTAG_Bool(REGB0)) {
9043 /* ./parser//parser.nit:2790 */
9044 array___Array___add(fra.me.REG[6], fra.me.REG[7]);
9045 }
9046 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9047 /* ./parser//parser.nit:2792 */
9048 if (UNTAG_Bool(REGB0)) {
9049 } else {
9050 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9051 if (UNTAG_Bool(REGB1)) {
9052 REGB1 = TAG_Bool(false);
9053 REGB0 = REGB1;
9054 } else {
9055 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9056 REGB0 = REGB1;
9057 }
9058 }
9059 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9060 if (UNTAG_Bool(REGB0)) {
9061 /* ./parser//parser.nit:2793 */
9062 array___Array___add(fra.me.REG[6], fra.me.REG[2]);
9063 }
9064 fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
9065 fra.me.REG[0] = fra.me.REG[6];
9066 REGB0 = TAG_Int(0);
9067 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9068 /* ./parser//parser.nit:2801 */
9069 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
9070 stack_frame_head = fra.me.prev;
9071 return;
9072 }
9073 void parser___ReduceAction33___init(val_t p0, int* init_table){
9074 int itpos37 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction33].i;
9075 struct {struct stack_frame_t me;} fra;
9076 val_t tmp;
9077 if (init_table[itpos37]) return;
9078 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9079 fra.me.file = LOCATE_parser;
9080 fra.me.line = 2803;
9081 fra.me.meth = LOCATE_parser___ReduceAction33___init;
9082 fra.me.has_broke = 0;
9083 fra.me.REG_size = 1;
9084 fra.me.REG[0] = NIT_NULL;
9085 fra.me.REG[0] = p0;
9086 /* ./parser//parser.nit:2803 */
9087 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
9088 stack_frame_head = fra.me.prev;
9089 init_table[itpos37] = 1;
9090 return;
9091 }
9092 void parser___ReduceAction34___action(val_t p0, val_t p1){
9093 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
9094 val_t REGB0;
9095 val_t REGB1;
9096 val_t tmp;
9097 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9098 fra.me.file = LOCATE_parser;
9099 fra.me.line = 2807;
9100 fra.me.meth = LOCATE_parser___ReduceAction34___action;
9101 fra.me.has_broke = 0;
9102 fra.me.REG_size = 8;
9103 fra.me.REG[0] = NIT_NULL;
9104 fra.me.REG[1] = NIT_NULL;
9105 fra.me.REG[2] = NIT_NULL;
9106 fra.me.REG[3] = NIT_NULL;
9107 fra.me.REG[4] = NIT_NULL;
9108 fra.me.REG[5] = NIT_NULL;
9109 fra.me.REG[6] = NIT_NULL;
9110 fra.me.REG[7] = NIT_NULL;
9111 fra.me.REG[0] = p0;
9112 fra.me.REG[1] = p1;
9113 fra.me.REG[0] = NIT_NULL;
9114 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9115 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9116 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9117 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9118 fra.me.REG[5] = NEW_Array_array___Array___init();
9119 fra.me.REG[6] = NEW_Array_array___Array___init();
9120 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
9121 /* ./parser//parser.nit:2817 */
9122 if (UNTAG_Bool(REGB0)) {
9123 } else {
9124 fprintf(stderr, "Assert failed");
9125 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2817);
9126 nit_exit(1);
9127 }
9128 fra.me.REG[7] = NEW_Array_array___Array___init();
9129 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
9130 /* ./parser//parser.nit:2820 */
9131 if (UNTAG_Bool(REGB0)) {
9132 } else {
9133 fprintf(stderr, "Assert failed");
9134 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2820);
9135 nit_exit(1);
9136 }
9137 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9138 /* ./parser//parser.nit:2821 */
9139 if (UNTAG_Bool(REGB0)) {
9140 } else {
9141 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9142 if (UNTAG_Bool(REGB1)) {
9143 REGB1 = TAG_Bool(false);
9144 REGB0 = REGB1;
9145 } else {
9146 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
9147 REGB0 = REGB1;
9148 }
9149 }
9150 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9151 if (UNTAG_Bool(REGB0)) {
9152 /* ./parser//parser.nit:2822 */
9153 array___Array___add(fra.me.REG[7], fra.me.REG[3]);
9154 }
9155 fra.me.REG[7] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]);
9156 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
9157 /* ./parser//parser.nit:2828 */
9158 if (UNTAG_Bool(REGB0)) {
9159 } else {
9160 fprintf(stderr, "Assert failed");
9161 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2828);
9162 nit_exit(1);
9163 }
9164 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
9165 /* ./parser//parser.nit:2829 */
9166 if (UNTAG_Bool(REGB0)) {
9167 } else {
9168 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
9169 if (UNTAG_Bool(REGB1)) {
9170 REGB1 = TAG_Bool(false);
9171 REGB0 = REGB1;
9172 } else {
9173 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
9174 REGB0 = REGB1;
9175 }
9176 }
9177 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9178 if (UNTAG_Bool(REGB0)) {
9179 /* ./parser//parser.nit:2830 */
9180 array___Array___add(fra.me.REG[6], fra.me.REG[7]);
9181 }
9182 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9183 /* ./parser//parser.nit:2832 */
9184 if (UNTAG_Bool(REGB0)) {
9185 } else {
9186 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9187 if (UNTAG_Bool(REGB1)) {
9188 REGB1 = TAG_Bool(false);
9189 REGB0 = REGB1;
9190 } else {
9191 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9192 REGB0 = REGB1;
9193 }
9194 }
9195 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9196 if (UNTAG_Bool(REGB0)) {
9197 /* ./parser//parser.nit:2833 */
9198 array___Array___add(fra.me.REG[6], fra.me.REG[2]);
9199 }
9200 fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
9201 fra.me.REG[0] = fra.me.REG[6];
9202 REGB0 = TAG_Int(0);
9203 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9204 /* ./parser//parser.nit:2841 */
9205 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
9206 stack_frame_head = fra.me.prev;
9207 return;
9208 }
9209 void parser___ReduceAction34___init(val_t p0, int* init_table){
9210 int itpos38 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction34].i;
9211 struct {struct stack_frame_t me;} fra;
9212 val_t tmp;
9213 if (init_table[itpos38]) return;
9214 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9215 fra.me.file = LOCATE_parser;
9216 fra.me.line = 2843;
9217 fra.me.meth = LOCATE_parser___ReduceAction34___init;
9218 fra.me.has_broke = 0;
9219 fra.me.REG_size = 1;
9220 fra.me.REG[0] = NIT_NULL;
9221 fra.me.REG[0] = p0;
9222 /* ./parser//parser.nit:2843 */
9223 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
9224 stack_frame_head = fra.me.prev;
9225 init_table[itpos38] = 1;
9226 return;
9227 }
9228 void parser___ReduceAction35___action(val_t p0, val_t p1){
9229 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
9230 val_t REGB0;
9231 val_t REGB1;
9232 val_t tmp;
9233 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9234 fra.me.file = LOCATE_parser;
9235 fra.me.line = 2847;
9236 fra.me.meth = LOCATE_parser___ReduceAction35___action;
9237 fra.me.has_broke = 0;
9238 fra.me.REG_size = 9;
9239 fra.me.REG[0] = NIT_NULL;
9240 fra.me.REG[1] = NIT_NULL;
9241 fra.me.REG[2] = NIT_NULL;
9242 fra.me.REG[3] = NIT_NULL;
9243 fra.me.REG[4] = NIT_NULL;
9244 fra.me.REG[5] = NIT_NULL;
9245 fra.me.REG[6] = NIT_NULL;
9246 fra.me.REG[7] = NIT_NULL;
9247 fra.me.REG[8] = NIT_NULL;
9248 fra.me.REG[0] = p0;
9249 fra.me.REG[1] = p1;
9250 fra.me.REG[0] = NIT_NULL;
9251 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9252 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9253 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9254 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9255 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9256 fra.me.REG[6] = NEW_Array_array___Array___init();
9257 fra.me.REG[7] = NEW_Array_array___Array___init();
9258 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
9259 /* ./parser//parser.nit:2858 */
9260 if (UNTAG_Bool(REGB0)) {
9261 } else {
9262 fprintf(stderr, "Assert failed");
9263 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2858);
9264 nit_exit(1);
9265 }
9266 fra.me.REG[8] = NEW_Array_array___Array___init();
9267 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
9268 /* ./parser//parser.nit:2861 */
9269 if (UNTAG_Bool(REGB0)) {
9270 } else {
9271 fprintf(stderr, "Assert failed");
9272 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2861);
9273 nit_exit(1);
9274 }
9275 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
9276 /* ./parser//parser.nit:2863 */
9277 if (UNTAG_Bool(REGB0)) {
9278 } else {
9279 fprintf(stderr, "Assert failed");
9280 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2863);
9281 nit_exit(1);
9282 }
9283 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9284 /* ./parser//parser.nit:2864 */
9285 if (UNTAG_Bool(REGB0)) {
9286 } else {
9287 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9288 if (UNTAG_Bool(REGB1)) {
9289 REGB1 = TAG_Bool(false);
9290 REGB0 = REGB1;
9291 } else {
9292 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
9293 REGB0 = REGB1;
9294 }
9295 }
9296 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9297 if (UNTAG_Bool(REGB0)) {
9298 /* ./parser//parser.nit:2865 */
9299 array___Array___add(fra.me.REG[8], fra.me.REG[4]);
9300 }
9301 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
9302 /* ./parser//parser.nit:2868 */
9303 if (UNTAG_Bool(REGB0)) {
9304 fra.me.REG[8] = fra.me.REG[3];
9305 /* ./parser//parser.nit:2869 */
9306 } else {
9307 /* ./parser//parser.nit:2871 */
9308 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
9309 }
9310 fra.me.REG[8] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
9311 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
9312 /* ./parser//parser.nit:2878 */
9313 if (UNTAG_Bool(REGB0)) {
9314 } else {
9315 fprintf(stderr, "Assert failed");
9316 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2878);
9317 nit_exit(1);
9318 }
9319 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
9320 /* ./parser//parser.nit:2879 */
9321 if (UNTAG_Bool(REGB0)) {
9322 } else {
9323 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
9324 if (UNTAG_Bool(REGB1)) {
9325 REGB1 = TAG_Bool(false);
9326 REGB0 = REGB1;
9327 } else {
9328 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
9329 REGB0 = REGB1;
9330 }
9331 }
9332 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9333 if (UNTAG_Bool(REGB0)) {
9334 /* ./parser//parser.nit:2880 */
9335 array___Array___add(fra.me.REG[7], fra.me.REG[8]);
9336 }
9337 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9338 /* ./parser//parser.nit:2882 */
9339 if (UNTAG_Bool(REGB0)) {
9340 } else {
9341 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9342 if (UNTAG_Bool(REGB1)) {
9343 REGB1 = TAG_Bool(false);
9344 REGB0 = REGB1;
9345 } else {
9346 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9347 REGB0 = REGB1;
9348 }
9349 }
9350 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9351 if (UNTAG_Bool(REGB0)) {
9352 /* ./parser//parser.nit:2883 */
9353 array___Array___add(fra.me.REG[7], fra.me.REG[2]);
9354 }
9355 fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
9356 fra.me.REG[0] = fra.me.REG[7];
9357 REGB0 = TAG_Int(0);
9358 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9359 /* ./parser//parser.nit:2891 */
9360 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
9361 stack_frame_head = fra.me.prev;
9362 return;
9363 }
9364 void parser___ReduceAction35___init(val_t p0, int* init_table){
9365 int itpos39 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction35].i;
9366 struct {struct stack_frame_t me;} fra;
9367 val_t tmp;
9368 if (init_table[itpos39]) return;
9369 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9370 fra.me.file = LOCATE_parser;
9371 fra.me.line = 2893;
9372 fra.me.meth = LOCATE_parser___ReduceAction35___init;
9373 fra.me.has_broke = 0;
9374 fra.me.REG_size = 1;
9375 fra.me.REG[0] = NIT_NULL;
9376 fra.me.REG[0] = p0;
9377 /* ./parser//parser.nit:2893 */
9378 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
9379 stack_frame_head = fra.me.prev;
9380 init_table[itpos39] = 1;
9381 return;
9382 }
9383 void parser___ReduceAction36___action(val_t p0, val_t p1){
9384 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
9385 val_t REGB0;
9386 val_t REGB1;
9387 val_t tmp;
9388 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9389 fra.me.file = LOCATE_parser;
9390 fra.me.line = 2897;
9391 fra.me.meth = LOCATE_parser___ReduceAction36___action;
9392 fra.me.has_broke = 0;
9393 fra.me.REG_size = 7;
9394 fra.me.REG[0] = NIT_NULL;
9395 fra.me.REG[1] = NIT_NULL;
9396 fra.me.REG[2] = NIT_NULL;
9397 fra.me.REG[3] = NIT_NULL;
9398 fra.me.REG[4] = NIT_NULL;
9399 fra.me.REG[5] = NIT_NULL;
9400 fra.me.REG[6] = NIT_NULL;
9401 fra.me.REG[0] = p0;
9402 fra.me.REG[1] = p1;
9403 fra.me.REG[0] = NIT_NULL;
9404 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9405 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9406 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9407 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9408 fra.me.REG[5] = NEW_Array_array___Array___init();
9409 fra.me.REG[6] = NEW_Array_array___Array___init();
9410 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
9411 /* ./parser//parser.nit:2907 */
9412 if (UNTAG_Bool(REGB0)) {
9413 } else {
9414 fprintf(stderr, "Assert failed");
9415 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2907);
9416 nit_exit(1);
9417 }
9418 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
9419 /* ./parser//parser.nit:2909 */
9420 if (UNTAG_Bool(REGB0)) {
9421 fra.me.REG[5] = fra.me.REG[4];
9422 /* ./parser//parser.nit:2910 */
9423 } else {
9424 /* ./parser//parser.nit:2912 */
9425 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
9426 }
9427 fra.me.REG[4] = NEW_Array_array___Array___init();
9428 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
9429 /* ./parser//parser.nit:2917 */
9430 if (UNTAG_Bool(REGB0)) {
9431 } else {
9432 fprintf(stderr, "Assert failed");
9433 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2917);
9434 nit_exit(1);
9435 }
9436 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9437 /* ./parser//parser.nit:2918 */
9438 if (UNTAG_Bool(REGB0)) {
9439 } else {
9440 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9441 if (UNTAG_Bool(REGB1)) {
9442 REGB1 = TAG_Bool(false);
9443 REGB0 = REGB1;
9444 } else {
9445 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
9446 REGB0 = REGB1;
9447 }
9448 }
9449 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9450 if (UNTAG_Bool(REGB0)) {
9451 /* ./parser//parser.nit:2919 */
9452 array___Array___add(fra.me.REG[4], fra.me.REG[3]);
9453 }
9454 fra.me.REG[4] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
9455 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
9456 /* ./parser//parser.nit:2925 */
9457 if (UNTAG_Bool(REGB0)) {
9458 } else {
9459 fprintf(stderr, "Assert failed");
9460 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2925);
9461 nit_exit(1);
9462 }
9463 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9464 /* ./parser//parser.nit:2926 */
9465 if (UNTAG_Bool(REGB0)) {
9466 } else {
9467 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9468 if (UNTAG_Bool(REGB1)) {
9469 REGB1 = TAG_Bool(false);
9470 REGB0 = REGB1;
9471 } else {
9472 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
9473 REGB0 = REGB1;
9474 }
9475 }
9476 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9477 if (UNTAG_Bool(REGB0)) {
9478 /* ./parser//parser.nit:2927 */
9479 array___Array___add(fra.me.REG[6], fra.me.REG[4]);
9480 }
9481 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9482 /* ./parser//parser.nit:2929 */
9483 if (UNTAG_Bool(REGB0)) {
9484 } else {
9485 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9486 if (UNTAG_Bool(REGB1)) {
9487 REGB1 = TAG_Bool(false);
9488 REGB0 = REGB1;
9489 } else {
9490 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9491 REGB0 = REGB1;
9492 }
9493 }
9494 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9495 if (UNTAG_Bool(REGB0)) {
9496 /* ./parser//parser.nit:2930 */
9497 array___Array___add(fra.me.REG[6], fra.me.REG[2]);
9498 }
9499 fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
9500 fra.me.REG[0] = fra.me.REG[6];
9501 REGB0 = TAG_Int(0);
9502 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9503 /* ./parser//parser.nit:2938 */
9504 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
9505 stack_frame_head = fra.me.prev;
9506 return;
9507 }
9508 void parser___ReduceAction36___init(val_t p0, int* init_table){
9509 int itpos40 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction36].i;
9510 struct {struct stack_frame_t me;} fra;
9511 val_t tmp;
9512 if (init_table[itpos40]) return;
9513 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9514 fra.me.file = LOCATE_parser;
9515 fra.me.line = 2940;
9516 fra.me.meth = LOCATE_parser___ReduceAction36___init;
9517 fra.me.has_broke = 0;
9518 fra.me.REG_size = 1;
9519 fra.me.REG[0] = NIT_NULL;
9520 fra.me.REG[0] = p0;
9521 /* ./parser//parser.nit:2940 */
9522 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
9523 stack_frame_head = fra.me.prev;
9524 init_table[itpos40] = 1;
9525 return;
9526 }
9527 void parser___ReduceAction37___action(val_t p0, val_t p1){
9528 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
9529 val_t REGB0;
9530 val_t REGB1;
9531 val_t tmp;
9532 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9533 fra.me.file = LOCATE_parser;
9534 fra.me.line = 2944;
9535 fra.me.meth = LOCATE_parser___ReduceAction37___action;
9536 fra.me.has_broke = 0;
9537 fra.me.REG_size = 8;
9538 fra.me.REG[0] = NIT_NULL;
9539 fra.me.REG[1] = NIT_NULL;
9540 fra.me.REG[2] = NIT_NULL;
9541 fra.me.REG[3] = NIT_NULL;
9542 fra.me.REG[4] = NIT_NULL;
9543 fra.me.REG[5] = NIT_NULL;
9544 fra.me.REG[6] = NIT_NULL;
9545 fra.me.REG[7] = NIT_NULL;
9546 fra.me.REG[0] = p0;
9547 fra.me.REG[1] = p1;
9548 fra.me.REG[0] = NIT_NULL;
9549 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9550 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9551 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9552 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9553 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9554 fra.me.REG[6] = NEW_Array_array___Array___init();
9555 fra.me.REG[7] = NEW_Array_array___Array___init();
9556 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
9557 /* ./parser//parser.nit:2955 */
9558 if (UNTAG_Bool(REGB0)) {
9559 } else {
9560 fprintf(stderr, "Assert failed");
9561 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2955);
9562 nit_exit(1);
9563 }
9564 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
9565 /* ./parser//parser.nit:2957 */
9566 if (UNTAG_Bool(REGB0)) {
9567 fra.me.REG[6] = fra.me.REG[5];
9568 /* ./parser//parser.nit:2958 */
9569 } else {
9570 /* ./parser//parser.nit:2960 */
9571 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
9572 }
9573 fra.me.REG[5] = NEW_Array_array___Array___init();
9574 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
9575 /* ./parser//parser.nit:2965 */
9576 if (UNTAG_Bool(REGB0)) {
9577 } else {
9578 fprintf(stderr, "Assert failed");
9579 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2965);
9580 nit_exit(1);
9581 }
9582 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
9583 /* ./parser//parser.nit:2967 */
9584 if (UNTAG_Bool(REGB0)) {
9585 } else {
9586 fprintf(stderr, "Assert failed");
9587 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2967);
9588 nit_exit(1);
9589 }
9590 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9591 /* ./parser//parser.nit:2968 */
9592 if (UNTAG_Bool(REGB0)) {
9593 } else {
9594 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9595 if (UNTAG_Bool(REGB1)) {
9596 REGB1 = TAG_Bool(false);
9597 REGB0 = REGB1;
9598 } else {
9599 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
9600 REGB0 = REGB1;
9601 }
9602 }
9603 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9604 if (UNTAG_Bool(REGB0)) {
9605 /* ./parser//parser.nit:2969 */
9606 array___Array___add(fra.me.REG[5], fra.me.REG[4]);
9607 }
9608 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
9609 /* ./parser//parser.nit:2972 */
9610 if (UNTAG_Bool(REGB0)) {
9611 fra.me.REG[5] = fra.me.REG[3];
9612 /* ./parser//parser.nit:2973 */
9613 } else {
9614 /* ./parser//parser.nit:2975 */
9615 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
9616 }
9617 fra.me.REG[5] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
9618 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
9619 /* ./parser//parser.nit:2982 */
9620 if (UNTAG_Bool(REGB0)) {
9621 } else {
9622 fprintf(stderr, "Assert failed");
9623 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2982);
9624 nit_exit(1);
9625 }
9626 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
9627 /* ./parser//parser.nit:2983 */
9628 if (UNTAG_Bool(REGB0)) {
9629 } else {
9630 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
9631 if (UNTAG_Bool(REGB1)) {
9632 REGB1 = TAG_Bool(false);
9633 REGB0 = REGB1;
9634 } else {
9635 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
9636 REGB0 = REGB1;
9637 }
9638 }
9639 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9640 if (UNTAG_Bool(REGB0)) {
9641 /* ./parser//parser.nit:2984 */
9642 array___Array___add(fra.me.REG[7], fra.me.REG[5]);
9643 }
9644 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9645 /* ./parser//parser.nit:2986 */
9646 if (UNTAG_Bool(REGB0)) {
9647 } else {
9648 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9649 if (UNTAG_Bool(REGB1)) {
9650 REGB1 = TAG_Bool(false);
9651 REGB0 = REGB1;
9652 } else {
9653 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9654 REGB0 = REGB1;
9655 }
9656 }
9657 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9658 if (UNTAG_Bool(REGB0)) {
9659 /* ./parser//parser.nit:2987 */
9660 array___Array___add(fra.me.REG[7], fra.me.REG[2]);
9661 }
9662 fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7]);
9663 fra.me.REG[0] = fra.me.REG[7];
9664 REGB0 = TAG_Int(0);
9665 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9666 /* ./parser//parser.nit:2995 */
9667 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
9668 stack_frame_head = fra.me.prev;
9669 return;
9670 }
9671 void parser___ReduceAction37___init(val_t p0, int* init_table){
9672 int itpos41 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction37].i;
9673 struct {struct stack_frame_t me;} fra;
9674 val_t tmp;
9675 if (init_table[itpos41]) return;
9676 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9677 fra.me.file = LOCATE_parser;
9678 fra.me.line = 2997;
9679 fra.me.meth = LOCATE_parser___ReduceAction37___init;
9680 fra.me.has_broke = 0;
9681 fra.me.REG_size = 1;
9682 fra.me.REG[0] = NIT_NULL;
9683 fra.me.REG[0] = p0;
9684 /* ./parser//parser.nit:2997 */
9685 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
9686 stack_frame_head = fra.me.prev;
9687 init_table[itpos41] = 1;
9688 return;
9689 }
9690 void parser___ReduceAction38___action(val_t p0, val_t p1){
9691 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
9692 val_t REGB0;
9693 val_t REGB1;
9694 val_t tmp;
9695 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9696 fra.me.file = LOCATE_parser;
9697 fra.me.line = 3001;
9698 fra.me.meth = LOCATE_parser___ReduceAction38___action;
9699 fra.me.has_broke = 0;
9700 fra.me.REG_size = 8;
9701 fra.me.REG[0] = NIT_NULL;
9702 fra.me.REG[1] = NIT_NULL;
9703 fra.me.REG[2] = NIT_NULL;
9704 fra.me.REG[3] = NIT_NULL;
9705 fra.me.REG[4] = NIT_NULL;
9706 fra.me.REG[5] = NIT_NULL;
9707 fra.me.REG[6] = NIT_NULL;
9708 fra.me.REG[7] = NIT_NULL;
9709 fra.me.REG[0] = p0;
9710 fra.me.REG[1] = p1;
9711 fra.me.REG[0] = NIT_NULL;
9712 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9713 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9714 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9715 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9716 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9717 fra.me.REG[6] = NEW_Array_array___Array___init();
9718 fra.me.REG[7] = NEW_Array_array___Array___init();
9719 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
9720 /* ./parser//parser.nit:3012 */
9721 if (UNTAG_Bool(REGB0)) {
9722 } else {
9723 fprintf(stderr, "Assert failed");
9724 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3012);
9725 nit_exit(1);
9726 }
9727 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
9728 /* ./parser//parser.nit:3014 */
9729 if (UNTAG_Bool(REGB0)) {
9730 } else {
9731 fprintf(stderr, "Assert failed");
9732 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3014);
9733 nit_exit(1);
9734 }
9735 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
9736 /* ./parser//parser.nit:3016 */
9737 if (UNTAG_Bool(REGB0)) {
9738 fra.me.REG[6] = fra.me.REG[4];
9739 /* ./parser//parser.nit:3017 */
9740 } else {
9741 /* ./parser//parser.nit:3019 */
9742 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
9743 }
9744 fra.me.REG[4] = NEW_Array_array___Array___init();
9745 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
9746 /* ./parser//parser.nit:3024 */
9747 if (UNTAG_Bool(REGB0)) {
9748 } else {
9749 fprintf(stderr, "Assert failed");
9750 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3024);
9751 nit_exit(1);
9752 }
9753 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9754 /* ./parser//parser.nit:3025 */
9755 if (UNTAG_Bool(REGB0)) {
9756 } else {
9757 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9758 if (UNTAG_Bool(REGB1)) {
9759 REGB1 = TAG_Bool(false);
9760 REGB0 = REGB1;
9761 } else {
9762 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
9763 REGB0 = REGB1;
9764 }
9765 }
9766 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9767 if (UNTAG_Bool(REGB0)) {
9768 /* ./parser//parser.nit:3026 */
9769 array___Array___add(fra.me.REG[4], fra.me.REG[3]);
9770 }
9771 fra.me.REG[4] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
9772 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
9773 /* ./parser//parser.nit:3032 */
9774 if (UNTAG_Bool(REGB0)) {
9775 } else {
9776 fprintf(stderr, "Assert failed");
9777 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3032);
9778 nit_exit(1);
9779 }
9780 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9781 /* ./parser//parser.nit:3033 */
9782 if (UNTAG_Bool(REGB0)) {
9783 } else {
9784 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9785 if (UNTAG_Bool(REGB1)) {
9786 REGB1 = TAG_Bool(false);
9787 REGB0 = REGB1;
9788 } else {
9789 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
9790 REGB0 = REGB1;
9791 }
9792 }
9793 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9794 if (UNTAG_Bool(REGB0)) {
9795 /* ./parser//parser.nit:3034 */
9796 array___Array___add(fra.me.REG[7], fra.me.REG[4]);
9797 }
9798 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9799 /* ./parser//parser.nit:3036 */
9800 if (UNTAG_Bool(REGB0)) {
9801 } else {
9802 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9803 if (UNTAG_Bool(REGB1)) {
9804 REGB1 = TAG_Bool(false);
9805 REGB0 = REGB1;
9806 } else {
9807 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9808 REGB0 = REGB1;
9809 }
9810 }
9811 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9812 if (UNTAG_Bool(REGB0)) {
9813 /* ./parser//parser.nit:3037 */
9814 array___Array___add(fra.me.REG[7], fra.me.REG[2]);
9815 }
9816 fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
9817 fra.me.REG[0] = fra.me.REG[7];
9818 REGB0 = TAG_Int(0);
9819 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9820 /* ./parser//parser.nit:3045 */
9821 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
9822 stack_frame_head = fra.me.prev;
9823 return;
9824 }
9825 void parser___ReduceAction38___init(val_t p0, int* init_table){
9826 int itpos42 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction38].i;
9827 struct {struct stack_frame_t me;} fra;
9828 val_t tmp;
9829 if (init_table[itpos42]) return;
9830 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9831 fra.me.file = LOCATE_parser;
9832 fra.me.line = 3047;
9833 fra.me.meth = LOCATE_parser___ReduceAction38___init;
9834 fra.me.has_broke = 0;
9835 fra.me.REG_size = 1;
9836 fra.me.REG[0] = NIT_NULL;
9837 fra.me.REG[0] = p0;
9838 /* ./parser//parser.nit:3047 */
9839 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
9840 stack_frame_head = fra.me.prev;
9841 init_table[itpos42] = 1;
9842 return;
9843 }
9844 void parser___ReduceAction39___action(val_t p0, val_t p1){
9845 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
9846 val_t REGB0;
9847 val_t REGB1;
9848 val_t tmp;
9849 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9850 fra.me.file = LOCATE_parser;
9851 fra.me.line = 3051;
9852 fra.me.meth = LOCATE_parser___ReduceAction39___action;
9853 fra.me.has_broke = 0;
9854 fra.me.REG_size = 9;
9855 fra.me.REG[0] = NIT_NULL;
9856 fra.me.REG[1] = NIT_NULL;
9857 fra.me.REG[2] = NIT_NULL;
9858 fra.me.REG[3] = NIT_NULL;
9859 fra.me.REG[4] = NIT_NULL;
9860 fra.me.REG[5] = NIT_NULL;
9861 fra.me.REG[6] = NIT_NULL;
9862 fra.me.REG[7] = NIT_NULL;
9863 fra.me.REG[8] = NIT_NULL;
9864 fra.me.REG[0] = p0;
9865 fra.me.REG[1] = p1;
9866 fra.me.REG[0] = NIT_NULL;
9867 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9868 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9869 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9870 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9871 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9872 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9873 fra.me.REG[7] = NEW_Array_array___Array___init();
9874 fra.me.REG[8] = NEW_Array_array___Array___init();
9875 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
9876 /* ./parser//parser.nit:3063 */
9877 if (UNTAG_Bool(REGB0)) {
9878 } else {
9879 fprintf(stderr, "Assert failed");
9880 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3063);
9881 nit_exit(1);
9882 }
9883 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
9884 /* ./parser//parser.nit:3065 */
9885 if (UNTAG_Bool(REGB0)) {
9886 } else {
9887 fprintf(stderr, "Assert failed");
9888 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3065);
9889 nit_exit(1);
9890 }
9891 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
9892 /* ./parser//parser.nit:3067 */
9893 if (UNTAG_Bool(REGB0)) {
9894 fra.me.REG[7] = fra.me.REG[5];
9895 /* ./parser//parser.nit:3068 */
9896 } else {
9897 /* ./parser//parser.nit:3070 */
9898 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[5]);
9899 }
9900 fra.me.REG[5] = NEW_Array_array___Array___init();
9901 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
9902 /* ./parser//parser.nit:3075 */
9903 if (UNTAG_Bool(REGB0)) {
9904 } else {
9905 fprintf(stderr, "Assert failed");
9906 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3075);
9907 nit_exit(1);
9908 }
9909 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
9910 /* ./parser//parser.nit:3077 */
9911 if (UNTAG_Bool(REGB0)) {
9912 } else {
9913 fprintf(stderr, "Assert failed");
9914 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3077);
9915 nit_exit(1);
9916 }
9917 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9918 /* ./parser//parser.nit:3078 */
9919 if (UNTAG_Bool(REGB0)) {
9920 } else {
9921 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9922 if (UNTAG_Bool(REGB1)) {
9923 REGB1 = TAG_Bool(false);
9924 REGB0 = REGB1;
9925 } else {
9926 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
9927 REGB0 = REGB1;
9928 }
9929 }
9930 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9931 if (UNTAG_Bool(REGB0)) {
9932 /* ./parser//parser.nit:3079 */
9933 array___Array___add(fra.me.REG[5], fra.me.REG[4]);
9934 }
9935 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
9936 /* ./parser//parser.nit:3082 */
9937 if (UNTAG_Bool(REGB0)) {
9938 fra.me.REG[5] = fra.me.REG[3];
9939 /* ./parser//parser.nit:3083 */
9940 } else {
9941 /* ./parser//parser.nit:3085 */
9942 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
9943 }
9944 fra.me.REG[5] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
9945 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
9946 /* ./parser//parser.nit:3092 */
9947 if (UNTAG_Bool(REGB0)) {
9948 } else {
9949 fprintf(stderr, "Assert failed");
9950 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3092);
9951 nit_exit(1);
9952 }
9953 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
9954 /* ./parser//parser.nit:3093 */
9955 if (UNTAG_Bool(REGB0)) {
9956 } else {
9957 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
9958 if (UNTAG_Bool(REGB1)) {
9959 REGB1 = TAG_Bool(false);
9960 REGB0 = REGB1;
9961 } else {
9962 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
9963 REGB0 = REGB1;
9964 }
9965 }
9966 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9967 if (UNTAG_Bool(REGB0)) {
9968 /* ./parser//parser.nit:3094 */
9969 array___Array___add(fra.me.REG[8], fra.me.REG[5]);
9970 }
9971 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9972 /* ./parser//parser.nit:3096 */
9973 if (UNTAG_Bool(REGB0)) {
9974 } else {
9975 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9976 if (UNTAG_Bool(REGB1)) {
9977 REGB1 = TAG_Bool(false);
9978 REGB0 = REGB1;
9979 } else {
9980 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9981 REGB0 = REGB1;
9982 }
9983 }
9984 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9985 if (UNTAG_Bool(REGB0)) {
9986 /* ./parser//parser.nit:3097 */
9987 array___Array___add(fra.me.REG[8], fra.me.REG[2]);
9988 }
9989 fra.me.REG[8] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
9990 fra.me.REG[0] = fra.me.REG[8];
9991 REGB0 = TAG_Int(0);
9992 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9993 /* ./parser//parser.nit:3105 */
9994 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
9995 stack_frame_head = fra.me.prev;
9996 return;
9997 }
9998 void parser___ReduceAction39___init(val_t p0, int* init_table){
9999 int itpos43 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction39].i;
10000 struct {struct stack_frame_t me;} fra;
10001 val_t tmp;
10002 if (init_table[itpos43]) return;
10003 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10004 fra.me.file = LOCATE_parser;
10005 fra.me.line = 3107;
10006 fra.me.meth = LOCATE_parser___ReduceAction39___init;
10007 fra.me.has_broke = 0;
10008 fra.me.REG_size = 1;
10009 fra.me.REG[0] = NIT_NULL;
10010 fra.me.REG[0] = p0;
10011 /* ./parser//parser.nit:3107 */
10012 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
10013 stack_frame_head = fra.me.prev;
10014 init_table[itpos43] = 1;
10015 return;
10016 }
10017 void parser___ReduceAction40___action(val_t p0, val_t p1){
10018 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
10019 val_t REGB0;
10020 val_t REGB1;
10021 val_t tmp;
10022 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10023 fra.me.file = LOCATE_parser;
10024 fra.me.line = 3111;
10025 fra.me.meth = LOCATE_parser___ReduceAction40___action;
10026 fra.me.has_broke = 0;
10027 fra.me.REG_size = 8;
10028 fra.me.REG[0] = NIT_NULL;
10029 fra.me.REG[1] = NIT_NULL;
10030 fra.me.REG[2] = NIT_NULL;
10031 fra.me.REG[3] = NIT_NULL;
10032 fra.me.REG[4] = NIT_NULL;
10033 fra.me.REG[5] = NIT_NULL;
10034 fra.me.REG[6] = NIT_NULL;
10035 fra.me.REG[7] = NIT_NULL;
10036 fra.me.REG[0] = p0;
10037 fra.me.REG[1] = p1;
10038 fra.me.REG[0] = NIT_NULL;
10039 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10040 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10041 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10042 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10043 fra.me.REG[5] = NEW_Array_array___Array___init();
10044 fra.me.REG[6] = NEW_Array_array___Array___init();
10045 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10046 /* ./parser//parser.nit:3121 */
10047 if (UNTAG_Bool(REGB0)) {
10048 } else {
10049 fprintf(stderr, "Assert failed");
10050 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3121);
10051 nit_exit(1);
10052 }
10053 fra.me.REG[7] = NEW_Array_array___Array___init();
10054 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
10055 /* ./parser//parser.nit:3124 */
10056 if (UNTAG_Bool(REGB0)) {
10057 } else {
10058 fprintf(stderr, "Assert failed");
10059 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3124);
10060 nit_exit(1);
10061 }
10062 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10063 /* ./parser//parser.nit:3125 */
10064 if (UNTAG_Bool(REGB0)) {
10065 } else {
10066 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10067 if (UNTAG_Bool(REGB1)) {
10068 REGB1 = TAG_Bool(false);
10069 REGB0 = REGB1;
10070 } else {
10071 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
10072 REGB0 = REGB1;
10073 }
10074 }
10075 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10076 if (UNTAG_Bool(REGB0)) {
10077 /* ./parser//parser.nit:3126 */
10078 array___Array___add(fra.me.REG[7], fra.me.REG[3]);
10079 }
10080 fra.me.REG[7] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]);
10081 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
10082 /* ./parser//parser.nit:3132 */
10083 if (UNTAG_Bool(REGB0)) {
10084 } else {
10085 fprintf(stderr, "Assert failed");
10086 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3132);
10087 nit_exit(1);
10088 }
10089 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
10090 /* ./parser//parser.nit:3134 */
10091 if (UNTAG_Bool(REGB0)) {
10092 fra.me.REG[6] = fra.me.REG[4];
10093 /* ./parser//parser.nit:3135 */
10094 } else {
10095 /* ./parser//parser.nit:3137 */
10096 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
10097 }
10098 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
10099 /* ./parser//parser.nit:3140 */
10100 if (UNTAG_Bool(REGB0)) {
10101 } else {
10102 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
10103 if (UNTAG_Bool(REGB1)) {
10104 REGB1 = TAG_Bool(false);
10105 REGB0 = REGB1;
10106 } else {
10107 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
10108 REGB0 = REGB1;
10109 }
10110 }
10111 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10112 if (UNTAG_Bool(REGB0)) {
10113 /* ./parser//parser.nit:3141 */
10114 array___Array___add(fra.me.REG[6], fra.me.REG[7]);
10115 }
10116 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10117 /* ./parser//parser.nit:3143 */
10118 if (UNTAG_Bool(REGB0)) {
10119 } else {
10120 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10121 if (UNTAG_Bool(REGB1)) {
10122 REGB1 = TAG_Bool(false);
10123 REGB0 = REGB1;
10124 } else {
10125 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10126 REGB0 = REGB1;
10127 }
10128 }
10129 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10130 if (UNTAG_Bool(REGB0)) {
10131 /* ./parser//parser.nit:3144 */
10132 array___Array___add(fra.me.REG[6], fra.me.REG[2]);
10133 }
10134 fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
10135 fra.me.REG[0] = fra.me.REG[6];
10136 REGB0 = TAG_Int(0);
10137 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10138 /* ./parser//parser.nit:3152 */
10139 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
10140 stack_frame_head = fra.me.prev;
10141 return;
10142 }
10143 void parser___ReduceAction40___init(val_t p0, int* init_table){
10144 int itpos44 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction40].i;
10145 struct {struct stack_frame_t me;} fra;
10146 val_t tmp;
10147 if (init_table[itpos44]) return;
10148 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10149 fra.me.file = LOCATE_parser;
10150 fra.me.line = 3154;
10151 fra.me.meth = LOCATE_parser___ReduceAction40___init;
10152 fra.me.has_broke = 0;
10153 fra.me.REG_size = 1;
10154 fra.me.REG[0] = NIT_NULL;
10155 fra.me.REG[0] = p0;
10156 /* ./parser//parser.nit:3154 */
10157 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
10158 stack_frame_head = fra.me.prev;
10159 init_table[itpos44] = 1;
10160 return;
10161 }
10162 void parser___ReduceAction41___action(val_t p0, val_t p1){
10163 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
10164 val_t REGB0;
10165 val_t REGB1;
10166 val_t tmp;
10167 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10168 fra.me.file = LOCATE_parser;
10169 fra.me.line = 3158;
10170 fra.me.meth = LOCATE_parser___ReduceAction41___action;
10171 fra.me.has_broke = 0;
10172 fra.me.REG_size = 9;
10173 fra.me.REG[0] = NIT_NULL;
10174 fra.me.REG[1] = NIT_NULL;
10175 fra.me.REG[2] = NIT_NULL;
10176 fra.me.REG[3] = NIT_NULL;
10177 fra.me.REG[4] = NIT_NULL;
10178 fra.me.REG[5] = NIT_NULL;
10179 fra.me.REG[6] = NIT_NULL;
10180 fra.me.REG[7] = NIT_NULL;
10181 fra.me.REG[8] = NIT_NULL;
10182 fra.me.REG[0] = p0;
10183 fra.me.REG[1] = p1;
10184 fra.me.REG[0] = NIT_NULL;
10185 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10186 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10187 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10188 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10189 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10190 fra.me.REG[6] = NEW_Array_array___Array___init();
10191 fra.me.REG[7] = NEW_Array_array___Array___init();
10192 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10193 /* ./parser//parser.nit:3169 */
10194 if (UNTAG_Bool(REGB0)) {
10195 } else {
10196 fprintf(stderr, "Assert failed");
10197 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3169);
10198 nit_exit(1);
10199 }
10200 fra.me.REG[8] = NEW_Array_array___Array___init();
10201 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
10202 /* ./parser//parser.nit:3172 */
10203 if (UNTAG_Bool(REGB0)) {
10204 } else {
10205 fprintf(stderr, "Assert failed");
10206 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3172);
10207 nit_exit(1);
10208 }
10209 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10210 /* ./parser//parser.nit:3174 */
10211 if (UNTAG_Bool(REGB0)) {
10212 } else {
10213 fprintf(stderr, "Assert failed");
10214 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3174);
10215 nit_exit(1);
10216 }
10217 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
10218 /* ./parser//parser.nit:3175 */
10219 if (UNTAG_Bool(REGB0)) {
10220 } else {
10221 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
10222 if (UNTAG_Bool(REGB1)) {
10223 REGB1 = TAG_Bool(false);
10224 REGB0 = REGB1;
10225 } else {
10226 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
10227 REGB0 = REGB1;
10228 }
10229 }
10230 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10231 if (UNTAG_Bool(REGB0)) {
10232 /* ./parser//parser.nit:3176 */
10233 array___Array___add(fra.me.REG[8], fra.me.REG[4]);
10234 }
10235 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
10236 /* ./parser//parser.nit:3179 */
10237 if (UNTAG_Bool(REGB0)) {
10238 fra.me.REG[8] = fra.me.REG[3];
10239 /* ./parser//parser.nit:3180 */
10240 } else {
10241 /* ./parser//parser.nit:3182 */
10242 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
10243 }
10244 fra.me.REG[8] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
10245 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
10246 /* ./parser//parser.nit:3189 */
10247 if (UNTAG_Bool(REGB0)) {
10248 } else {
10249 fprintf(stderr, "Assert failed");
10250 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3189);
10251 nit_exit(1);
10252 }
10253 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
10254 /* ./parser//parser.nit:3191 */
10255 if (UNTAG_Bool(REGB0)) {
10256 fra.me.REG[7] = fra.me.REG[5];
10257 /* ./parser//parser.nit:3192 */
10258 } else {
10259 /* ./parser//parser.nit:3194 */
10260 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[5]);
10261 }
10262 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
10263 /* ./parser//parser.nit:3197 */
10264 if (UNTAG_Bool(REGB0)) {
10265 } else {
10266 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
10267 if (UNTAG_Bool(REGB1)) {
10268 REGB1 = TAG_Bool(false);
10269 REGB0 = REGB1;
10270 } else {
10271 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
10272 REGB0 = REGB1;
10273 }
10274 }
10275 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10276 if (UNTAG_Bool(REGB0)) {
10277 /* ./parser//parser.nit:3198 */
10278 array___Array___add(fra.me.REG[7], fra.me.REG[8]);
10279 }
10280 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10281 /* ./parser//parser.nit:3200 */
10282 if (UNTAG_Bool(REGB0)) {
10283 } else {
10284 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10285 if (UNTAG_Bool(REGB1)) {
10286 REGB1 = TAG_Bool(false);
10287 REGB0 = REGB1;
10288 } else {
10289 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10290 REGB0 = REGB1;
10291 }
10292 }
10293 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10294 if (UNTAG_Bool(REGB0)) {
10295 /* ./parser//parser.nit:3201 */
10296 array___Array___add(fra.me.REG[7], fra.me.REG[2]);
10297 }
10298 fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7]);
10299 fra.me.REG[0] = fra.me.REG[7];
10300 REGB0 = TAG_Int(0);
10301 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10302 /* ./parser//parser.nit:3209 */
10303 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
10304 stack_frame_head = fra.me.prev;
10305 return;
10306 }
10307 void parser___ReduceAction41___init(val_t p0, int* init_table){
10308 int itpos45 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction41].i;
10309 struct {struct stack_frame_t me;} fra;
10310 val_t tmp;
10311 if (init_table[itpos45]) return;
10312 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10313 fra.me.file = LOCATE_parser;
10314 fra.me.line = 3211;
10315 fra.me.meth = LOCATE_parser___ReduceAction41___init;
10316 fra.me.has_broke = 0;
10317 fra.me.REG_size = 1;
10318 fra.me.REG[0] = NIT_NULL;
10319 fra.me.REG[0] = p0;
10320 /* ./parser//parser.nit:3211 */
10321 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
10322 stack_frame_head = fra.me.prev;
10323 init_table[itpos45] = 1;
10324 return;
10325 }
10326 void parser___ReduceAction42___action(val_t p0, val_t p1){
10327 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
10328 val_t REGB0;
10329 val_t REGB1;
10330 val_t tmp;
10331 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10332 fra.me.file = LOCATE_parser;
10333 fra.me.line = 3215;
10334 fra.me.meth = LOCATE_parser___ReduceAction42___action;
10335 fra.me.has_broke = 0;
10336 fra.me.REG_size = 9;
10337 fra.me.REG[0] = NIT_NULL;
10338 fra.me.REG[1] = NIT_NULL;
10339 fra.me.REG[2] = NIT_NULL;
10340 fra.me.REG[3] = NIT_NULL;
10341 fra.me.REG[4] = NIT_NULL;
10342 fra.me.REG[5] = NIT_NULL;
10343 fra.me.REG[6] = NIT_NULL;
10344 fra.me.REG[7] = NIT_NULL;
10345 fra.me.REG[8] = NIT_NULL;
10346 fra.me.REG[0] = p0;
10347 fra.me.REG[1] = p1;
10348 fra.me.REG[0] = NIT_NULL;
10349 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10350 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10351 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10352 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10353 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10354 fra.me.REG[6] = NEW_Array_array___Array___init();
10355 fra.me.REG[7] = NEW_Array_array___Array___init();
10356 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
10357 /* ./parser//parser.nit:3226 */
10358 if (UNTAG_Bool(REGB0)) {
10359 } else {
10360 fprintf(stderr, "Assert failed");
10361 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3226);
10362 nit_exit(1);
10363 }
10364 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10365 /* ./parser//parser.nit:3228 */
10366 if (UNTAG_Bool(REGB0)) {
10367 } else {
10368 fprintf(stderr, "Assert failed");
10369 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3228);
10370 nit_exit(1);
10371 }
10372 fra.me.REG[8] = NEW_Array_array___Array___init();
10373 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
10374 /* ./parser//parser.nit:3231 */
10375 if (UNTAG_Bool(REGB0)) {
10376 } else {
10377 fprintf(stderr, "Assert failed");
10378 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3231);
10379 nit_exit(1);
10380 }
10381 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10382 /* ./parser//parser.nit:3232 */
10383 if (UNTAG_Bool(REGB0)) {
10384 } else {
10385 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10386 if (UNTAG_Bool(REGB1)) {
10387 REGB1 = TAG_Bool(false);
10388 REGB0 = REGB1;
10389 } else {
10390 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
10391 REGB0 = REGB1;
10392 }
10393 }
10394 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10395 if (UNTAG_Bool(REGB0)) {
10396 /* ./parser//parser.nit:3233 */
10397 array___Array___add(fra.me.REG[8], fra.me.REG[3]);
10398 }
10399 fra.me.REG[8] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
10400 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
10401 /* ./parser//parser.nit:3239 */
10402 if (UNTAG_Bool(REGB0)) {
10403 } else {
10404 fprintf(stderr, "Assert failed");
10405 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3239);
10406 nit_exit(1);
10407 }
10408 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
10409 /* ./parser//parser.nit:3241 */
10410 if (UNTAG_Bool(REGB0)) {
10411 fra.me.REG[7] = fra.me.REG[4];
10412 /* ./parser//parser.nit:3242 */
10413 } else {
10414 /* ./parser//parser.nit:3244 */
10415 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
10416 }
10417 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
10418 /* ./parser//parser.nit:3247 */
10419 if (UNTAG_Bool(REGB0)) {
10420 } else {
10421 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
10422 if (UNTAG_Bool(REGB1)) {
10423 REGB1 = TAG_Bool(false);
10424 REGB0 = REGB1;
10425 } else {
10426 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
10427 REGB0 = REGB1;
10428 }
10429 }
10430 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10431 if (UNTAG_Bool(REGB0)) {
10432 /* ./parser//parser.nit:3248 */
10433 array___Array___add(fra.me.REG[7], fra.me.REG[8]);
10434 }
10435 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10436 /* ./parser//parser.nit:3250 */
10437 if (UNTAG_Bool(REGB0)) {
10438 } else {
10439 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10440 if (UNTAG_Bool(REGB1)) {
10441 REGB1 = TAG_Bool(false);
10442 REGB0 = REGB1;
10443 } else {
10444 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10445 REGB0 = REGB1;
10446 }
10447 }
10448 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10449 if (UNTAG_Bool(REGB0)) {
10450 /* ./parser//parser.nit:3251 */
10451 array___Array___add(fra.me.REG[7], fra.me.REG[2]);
10452 }
10453 fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
10454 fra.me.REG[0] = fra.me.REG[7];
10455 REGB0 = TAG_Int(0);
10456 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10457 /* ./parser//parser.nit:3259 */
10458 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
10459 stack_frame_head = fra.me.prev;
10460 return;
10461 }
10462 void parser___ReduceAction42___init(val_t p0, int* init_table){
10463 int itpos46 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction42].i;
10464 struct {struct stack_frame_t me;} fra;
10465 val_t tmp;
10466 if (init_table[itpos46]) return;
10467 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10468 fra.me.file = LOCATE_parser;
10469 fra.me.line = 3261;
10470 fra.me.meth = LOCATE_parser___ReduceAction42___init;
10471 fra.me.has_broke = 0;
10472 fra.me.REG_size = 1;
10473 fra.me.REG[0] = NIT_NULL;
10474 fra.me.REG[0] = p0;
10475 /* ./parser//parser.nit:3261 */
10476 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
10477 stack_frame_head = fra.me.prev;
10478 init_table[itpos46] = 1;
10479 return;
10480 }
10481 void parser___ReduceAction43___action(val_t p0, val_t p1){
10482 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
10483 val_t REGB0;
10484 val_t REGB1;
10485 val_t tmp;
10486 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10487 fra.me.file = LOCATE_parser;
10488 fra.me.line = 3265;
10489 fra.me.meth = LOCATE_parser___ReduceAction43___action;
10490 fra.me.has_broke = 0;
10491 fra.me.REG_size = 10;
10492 fra.me.REG[0] = NIT_NULL;
10493 fra.me.REG[1] = NIT_NULL;
10494 fra.me.REG[2] = NIT_NULL;
10495 fra.me.REG[3] = NIT_NULL;
10496 fra.me.REG[4] = NIT_NULL;
10497 fra.me.REG[5] = NIT_NULL;
10498 fra.me.REG[6] = NIT_NULL;
10499 fra.me.REG[7] = NIT_NULL;
10500 fra.me.REG[8] = NIT_NULL;
10501 fra.me.REG[9] = NIT_NULL;
10502 fra.me.REG[0] = p0;
10503 fra.me.REG[1] = p1;
10504 fra.me.REG[0] = NIT_NULL;
10505 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10506 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10507 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10508 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10509 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10510 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10511 fra.me.REG[7] = NEW_Array_array___Array___init();
10512 fra.me.REG[8] = NEW_Array_array___Array___init();
10513 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
10514 /* ./parser//parser.nit:3277 */
10515 if (UNTAG_Bool(REGB0)) {
10516 } else {
10517 fprintf(stderr, "Assert failed");
10518 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3277);
10519 nit_exit(1);
10520 }
10521 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10522 /* ./parser//parser.nit:3279 */
10523 if (UNTAG_Bool(REGB0)) {
10524 } else {
10525 fprintf(stderr, "Assert failed");
10526 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3279);
10527 nit_exit(1);
10528 }
10529 fra.me.REG[9] = NEW_Array_array___Array___init();
10530 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
10531 /* ./parser//parser.nit:3282 */
10532 if (UNTAG_Bool(REGB0)) {
10533 } else {
10534 fprintf(stderr, "Assert failed");
10535 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3282);
10536 nit_exit(1);
10537 }
10538 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10539 /* ./parser//parser.nit:3284 */
10540 if (UNTAG_Bool(REGB0)) {
10541 } else {
10542 fprintf(stderr, "Assert failed");
10543 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3284);
10544 nit_exit(1);
10545 }
10546 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
10547 /* ./parser//parser.nit:3285 */
10548 if (UNTAG_Bool(REGB0)) {
10549 } else {
10550 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
10551 if (UNTAG_Bool(REGB1)) {
10552 REGB1 = TAG_Bool(false);
10553 REGB0 = REGB1;
10554 } else {
10555 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
10556 REGB0 = REGB1;
10557 }
10558 }
10559 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10560 if (UNTAG_Bool(REGB0)) {
10561 /* ./parser//parser.nit:3286 */
10562 array___Array___add(fra.me.REG[9], fra.me.REG[4]);
10563 }
10564 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]);
10565 /* ./parser//parser.nit:3289 */
10566 if (UNTAG_Bool(REGB0)) {
10567 fra.me.REG[9] = fra.me.REG[3];
10568 /* ./parser//parser.nit:3290 */
10569 } else {
10570 /* ./parser//parser.nit:3292 */
10571 CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
10572 }
10573 fra.me.REG[9] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[9]);
10574 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
10575 /* ./parser//parser.nit:3299 */
10576 if (UNTAG_Bool(REGB0)) {
10577 } else {
10578 fprintf(stderr, "Assert failed");
10579 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3299);
10580 nit_exit(1);
10581 }
10582 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
10583 /* ./parser//parser.nit:3301 */
10584 if (UNTAG_Bool(REGB0)) {
10585 fra.me.REG[8] = fra.me.REG[5];
10586 /* ./parser//parser.nit:3302 */
10587 } else {
10588 /* ./parser//parser.nit:3304 */
10589 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
10590 }
10591 REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
10592 /* ./parser//parser.nit:3307 */
10593 if (UNTAG_Bool(REGB0)) {
10594 } else {
10595 REGB1 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
10596 if (UNTAG_Bool(REGB1)) {
10597 REGB1 = TAG_Bool(false);
10598 REGB0 = REGB1;
10599 } else {
10600 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[9])(fra.me.REG[9], NIT_NULL);
10601 REGB0 = REGB1;
10602 }
10603 }
10604 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10605 if (UNTAG_Bool(REGB0)) {
10606 /* ./parser//parser.nit:3308 */
10607 array___Array___add(fra.me.REG[8], fra.me.REG[9]);
10608 }
10609 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10610 /* ./parser//parser.nit:3310 */
10611 if (UNTAG_Bool(REGB0)) {
10612 } else {
10613 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10614 if (UNTAG_Bool(REGB1)) {
10615 REGB1 = TAG_Bool(false);
10616 REGB0 = REGB1;
10617 } else {
10618 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10619 REGB0 = REGB1;
10620 }
10621 }
10622 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10623 if (UNTAG_Bool(REGB0)) {
10624 /* ./parser//parser.nit:3311 */
10625 array___Array___add(fra.me.REG[8], fra.me.REG[2]);
10626 }
10627 fra.me.REG[8] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
10628 fra.me.REG[0] = fra.me.REG[8];
10629 REGB0 = TAG_Int(0);
10630 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10631 /* ./parser//parser.nit:3319 */
10632 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
10633 stack_frame_head = fra.me.prev;
10634 return;
10635 }
10636 void parser___ReduceAction43___init(val_t p0, int* init_table){
10637 int itpos47 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction43].i;
10638 struct {struct stack_frame_t me;} fra;
10639 val_t tmp;
10640 if (init_table[itpos47]) return;
10641 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10642 fra.me.file = LOCATE_parser;
10643 fra.me.line = 3321;
10644 fra.me.meth = LOCATE_parser___ReduceAction43___init;
10645 fra.me.has_broke = 0;
10646 fra.me.REG_size = 1;
10647 fra.me.REG[0] = NIT_NULL;
10648 fra.me.REG[0] = p0;
10649 /* ./parser//parser.nit:3321 */
10650 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
10651 stack_frame_head = fra.me.prev;
10652 init_table[itpos47] = 1;
10653 return;
10654 }
10655 void parser___ReduceAction44___action(val_t p0, val_t p1){
10656 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
10657 val_t REGB0;
10658 val_t REGB1;
10659 val_t tmp;
10660 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10661 fra.me.file = LOCATE_parser;
10662 fra.me.line = 3325;
10663 fra.me.meth = LOCATE_parser___ReduceAction44___action;
10664 fra.me.has_broke = 0;
10665 fra.me.REG_size = 8;
10666 fra.me.REG[0] = NIT_NULL;
10667 fra.me.REG[1] = NIT_NULL;
10668 fra.me.REG[2] = NIT_NULL;
10669 fra.me.REG[3] = NIT_NULL;
10670 fra.me.REG[4] = NIT_NULL;
10671 fra.me.REG[5] = NIT_NULL;
10672 fra.me.REG[6] = NIT_NULL;
10673 fra.me.REG[7] = NIT_NULL;
10674 fra.me.REG[0] = p0;
10675 fra.me.REG[1] = p1;
10676 fra.me.REG[0] = NIT_NULL;
10677 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10678 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10679 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10680 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10681 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10682 fra.me.REG[6] = NEW_Array_array___Array___init();
10683 fra.me.REG[7] = NEW_Array_array___Array___init();
10684 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10685 /* ./parser//parser.nit:3336 */
10686 if (UNTAG_Bool(REGB0)) {
10687 } else {
10688 fprintf(stderr, "Assert failed");
10689 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3336);
10690 nit_exit(1);
10691 }
10692 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
10693 /* ./parser//parser.nit:3338 */
10694 if (UNTAG_Bool(REGB0)) {
10695 fra.me.REG[6] = fra.me.REG[5];
10696 /* ./parser//parser.nit:3339 */
10697 } else {
10698 /* ./parser//parser.nit:3341 */
10699 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
10700 }
10701 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10702 /* ./parser//parser.nit:3345 */
10703 if (UNTAG_Bool(REGB0)) {
10704 } else {
10705 fprintf(stderr, "Assert failed");
10706 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3345);
10707 nit_exit(1);
10708 }
10709 fra.me.REG[5] = NEW_Array_array___Array___init();
10710 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
10711 /* ./parser//parser.nit:3348 */
10712 if (UNTAG_Bool(REGB0)) {
10713 } else {
10714 fprintf(stderr, "Assert failed");
10715 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3348);
10716 nit_exit(1);
10717 }
10718 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10719 /* ./parser//parser.nit:3349 */
10720 if (UNTAG_Bool(REGB0)) {
10721 } else {
10722 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10723 if (UNTAG_Bool(REGB1)) {
10724 REGB1 = TAG_Bool(false);
10725 REGB0 = REGB1;
10726 } else {
10727 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
10728 REGB0 = REGB1;
10729 }
10730 }
10731 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10732 if (UNTAG_Bool(REGB0)) {
10733 /* ./parser//parser.nit:3350 */
10734 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
10735 }
10736 fra.me.REG[5] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
10737 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
10738 /* ./parser//parser.nit:3356 */
10739 if (UNTAG_Bool(REGB0)) {
10740 } else {
10741 fprintf(stderr, "Assert failed");
10742 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3356);
10743 nit_exit(1);
10744 }
10745 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
10746 /* ./parser//parser.nit:3358 */
10747 if (UNTAG_Bool(REGB0)) {
10748 fra.me.REG[7] = fra.me.REG[4];
10749 /* ./parser//parser.nit:3359 */
10750 } else {
10751 /* ./parser//parser.nit:3361 */
10752 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
10753 }
10754 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10755 /* ./parser//parser.nit:3364 */
10756 if (UNTAG_Bool(REGB0)) {
10757 } else {
10758 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10759 if (UNTAG_Bool(REGB1)) {
10760 REGB1 = TAG_Bool(false);
10761 REGB0 = REGB1;
10762 } else {
10763 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
10764 REGB0 = REGB1;
10765 }
10766 }
10767 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10768 if (UNTAG_Bool(REGB0)) {
10769 /* ./parser//parser.nit:3365 */
10770 array___Array___add(fra.me.REG[7], fra.me.REG[5]);
10771 }
10772 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10773 /* ./parser//parser.nit:3367 */
10774 if (UNTAG_Bool(REGB0)) {
10775 } else {
10776 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10777 if (UNTAG_Bool(REGB1)) {
10778 REGB1 = TAG_Bool(false);
10779 REGB0 = REGB1;
10780 } else {
10781 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10782 REGB0 = REGB1;
10783 }
10784 }
10785 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10786 if (UNTAG_Bool(REGB0)) {
10787 /* ./parser//parser.nit:3368 */
10788 array___Array___add(fra.me.REG[7], fra.me.REG[2]);
10789 }
10790 fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7]);
10791 fra.me.REG[0] = fra.me.REG[7];
10792 REGB0 = TAG_Int(0);
10793 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10794 /* ./parser//parser.nit:3376 */
10795 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
10796 stack_frame_head = fra.me.prev;
10797 return;
10798 }
10799 void parser___ReduceAction44___init(val_t p0, int* init_table){
10800 int itpos48 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction44].i;
10801 struct {struct stack_frame_t me;} fra;
10802 val_t tmp;
10803 if (init_table[itpos48]) return;
10804 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10805 fra.me.file = LOCATE_parser;
10806 fra.me.line = 3378;
10807 fra.me.meth = LOCATE_parser___ReduceAction44___init;
10808 fra.me.has_broke = 0;
10809 fra.me.REG_size = 1;
10810 fra.me.REG[0] = NIT_NULL;
10811 fra.me.REG[0] = p0;
10812 /* ./parser//parser.nit:3378 */
10813 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
10814 stack_frame_head = fra.me.prev;
10815 init_table[itpos48] = 1;
10816 return;
10817 }
10818 void parser___ReduceAction45___action(val_t p0, val_t p1){
10819 struct {struct stack_frame_t me; val_t MORE_REG[8];} 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 = 3382;
10826 fra.me.meth = LOCATE_parser___ReduceAction45___action;
10827 fra.me.has_broke = 0;
10828 fra.me.REG_size = 9;
10829 fra.me.REG[0] = NIT_NULL;
10830 fra.me.REG[1] = NIT_NULL;
10831 fra.me.REG[2] = NIT_NULL;
10832 fra.me.REG[3] = NIT_NULL;
10833 fra.me.REG[4] = NIT_NULL;
10834 fra.me.REG[5] = NIT_NULL;
10835 fra.me.REG[6] = NIT_NULL;
10836 fra.me.REG[7] = NIT_NULL;
10837 fra.me.REG[8] = NIT_NULL;
10838 fra.me.REG[0] = p0;
10839 fra.me.REG[1] = p1;
10840 fra.me.REG[0] = NIT_NULL;
10841 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10842 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10843 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10844 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10845 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10846 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10847 fra.me.REG[7] = NEW_Array_array___Array___init();
10848 fra.me.REG[8] = NEW_Array_array___Array___init();
10849 REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10850 /* ./parser//parser.nit:3394 */
10851 if (UNTAG_Bool(REGB0)) {
10852 } else {
10853 fprintf(stderr, "Assert failed");
10854 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3394);
10855 nit_exit(1);
10856 }
10857 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
10858 /* ./parser//parser.nit:3396 */
10859 if (UNTAG_Bool(REGB0)) {
10860 fra.me.REG[7] = fra.me.REG[6];
10861 /* ./parser//parser.nit:3397 */
10862 } else {
10863 /* ./parser//parser.nit:3399 */
10864 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[6]);
10865 }
10866 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10867 /* ./parser//parser.nit:3403 */
10868 if (UNTAG_Bool(REGB0)) {
10869 } else {
10870 fprintf(stderr, "Assert failed");
10871 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3403);
10872 nit_exit(1);
10873 }
10874 fra.me.REG[6] = NEW_Array_array___Array___init();
10875 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
10876 /* ./parser//parser.nit:3406 */
10877 if (UNTAG_Bool(REGB0)) {
10878 } else {
10879 fprintf(stderr, "Assert failed");
10880 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3406);
10881 nit_exit(1);
10882 }
10883 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10884 /* ./parser//parser.nit:3408 */
10885 if (UNTAG_Bool(REGB0)) {
10886 } else {
10887 fprintf(stderr, "Assert failed");
10888 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3408);
10889 nit_exit(1);
10890 }
10891 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
10892 /* ./parser//parser.nit:3409 */
10893 if (UNTAG_Bool(REGB0)) {
10894 } else {
10895 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
10896 if (UNTAG_Bool(REGB1)) {
10897 REGB1 = TAG_Bool(false);
10898 REGB0 = REGB1;
10899 } else {
10900 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
10901 REGB0 = REGB1;
10902 }
10903 }
10904 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10905 if (UNTAG_Bool(REGB0)) {
10906 /* ./parser//parser.nit:3410 */
10907 array___Array___add(fra.me.REG[6], fra.me.REG[4]);
10908 }
10909 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
10910 /* ./parser//parser.nit:3413 */
10911 if (UNTAG_Bool(REGB0)) {
10912 fra.me.REG[6] = fra.me.REG[3];
10913 /* ./parser//parser.nit:3414 */
10914 } else {
10915 /* ./parser//parser.nit:3416 */
10916 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
10917 }
10918 fra.me.REG[6] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
10919 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
10920 /* ./parser//parser.nit:3423 */
10921 if (UNTAG_Bool(REGB0)) {
10922 } else {
10923 fprintf(stderr, "Assert failed");
10924 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3423);
10925 nit_exit(1);
10926 }
10927 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
10928 /* ./parser//parser.nit:3425 */
10929 if (UNTAG_Bool(REGB0)) {
10930 fra.me.REG[8] = fra.me.REG[5];
10931 /* ./parser//parser.nit:3426 */
10932 } else {
10933 /* ./parser//parser.nit:3428 */
10934 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
10935 }
10936 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
10937 /* ./parser//parser.nit:3431 */
10938 if (UNTAG_Bool(REGB0)) {
10939 } else {
10940 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
10941 if (UNTAG_Bool(REGB1)) {
10942 REGB1 = TAG_Bool(false);
10943 REGB0 = REGB1;
10944 } else {
10945 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
10946 REGB0 = REGB1;
10947 }
10948 }
10949 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10950 if (UNTAG_Bool(REGB0)) {
10951 /* ./parser//parser.nit:3432 */
10952 array___Array___add(fra.me.REG[8], fra.me.REG[6]);
10953 }
10954 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10955 /* ./parser//parser.nit:3434 */
10956 if (UNTAG_Bool(REGB0)) {
10957 } else {
10958 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10959 if (UNTAG_Bool(REGB1)) {
10960 REGB1 = TAG_Bool(false);
10961 REGB0 = REGB1;
10962 } else {
10963 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10964 REGB0 = REGB1;
10965 }
10966 }
10967 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10968 if (UNTAG_Bool(REGB0)) {
10969 /* ./parser//parser.nit:3435 */
10970 array___Array___add(fra.me.REG[8], fra.me.REG[2]);
10971 }
10972 fra.me.REG[8] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[7], fra.me.REG[8]);
10973 fra.me.REG[0] = fra.me.REG[8];
10974 REGB0 = TAG_Int(0);
10975 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10976 /* ./parser//parser.nit:3443 */
10977 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
10978 stack_frame_head = fra.me.prev;
10979 return;
10980 }
10981 void parser___ReduceAction45___init(val_t p0, int* init_table){
10982 int itpos49 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction45].i;
10983 struct {struct stack_frame_t me;} fra;
10984 val_t tmp;
10985 if (init_table[itpos49]) return;
10986 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10987 fra.me.file = LOCATE_parser;
10988 fra.me.line = 3445;
10989 fra.me.meth = LOCATE_parser___ReduceAction45___init;
10990 fra.me.has_broke = 0;
10991 fra.me.REG_size = 1;
10992 fra.me.REG[0] = NIT_NULL;
10993 fra.me.REG[0] = p0;
10994 /* ./parser//parser.nit:3445 */
10995 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
10996 stack_frame_head = fra.me.prev;
10997 init_table[itpos49] = 1;
10998 return;
10999 }
11000 void parser___ReduceAction46___action(val_t p0, val_t p1){
11001 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
11002 val_t REGB0;
11003 val_t REGB1;
11004 val_t tmp;
11005 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11006 fra.me.file = LOCATE_parser;
11007 fra.me.line = 3449;
11008 fra.me.meth = LOCATE_parser___ReduceAction46___action;
11009 fra.me.has_broke = 0;
11010 fra.me.REG_size = 9;
11011 fra.me.REG[0] = NIT_NULL;
11012 fra.me.REG[1] = NIT_NULL;
11013 fra.me.REG[2] = NIT_NULL;
11014 fra.me.REG[3] = NIT_NULL;
11015 fra.me.REG[4] = NIT_NULL;
11016 fra.me.REG[5] = NIT_NULL;
11017 fra.me.REG[6] = NIT_NULL;
11018 fra.me.REG[7] = NIT_NULL;
11019 fra.me.REG[8] = NIT_NULL;
11020 fra.me.REG[0] = p0;
11021 fra.me.REG[1] = p1;
11022 fra.me.REG[0] = NIT_NULL;
11023 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11024 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11025 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11026 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11027 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11028 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11029 fra.me.REG[7] = NEW_Array_array___Array___init();
11030 fra.me.REG[8] = NEW_Array_array___Array___init();
11031 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
11032 /* ./parser//parser.nit:3461 */
11033 if (UNTAG_Bool(REGB0)) {
11034 } else {
11035 fprintf(stderr, "Assert failed");
11036 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3461);
11037 nit_exit(1);
11038 }
11039 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
11040 /* ./parser//parser.nit:3463 */
11041 if (UNTAG_Bool(REGB0)) {
11042 } else {
11043 fprintf(stderr, "Assert failed");
11044 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3463);
11045 nit_exit(1);
11046 }
11047 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
11048 /* ./parser//parser.nit:3465 */
11049 if (UNTAG_Bool(REGB0)) {
11050 fra.me.REG[7] = fra.me.REG[5];
11051 /* ./parser//parser.nit:3466 */
11052 } else {
11053 /* ./parser//parser.nit:3468 */
11054 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[5]);
11055 }
11056 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
11057 /* ./parser//parser.nit:3472 */
11058 if (UNTAG_Bool(REGB0)) {
11059 } else {
11060 fprintf(stderr, "Assert failed");
11061 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3472);
11062 nit_exit(1);
11063 }
11064 fra.me.REG[5] = NEW_Array_array___Array___init();
11065 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
11066 /* ./parser//parser.nit:3475 */
11067 if (UNTAG_Bool(REGB0)) {
11068 } else {
11069 fprintf(stderr, "Assert failed");
11070 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3475);
11071 nit_exit(1);
11072 }
11073 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11074 /* ./parser//parser.nit:3476 */
11075 if (UNTAG_Bool(REGB0)) {
11076 } else {
11077 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11078 if (UNTAG_Bool(REGB1)) {
11079 REGB1 = TAG_Bool(false);
11080 REGB0 = REGB1;
11081 } else {
11082 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11083 REGB0 = REGB1;
11084 }
11085 }
11086 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11087 if (UNTAG_Bool(REGB0)) {
11088 /* ./parser//parser.nit:3477 */
11089 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
11090 }
11091 fra.me.REG[5] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
11092 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
11093 /* ./parser//parser.nit:3483 */
11094 if (UNTAG_Bool(REGB0)) {
11095 } else {
11096 fprintf(stderr, "Assert failed");
11097 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3483);
11098 nit_exit(1);
11099 }
11100 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
11101 /* ./parser//parser.nit:3485 */
11102 if (UNTAG_Bool(REGB0)) {
11103 fra.me.REG[8] = fra.me.REG[4];
11104 /* ./parser//parser.nit:3486 */
11105 } else {
11106 /* ./parser//parser.nit:3488 */
11107 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[4]);
11108 }
11109 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
11110 /* ./parser//parser.nit:3491 */
11111 if (UNTAG_Bool(REGB0)) {
11112 } else {
11113 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
11114 if (UNTAG_Bool(REGB1)) {
11115 REGB1 = TAG_Bool(false);
11116 REGB0 = REGB1;
11117 } else {
11118 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
11119 REGB0 = REGB1;
11120 }
11121 }
11122 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11123 if (UNTAG_Bool(REGB0)) {
11124 /* ./parser//parser.nit:3492 */
11125 array___Array___add(fra.me.REG[8], fra.me.REG[5]);
11126 }
11127 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11128 /* ./parser//parser.nit:3494 */
11129 if (UNTAG_Bool(REGB0)) {
11130 } else {
11131 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11132 if (UNTAG_Bool(REGB1)) {
11133 REGB1 = TAG_Bool(false);
11134 REGB0 = REGB1;
11135 } else {
11136 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11137 REGB0 = REGB1;
11138 }
11139 }
11140 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11141 if (UNTAG_Bool(REGB0)) {
11142 /* ./parser//parser.nit:3495 */
11143 array___Array___add(fra.me.REG[8], fra.me.REG[2]);
11144 }
11145 fra.me.REG[8] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
11146 fra.me.REG[0] = fra.me.REG[8];
11147 REGB0 = TAG_Int(0);
11148 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11149 /* ./parser//parser.nit:3503 */
11150 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
11151 stack_frame_head = fra.me.prev;
11152 return;
11153 }
11154 void parser___ReduceAction46___init(val_t p0, int* init_table){
11155 int itpos50 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction46].i;
11156 struct {struct stack_frame_t me;} fra;
11157 val_t tmp;
11158 if (init_table[itpos50]) return;
11159 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11160 fra.me.file = LOCATE_parser;
11161 fra.me.line = 3505;
11162 fra.me.meth = LOCATE_parser___ReduceAction46___init;
11163 fra.me.has_broke = 0;
11164 fra.me.REG_size = 1;
11165 fra.me.REG[0] = NIT_NULL;
11166 fra.me.REG[0] = p0;
11167 /* ./parser//parser.nit:3505 */
11168 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
11169 stack_frame_head = fra.me.prev;
11170 init_table[itpos50] = 1;
11171 return;
11172 }
11173 void parser___ReduceAction47___action(val_t p0, val_t p1){
11174 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
11175 val_t REGB0;
11176 val_t REGB1;
11177 val_t tmp;
11178 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11179 fra.me.file = LOCATE_parser;
11180 fra.me.line = 3509;
11181 fra.me.meth = LOCATE_parser___ReduceAction47___action;
11182 fra.me.has_broke = 0;
11183 fra.me.REG_size = 10;
11184 fra.me.REG[0] = NIT_NULL;
11185 fra.me.REG[1] = NIT_NULL;
11186 fra.me.REG[2] = NIT_NULL;
11187 fra.me.REG[3] = NIT_NULL;
11188 fra.me.REG[4] = NIT_NULL;
11189 fra.me.REG[5] = NIT_NULL;
11190 fra.me.REG[6] = NIT_NULL;
11191 fra.me.REG[7] = NIT_NULL;
11192 fra.me.REG[8] = NIT_NULL;
11193 fra.me.REG[9] = NIT_NULL;
11194 fra.me.REG[0] = p0;
11195 fra.me.REG[1] = p1;
11196 fra.me.REG[0] = NIT_NULL;
11197 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11198 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11199 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11200 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11201 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11202 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11203 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11204 fra.me.REG[8] = NEW_Array_array___Array___init();
11205 fra.me.REG[9] = NEW_Array_array___Array___init();
11206 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/;
11207 /* ./parser//parser.nit:3522 */
11208 if (UNTAG_Bool(REGB0)) {
11209 } else {
11210 fprintf(stderr, "Assert failed");
11211 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3522);
11212 nit_exit(1);
11213 }
11214 REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
11215 /* ./parser//parser.nit:3524 */
11216 if (UNTAG_Bool(REGB0)) {
11217 } else {
11218 fprintf(stderr, "Assert failed");
11219 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3524);
11220 nit_exit(1);
11221 }
11222 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
11223 /* ./parser//parser.nit:3526 */
11224 if (UNTAG_Bool(REGB0)) {
11225 fra.me.REG[8] = fra.me.REG[6];
11226 /* ./parser//parser.nit:3527 */
11227 } else {
11228 /* ./parser//parser.nit:3529 */
11229 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[6]);
11230 }
11231 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
11232 /* ./parser//parser.nit:3533 */
11233 if (UNTAG_Bool(REGB0)) {
11234 } else {
11235 fprintf(stderr, "Assert failed");
11236 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3533);
11237 nit_exit(1);
11238 }
11239 fra.me.REG[6] = NEW_Array_array___Array___init();
11240 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
11241 /* ./parser//parser.nit:3536 */
11242 if (UNTAG_Bool(REGB0)) {
11243 } else {
11244 fprintf(stderr, "Assert failed");
11245 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3536);
11246 nit_exit(1);
11247 }
11248 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
11249 /* ./parser//parser.nit:3538 */
11250 if (UNTAG_Bool(REGB0)) {
11251 } else {
11252 fprintf(stderr, "Assert failed");
11253 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3538);
11254 nit_exit(1);
11255 }
11256 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
11257 /* ./parser//parser.nit:3539 */
11258 if (UNTAG_Bool(REGB0)) {
11259 } else {
11260 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
11261 if (UNTAG_Bool(REGB1)) {
11262 REGB1 = TAG_Bool(false);
11263 REGB0 = REGB1;
11264 } else {
11265 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
11266 REGB0 = REGB1;
11267 }
11268 }
11269 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11270 if (UNTAG_Bool(REGB0)) {
11271 /* ./parser//parser.nit:3540 */
11272 array___Array___add(fra.me.REG[6], fra.me.REG[4]);
11273 }
11274 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
11275 /* ./parser//parser.nit:3543 */
11276 if (UNTAG_Bool(REGB0)) {
11277 fra.me.REG[6] = fra.me.REG[3];
11278 /* ./parser//parser.nit:3544 */
11279 } else {
11280 /* ./parser//parser.nit:3546 */
11281 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
11282 }
11283 fra.me.REG[6] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
11284 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
11285 /* ./parser//parser.nit:3553 */
11286 if (UNTAG_Bool(REGB0)) {
11287 } else {
11288 fprintf(stderr, "Assert failed");
11289 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3553);
11290 nit_exit(1);
11291 }
11292 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]);
11293 /* ./parser//parser.nit:3555 */
11294 if (UNTAG_Bool(REGB0)) {
11295 fra.me.REG[9] = fra.me.REG[5];
11296 /* ./parser//parser.nit:3556 */
11297 } else {
11298 /* ./parser//parser.nit:3558 */
11299 CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
11300 }
11301 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
11302 /* ./parser//parser.nit:3561 */
11303 if (UNTAG_Bool(REGB0)) {
11304 } else {
11305 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
11306 if (UNTAG_Bool(REGB1)) {
11307 REGB1 = TAG_Bool(false);
11308 REGB0 = REGB1;
11309 } else {
11310 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
11311 REGB0 = REGB1;
11312 }
11313 }
11314 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11315 if (UNTAG_Bool(REGB0)) {
11316 /* ./parser//parser.nit:3562 */
11317 array___Array___add(fra.me.REG[9], fra.me.REG[6]);
11318 }
11319 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11320 /* ./parser//parser.nit:3564 */
11321 if (UNTAG_Bool(REGB0)) {
11322 } else {
11323 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11324 if (UNTAG_Bool(REGB1)) {
11325 REGB1 = TAG_Bool(false);
11326 REGB0 = REGB1;
11327 } else {
11328 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11329 REGB0 = REGB1;
11330 }
11331 }
11332 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11333 if (UNTAG_Bool(REGB0)) {
11334 /* ./parser//parser.nit:3565 */
11335 array___Array___add(fra.me.REG[9], fra.me.REG[2]);
11336 }
11337 fra.me.REG[9] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
11338 fra.me.REG[0] = fra.me.REG[9];
11339 REGB0 = TAG_Int(0);
11340 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11341 /* ./parser//parser.nit:3573 */
11342 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
11343 stack_frame_head = fra.me.prev;
11344 return;
11345 }
11346 void parser___ReduceAction47___init(val_t p0, int* init_table){
11347 int itpos51 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction47].i;
11348 struct {struct stack_frame_t me;} fra;
11349 val_t tmp;
11350 if (init_table[itpos51]) return;
11351 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11352 fra.me.file = LOCATE_parser;
11353 fra.me.line = 3575;
11354 fra.me.meth = LOCATE_parser___ReduceAction47___init;
11355 fra.me.has_broke = 0;
11356 fra.me.REG_size = 1;
11357 fra.me.REG[0] = NIT_NULL;
11358 fra.me.REG[0] = p0;
11359 /* ./parser//parser.nit:3575 */
11360 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
11361 stack_frame_head = fra.me.prev;
11362 init_table[itpos51] = 1;
11363 return;
11364 }
11365 void parser___ReduceAction48___action(val_t p0, val_t p1){
11366 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
11367 val_t REGB0;
11368 val_t tmp;
11369 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11370 fra.me.file = LOCATE_parser;
11371 fra.me.line = 3579;
11372 fra.me.meth = LOCATE_parser___ReduceAction48___action;
11373 fra.me.has_broke = 0;
11374 fra.me.REG_size = 5;
11375 fra.me.REG[0] = NIT_NULL;
11376 fra.me.REG[1] = NIT_NULL;
11377 fra.me.REG[2] = NIT_NULL;
11378 fra.me.REG[3] = NIT_NULL;
11379 fra.me.REG[4] = NIT_NULL;
11380 fra.me.REG[0] = p0;
11381 fra.me.REG[1] = p1;
11382 fra.me.REG[0] = NIT_NULL;
11383 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11384 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11385 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11386 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11387 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11388 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
11389 /* ./parser//parser.nit:3588 */
11390 if (UNTAG_Bool(REGB0)) {
11391 } else {
11392 fprintf(stderr, "Assert failed");
11393 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3588);
11394 nit_exit(1);
11395 }
11396 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwpackage, ID_TKwpackage)) /*cast nullable TKwpackage*/;
11397 /* ./parser//parser.nit:3590 */
11398 if (UNTAG_Bool(REGB0)) {
11399 } else {
11400 fprintf(stderr, "Assert failed");
11401 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3590);
11402 nit_exit(1);
11403 }
11404 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/;
11405 /* ./parser//parser.nit:3592 */
11406 if (UNTAG_Bool(REGB0)) {
11407 } else {
11408 fprintf(stderr, "Assert failed");
11409 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3592);
11410 nit_exit(1);
11411 }
11412 fra.me.REG[2] = NEW_APackagedecl_parser_prod___APackagedecl___init_apackagedecl(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
11413 fra.me.REG[0] = fra.me.REG[2];
11414 REGB0 = TAG_Int(1);
11415 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11416 /* ./parser//parser.nit:3599 */
11417 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
11418 stack_frame_head = fra.me.prev;
11419 return;
11420 }
11421 void parser___ReduceAction48___init(val_t p0, int* init_table){
11422 int itpos52 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction48].i;
11423 struct {struct stack_frame_t me;} fra;
11424 val_t tmp;
11425 if (init_table[itpos52]) return;
11426 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11427 fra.me.file = LOCATE_parser;
11428 fra.me.line = 3601;
11429 fra.me.meth = LOCATE_parser___ReduceAction48___init;
11430 fra.me.has_broke = 0;
11431 fra.me.REG_size = 1;
11432 fra.me.REG[0] = NIT_NULL;
11433 fra.me.REG[0] = p0;
11434 /* ./parser//parser.nit:3601 */
11435 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
11436 stack_frame_head = fra.me.prev;
11437 init_table[itpos52] = 1;
11438 return;
11439 }
11440 void parser___ReduceAction49___action(val_t p0, val_t p1){
11441 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
11442 val_t REGB0;
11443 val_t tmp;
11444 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11445 fra.me.file = LOCATE_parser;
11446 fra.me.line = 3605;
11447 fra.me.meth = LOCATE_parser___ReduceAction49___action;
11448 fra.me.has_broke = 0;
11449 fra.me.REG_size = 6;
11450 fra.me.REG[0] = NIT_NULL;
11451 fra.me.REG[1] = NIT_NULL;
11452 fra.me.REG[2] = NIT_NULL;
11453 fra.me.REG[3] = NIT_NULL;
11454 fra.me.REG[4] = NIT_NULL;
11455 fra.me.REG[5] = NIT_NULL;
11456 fra.me.REG[0] = p0;
11457 fra.me.REG[1] = p1;
11458 fra.me.REG[0] = NIT_NULL;
11459 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11460 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11461 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11462 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11463 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11464 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11465 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
11466 /* ./parser//parser.nit:3615 */
11467 if (UNTAG_Bool(REGB0)) {
11468 } else {
11469 fprintf(stderr, "Assert failed");
11470 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3615);
11471 nit_exit(1);
11472 }
11473 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwimport, ID_TKwimport)) /*cast nullable TKwimport*/;
11474 /* ./parser//parser.nit:3617 */
11475 if (UNTAG_Bool(REGB0)) {
11476 } else {
11477 fprintf(stderr, "Assert failed");
11478 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3617);
11479 nit_exit(1);
11480 }
11481 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/;
11482 /* ./parser//parser.nit:3619 */
11483 if (UNTAG_Bool(REGB0)) {
11484 } else {
11485 fprintf(stderr, "Assert failed");
11486 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3619);
11487 nit_exit(1);
11488 }
11489 fra.me.REG[2] = NEW_AStdImport_parser_prod___AStdImport___init_astdimport(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
11490 fra.me.REG[0] = fra.me.REG[2];
11491 REGB0 = TAG_Int(2);
11492 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11493 /* ./parser//parser.nit:3626 */
11494 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
11495 stack_frame_head = fra.me.prev;
11496 return;
11497 }
11498 void parser___ReduceAction49___init(val_t p0, int* init_table){
11499 int itpos53 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction49].i;
11500 struct {struct stack_frame_t me;} fra;
11501 val_t tmp;
11502 if (init_table[itpos53]) return;
11503 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11504 fra.me.file = LOCATE_parser;
11505 fra.me.line = 3628;
11506 fra.me.meth = LOCATE_parser___ReduceAction49___init;
11507 fra.me.has_broke = 0;
11508 fra.me.REG_size = 1;
11509 fra.me.REG[0] = NIT_NULL;
11510 fra.me.REG[0] = p0;
11511 /* ./parser//parser.nit:3628 */
11512 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
11513 stack_frame_head = fra.me.prev;
11514 init_table[itpos53] = 1;
11515 return;
11516 }
11517 void parser___ReduceAction50___action(val_t p0, val_t p1){
11518 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
11519 val_t REGB0;
11520 val_t tmp;
11521 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11522 fra.me.file = LOCATE_parser;
11523 fra.me.line = 3632;
11524 fra.me.meth = LOCATE_parser___ReduceAction50___action;
11525 fra.me.has_broke = 0;
11526 fra.me.REG_size = 6;
11527 fra.me.REG[0] = NIT_NULL;
11528 fra.me.REG[1] = NIT_NULL;
11529 fra.me.REG[2] = NIT_NULL;
11530 fra.me.REG[3] = NIT_NULL;
11531 fra.me.REG[4] = NIT_NULL;
11532 fra.me.REG[5] = NIT_NULL;
11533 fra.me.REG[0] = p0;
11534 fra.me.REG[1] = p1;
11535 fra.me.REG[0] = NIT_NULL;
11536 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11537 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11538 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11539 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11540 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11541 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11542 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
11543 /* ./parser//parser.nit:3642 */
11544 if (UNTAG_Bool(REGB0)) {
11545 } else {
11546 fprintf(stderr, "Assert failed");
11547 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3642);
11548 nit_exit(1);
11549 }
11550 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwimport, ID_TKwimport)) /*cast nullable TKwimport*/;
11551 /* ./parser//parser.nit:3644 */
11552 if (UNTAG_Bool(REGB0)) {
11553 } else {
11554 fprintf(stderr, "Assert failed");
11555 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3644);
11556 nit_exit(1);
11557 }
11558 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwend, ID_TKwend)) /*cast nullable TKwend*/;
11559 /* ./parser//parser.nit:3646 */
11560 if (UNTAG_Bool(REGB0)) {
11561 } else {
11562 fprintf(stderr, "Assert failed");
11563 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3646);
11564 nit_exit(1);
11565 }
11566 fra.me.REG[2] = NEW_ANoImport_parser_prod___ANoImport___init_anoimport(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
11567 fra.me.REG[0] = fra.me.REG[2];
11568 REGB0 = TAG_Int(2);
11569 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11570 /* ./parser//parser.nit:3653 */
11571 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
11572 stack_frame_head = fra.me.prev;
11573 return;
11574 }
11575 void parser___ReduceAction50___init(val_t p0, int* init_table){
11576 int itpos54 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction50].i;
11577 struct {struct stack_frame_t me;} fra;
11578 val_t tmp;
11579 if (init_table[itpos54]) return;
11580 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11581 fra.me.file = LOCATE_parser;
11582 fra.me.line = 3655;
11583 fra.me.meth = LOCATE_parser___ReduceAction50___init;
11584 fra.me.has_broke = 0;
11585 fra.me.REG_size = 1;
11586 fra.me.REG[0] = NIT_NULL;
11587 fra.me.REG[0] = p0;
11588 /* ./parser//parser.nit:3655 */
11589 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
11590 stack_frame_head = fra.me.prev;
11591 init_table[itpos54] = 1;
11592 return;
11593 }
11594 void parser___ReduceAction51___action(val_t p0, val_t p1){
11595 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
11596 val_t REGB0;
11597 val_t REGB1;
11598 val_t tmp;
11599 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11600 fra.me.file = LOCATE_parser;
11601 fra.me.line = 3659;
11602 fra.me.meth = LOCATE_parser___ReduceAction51___action;
11603 fra.me.has_broke = 0;
11604 fra.me.REG_size = 4;
11605 fra.me.REG[0] = NIT_NULL;
11606 fra.me.REG[1] = NIT_NULL;
11607 fra.me.REG[2] = NIT_NULL;
11608 fra.me.REG[3] = NIT_NULL;
11609 fra.me.REG[0] = p0;
11610 fra.me.REG[1] = p1;
11611 fra.me.REG[0] = NIT_NULL;
11612 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11613 fra.me.REG[3] = NEW_Array_array___Array___init();
11614 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
11615 /* ./parser//parser.nit:3665 */
11616 if (UNTAG_Bool(REGB0)) {
11617 } else {
11618 fprintf(stderr, "Assert failed");
11619 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3665);
11620 nit_exit(1);
11621 }
11622 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11623 /* ./parser//parser.nit:3666 */
11624 if (UNTAG_Bool(REGB0)) {
11625 } else {
11626 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11627 if (UNTAG_Bool(REGB1)) {
11628 REGB1 = TAG_Bool(false);
11629 REGB0 = REGB1;
11630 } else {
11631 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11632 REGB0 = REGB1;
11633 }
11634 }
11635 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11636 if (UNTAG_Bool(REGB0)) {
11637 /* ./parser//parser.nit:3667 */
11638 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
11639 }
11640 fra.me.REG[3] = NEW_AMainClassdef_parser_prod___AMainClassdef___init_amainclassdef(fra.me.REG[3]);
11641 fra.me.REG[0] = fra.me.REG[3];
11642 REGB0 = TAG_Int(3);
11643 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11644 /* ./parser//parser.nit:3673 */
11645 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
11646 stack_frame_head = fra.me.prev;
11647 return;
11648 }
11649 void parser___ReduceAction51___init(val_t p0, int* init_table){
11650 int itpos55 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction51].i;
11651 struct {struct stack_frame_t me;} fra;
11652 val_t tmp;
11653 if (init_table[itpos55]) return;
11654 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11655 fra.me.file = LOCATE_parser;
11656 fra.me.line = 3675;
11657 fra.me.meth = LOCATE_parser___ReduceAction51___init;
11658 fra.me.has_broke = 0;
11659 fra.me.REG_size = 1;
11660 fra.me.REG[0] = NIT_NULL;
11661 fra.me.REG[0] = p0;
11662 /* ./parser//parser.nit:3675 */
11663 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
11664 stack_frame_head = fra.me.prev;
11665 init_table[itpos55] = 1;
11666 return;
11667 }
11668 void parser___ReduceAction52___action(val_t p0, val_t p1){
11669 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
11670 val_t REGB0;
11671 val_t tmp;
11672 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11673 fra.me.file = LOCATE_parser;
11674 fra.me.line = 3679;
11675 fra.me.meth = LOCATE_parser___ReduceAction52___action;
11676 fra.me.has_broke = 0;
11677 fra.me.REG_size = 3;
11678 fra.me.REG[0] = NIT_NULL;
11679 fra.me.REG[1] = NIT_NULL;
11680 fra.me.REG[2] = NIT_NULL;
11681 fra.me.REG[0] = p0;
11682 fra.me.REG[1] = p1;
11683 fra.me.REG[0] = NIT_NULL;
11684 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11685 fra.me.REG[0] = NIT_NULL;
11686 REGB0 = TAG_Int(3);
11687 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11688 /* ./parser//parser.nit:3684 */
11689 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
11690 stack_frame_head = fra.me.prev;
11691 return;
11692 }
11693 void parser___ReduceAction52___init(val_t p0, int* init_table){
11694 int itpos56 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction52].i;
11695 struct {struct stack_frame_t me;} fra;
11696 val_t tmp;
11697 if (init_table[itpos56]) return;
11698 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11699 fra.me.file = LOCATE_parser;
11700 fra.me.line = 3686;
11701 fra.me.meth = LOCATE_parser___ReduceAction52___init;
11702 fra.me.has_broke = 0;
11703 fra.me.REG_size = 1;
11704 fra.me.REG[0] = NIT_NULL;
11705 fra.me.REG[0] = p0;
11706 /* ./parser//parser.nit:3686 */
11707 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
11708 stack_frame_head = fra.me.prev;
11709 init_table[itpos56] = 1;
11710 return;
11711 }
11712 void parser___ReduceAction53___action(val_t p0, val_t p1){
11713 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
11714 val_t REGB0;
11715 val_t REGB1;
11716 val_t tmp;
11717 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11718 fra.me.file = LOCATE_parser;
11719 fra.me.line = 3690;
11720 fra.me.meth = LOCATE_parser___ReduceAction53___action;
11721 fra.me.has_broke = 0;
11722 fra.me.REG_size = 4;
11723 fra.me.REG[0] = NIT_NULL;
11724 fra.me.REG[1] = NIT_NULL;
11725 fra.me.REG[2] = NIT_NULL;
11726 fra.me.REG[3] = NIT_NULL;
11727 fra.me.REG[0] = p0;
11728 fra.me.REG[1] = p1;
11729 fra.me.REG[0] = NIT_NULL;
11730 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11731 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11732 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11733 fra.me.REG[3] = NEW_Array_array___Array___init();
11734 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
11735 /* ./parser//parser.nit:3698 */
11736 if (UNTAG_Bool(REGB0)) {
11737 } else {
11738 fprintf(stderr, "Assert failed");
11739 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3698);
11740 nit_exit(1);
11741 }
11742 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11743 /* ./parser//parser.nit:3699 */
11744 if (UNTAG_Bool(REGB0)) {
11745 } else {
11746 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11747 if (UNTAG_Bool(REGB1)) {
11748 REGB1 = TAG_Bool(false);
11749 REGB0 = REGB1;
11750 } else {
11751 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11752 REGB0 = REGB1;
11753 }
11754 }
11755 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11756 if (UNTAG_Bool(REGB0)) {
11757 /* ./parser//parser.nit:3700 */
11758 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
11759 }
11760 fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]);
11761 fra.me.REG[3] = NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___init_amainmethpropdef(NIT_NULL, fra.me.REG[3]);
11762 fra.me.REG[0] = fra.me.REG[3];
11763 REGB0 = TAG_Int(4);
11764 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11765 /* ./parser//parser.nit:3710 */
11766 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
11767 stack_frame_head = fra.me.prev;
11768 return;
11769 }
11770 void parser___ReduceAction53___init(val_t p0, int* init_table){
11771 int itpos57 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction53].i;
11772 struct {struct stack_frame_t me;} fra;
11773 val_t tmp;
11774 if (init_table[itpos57]) return;
11775 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11776 fra.me.file = LOCATE_parser;
11777 fra.me.line = 3712;
11778 fra.me.meth = LOCATE_parser___ReduceAction53___init;
11779 fra.me.has_broke = 0;
11780 fra.me.REG_size = 1;
11781 fra.me.REG[0] = NIT_NULL;
11782 fra.me.REG[0] = p0;
11783 /* ./parser//parser.nit:3712 */
11784 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
11785 stack_frame_head = fra.me.prev;
11786 init_table[itpos57] = 1;
11787 return;
11788 }
11789 void parser___ReduceAction54___action(val_t p0, val_t p1){
11790 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
11791 val_t REGB0;
11792 val_t REGB1;
11793 val_t tmp;
11794 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11795 fra.me.file = LOCATE_parser;
11796 fra.me.line = 3716;
11797 fra.me.meth = LOCATE_parser___ReduceAction54___action;
11798 fra.me.has_broke = 0;
11799 fra.me.REG_size = 5;
11800 fra.me.REG[0] = NIT_NULL;
11801 fra.me.REG[1] = NIT_NULL;
11802 fra.me.REG[2] = NIT_NULL;
11803 fra.me.REG[3] = NIT_NULL;
11804 fra.me.REG[4] = NIT_NULL;
11805 fra.me.REG[0] = p0;
11806 fra.me.REG[1] = p1;
11807 fra.me.REG[0] = NIT_NULL;
11808 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11809 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11810 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11811 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11812 fra.me.REG[4] = NEW_Array_array___Array___init();
11813 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
11814 /* ./parser//parser.nit:3725 */
11815 if (UNTAG_Bool(REGB0)) {
11816 } else {
11817 fprintf(stderr, "Assert failed");
11818 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3725);
11819 nit_exit(1);
11820 }
11821 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
11822 /* ./parser//parser.nit:3727 */
11823 if (UNTAG_Bool(REGB0)) {
11824 } else {
11825 fprintf(stderr, "Assert failed");
11826 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3727);
11827 nit_exit(1);
11828 }
11829 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11830 /* ./parser//parser.nit:3728 */
11831 if (UNTAG_Bool(REGB0)) {
11832 } else {
11833 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11834 if (UNTAG_Bool(REGB1)) {
11835 REGB1 = TAG_Bool(false);
11836 REGB0 = REGB1;
11837 } else {
11838 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11839 REGB0 = REGB1;
11840 }
11841 }
11842 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11843 if (UNTAG_Bool(REGB0)) {
11844 /* ./parser//parser.nit:3729 */
11845 array___Array___add(fra.me.REG[4], fra.me.REG[3]);
11846 }
11847 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
11848 /* ./parser//parser.nit:3732 */
11849 if (UNTAG_Bool(REGB0)) {
11850 fra.me.REG[4] = fra.me.REG[2];
11851 /* ./parser//parser.nit:3733 */
11852 } else {
11853 /* ./parser//parser.nit:3735 */
11854 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
11855 }
11856 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
11857 fra.me.REG[4] = NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___init_amainmethpropdef(NIT_NULL, fra.me.REG[4]);
11858 fra.me.REG[0] = fra.me.REG[4];
11859 REGB0 = TAG_Int(4);
11860 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11861 /* ./parser//parser.nit:3746 */
11862 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
11863 stack_frame_head = fra.me.prev;
11864 return;
11865 }
11866 void parser___ReduceAction54___init(val_t p0, int* init_table){
11867 int itpos58 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction54].i;
11868 struct {struct stack_frame_t me;} fra;
11869 val_t tmp;
11870 if (init_table[itpos58]) return;
11871 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11872 fra.me.file = LOCATE_parser;
11873 fra.me.line = 3748;
11874 fra.me.meth = LOCATE_parser___ReduceAction54___init;
11875 fra.me.has_broke = 0;
11876 fra.me.REG_size = 1;
11877 fra.me.REG[0] = NIT_NULL;
11878 fra.me.REG[0] = p0;
11879 /* ./parser//parser.nit:3748 */
11880 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
11881 stack_frame_head = fra.me.prev;
11882 init_table[itpos58] = 1;
11883 return;
11884 }
11885 void parser___ReduceAction55___action(val_t p0, val_t p1){
11886 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
11887 val_t REGB0;
11888 val_t tmp;
11889 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11890 fra.me.file = LOCATE_parser;
11891 fra.me.line = 3752;
11892 fra.me.meth = LOCATE_parser___ReduceAction55___action;
11893 fra.me.has_broke = 0;
11894 fra.me.REG_size = 9;
11895 fra.me.REG[0] = NIT_NULL;
11896 fra.me.REG[1] = NIT_NULL;
11897 fra.me.REG[2] = NIT_NULL;
11898 fra.me.REG[3] = NIT_NULL;
11899 fra.me.REG[4] = NIT_NULL;
11900 fra.me.REG[5] = NIT_NULL;
11901 fra.me.REG[6] = NIT_NULL;
11902 fra.me.REG[7] = NIT_NULL;
11903 fra.me.REG[8] = NIT_NULL;
11904 fra.me.REG[0] = p0;
11905 fra.me.REG[1] = p1;
11906 fra.me.REG[0] = NIT_NULL;
11907 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11908 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11909 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11910 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11911 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11912 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11913 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11914 fra.me.REG[6] = NEW_Array_array___Array___init();
11915 fra.me.REG[7] = NEW_Array_array___Array___init();
11916 fra.me.REG[8] = NEW_Array_array___Array___init();
11917 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
11918 /* ./parser//parser.nit:3766 */
11919 if (UNTAG_Bool(REGB0)) {
11920 } else {
11921 fprintf(stderr, "Assert failed");
11922 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3766);
11923 nit_exit(1);
11924 }
11925 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
11926 /* ./parser//parser.nit:3768 */
11927 if (UNTAG_Bool(REGB0)) {
11928 } else {
11929 fprintf(stderr, "Assert failed");
11930 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3768);
11931 nit_exit(1);
11932 }
11933 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
11934 /* ./parser//parser.nit:3770 */
11935 if (UNTAG_Bool(REGB0)) {
11936 } else {
11937 fprintf(stderr, "Assert failed");
11938 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3770);
11939 nit_exit(1);
11940 }
11941 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
11942 /* ./parser//parser.nit:3772 */
11943 if (UNTAG_Bool(REGB0)) {
11944 } else {
11945 fprintf(stderr, "Assert failed");
11946 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3772);
11947 nit_exit(1);
11948 }
11949 fra.me.REG[8] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
11950 fra.me.REG[0] = fra.me.REG[8];
11951 REGB0 = TAG_Int(5);
11952 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11953 /* ./parser//parser.nit:3784 */
11954 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
11955 stack_frame_head = fra.me.prev;
11956 return;
11957 }
11958 void parser___ReduceAction55___init(val_t p0, int* init_table){
11959 int itpos59 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction55].i;
11960 struct {struct stack_frame_t me;} fra;
11961 val_t tmp;
11962 if (init_table[itpos59]) return;
11963 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11964 fra.me.file = LOCATE_parser;
11965 fra.me.line = 3786;
11966 fra.me.meth = LOCATE_parser___ReduceAction55___init;
11967 fra.me.has_broke = 0;
11968 fra.me.REG_size = 1;
11969 fra.me.REG[0] = NIT_NULL;
11970 fra.me.REG[0] = p0;
11971 /* ./parser//parser.nit:3786 */
11972 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
11973 stack_frame_head = fra.me.prev;
11974 init_table[itpos59] = 1;
11975 return;
11976 }
11977 void parser___ReduceAction56___action(val_t p0, val_t p1){
11978 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
11979 val_t REGB0;
11980 val_t tmp;
11981 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11982 fra.me.file = LOCATE_parser;
11983 fra.me.line = 3790;
11984 fra.me.meth = LOCATE_parser___ReduceAction56___action;
11985 fra.me.has_broke = 0;
11986 fra.me.REG_size = 10;
11987 fra.me.REG[0] = NIT_NULL;
11988 fra.me.REG[1] = NIT_NULL;
11989 fra.me.REG[2] = NIT_NULL;
11990 fra.me.REG[3] = NIT_NULL;
11991 fra.me.REG[4] = NIT_NULL;
11992 fra.me.REG[5] = NIT_NULL;
11993 fra.me.REG[6] = NIT_NULL;
11994 fra.me.REG[7] = NIT_NULL;
11995 fra.me.REG[8] = NIT_NULL;
11996 fra.me.REG[9] = NIT_NULL;
11997 fra.me.REG[0] = p0;
11998 fra.me.REG[1] = p1;
11999 fra.me.REG[0] = NIT_NULL;
12000 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12001 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12002 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12003 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12004 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12005 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12006 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12007 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12008 fra.me.REG[7] = NEW_Array_array___Array___init();
12009 fra.me.REG[8] = NEW_Array_array___Array___init();
12010 fra.me.REG[9] = NEW_Array_array___Array___init();
12011 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
12012 /* ./parser//parser.nit:3805 */
12013 if (UNTAG_Bool(REGB0)) {
12014 } else {
12015 fprintf(stderr, "Assert failed");
12016 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3805);
12017 nit_exit(1);
12018 }
12019 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
12020 /* ./parser//parser.nit:3807 */
12021 if (UNTAG_Bool(REGB0)) {
12022 } else {
12023 fprintf(stderr, "Assert failed");
12024 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3807);
12025 nit_exit(1);
12026 }
12027 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
12028 /* ./parser//parser.nit:3809 */
12029 if (UNTAG_Bool(REGB0)) {
12030 } else {
12031 fprintf(stderr, "Assert failed");
12032 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3809);
12033 nit_exit(1);
12034 }
12035 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
12036 /* ./parser//parser.nit:3811 */
12037 if (UNTAG_Bool(REGB0)) {
12038 } else {
12039 fprintf(stderr, "Assert failed");
12040 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3811);
12041 nit_exit(1);
12042 }
12043 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
12044 /* ./parser//parser.nit:3813 */
12045 if (UNTAG_Bool(REGB0)) {
12046 } else {
12047 fprintf(stderr, "Assert failed");
12048 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3813);
12049 nit_exit(1);
12050 }
12051 fra.me.REG[9] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
12052 fra.me.REG[0] = fra.me.REG[9];
12053 REGB0 = TAG_Int(5);
12054 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12055 /* ./parser//parser.nit:3825 */
12056 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
12057 stack_frame_head = fra.me.prev;
12058 return;
12059 }
12060 void parser___ReduceAction56___init(val_t p0, int* init_table){
12061 int itpos60 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction56].i;
12062 struct {struct stack_frame_t me;} fra;
12063 val_t tmp;
12064 if (init_table[itpos60]) return;
12065 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12066 fra.me.file = LOCATE_parser;
12067 fra.me.line = 3827;
12068 fra.me.meth = LOCATE_parser___ReduceAction56___init;
12069 fra.me.has_broke = 0;
12070 fra.me.REG_size = 1;
12071 fra.me.REG[0] = NIT_NULL;
12072 fra.me.REG[0] = p0;
12073 /* ./parser//parser.nit:3827 */
12074 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
12075 stack_frame_head = fra.me.prev;
12076 init_table[itpos60] = 1;
12077 return;
12078 }
12079 void parser___ReduceAction57___action(val_t p0, val_t p1){
12080 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
12081 val_t REGB0;
12082 val_t tmp;
12083 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12084 fra.me.file = LOCATE_parser;
12085 fra.me.line = 3831;
12086 fra.me.meth = LOCATE_parser___ReduceAction57___action;
12087 fra.me.has_broke = 0;
12088 fra.me.REG_size = 10;
12089 fra.me.REG[0] = NIT_NULL;
12090 fra.me.REG[1] = NIT_NULL;
12091 fra.me.REG[2] = NIT_NULL;
12092 fra.me.REG[3] = NIT_NULL;
12093 fra.me.REG[4] = NIT_NULL;
12094 fra.me.REG[5] = NIT_NULL;
12095 fra.me.REG[6] = NIT_NULL;
12096 fra.me.REG[7] = NIT_NULL;
12097 fra.me.REG[8] = NIT_NULL;
12098 fra.me.REG[9] = NIT_NULL;
12099 fra.me.REG[0] = p0;
12100 fra.me.REG[1] = p1;
12101 fra.me.REG[0] = NIT_NULL;
12102 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12103 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12104 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12105 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12106 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12107 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12108 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12109 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12110 fra.me.REG[7] = NEW_Array_array___Array___init();
12111 fra.me.REG[8] = NEW_Array_array___Array___init();
12112 fra.me.REG[9] = NEW_Array_array___Array___init();
12113 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
12114 /* ./parser//parser.nit:3846 */
12115 if (UNTAG_Bool(REGB0)) {
12116 } else {
12117 fprintf(stderr, "Assert failed");
12118 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3846);
12119 nit_exit(1);
12120 }
12121 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
12122 /* ./parser//parser.nit:3848 */
12123 if (UNTAG_Bool(REGB0)) {
12124 } else {
12125 fprintf(stderr, "Assert failed");
12126 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3848);
12127 nit_exit(1);
12128 }
12129 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
12130 /* ./parser//parser.nit:3850 */
12131 if (UNTAG_Bool(REGB0)) {
12132 } else {
12133 fprintf(stderr, "Assert failed");
12134 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3850);
12135 nit_exit(1);
12136 }
12137 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
12138 /* ./parser//parser.nit:3852 */
12139 if (UNTAG_Bool(REGB0)) {
12140 } else {
12141 fprintf(stderr, "Assert failed");
12142 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3852);
12143 nit_exit(1);
12144 }
12145 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
12146 /* ./parser//parser.nit:3854 */
12147 if (UNTAG_Bool(REGB0)) {
12148 } else {
12149 fprintf(stderr, "Assert failed");
12150 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3854);
12151 nit_exit(1);
12152 }
12153 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
12154 /* ./parser//parser.nit:3856 */
12155 if (UNTAG_Bool(REGB0)) {
12156 fra.me.REG[7] = fra.me.REG[2];
12157 /* ./parser//parser.nit:3857 */
12158 } else {
12159 /* ./parser//parser.nit:3859 */
12160 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]);
12161 }
12162 fra.me.REG[9] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
12163 fra.me.REG[0] = fra.me.REG[9];
12164 REGB0 = TAG_Int(5);
12165 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12166 /* ./parser//parser.nit:3873 */
12167 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
12168 stack_frame_head = fra.me.prev;
12169 return;
12170 }
12171 void parser___ReduceAction57___init(val_t p0, int* init_table){
12172 int itpos61 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction57].i;
12173 struct {struct stack_frame_t me;} fra;
12174 val_t tmp;
12175 if (init_table[itpos61]) return;
12176 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12177 fra.me.file = LOCATE_parser;
12178 fra.me.line = 3875;
12179 fra.me.meth = LOCATE_parser___ReduceAction57___init;
12180 fra.me.has_broke = 0;
12181 fra.me.REG_size = 1;
12182 fra.me.REG[0] = NIT_NULL;
12183 fra.me.REG[0] = p0;
12184 /* ./parser//parser.nit:3875 */
12185 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
12186 stack_frame_head = fra.me.prev;
12187 init_table[itpos61] = 1;
12188 return;
12189 }
12190 void parser___ReduceAction58___action(val_t p0, val_t p1){
12191 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
12192 val_t REGB0;
12193 val_t tmp;
12194 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12195 fra.me.file = LOCATE_parser;
12196 fra.me.line = 3879;
12197 fra.me.meth = LOCATE_parser___ReduceAction58___action;
12198 fra.me.has_broke = 0;
12199 fra.me.REG_size = 11;
12200 fra.me.REG[0] = NIT_NULL;
12201 fra.me.REG[1] = NIT_NULL;
12202 fra.me.REG[2] = NIT_NULL;
12203 fra.me.REG[3] = NIT_NULL;
12204 fra.me.REG[4] = NIT_NULL;
12205 fra.me.REG[5] = NIT_NULL;
12206 fra.me.REG[6] = NIT_NULL;
12207 fra.me.REG[7] = NIT_NULL;
12208 fra.me.REG[8] = NIT_NULL;
12209 fra.me.REG[9] = NIT_NULL;
12210 fra.me.REG[10] = NIT_NULL;
12211 fra.me.REG[0] = p0;
12212 fra.me.REG[1] = p1;
12213 fra.me.REG[0] = NIT_NULL;
12214 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12215 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12216 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12217 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12218 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12219 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12220 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12221 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12222 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12223 fra.me.REG[8] = NEW_Array_array___Array___init();
12224 fra.me.REG[9] = NEW_Array_array___Array___init();
12225 fra.me.REG[10] = NEW_Array_array___Array___init();
12226 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
12227 /* ./parser//parser.nit:3895 */
12228 if (UNTAG_Bool(REGB0)) {
12229 } else {
12230 fprintf(stderr, "Assert failed");
12231 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3895);
12232 nit_exit(1);
12233 }
12234 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
12235 /* ./parser//parser.nit:3897 */
12236 if (UNTAG_Bool(REGB0)) {
12237 } else {
12238 fprintf(stderr, "Assert failed");
12239 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3897);
12240 nit_exit(1);
12241 }
12242 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
12243 /* ./parser//parser.nit:3899 */
12244 if (UNTAG_Bool(REGB0)) {
12245 } else {
12246 fprintf(stderr, "Assert failed");
12247 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3899);
12248 nit_exit(1);
12249 }
12250 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
12251 /* ./parser//parser.nit:3901 */
12252 if (UNTAG_Bool(REGB0)) {
12253 } else {
12254 fprintf(stderr, "Assert failed");
12255 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3901);
12256 nit_exit(1);
12257 }
12258 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
12259 /* ./parser//parser.nit:3903 */
12260 if (UNTAG_Bool(REGB0)) {
12261 } else {
12262 fprintf(stderr, "Assert failed");
12263 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3903);
12264 nit_exit(1);
12265 }
12266 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
12267 /* ./parser//parser.nit:3905 */
12268 if (UNTAG_Bool(REGB0)) {
12269 } else {
12270 fprintf(stderr, "Assert failed");
12271 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3905);
12272 nit_exit(1);
12273 }
12274 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
12275 /* ./parser//parser.nit:3907 */
12276 if (UNTAG_Bool(REGB0)) {
12277 fra.me.REG[8] = fra.me.REG[2];
12278 /* ./parser//parser.nit:3908 */
12279 } else {
12280 /* ./parser//parser.nit:3910 */
12281 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[2]);
12282 }
12283 fra.me.REG[10] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
12284 fra.me.REG[0] = fra.me.REG[10];
12285 REGB0 = TAG_Int(5);
12286 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12287 /* ./parser//parser.nit:3924 */
12288 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
12289 stack_frame_head = fra.me.prev;
12290 return;
12291 }
12292 void parser___ReduceAction58___init(val_t p0, int* init_table){
12293 int itpos62 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction58].i;
12294 struct {struct stack_frame_t me;} fra;
12295 val_t tmp;
12296 if (init_table[itpos62]) return;
12297 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12298 fra.me.file = LOCATE_parser;
12299 fra.me.line = 3926;
12300 fra.me.meth = LOCATE_parser___ReduceAction58___init;
12301 fra.me.has_broke = 0;
12302 fra.me.REG_size = 1;
12303 fra.me.REG[0] = NIT_NULL;
12304 fra.me.REG[0] = p0;
12305 /* ./parser//parser.nit:3926 */
12306 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
12307 stack_frame_head = fra.me.prev;
12308 init_table[itpos62] = 1;
12309 return;
12310 }
12311 void parser___ReduceAction59___action(val_t p0, val_t p1){
12312 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
12313 val_t REGB0;
12314 val_t tmp;
12315 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12316 fra.me.file = LOCATE_parser;
12317 fra.me.line = 3930;
12318 fra.me.meth = LOCATE_parser___ReduceAction59___action;
12319 fra.me.has_broke = 0;
12320 fra.me.REG_size = 10;
12321 fra.me.REG[0] = NIT_NULL;
12322 fra.me.REG[1] = NIT_NULL;
12323 fra.me.REG[2] = NIT_NULL;
12324 fra.me.REG[3] = NIT_NULL;
12325 fra.me.REG[4] = NIT_NULL;
12326 fra.me.REG[5] = NIT_NULL;
12327 fra.me.REG[6] = NIT_NULL;
12328 fra.me.REG[7] = NIT_NULL;
12329 fra.me.REG[8] = NIT_NULL;
12330 fra.me.REG[9] = NIT_NULL;
12331 fra.me.REG[0] = p0;
12332 fra.me.REG[1] = p1;
12333 fra.me.REG[0] = NIT_NULL;
12334 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12335 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12336 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12337 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12338 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12339 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12340 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12341 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12342 fra.me.REG[7] = NEW_Array_array___Array___init();
12343 fra.me.REG[8] = NEW_Array_array___Array___init();
12344 fra.me.REG[9] = NEW_Array_array___Array___init();
12345 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
12346 /* ./parser//parser.nit:3945 */
12347 if (UNTAG_Bool(REGB0)) {
12348 } else {
12349 fprintf(stderr, "Assert failed");
12350 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3945);
12351 nit_exit(1);
12352 }
12353 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
12354 /* ./parser//parser.nit:3947 */
12355 if (UNTAG_Bool(REGB0)) {
12356 } else {
12357 fprintf(stderr, "Assert failed");
12358 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3947);
12359 nit_exit(1);
12360 }
12361 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
12362 /* ./parser//parser.nit:3949 */
12363 if (UNTAG_Bool(REGB0)) {
12364 } else {
12365 fprintf(stderr, "Assert failed");
12366 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3949);
12367 nit_exit(1);
12368 }
12369 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
12370 /* ./parser//parser.nit:3951 */
12371 if (UNTAG_Bool(REGB0)) {
12372 } else {
12373 fprintf(stderr, "Assert failed");
12374 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3951);
12375 nit_exit(1);
12376 }
12377 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
12378 /* ./parser//parser.nit:3953 */
12379 if (UNTAG_Bool(REGB0)) {
12380 } else {
12381 fprintf(stderr, "Assert failed");
12382 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3953);
12383 nit_exit(1);
12384 }
12385 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
12386 /* ./parser//parser.nit:3955 */
12387 if (UNTAG_Bool(REGB0)) {
12388 fra.me.REG[8] = fra.me.REG[2];
12389 /* ./parser//parser.nit:3956 */
12390 } else {
12391 /* ./parser//parser.nit:3958 */
12392 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[2]);
12393 }
12394 fra.me.REG[9] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
12395 fra.me.REG[0] = fra.me.REG[9];
12396 REGB0 = TAG_Int(5);
12397 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12398 /* ./parser//parser.nit:3972 */
12399 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
12400 stack_frame_head = fra.me.prev;
12401 return;
12402 }
12403 void parser___ReduceAction59___init(val_t p0, int* init_table){
12404 int itpos63 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction59].i;
12405 struct {struct stack_frame_t me;} fra;
12406 val_t tmp;
12407 if (init_table[itpos63]) return;
12408 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12409 fra.me.file = LOCATE_parser;
12410 fra.me.line = 3974;
12411 fra.me.meth = LOCATE_parser___ReduceAction59___init;
12412 fra.me.has_broke = 0;
12413 fra.me.REG_size = 1;
12414 fra.me.REG[0] = NIT_NULL;
12415 fra.me.REG[0] = p0;
12416 /* ./parser//parser.nit:3974 */
12417 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
12418 stack_frame_head = fra.me.prev;
12419 init_table[itpos63] = 1;
12420 return;
12421 }
12422 void parser___ReduceAction60___action(val_t p0, val_t p1){
12423 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
12424 val_t REGB0;
12425 val_t tmp;
12426 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12427 fra.me.file = LOCATE_parser;
12428 fra.me.line = 3978;
12429 fra.me.meth = LOCATE_parser___ReduceAction60___action;
12430 fra.me.has_broke = 0;
12431 fra.me.REG_size = 11;
12432 fra.me.REG[0] = NIT_NULL;
12433 fra.me.REG[1] = NIT_NULL;
12434 fra.me.REG[2] = NIT_NULL;
12435 fra.me.REG[3] = NIT_NULL;
12436 fra.me.REG[4] = NIT_NULL;
12437 fra.me.REG[5] = NIT_NULL;
12438 fra.me.REG[6] = NIT_NULL;
12439 fra.me.REG[7] = NIT_NULL;
12440 fra.me.REG[8] = NIT_NULL;
12441 fra.me.REG[9] = NIT_NULL;
12442 fra.me.REG[10] = NIT_NULL;
12443 fra.me.REG[0] = p0;
12444 fra.me.REG[1] = p1;
12445 fra.me.REG[0] = NIT_NULL;
12446 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12447 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12448 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12449 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12450 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12451 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12452 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12453 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12454 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12455 fra.me.REG[8] = NEW_Array_array___Array___init();
12456 fra.me.REG[9] = NEW_Array_array___Array___init();
12457 fra.me.REG[10] = NEW_Array_array___Array___init();
12458 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
12459 /* ./parser//parser.nit:3994 */
12460 if (UNTAG_Bool(REGB0)) {
12461 } else {
12462 fprintf(stderr, "Assert failed");
12463 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3994);
12464 nit_exit(1);
12465 }
12466 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
12467 /* ./parser//parser.nit:3996 */
12468 if (UNTAG_Bool(REGB0)) {
12469 } else {
12470 fprintf(stderr, "Assert failed");
12471 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3996);
12472 nit_exit(1);
12473 }
12474 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
12475 /* ./parser//parser.nit:3998 */
12476 if (UNTAG_Bool(REGB0)) {
12477 } else {
12478 fprintf(stderr, "Assert failed");
12479 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3998);
12480 nit_exit(1);
12481 }
12482 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
12483 /* ./parser//parser.nit:4000 */
12484 if (UNTAG_Bool(REGB0)) {
12485 } else {
12486 fprintf(stderr, "Assert failed");
12487 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4000);
12488 nit_exit(1);
12489 }
12490 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
12491 /* ./parser//parser.nit:4002 */
12492 if (UNTAG_Bool(REGB0)) {
12493 } else {
12494 fprintf(stderr, "Assert failed");
12495 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4002);
12496 nit_exit(1);
12497 }
12498 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
12499 /* ./parser//parser.nit:4004 */
12500 if (UNTAG_Bool(REGB0)) {
12501 } else {
12502 fprintf(stderr, "Assert failed");
12503 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4004);
12504 nit_exit(1);
12505 }
12506 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]);
12507 /* ./parser//parser.nit:4006 */
12508 if (UNTAG_Bool(REGB0)) {
12509 fra.me.REG[9] = fra.me.REG[2];
12510 /* ./parser//parser.nit:4007 */
12511 } else {
12512 /* ./parser//parser.nit:4009 */
12513 CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[2]);
12514 }
12515 fra.me.REG[10] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
12516 fra.me.REG[0] = fra.me.REG[10];
12517 REGB0 = TAG_Int(5);
12518 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12519 /* ./parser//parser.nit:4023 */
12520 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
12521 stack_frame_head = fra.me.prev;
12522 return;
12523 }
12524 void parser___ReduceAction60___init(val_t p0, int* init_table){
12525 int itpos64 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction60].i;
12526 struct {struct stack_frame_t me;} fra;
12527 val_t tmp;
12528 if (init_table[itpos64]) return;
12529 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12530 fra.me.file = LOCATE_parser;
12531 fra.me.line = 4025;
12532 fra.me.meth = LOCATE_parser___ReduceAction60___init;
12533 fra.me.has_broke = 0;
12534 fra.me.REG_size = 1;
12535 fra.me.REG[0] = NIT_NULL;
12536 fra.me.REG[0] = p0;
12537 /* ./parser//parser.nit:4025 */
12538 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
12539 stack_frame_head = fra.me.prev;
12540 init_table[itpos64] = 1;
12541 return;
12542 }
12543 void parser___ReduceAction61___action(val_t p0, val_t p1){
12544 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
12545 val_t REGB0;
12546 val_t tmp;
12547 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12548 fra.me.file = LOCATE_parser;
12549 fra.me.line = 4029;
12550 fra.me.meth = LOCATE_parser___ReduceAction61___action;
12551 fra.me.has_broke = 0;
12552 fra.me.REG_size = 11;
12553 fra.me.REG[0] = NIT_NULL;
12554 fra.me.REG[1] = NIT_NULL;
12555 fra.me.REG[2] = NIT_NULL;
12556 fra.me.REG[3] = NIT_NULL;
12557 fra.me.REG[4] = NIT_NULL;
12558 fra.me.REG[5] = NIT_NULL;
12559 fra.me.REG[6] = NIT_NULL;
12560 fra.me.REG[7] = NIT_NULL;
12561 fra.me.REG[8] = NIT_NULL;
12562 fra.me.REG[9] = NIT_NULL;
12563 fra.me.REG[10] = NIT_NULL;
12564 fra.me.REG[0] = p0;
12565 fra.me.REG[1] = p1;
12566 fra.me.REG[0] = NIT_NULL;
12567 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12568 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12569 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12570 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12571 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12572 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12573 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12574 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12575 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12576 fra.me.REG[8] = NEW_Array_array___Array___init();
12577 fra.me.REG[9] = NEW_Array_array___Array___init();
12578 fra.me.REG[10] = NEW_Array_array___Array___init();
12579 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
12580 /* ./parser//parser.nit:4045 */
12581 if (UNTAG_Bool(REGB0)) {
12582 } else {
12583 fprintf(stderr, "Assert failed");
12584 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4045);
12585 nit_exit(1);
12586 }
12587 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
12588 /* ./parser//parser.nit:4047 */
12589 if (UNTAG_Bool(REGB0)) {
12590 } else {
12591 fprintf(stderr, "Assert failed");
12592 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4047);
12593 nit_exit(1);
12594 }
12595 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
12596 /* ./parser//parser.nit:4049 */
12597 if (UNTAG_Bool(REGB0)) {
12598 } else {
12599 fprintf(stderr, "Assert failed");
12600 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4049);
12601 nit_exit(1);
12602 }
12603 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
12604 /* ./parser//parser.nit:4051 */
12605 if (UNTAG_Bool(REGB0)) {
12606 } else {
12607 fprintf(stderr, "Assert failed");
12608 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4051);
12609 nit_exit(1);
12610 }
12611 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
12612 /* ./parser//parser.nit:4053 */
12613 if (UNTAG_Bool(REGB0)) {
12614 } else {
12615 fprintf(stderr, "Assert failed");
12616 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4053);
12617 nit_exit(1);
12618 }
12619 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
12620 /* ./parser//parser.nit:4055 */
12621 if (UNTAG_Bool(REGB0)) {
12622 fra.me.REG[8] = fra.me.REG[3];
12623 /* ./parser//parser.nit:4056 */
12624 } else {
12625 /* ./parser//parser.nit:4058 */
12626 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
12627 }
12628 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
12629 /* ./parser//parser.nit:4062 */
12630 if (UNTAG_Bool(REGB0)) {
12631 } else {
12632 fprintf(stderr, "Assert failed");
12633 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4062);
12634 nit_exit(1);
12635 }
12636 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]);
12637 /* ./parser//parser.nit:4064 */
12638 if (UNTAG_Bool(REGB0)) {
12639 fra.me.REG[9] = fra.me.REG[2];
12640 /* ./parser//parser.nit:4065 */
12641 } else {
12642 /* ./parser//parser.nit:4067 */
12643 CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[2]);
12644 }
12645 fra.me.REG[10] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
12646 fra.me.REG[0] = fra.me.REG[10];
12647 REGB0 = TAG_Int(5);
12648 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12649 /* ./parser//parser.nit:4081 */
12650 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
12651 stack_frame_head = fra.me.prev;
12652 return;
12653 }
12654 void parser___ReduceAction61___init(val_t p0, int* init_table){
12655 int itpos65 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction61].i;
12656 struct {struct stack_frame_t me;} fra;
12657 val_t tmp;
12658 if (init_table[itpos65]) return;
12659 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12660 fra.me.file = LOCATE_parser;
12661 fra.me.line = 4083;
12662 fra.me.meth = LOCATE_parser___ReduceAction61___init;
12663 fra.me.has_broke = 0;
12664 fra.me.REG_size = 1;
12665 fra.me.REG[0] = NIT_NULL;
12666 fra.me.REG[0] = p0;
12667 /* ./parser//parser.nit:4083 */
12668 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
12669 stack_frame_head = fra.me.prev;
12670 init_table[itpos65] = 1;
12671 return;
12672 }
12673 void parser___ReduceAction62___action(val_t p0, val_t p1){
12674 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
12675 val_t REGB0;
12676 val_t tmp;
12677 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12678 fra.me.file = LOCATE_parser;
12679 fra.me.line = 4087;
12680 fra.me.meth = LOCATE_parser___ReduceAction62___action;
12681 fra.me.has_broke = 0;
12682 fra.me.REG_size = 12;
12683 fra.me.REG[0] = NIT_NULL;
12684 fra.me.REG[1] = NIT_NULL;
12685 fra.me.REG[2] = NIT_NULL;
12686 fra.me.REG[3] = NIT_NULL;
12687 fra.me.REG[4] = NIT_NULL;
12688 fra.me.REG[5] = NIT_NULL;
12689 fra.me.REG[6] = NIT_NULL;
12690 fra.me.REG[7] = NIT_NULL;
12691 fra.me.REG[8] = NIT_NULL;
12692 fra.me.REG[9] = NIT_NULL;
12693 fra.me.REG[10] = NIT_NULL;
12694 fra.me.REG[11] = NIT_NULL;
12695 fra.me.REG[0] = p0;
12696 fra.me.REG[1] = p1;
12697 fra.me.REG[0] = NIT_NULL;
12698 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12699 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12700 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12701 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12702 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12703 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12704 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12705 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12706 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12707 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12708 fra.me.REG[9] = NEW_Array_array___Array___init();
12709 fra.me.REG[10] = NEW_Array_array___Array___init();
12710 fra.me.REG[11] = NEW_Array_array___Array___init();
12711 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
12712 /* ./parser//parser.nit:4104 */
12713 if (UNTAG_Bool(REGB0)) {
12714 } else {
12715 fprintf(stderr, "Assert failed");
12716 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4104);
12717 nit_exit(1);
12718 }
12719 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
12720 /* ./parser//parser.nit:4106 */
12721 if (UNTAG_Bool(REGB0)) {
12722 } else {
12723 fprintf(stderr, "Assert failed");
12724 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4106);
12725 nit_exit(1);
12726 }
12727 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
12728 /* ./parser//parser.nit:4108 */
12729 if (UNTAG_Bool(REGB0)) {
12730 } else {
12731 fprintf(stderr, "Assert failed");
12732 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4108);
12733 nit_exit(1);
12734 }
12735 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
12736 /* ./parser//parser.nit:4110 */
12737 if (UNTAG_Bool(REGB0)) {
12738 } else {
12739 fprintf(stderr, "Assert failed");
12740 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4110);
12741 nit_exit(1);
12742 }
12743 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
12744 /* ./parser//parser.nit:4112 */
12745 if (UNTAG_Bool(REGB0)) {
12746 } else {
12747 fprintf(stderr, "Assert failed");
12748 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4112);
12749 nit_exit(1);
12750 }
12751 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
12752 /* ./parser//parser.nit:4114 */
12753 if (UNTAG_Bool(REGB0)) {
12754 } else {
12755 fprintf(stderr, "Assert failed");
12756 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4114);
12757 nit_exit(1);
12758 }
12759 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]);
12760 /* ./parser//parser.nit:4116 */
12761 if (UNTAG_Bool(REGB0)) {
12762 fra.me.REG[9] = fra.me.REG[3];
12763 /* ./parser//parser.nit:4117 */
12764 } else {
12765 /* ./parser//parser.nit:4119 */
12766 CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
12767 }
12768 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
12769 /* ./parser//parser.nit:4123 */
12770 if (UNTAG_Bool(REGB0)) {
12771 } else {
12772 fprintf(stderr, "Assert failed");
12773 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4123);
12774 nit_exit(1);
12775 }
12776 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[10])(fra.me.REG[10]);
12777 /* ./parser//parser.nit:4125 */
12778 if (UNTAG_Bool(REGB0)) {
12779 fra.me.REG[10] = fra.me.REG[2];
12780 /* ./parser//parser.nit:4126 */
12781 } else {
12782 /* ./parser//parser.nit:4128 */
12783 CALL_abstract_collection___Sequence___append(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[2]);
12784 }
12785 fra.me.REG[11] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11]);
12786 fra.me.REG[0] = fra.me.REG[11];
12787 REGB0 = TAG_Int(5);
12788 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12789 /* ./parser//parser.nit:4142 */
12790 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
12791 stack_frame_head = fra.me.prev;
12792 return;
12793 }
12794 void parser___ReduceAction62___init(val_t p0, int* init_table){
12795 int itpos66 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction62].i;
12796 struct {struct stack_frame_t me;} fra;
12797 val_t tmp;
12798 if (init_table[itpos66]) return;
12799 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12800 fra.me.file = LOCATE_parser;
12801 fra.me.line = 4144;
12802 fra.me.meth = LOCATE_parser___ReduceAction62___init;
12803 fra.me.has_broke = 0;
12804 fra.me.REG_size = 1;
12805 fra.me.REG[0] = NIT_NULL;
12806 fra.me.REG[0] = p0;
12807 /* ./parser//parser.nit:4144 */
12808 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
12809 stack_frame_head = fra.me.prev;
12810 init_table[itpos66] = 1;
12811 return;
12812 }
12813 void parser___ReduceAction63___action(val_t p0, val_t p1){
12814 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
12815 val_t REGB0;
12816 val_t REGB1;
12817 val_t tmp;
12818 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12819 fra.me.file = LOCATE_parser;
12820 fra.me.line = 4148;
12821 fra.me.meth = LOCATE_parser___ReduceAction63___action;
12822 fra.me.has_broke = 0;
12823 fra.me.REG_size = 10;
12824 fra.me.REG[0] = NIT_NULL;
12825 fra.me.REG[1] = NIT_NULL;
12826 fra.me.REG[2] = NIT_NULL;
12827 fra.me.REG[3] = NIT_NULL;
12828 fra.me.REG[4] = NIT_NULL;
12829 fra.me.REG[5] = NIT_NULL;
12830 fra.me.REG[6] = NIT_NULL;
12831 fra.me.REG[7] = NIT_NULL;
12832 fra.me.REG[8] = NIT_NULL;
12833 fra.me.REG[9] = NIT_NULL;
12834 fra.me.REG[0] = p0;
12835 fra.me.REG[1] = p1;
12836 fra.me.REG[0] = NIT_NULL;
12837 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12838 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12839 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12840 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12841 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12842 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12843 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12844 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12845 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12846 fra.me.REG[7] = NEW_Array_array___Array___init();
12847 fra.me.REG[8] = NEW_Array_array___Array___init();
12848 fra.me.REG[9] = NEW_Array_array___Array___init();
12849 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
12850 /* ./parser//parser.nit:4164 */
12851 if (UNTAG_Bool(REGB0)) {
12852 } else {
12853 fprintf(stderr, "Assert failed");
12854 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4164);
12855 nit_exit(1);
12856 }
12857 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
12858 /* ./parser//parser.nit:4166 */
12859 if (UNTAG_Bool(REGB0)) {
12860 } else {
12861 fprintf(stderr, "Assert failed");
12862 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4166);
12863 nit_exit(1);
12864 }
12865 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
12866 /* ./parser//parser.nit:4168 */
12867 if (UNTAG_Bool(REGB0)) {
12868 } else {
12869 fprintf(stderr, "Assert failed");
12870 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4168);
12871 nit_exit(1);
12872 }
12873 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
12874 /* ./parser//parser.nit:4170 */
12875 if (UNTAG_Bool(REGB0)) {
12876 } else {
12877 fprintf(stderr, "Assert failed");
12878 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4170);
12879 nit_exit(1);
12880 }
12881 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
12882 /* ./parser//parser.nit:4172 */
12883 if (UNTAG_Bool(REGB0)) {
12884 } else {
12885 fprintf(stderr, "Assert failed");
12886 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4172);
12887 nit_exit(1);
12888 }
12889 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12890 /* ./parser//parser.nit:4173 */
12891 if (UNTAG_Bool(REGB0)) {
12892 } else {
12893 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12894 if (UNTAG_Bool(REGB1)) {
12895 REGB1 = TAG_Bool(false);
12896 REGB0 = REGB1;
12897 } else {
12898 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
12899 REGB0 = REGB1;
12900 }
12901 }
12902 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12903 if (UNTAG_Bool(REGB0)) {
12904 /* ./parser//parser.nit:4174 */
12905 array___Array___add(fra.me.REG[9], fra.me.REG[2]);
12906 }
12907 fra.me.REG[9] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
12908 fra.me.REG[0] = fra.me.REG[9];
12909 REGB0 = TAG_Int(5);
12910 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12911 /* ./parser//parser.nit:4187 */
12912 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
12913 stack_frame_head = fra.me.prev;
12914 return;
12915 }
12916 void parser___ReduceAction63___init(val_t p0, int* init_table){
12917 int itpos67 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction63].i;
12918 struct {struct stack_frame_t me;} fra;
12919 val_t tmp;
12920 if (init_table[itpos67]) return;
12921 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12922 fra.me.file = LOCATE_parser;
12923 fra.me.line = 4189;
12924 fra.me.meth = LOCATE_parser___ReduceAction63___init;
12925 fra.me.has_broke = 0;
12926 fra.me.REG_size = 1;
12927 fra.me.REG[0] = NIT_NULL;
12928 fra.me.REG[0] = p0;
12929 /* ./parser//parser.nit:4189 */
12930 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
12931 stack_frame_head = fra.me.prev;
12932 init_table[itpos67] = 1;
12933 return;
12934 }
12935 void parser___ReduceAction64___action(val_t p0, val_t p1){
12936 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
12937 val_t REGB0;
12938 val_t REGB1;
12939 val_t tmp;
12940 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12941 fra.me.file = LOCATE_parser;
12942 fra.me.line = 4193;
12943 fra.me.meth = LOCATE_parser___ReduceAction64___action;
12944 fra.me.has_broke = 0;
12945 fra.me.REG_size = 11;
12946 fra.me.REG[0] = NIT_NULL;
12947 fra.me.REG[1] = NIT_NULL;
12948 fra.me.REG[2] = NIT_NULL;
12949 fra.me.REG[3] = NIT_NULL;
12950 fra.me.REG[4] = NIT_NULL;
12951 fra.me.REG[5] = NIT_NULL;
12952 fra.me.REG[6] = NIT_NULL;
12953 fra.me.REG[7] = NIT_NULL;
12954 fra.me.REG[8] = NIT_NULL;
12955 fra.me.REG[9] = NIT_NULL;
12956 fra.me.REG[10] = NIT_NULL;
12957 fra.me.REG[0] = p0;
12958 fra.me.REG[1] = p1;
12959 fra.me.REG[0] = NIT_NULL;
12960 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12961 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12962 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12963 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12964 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12965 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12966 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12967 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12968 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12969 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12970 fra.me.REG[8] = NEW_Array_array___Array___init();
12971 fra.me.REG[9] = NEW_Array_array___Array___init();
12972 fra.me.REG[10] = NEW_Array_array___Array___init();
12973 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
12974 /* ./parser//parser.nit:4210 */
12975 if (UNTAG_Bool(REGB0)) {
12976 } else {
12977 fprintf(stderr, "Assert failed");
12978 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4210);
12979 nit_exit(1);
12980 }
12981 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
12982 /* ./parser//parser.nit:4212 */
12983 if (UNTAG_Bool(REGB0)) {
12984 } else {
12985 fprintf(stderr, "Assert failed");
12986 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4212);
12987 nit_exit(1);
12988 }
12989 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
12990 /* ./parser//parser.nit:4214 */
12991 if (UNTAG_Bool(REGB0)) {
12992 } else {
12993 fprintf(stderr, "Assert failed");
12994 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4214);
12995 nit_exit(1);
12996 }
12997 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
12998 /* ./parser//parser.nit:4216 */
12999 if (UNTAG_Bool(REGB0)) {
13000 } else {
13001 fprintf(stderr, "Assert failed");
13002 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4216);
13003 nit_exit(1);
13004 }
13005 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
13006 /* ./parser//parser.nit:4218 */
13007 if (UNTAG_Bool(REGB0)) {
13008 } else {
13009 fprintf(stderr, "Assert failed");
13010 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4218);
13011 nit_exit(1);
13012 }
13013 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
13014 /* ./parser//parser.nit:4220 */
13015 if (UNTAG_Bool(REGB0)) {
13016 } else {
13017 fprintf(stderr, "Assert failed");
13018 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4220);
13019 nit_exit(1);
13020 }
13021 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13022 /* ./parser//parser.nit:4221 */
13023 if (UNTAG_Bool(REGB0)) {
13024 } else {
13025 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13026 if (UNTAG_Bool(REGB1)) {
13027 REGB1 = TAG_Bool(false);
13028 REGB0 = REGB1;
13029 } else {
13030 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
13031 REGB0 = REGB1;
13032 }
13033 }
13034 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13035 if (UNTAG_Bool(REGB0)) {
13036 /* ./parser//parser.nit:4222 */
13037 array___Array___add(fra.me.REG[10], fra.me.REG[3]);
13038 }
13039 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[10])(fra.me.REG[10]);
13040 /* ./parser//parser.nit:4225 */
13041 if (UNTAG_Bool(REGB0)) {
13042 fra.me.REG[10] = fra.me.REG[2];
13043 /* ./parser//parser.nit:4226 */
13044 } else {
13045 /* ./parser//parser.nit:4228 */
13046 CALL_abstract_collection___Sequence___append(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[2]);
13047 }
13048 fra.me.REG[10] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
13049 fra.me.REG[0] = fra.me.REG[10];
13050 REGB0 = TAG_Int(5);
13051 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13052 /* ./parser//parser.nit:4242 */
13053 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
13054 stack_frame_head = fra.me.prev;
13055 return;
13056 }
13057 void parser___ReduceAction64___init(val_t p0, int* init_table){
13058 int itpos68 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction64].i;
13059 struct {struct stack_frame_t me;} fra;
13060 val_t tmp;
13061 if (init_table[itpos68]) return;
13062 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13063 fra.me.file = LOCATE_parser;
13064 fra.me.line = 4244;
13065 fra.me.meth = LOCATE_parser___ReduceAction64___init;
13066 fra.me.has_broke = 0;
13067 fra.me.REG_size = 1;
13068 fra.me.REG[0] = NIT_NULL;
13069 fra.me.REG[0] = p0;
13070 /* ./parser//parser.nit:4244 */
13071 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
13072 stack_frame_head = fra.me.prev;
13073 init_table[itpos68] = 1;
13074 return;
13075 }
13076 void parser___ReduceAction65___action(val_t p0, val_t p1){
13077 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
13078 val_t REGB0;
13079 val_t REGB1;
13080 val_t tmp;
13081 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13082 fra.me.file = LOCATE_parser;
13083 fra.me.line = 4248;
13084 fra.me.meth = LOCATE_parser___ReduceAction65___action;
13085 fra.me.has_broke = 0;
13086 fra.me.REG_size = 11;
13087 fra.me.REG[0] = NIT_NULL;
13088 fra.me.REG[1] = NIT_NULL;
13089 fra.me.REG[2] = NIT_NULL;
13090 fra.me.REG[3] = NIT_NULL;
13091 fra.me.REG[4] = NIT_NULL;
13092 fra.me.REG[5] = NIT_NULL;
13093 fra.me.REG[6] = NIT_NULL;
13094 fra.me.REG[7] = NIT_NULL;
13095 fra.me.REG[8] = NIT_NULL;
13096 fra.me.REG[9] = NIT_NULL;
13097 fra.me.REG[10] = NIT_NULL;
13098 fra.me.REG[0] = p0;
13099 fra.me.REG[1] = p1;
13100 fra.me.REG[0] = NIT_NULL;
13101 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13102 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13103 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13104 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13105 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13106 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13107 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13108 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13109 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13110 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13111 fra.me.REG[8] = NEW_Array_array___Array___init();
13112 fra.me.REG[9] = NEW_Array_array___Array___init();
13113 fra.me.REG[10] = NEW_Array_array___Array___init();
13114 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
13115 /* ./parser//parser.nit:4265 */
13116 if (UNTAG_Bool(REGB0)) {
13117 } else {
13118 fprintf(stderr, "Assert failed");
13119 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4265);
13120 nit_exit(1);
13121 }
13122 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
13123 /* ./parser//parser.nit:4267 */
13124 if (UNTAG_Bool(REGB0)) {
13125 } else {
13126 fprintf(stderr, "Assert failed");
13127 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4267);
13128 nit_exit(1);
13129 }
13130 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
13131 /* ./parser//parser.nit:4269 */
13132 if (UNTAG_Bool(REGB0)) {
13133 } else {
13134 fprintf(stderr, "Assert failed");
13135 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4269);
13136 nit_exit(1);
13137 }
13138 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
13139 /* ./parser//parser.nit:4271 */
13140 if (UNTAG_Bool(REGB0)) {
13141 } else {
13142 fprintf(stderr, "Assert failed");
13143 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4271);
13144 nit_exit(1);
13145 }
13146 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
13147 /* ./parser//parser.nit:4273 */
13148 if (UNTAG_Bool(REGB0)) {
13149 } else {
13150 fprintf(stderr, "Assert failed");
13151 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4273);
13152 nit_exit(1);
13153 }
13154 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
13155 /* ./parser//parser.nit:4275 */
13156 if (UNTAG_Bool(REGB0)) {
13157 } else {
13158 fprintf(stderr, "Assert failed");
13159 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4275);
13160 nit_exit(1);
13161 }
13162 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13163 /* ./parser//parser.nit:4276 */
13164 if (UNTAG_Bool(REGB0)) {
13165 } else {
13166 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13167 if (UNTAG_Bool(REGB1)) {
13168 REGB1 = TAG_Bool(false);
13169 REGB0 = REGB1;
13170 } else {
13171 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
13172 REGB0 = REGB1;
13173 }
13174 }
13175 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13176 if (UNTAG_Bool(REGB0)) {
13177 /* ./parser//parser.nit:4277 */
13178 array___Array___add(fra.me.REG[10], fra.me.REG[2]);
13179 }
13180 fra.me.REG[10] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
13181 fra.me.REG[0] = fra.me.REG[10];
13182 REGB0 = TAG_Int(5);
13183 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13184 /* ./parser//parser.nit:4290 */
13185 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
13186 stack_frame_head = fra.me.prev;
13187 return;
13188 }
13189 void parser___ReduceAction65___init(val_t p0, int* init_table){
13190 int itpos69 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction65].i;
13191 struct {struct stack_frame_t me;} fra;
13192 val_t tmp;
13193 if (init_table[itpos69]) return;
13194 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13195 fra.me.file = LOCATE_parser;
13196 fra.me.line = 4292;
13197 fra.me.meth = LOCATE_parser___ReduceAction65___init;
13198 fra.me.has_broke = 0;
13199 fra.me.REG_size = 1;
13200 fra.me.REG[0] = NIT_NULL;
13201 fra.me.REG[0] = p0;
13202 /* ./parser//parser.nit:4292 */
13203 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
13204 stack_frame_head = fra.me.prev;
13205 init_table[itpos69] = 1;
13206 return;
13207 }
13208 void parser___ReduceAction66___action(val_t p0, val_t p1){
13209 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
13210 val_t REGB0;
13211 val_t REGB1;
13212 val_t tmp;
13213 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13214 fra.me.file = LOCATE_parser;
13215 fra.me.line = 4296;
13216 fra.me.meth = LOCATE_parser___ReduceAction66___action;
13217 fra.me.has_broke = 0;
13218 fra.me.REG_size = 12;
13219 fra.me.REG[0] = NIT_NULL;
13220 fra.me.REG[1] = NIT_NULL;
13221 fra.me.REG[2] = NIT_NULL;
13222 fra.me.REG[3] = NIT_NULL;
13223 fra.me.REG[4] = NIT_NULL;
13224 fra.me.REG[5] = NIT_NULL;
13225 fra.me.REG[6] = NIT_NULL;
13226 fra.me.REG[7] = NIT_NULL;
13227 fra.me.REG[8] = NIT_NULL;
13228 fra.me.REG[9] = NIT_NULL;
13229 fra.me.REG[10] = NIT_NULL;
13230 fra.me.REG[11] = NIT_NULL;
13231 fra.me.REG[0] = p0;
13232 fra.me.REG[1] = p1;
13233 fra.me.REG[0] = NIT_NULL;
13234 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13235 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13236 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13237 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13238 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13239 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13240 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13241 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13242 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13243 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13244 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13245 fra.me.REG[9] = NEW_Array_array___Array___init();
13246 fra.me.REG[10] = NEW_Array_array___Array___init();
13247 fra.me.REG[11] = NEW_Array_array___Array___init();
13248 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
13249 /* ./parser//parser.nit:4314 */
13250 if (UNTAG_Bool(REGB0)) {
13251 } else {
13252 fprintf(stderr, "Assert failed");
13253 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4314);
13254 nit_exit(1);
13255 }
13256 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
13257 /* ./parser//parser.nit:4316 */
13258 if (UNTAG_Bool(REGB0)) {
13259 } else {
13260 fprintf(stderr, "Assert failed");
13261 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4316);
13262 nit_exit(1);
13263 }
13264 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
13265 /* ./parser//parser.nit:4318 */
13266 if (UNTAG_Bool(REGB0)) {
13267 } else {
13268 fprintf(stderr, "Assert failed");
13269 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4318);
13270 nit_exit(1);
13271 }
13272 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
13273 /* ./parser//parser.nit:4320 */
13274 if (UNTAG_Bool(REGB0)) {
13275 } else {
13276 fprintf(stderr, "Assert failed");
13277 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4320);
13278 nit_exit(1);
13279 }
13280 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
13281 /* ./parser//parser.nit:4322 */
13282 if (UNTAG_Bool(REGB0)) {
13283 } else {
13284 fprintf(stderr, "Assert failed");
13285 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4322);
13286 nit_exit(1);
13287 }
13288 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
13289 /* ./parser//parser.nit:4324 */
13290 if (UNTAG_Bool(REGB0)) {
13291 } else {
13292 fprintf(stderr, "Assert failed");
13293 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4324);
13294 nit_exit(1);
13295 }
13296 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
13297 /* ./parser//parser.nit:4326 */
13298 if (UNTAG_Bool(REGB0)) {
13299 } else {
13300 fprintf(stderr, "Assert failed");
13301 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4326);
13302 nit_exit(1);
13303 }
13304 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13305 /* ./parser//parser.nit:4327 */
13306 if (UNTAG_Bool(REGB0)) {
13307 } else {
13308 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13309 if (UNTAG_Bool(REGB1)) {
13310 REGB1 = TAG_Bool(false);
13311 REGB0 = REGB1;
13312 } else {
13313 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
13314 REGB0 = REGB1;
13315 }
13316 }
13317 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13318 if (UNTAG_Bool(REGB0)) {
13319 /* ./parser//parser.nit:4328 */
13320 array___Array___add(fra.me.REG[11], fra.me.REG[3]);
13321 }
13322 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[11])(fra.me.REG[11]);
13323 /* ./parser//parser.nit:4331 */
13324 if (UNTAG_Bool(REGB0)) {
13325 fra.me.REG[11] = fra.me.REG[2];
13326 /* ./parser//parser.nit:4332 */
13327 } else {
13328 /* ./parser//parser.nit:4334 */
13329 CALL_abstract_collection___Sequence___append(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[2]);
13330 }
13331 fra.me.REG[11] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11]);
13332 fra.me.REG[0] = fra.me.REG[11];
13333 REGB0 = TAG_Int(5);
13334 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13335 /* ./parser//parser.nit:4348 */
13336 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
13337 stack_frame_head = fra.me.prev;
13338 return;
13339 }
13340 void parser___ReduceAction66___init(val_t p0, int* init_table){
13341 int itpos70 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction66].i;
13342 struct {struct stack_frame_t me;} fra;
13343 val_t tmp;
13344 if (init_table[itpos70]) return;
13345 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13346 fra.me.file = LOCATE_parser;
13347 fra.me.line = 4350;
13348 fra.me.meth = LOCATE_parser___ReduceAction66___init;
13349 fra.me.has_broke = 0;
13350 fra.me.REG_size = 1;
13351 fra.me.REG[0] = NIT_NULL;
13352 fra.me.REG[0] = p0;
13353 /* ./parser//parser.nit:4350 */
13354 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
13355 stack_frame_head = fra.me.prev;
13356 init_table[itpos70] = 1;
13357 return;
13358 }
13359 void parser___ReduceAction67___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 = 4354;
13367 fra.me.meth = LOCATE_parser___ReduceAction67___action;
13368 fra.me.has_broke = 0;
13369 fra.me.REG_size = 11;
13370 fra.me.REG[0] = NIT_NULL;
13371 fra.me.REG[1] = NIT_NULL;
13372 fra.me.REG[2] = NIT_NULL;
13373 fra.me.REG[3] = NIT_NULL;
13374 fra.me.REG[4] = NIT_NULL;
13375 fra.me.REG[5] = NIT_NULL;
13376 fra.me.REG[6] = NIT_NULL;
13377 fra.me.REG[7] = NIT_NULL;
13378 fra.me.REG[8] = NIT_NULL;
13379 fra.me.REG[9] = NIT_NULL;
13380 fra.me.REG[10] = NIT_NULL;
13381 fra.me.REG[0] = p0;
13382 fra.me.REG[1] = p1;
13383 fra.me.REG[0] = NIT_NULL;
13384 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13385 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13386 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13387 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13388 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13389 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13390 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13391 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13392 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13393 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13394 fra.me.REG[8] = NEW_Array_array___Array___init();
13395 fra.me.REG[9] = NEW_Array_array___Array___init();
13396 fra.me.REG[10] = NEW_Array_array___Array___init();
13397 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
13398 /* ./parser//parser.nit:4371 */
13399 if (UNTAG_Bool(REGB0)) {
13400 } else {
13401 fprintf(stderr, "Assert failed");
13402 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4371);
13403 nit_exit(1);
13404 }
13405 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
13406 /* ./parser//parser.nit:4373 */
13407 if (UNTAG_Bool(REGB0)) {
13408 } else {
13409 fprintf(stderr, "Assert failed");
13410 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4373);
13411 nit_exit(1);
13412 }
13413 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
13414 /* ./parser//parser.nit:4375 */
13415 if (UNTAG_Bool(REGB0)) {
13416 } else {
13417 fprintf(stderr, "Assert failed");
13418 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4375);
13419 nit_exit(1);
13420 }
13421 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
13422 /* ./parser//parser.nit:4377 */
13423 if (UNTAG_Bool(REGB0)) {
13424 } else {
13425 fprintf(stderr, "Assert failed");
13426 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4377);
13427 nit_exit(1);
13428 }
13429 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
13430 /* ./parser//parser.nit:4379 */
13431 if (UNTAG_Bool(REGB0)) {
13432 } else {
13433 fprintf(stderr, "Assert failed");
13434 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4379);
13435 nit_exit(1);
13436 }
13437 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
13438 /* ./parser//parser.nit:4381 */
13439 if (UNTAG_Bool(REGB0)) {
13440 fra.me.REG[8] = fra.me.REG[3];
13441 /* ./parser//parser.nit:4382 */
13442 } else {
13443 /* ./parser//parser.nit:4384 */
13444 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
13445 }
13446 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
13447 /* ./parser//parser.nit:4388 */
13448 if (UNTAG_Bool(REGB0)) {
13449 } else {
13450 fprintf(stderr, "Assert failed");
13451 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4388);
13452 nit_exit(1);
13453 }
13454 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13455 /* ./parser//parser.nit:4389 */
13456 if (UNTAG_Bool(REGB0)) {
13457 } else {
13458 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13459 if (UNTAG_Bool(REGB1)) {
13460 REGB1 = TAG_Bool(false);
13461 REGB0 = REGB1;
13462 } else {
13463 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
13464 REGB0 = REGB1;
13465 }
13466 }
13467 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13468 if (UNTAG_Bool(REGB0)) {
13469 /* ./parser//parser.nit:4390 */
13470 array___Array___add(fra.me.REG[10], fra.me.REG[2]);
13471 }
13472 fra.me.REG[10] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
13473 fra.me.REG[0] = fra.me.REG[10];
13474 REGB0 = TAG_Int(5);
13475 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13476 /* ./parser//parser.nit:4403 */
13477 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
13478 stack_frame_head = fra.me.prev;
13479 return;
13480 }
13481 void parser___ReduceAction67___init(val_t p0, int* init_table){
13482 int itpos71 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction67].i;
13483 struct {struct stack_frame_t me;} fra;
13484 val_t tmp;
13485 if (init_table[itpos71]) return;
13486 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13487 fra.me.file = LOCATE_parser;
13488 fra.me.line = 4405;
13489 fra.me.meth = LOCATE_parser___ReduceAction67___init;
13490 fra.me.has_broke = 0;
13491 fra.me.REG_size = 1;
13492 fra.me.REG[0] = NIT_NULL;
13493 fra.me.REG[0] = p0;
13494 /* ./parser//parser.nit:4405 */
13495 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
13496 stack_frame_head = fra.me.prev;
13497 init_table[itpos71] = 1;
13498 return;
13499 }
13500 void parser___ReduceAction68___action(val_t p0, val_t p1){
13501 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
13502 val_t REGB0;
13503 val_t REGB1;
13504 val_t tmp;
13505 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13506 fra.me.file = LOCATE_parser;
13507 fra.me.line = 4409;
13508 fra.me.meth = LOCATE_parser___ReduceAction68___action;
13509 fra.me.has_broke = 0;
13510 fra.me.REG_size = 12;
13511 fra.me.REG[0] = NIT_NULL;
13512 fra.me.REG[1] = NIT_NULL;
13513 fra.me.REG[2] = NIT_NULL;
13514 fra.me.REG[3] = NIT_NULL;
13515 fra.me.REG[4] = NIT_NULL;
13516 fra.me.REG[5] = NIT_NULL;
13517 fra.me.REG[6] = NIT_NULL;
13518 fra.me.REG[7] = NIT_NULL;
13519 fra.me.REG[8] = NIT_NULL;
13520 fra.me.REG[9] = NIT_NULL;
13521 fra.me.REG[10] = NIT_NULL;
13522 fra.me.REG[11] = NIT_NULL;
13523 fra.me.REG[0] = p0;
13524 fra.me.REG[1] = p1;
13525 fra.me.REG[0] = NIT_NULL;
13526 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13527 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13528 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13529 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13530 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13531 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13532 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13533 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13534 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13535 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13536 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13537 fra.me.REG[9] = NEW_Array_array___Array___init();
13538 fra.me.REG[10] = NEW_Array_array___Array___init();
13539 fra.me.REG[11] = NEW_Array_array___Array___init();
13540 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
13541 /* ./parser//parser.nit:4427 */
13542 if (UNTAG_Bool(REGB0)) {
13543 } else {
13544 fprintf(stderr, "Assert failed");
13545 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4427);
13546 nit_exit(1);
13547 }
13548 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
13549 /* ./parser//parser.nit:4429 */
13550 if (UNTAG_Bool(REGB0)) {
13551 } else {
13552 fprintf(stderr, "Assert failed");
13553 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4429);
13554 nit_exit(1);
13555 }
13556 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
13557 /* ./parser//parser.nit:4431 */
13558 if (UNTAG_Bool(REGB0)) {
13559 } else {
13560 fprintf(stderr, "Assert failed");
13561 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4431);
13562 nit_exit(1);
13563 }
13564 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
13565 /* ./parser//parser.nit:4433 */
13566 if (UNTAG_Bool(REGB0)) {
13567 } else {
13568 fprintf(stderr, "Assert failed");
13569 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4433);
13570 nit_exit(1);
13571 }
13572 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
13573 /* ./parser//parser.nit:4435 */
13574 if (UNTAG_Bool(REGB0)) {
13575 } else {
13576 fprintf(stderr, "Assert failed");
13577 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4435);
13578 nit_exit(1);
13579 }
13580 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]);
13581 /* ./parser//parser.nit:4437 */
13582 if (UNTAG_Bool(REGB0)) {
13583 fra.me.REG[9] = fra.me.REG[4];
13584 /* ./parser//parser.nit:4438 */
13585 } else {
13586 /* ./parser//parser.nit:4440 */
13587 CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[4]);
13588 }
13589 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
13590 /* ./parser//parser.nit:4444 */
13591 if (UNTAG_Bool(REGB0)) {
13592 } else {
13593 fprintf(stderr, "Assert failed");
13594 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4444);
13595 nit_exit(1);
13596 }
13597 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
13598 /* ./parser//parser.nit:4446 */
13599 if (UNTAG_Bool(REGB0)) {
13600 } else {
13601 fprintf(stderr, "Assert failed");
13602 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4446);
13603 nit_exit(1);
13604 }
13605 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13606 /* ./parser//parser.nit:4447 */
13607 if (UNTAG_Bool(REGB0)) {
13608 } else {
13609 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13610 if (UNTAG_Bool(REGB1)) {
13611 REGB1 = TAG_Bool(false);
13612 REGB0 = REGB1;
13613 } else {
13614 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
13615 REGB0 = REGB1;
13616 }
13617 }
13618 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13619 if (UNTAG_Bool(REGB0)) {
13620 /* ./parser//parser.nit:4448 */
13621 array___Array___add(fra.me.REG[11], fra.me.REG[3]);
13622 }
13623 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[11])(fra.me.REG[11]);
13624 /* ./parser//parser.nit:4451 */
13625 if (UNTAG_Bool(REGB0)) {
13626 fra.me.REG[11] = fra.me.REG[2];
13627 /* ./parser//parser.nit:4452 */
13628 } else {
13629 /* ./parser//parser.nit:4454 */
13630 CALL_abstract_collection___Sequence___append(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[2]);
13631 }
13632 fra.me.REG[11] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11]);
13633 fra.me.REG[0] = fra.me.REG[11];
13634 REGB0 = TAG_Int(5);
13635 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13636 /* ./parser//parser.nit:4468 */
13637 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
13638 stack_frame_head = fra.me.prev;
13639 return;
13640 }
13641 void parser___ReduceAction68___init(val_t p0, int* init_table){
13642 int itpos72 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction68].i;
13643 struct {struct stack_frame_t me;} fra;
13644 val_t tmp;
13645 if (init_table[itpos72]) return;
13646 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13647 fra.me.file = LOCATE_parser;
13648 fra.me.line = 4470;
13649 fra.me.meth = LOCATE_parser___ReduceAction68___init;
13650 fra.me.has_broke = 0;
13651 fra.me.REG_size = 1;
13652 fra.me.REG[0] = NIT_NULL;
13653 fra.me.REG[0] = p0;
13654 /* ./parser//parser.nit:4470 */
13655 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
13656 stack_frame_head = fra.me.prev;
13657 init_table[itpos72] = 1;
13658 return;
13659 }
13660 void parser___ReduceAction69___action(val_t p0, val_t p1){
13661 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
13662 val_t REGB0;
13663 val_t REGB1;
13664 val_t tmp;
13665 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13666 fra.me.file = LOCATE_parser;
13667 fra.me.line = 4474;
13668 fra.me.meth = LOCATE_parser___ReduceAction69___action;
13669 fra.me.has_broke = 0;
13670 fra.me.REG_size = 12;
13671 fra.me.REG[0] = NIT_NULL;
13672 fra.me.REG[1] = NIT_NULL;
13673 fra.me.REG[2] = NIT_NULL;
13674 fra.me.REG[3] = NIT_NULL;
13675 fra.me.REG[4] = NIT_NULL;
13676 fra.me.REG[5] = NIT_NULL;
13677 fra.me.REG[6] = NIT_NULL;
13678 fra.me.REG[7] = NIT_NULL;
13679 fra.me.REG[8] = NIT_NULL;
13680 fra.me.REG[9] = NIT_NULL;
13681 fra.me.REG[10] = NIT_NULL;
13682 fra.me.REG[11] = NIT_NULL;
13683 fra.me.REG[0] = p0;
13684 fra.me.REG[1] = p1;
13685 fra.me.REG[0] = NIT_NULL;
13686 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13687 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13688 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13689 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13690 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13691 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13692 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13693 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13694 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13695 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13696 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13697 fra.me.REG[9] = NEW_Array_array___Array___init();
13698 fra.me.REG[10] = NEW_Array_array___Array___init();
13699 fra.me.REG[11] = NEW_Array_array___Array___init();
13700 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
13701 /* ./parser//parser.nit:4492 */
13702 if (UNTAG_Bool(REGB0)) {
13703 } else {
13704 fprintf(stderr, "Assert failed");
13705 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4492);
13706 nit_exit(1);
13707 }
13708 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
13709 /* ./parser//parser.nit:4494 */
13710 if (UNTAG_Bool(REGB0)) {
13711 } else {
13712 fprintf(stderr, "Assert failed");
13713 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4494);
13714 nit_exit(1);
13715 }
13716 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
13717 /* ./parser//parser.nit:4496 */
13718 if (UNTAG_Bool(REGB0)) {
13719 } else {
13720 fprintf(stderr, "Assert failed");
13721 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4496);
13722 nit_exit(1);
13723 }
13724 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
13725 /* ./parser//parser.nit:4498 */
13726 if (UNTAG_Bool(REGB0)) {
13727 } else {
13728 fprintf(stderr, "Assert failed");
13729 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4498);
13730 nit_exit(1);
13731 }
13732 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
13733 /* ./parser//parser.nit:4500 */
13734 if (UNTAG_Bool(REGB0)) {
13735 } else {
13736 fprintf(stderr, "Assert failed");
13737 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4500);
13738 nit_exit(1);
13739 }
13740 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
13741 /* ./parser//parser.nit:4502 */
13742 if (UNTAG_Bool(REGB0)) {
13743 } else {
13744 fprintf(stderr, "Assert failed");
13745 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4502);
13746 nit_exit(1);
13747 }
13748 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]);
13749 /* ./parser//parser.nit:4504 */
13750 if (UNTAG_Bool(REGB0)) {
13751 fra.me.REG[9] = fra.me.REG[3];
13752 /* ./parser//parser.nit:4505 */
13753 } else {
13754 /* ./parser//parser.nit:4507 */
13755 CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
13756 }
13757 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
13758 /* ./parser//parser.nit:4511 */
13759 if (UNTAG_Bool(REGB0)) {
13760 } else {
13761 fprintf(stderr, "Assert failed");
13762 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4511);
13763 nit_exit(1);
13764 }
13765 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13766 /* ./parser//parser.nit:4512 */
13767 if (UNTAG_Bool(REGB0)) {
13768 } else {
13769 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13770 if (UNTAG_Bool(REGB1)) {
13771 REGB1 = TAG_Bool(false);
13772 REGB0 = REGB1;
13773 } else {
13774 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
13775 REGB0 = REGB1;
13776 }
13777 }
13778 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13779 if (UNTAG_Bool(REGB0)) {
13780 /* ./parser//parser.nit:4513 */
13781 array___Array___add(fra.me.REG[11], fra.me.REG[2]);
13782 }
13783 fra.me.REG[11] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11]);
13784 fra.me.REG[0] = fra.me.REG[11];
13785 REGB0 = TAG_Int(5);
13786 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13787 /* ./parser//parser.nit:4526 */
13788 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
13789 stack_frame_head = fra.me.prev;
13790 return;
13791 }
13792 void parser___ReduceAction69___init(val_t p0, int* init_table){
13793 int itpos73 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction69].i;
13794 struct {struct stack_frame_t me;} fra;
13795 val_t tmp;
13796 if (init_table[itpos73]) return;
13797 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13798 fra.me.file = LOCATE_parser;
13799 fra.me.line = 4528;
13800 fra.me.meth = LOCATE_parser___ReduceAction69___init;
13801 fra.me.has_broke = 0;
13802 fra.me.REG_size = 1;
13803 fra.me.REG[0] = NIT_NULL;
13804 fra.me.REG[0] = p0;
13805 /* ./parser//parser.nit:4528 */
13806 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
13807 stack_frame_head = fra.me.prev;
13808 init_table[itpos73] = 1;
13809 return;
13810 }
13811 void parser___ReduceAction70___action(val_t p0, val_t p1){
13812 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
13813 val_t REGB0;
13814 val_t REGB1;
13815 val_t tmp;
13816 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13817 fra.me.file = LOCATE_parser;
13818 fra.me.line = 4532;
13819 fra.me.meth = LOCATE_parser___ReduceAction70___action;
13820 fra.me.has_broke = 0;
13821 fra.me.REG_size = 13;
13822 fra.me.REG[0] = NIT_NULL;
13823 fra.me.REG[1] = NIT_NULL;
13824 fra.me.REG[2] = NIT_NULL;
13825 fra.me.REG[3] = NIT_NULL;
13826 fra.me.REG[4] = NIT_NULL;
13827 fra.me.REG[5] = NIT_NULL;
13828 fra.me.REG[6] = NIT_NULL;
13829 fra.me.REG[7] = NIT_NULL;
13830 fra.me.REG[8] = NIT_NULL;
13831 fra.me.REG[9] = NIT_NULL;
13832 fra.me.REG[10] = NIT_NULL;
13833 fra.me.REG[11] = NIT_NULL;
13834 fra.me.REG[12] = NIT_NULL;
13835 fra.me.REG[0] = p0;
13836 fra.me.REG[1] = p1;
13837 fra.me.REG[0] = NIT_NULL;
13838 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13839 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13840 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13841 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13842 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13843 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13844 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13845 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13846 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13847 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13848 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13849 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13850 fra.me.REG[10] = NEW_Array_array___Array___init();
13851 fra.me.REG[11] = NEW_Array_array___Array___init();
13852 fra.me.REG[12] = NEW_Array_array___Array___init();
13853 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
13854 /* ./parser//parser.nit:4551 */
13855 if (UNTAG_Bool(REGB0)) {
13856 } else {
13857 fprintf(stderr, "Assert failed");
13858 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4551);
13859 nit_exit(1);
13860 }
13861 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
13862 /* ./parser//parser.nit:4553 */
13863 if (UNTAG_Bool(REGB0)) {
13864 } else {
13865 fprintf(stderr, "Assert failed");
13866 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4553);
13867 nit_exit(1);
13868 }
13869 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
13870 /* ./parser//parser.nit:4555 */
13871 if (UNTAG_Bool(REGB0)) {
13872 } else {
13873 fprintf(stderr, "Assert failed");
13874 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4555);
13875 nit_exit(1);
13876 }
13877 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
13878 /* ./parser//parser.nit:4557 */
13879 if (UNTAG_Bool(REGB0)) {
13880 } else {
13881 fprintf(stderr, "Assert failed");
13882 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4557);
13883 nit_exit(1);
13884 }
13885 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
13886 /* ./parser//parser.nit:4559 */
13887 if (UNTAG_Bool(REGB0)) {
13888 } else {
13889 fprintf(stderr, "Assert failed");
13890 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4559);
13891 nit_exit(1);
13892 }
13893 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
13894 /* ./parser//parser.nit:4561 */
13895 if (UNTAG_Bool(REGB0)) {
13896 } else {
13897 fprintf(stderr, "Assert failed");
13898 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4561);
13899 nit_exit(1);
13900 }
13901 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[10])(fra.me.REG[10]);
13902 /* ./parser//parser.nit:4563 */
13903 if (UNTAG_Bool(REGB0)) {
13904 fra.me.REG[10] = fra.me.REG[4];
13905 /* ./parser//parser.nit:4564 */
13906 } else {
13907 /* ./parser//parser.nit:4566 */
13908 CALL_abstract_collection___Sequence___append(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[4]);
13909 }
13910 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
13911 /* ./parser//parser.nit:4570 */
13912 if (UNTAG_Bool(REGB0)) {
13913 } else {
13914 fprintf(stderr, "Assert failed");
13915 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4570);
13916 nit_exit(1);
13917 }
13918 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
13919 /* ./parser//parser.nit:4572 */
13920 if (UNTAG_Bool(REGB0)) {
13921 } else {
13922 fprintf(stderr, "Assert failed");
13923 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4572);
13924 nit_exit(1);
13925 }
13926 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13927 /* ./parser//parser.nit:4573 */
13928 if (UNTAG_Bool(REGB0)) {
13929 } else {
13930 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13931 if (UNTAG_Bool(REGB1)) {
13932 REGB1 = TAG_Bool(false);
13933 REGB0 = REGB1;
13934 } else {
13935 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
13936 REGB0 = REGB1;
13937 }
13938 }
13939 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13940 if (UNTAG_Bool(REGB0)) {
13941 /* ./parser//parser.nit:4574 */
13942 array___Array___add(fra.me.REG[12], fra.me.REG[3]);
13943 }
13944 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[12])(fra.me.REG[12]);
13945 /* ./parser//parser.nit:4577 */
13946 if (UNTAG_Bool(REGB0)) {
13947 fra.me.REG[12] = fra.me.REG[2];
13948 /* ./parser//parser.nit:4578 */
13949 } else {
13950 /* ./parser//parser.nit:4580 */
13951 CALL_abstract_collection___Sequence___append(fra.me.REG[12])(fra.me.REG[12], fra.me.REG[2]);
13952 }
13953 fra.me.REG[12] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[10], fra.me.REG[11], fra.me.REG[12]);
13954 fra.me.REG[0] = fra.me.REG[12];
13955 REGB0 = TAG_Int(5);
13956 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13957 /* ./parser//parser.nit:4594 */
13958 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
13959 stack_frame_head = fra.me.prev;
13960 return;
13961 }
13962 void parser___ReduceAction70___init(val_t p0, int* init_table){
13963 int itpos74 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction70].i;
13964 struct {struct stack_frame_t me;} fra;
13965 val_t tmp;
13966 if (init_table[itpos74]) return;
13967 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13968 fra.me.file = LOCATE_parser;
13969 fra.me.line = 4596;
13970 fra.me.meth = LOCATE_parser___ReduceAction70___init;
13971 fra.me.has_broke = 0;
13972 fra.me.REG_size = 1;
13973 fra.me.REG[0] = NIT_NULL;
13974 fra.me.REG[0] = p0;
13975 /* ./parser//parser.nit:4596 */
13976 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
13977 stack_frame_head = fra.me.prev;
13978 init_table[itpos74] = 1;
13979 return;
13980 }
13981 void parser___ReduceAction71___action(val_t p0, val_t p1){
13982 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
13983 val_t REGB0;
13984 val_t REGB1;
13985 val_t tmp;
13986 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13987 fra.me.file = LOCATE_parser;
13988 fra.me.line = 4600;
13989 fra.me.meth = LOCATE_parser___ReduceAction71___action;
13990 fra.me.has_broke = 0;
13991 fra.me.REG_size = 11;
13992 fra.me.REG[0] = NIT_NULL;
13993 fra.me.REG[1] = NIT_NULL;
13994 fra.me.REG[2] = NIT_NULL;
13995 fra.me.REG[3] = NIT_NULL;
13996 fra.me.REG[4] = NIT_NULL;
13997 fra.me.REG[5] = NIT_NULL;
13998 fra.me.REG[6] = NIT_NULL;
13999 fra.me.REG[7] = NIT_NULL;
14000 fra.me.REG[8] = NIT_NULL;
14001 fra.me.REG[9] = NIT_NULL;
14002 fra.me.REG[10] = NIT_NULL;
14003 fra.me.REG[0] = p0;
14004 fra.me.REG[1] = p1;
14005 fra.me.REG[0] = NIT_NULL;
14006 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14007 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14008 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14009 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14010 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14011 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14012 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14013 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14014 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14015 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14016 fra.me.REG[8] = NEW_Array_array___Array___init();
14017 fra.me.REG[9] = NEW_Array_array___Array___init();
14018 fra.me.REG[10] = NEW_Array_array___Array___init();
14019 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
14020 /* ./parser//parser.nit:4617 */
14021 if (UNTAG_Bool(REGB0)) {
14022 } else {
14023 fprintf(stderr, "Assert failed");
14024 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4617);
14025 nit_exit(1);
14026 }
14027 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
14028 /* ./parser//parser.nit:4619 */
14029 if (UNTAG_Bool(REGB0)) {
14030 } else {
14031 fprintf(stderr, "Assert failed");
14032 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4619);
14033 nit_exit(1);
14034 }
14035 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
14036 /* ./parser//parser.nit:4621 */
14037 if (UNTAG_Bool(REGB0)) {
14038 } else {
14039 fprintf(stderr, "Assert failed");
14040 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4621);
14041 nit_exit(1);
14042 }
14043 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
14044 /* ./parser//parser.nit:4623 */
14045 if (UNTAG_Bool(REGB0)) {
14046 } else {
14047 fprintf(stderr, "Assert failed");
14048 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4623);
14049 nit_exit(1);
14050 }
14051 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14052 /* ./parser//parser.nit:4625 */
14053 if (UNTAG_Bool(REGB0)) {
14054 } else {
14055 fprintf(stderr, "Assert failed");
14056 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4625);
14057 nit_exit(1);
14058 }
14059 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]);
14060 /* ./parser//parser.nit:4627 */
14061 if (UNTAG_Bool(REGB0)) {
14062 fra.me.REG[9] = fra.me.REG[3];
14063 /* ./parser//parser.nit:4628 */
14064 } else {
14065 /* ./parser//parser.nit:4630 */
14066 CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
14067 }
14068 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
14069 /* ./parser//parser.nit:4634 */
14070 if (UNTAG_Bool(REGB0)) {
14071 } else {
14072 fprintf(stderr, "Assert failed");
14073 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4634);
14074 nit_exit(1);
14075 }
14076 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14077 /* ./parser//parser.nit:4635 */
14078 if (UNTAG_Bool(REGB0)) {
14079 } else {
14080 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14081 if (UNTAG_Bool(REGB1)) {
14082 REGB1 = TAG_Bool(false);
14083 REGB0 = REGB1;
14084 } else {
14085 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
14086 REGB0 = REGB1;
14087 }
14088 }
14089 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14090 if (UNTAG_Bool(REGB0)) {
14091 /* ./parser//parser.nit:4636 */
14092 array___Array___add(fra.me.REG[10], fra.me.REG[2]);
14093 }
14094 fra.me.REG[10] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
14095 fra.me.REG[0] = fra.me.REG[10];
14096 REGB0 = TAG_Int(5);
14097 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14098 /* ./parser//parser.nit:4649 */
14099 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
14100 stack_frame_head = fra.me.prev;
14101 return;
14102 }
14103 void parser___ReduceAction71___init(val_t p0, int* init_table){
14104 int itpos75 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction71].i;
14105 struct {struct stack_frame_t me;} fra;
14106 val_t tmp;
14107 if (init_table[itpos75]) return;
14108 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14109 fra.me.file = LOCATE_parser;
14110 fra.me.line = 4651;
14111 fra.me.meth = LOCATE_parser___ReduceAction71___init;
14112 fra.me.has_broke = 0;
14113 fra.me.REG_size = 1;
14114 fra.me.REG[0] = NIT_NULL;
14115 fra.me.REG[0] = p0;
14116 /* ./parser//parser.nit:4651 */
14117 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
14118 stack_frame_head = fra.me.prev;
14119 init_table[itpos75] = 1;
14120 return;
14121 }
14122 void parser___ReduceAction72___action(val_t p0, val_t p1){
14123 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
14124 val_t REGB0;
14125 val_t REGB1;
14126 val_t tmp;
14127 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14128 fra.me.file = LOCATE_parser;
14129 fra.me.line = 4655;
14130 fra.me.meth = LOCATE_parser___ReduceAction72___action;
14131 fra.me.has_broke = 0;
14132 fra.me.REG_size = 12;
14133 fra.me.REG[0] = NIT_NULL;
14134 fra.me.REG[1] = NIT_NULL;
14135 fra.me.REG[2] = NIT_NULL;
14136 fra.me.REG[3] = NIT_NULL;
14137 fra.me.REG[4] = NIT_NULL;
14138 fra.me.REG[5] = NIT_NULL;
14139 fra.me.REG[6] = NIT_NULL;
14140 fra.me.REG[7] = NIT_NULL;
14141 fra.me.REG[8] = NIT_NULL;
14142 fra.me.REG[9] = NIT_NULL;
14143 fra.me.REG[10] = NIT_NULL;
14144 fra.me.REG[11] = NIT_NULL;
14145 fra.me.REG[0] = p0;
14146 fra.me.REG[1] = p1;
14147 fra.me.REG[0] = NIT_NULL;
14148 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14149 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14150 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14151 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14152 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14153 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14154 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14155 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14156 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14157 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14158 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14159 fra.me.REG[9] = NEW_Array_array___Array___init();
14160 fra.me.REG[10] = NEW_Array_array___Array___init();
14161 fra.me.REG[11] = NEW_Array_array___Array___init();
14162 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
14163 /* ./parser//parser.nit:4673 */
14164 if (UNTAG_Bool(REGB0)) {
14165 } else {
14166 fprintf(stderr, "Assert failed");
14167 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4673);
14168 nit_exit(1);
14169 }
14170 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
14171 /* ./parser//parser.nit:4675 */
14172 if (UNTAG_Bool(REGB0)) {
14173 } else {
14174 fprintf(stderr, "Assert failed");
14175 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4675);
14176 nit_exit(1);
14177 }
14178 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
14179 /* ./parser//parser.nit:4677 */
14180 if (UNTAG_Bool(REGB0)) {
14181 } else {
14182 fprintf(stderr, "Assert failed");
14183 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4677);
14184 nit_exit(1);
14185 }
14186 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
14187 /* ./parser//parser.nit:4679 */
14188 if (UNTAG_Bool(REGB0)) {
14189 } else {
14190 fprintf(stderr, "Assert failed");
14191 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4679);
14192 nit_exit(1);
14193 }
14194 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14195 /* ./parser//parser.nit:4681 */
14196 if (UNTAG_Bool(REGB0)) {
14197 } else {
14198 fprintf(stderr, "Assert failed");
14199 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4681);
14200 nit_exit(1);
14201 }
14202 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[10])(fra.me.REG[10]);
14203 /* ./parser//parser.nit:4683 */
14204 if (UNTAG_Bool(REGB0)) {
14205 fra.me.REG[10] = fra.me.REG[4];
14206 /* ./parser//parser.nit:4684 */
14207 } else {
14208 /* ./parser//parser.nit:4686 */
14209 CALL_abstract_collection___Sequence___append(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[4]);
14210 }
14211 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
14212 /* ./parser//parser.nit:4690 */
14213 if (UNTAG_Bool(REGB0)) {
14214 } else {
14215 fprintf(stderr, "Assert failed");
14216 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4690);
14217 nit_exit(1);
14218 }
14219 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14220 /* ./parser//parser.nit:4692 */
14221 if (UNTAG_Bool(REGB0)) {
14222 } else {
14223 fprintf(stderr, "Assert failed");
14224 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4692);
14225 nit_exit(1);
14226 }
14227 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
14228 /* ./parser//parser.nit:4693 */
14229 if (UNTAG_Bool(REGB0)) {
14230 } else {
14231 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
14232 if (UNTAG_Bool(REGB1)) {
14233 REGB1 = TAG_Bool(false);
14234 REGB0 = REGB1;
14235 } else {
14236 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
14237 REGB0 = REGB1;
14238 }
14239 }
14240 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14241 if (UNTAG_Bool(REGB0)) {
14242 /* ./parser//parser.nit:4694 */
14243 array___Array___add(fra.me.REG[11], fra.me.REG[3]);
14244 }
14245 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[11])(fra.me.REG[11]);
14246 /* ./parser//parser.nit:4697 */
14247 if (UNTAG_Bool(REGB0)) {
14248 fra.me.REG[11] = fra.me.REG[2];
14249 /* ./parser//parser.nit:4698 */
14250 } else {
14251 /* ./parser//parser.nit:4700 */
14252 CALL_abstract_collection___Sequence___append(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[2]);
14253 }
14254 fra.me.REG[11] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11]);
14255 fra.me.REG[0] = fra.me.REG[11];
14256 REGB0 = TAG_Int(5);
14257 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14258 /* ./parser//parser.nit:4714 */
14259 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
14260 stack_frame_head = fra.me.prev;
14261 return;
14262 }
14263 void parser___ReduceAction72___init(val_t p0, int* init_table){
14264 int itpos76 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction72].i;
14265 struct {struct stack_frame_t me;} fra;
14266 val_t tmp;
14267 if (init_table[itpos76]) return;
14268 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14269 fra.me.file = LOCATE_parser;
14270 fra.me.line = 4716;
14271 fra.me.meth = LOCATE_parser___ReduceAction72___init;
14272 fra.me.has_broke = 0;
14273 fra.me.REG_size = 1;
14274 fra.me.REG[0] = NIT_NULL;
14275 fra.me.REG[0] = p0;
14276 /* ./parser//parser.nit:4716 */
14277 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
14278 stack_frame_head = fra.me.prev;
14279 init_table[itpos76] = 1;
14280 return;
14281 }
14282 void parser___ReduceAction73___action(val_t p0, val_t p1){
14283 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
14284 val_t REGB0;
14285 val_t REGB1;
14286 val_t tmp;
14287 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14288 fra.me.file = LOCATE_parser;
14289 fra.me.line = 4720;
14290 fra.me.meth = LOCATE_parser___ReduceAction73___action;
14291 fra.me.has_broke = 0;
14292 fra.me.REG_size = 12;
14293 fra.me.REG[0] = NIT_NULL;
14294 fra.me.REG[1] = NIT_NULL;
14295 fra.me.REG[2] = NIT_NULL;
14296 fra.me.REG[3] = NIT_NULL;
14297 fra.me.REG[4] = NIT_NULL;
14298 fra.me.REG[5] = NIT_NULL;
14299 fra.me.REG[6] = NIT_NULL;
14300 fra.me.REG[7] = NIT_NULL;
14301 fra.me.REG[8] = NIT_NULL;
14302 fra.me.REG[9] = NIT_NULL;
14303 fra.me.REG[10] = NIT_NULL;
14304 fra.me.REG[11] = NIT_NULL;
14305 fra.me.REG[0] = p0;
14306 fra.me.REG[1] = p1;
14307 fra.me.REG[0] = NIT_NULL;
14308 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14309 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14310 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14311 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14312 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14313 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14314 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14315 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14316 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14317 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14318 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14319 fra.me.REG[9] = NEW_Array_array___Array___init();
14320 fra.me.REG[10] = NEW_Array_array___Array___init();
14321 fra.me.REG[11] = NEW_Array_array___Array___init();
14322 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
14323 /* ./parser//parser.nit:4738 */
14324 if (UNTAG_Bool(REGB0)) {
14325 } else {
14326 fprintf(stderr, "Assert failed");
14327 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4738);
14328 nit_exit(1);
14329 }
14330 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
14331 /* ./parser//parser.nit:4740 */
14332 if (UNTAG_Bool(REGB0)) {
14333 } else {
14334 fprintf(stderr, "Assert failed");
14335 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4740);
14336 nit_exit(1);
14337 }
14338 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
14339 /* ./parser//parser.nit:4742 */
14340 if (UNTAG_Bool(REGB0)) {
14341 } else {
14342 fprintf(stderr, "Assert failed");
14343 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4742);
14344 nit_exit(1);
14345 }
14346 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
14347 /* ./parser//parser.nit:4744 */
14348 if (UNTAG_Bool(REGB0)) {
14349 } else {
14350 fprintf(stderr, "Assert failed");
14351 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4744);
14352 nit_exit(1);
14353 }
14354 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
14355 /* ./parser//parser.nit:4746 */
14356 if (UNTAG_Bool(REGB0)) {
14357 } else {
14358 fprintf(stderr, "Assert failed");
14359 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4746);
14360 nit_exit(1);
14361 }
14362 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14363 /* ./parser//parser.nit:4748 */
14364 if (UNTAG_Bool(REGB0)) {
14365 } else {
14366 fprintf(stderr, "Assert failed");
14367 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4748);
14368 nit_exit(1);
14369 }
14370 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[10])(fra.me.REG[10]);
14371 /* ./parser//parser.nit:4750 */
14372 if (UNTAG_Bool(REGB0)) {
14373 fra.me.REG[10] = fra.me.REG[3];
14374 /* ./parser//parser.nit:4751 */
14375 } else {
14376 /* ./parser//parser.nit:4753 */
14377 CALL_abstract_collection___Sequence___append(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]);
14378 }
14379 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
14380 /* ./parser//parser.nit:4757 */
14381 if (UNTAG_Bool(REGB0)) {
14382 } else {
14383 fprintf(stderr, "Assert failed");
14384 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4757);
14385 nit_exit(1);
14386 }
14387 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14388 /* ./parser//parser.nit:4758 */
14389 if (UNTAG_Bool(REGB0)) {
14390 } else {
14391 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14392 if (UNTAG_Bool(REGB1)) {
14393 REGB1 = TAG_Bool(false);
14394 REGB0 = REGB1;
14395 } else {
14396 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
14397 REGB0 = REGB1;
14398 }
14399 }
14400 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14401 if (UNTAG_Bool(REGB0)) {
14402 /* ./parser//parser.nit:4759 */
14403 array___Array___add(fra.me.REG[11], fra.me.REG[2]);
14404 }
14405 fra.me.REG[11] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11]);
14406 fra.me.REG[0] = fra.me.REG[11];
14407 REGB0 = TAG_Int(5);
14408 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14409 /* ./parser//parser.nit:4772 */
14410 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
14411 stack_frame_head = fra.me.prev;
14412 return;
14413 }
14414 void parser___ReduceAction73___init(val_t p0, int* init_table){
14415 int itpos77 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction73].i;
14416 struct {struct stack_frame_t me;} fra;
14417 val_t tmp;
14418 if (init_table[itpos77]) return;
14419 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14420 fra.me.file = LOCATE_parser;
14421 fra.me.line = 4774;
14422 fra.me.meth = LOCATE_parser___ReduceAction73___init;
14423 fra.me.has_broke = 0;
14424 fra.me.REG_size = 1;
14425 fra.me.REG[0] = NIT_NULL;
14426 fra.me.REG[0] = p0;
14427 /* ./parser//parser.nit:4774 */
14428 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
14429 stack_frame_head = fra.me.prev;
14430 init_table[itpos77] = 1;
14431 return;
14432 }
14433 void parser___ReduceAction74___action(val_t p0, val_t p1){
14434 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
14435 val_t REGB0;
14436 val_t REGB1;
14437 val_t tmp;
14438 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14439 fra.me.file = LOCATE_parser;
14440 fra.me.line = 4778;
14441 fra.me.meth = LOCATE_parser___ReduceAction74___action;
14442 fra.me.has_broke = 0;
14443 fra.me.REG_size = 13;
14444 fra.me.REG[0] = NIT_NULL;
14445 fra.me.REG[1] = NIT_NULL;
14446 fra.me.REG[2] = NIT_NULL;
14447 fra.me.REG[3] = NIT_NULL;
14448 fra.me.REG[4] = NIT_NULL;
14449 fra.me.REG[5] = NIT_NULL;
14450 fra.me.REG[6] = NIT_NULL;
14451 fra.me.REG[7] = NIT_NULL;
14452 fra.me.REG[8] = NIT_NULL;
14453 fra.me.REG[9] = NIT_NULL;
14454 fra.me.REG[10] = NIT_NULL;
14455 fra.me.REG[11] = NIT_NULL;
14456 fra.me.REG[12] = NIT_NULL;
14457 fra.me.REG[0] = p0;
14458 fra.me.REG[1] = p1;
14459 fra.me.REG[0] = NIT_NULL;
14460 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14461 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14462 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14463 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14464 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14465 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14466 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14467 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14468 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14469 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14470 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14471 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14472 fra.me.REG[10] = NEW_Array_array___Array___init();
14473 fra.me.REG[11] = NEW_Array_array___Array___init();
14474 fra.me.REG[12] = NEW_Array_array___Array___init();
14475 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
14476 /* ./parser//parser.nit:4797 */
14477 if (UNTAG_Bool(REGB0)) {
14478 } else {
14479 fprintf(stderr, "Assert failed");
14480 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4797);
14481 nit_exit(1);
14482 }
14483 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
14484 /* ./parser//parser.nit:4799 */
14485 if (UNTAG_Bool(REGB0)) {
14486 } else {
14487 fprintf(stderr, "Assert failed");
14488 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4799);
14489 nit_exit(1);
14490 }
14491 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
14492 /* ./parser//parser.nit:4801 */
14493 if (UNTAG_Bool(REGB0)) {
14494 } else {
14495 fprintf(stderr, "Assert failed");
14496 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4801);
14497 nit_exit(1);
14498 }
14499 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
14500 /* ./parser//parser.nit:4803 */
14501 if (UNTAG_Bool(REGB0)) {
14502 } else {
14503 fprintf(stderr, "Assert failed");
14504 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4803);
14505 nit_exit(1);
14506 }
14507 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
14508 /* ./parser//parser.nit:4805 */
14509 if (UNTAG_Bool(REGB0)) {
14510 } else {
14511 fprintf(stderr, "Assert failed");
14512 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4805);
14513 nit_exit(1);
14514 }
14515 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14516 /* ./parser//parser.nit:4807 */
14517 if (UNTAG_Bool(REGB0)) {
14518 } else {
14519 fprintf(stderr, "Assert failed");
14520 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4807);
14521 nit_exit(1);
14522 }
14523 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[11])(fra.me.REG[11]);
14524 /* ./parser//parser.nit:4809 */
14525 if (UNTAG_Bool(REGB0)) {
14526 fra.me.REG[11] = fra.me.REG[4];
14527 /* ./parser//parser.nit:4810 */
14528 } else {
14529 /* ./parser//parser.nit:4812 */
14530 CALL_abstract_collection___Sequence___append(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[4]);
14531 }
14532 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
14533 /* ./parser//parser.nit:4816 */
14534 if (UNTAG_Bool(REGB0)) {
14535 } else {
14536 fprintf(stderr, "Assert failed");
14537 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4816);
14538 nit_exit(1);
14539 }
14540 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14541 /* ./parser//parser.nit:4818 */
14542 if (UNTAG_Bool(REGB0)) {
14543 } else {
14544 fprintf(stderr, "Assert failed");
14545 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4818);
14546 nit_exit(1);
14547 }
14548 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
14549 /* ./parser//parser.nit:4819 */
14550 if (UNTAG_Bool(REGB0)) {
14551 } else {
14552 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
14553 if (UNTAG_Bool(REGB1)) {
14554 REGB1 = TAG_Bool(false);
14555 REGB0 = REGB1;
14556 } else {
14557 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
14558 REGB0 = REGB1;
14559 }
14560 }
14561 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14562 if (UNTAG_Bool(REGB0)) {
14563 /* ./parser//parser.nit:4820 */
14564 array___Array___add(fra.me.REG[12], fra.me.REG[3]);
14565 }
14566 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[12])(fra.me.REG[12]);
14567 /* ./parser//parser.nit:4823 */
14568 if (UNTAG_Bool(REGB0)) {
14569 fra.me.REG[12] = fra.me.REG[2];
14570 /* ./parser//parser.nit:4824 */
14571 } else {
14572 /* ./parser//parser.nit:4826 */
14573 CALL_abstract_collection___Sequence___append(fra.me.REG[12])(fra.me.REG[12], fra.me.REG[2]);
14574 }
14575 fra.me.REG[12] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[10], fra.me.REG[11], fra.me.REG[12]);
14576 fra.me.REG[0] = fra.me.REG[12];
14577 REGB0 = TAG_Int(5);
14578 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14579 /* ./parser//parser.nit:4840 */
14580 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
14581 stack_frame_head = fra.me.prev;
14582 return;
14583 }
14584 void parser___ReduceAction74___init(val_t p0, int* init_table){
14585 int itpos78 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction74].i;
14586 struct {struct stack_frame_t me;} fra;
14587 val_t tmp;
14588 if (init_table[itpos78]) return;
14589 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14590 fra.me.file = LOCATE_parser;
14591 fra.me.line = 4842;
14592 fra.me.meth = LOCATE_parser___ReduceAction74___init;
14593 fra.me.has_broke = 0;
14594 fra.me.REG_size = 1;
14595 fra.me.REG[0] = NIT_NULL;
14596 fra.me.REG[0] = p0;
14597 /* ./parser//parser.nit:4842 */
14598 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
14599 stack_frame_head = fra.me.prev;
14600 init_table[itpos78] = 1;
14601 return;
14602 }
14603 void parser___ReduceAction75___action(val_t p0, val_t p1){
14604 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
14605 val_t REGB0;
14606 val_t REGB1;
14607 val_t tmp;
14608 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14609 fra.me.file = LOCATE_parser;
14610 fra.me.line = 4846;
14611 fra.me.meth = LOCATE_parser___ReduceAction75___action;
14612 fra.me.has_broke = 0;
14613 fra.me.REG_size = 12;
14614 fra.me.REG[0] = NIT_NULL;
14615 fra.me.REG[1] = NIT_NULL;
14616 fra.me.REG[2] = NIT_NULL;
14617 fra.me.REG[3] = NIT_NULL;
14618 fra.me.REG[4] = NIT_NULL;
14619 fra.me.REG[5] = NIT_NULL;
14620 fra.me.REG[6] = NIT_NULL;
14621 fra.me.REG[7] = NIT_NULL;
14622 fra.me.REG[8] = NIT_NULL;
14623 fra.me.REG[9] = NIT_NULL;
14624 fra.me.REG[10] = NIT_NULL;
14625 fra.me.REG[11] = NIT_NULL;
14626 fra.me.REG[0] = p0;
14627 fra.me.REG[1] = p1;
14628 fra.me.REG[0] = NIT_NULL;
14629 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14630 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14631 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14632 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14633 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14634 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14635 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14636 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14637 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14638 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14639 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14640 fra.me.REG[9] = NEW_Array_array___Array___init();
14641 fra.me.REG[10] = NEW_Array_array___Array___init();
14642 fra.me.REG[11] = NEW_Array_array___Array___init();
14643 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
14644 /* ./parser//parser.nit:4864 */
14645 if (UNTAG_Bool(REGB0)) {
14646 } else {
14647 fprintf(stderr, "Assert failed");
14648 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4864);
14649 nit_exit(1);
14650 }
14651 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
14652 /* ./parser//parser.nit:4866 */
14653 if (UNTAG_Bool(REGB0)) {
14654 } else {
14655 fprintf(stderr, "Assert failed");
14656 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4866);
14657 nit_exit(1);
14658 }
14659 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
14660 /* ./parser//parser.nit:4868 */
14661 if (UNTAG_Bool(REGB0)) {
14662 } else {
14663 fprintf(stderr, "Assert failed");
14664 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4868);
14665 nit_exit(1);
14666 }
14667 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
14668 /* ./parser//parser.nit:4870 */
14669 if (UNTAG_Bool(REGB0)) {
14670 } else {
14671 fprintf(stderr, "Assert failed");
14672 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4870);
14673 nit_exit(1);
14674 }
14675 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14676 /* ./parser//parser.nit:4872 */
14677 if (UNTAG_Bool(REGB0)) {
14678 } else {
14679 fprintf(stderr, "Assert failed");
14680 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4872);
14681 nit_exit(1);
14682 }
14683 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]);
14684 /* ./parser//parser.nit:4874 */
14685 if (UNTAG_Bool(REGB0)) {
14686 fra.me.REG[9] = fra.me.REG[4];
14687 /* ./parser//parser.nit:4875 */
14688 } else {
14689 /* ./parser//parser.nit:4877 */
14690 CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[4]);
14691 }
14692 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14693 /* ./parser//parser.nit:4881 */
14694 if (UNTAG_Bool(REGB0)) {
14695 } else {
14696 fprintf(stderr, "Assert failed");
14697 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4881);
14698 nit_exit(1);
14699 }
14700 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[10])(fra.me.REG[10]);
14701 /* ./parser//parser.nit:4883 */
14702 if (UNTAG_Bool(REGB0)) {
14703 fra.me.REG[10] = fra.me.REG[3];
14704 /* ./parser//parser.nit:4884 */
14705 } else {
14706 /* ./parser//parser.nit:4886 */
14707 CALL_abstract_collection___Sequence___append(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]);
14708 }
14709 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
14710 /* ./parser//parser.nit:4890 */
14711 if (UNTAG_Bool(REGB0)) {
14712 } else {
14713 fprintf(stderr, "Assert failed");
14714 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4890);
14715 nit_exit(1);
14716 }
14717 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14718 /* ./parser//parser.nit:4891 */
14719 if (UNTAG_Bool(REGB0)) {
14720 } else {
14721 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14722 if (UNTAG_Bool(REGB1)) {
14723 REGB1 = TAG_Bool(false);
14724 REGB0 = REGB1;
14725 } else {
14726 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
14727 REGB0 = REGB1;
14728 }
14729 }
14730 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14731 if (UNTAG_Bool(REGB0)) {
14732 /* ./parser//parser.nit:4892 */
14733 array___Array___add(fra.me.REG[11], fra.me.REG[2]);
14734 }
14735 fra.me.REG[11] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11]);
14736 fra.me.REG[0] = fra.me.REG[11];
14737 REGB0 = TAG_Int(5);
14738 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14739 /* ./parser//parser.nit:4905 */
14740 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
14741 stack_frame_head = fra.me.prev;
14742 return;
14743 }
14744 void parser___ReduceAction75___init(val_t p0, int* init_table){
14745 int itpos79 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction75].i;
14746 struct {struct stack_frame_t me;} fra;
14747 val_t tmp;
14748 if (init_table[itpos79]) return;
14749 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14750 fra.me.file = LOCATE_parser;
14751 fra.me.line = 4907;
14752 fra.me.meth = LOCATE_parser___ReduceAction75___init;
14753 fra.me.has_broke = 0;
14754 fra.me.REG_size = 1;
14755 fra.me.REG[0] = NIT_NULL;
14756 fra.me.REG[0] = p0;
14757 /* ./parser//parser.nit:4907 */
14758 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
14759 stack_frame_head = fra.me.prev;
14760 init_table[itpos79] = 1;
14761 return;
14762 }
14763 void parser___ReduceAction76___action(val_t p0, val_t p1){
14764 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
14765 val_t REGB0;
14766 val_t REGB1;
14767 val_t tmp;
14768 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14769 fra.me.file = LOCATE_parser;
14770 fra.me.line = 4911;
14771 fra.me.meth = LOCATE_parser___ReduceAction76___action;
14772 fra.me.has_broke = 0;
14773 fra.me.REG_size = 13;
14774 fra.me.REG[0] = NIT_NULL;
14775 fra.me.REG[1] = NIT_NULL;
14776 fra.me.REG[2] = NIT_NULL;
14777 fra.me.REG[3] = NIT_NULL;
14778 fra.me.REG[4] = NIT_NULL;
14779 fra.me.REG[5] = NIT_NULL;
14780 fra.me.REG[6] = NIT_NULL;
14781 fra.me.REG[7] = NIT_NULL;
14782 fra.me.REG[8] = NIT_NULL;
14783 fra.me.REG[9] = NIT_NULL;
14784 fra.me.REG[10] = NIT_NULL;
14785 fra.me.REG[11] = NIT_NULL;
14786 fra.me.REG[12] = NIT_NULL;
14787 fra.me.REG[0] = p0;
14788 fra.me.REG[1] = p1;
14789 fra.me.REG[0] = NIT_NULL;
14790 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14791 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14792 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14793 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14794 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14795 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14796 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14797 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14798 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14799 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14800 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14801 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14802 fra.me.REG[10] = NEW_Array_array___Array___init();
14803 fra.me.REG[11] = NEW_Array_array___Array___init();
14804 fra.me.REG[12] = NEW_Array_array___Array___init();
14805 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
14806 /* ./parser//parser.nit:4930 */
14807 if (UNTAG_Bool(REGB0)) {
14808 } else {
14809 fprintf(stderr, "Assert failed");
14810 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4930);
14811 nit_exit(1);
14812 }
14813 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
14814 /* ./parser//parser.nit:4932 */
14815 if (UNTAG_Bool(REGB0)) {
14816 } else {
14817 fprintf(stderr, "Assert failed");
14818 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4932);
14819 nit_exit(1);
14820 }
14821 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
14822 /* ./parser//parser.nit:4934 */
14823 if (UNTAG_Bool(REGB0)) {
14824 } else {
14825 fprintf(stderr, "Assert failed");
14826 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4934);
14827 nit_exit(1);
14828 }
14829 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
14830 /* ./parser//parser.nit:4936 */
14831 if (UNTAG_Bool(REGB0)) {
14832 } else {
14833 fprintf(stderr, "Assert failed");
14834 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4936);
14835 nit_exit(1);
14836 }
14837 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14838 /* ./parser//parser.nit:4938 */
14839 if (UNTAG_Bool(REGB0)) {
14840 } else {
14841 fprintf(stderr, "Assert failed");
14842 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4938);
14843 nit_exit(1);
14844 }
14845 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[10])(fra.me.REG[10]);
14846 /* ./parser//parser.nit:4940 */
14847 if (UNTAG_Bool(REGB0)) {
14848 fra.me.REG[10] = fra.me.REG[5];
14849 /* ./parser//parser.nit:4941 */
14850 } else {
14851 /* ./parser//parser.nit:4943 */
14852 CALL_abstract_collection___Sequence___append(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[5]);
14853 }
14854 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14855 /* ./parser//parser.nit:4947 */
14856 if (UNTAG_Bool(REGB0)) {
14857 } else {
14858 fprintf(stderr, "Assert failed");
14859 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4947);
14860 nit_exit(1);
14861 }
14862 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[11])(fra.me.REG[11]);
14863 /* ./parser//parser.nit:4949 */
14864 if (UNTAG_Bool(REGB0)) {
14865 fra.me.REG[11] = fra.me.REG[4];
14866 /* ./parser//parser.nit:4950 */
14867 } else {
14868 /* ./parser//parser.nit:4952 */
14869 CALL_abstract_collection___Sequence___append(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[4]);
14870 }
14871 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
14872 /* ./parser//parser.nit:4956 */
14873 if (UNTAG_Bool(REGB0)) {
14874 } else {
14875 fprintf(stderr, "Assert failed");
14876 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4956);
14877 nit_exit(1);
14878 }
14879 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14880 /* ./parser//parser.nit:4958 */
14881 if (UNTAG_Bool(REGB0)) {
14882 } else {
14883 fprintf(stderr, "Assert failed");
14884 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4958);
14885 nit_exit(1);
14886 }
14887 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
14888 /* ./parser//parser.nit:4959 */
14889 if (UNTAG_Bool(REGB0)) {
14890 } else {
14891 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
14892 if (UNTAG_Bool(REGB1)) {
14893 REGB1 = TAG_Bool(false);
14894 REGB0 = REGB1;
14895 } else {
14896 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
14897 REGB0 = REGB1;
14898 }
14899 }
14900 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14901 if (UNTAG_Bool(REGB0)) {
14902 /* ./parser//parser.nit:4960 */
14903 array___Array___add(fra.me.REG[12], fra.me.REG[3]);
14904 }
14905 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[12])(fra.me.REG[12]);
14906 /* ./parser//parser.nit:4963 */
14907 if (UNTAG_Bool(REGB0)) {
14908 fra.me.REG[12] = fra.me.REG[2];
14909 /* ./parser//parser.nit:4964 */
14910 } else {
14911 /* ./parser//parser.nit:4966 */
14912 CALL_abstract_collection___Sequence___append(fra.me.REG[12])(fra.me.REG[12], fra.me.REG[2]);
14913 }
14914 fra.me.REG[12] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[10], fra.me.REG[11], fra.me.REG[12]);
14915 fra.me.REG[0] = fra.me.REG[12];
14916 REGB0 = TAG_Int(5);
14917 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14918 /* ./parser//parser.nit:4980 */
14919 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
14920 stack_frame_head = fra.me.prev;
14921 return;
14922 }
14923 void parser___ReduceAction76___init(val_t p0, int* init_table){
14924 int itpos80 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction76].i;
14925 struct {struct stack_frame_t me;} fra;
14926 val_t tmp;
14927 if (init_table[itpos80]) return;
14928 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14929 fra.me.file = LOCATE_parser;
14930 fra.me.line = 4982;
14931 fra.me.meth = LOCATE_parser___ReduceAction76___init;
14932 fra.me.has_broke = 0;
14933 fra.me.REG_size = 1;
14934 fra.me.REG[0] = NIT_NULL;
14935 fra.me.REG[0] = p0;
14936 /* ./parser//parser.nit:4982 */
14937 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
14938 stack_frame_head = fra.me.prev;
14939 init_table[itpos80] = 1;
14940 return;
14941 }
14942 void parser___ReduceAction77___action(val_t p0, val_t p1){
14943 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
14944 val_t REGB0;
14945 val_t REGB1;
14946 val_t tmp;
14947 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14948 fra.me.file = LOCATE_parser;
14949 fra.me.line = 4986;
14950 fra.me.meth = LOCATE_parser___ReduceAction77___action;
14951 fra.me.has_broke = 0;
14952 fra.me.REG_size = 13;
14953 fra.me.REG[0] = NIT_NULL;
14954 fra.me.REG[1] = NIT_NULL;
14955 fra.me.REG[2] = NIT_NULL;
14956 fra.me.REG[3] = NIT_NULL;
14957 fra.me.REG[4] = NIT_NULL;
14958 fra.me.REG[5] = NIT_NULL;
14959 fra.me.REG[6] = NIT_NULL;
14960 fra.me.REG[7] = NIT_NULL;
14961 fra.me.REG[8] = NIT_NULL;
14962 fra.me.REG[9] = NIT_NULL;
14963 fra.me.REG[10] = NIT_NULL;
14964 fra.me.REG[11] = NIT_NULL;
14965 fra.me.REG[12] = NIT_NULL;
14966 fra.me.REG[0] = p0;
14967 fra.me.REG[1] = p1;
14968 fra.me.REG[0] = NIT_NULL;
14969 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14970 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14971 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14972 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14973 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14974 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14975 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14976 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14977 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14978 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14979 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14980 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14981 fra.me.REG[10] = NEW_Array_array___Array___init();
14982 fra.me.REG[11] = NEW_Array_array___Array___init();
14983 fra.me.REG[12] = NEW_Array_array___Array___init();
14984 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
14985 /* ./parser//parser.nit:5005 */
14986 if (UNTAG_Bool(REGB0)) {
14987 } else {
14988 fprintf(stderr, "Assert failed");
14989 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5005);
14990 nit_exit(1);
14991 }
14992 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
14993 /* ./parser//parser.nit:5007 */
14994 if (UNTAG_Bool(REGB0)) {
14995 } else {
14996 fprintf(stderr, "Assert failed");
14997 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5007);
14998 nit_exit(1);
14999 }
15000 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
15001 /* ./parser//parser.nit:5009 */
15002 if (UNTAG_Bool(REGB0)) {
15003 } else {
15004 fprintf(stderr, "Assert failed");
15005 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5009);
15006 nit_exit(1);
15007 }
15008 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
15009 /* ./parser//parser.nit:5011 */
15010 if (UNTAG_Bool(REGB0)) {
15011 } else {
15012 fprintf(stderr, "Assert failed");
15013 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5011);
15014 nit_exit(1);
15015 }
15016 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
15017 /* ./parser//parser.nit:5013 */
15018 if (UNTAG_Bool(REGB0)) {
15019 } else {
15020 fprintf(stderr, "Assert failed");
15021 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5013);
15022 nit_exit(1);
15023 }
15024 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15025 /* ./parser//parser.nit:5015 */
15026 if (UNTAG_Bool(REGB0)) {
15027 } else {
15028 fprintf(stderr, "Assert failed");
15029 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5015);
15030 nit_exit(1);
15031 }
15032 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[10])(fra.me.REG[10]);
15033 /* ./parser//parser.nit:5017 */
15034 if (UNTAG_Bool(REGB0)) {
15035 fra.me.REG[10] = fra.me.REG[4];
15036 /* ./parser//parser.nit:5018 */
15037 } else {
15038 /* ./parser//parser.nit:5020 */
15039 CALL_abstract_collection___Sequence___append(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[4]);
15040 }
15041 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15042 /* ./parser//parser.nit:5024 */
15043 if (UNTAG_Bool(REGB0)) {
15044 } else {
15045 fprintf(stderr, "Assert failed");
15046 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5024);
15047 nit_exit(1);
15048 }
15049 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[11])(fra.me.REG[11]);
15050 /* ./parser//parser.nit:5026 */
15051 if (UNTAG_Bool(REGB0)) {
15052 fra.me.REG[11] = fra.me.REG[3];
15053 /* ./parser//parser.nit:5027 */
15054 } else {
15055 /* ./parser//parser.nit:5029 */
15056 CALL_abstract_collection___Sequence___append(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[3]);
15057 }
15058 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
15059 /* ./parser//parser.nit:5033 */
15060 if (UNTAG_Bool(REGB0)) {
15061 } else {
15062 fprintf(stderr, "Assert failed");
15063 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5033);
15064 nit_exit(1);
15065 }
15066 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15067 /* ./parser//parser.nit:5034 */
15068 if (UNTAG_Bool(REGB0)) {
15069 } else {
15070 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15071 if (UNTAG_Bool(REGB1)) {
15072 REGB1 = TAG_Bool(false);
15073 REGB0 = REGB1;
15074 } else {
15075 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
15076 REGB0 = REGB1;
15077 }
15078 }
15079 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15080 if (UNTAG_Bool(REGB0)) {
15081 /* ./parser//parser.nit:5035 */
15082 array___Array___add(fra.me.REG[12], fra.me.REG[2]);
15083 }
15084 fra.me.REG[12] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[10], fra.me.REG[11], fra.me.REG[12]);
15085 fra.me.REG[0] = fra.me.REG[12];
15086 REGB0 = TAG_Int(5);
15087 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15088 /* ./parser//parser.nit:5048 */
15089 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
15090 stack_frame_head = fra.me.prev;
15091 return;
15092 }
15093 void parser___ReduceAction77___init(val_t p0, int* init_table){
15094 int itpos81 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction77].i;
15095 struct {struct stack_frame_t me;} fra;
15096 val_t tmp;
15097 if (init_table[itpos81]) return;
15098 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15099 fra.me.file = LOCATE_parser;
15100 fra.me.line = 5050;
15101 fra.me.meth = LOCATE_parser___ReduceAction77___init;
15102 fra.me.has_broke = 0;
15103 fra.me.REG_size = 1;
15104 fra.me.REG[0] = NIT_NULL;
15105 fra.me.REG[0] = p0;
15106 /* ./parser//parser.nit:5050 */
15107 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
15108 stack_frame_head = fra.me.prev;
15109 init_table[itpos81] = 1;
15110 return;
15111 }
15112 void parser___ReduceAction78___action(val_t p0, val_t p1){
15113 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
15114 val_t REGB0;
15115 val_t REGB1;
15116 val_t tmp;
15117 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15118 fra.me.file = LOCATE_parser;
15119 fra.me.line = 5054;
15120 fra.me.meth = LOCATE_parser___ReduceAction78___action;
15121 fra.me.has_broke = 0;
15122 fra.me.REG_size = 14;
15123 fra.me.REG[0] = NIT_NULL;
15124 fra.me.REG[1] = NIT_NULL;
15125 fra.me.REG[2] = NIT_NULL;
15126 fra.me.REG[3] = NIT_NULL;
15127 fra.me.REG[4] = NIT_NULL;
15128 fra.me.REG[5] = NIT_NULL;
15129 fra.me.REG[6] = NIT_NULL;
15130 fra.me.REG[7] = NIT_NULL;
15131 fra.me.REG[8] = NIT_NULL;
15132 fra.me.REG[9] = NIT_NULL;
15133 fra.me.REG[10] = NIT_NULL;
15134 fra.me.REG[11] = NIT_NULL;
15135 fra.me.REG[12] = NIT_NULL;
15136 fra.me.REG[13] = NIT_NULL;
15137 fra.me.REG[0] = p0;
15138 fra.me.REG[1] = p1;
15139 fra.me.REG[0] = NIT_NULL;
15140 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15141 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15142 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15143 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15144 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15145 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15146 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15147 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15148 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15149 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15150 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15151 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15152 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15153 fra.me.REG[11] = NEW_Array_array___Array___init();
15154 fra.me.REG[12] = NEW_Array_array___Array___init();
15155 fra.me.REG[13] = NEW_Array_array___Array___init();
15156 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
15157 /* ./parser//parser.nit:5074 */
15158 if (UNTAG_Bool(REGB0)) {
15159 } else {
15160 fprintf(stderr, "Assert failed");
15161 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5074);
15162 nit_exit(1);
15163 }
15164 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
15165 /* ./parser//parser.nit:5076 */
15166 if (UNTAG_Bool(REGB0)) {
15167 } else {
15168 fprintf(stderr, "Assert failed");
15169 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5076);
15170 nit_exit(1);
15171 }
15172 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
15173 /* ./parser//parser.nit:5078 */
15174 if (UNTAG_Bool(REGB0)) {
15175 } else {
15176 fprintf(stderr, "Assert failed");
15177 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5078);
15178 nit_exit(1);
15179 }
15180 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/;
15181 /* ./parser//parser.nit:5080 */
15182 if (UNTAG_Bool(REGB0)) {
15183 } else {
15184 fprintf(stderr, "Assert failed");
15185 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5080);
15186 nit_exit(1);
15187 }
15188 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
15189 /* ./parser//parser.nit:5082 */
15190 if (UNTAG_Bool(REGB0)) {
15191 } else {
15192 fprintf(stderr, "Assert failed");
15193 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5082);
15194 nit_exit(1);
15195 }
15196 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15197 /* ./parser//parser.nit:5084 */
15198 if (UNTAG_Bool(REGB0)) {
15199 } else {
15200 fprintf(stderr, "Assert failed");
15201 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5084);
15202 nit_exit(1);
15203 }
15204 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[11])(fra.me.REG[11]);
15205 /* ./parser//parser.nit:5086 */
15206 if (UNTAG_Bool(REGB0)) {
15207 fra.me.REG[11] = fra.me.REG[5];
15208 /* ./parser//parser.nit:5087 */
15209 } else {
15210 /* ./parser//parser.nit:5089 */
15211 CALL_abstract_collection___Sequence___append(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[5]);
15212 }
15213 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15214 /* ./parser//parser.nit:5093 */
15215 if (UNTAG_Bool(REGB0)) {
15216 } else {
15217 fprintf(stderr, "Assert failed");
15218 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5093);
15219 nit_exit(1);
15220 }
15221 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[12])(fra.me.REG[12]);
15222 /* ./parser//parser.nit:5095 */
15223 if (UNTAG_Bool(REGB0)) {
15224 fra.me.REG[12] = fra.me.REG[4];
15225 /* ./parser//parser.nit:5096 */
15226 } else {
15227 /* ./parser//parser.nit:5098 */
15228 CALL_abstract_collection___Sequence___append(fra.me.REG[12])(fra.me.REG[12], fra.me.REG[4]);
15229 }
15230 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
15231 /* ./parser//parser.nit:5102 */
15232 if (UNTAG_Bool(REGB0)) {
15233 } else {
15234 fprintf(stderr, "Assert failed");
15235 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5102);
15236 nit_exit(1);
15237 }
15238 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15239 /* ./parser//parser.nit:5104 */
15240 if (UNTAG_Bool(REGB0)) {
15241 } else {
15242 fprintf(stderr, "Assert failed");
15243 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5104);
15244 nit_exit(1);
15245 }
15246 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
15247 /* ./parser//parser.nit:5105 */
15248 if (UNTAG_Bool(REGB0)) {
15249 } else {
15250 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
15251 if (UNTAG_Bool(REGB1)) {
15252 REGB1 = TAG_Bool(false);
15253 REGB0 = REGB1;
15254 } else {
15255 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
15256 REGB0 = REGB1;
15257 }
15258 }
15259 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15260 if (UNTAG_Bool(REGB0)) {
15261 /* ./parser//parser.nit:5106 */
15262 array___Array___add(fra.me.REG[13], fra.me.REG[3]);
15263 }
15264 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[13])(fra.me.REG[13]);
15265 /* ./parser//parser.nit:5109 */
15266 if (UNTAG_Bool(REGB0)) {
15267 fra.me.REG[13] = fra.me.REG[2];
15268 /* ./parser//parser.nit:5110 */
15269 } else {
15270 /* ./parser//parser.nit:5112 */
15271 CALL_abstract_collection___Sequence___append(fra.me.REG[13])(fra.me.REG[13], fra.me.REG[2]);
15272 }
15273 fra.me.REG[13] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[11], fra.me.REG[12], fra.me.REG[13]);
15274 fra.me.REG[0] = fra.me.REG[13];
15275 REGB0 = TAG_Int(5);
15276 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15277 /* ./parser//parser.nit:5126 */
15278 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
15279 stack_frame_head = fra.me.prev;
15280 return;
15281 }
15282 void parser___ReduceAction78___init(val_t p0, int* init_table){
15283 int itpos82 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction78].i;
15284 struct {struct stack_frame_t me;} fra;
15285 val_t tmp;
15286 if (init_table[itpos82]) return;
15287 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15288 fra.me.file = LOCATE_parser;
15289 fra.me.line = 5128;
15290 fra.me.meth = LOCATE_parser___ReduceAction78___init;
15291 fra.me.has_broke = 0;
15292 fra.me.REG_size = 1;
15293 fra.me.REG[0] = NIT_NULL;
15294 fra.me.REG[0] = p0;
15295 /* ./parser//parser.nit:5128 */
15296 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
15297 stack_frame_head = fra.me.prev;
15298 init_table[itpos82] = 1;
15299 return;
15300 }
15301 void parser___ReduceAction79___action(val_t p0, val_t p1){
15302 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
15303 val_t REGB0;
15304 val_t tmp;
15305 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15306 fra.me.file = LOCATE_parser;
15307 fra.me.line = 5132;
15308 fra.me.meth = LOCATE_parser___ReduceAction79___action;
15309 fra.me.has_broke = 0;
15310 fra.me.REG_size = 3;
15311 fra.me.REG[0] = NIT_NULL;
15312 fra.me.REG[1] = NIT_NULL;
15313 fra.me.REG[2] = NIT_NULL;
15314 fra.me.REG[0] = p0;
15315 fra.me.REG[1] = p1;
15316 fra.me.REG[0] = NIT_NULL;
15317 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15318 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwclass, ID_TKwclass)) /*cast nullable TKwclass*/;
15319 /* ./parser//parser.nit:5137 */
15320 if (UNTAG_Bool(REGB0)) {
15321 } else {
15322 fprintf(stderr, "Assert failed");
15323 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5137);
15324 nit_exit(1);
15325 }
15326 fra.me.REG[2] = NEW_AConcreteClasskind_parser_prod___AConcreteClasskind___init_aconcreteclasskind(fra.me.REG[2]);
15327 fra.me.REG[0] = fra.me.REG[2];
15328 REGB0 = TAG_Int(6);
15329 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15330 /* ./parser//parser.nit:5142 */
15331 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
15332 stack_frame_head = fra.me.prev;
15333 return;
15334 }
15335 void parser___ReduceAction79___init(val_t p0, int* init_table){
15336 int itpos83 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction79].i;
15337 struct {struct stack_frame_t me;} fra;
15338 val_t tmp;
15339 if (init_table[itpos83]) return;
15340 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15341 fra.me.file = LOCATE_parser;
15342 fra.me.line = 5144;
15343 fra.me.meth = LOCATE_parser___ReduceAction79___init;
15344 fra.me.has_broke = 0;
15345 fra.me.REG_size = 1;
15346 fra.me.REG[0] = NIT_NULL;
15347 fra.me.REG[0] = p0;
15348 /* ./parser//parser.nit:5144 */
15349 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
15350 stack_frame_head = fra.me.prev;
15351 init_table[itpos83] = 1;
15352 return;
15353 }
15354 void parser___ReduceAction80___action(val_t p0, val_t p1){
15355 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
15356 val_t REGB0;
15357 val_t tmp;
15358 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15359 fra.me.file = LOCATE_parser;
15360 fra.me.line = 5148;
15361 fra.me.meth = LOCATE_parser___ReduceAction80___action;
15362 fra.me.has_broke = 0;
15363 fra.me.REG_size = 4;
15364 fra.me.REG[0] = NIT_NULL;
15365 fra.me.REG[1] = NIT_NULL;
15366 fra.me.REG[2] = NIT_NULL;
15367 fra.me.REG[3] = NIT_NULL;
15368 fra.me.REG[0] = p0;
15369 fra.me.REG[1] = p1;
15370 fra.me.REG[0] = NIT_NULL;
15371 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15372 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15373 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwabstract, ID_TKwabstract)) /*cast nullable TKwabstract*/;
15374 /* ./parser//parser.nit:5154 */
15375 if (UNTAG_Bool(REGB0)) {
15376 } else {
15377 fprintf(stderr, "Assert failed");
15378 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5154);
15379 nit_exit(1);
15380 }
15381 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwclass, ID_TKwclass)) /*cast nullable TKwclass*/;
15382 /* ./parser//parser.nit:5156 */
15383 if (UNTAG_Bool(REGB0)) {
15384 } else {
15385 fprintf(stderr, "Assert failed");
15386 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5156);
15387 nit_exit(1);
15388 }
15389 fra.me.REG[2] = NEW_AAbstractClasskind_parser_prod___AAbstractClasskind___init_aabstractclasskind(fra.me.REG[3], fra.me.REG[2]);
15390 fra.me.REG[0] = fra.me.REG[2];
15391 REGB0 = TAG_Int(6);
15392 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15393 /* ./parser//parser.nit:5162 */
15394 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
15395 stack_frame_head = fra.me.prev;
15396 return;
15397 }
15398 void parser___ReduceAction80___init(val_t p0, int* init_table){
15399 int itpos84 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction80].i;
15400 struct {struct stack_frame_t me;} fra;
15401 val_t tmp;
15402 if (init_table[itpos84]) return;
15403 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15404 fra.me.file = LOCATE_parser;
15405 fra.me.line = 5164;
15406 fra.me.meth = LOCATE_parser___ReduceAction80___init;
15407 fra.me.has_broke = 0;
15408 fra.me.REG_size = 1;
15409 fra.me.REG[0] = NIT_NULL;
15410 fra.me.REG[0] = p0;
15411 /* ./parser//parser.nit:5164 */
15412 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
15413 stack_frame_head = fra.me.prev;
15414 init_table[itpos84] = 1;
15415 return;
15416 }
15417 void parser___ReduceAction81___action(val_t p0, val_t p1){
15418 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
15419 val_t REGB0;
15420 val_t tmp;
15421 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15422 fra.me.file = LOCATE_parser;
15423 fra.me.line = 5168;
15424 fra.me.meth = LOCATE_parser___ReduceAction81___action;
15425 fra.me.has_broke = 0;
15426 fra.me.REG_size = 3;
15427 fra.me.REG[0] = NIT_NULL;
15428 fra.me.REG[1] = NIT_NULL;
15429 fra.me.REG[2] = NIT_NULL;
15430 fra.me.REG[0] = p0;
15431 fra.me.REG[1] = p1;
15432 fra.me.REG[0] = NIT_NULL;
15433 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15434 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwinterface, ID_TKwinterface)) /*cast nullable TKwinterface*/;
15435 /* ./parser//parser.nit:5173 */
15436 if (UNTAG_Bool(REGB0)) {
15437 } else {
15438 fprintf(stderr, "Assert failed");
15439 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5173);
15440 nit_exit(1);
15441 }
15442 fra.me.REG[2] = NEW_AInterfaceClasskind_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(fra.me.REG[2]);
15443 fra.me.REG[0] = fra.me.REG[2];
15444 REGB0 = TAG_Int(6);
15445 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15446 /* ./parser//parser.nit:5178 */
15447 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
15448 stack_frame_head = fra.me.prev;
15449 return;
15450 }
15451 void parser___ReduceAction81___init(val_t p0, int* init_table){
15452 int itpos85 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction81].i;
15453 struct {struct stack_frame_t me;} fra;
15454 val_t tmp;
15455 if (init_table[itpos85]) return;
15456 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15457 fra.me.file = LOCATE_parser;
15458 fra.me.line = 5180;
15459 fra.me.meth = LOCATE_parser___ReduceAction81___init;
15460 fra.me.has_broke = 0;
15461 fra.me.REG_size = 1;
15462 fra.me.REG[0] = NIT_NULL;
15463 fra.me.REG[0] = p0;
15464 /* ./parser//parser.nit:5180 */
15465 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
15466 stack_frame_head = fra.me.prev;
15467 init_table[itpos85] = 1;
15468 return;
15469 }
15470 void parser___ReduceAction82___action(val_t p0, val_t p1){
15471 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
15472 val_t REGB0;
15473 val_t tmp;
15474 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15475 fra.me.file = LOCATE_parser;
15476 fra.me.line = 5184;
15477 fra.me.meth = LOCATE_parser___ReduceAction82___action;
15478 fra.me.has_broke = 0;
15479 fra.me.REG_size = 3;
15480 fra.me.REG[0] = NIT_NULL;
15481 fra.me.REG[1] = NIT_NULL;
15482 fra.me.REG[2] = NIT_NULL;
15483 fra.me.REG[0] = p0;
15484 fra.me.REG[1] = p1;
15485 fra.me.REG[0] = NIT_NULL;
15486 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15487 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwuniversal, ID_TKwuniversal)) /*cast nullable TKwuniversal*/;
15488 /* ./parser//parser.nit:5189 */
15489 if (UNTAG_Bool(REGB0)) {
15490 } else {
15491 fprintf(stderr, "Assert failed");
15492 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5189);
15493 nit_exit(1);
15494 }
15495 fra.me.REG[2] = NEW_AUniversalClasskind_parser_prod___AUniversalClasskind___init_auniversalclasskind(fra.me.REG[2]);
15496 fra.me.REG[0] = fra.me.REG[2];
15497 REGB0 = TAG_Int(6);
15498 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15499 /* ./parser//parser.nit:5194 */
15500 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
15501 stack_frame_head = fra.me.prev;
15502 return;
15503 }
15504 void parser___ReduceAction82___init(val_t p0, int* init_table){
15505 int itpos86 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction82].i;
15506 struct {struct stack_frame_t me;} fra;
15507 val_t tmp;
15508 if (init_table[itpos86]) return;
15509 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15510 fra.me.file = LOCATE_parser;
15511 fra.me.line = 5196;
15512 fra.me.meth = LOCATE_parser___ReduceAction82___init;
15513 fra.me.has_broke = 0;
15514 fra.me.REG_size = 1;
15515 fra.me.REG[0] = NIT_NULL;
15516 fra.me.REG[0] = p0;
15517 /* ./parser//parser.nit:5196 */
15518 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
15519 stack_frame_head = fra.me.prev;
15520 init_table[itpos86] = 1;
15521 return;
15522 }
15523 void parser___ReduceAction83___action(val_t p0, val_t p1){
15524 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
15525 val_t REGB0;
15526 val_t REGB1;
15527 val_t tmp;
15528 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15529 fra.me.file = LOCATE_parser;
15530 fra.me.line = 5200;
15531 fra.me.meth = LOCATE_parser___ReduceAction83___action;
15532 fra.me.has_broke = 0;
15533 fra.me.REG_size = 4;
15534 fra.me.REG[0] = NIT_NULL;
15535 fra.me.REG[1] = NIT_NULL;
15536 fra.me.REG[2] = NIT_NULL;
15537 fra.me.REG[3] = NIT_NULL;
15538 fra.me.REG[0] = p0;
15539 fra.me.REG[1] = p1;
15540 fra.me.REG[0] = NIT_NULL;
15541 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15542 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15543 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15544 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15545 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15546 fra.me.REG[3] = NEW_Array_array___Array___init();
15547 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AFormaldef, ID_AFormaldef)) /*cast nullable AFormaldef*/;
15548 /* ./parser//parser.nit:5210 */
15549 if (UNTAG_Bool(REGB0)) {
15550 } else {
15551 fprintf(stderr, "Assert failed");
15552 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5210);
15553 nit_exit(1);
15554 }
15555 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15556 /* ./parser//parser.nit:5211 */
15557 if (UNTAG_Bool(REGB0)) {
15558 } else {
15559 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15560 if (UNTAG_Bool(REGB1)) {
15561 REGB1 = TAG_Bool(false);
15562 REGB0 = REGB1;
15563 } else {
15564 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
15565 REGB0 = REGB1;
15566 }
15567 }
15568 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15569 if (UNTAG_Bool(REGB0)) {
15570 /* ./parser//parser.nit:5212 */
15571 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
15572 }
15573 fra.me.REG[0] = fra.me.REG[3];
15574 REGB0 = TAG_Int(7);
15575 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15576 /* ./parser//parser.nit:5215 */
15577 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
15578 stack_frame_head = fra.me.prev;
15579 return;
15580 }
15581 void parser___ReduceAction83___init(val_t p0, int* init_table){
15582 int itpos87 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction83].i;
15583 struct {struct stack_frame_t me;} fra;
15584 val_t tmp;
15585 if (init_table[itpos87]) return;
15586 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15587 fra.me.file = LOCATE_parser;
15588 fra.me.line = 5217;
15589 fra.me.meth = LOCATE_parser___ReduceAction83___init;
15590 fra.me.has_broke = 0;
15591 fra.me.REG_size = 1;
15592 fra.me.REG[0] = NIT_NULL;
15593 fra.me.REG[0] = p0;
15594 /* ./parser//parser.nit:5217 */
15595 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
15596 stack_frame_head = fra.me.prev;
15597 init_table[itpos87] = 1;
15598 return;
15599 }
15600 void parser___ReduceAction84___action(val_t p0, val_t p1){
15601 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
15602 val_t REGB0;
15603 val_t REGB1;
15604 val_t tmp;
15605 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15606 fra.me.file = LOCATE_parser;
15607 fra.me.line = 5221;
15608 fra.me.meth = LOCATE_parser___ReduceAction84___action;
15609 fra.me.has_broke = 0;
15610 fra.me.REG_size = 5;
15611 fra.me.REG[0] = NIT_NULL;
15612 fra.me.REG[1] = NIT_NULL;
15613 fra.me.REG[2] = NIT_NULL;
15614 fra.me.REG[3] = NIT_NULL;
15615 fra.me.REG[4] = NIT_NULL;
15616 fra.me.REG[0] = p0;
15617 fra.me.REG[1] = p1;
15618 fra.me.REG[0] = NIT_NULL;
15619 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15620 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15621 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15622 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15623 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15624 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15625 fra.me.REG[4] = NEW_Array_array___Array___init();
15626 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AFormaldef, ID_AFormaldef)) /*cast nullable AFormaldef*/;
15627 /* ./parser//parser.nit:5232 */
15628 if (UNTAG_Bool(REGB0)) {
15629 } else {
15630 fprintf(stderr, "Assert failed");
15631 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5232);
15632 nit_exit(1);
15633 }
15634 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15635 /* ./parser//parser.nit:5234 */
15636 if (UNTAG_Bool(REGB0)) {
15637 } else {
15638 fprintf(stderr, "Assert failed");
15639 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5234);
15640 nit_exit(1);
15641 }
15642 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
15643 /* ./parser//parser.nit:5235 */
15644 if (UNTAG_Bool(REGB0)) {
15645 } else {
15646 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
15647 if (UNTAG_Bool(REGB1)) {
15648 REGB1 = TAG_Bool(false);
15649 REGB0 = REGB1;
15650 } else {
15651 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
15652 REGB0 = REGB1;
15653 }
15654 }
15655 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15656 if (UNTAG_Bool(REGB0)) {
15657 /* ./parser//parser.nit:5236 */
15658 array___Array___add(fra.me.REG[4], fra.me.REG[3]);
15659 }
15660 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
15661 /* ./parser//parser.nit:5239 */
15662 if (UNTAG_Bool(REGB0)) {
15663 fra.me.REG[4] = fra.me.REG[2];
15664 /* ./parser//parser.nit:5240 */
15665 } else {
15666 /* ./parser//parser.nit:5242 */
15667 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
15668 }
15669 fra.me.REG[0] = fra.me.REG[4];
15670 REGB0 = TAG_Int(7);
15671 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15672 /* ./parser//parser.nit:5246 */
15673 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
15674 stack_frame_head = fra.me.prev;
15675 return;
15676 }
15677 void parser___ReduceAction84___init(val_t p0, int* init_table){
15678 int itpos88 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction84].i;
15679 struct {struct stack_frame_t me;} fra;
15680 val_t tmp;
15681 if (init_table[itpos88]) return;
15682 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15683 fra.me.file = LOCATE_parser;
15684 fra.me.line = 5248;
15685 fra.me.meth = LOCATE_parser___ReduceAction84___init;
15686 fra.me.has_broke = 0;
15687 fra.me.REG_size = 1;
15688 fra.me.REG[0] = NIT_NULL;
15689 fra.me.REG[0] = p0;
15690 /* ./parser//parser.nit:5248 */
15691 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
15692 stack_frame_head = fra.me.prev;
15693 init_table[itpos88] = 1;
15694 return;
15695 }
15696 void parser___ReduceAction85___action(val_t p0, val_t p1){
15697 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
15698 val_t REGB0;
15699 val_t tmp;
15700 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15701 fra.me.file = LOCATE_parser;
15702 fra.me.line = 5252;
15703 fra.me.meth = LOCATE_parser___ReduceAction85___action;
15704 fra.me.has_broke = 0;
15705 fra.me.REG_size = 4;
15706 fra.me.REG[0] = NIT_NULL;
15707 fra.me.REG[1] = NIT_NULL;
15708 fra.me.REG[2] = NIT_NULL;
15709 fra.me.REG[3] = NIT_NULL;
15710 fra.me.REG[0] = p0;
15711 fra.me.REG[1] = p1;
15712 fra.me.REG[0] = NIT_NULL;
15713 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15714 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15715 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15716 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AFormaldef, ID_AFormaldef)) /*cast nullable AFormaldef*/;
15717 /* ./parser//parser.nit:5259 */
15718 if (UNTAG_Bool(REGB0)) {
15719 } else {
15720 fprintf(stderr, "Assert failed");
15721 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5259);
15722 nit_exit(1);
15723 }
15724 fra.me.REG[0] = fra.me.REG[2];
15725 REGB0 = TAG_Int(8);
15726 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15727 /* ./parser//parser.nit:5261 */
15728 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
15729 stack_frame_head = fra.me.prev;
15730 return;
15731 }
15732 void parser___ReduceAction85___init(val_t p0, int* init_table){
15733 int itpos89 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction85].i;
15734 struct {struct stack_frame_t me;} fra;
15735 val_t tmp;
15736 if (init_table[itpos89]) return;
15737 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15738 fra.me.file = LOCATE_parser;
15739 fra.me.line = 5263;
15740 fra.me.meth = LOCATE_parser___ReduceAction85___init;
15741 fra.me.has_broke = 0;
15742 fra.me.REG_size = 1;
15743 fra.me.REG[0] = NIT_NULL;
15744 fra.me.REG[0] = p0;
15745 /* ./parser//parser.nit:5263 */
15746 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
15747 stack_frame_head = fra.me.prev;
15748 init_table[itpos89] = 1;
15749 return;
15750 }
15751 void parser___ReduceAction86___action(val_t p0, val_t p1){
15752 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
15753 val_t REGB0;
15754 val_t tmp;
15755 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15756 fra.me.file = LOCATE_parser;
15757 fra.me.line = 5267;
15758 fra.me.meth = LOCATE_parser___ReduceAction86___action;
15759 fra.me.has_broke = 0;
15760 fra.me.REG_size = 3;
15761 fra.me.REG[0] = NIT_NULL;
15762 fra.me.REG[1] = NIT_NULL;
15763 fra.me.REG[2] = NIT_NULL;
15764 fra.me.REG[0] = p0;
15765 fra.me.REG[1] = p1;
15766 fra.me.REG[0] = NIT_NULL;
15767 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15768 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
15769 /* ./parser//parser.nit:5272 */
15770 if (UNTAG_Bool(REGB0)) {
15771 } else {
15772 fprintf(stderr, "Assert failed");
15773 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5272);
15774 nit_exit(1);
15775 }
15776 fra.me.REG[2] = NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef(fra.me.REG[2], NIT_NULL);
15777 fra.me.REG[0] = fra.me.REG[2];
15778 REGB0 = TAG_Int(9);
15779 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15780 /* ./parser//parser.nit:5278 */
15781 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
15782 stack_frame_head = fra.me.prev;
15783 return;
15784 }
15785 void parser___ReduceAction86___init(val_t p0, int* init_table){
15786 int itpos90 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction86].i;
15787 struct {struct stack_frame_t me;} fra;
15788 val_t tmp;
15789 if (init_table[itpos90]) return;
15790 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15791 fra.me.file = LOCATE_parser;
15792 fra.me.line = 5280;
15793 fra.me.meth = LOCATE_parser___ReduceAction86___init;
15794 fra.me.has_broke = 0;
15795 fra.me.REG_size = 1;
15796 fra.me.REG[0] = NIT_NULL;
15797 fra.me.REG[0] = p0;
15798 /* ./parser//parser.nit:5280 */
15799 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
15800 stack_frame_head = fra.me.prev;
15801 init_table[itpos90] = 1;
15802 return;
15803 }
15804 void parser___ReduceAction87___action(val_t p0, val_t p1){
15805 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
15806 val_t REGB0;
15807 val_t tmp;
15808 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15809 fra.me.file = LOCATE_parser;
15810 fra.me.line = 5284;
15811 fra.me.meth = LOCATE_parser___ReduceAction87___action;
15812 fra.me.has_broke = 0;
15813 fra.me.REG_size = 4;
15814 fra.me.REG[0] = NIT_NULL;
15815 fra.me.REG[1] = NIT_NULL;
15816 fra.me.REG[2] = NIT_NULL;
15817 fra.me.REG[3] = NIT_NULL;
15818 fra.me.REG[0] = p0;
15819 fra.me.REG[1] = p1;
15820 fra.me.REG[0] = NIT_NULL;
15821 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15822 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15823 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
15824 /* ./parser//parser.nit:5290 */
15825 if (UNTAG_Bool(REGB0)) {
15826 } else {
15827 fprintf(stderr, "Assert failed");
15828 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5290);
15829 nit_exit(1);
15830 }
15831 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
15832 /* ./parser//parser.nit:5292 */
15833 if (UNTAG_Bool(REGB0)) {
15834 } else {
15835 fprintf(stderr, "Assert failed");
15836 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5292);
15837 nit_exit(1);
15838 }
15839 fra.me.REG[2] = NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef(fra.me.REG[3], fra.me.REG[2]);
15840 fra.me.REG[0] = fra.me.REG[2];
15841 REGB0 = TAG_Int(9);
15842 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15843 /* ./parser//parser.nit:5298 */
15844 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
15845 stack_frame_head = fra.me.prev;
15846 return;
15847 }
15848 void parser___ReduceAction87___init(val_t p0, int* init_table){
15849 int itpos91 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction87].i;
15850 struct {struct stack_frame_t me;} fra;
15851 val_t tmp;
15852 if (init_table[itpos91]) return;
15853 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15854 fra.me.file = LOCATE_parser;
15855 fra.me.line = 5300;
15856 fra.me.meth = LOCATE_parser___ReduceAction87___init;
15857 fra.me.has_broke = 0;
15858 fra.me.REG_size = 1;
15859 fra.me.REG[0] = NIT_NULL;
15860 fra.me.REG[0] = p0;
15861 /* ./parser//parser.nit:5300 */
15862 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
15863 stack_frame_head = fra.me.prev;
15864 init_table[itpos91] = 1;
15865 return;
15866 }
15867 void parser___ReduceAction88___action(val_t p0, val_t p1){
15868 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
15869 val_t REGB0;
15870 val_t tmp;
15871 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15872 fra.me.file = LOCATE_parser;
15873 fra.me.line = 5304;
15874 fra.me.meth = LOCATE_parser___ReduceAction88___action;
15875 fra.me.has_broke = 0;
15876 fra.me.REG_size = 5;
15877 fra.me.REG[0] = NIT_NULL;
15878 fra.me.REG[1] = NIT_NULL;
15879 fra.me.REG[2] = NIT_NULL;
15880 fra.me.REG[3] = NIT_NULL;
15881 fra.me.REG[4] = NIT_NULL;
15882 fra.me.REG[0] = p0;
15883 fra.me.REG[1] = p1;
15884 fra.me.REG[0] = NIT_NULL;
15885 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15886 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15887 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15888 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15889 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwspecial, ID_TKwspecial)) /*cast nullable TKwspecial*/;
15890 /* ./parser//parser.nit:5312 */
15891 if (UNTAG_Bool(REGB0)) {
15892 } else {
15893 fprintf(stderr, "Assert failed");
15894 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5312);
15895 nit_exit(1);
15896 }
15897 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
15898 /* ./parser//parser.nit:5314 */
15899 if (UNTAG_Bool(REGB0)) {
15900 } else {
15901 fprintf(stderr, "Assert failed");
15902 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5314);
15903 nit_exit(1);
15904 }
15905 fra.me.REG[2] = NEW_ASuperclass_parser_prod___ASuperclass___init_asuperclass(fra.me.REG[3], fra.me.REG[2]);
15906 fra.me.REG[0] = fra.me.REG[2];
15907 REGB0 = TAG_Int(10);
15908 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15909 /* ./parser//parser.nit:5320 */
15910 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
15911 stack_frame_head = fra.me.prev;
15912 return;
15913 }
15914 void parser___ReduceAction88___init(val_t p0, int* init_table){
15915 int itpos92 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction88].i;
15916 struct {struct stack_frame_t me;} fra;
15917 val_t tmp;
15918 if (init_table[itpos92]) return;
15919 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15920 fra.me.file = LOCATE_parser;
15921 fra.me.line = 5322;
15922 fra.me.meth = LOCATE_parser___ReduceAction88___init;
15923 fra.me.has_broke = 0;
15924 fra.me.REG_size = 1;
15925 fra.me.REG[0] = NIT_NULL;
15926 fra.me.REG[0] = p0;
15927 /* ./parser//parser.nit:5322 */
15928 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
15929 stack_frame_head = fra.me.prev;
15930 init_table[itpos92] = 1;
15931 return;
15932 }
15933 void parser___ReduceAction89___action(val_t p0, val_t p1){
15934 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
15935 val_t REGB0;
15936 val_t tmp;
15937 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15938 fra.me.file = LOCATE_parser;
15939 fra.me.line = 5326;
15940 fra.me.meth = LOCATE_parser___ReduceAction89___action;
15941 fra.me.has_broke = 0;
15942 fra.me.REG_size = 3;
15943 fra.me.REG[0] = NIT_NULL;
15944 fra.me.REG[1] = NIT_NULL;
15945 fra.me.REG[2] = NIT_NULL;
15946 fra.me.REG[0] = p0;
15947 fra.me.REG[1] = p1;
15948 fra.me.REG[0] = NIT_NULL;
15949 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15950 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15951 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
15952 /* ./parser//parser.nit:5332 */
15953 if (UNTAG_Bool(REGB0)) {
15954 } else {
15955 fprintf(stderr, "Assert failed");
15956 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5332);
15957 nit_exit(1);
15958 }
15959 fra.me.REG[0] = fra.me.REG[2];
15960 REGB0 = TAG_Int(11);
15961 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15962 /* ./parser//parser.nit:5334 */
15963 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
15964 stack_frame_head = fra.me.prev;
15965 return;
15966 }
15967 void parser___ReduceAction89___init(val_t p0, int* init_table){
15968 int itpos93 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction89].i;
15969 struct {struct stack_frame_t me;} fra;
15970 val_t tmp;
15971 if (init_table[itpos93]) return;
15972 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15973 fra.me.file = LOCATE_parser;
15974 fra.me.line = 5336;
15975 fra.me.meth = LOCATE_parser___ReduceAction89___init;
15976 fra.me.has_broke = 0;
15977 fra.me.REG_size = 1;
15978 fra.me.REG[0] = NIT_NULL;
15979 fra.me.REG[0] = p0;
15980 /* ./parser//parser.nit:5336 */
15981 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
15982 stack_frame_head = fra.me.prev;
15983 init_table[itpos93] = 1;
15984 return;
15985 }
15986 void parser___ReduceAction90___action(val_t p0, val_t p1){
15987 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
15988 val_t REGB0;
15989 val_t tmp;
15990 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15991 fra.me.file = LOCATE_parser;
15992 fra.me.line = 5340;
15993 fra.me.meth = LOCATE_parser___ReduceAction90___action;
15994 fra.me.has_broke = 0;
15995 fra.me.REG_size = 8;
15996 fra.me.REG[0] = NIT_NULL;
15997 fra.me.REG[1] = NIT_NULL;
15998 fra.me.REG[2] = NIT_NULL;
15999 fra.me.REG[3] = NIT_NULL;
16000 fra.me.REG[4] = NIT_NULL;
16001 fra.me.REG[5] = NIT_NULL;
16002 fra.me.REG[6] = NIT_NULL;
16003 fra.me.REG[7] = NIT_NULL;
16004 fra.me.REG[0] = p0;
16005 fra.me.REG[1] = p1;
16006 fra.me.REG[0] = NIT_NULL;
16007 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16008 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16009 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16010 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16011 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16012 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16013 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16014 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
16015 /* ./parser//parser.nit:5351 */
16016 if (UNTAG_Bool(REGB0)) {
16017 } else {
16018 fprintf(stderr, "Assert failed");
16019 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5351);
16020 nit_exit(1);
16021 }
16022 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
16023 /* ./parser//parser.nit:5353 */
16024 if (UNTAG_Bool(REGB0)) {
16025 } else {
16026 fprintf(stderr, "Assert failed");
16027 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5353);
16028 nit_exit(1);
16029 }
16030 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
16031 /* ./parser//parser.nit:5355 */
16032 if (UNTAG_Bool(REGB0)) {
16033 } else {
16034 fprintf(stderr, "Assert failed");
16035 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5355);
16036 nit_exit(1);
16037 }
16038 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
16039 /* ./parser//parser.nit:5357 */
16040 if (UNTAG_Bool(REGB0)) {
16041 } else {
16042 fprintf(stderr, "Assert failed");
16043 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5357);
16044 nit_exit(1);
16045 }
16046 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
16047 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
16048 /* ./parser//parser.nit:5362 */
16049 if (UNTAG_Bool(REGB0)) {
16050 } else {
16051 fprintf(stderr, "Assert failed");
16052 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5362);
16053 nit_exit(1);
16054 }
16055 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
16056 /* ./parser//parser.nit:5364 */
16057 if (UNTAG_Bool(REGB0)) {
16058 } else {
16059 fprintf(stderr, "Assert failed");
16060 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5364);
16061 nit_exit(1);
16062 }
16063 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
16064 fra.me.REG[0] = fra.me.REG[2];
16065 REGB0 = TAG_Int(12);
16066 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16067 /* ./parser//parser.nit:5375 */
16068 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
16069 stack_frame_head = fra.me.prev;
16070 return;
16071 }
16072 void parser___ReduceAction90___init(val_t p0, int* init_table){
16073 int itpos94 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction90].i;
16074 struct {struct stack_frame_t me;} fra;
16075 val_t tmp;
16076 if (init_table[itpos94]) return;
16077 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16078 fra.me.file = LOCATE_parser;
16079 fra.me.line = 5377;
16080 fra.me.meth = LOCATE_parser___ReduceAction90___init;
16081 fra.me.has_broke = 0;
16082 fra.me.REG_size = 1;
16083 fra.me.REG[0] = NIT_NULL;
16084 fra.me.REG[0] = p0;
16085 /* ./parser//parser.nit:5377 */
16086 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
16087 stack_frame_head = fra.me.prev;
16088 init_table[itpos94] = 1;
16089 return;
16090 }
16091 void parser___ReduceAction91___action(val_t p0, val_t p1){
16092 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
16093 val_t REGB0;
16094 val_t tmp;
16095 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16096 fra.me.file = LOCATE_parser;
16097 fra.me.line = 5381;
16098 fra.me.meth = LOCATE_parser___ReduceAction91___action;
16099 fra.me.has_broke = 0;
16100 fra.me.REG_size = 8;
16101 fra.me.REG[0] = NIT_NULL;
16102 fra.me.REG[1] = NIT_NULL;
16103 fra.me.REG[2] = NIT_NULL;
16104 fra.me.REG[3] = NIT_NULL;
16105 fra.me.REG[4] = NIT_NULL;
16106 fra.me.REG[5] = NIT_NULL;
16107 fra.me.REG[6] = NIT_NULL;
16108 fra.me.REG[7] = NIT_NULL;
16109 fra.me.REG[0] = p0;
16110 fra.me.REG[1] = p1;
16111 fra.me.REG[0] = NIT_NULL;
16112 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16113 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16114 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16115 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16116 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16117 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16118 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16119 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
16120 /* ./parser//parser.nit:5392 */
16121 if (UNTAG_Bool(REGB0)) {
16122 } else {
16123 fprintf(stderr, "Assert failed");
16124 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5392);
16125 nit_exit(1);
16126 }
16127 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
16128 /* ./parser//parser.nit:5394 */
16129 if (UNTAG_Bool(REGB0)) {
16130 } else {
16131 fprintf(stderr, "Assert failed");
16132 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5394);
16133 nit_exit(1);
16134 }
16135 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
16136 /* ./parser//parser.nit:5396 */
16137 if (UNTAG_Bool(REGB0)) {
16138 } else {
16139 fprintf(stderr, "Assert failed");
16140 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5396);
16141 nit_exit(1);
16142 }
16143 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
16144 /* ./parser//parser.nit:5398 */
16145 if (UNTAG_Bool(REGB0)) {
16146 } else {
16147 fprintf(stderr, "Assert failed");
16148 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5398);
16149 nit_exit(1);
16150 }
16151 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
16152 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
16153 /* ./parser//parser.nit:5403 */
16154 if (UNTAG_Bool(REGB0)) {
16155 } else {
16156 fprintf(stderr, "Assert failed");
16157 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5403);
16158 nit_exit(1);
16159 }
16160 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
16161 /* ./parser//parser.nit:5405 */
16162 if (UNTAG_Bool(REGB0)) {
16163 } else {
16164 fprintf(stderr, "Assert failed");
16165 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5405);
16166 nit_exit(1);
16167 }
16168 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
16169 fra.me.REG[0] = fra.me.REG[2];
16170 REGB0 = TAG_Int(12);
16171 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16172 /* ./parser//parser.nit:5416 */
16173 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
16174 stack_frame_head = fra.me.prev;
16175 return;
16176 }
16177 void parser___ReduceAction91___init(val_t p0, int* init_table){
16178 int itpos95 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction91].i;
16179 struct {struct stack_frame_t me;} fra;
16180 val_t tmp;
16181 if (init_table[itpos95]) return;
16182 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16183 fra.me.file = LOCATE_parser;
16184 fra.me.line = 5418;
16185 fra.me.meth = LOCATE_parser___ReduceAction91___init;
16186 fra.me.has_broke = 0;
16187 fra.me.REG_size = 1;
16188 fra.me.REG[0] = NIT_NULL;
16189 fra.me.REG[0] = p0;
16190 /* ./parser//parser.nit:5418 */
16191 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
16192 stack_frame_head = fra.me.prev;
16193 init_table[itpos95] = 1;
16194 return;
16195 }
16196 void parser___ReduceAction92___action(val_t p0, val_t p1){
16197 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
16198 val_t REGB0;
16199 val_t tmp;
16200 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16201 fra.me.file = LOCATE_parser;
16202 fra.me.line = 5422;
16203 fra.me.meth = LOCATE_parser___ReduceAction92___action;
16204 fra.me.has_broke = 0;
16205 fra.me.REG_size = 8;
16206 fra.me.REG[0] = NIT_NULL;
16207 fra.me.REG[1] = NIT_NULL;
16208 fra.me.REG[2] = NIT_NULL;
16209 fra.me.REG[3] = NIT_NULL;
16210 fra.me.REG[4] = NIT_NULL;
16211 fra.me.REG[5] = NIT_NULL;
16212 fra.me.REG[6] = NIT_NULL;
16213 fra.me.REG[7] = NIT_NULL;
16214 fra.me.REG[0] = p0;
16215 fra.me.REG[1] = p1;
16216 fra.me.REG[0] = NIT_NULL;
16217 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16218 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16219 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16220 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16221 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16222 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16223 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16224 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
16225 /* ./parser//parser.nit:5433 */
16226 if (UNTAG_Bool(REGB0)) {
16227 } else {
16228 fprintf(stderr, "Assert failed");
16229 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5433);
16230 nit_exit(1);
16231 }
16232 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
16233 /* ./parser//parser.nit:5435 */
16234 if (UNTAG_Bool(REGB0)) {
16235 } else {
16236 fprintf(stderr, "Assert failed");
16237 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5435);
16238 nit_exit(1);
16239 }
16240 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
16241 /* ./parser//parser.nit:5437 */
16242 if (UNTAG_Bool(REGB0)) {
16243 } else {
16244 fprintf(stderr, "Assert failed");
16245 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5437);
16246 nit_exit(1);
16247 }
16248 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
16249 /* ./parser//parser.nit:5439 */
16250 if (UNTAG_Bool(REGB0)) {
16251 } else {
16252 fprintf(stderr, "Assert failed");
16253 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5439);
16254 nit_exit(1);
16255 }
16256 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
16257 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
16258 /* ./parser//parser.nit:5444 */
16259 if (UNTAG_Bool(REGB0)) {
16260 } else {
16261 fprintf(stderr, "Assert failed");
16262 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5444);
16263 nit_exit(1);
16264 }
16265 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
16266 /* ./parser//parser.nit:5446 */
16267 if (UNTAG_Bool(REGB0)) {
16268 } else {
16269 fprintf(stderr, "Assert failed");
16270 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5446);
16271 nit_exit(1);
16272 }
16273 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
16274 fra.me.REG[0] = fra.me.REG[2];
16275 REGB0 = TAG_Int(12);
16276 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16277 /* ./parser//parser.nit:5457 */
16278 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
16279 stack_frame_head = fra.me.prev;
16280 return;
16281 }
16282 void parser___ReduceAction92___init(val_t p0, int* init_table){
16283 int itpos96 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction92].i;
16284 struct {struct stack_frame_t me;} fra;
16285 val_t tmp;
16286 if (init_table[itpos96]) return;
16287 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16288 fra.me.file = LOCATE_parser;
16289 fra.me.line = 5459;
16290 fra.me.meth = LOCATE_parser___ReduceAction92___init;
16291 fra.me.has_broke = 0;
16292 fra.me.REG_size = 1;
16293 fra.me.REG[0] = NIT_NULL;
16294 fra.me.REG[0] = p0;
16295 /* ./parser//parser.nit:5459 */
16296 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
16297 stack_frame_head = fra.me.prev;
16298 init_table[itpos96] = 1;
16299 return;
16300 }
16301 void parser___ReduceAction93___action(val_t p0, val_t p1){
16302 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
16303 val_t REGB0;
16304 val_t tmp;
16305 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16306 fra.me.file = LOCATE_parser;
16307 fra.me.line = 5463;
16308 fra.me.meth = LOCATE_parser___ReduceAction93___action;
16309 fra.me.has_broke = 0;
16310 fra.me.REG_size = 8;
16311 fra.me.REG[0] = NIT_NULL;
16312 fra.me.REG[1] = NIT_NULL;
16313 fra.me.REG[2] = NIT_NULL;
16314 fra.me.REG[3] = NIT_NULL;
16315 fra.me.REG[4] = NIT_NULL;
16316 fra.me.REG[5] = NIT_NULL;
16317 fra.me.REG[6] = NIT_NULL;
16318 fra.me.REG[7] = NIT_NULL;
16319 fra.me.REG[0] = p0;
16320 fra.me.REG[1] = p1;
16321 fra.me.REG[0] = NIT_NULL;
16322 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16323 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16324 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16325 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16326 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16327 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16328 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16329 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
16330 /* ./parser//parser.nit:5474 */
16331 if (UNTAG_Bool(REGB0)) {
16332 } else {
16333 fprintf(stderr, "Assert failed");
16334 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5474);
16335 nit_exit(1);
16336 }
16337 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
16338 /* ./parser//parser.nit:5476 */
16339 if (UNTAG_Bool(REGB0)) {
16340 } else {
16341 fprintf(stderr, "Assert failed");
16342 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5476);
16343 nit_exit(1);
16344 }
16345 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
16346 /* ./parser//parser.nit:5478 */
16347 if (UNTAG_Bool(REGB0)) {
16348 } else {
16349 fprintf(stderr, "Assert failed");
16350 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5478);
16351 nit_exit(1);
16352 }
16353 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
16354 /* ./parser//parser.nit:5480 */
16355 if (UNTAG_Bool(REGB0)) {
16356 } else {
16357 fprintf(stderr, "Assert failed");
16358 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5480);
16359 nit_exit(1);
16360 }
16361 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
16362 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
16363 /* ./parser//parser.nit:5485 */
16364 if (UNTAG_Bool(REGB0)) {
16365 } else {
16366 fprintf(stderr, "Assert failed");
16367 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5485);
16368 nit_exit(1);
16369 }
16370 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
16371 /* ./parser//parser.nit:5487 */
16372 if (UNTAG_Bool(REGB0)) {
16373 } else {
16374 fprintf(stderr, "Assert failed");
16375 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5487);
16376 nit_exit(1);
16377 }
16378 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
16379 fra.me.REG[0] = fra.me.REG[2];
16380 REGB0 = TAG_Int(12);
16381 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16382 /* ./parser//parser.nit:5498 */
16383 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
16384 stack_frame_head = fra.me.prev;
16385 return;
16386 }
16387 void parser___ReduceAction93___init(val_t p0, int* init_table){
16388 int itpos97 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction93].i;
16389 struct {struct stack_frame_t me;} fra;
16390 val_t tmp;
16391 if (init_table[itpos97]) return;
16392 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16393 fra.me.file = LOCATE_parser;
16394 fra.me.line = 5500;
16395 fra.me.meth = LOCATE_parser___ReduceAction93___init;
16396 fra.me.has_broke = 0;
16397 fra.me.REG_size = 1;
16398 fra.me.REG[0] = NIT_NULL;
16399 fra.me.REG[0] = p0;
16400 /* ./parser//parser.nit:5500 */
16401 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
16402 stack_frame_head = fra.me.prev;
16403 init_table[itpos97] = 1;
16404 return;
16405 }
16406 void parser___ReduceAction94___action(val_t p0, val_t p1){
16407 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
16408 val_t REGB0;
16409 val_t tmp;
16410 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16411 fra.me.file = LOCATE_parser;
16412 fra.me.line = 5504;
16413 fra.me.meth = LOCATE_parser___ReduceAction94___action;
16414 fra.me.has_broke = 0;
16415 fra.me.REG_size = 8;
16416 fra.me.REG[0] = NIT_NULL;
16417 fra.me.REG[1] = NIT_NULL;
16418 fra.me.REG[2] = NIT_NULL;
16419 fra.me.REG[3] = NIT_NULL;
16420 fra.me.REG[4] = NIT_NULL;
16421 fra.me.REG[5] = NIT_NULL;
16422 fra.me.REG[6] = NIT_NULL;
16423 fra.me.REG[7] = NIT_NULL;
16424 fra.me.REG[0] = p0;
16425 fra.me.REG[1] = p1;
16426 fra.me.REG[0] = NIT_NULL;
16427 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16428 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16429 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16430 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16431 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16432 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16433 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16434 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
16435 /* ./parser//parser.nit:5515 */
16436 if (UNTAG_Bool(REGB0)) {
16437 } else {
16438 fprintf(stderr, "Assert failed");
16439 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5515);
16440 nit_exit(1);
16441 }
16442 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
16443 /* ./parser//parser.nit:5517 */
16444 if (UNTAG_Bool(REGB0)) {
16445 } else {
16446 fprintf(stderr, "Assert failed");
16447 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5517);
16448 nit_exit(1);
16449 }
16450 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
16451 /* ./parser//parser.nit:5519 */
16452 if (UNTAG_Bool(REGB0)) {
16453 } else {
16454 fprintf(stderr, "Assert failed");
16455 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5519);
16456 nit_exit(1);
16457 }
16458 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
16459 /* ./parser//parser.nit:5521 */
16460 if (UNTAG_Bool(REGB0)) {
16461 } else {
16462 fprintf(stderr, "Assert failed");
16463 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5521);
16464 nit_exit(1);
16465 }
16466 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
16467 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
16468 /* ./parser//parser.nit:5526 */
16469 if (UNTAG_Bool(REGB0)) {
16470 } else {
16471 fprintf(stderr, "Assert failed");
16472 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5526);
16473 nit_exit(1);
16474 }
16475 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
16476 /* ./parser//parser.nit:5528 */
16477 if (UNTAG_Bool(REGB0)) {
16478 } else {
16479 fprintf(stderr, "Assert failed");
16480 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5528);
16481 nit_exit(1);
16482 }
16483 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
16484 fra.me.REG[0] = fra.me.REG[2];
16485 REGB0 = TAG_Int(12);
16486 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16487 /* ./parser//parser.nit:5539 */
16488 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
16489 stack_frame_head = fra.me.prev;
16490 return;
16491 }
16492 void parser___ReduceAction94___init(val_t p0, int* init_table){
16493 int itpos98 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction94].i;
16494 struct {struct stack_frame_t me;} fra;
16495 val_t tmp;
16496 if (init_table[itpos98]) return;
16497 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16498 fra.me.file = LOCATE_parser;
16499 fra.me.line = 5541;
16500 fra.me.meth = LOCATE_parser___ReduceAction94___init;
16501 fra.me.has_broke = 0;
16502 fra.me.REG_size = 1;
16503 fra.me.REG[0] = NIT_NULL;
16504 fra.me.REG[0] = p0;
16505 /* ./parser//parser.nit:5541 */
16506 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
16507 stack_frame_head = fra.me.prev;
16508 init_table[itpos98] = 1;
16509 return;
16510 }
16511 void parser___ReduceAction95___action(val_t p0, val_t p1){
16512 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
16513 val_t REGB0;
16514 val_t tmp;
16515 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16516 fra.me.file = LOCATE_parser;
16517 fra.me.line = 5545;
16518 fra.me.meth = LOCATE_parser___ReduceAction95___action;
16519 fra.me.has_broke = 0;
16520 fra.me.REG_size = 8;
16521 fra.me.REG[0] = NIT_NULL;
16522 fra.me.REG[1] = NIT_NULL;
16523 fra.me.REG[2] = NIT_NULL;
16524 fra.me.REG[3] = NIT_NULL;
16525 fra.me.REG[4] = NIT_NULL;
16526 fra.me.REG[5] = NIT_NULL;
16527 fra.me.REG[6] = NIT_NULL;
16528 fra.me.REG[7] = NIT_NULL;
16529 fra.me.REG[0] = p0;
16530 fra.me.REG[1] = p1;
16531 fra.me.REG[0] = NIT_NULL;
16532 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16533 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16534 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16535 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16536 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16537 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16538 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16539 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
16540 /* ./parser//parser.nit:5556 */
16541 if (UNTAG_Bool(REGB0)) {
16542 } else {
16543 fprintf(stderr, "Assert failed");
16544 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5556);
16545 nit_exit(1);
16546 }
16547 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
16548 /* ./parser//parser.nit:5558 */
16549 if (UNTAG_Bool(REGB0)) {
16550 } else {
16551 fprintf(stderr, "Assert failed");
16552 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5558);
16553 nit_exit(1);
16554 }
16555 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
16556 /* ./parser//parser.nit:5560 */
16557 if (UNTAG_Bool(REGB0)) {
16558 } else {
16559 fprintf(stderr, "Assert failed");
16560 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5560);
16561 nit_exit(1);
16562 }
16563 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
16564 /* ./parser//parser.nit:5562 */
16565 if (UNTAG_Bool(REGB0)) {
16566 } else {
16567 fprintf(stderr, "Assert failed");
16568 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5562);
16569 nit_exit(1);
16570 }
16571 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
16572 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
16573 /* ./parser//parser.nit:5567 */
16574 if (UNTAG_Bool(REGB0)) {
16575 } else {
16576 fprintf(stderr, "Assert failed");
16577 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5567);
16578 nit_exit(1);
16579 }
16580 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
16581 /* ./parser//parser.nit:5569 */
16582 if (UNTAG_Bool(REGB0)) {
16583 } else {
16584 fprintf(stderr, "Assert failed");
16585 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5569);
16586 nit_exit(1);
16587 }
16588 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
16589 fra.me.REG[0] = fra.me.REG[2];
16590 REGB0 = TAG_Int(12);
16591 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16592 /* ./parser//parser.nit:5580 */
16593 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
16594 stack_frame_head = fra.me.prev;
16595 return;
16596 }
16597 void parser___ReduceAction95___init(val_t p0, int* init_table){
16598 int itpos99 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction95].i;
16599 struct {struct stack_frame_t me;} fra;
16600 val_t tmp;
16601 if (init_table[itpos99]) return;
16602 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16603 fra.me.file = LOCATE_parser;
16604 fra.me.line = 5582;
16605 fra.me.meth = LOCATE_parser___ReduceAction95___init;
16606 fra.me.has_broke = 0;
16607 fra.me.REG_size = 1;
16608 fra.me.REG[0] = NIT_NULL;
16609 fra.me.REG[0] = p0;
16610 /* ./parser//parser.nit:5582 */
16611 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
16612 stack_frame_head = fra.me.prev;
16613 init_table[itpos99] = 1;
16614 return;
16615 }
16616 void parser___ReduceAction96___action(val_t p0, val_t p1){
16617 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
16618 val_t REGB0;
16619 val_t tmp;
16620 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16621 fra.me.file = LOCATE_parser;
16622 fra.me.line = 5586;
16623 fra.me.meth = LOCATE_parser___ReduceAction96___action;
16624 fra.me.has_broke = 0;
16625 fra.me.REG_size = 8;
16626 fra.me.REG[0] = NIT_NULL;
16627 fra.me.REG[1] = NIT_NULL;
16628 fra.me.REG[2] = NIT_NULL;
16629 fra.me.REG[3] = NIT_NULL;
16630 fra.me.REG[4] = NIT_NULL;
16631 fra.me.REG[5] = NIT_NULL;
16632 fra.me.REG[6] = NIT_NULL;
16633 fra.me.REG[7] = NIT_NULL;
16634 fra.me.REG[0] = p0;
16635 fra.me.REG[1] = p1;
16636 fra.me.REG[0] = NIT_NULL;
16637 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16638 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16639 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16640 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16641 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16642 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16643 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16644 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
16645 /* ./parser//parser.nit:5597 */
16646 if (UNTAG_Bool(REGB0)) {
16647 } else {
16648 fprintf(stderr, "Assert failed");
16649 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5597);
16650 nit_exit(1);
16651 }
16652 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
16653 /* ./parser//parser.nit:5599 */
16654 if (UNTAG_Bool(REGB0)) {
16655 } else {
16656 fprintf(stderr, "Assert failed");
16657 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5599);
16658 nit_exit(1);
16659 }
16660 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
16661 /* ./parser//parser.nit:5601 */
16662 if (UNTAG_Bool(REGB0)) {
16663 } else {
16664 fprintf(stderr, "Assert failed");
16665 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5601);
16666 nit_exit(1);
16667 }
16668 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
16669 /* ./parser//parser.nit:5603 */
16670 if (UNTAG_Bool(REGB0)) {
16671 } else {
16672 fprintf(stderr, "Assert failed");
16673 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5603);
16674 nit_exit(1);
16675 }
16676 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
16677 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
16678 /* ./parser//parser.nit:5608 */
16679 if (UNTAG_Bool(REGB0)) {
16680 } else {
16681 fprintf(stderr, "Assert failed");
16682 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5608);
16683 nit_exit(1);
16684 }
16685 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
16686 /* ./parser//parser.nit:5610 */
16687 if (UNTAG_Bool(REGB0)) {
16688 } else {
16689 fprintf(stderr, "Assert failed");
16690 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5610);
16691 nit_exit(1);
16692 }
16693 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
16694 fra.me.REG[0] = fra.me.REG[2];
16695 REGB0 = TAG_Int(12);
16696 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16697 /* ./parser//parser.nit:5621 */
16698 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
16699 stack_frame_head = fra.me.prev;
16700 return;
16701 }
16702 void parser___ReduceAction96___init(val_t p0, int* init_table){
16703 int itpos100 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction96].i;
16704 struct {struct stack_frame_t me;} fra;
16705 val_t tmp;
16706 if (init_table[itpos100]) return;
16707 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16708 fra.me.file = LOCATE_parser;
16709 fra.me.line = 5623;
16710 fra.me.meth = LOCATE_parser___ReduceAction96___init;
16711 fra.me.has_broke = 0;
16712 fra.me.REG_size = 1;
16713 fra.me.REG[0] = NIT_NULL;
16714 fra.me.REG[0] = p0;
16715 /* ./parser//parser.nit:5623 */
16716 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
16717 stack_frame_head = fra.me.prev;
16718 init_table[itpos100] = 1;
16719 return;
16720 }
16721 void parser___ReduceAction97___action(val_t p0, val_t p1){
16722 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
16723 val_t REGB0;
16724 val_t tmp;
16725 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16726 fra.me.file = LOCATE_parser;
16727 fra.me.line = 5627;
16728 fra.me.meth = LOCATE_parser___ReduceAction97___action;
16729 fra.me.has_broke = 0;
16730 fra.me.REG_size = 8;
16731 fra.me.REG[0] = NIT_NULL;
16732 fra.me.REG[1] = NIT_NULL;
16733 fra.me.REG[2] = NIT_NULL;
16734 fra.me.REG[3] = NIT_NULL;
16735 fra.me.REG[4] = NIT_NULL;
16736 fra.me.REG[5] = NIT_NULL;
16737 fra.me.REG[6] = NIT_NULL;
16738 fra.me.REG[7] = NIT_NULL;
16739 fra.me.REG[0] = p0;
16740 fra.me.REG[1] = p1;
16741 fra.me.REG[0] = NIT_NULL;
16742 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16743 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16744 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16745 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16746 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16747 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16748 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16749 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
16750 /* ./parser//parser.nit:5638 */
16751 if (UNTAG_Bool(REGB0)) {
16752 } else {
16753 fprintf(stderr, "Assert failed");
16754 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5638);
16755 nit_exit(1);
16756 }
16757 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
16758 /* ./parser//parser.nit:5640 */
16759 if (UNTAG_Bool(REGB0)) {
16760 } else {
16761 fprintf(stderr, "Assert failed");
16762 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5640);
16763 nit_exit(1);
16764 }
16765 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
16766 /* ./parser//parser.nit:5642 */
16767 if (UNTAG_Bool(REGB0)) {
16768 } else {
16769 fprintf(stderr, "Assert failed");
16770 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5642);
16771 nit_exit(1);
16772 }
16773 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
16774 /* ./parser//parser.nit:5644 */
16775 if (UNTAG_Bool(REGB0)) {
16776 } else {
16777 fprintf(stderr, "Assert failed");
16778 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5644);
16779 nit_exit(1);
16780 }
16781 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
16782 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
16783 /* ./parser//parser.nit:5649 */
16784 if (UNTAG_Bool(REGB0)) {
16785 } else {
16786 fprintf(stderr, "Assert failed");
16787 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5649);
16788 nit_exit(1);
16789 }
16790 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
16791 /* ./parser//parser.nit:5651 */
16792 if (UNTAG_Bool(REGB0)) {
16793 } else {
16794 fprintf(stderr, "Assert failed");
16795 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5651);
16796 nit_exit(1);
16797 }
16798 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
16799 fra.me.REG[0] = fra.me.REG[2];
16800 REGB0 = TAG_Int(12);
16801 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16802 /* ./parser//parser.nit:5662 */
16803 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
16804 stack_frame_head = fra.me.prev;
16805 return;
16806 }
16807 void parser___ReduceAction97___init(val_t p0, int* init_table){
16808 int itpos101 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction97].i;
16809 struct {struct stack_frame_t me;} fra;
16810 val_t tmp;
16811 if (init_table[itpos101]) return;
16812 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16813 fra.me.file = LOCATE_parser;
16814 fra.me.line = 5664;
16815 fra.me.meth = LOCATE_parser___ReduceAction97___init;
16816 fra.me.has_broke = 0;
16817 fra.me.REG_size = 1;
16818 fra.me.REG[0] = NIT_NULL;
16819 fra.me.REG[0] = p0;
16820 /* ./parser//parser.nit:5664 */
16821 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
16822 stack_frame_head = fra.me.prev;
16823 init_table[itpos101] = 1;
16824 return;
16825 }
16826 void parser___ReduceAction98___action(val_t p0, val_t p1){
16827 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
16828 val_t REGB0;
16829 val_t tmp;
16830 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16831 fra.me.file = LOCATE_parser;
16832 fra.me.line = 5668;
16833 fra.me.meth = LOCATE_parser___ReduceAction98___action;
16834 fra.me.has_broke = 0;
16835 fra.me.REG_size = 8;
16836 fra.me.REG[0] = NIT_NULL;
16837 fra.me.REG[1] = NIT_NULL;
16838 fra.me.REG[2] = NIT_NULL;
16839 fra.me.REG[3] = NIT_NULL;
16840 fra.me.REG[4] = NIT_NULL;
16841 fra.me.REG[5] = NIT_NULL;
16842 fra.me.REG[6] = NIT_NULL;
16843 fra.me.REG[7] = NIT_NULL;
16844 fra.me.REG[0] = p0;
16845 fra.me.REG[1] = p1;
16846 fra.me.REG[0] = NIT_NULL;
16847 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16848 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16849 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16850 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16851 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16852 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16853 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16854 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
16855 /* ./parser//parser.nit:5679 */
16856 if (UNTAG_Bool(REGB0)) {
16857 } else {
16858 fprintf(stderr, "Assert failed");
16859 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5679);
16860 nit_exit(1);
16861 }
16862 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
16863 /* ./parser//parser.nit:5681 */
16864 if (UNTAG_Bool(REGB0)) {
16865 } else {
16866 fprintf(stderr, "Assert failed");
16867 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5681);
16868 nit_exit(1);
16869 }
16870 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
16871 /* ./parser//parser.nit:5683 */
16872 if (UNTAG_Bool(REGB0)) {
16873 } else {
16874 fprintf(stderr, "Assert failed");
16875 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5683);
16876 nit_exit(1);
16877 }
16878 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
16879 /* ./parser//parser.nit:5685 */
16880 if (UNTAG_Bool(REGB0)) {
16881 } else {
16882 fprintf(stderr, "Assert failed");
16883 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5685);
16884 nit_exit(1);
16885 }
16886 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
16887 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
16888 /* ./parser//parser.nit:5690 */
16889 if (UNTAG_Bool(REGB0)) {
16890 } else {
16891 fprintf(stderr, "Assert failed");
16892 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5690);
16893 nit_exit(1);
16894 }
16895 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
16896 /* ./parser//parser.nit:5692 */
16897 if (UNTAG_Bool(REGB0)) {
16898 } else {
16899 fprintf(stderr, "Assert failed");
16900 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5692);
16901 nit_exit(1);
16902 }
16903 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
16904 fra.me.REG[0] = fra.me.REG[2];
16905 REGB0 = TAG_Int(12);
16906 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16907 /* ./parser//parser.nit:5703 */
16908 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
16909 stack_frame_head = fra.me.prev;
16910 return;
16911 }
16912 void parser___ReduceAction98___init(val_t p0, int* init_table){
16913 int itpos102 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction98].i;
16914 struct {struct stack_frame_t me;} fra;
16915 val_t tmp;
16916 if (init_table[itpos102]) return;
16917 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16918 fra.me.file = LOCATE_parser;
16919 fra.me.line = 5705;
16920 fra.me.meth = LOCATE_parser___ReduceAction98___init;
16921 fra.me.has_broke = 0;
16922 fra.me.REG_size = 1;
16923 fra.me.REG[0] = NIT_NULL;
16924 fra.me.REG[0] = p0;
16925 /* ./parser//parser.nit:5705 */
16926 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
16927 stack_frame_head = fra.me.prev;
16928 init_table[itpos102] = 1;
16929 return;
16930 }
16931 void parser___ReduceAction99___action(val_t p0, val_t p1){
16932 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
16933 val_t REGB0;
16934 val_t tmp;
16935 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16936 fra.me.file = LOCATE_parser;
16937 fra.me.line = 5709;
16938 fra.me.meth = LOCATE_parser___ReduceAction99___action;
16939 fra.me.has_broke = 0;
16940 fra.me.REG_size = 8;
16941 fra.me.REG[0] = NIT_NULL;
16942 fra.me.REG[1] = NIT_NULL;
16943 fra.me.REG[2] = NIT_NULL;
16944 fra.me.REG[3] = NIT_NULL;
16945 fra.me.REG[4] = NIT_NULL;
16946 fra.me.REG[5] = NIT_NULL;
16947 fra.me.REG[6] = NIT_NULL;
16948 fra.me.REG[7] = NIT_NULL;
16949 fra.me.REG[0] = p0;
16950 fra.me.REG[1] = p1;
16951 fra.me.REG[0] = NIT_NULL;
16952 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16953 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16954 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16955 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16956 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16957 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16958 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16959 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
16960 /* ./parser//parser.nit:5720 */
16961 if (UNTAG_Bool(REGB0)) {
16962 } else {
16963 fprintf(stderr, "Assert failed");
16964 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5720);
16965 nit_exit(1);
16966 }
16967 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
16968 /* ./parser//parser.nit:5722 */
16969 if (UNTAG_Bool(REGB0)) {
16970 } else {
16971 fprintf(stderr, "Assert failed");
16972 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5722);
16973 nit_exit(1);
16974 }
16975 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
16976 /* ./parser//parser.nit:5724 */
16977 if (UNTAG_Bool(REGB0)) {
16978 } else {
16979 fprintf(stderr, "Assert failed");
16980 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5724);
16981 nit_exit(1);
16982 }
16983 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
16984 /* ./parser//parser.nit:5726 */
16985 if (UNTAG_Bool(REGB0)) {
16986 } else {
16987 fprintf(stderr, "Assert failed");
16988 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5726);
16989 nit_exit(1);
16990 }
16991 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
16992 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
16993 /* ./parser//parser.nit:5731 */
16994 if (UNTAG_Bool(REGB0)) {
16995 } else {
16996 fprintf(stderr, "Assert failed");
16997 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5731);
16998 nit_exit(1);
16999 }
17000 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
17001 /* ./parser//parser.nit:5733 */
17002 if (UNTAG_Bool(REGB0)) {
17003 } else {
17004 fprintf(stderr, "Assert failed");
17005 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5733);
17006 nit_exit(1);
17007 }
17008 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
17009 fra.me.REG[0] = fra.me.REG[2];
17010 REGB0 = TAG_Int(12);
17011 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17012 /* ./parser//parser.nit:5744 */
17013 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
17014 stack_frame_head = fra.me.prev;
17015 return;
17016 }
17017 void parser___ReduceAction99___init(val_t p0, int* init_table){
17018 int itpos103 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction99].i;
17019 struct {struct stack_frame_t me;} fra;
17020 val_t tmp;
17021 if (init_table[itpos103]) return;
17022 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17023 fra.me.file = LOCATE_parser;
17024 fra.me.line = 5746;
17025 fra.me.meth = LOCATE_parser___ReduceAction99___init;
17026 fra.me.has_broke = 0;
17027 fra.me.REG_size = 1;
17028 fra.me.REG[0] = NIT_NULL;
17029 fra.me.REG[0] = p0;
17030 /* ./parser//parser.nit:5746 */
17031 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
17032 stack_frame_head = fra.me.prev;
17033 init_table[itpos103] = 1;
17034 return;
17035 }
17036 void parser___ReduceAction100___action(val_t p0, val_t p1){
17037 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
17038 val_t REGB0;
17039 val_t tmp;
17040 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17041 fra.me.file = LOCATE_parser;
17042 fra.me.line = 5750;
17043 fra.me.meth = LOCATE_parser___ReduceAction100___action;
17044 fra.me.has_broke = 0;
17045 fra.me.REG_size = 8;
17046 fra.me.REG[0] = NIT_NULL;
17047 fra.me.REG[1] = NIT_NULL;
17048 fra.me.REG[2] = NIT_NULL;
17049 fra.me.REG[3] = NIT_NULL;
17050 fra.me.REG[4] = NIT_NULL;
17051 fra.me.REG[5] = NIT_NULL;
17052 fra.me.REG[6] = NIT_NULL;
17053 fra.me.REG[7] = NIT_NULL;
17054 fra.me.REG[0] = p0;
17055 fra.me.REG[1] = p1;
17056 fra.me.REG[0] = NIT_NULL;
17057 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17058 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17059 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17060 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17061 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17062 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17063 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17064 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
17065 /* ./parser//parser.nit:5761 */
17066 if (UNTAG_Bool(REGB0)) {
17067 } else {
17068 fprintf(stderr, "Assert failed");
17069 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5761);
17070 nit_exit(1);
17071 }
17072 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
17073 /* ./parser//parser.nit:5763 */
17074 if (UNTAG_Bool(REGB0)) {
17075 } else {
17076 fprintf(stderr, "Assert failed");
17077 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5763);
17078 nit_exit(1);
17079 }
17080 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
17081 /* ./parser//parser.nit:5765 */
17082 if (UNTAG_Bool(REGB0)) {
17083 } else {
17084 fprintf(stderr, "Assert failed");
17085 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5765);
17086 nit_exit(1);
17087 }
17088 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
17089 /* ./parser//parser.nit:5767 */
17090 if (UNTAG_Bool(REGB0)) {
17091 } else {
17092 fprintf(stderr, "Assert failed");
17093 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5767);
17094 nit_exit(1);
17095 }
17096 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
17097 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
17098 /* ./parser//parser.nit:5772 */
17099 if (UNTAG_Bool(REGB0)) {
17100 } else {
17101 fprintf(stderr, "Assert failed");
17102 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5772);
17103 nit_exit(1);
17104 }
17105 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
17106 /* ./parser//parser.nit:5774 */
17107 if (UNTAG_Bool(REGB0)) {
17108 } else {
17109 fprintf(stderr, "Assert failed");
17110 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5774);
17111 nit_exit(1);
17112 }
17113 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
17114 fra.me.REG[0] = fra.me.REG[2];
17115 REGB0 = TAG_Int(12);
17116 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17117 /* ./parser//parser.nit:5785 */
17118 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
17119 stack_frame_head = fra.me.prev;
17120 return;
17121 }
17122 void parser___ReduceAction100___init(val_t p0, int* init_table){
17123 int itpos104 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction100].i;
17124 struct {struct stack_frame_t me;} fra;
17125 val_t tmp;
17126 if (init_table[itpos104]) return;
17127 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17128 fra.me.file = LOCATE_parser;
17129 fra.me.line = 5787;
17130 fra.me.meth = LOCATE_parser___ReduceAction100___init;
17131 fra.me.has_broke = 0;
17132 fra.me.REG_size = 1;
17133 fra.me.REG[0] = NIT_NULL;
17134 fra.me.REG[0] = p0;
17135 /* ./parser//parser.nit:5787 */
17136 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
17137 stack_frame_head = fra.me.prev;
17138 init_table[itpos104] = 1;
17139 return;
17140 }
17141 void parser___ReduceAction101___action(val_t p0, val_t p1){
17142 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
17143 val_t REGB0;
17144 val_t tmp;
17145 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17146 fra.me.file = LOCATE_parser;
17147 fra.me.line = 5791;
17148 fra.me.meth = LOCATE_parser___ReduceAction101___action;
17149 fra.me.has_broke = 0;
17150 fra.me.REG_size = 8;
17151 fra.me.REG[0] = NIT_NULL;
17152 fra.me.REG[1] = NIT_NULL;
17153 fra.me.REG[2] = NIT_NULL;
17154 fra.me.REG[3] = NIT_NULL;
17155 fra.me.REG[4] = NIT_NULL;
17156 fra.me.REG[5] = NIT_NULL;
17157 fra.me.REG[6] = NIT_NULL;
17158 fra.me.REG[7] = NIT_NULL;
17159 fra.me.REG[0] = p0;
17160 fra.me.REG[1] = p1;
17161 fra.me.REG[0] = NIT_NULL;
17162 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17163 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17164 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17165 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17166 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17167 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17168 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17169 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
17170 /* ./parser//parser.nit:5802 */
17171 if (UNTAG_Bool(REGB0)) {
17172 } else {
17173 fprintf(stderr, "Assert failed");
17174 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5802);
17175 nit_exit(1);
17176 }
17177 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
17178 /* ./parser//parser.nit:5804 */
17179 if (UNTAG_Bool(REGB0)) {
17180 } else {
17181 fprintf(stderr, "Assert failed");
17182 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5804);
17183 nit_exit(1);
17184 }
17185 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
17186 /* ./parser//parser.nit:5806 */
17187 if (UNTAG_Bool(REGB0)) {
17188 } else {
17189 fprintf(stderr, "Assert failed");
17190 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5806);
17191 nit_exit(1);
17192 }
17193 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
17194 /* ./parser//parser.nit:5808 */
17195 if (UNTAG_Bool(REGB0)) {
17196 } else {
17197 fprintf(stderr, "Assert failed");
17198 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5808);
17199 nit_exit(1);
17200 }
17201 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
17202 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
17203 /* ./parser//parser.nit:5813 */
17204 if (UNTAG_Bool(REGB0)) {
17205 } else {
17206 fprintf(stderr, "Assert failed");
17207 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5813);
17208 nit_exit(1);
17209 }
17210 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
17211 /* ./parser//parser.nit:5815 */
17212 if (UNTAG_Bool(REGB0)) {
17213 } else {
17214 fprintf(stderr, "Assert failed");
17215 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5815);
17216 nit_exit(1);
17217 }
17218 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
17219 fra.me.REG[0] = fra.me.REG[2];
17220 REGB0 = TAG_Int(12);
17221 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17222 /* ./parser//parser.nit:5826 */
17223 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
17224 stack_frame_head = fra.me.prev;
17225 return;
17226 }
17227 void parser___ReduceAction101___init(val_t p0, int* init_table){
17228 int itpos105 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction101].i;
17229 struct {struct stack_frame_t me;} fra;
17230 val_t tmp;
17231 if (init_table[itpos105]) return;
17232 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17233 fra.me.file = LOCATE_parser;
17234 fra.me.line = 5828;
17235 fra.me.meth = LOCATE_parser___ReduceAction101___init;
17236 fra.me.has_broke = 0;
17237 fra.me.REG_size = 1;
17238 fra.me.REG[0] = NIT_NULL;
17239 fra.me.REG[0] = p0;
17240 /* ./parser//parser.nit:5828 */
17241 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
17242 stack_frame_head = fra.me.prev;
17243 init_table[itpos105] = 1;
17244 return;
17245 }
17246 void parser___ReduceAction102___action(val_t p0, val_t p1){
17247 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
17248 val_t REGB0;
17249 val_t tmp;
17250 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17251 fra.me.file = LOCATE_parser;
17252 fra.me.line = 5832;
17253 fra.me.meth = LOCATE_parser___ReduceAction102___action;
17254 fra.me.has_broke = 0;
17255 fra.me.REG_size = 9;
17256 fra.me.REG[0] = NIT_NULL;
17257 fra.me.REG[1] = NIT_NULL;
17258 fra.me.REG[2] = NIT_NULL;
17259 fra.me.REG[3] = NIT_NULL;
17260 fra.me.REG[4] = NIT_NULL;
17261 fra.me.REG[5] = NIT_NULL;
17262 fra.me.REG[6] = NIT_NULL;
17263 fra.me.REG[7] = NIT_NULL;
17264 fra.me.REG[8] = NIT_NULL;
17265 fra.me.REG[0] = p0;
17266 fra.me.REG[1] = p1;
17267 fra.me.REG[0] = NIT_NULL;
17268 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17269 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17270 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17271 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17272 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17273 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17274 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17275 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17276 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
17277 /* ./parser//parser.nit:5844 */
17278 if (UNTAG_Bool(REGB0)) {
17279 } else {
17280 fprintf(stderr, "Assert failed");
17281 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5844);
17282 nit_exit(1);
17283 }
17284 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
17285 /* ./parser//parser.nit:5846 */
17286 if (UNTAG_Bool(REGB0)) {
17287 } else {
17288 fprintf(stderr, "Assert failed");
17289 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5846);
17290 nit_exit(1);
17291 }
17292 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
17293 /* ./parser//parser.nit:5848 */
17294 if (UNTAG_Bool(REGB0)) {
17295 } else {
17296 fprintf(stderr, "Assert failed");
17297 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5848);
17298 nit_exit(1);
17299 }
17300 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
17301 /* ./parser//parser.nit:5850 */
17302 if (UNTAG_Bool(REGB0)) {
17303 } else {
17304 fprintf(stderr, "Assert failed");
17305 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5850);
17306 nit_exit(1);
17307 }
17308 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
17309 /* ./parser//parser.nit:5852 */
17310 if (UNTAG_Bool(REGB0)) {
17311 } else {
17312 fprintf(stderr, "Assert failed");
17313 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5852);
17314 nit_exit(1);
17315 }
17316 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
17317 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
17318 /* ./parser//parser.nit:5858 */
17319 if (UNTAG_Bool(REGB0)) {
17320 } else {
17321 fprintf(stderr, "Assert failed");
17322 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5858);
17323 nit_exit(1);
17324 }
17325 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
17326 /* ./parser//parser.nit:5860 */
17327 if (UNTAG_Bool(REGB0)) {
17328 } else {
17329 fprintf(stderr, "Assert failed");
17330 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5860);
17331 nit_exit(1);
17332 }
17333 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
17334 fra.me.REG[0] = fra.me.REG[2];
17335 REGB0 = TAG_Int(12);
17336 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17337 /* ./parser//parser.nit:5871 */
17338 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
17339 stack_frame_head = fra.me.prev;
17340 return;
17341 }
17342 void parser___ReduceAction102___init(val_t p0, int* init_table){
17343 int itpos106 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction102].i;
17344 struct {struct stack_frame_t me;} fra;
17345 val_t tmp;
17346 if (init_table[itpos106]) return;
17347 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17348 fra.me.file = LOCATE_parser;
17349 fra.me.line = 5873;
17350 fra.me.meth = LOCATE_parser___ReduceAction102___init;
17351 fra.me.has_broke = 0;
17352 fra.me.REG_size = 1;
17353 fra.me.REG[0] = NIT_NULL;
17354 fra.me.REG[0] = p0;
17355 /* ./parser//parser.nit:5873 */
17356 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
17357 stack_frame_head = fra.me.prev;
17358 init_table[itpos106] = 1;
17359 return;
17360 }
17361 void parser___ReduceAction103___action(val_t p0, val_t p1){
17362 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
17363 val_t REGB0;
17364 val_t tmp;
17365 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17366 fra.me.file = LOCATE_parser;
17367 fra.me.line = 5877;
17368 fra.me.meth = LOCATE_parser___ReduceAction103___action;
17369 fra.me.has_broke = 0;
17370 fra.me.REG_size = 8;
17371 fra.me.REG[0] = NIT_NULL;
17372 fra.me.REG[1] = NIT_NULL;
17373 fra.me.REG[2] = NIT_NULL;
17374 fra.me.REG[3] = NIT_NULL;
17375 fra.me.REG[4] = NIT_NULL;
17376 fra.me.REG[5] = NIT_NULL;
17377 fra.me.REG[6] = NIT_NULL;
17378 fra.me.REG[7] = NIT_NULL;
17379 fra.me.REG[0] = p0;
17380 fra.me.REG[1] = p1;
17381 fra.me.REG[0] = NIT_NULL;
17382 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17383 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17384 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17385 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17386 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17387 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17388 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17389 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
17390 /* ./parser//parser.nit:5888 */
17391 if (UNTAG_Bool(REGB0)) {
17392 } else {
17393 fprintf(stderr, "Assert failed");
17394 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5888);
17395 nit_exit(1);
17396 }
17397 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
17398 /* ./parser//parser.nit:5890 */
17399 if (UNTAG_Bool(REGB0)) {
17400 } else {
17401 fprintf(stderr, "Assert failed");
17402 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5890);
17403 nit_exit(1);
17404 }
17405 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
17406 /* ./parser//parser.nit:5892 */
17407 if (UNTAG_Bool(REGB0)) {
17408 } else {
17409 fprintf(stderr, "Assert failed");
17410 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5892);
17411 nit_exit(1);
17412 }
17413 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
17414 /* ./parser//parser.nit:5894 */
17415 if (UNTAG_Bool(REGB0)) {
17416 } else {
17417 fprintf(stderr, "Assert failed");
17418 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5894);
17419 nit_exit(1);
17420 }
17421 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
17422 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
17423 /* ./parser//parser.nit:5899 */
17424 if (UNTAG_Bool(REGB0)) {
17425 } else {
17426 fprintf(stderr, "Assert failed");
17427 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5899);
17428 nit_exit(1);
17429 }
17430 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
17431 /* ./parser//parser.nit:5901 */
17432 if (UNTAG_Bool(REGB0)) {
17433 } else {
17434 fprintf(stderr, "Assert failed");
17435 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5901);
17436 nit_exit(1);
17437 }
17438 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
17439 fra.me.REG[0] = fra.me.REG[2];
17440 REGB0 = TAG_Int(12);
17441 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17442 /* ./parser//parser.nit:5912 */
17443 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
17444 stack_frame_head = fra.me.prev;
17445 return;
17446 }
17447 void parser___ReduceAction103___init(val_t p0, int* init_table){
17448 int itpos107 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction103].i;
17449 struct {struct stack_frame_t me;} fra;
17450 val_t tmp;
17451 if (init_table[itpos107]) return;
17452 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17453 fra.me.file = LOCATE_parser;
17454 fra.me.line = 5914;
17455 fra.me.meth = LOCATE_parser___ReduceAction103___init;
17456 fra.me.has_broke = 0;
17457 fra.me.REG_size = 1;
17458 fra.me.REG[0] = NIT_NULL;
17459 fra.me.REG[0] = p0;
17460 /* ./parser//parser.nit:5914 */
17461 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
17462 stack_frame_head = fra.me.prev;
17463 init_table[itpos107] = 1;
17464 return;
17465 }
17466 void parser___ReduceAction104___action(val_t p0, val_t p1){
17467 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
17468 val_t REGB0;
17469 val_t tmp;
17470 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17471 fra.me.file = LOCATE_parser;
17472 fra.me.line = 5918;
17473 fra.me.meth = LOCATE_parser___ReduceAction104___action;
17474 fra.me.has_broke = 0;
17475 fra.me.REG_size = 9;
17476 fra.me.REG[0] = NIT_NULL;
17477 fra.me.REG[1] = NIT_NULL;
17478 fra.me.REG[2] = NIT_NULL;
17479 fra.me.REG[3] = NIT_NULL;
17480 fra.me.REG[4] = NIT_NULL;
17481 fra.me.REG[5] = NIT_NULL;
17482 fra.me.REG[6] = NIT_NULL;
17483 fra.me.REG[7] = NIT_NULL;
17484 fra.me.REG[8] = NIT_NULL;
17485 fra.me.REG[0] = p0;
17486 fra.me.REG[1] = p1;
17487 fra.me.REG[0] = NIT_NULL;
17488 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17489 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17490 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17491 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17492 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17493 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17494 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17495 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17496 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
17497 /* ./parser//parser.nit:5930 */
17498 if (UNTAG_Bool(REGB0)) {
17499 } else {
17500 fprintf(stderr, "Assert failed");
17501 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5930);
17502 nit_exit(1);
17503 }
17504 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
17505 /* ./parser//parser.nit:5932 */
17506 if (UNTAG_Bool(REGB0)) {
17507 } else {
17508 fprintf(stderr, "Assert failed");
17509 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5932);
17510 nit_exit(1);
17511 }
17512 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
17513 /* ./parser//parser.nit:5934 */
17514 if (UNTAG_Bool(REGB0)) {
17515 } else {
17516 fprintf(stderr, "Assert failed");
17517 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5934);
17518 nit_exit(1);
17519 }
17520 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
17521 /* ./parser//parser.nit:5936 */
17522 if (UNTAG_Bool(REGB0)) {
17523 } else {
17524 fprintf(stderr, "Assert failed");
17525 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5936);
17526 nit_exit(1);
17527 }
17528 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
17529 /* ./parser//parser.nit:5938 */
17530 if (UNTAG_Bool(REGB0)) {
17531 } else {
17532 fprintf(stderr, "Assert failed");
17533 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5938);
17534 nit_exit(1);
17535 }
17536 fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
17537 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
17538 /* ./parser//parser.nit:5944 */
17539 if (UNTAG_Bool(REGB0)) {
17540 } else {
17541 fprintf(stderr, "Assert failed");
17542 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5944);
17543 nit_exit(1);
17544 }
17545 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
17546 /* ./parser//parser.nit:5946 */
17547 if (UNTAG_Bool(REGB0)) {
17548 } else {
17549 fprintf(stderr, "Assert failed");
17550 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5946);
17551 nit_exit(1);
17552 }
17553 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
17554 fra.me.REG[0] = fra.me.REG[2];
17555 REGB0 = TAG_Int(12);
17556 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17557 /* ./parser//parser.nit:5957 */
17558 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
17559 stack_frame_head = fra.me.prev;
17560 return;
17561 }
17562 void parser___ReduceAction104___init(val_t p0, int* init_table){
17563 int itpos108 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction104].i;
17564 struct {struct stack_frame_t me;} fra;
17565 val_t tmp;
17566 if (init_table[itpos108]) return;
17567 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17568 fra.me.file = LOCATE_parser;
17569 fra.me.line = 5959;
17570 fra.me.meth = LOCATE_parser___ReduceAction104___init;
17571 fra.me.has_broke = 0;
17572 fra.me.REG_size = 1;
17573 fra.me.REG[0] = NIT_NULL;
17574 fra.me.REG[0] = p0;
17575 /* ./parser//parser.nit:5959 */
17576 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
17577 stack_frame_head = fra.me.prev;
17578 init_table[itpos108] = 1;
17579 return;
17580 }
17581 void parser___ReduceAction105___action(val_t p0, val_t p1){
17582 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
17583 val_t REGB0;
17584 val_t tmp;
17585 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17586 fra.me.file = LOCATE_parser;
17587 fra.me.line = 5963;
17588 fra.me.meth = LOCATE_parser___ReduceAction105___action;
17589 fra.me.has_broke = 0;
17590 fra.me.REG_size = 10;
17591 fra.me.REG[0] = NIT_NULL;
17592 fra.me.REG[1] = NIT_NULL;
17593 fra.me.REG[2] = NIT_NULL;
17594 fra.me.REG[3] = NIT_NULL;
17595 fra.me.REG[4] = NIT_NULL;
17596 fra.me.REG[5] = NIT_NULL;
17597 fra.me.REG[6] = NIT_NULL;
17598 fra.me.REG[7] = NIT_NULL;
17599 fra.me.REG[8] = NIT_NULL;
17600 fra.me.REG[9] = NIT_NULL;
17601 fra.me.REG[0] = p0;
17602 fra.me.REG[1] = p1;
17603 fra.me.REG[0] = NIT_NULL;
17604 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17605 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17606 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17607 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17608 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17609 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17610 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17611 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17612 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17613 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
17614 /* ./parser//parser.nit:5976 */
17615 if (UNTAG_Bool(REGB0)) {
17616 } else {
17617 fprintf(stderr, "Assert failed");
17618 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5976);
17619 nit_exit(1);
17620 }
17621 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
17622 /* ./parser//parser.nit:5978 */
17623 if (UNTAG_Bool(REGB0)) {
17624 } else {
17625 fprintf(stderr, "Assert failed");
17626 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5978);
17627 nit_exit(1);
17628 }
17629 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
17630 /* ./parser//parser.nit:5980 */
17631 if (UNTAG_Bool(REGB0)) {
17632 } else {
17633 fprintf(stderr, "Assert failed");
17634 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5980);
17635 nit_exit(1);
17636 }
17637 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
17638 /* ./parser//parser.nit:5982 */
17639 if (UNTAG_Bool(REGB0)) {
17640 } else {
17641 fprintf(stderr, "Assert failed");
17642 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5982);
17643 nit_exit(1);
17644 }
17645 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
17646 /* ./parser//parser.nit:5984 */
17647 if (UNTAG_Bool(REGB0)) {
17648 } else {
17649 fprintf(stderr, "Assert failed");
17650 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5984);
17651 nit_exit(1);
17652 }
17653 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
17654 /* ./parser//parser.nit:5986 */
17655 if (UNTAG_Bool(REGB0)) {
17656 } else {
17657 fprintf(stderr, "Assert failed");
17658 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5986);
17659 nit_exit(1);
17660 }
17661 fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
17662 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
17663 /* ./parser//parser.nit:5993 */
17664 if (UNTAG_Bool(REGB0)) {
17665 } else {
17666 fprintf(stderr, "Assert failed");
17667 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5993);
17668 nit_exit(1);
17669 }
17670 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
17671 /* ./parser//parser.nit:5995 */
17672 if (UNTAG_Bool(REGB0)) {
17673 } else {
17674 fprintf(stderr, "Assert failed");
17675 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5995);
17676 nit_exit(1);
17677 }
17678 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
17679 fra.me.REG[0] = fra.me.REG[2];
17680 REGB0 = TAG_Int(12);
17681 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17682 /* ./parser//parser.nit:6006 */
17683 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
17684 stack_frame_head = fra.me.prev;
17685 return;
17686 }
17687 void parser___ReduceAction105___init(val_t p0, int* init_table){
17688 int itpos109 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction105].i;
17689 struct {struct stack_frame_t me;} fra;
17690 val_t tmp;
17691 if (init_table[itpos109]) return;
17692 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17693 fra.me.file = LOCATE_parser;
17694 fra.me.line = 6008;
17695 fra.me.meth = LOCATE_parser___ReduceAction105___init;
17696 fra.me.has_broke = 0;
17697 fra.me.REG_size = 1;
17698 fra.me.REG[0] = NIT_NULL;
17699 fra.me.REG[0] = p0;
17700 /* ./parser//parser.nit:6008 */
17701 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
17702 stack_frame_head = fra.me.prev;
17703 init_table[itpos109] = 1;
17704 return;
17705 }
17706 void parser___ReduceAction106___action(val_t p0, val_t p1){
17707 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
17708 val_t REGB0;
17709 val_t tmp;
17710 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17711 fra.me.file = LOCATE_parser;
17712 fra.me.line = 6012;
17713 fra.me.meth = LOCATE_parser___ReduceAction106___action;
17714 fra.me.has_broke = 0;
17715 fra.me.REG_size = 9;
17716 fra.me.REG[0] = NIT_NULL;
17717 fra.me.REG[1] = NIT_NULL;
17718 fra.me.REG[2] = NIT_NULL;
17719 fra.me.REG[3] = NIT_NULL;
17720 fra.me.REG[4] = NIT_NULL;
17721 fra.me.REG[5] = NIT_NULL;
17722 fra.me.REG[6] = NIT_NULL;
17723 fra.me.REG[7] = NIT_NULL;
17724 fra.me.REG[8] = NIT_NULL;
17725 fra.me.REG[0] = p0;
17726 fra.me.REG[1] = p1;
17727 fra.me.REG[0] = NIT_NULL;
17728 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17729 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17730 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17731 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17732 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17733 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17734 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17735 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17736 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
17737 /* ./parser//parser.nit:6024 */
17738 if (UNTAG_Bool(REGB0)) {
17739 } else {
17740 fprintf(stderr, "Assert failed");
17741 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6024);
17742 nit_exit(1);
17743 }
17744 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
17745 /* ./parser//parser.nit:6026 */
17746 if (UNTAG_Bool(REGB0)) {
17747 } else {
17748 fprintf(stderr, "Assert failed");
17749 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6026);
17750 nit_exit(1);
17751 }
17752 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
17753 /* ./parser//parser.nit:6028 */
17754 if (UNTAG_Bool(REGB0)) {
17755 } else {
17756 fprintf(stderr, "Assert failed");
17757 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6028);
17758 nit_exit(1);
17759 }
17760 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
17761 /* ./parser//parser.nit:6030 */
17762 if (UNTAG_Bool(REGB0)) {
17763 } else {
17764 fprintf(stderr, "Assert failed");
17765 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6030);
17766 nit_exit(1);
17767 }
17768 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
17769 /* ./parser//parser.nit:6032 */
17770 if (UNTAG_Bool(REGB0)) {
17771 } else {
17772 fprintf(stderr, "Assert failed");
17773 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6032);
17774 nit_exit(1);
17775 }
17776 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
17777 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
17778 /* ./parser//parser.nit:6037 */
17779 if (UNTAG_Bool(REGB0)) {
17780 } else {
17781 fprintf(stderr, "Assert failed");
17782 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6037);
17783 nit_exit(1);
17784 }
17785 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
17786 /* ./parser//parser.nit:6039 */
17787 if (UNTAG_Bool(REGB0)) {
17788 } else {
17789 fprintf(stderr, "Assert failed");
17790 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6039);
17791 nit_exit(1);
17792 }
17793 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
17794 fra.me.REG[0] = fra.me.REG[2];
17795 REGB0 = TAG_Int(12);
17796 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17797 /* ./parser//parser.nit:6050 */
17798 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
17799 stack_frame_head = fra.me.prev;
17800 return;
17801 }
17802 void parser___ReduceAction106___init(val_t p0, int* init_table){
17803 int itpos110 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction106].i;
17804 struct {struct stack_frame_t me;} fra;
17805 val_t tmp;
17806 if (init_table[itpos110]) return;
17807 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17808 fra.me.file = LOCATE_parser;
17809 fra.me.line = 6052;
17810 fra.me.meth = LOCATE_parser___ReduceAction106___init;
17811 fra.me.has_broke = 0;
17812 fra.me.REG_size = 1;
17813 fra.me.REG[0] = NIT_NULL;
17814 fra.me.REG[0] = p0;
17815 /* ./parser//parser.nit:6052 */
17816 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
17817 stack_frame_head = fra.me.prev;
17818 init_table[itpos110] = 1;
17819 return;
17820 }
17821 void parser___ReduceAction107___action(val_t p0, val_t p1){
17822 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
17823 val_t REGB0;
17824 val_t tmp;
17825 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17826 fra.me.file = LOCATE_parser;
17827 fra.me.line = 6056;
17828 fra.me.meth = LOCATE_parser___ReduceAction107___action;
17829 fra.me.has_broke = 0;
17830 fra.me.REG_size = 9;
17831 fra.me.REG[0] = NIT_NULL;
17832 fra.me.REG[1] = NIT_NULL;
17833 fra.me.REG[2] = NIT_NULL;
17834 fra.me.REG[3] = NIT_NULL;
17835 fra.me.REG[4] = NIT_NULL;
17836 fra.me.REG[5] = NIT_NULL;
17837 fra.me.REG[6] = NIT_NULL;
17838 fra.me.REG[7] = NIT_NULL;
17839 fra.me.REG[8] = NIT_NULL;
17840 fra.me.REG[0] = p0;
17841 fra.me.REG[1] = p1;
17842 fra.me.REG[0] = NIT_NULL;
17843 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17844 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17845 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17846 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17847 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17848 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17849 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17850 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17851 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
17852 /* ./parser//parser.nit:6068 */
17853 if (UNTAG_Bool(REGB0)) {
17854 } else {
17855 fprintf(stderr, "Assert failed");
17856 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6068);
17857 nit_exit(1);
17858 }
17859 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
17860 /* ./parser//parser.nit:6070 */
17861 if (UNTAG_Bool(REGB0)) {
17862 } else {
17863 fprintf(stderr, "Assert failed");
17864 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6070);
17865 nit_exit(1);
17866 }
17867 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
17868 /* ./parser//parser.nit:6072 */
17869 if (UNTAG_Bool(REGB0)) {
17870 } else {
17871 fprintf(stderr, "Assert failed");
17872 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6072);
17873 nit_exit(1);
17874 }
17875 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
17876 /* ./parser//parser.nit:6074 */
17877 if (UNTAG_Bool(REGB0)) {
17878 } else {
17879 fprintf(stderr, "Assert failed");
17880 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6074);
17881 nit_exit(1);
17882 }
17883 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
17884 /* ./parser//parser.nit:6076 */
17885 if (UNTAG_Bool(REGB0)) {
17886 } else {
17887 fprintf(stderr, "Assert failed");
17888 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6076);
17889 nit_exit(1);
17890 }
17891 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
17892 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
17893 /* ./parser//parser.nit:6081 */
17894 if (UNTAG_Bool(REGB0)) {
17895 } else {
17896 fprintf(stderr, "Assert failed");
17897 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6081);
17898 nit_exit(1);
17899 }
17900 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
17901 /* ./parser//parser.nit:6083 */
17902 if (UNTAG_Bool(REGB0)) {
17903 } else {
17904 fprintf(stderr, "Assert failed");
17905 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6083);
17906 nit_exit(1);
17907 }
17908 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
17909 fra.me.REG[0] = fra.me.REG[2];
17910 REGB0 = TAG_Int(12);
17911 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17912 /* ./parser//parser.nit:6094 */
17913 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
17914 stack_frame_head = fra.me.prev;
17915 return;
17916 }
17917 void parser___ReduceAction107___init(val_t p0, int* init_table){
17918 int itpos111 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction107].i;
17919 struct {struct stack_frame_t me;} fra;
17920 val_t tmp;
17921 if (init_table[itpos111]) return;
17922 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17923 fra.me.file = LOCATE_parser;
17924 fra.me.line = 6096;
17925 fra.me.meth = LOCATE_parser___ReduceAction107___init;
17926 fra.me.has_broke = 0;
17927 fra.me.REG_size = 1;
17928 fra.me.REG[0] = NIT_NULL;
17929 fra.me.REG[0] = p0;
17930 /* ./parser//parser.nit:6096 */
17931 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
17932 stack_frame_head = fra.me.prev;
17933 init_table[itpos111] = 1;
17934 return;
17935 }
17936 void parser___ReduceAction108___action(val_t p0, val_t p1){
17937 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
17938 val_t REGB0;
17939 val_t tmp;
17940 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17941 fra.me.file = LOCATE_parser;
17942 fra.me.line = 6100;
17943 fra.me.meth = LOCATE_parser___ReduceAction108___action;
17944 fra.me.has_broke = 0;
17945 fra.me.REG_size = 9;
17946 fra.me.REG[0] = NIT_NULL;
17947 fra.me.REG[1] = NIT_NULL;
17948 fra.me.REG[2] = NIT_NULL;
17949 fra.me.REG[3] = NIT_NULL;
17950 fra.me.REG[4] = NIT_NULL;
17951 fra.me.REG[5] = NIT_NULL;
17952 fra.me.REG[6] = NIT_NULL;
17953 fra.me.REG[7] = NIT_NULL;
17954 fra.me.REG[8] = NIT_NULL;
17955 fra.me.REG[0] = p0;
17956 fra.me.REG[1] = p1;
17957 fra.me.REG[0] = NIT_NULL;
17958 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17959 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17960 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17961 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17962 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17963 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17964 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17965 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17966 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
17967 /* ./parser//parser.nit:6112 */
17968 if (UNTAG_Bool(REGB0)) {
17969 } else {
17970 fprintf(stderr, "Assert failed");
17971 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6112);
17972 nit_exit(1);
17973 }
17974 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
17975 /* ./parser//parser.nit:6114 */
17976 if (UNTAG_Bool(REGB0)) {
17977 } else {
17978 fprintf(stderr, "Assert failed");
17979 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6114);
17980 nit_exit(1);
17981 }
17982 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
17983 /* ./parser//parser.nit:6116 */
17984 if (UNTAG_Bool(REGB0)) {
17985 } else {
17986 fprintf(stderr, "Assert failed");
17987 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6116);
17988 nit_exit(1);
17989 }
17990 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
17991 /* ./parser//parser.nit:6118 */
17992 if (UNTAG_Bool(REGB0)) {
17993 } else {
17994 fprintf(stderr, "Assert failed");
17995 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6118);
17996 nit_exit(1);
17997 }
17998 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
17999 /* ./parser//parser.nit:6120 */
18000 if (UNTAG_Bool(REGB0)) {
18001 } else {
18002 fprintf(stderr, "Assert failed");
18003 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6120);
18004 nit_exit(1);
18005 }
18006 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
18007 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
18008 /* ./parser//parser.nit:6125 */
18009 if (UNTAG_Bool(REGB0)) {
18010 } else {
18011 fprintf(stderr, "Assert failed");
18012 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6125);
18013 nit_exit(1);
18014 }
18015 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
18016 /* ./parser//parser.nit:6127 */
18017 if (UNTAG_Bool(REGB0)) {
18018 } else {
18019 fprintf(stderr, "Assert failed");
18020 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6127);
18021 nit_exit(1);
18022 }
18023 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
18024 fra.me.REG[0] = fra.me.REG[2];
18025 REGB0 = TAG_Int(12);
18026 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18027 /* ./parser//parser.nit:6138 */
18028 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
18029 stack_frame_head = fra.me.prev;
18030 return;
18031 }
18032 void parser___ReduceAction108___init(val_t p0, int* init_table){
18033 int itpos112 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction108].i;
18034 struct {struct stack_frame_t me;} fra;
18035 val_t tmp;
18036 if (init_table[itpos112]) return;
18037 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18038 fra.me.file = LOCATE_parser;
18039 fra.me.line = 6140;
18040 fra.me.meth = LOCATE_parser___ReduceAction108___init;
18041 fra.me.has_broke = 0;
18042 fra.me.REG_size = 1;
18043 fra.me.REG[0] = NIT_NULL;
18044 fra.me.REG[0] = p0;
18045 /* ./parser//parser.nit:6140 */
18046 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
18047 stack_frame_head = fra.me.prev;
18048 init_table[itpos112] = 1;
18049 return;
18050 }
18051 void parser___ReduceAction109___action(val_t p0, val_t p1){
18052 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18053 val_t REGB0;
18054 val_t tmp;
18055 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18056 fra.me.file = LOCATE_parser;
18057 fra.me.line = 6144;
18058 fra.me.meth = LOCATE_parser___ReduceAction109___action;
18059 fra.me.has_broke = 0;
18060 fra.me.REG_size = 9;
18061 fra.me.REG[0] = NIT_NULL;
18062 fra.me.REG[1] = NIT_NULL;
18063 fra.me.REG[2] = NIT_NULL;
18064 fra.me.REG[3] = NIT_NULL;
18065 fra.me.REG[4] = NIT_NULL;
18066 fra.me.REG[5] = NIT_NULL;
18067 fra.me.REG[6] = NIT_NULL;
18068 fra.me.REG[7] = NIT_NULL;
18069 fra.me.REG[8] = NIT_NULL;
18070 fra.me.REG[0] = p0;
18071 fra.me.REG[1] = p1;
18072 fra.me.REG[0] = NIT_NULL;
18073 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18074 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18075 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18076 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18077 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18078 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18079 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18080 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18081 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
18082 /* ./parser//parser.nit:6156 */
18083 if (UNTAG_Bool(REGB0)) {
18084 } else {
18085 fprintf(stderr, "Assert failed");
18086 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6156);
18087 nit_exit(1);
18088 }
18089 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
18090 /* ./parser//parser.nit:6158 */
18091 if (UNTAG_Bool(REGB0)) {
18092 } else {
18093 fprintf(stderr, "Assert failed");
18094 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6158);
18095 nit_exit(1);
18096 }
18097 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
18098 /* ./parser//parser.nit:6160 */
18099 if (UNTAG_Bool(REGB0)) {
18100 } else {
18101 fprintf(stderr, "Assert failed");
18102 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6160);
18103 nit_exit(1);
18104 }
18105 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
18106 /* ./parser//parser.nit:6162 */
18107 if (UNTAG_Bool(REGB0)) {
18108 } else {
18109 fprintf(stderr, "Assert failed");
18110 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6162);
18111 nit_exit(1);
18112 }
18113 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
18114 /* ./parser//parser.nit:6164 */
18115 if (UNTAG_Bool(REGB0)) {
18116 } else {
18117 fprintf(stderr, "Assert failed");
18118 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6164);
18119 nit_exit(1);
18120 }
18121 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
18122 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
18123 /* ./parser//parser.nit:6169 */
18124 if (UNTAG_Bool(REGB0)) {
18125 } else {
18126 fprintf(stderr, "Assert failed");
18127 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6169);
18128 nit_exit(1);
18129 }
18130 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
18131 /* ./parser//parser.nit:6171 */
18132 if (UNTAG_Bool(REGB0)) {
18133 } else {
18134 fprintf(stderr, "Assert failed");
18135 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6171);
18136 nit_exit(1);
18137 }
18138 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
18139 fra.me.REG[0] = fra.me.REG[2];
18140 REGB0 = TAG_Int(12);
18141 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18142 /* ./parser//parser.nit:6182 */
18143 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
18144 stack_frame_head = fra.me.prev;
18145 return;
18146 }
18147 void parser___ReduceAction109___init(val_t p0, int* init_table){
18148 int itpos113 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction109].i;
18149 struct {struct stack_frame_t me;} fra;
18150 val_t tmp;
18151 if (init_table[itpos113]) return;
18152 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18153 fra.me.file = LOCATE_parser;
18154 fra.me.line = 6184;
18155 fra.me.meth = LOCATE_parser___ReduceAction109___init;
18156 fra.me.has_broke = 0;
18157 fra.me.REG_size = 1;
18158 fra.me.REG[0] = NIT_NULL;
18159 fra.me.REG[0] = p0;
18160 /* ./parser//parser.nit:6184 */
18161 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
18162 stack_frame_head = fra.me.prev;
18163 init_table[itpos113] = 1;
18164 return;
18165 }
18166 void parser___ReduceAction110___action(val_t p0, val_t p1){
18167 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18168 val_t REGB0;
18169 val_t tmp;
18170 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18171 fra.me.file = LOCATE_parser;
18172 fra.me.line = 6188;
18173 fra.me.meth = LOCATE_parser___ReduceAction110___action;
18174 fra.me.has_broke = 0;
18175 fra.me.REG_size = 9;
18176 fra.me.REG[0] = NIT_NULL;
18177 fra.me.REG[1] = NIT_NULL;
18178 fra.me.REG[2] = NIT_NULL;
18179 fra.me.REG[3] = NIT_NULL;
18180 fra.me.REG[4] = NIT_NULL;
18181 fra.me.REG[5] = NIT_NULL;
18182 fra.me.REG[6] = NIT_NULL;
18183 fra.me.REG[7] = NIT_NULL;
18184 fra.me.REG[8] = NIT_NULL;
18185 fra.me.REG[0] = p0;
18186 fra.me.REG[1] = p1;
18187 fra.me.REG[0] = NIT_NULL;
18188 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18189 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18190 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18191 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18192 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18193 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18194 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18195 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18196 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
18197 /* ./parser//parser.nit:6200 */
18198 if (UNTAG_Bool(REGB0)) {
18199 } else {
18200 fprintf(stderr, "Assert failed");
18201 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6200);
18202 nit_exit(1);
18203 }
18204 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
18205 /* ./parser//parser.nit:6202 */
18206 if (UNTAG_Bool(REGB0)) {
18207 } else {
18208 fprintf(stderr, "Assert failed");
18209 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6202);
18210 nit_exit(1);
18211 }
18212 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
18213 /* ./parser//parser.nit:6204 */
18214 if (UNTAG_Bool(REGB0)) {
18215 } else {
18216 fprintf(stderr, "Assert failed");
18217 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6204);
18218 nit_exit(1);
18219 }
18220 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
18221 /* ./parser//parser.nit:6206 */
18222 if (UNTAG_Bool(REGB0)) {
18223 } else {
18224 fprintf(stderr, "Assert failed");
18225 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6206);
18226 nit_exit(1);
18227 }
18228 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
18229 /* ./parser//parser.nit:6208 */
18230 if (UNTAG_Bool(REGB0)) {
18231 } else {
18232 fprintf(stderr, "Assert failed");
18233 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6208);
18234 nit_exit(1);
18235 }
18236 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
18237 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
18238 /* ./parser//parser.nit:6213 */
18239 if (UNTAG_Bool(REGB0)) {
18240 } else {
18241 fprintf(stderr, "Assert failed");
18242 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6213);
18243 nit_exit(1);
18244 }
18245 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
18246 /* ./parser//parser.nit:6215 */
18247 if (UNTAG_Bool(REGB0)) {
18248 } else {
18249 fprintf(stderr, "Assert failed");
18250 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6215);
18251 nit_exit(1);
18252 }
18253 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
18254 fra.me.REG[0] = fra.me.REG[2];
18255 REGB0 = TAG_Int(12);
18256 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18257 /* ./parser//parser.nit:6226 */
18258 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
18259 stack_frame_head = fra.me.prev;
18260 return;
18261 }
18262 void parser___ReduceAction110___init(val_t p0, int* init_table){
18263 int itpos114 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction110].i;
18264 struct {struct stack_frame_t me;} fra;
18265 val_t tmp;
18266 if (init_table[itpos114]) return;
18267 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18268 fra.me.file = LOCATE_parser;
18269 fra.me.line = 6228;
18270 fra.me.meth = LOCATE_parser___ReduceAction110___init;
18271 fra.me.has_broke = 0;
18272 fra.me.REG_size = 1;
18273 fra.me.REG[0] = NIT_NULL;
18274 fra.me.REG[0] = p0;
18275 /* ./parser//parser.nit:6228 */
18276 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
18277 stack_frame_head = fra.me.prev;
18278 init_table[itpos114] = 1;
18279 return;
18280 }
18281 void parser___ReduceAction111___action(val_t p0, val_t p1){
18282 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18283 val_t REGB0;
18284 val_t tmp;
18285 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18286 fra.me.file = LOCATE_parser;
18287 fra.me.line = 6232;
18288 fra.me.meth = LOCATE_parser___ReduceAction111___action;
18289 fra.me.has_broke = 0;
18290 fra.me.REG_size = 9;
18291 fra.me.REG[0] = NIT_NULL;
18292 fra.me.REG[1] = NIT_NULL;
18293 fra.me.REG[2] = NIT_NULL;
18294 fra.me.REG[3] = NIT_NULL;
18295 fra.me.REG[4] = NIT_NULL;
18296 fra.me.REG[5] = NIT_NULL;
18297 fra.me.REG[6] = NIT_NULL;
18298 fra.me.REG[7] = NIT_NULL;
18299 fra.me.REG[8] = NIT_NULL;
18300 fra.me.REG[0] = p0;
18301 fra.me.REG[1] = p1;
18302 fra.me.REG[0] = NIT_NULL;
18303 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18304 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18305 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18306 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18307 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18308 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18309 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18310 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18311 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
18312 /* ./parser//parser.nit:6244 */
18313 if (UNTAG_Bool(REGB0)) {
18314 } else {
18315 fprintf(stderr, "Assert failed");
18316 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6244);
18317 nit_exit(1);
18318 }
18319 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
18320 /* ./parser//parser.nit:6246 */
18321 if (UNTAG_Bool(REGB0)) {
18322 } else {
18323 fprintf(stderr, "Assert failed");
18324 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6246);
18325 nit_exit(1);
18326 }
18327 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
18328 /* ./parser//parser.nit:6248 */
18329 if (UNTAG_Bool(REGB0)) {
18330 } else {
18331 fprintf(stderr, "Assert failed");
18332 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6248);
18333 nit_exit(1);
18334 }
18335 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
18336 /* ./parser//parser.nit:6250 */
18337 if (UNTAG_Bool(REGB0)) {
18338 } else {
18339 fprintf(stderr, "Assert failed");
18340 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6250);
18341 nit_exit(1);
18342 }
18343 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
18344 /* ./parser//parser.nit:6252 */
18345 if (UNTAG_Bool(REGB0)) {
18346 } else {
18347 fprintf(stderr, "Assert failed");
18348 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6252);
18349 nit_exit(1);
18350 }
18351 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
18352 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
18353 /* ./parser//parser.nit:6257 */
18354 if (UNTAG_Bool(REGB0)) {
18355 } else {
18356 fprintf(stderr, "Assert failed");
18357 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6257);
18358 nit_exit(1);
18359 }
18360 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
18361 /* ./parser//parser.nit:6259 */
18362 if (UNTAG_Bool(REGB0)) {
18363 } else {
18364 fprintf(stderr, "Assert failed");
18365 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6259);
18366 nit_exit(1);
18367 }
18368 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
18369 fra.me.REG[0] = fra.me.REG[2];
18370 REGB0 = TAG_Int(12);
18371 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18372 /* ./parser//parser.nit:6270 */
18373 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
18374 stack_frame_head = fra.me.prev;
18375 return;
18376 }
18377 void parser___ReduceAction111___init(val_t p0, int* init_table){
18378 int itpos115 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction111].i;
18379 struct {struct stack_frame_t me;} fra;
18380 val_t tmp;
18381 if (init_table[itpos115]) return;
18382 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18383 fra.me.file = LOCATE_parser;
18384 fra.me.line = 6272;
18385 fra.me.meth = LOCATE_parser___ReduceAction111___init;
18386 fra.me.has_broke = 0;
18387 fra.me.REG_size = 1;
18388 fra.me.REG[0] = NIT_NULL;
18389 fra.me.REG[0] = p0;
18390 /* ./parser//parser.nit:6272 */
18391 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
18392 stack_frame_head = fra.me.prev;
18393 init_table[itpos115] = 1;
18394 return;
18395 }
18396 void parser___ReduceAction112___action(val_t p0, val_t p1){
18397 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18398 val_t REGB0;
18399 val_t tmp;
18400 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18401 fra.me.file = LOCATE_parser;
18402 fra.me.line = 6276;
18403 fra.me.meth = LOCATE_parser___ReduceAction112___action;
18404 fra.me.has_broke = 0;
18405 fra.me.REG_size = 9;
18406 fra.me.REG[0] = NIT_NULL;
18407 fra.me.REG[1] = NIT_NULL;
18408 fra.me.REG[2] = NIT_NULL;
18409 fra.me.REG[3] = NIT_NULL;
18410 fra.me.REG[4] = NIT_NULL;
18411 fra.me.REG[5] = NIT_NULL;
18412 fra.me.REG[6] = NIT_NULL;
18413 fra.me.REG[7] = NIT_NULL;
18414 fra.me.REG[8] = NIT_NULL;
18415 fra.me.REG[0] = p0;
18416 fra.me.REG[1] = p1;
18417 fra.me.REG[0] = NIT_NULL;
18418 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18419 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18420 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18421 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18422 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18423 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18424 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18425 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18426 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
18427 /* ./parser//parser.nit:6288 */
18428 if (UNTAG_Bool(REGB0)) {
18429 } else {
18430 fprintf(stderr, "Assert failed");
18431 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6288);
18432 nit_exit(1);
18433 }
18434 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
18435 /* ./parser//parser.nit:6290 */
18436 if (UNTAG_Bool(REGB0)) {
18437 } else {
18438 fprintf(stderr, "Assert failed");
18439 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6290);
18440 nit_exit(1);
18441 }
18442 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
18443 /* ./parser//parser.nit:6292 */
18444 if (UNTAG_Bool(REGB0)) {
18445 } else {
18446 fprintf(stderr, "Assert failed");
18447 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6292);
18448 nit_exit(1);
18449 }
18450 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
18451 /* ./parser//parser.nit:6294 */
18452 if (UNTAG_Bool(REGB0)) {
18453 } else {
18454 fprintf(stderr, "Assert failed");
18455 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6294);
18456 nit_exit(1);
18457 }
18458 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
18459 /* ./parser//parser.nit:6296 */
18460 if (UNTAG_Bool(REGB0)) {
18461 } else {
18462 fprintf(stderr, "Assert failed");
18463 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6296);
18464 nit_exit(1);
18465 }
18466 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
18467 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
18468 /* ./parser//parser.nit:6301 */
18469 if (UNTAG_Bool(REGB0)) {
18470 } else {
18471 fprintf(stderr, "Assert failed");
18472 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6301);
18473 nit_exit(1);
18474 }
18475 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
18476 /* ./parser//parser.nit:6303 */
18477 if (UNTAG_Bool(REGB0)) {
18478 } else {
18479 fprintf(stderr, "Assert failed");
18480 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6303);
18481 nit_exit(1);
18482 }
18483 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
18484 fra.me.REG[0] = fra.me.REG[2];
18485 REGB0 = TAG_Int(12);
18486 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18487 /* ./parser//parser.nit:6314 */
18488 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
18489 stack_frame_head = fra.me.prev;
18490 return;
18491 }
18492 void parser___ReduceAction112___init(val_t p0, int* init_table){
18493 int itpos116 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction112].i;
18494 struct {struct stack_frame_t me;} fra;
18495 val_t tmp;
18496 if (init_table[itpos116]) return;
18497 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18498 fra.me.file = LOCATE_parser;
18499 fra.me.line = 6316;
18500 fra.me.meth = LOCATE_parser___ReduceAction112___init;
18501 fra.me.has_broke = 0;
18502 fra.me.REG_size = 1;
18503 fra.me.REG[0] = NIT_NULL;
18504 fra.me.REG[0] = p0;
18505 /* ./parser//parser.nit:6316 */
18506 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
18507 stack_frame_head = fra.me.prev;
18508 init_table[itpos116] = 1;
18509 return;
18510 }
18511 void parser___ReduceAction113___action(val_t p0, val_t p1){
18512 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18513 val_t REGB0;
18514 val_t tmp;
18515 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18516 fra.me.file = LOCATE_parser;
18517 fra.me.line = 6320;
18518 fra.me.meth = LOCATE_parser___ReduceAction113___action;
18519 fra.me.has_broke = 0;
18520 fra.me.REG_size = 9;
18521 fra.me.REG[0] = NIT_NULL;
18522 fra.me.REG[1] = NIT_NULL;
18523 fra.me.REG[2] = NIT_NULL;
18524 fra.me.REG[3] = NIT_NULL;
18525 fra.me.REG[4] = NIT_NULL;
18526 fra.me.REG[5] = NIT_NULL;
18527 fra.me.REG[6] = NIT_NULL;
18528 fra.me.REG[7] = NIT_NULL;
18529 fra.me.REG[8] = NIT_NULL;
18530 fra.me.REG[0] = p0;
18531 fra.me.REG[1] = p1;
18532 fra.me.REG[0] = NIT_NULL;
18533 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18534 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18535 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18536 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18537 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18538 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18539 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18540 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18541 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
18542 /* ./parser//parser.nit:6332 */
18543 if (UNTAG_Bool(REGB0)) {
18544 } else {
18545 fprintf(stderr, "Assert failed");
18546 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6332);
18547 nit_exit(1);
18548 }
18549 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
18550 /* ./parser//parser.nit:6334 */
18551 if (UNTAG_Bool(REGB0)) {
18552 } else {
18553 fprintf(stderr, "Assert failed");
18554 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6334);
18555 nit_exit(1);
18556 }
18557 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
18558 /* ./parser//parser.nit:6336 */
18559 if (UNTAG_Bool(REGB0)) {
18560 } else {
18561 fprintf(stderr, "Assert failed");
18562 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6336);
18563 nit_exit(1);
18564 }
18565 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
18566 /* ./parser//parser.nit:6338 */
18567 if (UNTAG_Bool(REGB0)) {
18568 } else {
18569 fprintf(stderr, "Assert failed");
18570 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6338);
18571 nit_exit(1);
18572 }
18573 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
18574 /* ./parser//parser.nit:6340 */
18575 if (UNTAG_Bool(REGB0)) {
18576 } else {
18577 fprintf(stderr, "Assert failed");
18578 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6340);
18579 nit_exit(1);
18580 }
18581 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
18582 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
18583 /* ./parser//parser.nit:6345 */
18584 if (UNTAG_Bool(REGB0)) {
18585 } else {
18586 fprintf(stderr, "Assert failed");
18587 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6345);
18588 nit_exit(1);
18589 }
18590 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
18591 /* ./parser//parser.nit:6347 */
18592 if (UNTAG_Bool(REGB0)) {
18593 } else {
18594 fprintf(stderr, "Assert failed");
18595 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6347);
18596 nit_exit(1);
18597 }
18598 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
18599 fra.me.REG[0] = fra.me.REG[2];
18600 REGB0 = TAG_Int(12);
18601 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18602 /* ./parser//parser.nit:6358 */
18603 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
18604 stack_frame_head = fra.me.prev;
18605 return;
18606 }
18607 void parser___ReduceAction113___init(val_t p0, int* init_table){
18608 int itpos117 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction113].i;
18609 struct {struct stack_frame_t me;} fra;
18610 val_t tmp;
18611 if (init_table[itpos117]) return;
18612 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18613 fra.me.file = LOCATE_parser;
18614 fra.me.line = 6360;
18615 fra.me.meth = LOCATE_parser___ReduceAction113___init;
18616 fra.me.has_broke = 0;
18617 fra.me.REG_size = 1;
18618 fra.me.REG[0] = NIT_NULL;
18619 fra.me.REG[0] = p0;
18620 /* ./parser//parser.nit:6360 */
18621 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
18622 stack_frame_head = fra.me.prev;
18623 init_table[itpos117] = 1;
18624 return;
18625 }
18626 void parser___ReduceAction114___action(val_t p0, val_t p1){
18627 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18628 val_t REGB0;
18629 val_t tmp;
18630 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18631 fra.me.file = LOCATE_parser;
18632 fra.me.line = 6364;
18633 fra.me.meth = LOCATE_parser___ReduceAction114___action;
18634 fra.me.has_broke = 0;
18635 fra.me.REG_size = 9;
18636 fra.me.REG[0] = NIT_NULL;
18637 fra.me.REG[1] = NIT_NULL;
18638 fra.me.REG[2] = NIT_NULL;
18639 fra.me.REG[3] = NIT_NULL;
18640 fra.me.REG[4] = NIT_NULL;
18641 fra.me.REG[5] = NIT_NULL;
18642 fra.me.REG[6] = NIT_NULL;
18643 fra.me.REG[7] = NIT_NULL;
18644 fra.me.REG[8] = NIT_NULL;
18645 fra.me.REG[0] = p0;
18646 fra.me.REG[1] = p1;
18647 fra.me.REG[0] = NIT_NULL;
18648 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18649 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18650 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18651 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18652 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18653 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18654 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18655 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18656 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
18657 /* ./parser//parser.nit:6376 */
18658 if (UNTAG_Bool(REGB0)) {
18659 } else {
18660 fprintf(stderr, "Assert failed");
18661 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6376);
18662 nit_exit(1);
18663 }
18664 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
18665 /* ./parser//parser.nit:6378 */
18666 if (UNTAG_Bool(REGB0)) {
18667 } else {
18668 fprintf(stderr, "Assert failed");
18669 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6378);
18670 nit_exit(1);
18671 }
18672 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
18673 /* ./parser//parser.nit:6380 */
18674 if (UNTAG_Bool(REGB0)) {
18675 } else {
18676 fprintf(stderr, "Assert failed");
18677 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6380);
18678 nit_exit(1);
18679 }
18680 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
18681 /* ./parser//parser.nit:6382 */
18682 if (UNTAG_Bool(REGB0)) {
18683 } else {
18684 fprintf(stderr, "Assert failed");
18685 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6382);
18686 nit_exit(1);
18687 }
18688 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
18689 /* ./parser//parser.nit:6384 */
18690 if (UNTAG_Bool(REGB0)) {
18691 } else {
18692 fprintf(stderr, "Assert failed");
18693 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6384);
18694 nit_exit(1);
18695 }
18696 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
18697 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
18698 /* ./parser//parser.nit:6389 */
18699 if (UNTAG_Bool(REGB0)) {
18700 } else {
18701 fprintf(stderr, "Assert failed");
18702 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6389);
18703 nit_exit(1);
18704 }
18705 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
18706 /* ./parser//parser.nit:6391 */
18707 if (UNTAG_Bool(REGB0)) {
18708 } else {
18709 fprintf(stderr, "Assert failed");
18710 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6391);
18711 nit_exit(1);
18712 }
18713 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
18714 fra.me.REG[0] = fra.me.REG[2];
18715 REGB0 = TAG_Int(12);
18716 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18717 /* ./parser//parser.nit:6402 */
18718 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
18719 stack_frame_head = fra.me.prev;
18720 return;
18721 }
18722 void parser___ReduceAction114___init(val_t p0, int* init_table){
18723 int itpos118 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction114].i;
18724 struct {struct stack_frame_t me;} fra;
18725 val_t tmp;
18726 if (init_table[itpos118]) return;
18727 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18728 fra.me.file = LOCATE_parser;
18729 fra.me.line = 6404;
18730 fra.me.meth = LOCATE_parser___ReduceAction114___init;
18731 fra.me.has_broke = 0;
18732 fra.me.REG_size = 1;
18733 fra.me.REG[0] = NIT_NULL;
18734 fra.me.REG[0] = p0;
18735 /* ./parser//parser.nit:6404 */
18736 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
18737 stack_frame_head = fra.me.prev;
18738 init_table[itpos118] = 1;
18739 return;
18740 }
18741 void parser___ReduceAction115___action(val_t p0, val_t p1){
18742 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18743 val_t REGB0;
18744 val_t tmp;
18745 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18746 fra.me.file = LOCATE_parser;
18747 fra.me.line = 6408;
18748 fra.me.meth = LOCATE_parser___ReduceAction115___action;
18749 fra.me.has_broke = 0;
18750 fra.me.REG_size = 9;
18751 fra.me.REG[0] = NIT_NULL;
18752 fra.me.REG[1] = NIT_NULL;
18753 fra.me.REG[2] = NIT_NULL;
18754 fra.me.REG[3] = NIT_NULL;
18755 fra.me.REG[4] = NIT_NULL;
18756 fra.me.REG[5] = NIT_NULL;
18757 fra.me.REG[6] = NIT_NULL;
18758 fra.me.REG[7] = NIT_NULL;
18759 fra.me.REG[8] = NIT_NULL;
18760 fra.me.REG[0] = p0;
18761 fra.me.REG[1] = p1;
18762 fra.me.REG[0] = NIT_NULL;
18763 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18764 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18765 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18766 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18767 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18768 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18769 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18770 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18771 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
18772 /* ./parser//parser.nit:6420 */
18773 if (UNTAG_Bool(REGB0)) {
18774 } else {
18775 fprintf(stderr, "Assert failed");
18776 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6420);
18777 nit_exit(1);
18778 }
18779 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
18780 /* ./parser//parser.nit:6422 */
18781 if (UNTAG_Bool(REGB0)) {
18782 } else {
18783 fprintf(stderr, "Assert failed");
18784 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6422);
18785 nit_exit(1);
18786 }
18787 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
18788 /* ./parser//parser.nit:6424 */
18789 if (UNTAG_Bool(REGB0)) {
18790 } else {
18791 fprintf(stderr, "Assert failed");
18792 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6424);
18793 nit_exit(1);
18794 }
18795 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
18796 /* ./parser//parser.nit:6426 */
18797 if (UNTAG_Bool(REGB0)) {
18798 } else {
18799 fprintf(stderr, "Assert failed");
18800 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6426);
18801 nit_exit(1);
18802 }
18803 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
18804 /* ./parser//parser.nit:6428 */
18805 if (UNTAG_Bool(REGB0)) {
18806 } else {
18807 fprintf(stderr, "Assert failed");
18808 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6428);
18809 nit_exit(1);
18810 }
18811 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
18812 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
18813 /* ./parser//parser.nit:6433 */
18814 if (UNTAG_Bool(REGB0)) {
18815 } else {
18816 fprintf(stderr, "Assert failed");
18817 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6433);
18818 nit_exit(1);
18819 }
18820 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
18821 /* ./parser//parser.nit:6435 */
18822 if (UNTAG_Bool(REGB0)) {
18823 } else {
18824 fprintf(stderr, "Assert failed");
18825 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6435);
18826 nit_exit(1);
18827 }
18828 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
18829 fra.me.REG[0] = fra.me.REG[2];
18830 REGB0 = TAG_Int(12);
18831 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18832 /* ./parser//parser.nit:6446 */
18833 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
18834 stack_frame_head = fra.me.prev;
18835 return;
18836 }
18837 void parser___ReduceAction115___init(val_t p0, int* init_table){
18838 int itpos119 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction115].i;
18839 struct {struct stack_frame_t me;} fra;
18840 val_t tmp;
18841 if (init_table[itpos119]) return;
18842 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18843 fra.me.file = LOCATE_parser;
18844 fra.me.line = 6448;
18845 fra.me.meth = LOCATE_parser___ReduceAction115___init;
18846 fra.me.has_broke = 0;
18847 fra.me.REG_size = 1;
18848 fra.me.REG[0] = NIT_NULL;
18849 fra.me.REG[0] = p0;
18850 /* ./parser//parser.nit:6448 */
18851 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
18852 stack_frame_head = fra.me.prev;
18853 init_table[itpos119] = 1;
18854 return;
18855 }
18856 void parser___ReduceAction116___action(val_t p0, val_t p1){
18857 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18858 val_t REGB0;
18859 val_t tmp;
18860 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18861 fra.me.file = LOCATE_parser;
18862 fra.me.line = 6452;
18863 fra.me.meth = LOCATE_parser___ReduceAction116___action;
18864 fra.me.has_broke = 0;
18865 fra.me.REG_size = 9;
18866 fra.me.REG[0] = NIT_NULL;
18867 fra.me.REG[1] = NIT_NULL;
18868 fra.me.REG[2] = NIT_NULL;
18869 fra.me.REG[3] = NIT_NULL;
18870 fra.me.REG[4] = NIT_NULL;
18871 fra.me.REG[5] = NIT_NULL;
18872 fra.me.REG[6] = NIT_NULL;
18873 fra.me.REG[7] = NIT_NULL;
18874 fra.me.REG[8] = NIT_NULL;
18875 fra.me.REG[0] = p0;
18876 fra.me.REG[1] = p1;
18877 fra.me.REG[0] = NIT_NULL;
18878 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18879 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18880 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18881 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18882 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18883 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18884 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18885 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18886 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
18887 /* ./parser//parser.nit:6464 */
18888 if (UNTAG_Bool(REGB0)) {
18889 } else {
18890 fprintf(stderr, "Assert failed");
18891 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6464);
18892 nit_exit(1);
18893 }
18894 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
18895 /* ./parser//parser.nit:6466 */
18896 if (UNTAG_Bool(REGB0)) {
18897 } else {
18898 fprintf(stderr, "Assert failed");
18899 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6466);
18900 nit_exit(1);
18901 }
18902 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
18903 /* ./parser//parser.nit:6468 */
18904 if (UNTAG_Bool(REGB0)) {
18905 } else {
18906 fprintf(stderr, "Assert failed");
18907 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6468);
18908 nit_exit(1);
18909 }
18910 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
18911 /* ./parser//parser.nit:6470 */
18912 if (UNTAG_Bool(REGB0)) {
18913 } else {
18914 fprintf(stderr, "Assert failed");
18915 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6470);
18916 nit_exit(1);
18917 }
18918 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
18919 /* ./parser//parser.nit:6472 */
18920 if (UNTAG_Bool(REGB0)) {
18921 } else {
18922 fprintf(stderr, "Assert failed");
18923 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6472);
18924 nit_exit(1);
18925 }
18926 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
18927 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
18928 /* ./parser//parser.nit:6477 */
18929 if (UNTAG_Bool(REGB0)) {
18930 } else {
18931 fprintf(stderr, "Assert failed");
18932 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6477);
18933 nit_exit(1);
18934 }
18935 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
18936 /* ./parser//parser.nit:6479 */
18937 if (UNTAG_Bool(REGB0)) {
18938 } else {
18939 fprintf(stderr, "Assert failed");
18940 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6479);
18941 nit_exit(1);
18942 }
18943 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
18944 fra.me.REG[0] = fra.me.REG[2];
18945 REGB0 = TAG_Int(12);
18946 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18947 /* ./parser//parser.nit:6490 */
18948 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
18949 stack_frame_head = fra.me.prev;
18950 return;
18951 }
18952 void parser___ReduceAction116___init(val_t p0, int* init_table){
18953 int itpos120 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction116].i;
18954 struct {struct stack_frame_t me;} fra;
18955 val_t tmp;
18956 if (init_table[itpos120]) return;
18957 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18958 fra.me.file = LOCATE_parser;
18959 fra.me.line = 6492;
18960 fra.me.meth = LOCATE_parser___ReduceAction116___init;
18961 fra.me.has_broke = 0;
18962 fra.me.REG_size = 1;
18963 fra.me.REG[0] = NIT_NULL;
18964 fra.me.REG[0] = p0;
18965 /* ./parser//parser.nit:6492 */
18966 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
18967 stack_frame_head = fra.me.prev;
18968 init_table[itpos120] = 1;
18969 return;
18970 }
18971 void parser___ReduceAction117___action(val_t p0, val_t p1){
18972 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18973 val_t REGB0;
18974 val_t tmp;
18975 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18976 fra.me.file = LOCATE_parser;
18977 fra.me.line = 6496;
18978 fra.me.meth = LOCATE_parser___ReduceAction117___action;
18979 fra.me.has_broke = 0;
18980 fra.me.REG_size = 9;
18981 fra.me.REG[0] = NIT_NULL;
18982 fra.me.REG[1] = NIT_NULL;
18983 fra.me.REG[2] = NIT_NULL;
18984 fra.me.REG[3] = NIT_NULL;
18985 fra.me.REG[4] = NIT_NULL;
18986 fra.me.REG[5] = NIT_NULL;
18987 fra.me.REG[6] = NIT_NULL;
18988 fra.me.REG[7] = NIT_NULL;
18989 fra.me.REG[8] = NIT_NULL;
18990 fra.me.REG[0] = p0;
18991 fra.me.REG[1] = p1;
18992 fra.me.REG[0] = NIT_NULL;
18993 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18994 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18995 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18996 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18997 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18998 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18999 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19000 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19001 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
19002 /* ./parser//parser.nit:6508 */
19003 if (UNTAG_Bool(REGB0)) {
19004 } else {
19005 fprintf(stderr, "Assert failed");
19006 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6508);
19007 nit_exit(1);
19008 }
19009 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
19010 /* ./parser//parser.nit:6510 */
19011 if (UNTAG_Bool(REGB0)) {
19012 } else {
19013 fprintf(stderr, "Assert failed");
19014 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6510);
19015 nit_exit(1);
19016 }
19017 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
19018 /* ./parser//parser.nit:6512 */
19019 if (UNTAG_Bool(REGB0)) {
19020 } else {
19021 fprintf(stderr, "Assert failed");
19022 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6512);
19023 nit_exit(1);
19024 }
19025 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
19026 /* ./parser//parser.nit:6514 */
19027 if (UNTAG_Bool(REGB0)) {
19028 } else {
19029 fprintf(stderr, "Assert failed");
19030 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6514);
19031 nit_exit(1);
19032 }
19033 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
19034 /* ./parser//parser.nit:6516 */
19035 if (UNTAG_Bool(REGB0)) {
19036 } else {
19037 fprintf(stderr, "Assert failed");
19038 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6516);
19039 nit_exit(1);
19040 }
19041 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
19042 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
19043 /* ./parser//parser.nit:6521 */
19044 if (UNTAG_Bool(REGB0)) {
19045 } else {
19046 fprintf(stderr, "Assert failed");
19047 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6521);
19048 nit_exit(1);
19049 }
19050 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
19051 /* ./parser//parser.nit:6523 */
19052 if (UNTAG_Bool(REGB0)) {
19053 } else {
19054 fprintf(stderr, "Assert failed");
19055 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6523);
19056 nit_exit(1);
19057 }
19058 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
19059 fra.me.REG[0] = fra.me.REG[2];
19060 REGB0 = TAG_Int(12);
19061 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19062 /* ./parser//parser.nit:6534 */
19063 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
19064 stack_frame_head = fra.me.prev;
19065 return;
19066 }
19067 void parser___ReduceAction117___init(val_t p0, int* init_table){
19068 int itpos121 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction117].i;
19069 struct {struct stack_frame_t me;} fra;
19070 val_t tmp;
19071 if (init_table[itpos121]) return;
19072 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19073 fra.me.file = LOCATE_parser;
19074 fra.me.line = 6536;
19075 fra.me.meth = LOCATE_parser___ReduceAction117___init;
19076 fra.me.has_broke = 0;
19077 fra.me.REG_size = 1;
19078 fra.me.REG[0] = NIT_NULL;
19079 fra.me.REG[0] = p0;
19080 /* ./parser//parser.nit:6536 */
19081 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
19082 stack_frame_head = fra.me.prev;
19083 init_table[itpos121] = 1;
19084 return;
19085 }
19086 void parser___ReduceAction118___action(val_t p0, val_t p1){
19087 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
19088 val_t REGB0;
19089 val_t tmp;
19090 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19091 fra.me.file = LOCATE_parser;
19092 fra.me.line = 6540;
19093 fra.me.meth = LOCATE_parser___ReduceAction118___action;
19094 fra.me.has_broke = 0;
19095 fra.me.REG_size = 10;
19096 fra.me.REG[0] = NIT_NULL;
19097 fra.me.REG[1] = NIT_NULL;
19098 fra.me.REG[2] = NIT_NULL;
19099 fra.me.REG[3] = NIT_NULL;
19100 fra.me.REG[4] = NIT_NULL;
19101 fra.me.REG[5] = NIT_NULL;
19102 fra.me.REG[6] = NIT_NULL;
19103 fra.me.REG[7] = NIT_NULL;
19104 fra.me.REG[8] = NIT_NULL;
19105 fra.me.REG[9] = NIT_NULL;
19106 fra.me.REG[0] = p0;
19107 fra.me.REG[1] = p1;
19108 fra.me.REG[0] = NIT_NULL;
19109 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19110 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19111 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19112 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19113 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19114 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19115 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19116 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19117 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19118 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
19119 /* ./parser//parser.nit:6553 */
19120 if (UNTAG_Bool(REGB0)) {
19121 } else {
19122 fprintf(stderr, "Assert failed");
19123 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6553);
19124 nit_exit(1);
19125 }
19126 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
19127 /* ./parser//parser.nit:6555 */
19128 if (UNTAG_Bool(REGB0)) {
19129 } else {
19130 fprintf(stderr, "Assert failed");
19131 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6555);
19132 nit_exit(1);
19133 }
19134 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
19135 /* ./parser//parser.nit:6557 */
19136 if (UNTAG_Bool(REGB0)) {
19137 } else {
19138 fprintf(stderr, "Assert failed");
19139 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6557);
19140 nit_exit(1);
19141 }
19142 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
19143 /* ./parser//parser.nit:6559 */
19144 if (UNTAG_Bool(REGB0)) {
19145 } else {
19146 fprintf(stderr, "Assert failed");
19147 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6559);
19148 nit_exit(1);
19149 }
19150 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
19151 /* ./parser//parser.nit:6561 */
19152 if (UNTAG_Bool(REGB0)) {
19153 } else {
19154 fprintf(stderr, "Assert failed");
19155 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6561);
19156 nit_exit(1);
19157 }
19158 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
19159 /* ./parser//parser.nit:6563 */
19160 if (UNTAG_Bool(REGB0)) {
19161 } else {
19162 fprintf(stderr, "Assert failed");
19163 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6563);
19164 nit_exit(1);
19165 }
19166 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
19167 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
19168 /* ./parser//parser.nit:6569 */
19169 if (UNTAG_Bool(REGB0)) {
19170 } else {
19171 fprintf(stderr, "Assert failed");
19172 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6569);
19173 nit_exit(1);
19174 }
19175 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
19176 /* ./parser//parser.nit:6571 */
19177 if (UNTAG_Bool(REGB0)) {
19178 } else {
19179 fprintf(stderr, "Assert failed");
19180 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6571);
19181 nit_exit(1);
19182 }
19183 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
19184 fra.me.REG[0] = fra.me.REG[2];
19185 REGB0 = TAG_Int(12);
19186 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19187 /* ./parser//parser.nit:6582 */
19188 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
19189 stack_frame_head = fra.me.prev;
19190 return;
19191 }
19192 void parser___ReduceAction118___init(val_t p0, int* init_table){
19193 int itpos122 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction118].i;
19194 struct {struct stack_frame_t me;} fra;
19195 val_t tmp;
19196 if (init_table[itpos122]) return;
19197 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19198 fra.me.file = LOCATE_parser;
19199 fra.me.line = 6584;
19200 fra.me.meth = LOCATE_parser___ReduceAction118___init;
19201 fra.me.has_broke = 0;
19202 fra.me.REG_size = 1;
19203 fra.me.REG[0] = NIT_NULL;
19204 fra.me.REG[0] = p0;
19205 /* ./parser//parser.nit:6584 */
19206 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
19207 stack_frame_head = fra.me.prev;
19208 init_table[itpos122] = 1;
19209 return;
19210 }
19211 void parser___ReduceAction119___action(val_t p0, val_t p1){
19212 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
19213 val_t REGB0;
19214 val_t tmp;
19215 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19216 fra.me.file = LOCATE_parser;
19217 fra.me.line = 6588;
19218 fra.me.meth = LOCATE_parser___ReduceAction119___action;
19219 fra.me.has_broke = 0;
19220 fra.me.REG_size = 9;
19221 fra.me.REG[0] = NIT_NULL;
19222 fra.me.REG[1] = NIT_NULL;
19223 fra.me.REG[2] = NIT_NULL;
19224 fra.me.REG[3] = NIT_NULL;
19225 fra.me.REG[4] = NIT_NULL;
19226 fra.me.REG[5] = NIT_NULL;
19227 fra.me.REG[6] = NIT_NULL;
19228 fra.me.REG[7] = NIT_NULL;
19229 fra.me.REG[8] = NIT_NULL;
19230 fra.me.REG[0] = p0;
19231 fra.me.REG[1] = p1;
19232 fra.me.REG[0] = NIT_NULL;
19233 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19234 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19235 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19236 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19237 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19238 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19239 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19240 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19241 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
19242 /* ./parser//parser.nit:6600 */
19243 if (UNTAG_Bool(REGB0)) {
19244 } else {
19245 fprintf(stderr, "Assert failed");
19246 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6600);
19247 nit_exit(1);
19248 }
19249 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
19250 /* ./parser//parser.nit:6602 */
19251 if (UNTAG_Bool(REGB0)) {
19252 } else {
19253 fprintf(stderr, "Assert failed");
19254 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6602);
19255 nit_exit(1);
19256 }
19257 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
19258 /* ./parser//parser.nit:6604 */
19259 if (UNTAG_Bool(REGB0)) {
19260 } else {
19261 fprintf(stderr, "Assert failed");
19262 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6604);
19263 nit_exit(1);
19264 }
19265 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
19266 /* ./parser//parser.nit:6606 */
19267 if (UNTAG_Bool(REGB0)) {
19268 } else {
19269 fprintf(stderr, "Assert failed");
19270 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6606);
19271 nit_exit(1);
19272 }
19273 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
19274 /* ./parser//parser.nit:6608 */
19275 if (UNTAG_Bool(REGB0)) {
19276 } else {
19277 fprintf(stderr, "Assert failed");
19278 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6608);
19279 nit_exit(1);
19280 }
19281 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
19282 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
19283 /* ./parser//parser.nit:6613 */
19284 if (UNTAG_Bool(REGB0)) {
19285 } else {
19286 fprintf(stderr, "Assert failed");
19287 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6613);
19288 nit_exit(1);
19289 }
19290 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
19291 /* ./parser//parser.nit:6615 */
19292 if (UNTAG_Bool(REGB0)) {
19293 } else {
19294 fprintf(stderr, "Assert failed");
19295 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6615);
19296 nit_exit(1);
19297 }
19298 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
19299 fra.me.REG[0] = fra.me.REG[2];
19300 REGB0 = TAG_Int(12);
19301 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19302 /* ./parser//parser.nit:6626 */
19303 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
19304 stack_frame_head = fra.me.prev;
19305 return;
19306 }
19307 void parser___ReduceAction119___init(val_t p0, int* init_table){
19308 int itpos123 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction119].i;
19309 struct {struct stack_frame_t me;} fra;
19310 val_t tmp;
19311 if (init_table[itpos123]) return;
19312 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19313 fra.me.file = LOCATE_parser;
19314 fra.me.line = 6628;
19315 fra.me.meth = LOCATE_parser___ReduceAction119___init;
19316 fra.me.has_broke = 0;
19317 fra.me.REG_size = 1;
19318 fra.me.REG[0] = NIT_NULL;
19319 fra.me.REG[0] = p0;
19320 /* ./parser//parser.nit:6628 */
19321 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
19322 stack_frame_head = fra.me.prev;
19323 init_table[itpos123] = 1;
19324 return;
19325 }
19326 void parser___ReduceAction120___action(val_t p0, val_t p1){
19327 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
19328 val_t REGB0;
19329 val_t tmp;
19330 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19331 fra.me.file = LOCATE_parser;
19332 fra.me.line = 6632;
19333 fra.me.meth = LOCATE_parser___ReduceAction120___action;
19334 fra.me.has_broke = 0;
19335 fra.me.REG_size = 10;
19336 fra.me.REG[0] = NIT_NULL;
19337 fra.me.REG[1] = NIT_NULL;
19338 fra.me.REG[2] = NIT_NULL;
19339 fra.me.REG[3] = NIT_NULL;
19340 fra.me.REG[4] = NIT_NULL;
19341 fra.me.REG[5] = NIT_NULL;
19342 fra.me.REG[6] = NIT_NULL;
19343 fra.me.REG[7] = NIT_NULL;
19344 fra.me.REG[8] = NIT_NULL;
19345 fra.me.REG[9] = NIT_NULL;
19346 fra.me.REG[0] = p0;
19347 fra.me.REG[1] = p1;
19348 fra.me.REG[0] = NIT_NULL;
19349 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19350 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19351 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19352 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19353 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19354 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19355 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19356 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19357 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19358 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
19359 /* ./parser//parser.nit:6645 */
19360 if (UNTAG_Bool(REGB0)) {
19361 } else {
19362 fprintf(stderr, "Assert failed");
19363 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6645);
19364 nit_exit(1);
19365 }
19366 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
19367 /* ./parser//parser.nit:6647 */
19368 if (UNTAG_Bool(REGB0)) {
19369 } else {
19370 fprintf(stderr, "Assert failed");
19371 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6647);
19372 nit_exit(1);
19373 }
19374 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
19375 /* ./parser//parser.nit:6649 */
19376 if (UNTAG_Bool(REGB0)) {
19377 } else {
19378 fprintf(stderr, "Assert failed");
19379 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6649);
19380 nit_exit(1);
19381 }
19382 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
19383 /* ./parser//parser.nit:6651 */
19384 if (UNTAG_Bool(REGB0)) {
19385 } else {
19386 fprintf(stderr, "Assert failed");
19387 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6651);
19388 nit_exit(1);
19389 }
19390 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
19391 /* ./parser//parser.nit:6653 */
19392 if (UNTAG_Bool(REGB0)) {
19393 } else {
19394 fprintf(stderr, "Assert failed");
19395 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6653);
19396 nit_exit(1);
19397 }
19398 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
19399 /* ./parser//parser.nit:6655 */
19400 if (UNTAG_Bool(REGB0)) {
19401 } else {
19402 fprintf(stderr, "Assert failed");
19403 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6655);
19404 nit_exit(1);
19405 }
19406 fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
19407 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
19408 /* ./parser//parser.nit:6661 */
19409 if (UNTAG_Bool(REGB0)) {
19410 } else {
19411 fprintf(stderr, "Assert failed");
19412 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6661);
19413 nit_exit(1);
19414 }
19415 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
19416 /* ./parser//parser.nit:6663 */
19417 if (UNTAG_Bool(REGB0)) {
19418 } else {
19419 fprintf(stderr, "Assert failed");
19420 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6663);
19421 nit_exit(1);
19422 }
19423 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
19424 fra.me.REG[0] = fra.me.REG[2];
19425 REGB0 = TAG_Int(12);
19426 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19427 /* ./parser//parser.nit:6674 */
19428 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
19429 stack_frame_head = fra.me.prev;
19430 return;
19431 }
19432 void parser___ReduceAction120___init(val_t p0, int* init_table){
19433 int itpos124 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction120].i;
19434 struct {struct stack_frame_t me;} fra;
19435 val_t tmp;
19436 if (init_table[itpos124]) return;
19437 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19438 fra.me.file = LOCATE_parser;
19439 fra.me.line = 6676;
19440 fra.me.meth = LOCATE_parser___ReduceAction120___init;
19441 fra.me.has_broke = 0;
19442 fra.me.REG_size = 1;
19443 fra.me.REG[0] = NIT_NULL;
19444 fra.me.REG[0] = p0;
19445 /* ./parser//parser.nit:6676 */
19446 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
19447 stack_frame_head = fra.me.prev;
19448 init_table[itpos124] = 1;
19449 return;
19450 }
19451 void parser___ReduceAction121___action(val_t p0, val_t p1){
19452 struct {struct stack_frame_t me; val_t MORE_REG[10];} 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 = 6680;
19458 fra.me.meth = LOCATE_parser___ReduceAction121___action;
19459 fra.me.has_broke = 0;
19460 fra.me.REG_size = 11;
19461 fra.me.REG[0] = NIT_NULL;
19462 fra.me.REG[1] = NIT_NULL;
19463 fra.me.REG[2] = NIT_NULL;
19464 fra.me.REG[3] = NIT_NULL;
19465 fra.me.REG[4] = NIT_NULL;
19466 fra.me.REG[5] = NIT_NULL;
19467 fra.me.REG[6] = NIT_NULL;
19468 fra.me.REG[7] = NIT_NULL;
19469 fra.me.REG[8] = NIT_NULL;
19470 fra.me.REG[9] = NIT_NULL;
19471 fra.me.REG[10] = NIT_NULL;
19472 fra.me.REG[0] = p0;
19473 fra.me.REG[1] = p1;
19474 fra.me.REG[0] = NIT_NULL;
19475 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19476 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19477 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19478 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19479 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19480 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19481 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19482 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19483 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19484 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19485 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
19486 /* ./parser//parser.nit:6694 */
19487 if (UNTAG_Bool(REGB0)) {
19488 } else {
19489 fprintf(stderr, "Assert failed");
19490 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6694);
19491 nit_exit(1);
19492 }
19493 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
19494 /* ./parser//parser.nit:6696 */
19495 if (UNTAG_Bool(REGB0)) {
19496 } else {
19497 fprintf(stderr, "Assert failed");
19498 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6696);
19499 nit_exit(1);
19500 }
19501 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
19502 /* ./parser//parser.nit:6698 */
19503 if (UNTAG_Bool(REGB0)) {
19504 } else {
19505 fprintf(stderr, "Assert failed");
19506 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6698);
19507 nit_exit(1);
19508 }
19509 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
19510 /* ./parser//parser.nit:6700 */
19511 if (UNTAG_Bool(REGB0)) {
19512 } else {
19513 fprintf(stderr, "Assert failed");
19514 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6700);
19515 nit_exit(1);
19516 }
19517 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
19518 /* ./parser//parser.nit:6702 */
19519 if (UNTAG_Bool(REGB0)) {
19520 } else {
19521 fprintf(stderr, "Assert failed");
19522 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6702);
19523 nit_exit(1);
19524 }
19525 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
19526 /* ./parser//parser.nit:6704 */
19527 if (UNTAG_Bool(REGB0)) {
19528 } else {
19529 fprintf(stderr, "Assert failed");
19530 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6704);
19531 nit_exit(1);
19532 }
19533 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
19534 /* ./parser//parser.nit:6706 */
19535 if (UNTAG_Bool(REGB0)) {
19536 } else {
19537 fprintf(stderr, "Assert failed");
19538 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6706);
19539 nit_exit(1);
19540 }
19541 fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
19542 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
19543 /* ./parser//parser.nit:6713 */
19544 if (UNTAG_Bool(REGB0)) {
19545 } else {
19546 fprintf(stderr, "Assert failed");
19547 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6713);
19548 nit_exit(1);
19549 }
19550 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
19551 /* ./parser//parser.nit:6715 */
19552 if (UNTAG_Bool(REGB0)) {
19553 } else {
19554 fprintf(stderr, "Assert failed");
19555 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6715);
19556 nit_exit(1);
19557 }
19558 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
19559 fra.me.REG[0] = fra.me.REG[2];
19560 REGB0 = TAG_Int(12);
19561 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19562 /* ./parser//parser.nit:6726 */
19563 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
19564 stack_frame_head = fra.me.prev;
19565 return;
19566 }
19567 void parser___ReduceAction121___init(val_t p0, int* init_table){
19568 int itpos125 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction121].i;
19569 struct {struct stack_frame_t me;} fra;
19570 val_t tmp;
19571 if (init_table[itpos125]) return;
19572 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19573 fra.me.file = LOCATE_parser;
19574 fra.me.line = 6728;
19575 fra.me.meth = LOCATE_parser___ReduceAction121___init;
19576 fra.me.has_broke = 0;
19577 fra.me.REG_size = 1;
19578 fra.me.REG[0] = NIT_NULL;
19579 fra.me.REG[0] = p0;
19580 /* ./parser//parser.nit:6728 */
19581 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
19582 stack_frame_head = fra.me.prev;
19583 init_table[itpos125] = 1;
19584 return;
19585 }
19586 void parser___ReduceAction122___action(val_t p0, val_t p1){
19587 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
19588 val_t REGB0;
19589 val_t tmp;
19590 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19591 fra.me.file = LOCATE_parser;
19592 fra.me.line = 6732;
19593 fra.me.meth = LOCATE_parser___ReduceAction122___action;
19594 fra.me.has_broke = 0;
19595 fra.me.REG_size = 8;
19596 fra.me.REG[0] = NIT_NULL;
19597 fra.me.REG[1] = NIT_NULL;
19598 fra.me.REG[2] = NIT_NULL;
19599 fra.me.REG[3] = NIT_NULL;
19600 fra.me.REG[4] = NIT_NULL;
19601 fra.me.REG[5] = NIT_NULL;
19602 fra.me.REG[6] = NIT_NULL;
19603 fra.me.REG[7] = NIT_NULL;
19604 fra.me.REG[0] = p0;
19605 fra.me.REG[1] = p1;
19606 fra.me.REG[0] = NIT_NULL;
19607 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19608 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19609 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19610 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19611 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19612 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19613 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19614 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19615 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
19616 /* ./parser//parser.nit:6744 */
19617 if (UNTAG_Bool(REGB0)) {
19618 } else {
19619 fprintf(stderr, "Assert failed");
19620 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6744);
19621 nit_exit(1);
19622 }
19623 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
19624 /* ./parser//parser.nit:6746 */
19625 if (UNTAG_Bool(REGB0)) {
19626 } else {
19627 fprintf(stderr, "Assert failed");
19628 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6746);
19629 nit_exit(1);
19630 }
19631 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
19632 /* ./parser//parser.nit:6748 */
19633 if (UNTAG_Bool(REGB0)) {
19634 } else {
19635 fprintf(stderr, "Assert failed");
19636 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6748);
19637 nit_exit(1);
19638 }
19639 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
19640 /* ./parser//parser.nit:6750 */
19641 if (UNTAG_Bool(REGB0)) {
19642 } else {
19643 fprintf(stderr, "Assert failed");
19644 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6750);
19645 nit_exit(1);
19646 }
19647 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
19648 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
19649 /* ./parser//parser.nit:6755 */
19650 if (UNTAG_Bool(REGB0)) {
19651 } else {
19652 fprintf(stderr, "Assert failed");
19653 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6755);
19654 nit_exit(1);
19655 }
19656 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
19657 /* ./parser//parser.nit:6757 */
19658 if (UNTAG_Bool(REGB0)) {
19659 } else {
19660 fprintf(stderr, "Assert failed");
19661 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6757);
19662 nit_exit(1);
19663 }
19664 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
19665 fra.me.REG[0] = fra.me.REG[2];
19666 REGB0 = TAG_Int(12);
19667 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19668 /* ./parser//parser.nit:6768 */
19669 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
19670 stack_frame_head = fra.me.prev;
19671 return;
19672 }
19673 void parser___ReduceAction122___init(val_t p0, int* init_table){
19674 int itpos126 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction122].i;
19675 struct {struct stack_frame_t me;} fra;
19676 val_t tmp;
19677 if (init_table[itpos126]) return;
19678 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19679 fra.me.file = LOCATE_parser;
19680 fra.me.line = 6770;
19681 fra.me.meth = LOCATE_parser___ReduceAction122___init;
19682 fra.me.has_broke = 0;
19683 fra.me.REG_size = 1;
19684 fra.me.REG[0] = NIT_NULL;
19685 fra.me.REG[0] = p0;
19686 /* ./parser//parser.nit:6770 */
19687 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
19688 stack_frame_head = fra.me.prev;
19689 init_table[itpos126] = 1;
19690 return;
19691 }
19692 void parser___ReduceAction123___action(val_t p0, val_t p1){
19693 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
19694 val_t REGB0;
19695 val_t tmp;
19696 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19697 fra.me.file = LOCATE_parser;
19698 fra.me.line = 6774;
19699 fra.me.meth = LOCATE_parser___ReduceAction123___action;
19700 fra.me.has_broke = 0;
19701 fra.me.REG_size = 8;
19702 fra.me.REG[0] = NIT_NULL;
19703 fra.me.REG[1] = NIT_NULL;
19704 fra.me.REG[2] = NIT_NULL;
19705 fra.me.REG[3] = NIT_NULL;
19706 fra.me.REG[4] = NIT_NULL;
19707 fra.me.REG[5] = NIT_NULL;
19708 fra.me.REG[6] = NIT_NULL;
19709 fra.me.REG[7] = NIT_NULL;
19710 fra.me.REG[0] = p0;
19711 fra.me.REG[1] = p1;
19712 fra.me.REG[0] = NIT_NULL;
19713 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19714 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19715 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19716 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19717 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19718 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19719 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19720 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19721 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
19722 /* ./parser//parser.nit:6786 */
19723 if (UNTAG_Bool(REGB0)) {
19724 } else {
19725 fprintf(stderr, "Assert failed");
19726 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6786);
19727 nit_exit(1);
19728 }
19729 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
19730 /* ./parser//parser.nit:6788 */
19731 if (UNTAG_Bool(REGB0)) {
19732 } else {
19733 fprintf(stderr, "Assert failed");
19734 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6788);
19735 nit_exit(1);
19736 }
19737 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
19738 /* ./parser//parser.nit:6790 */
19739 if (UNTAG_Bool(REGB0)) {
19740 } else {
19741 fprintf(stderr, "Assert failed");
19742 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6790);
19743 nit_exit(1);
19744 }
19745 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
19746 /* ./parser//parser.nit:6792 */
19747 if (UNTAG_Bool(REGB0)) {
19748 } else {
19749 fprintf(stderr, "Assert failed");
19750 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6792);
19751 nit_exit(1);
19752 }
19753 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
19754 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
19755 /* ./parser//parser.nit:6797 */
19756 if (UNTAG_Bool(REGB0)) {
19757 } else {
19758 fprintf(stderr, "Assert failed");
19759 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6797);
19760 nit_exit(1);
19761 }
19762 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
19763 /* ./parser//parser.nit:6799 */
19764 if (UNTAG_Bool(REGB0)) {
19765 } else {
19766 fprintf(stderr, "Assert failed");
19767 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6799);
19768 nit_exit(1);
19769 }
19770 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
19771 fra.me.REG[0] = fra.me.REG[2];
19772 REGB0 = TAG_Int(12);
19773 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19774 /* ./parser//parser.nit:6810 */
19775 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
19776 stack_frame_head = fra.me.prev;
19777 return;
19778 }
19779 void parser___ReduceAction123___init(val_t p0, int* init_table){
19780 int itpos127 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction123].i;
19781 struct {struct stack_frame_t me;} fra;
19782 val_t tmp;
19783 if (init_table[itpos127]) return;
19784 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19785 fra.me.file = LOCATE_parser;
19786 fra.me.line = 6812;
19787 fra.me.meth = LOCATE_parser___ReduceAction123___init;
19788 fra.me.has_broke = 0;
19789 fra.me.REG_size = 1;
19790 fra.me.REG[0] = NIT_NULL;
19791 fra.me.REG[0] = p0;
19792 /* ./parser//parser.nit:6812 */
19793 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
19794 stack_frame_head = fra.me.prev;
19795 init_table[itpos127] = 1;
19796 return;
19797 }
19798 void parser___ReduceAction124___action(val_t p0, val_t p1){
19799 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
19800 val_t REGB0;
19801 val_t tmp;
19802 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19803 fra.me.file = LOCATE_parser;
19804 fra.me.line = 6816;
19805 fra.me.meth = LOCATE_parser___ReduceAction124___action;
19806 fra.me.has_broke = 0;
19807 fra.me.REG_size = 8;
19808 fra.me.REG[0] = NIT_NULL;
19809 fra.me.REG[1] = NIT_NULL;
19810 fra.me.REG[2] = NIT_NULL;
19811 fra.me.REG[3] = NIT_NULL;
19812 fra.me.REG[4] = NIT_NULL;
19813 fra.me.REG[5] = NIT_NULL;
19814 fra.me.REG[6] = NIT_NULL;
19815 fra.me.REG[7] = NIT_NULL;
19816 fra.me.REG[0] = p0;
19817 fra.me.REG[1] = p1;
19818 fra.me.REG[0] = NIT_NULL;
19819 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19820 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19821 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19822 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19823 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19824 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19825 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19826 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19827 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
19828 /* ./parser//parser.nit:6828 */
19829 if (UNTAG_Bool(REGB0)) {
19830 } else {
19831 fprintf(stderr, "Assert failed");
19832 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6828);
19833 nit_exit(1);
19834 }
19835 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
19836 /* ./parser//parser.nit:6830 */
19837 if (UNTAG_Bool(REGB0)) {
19838 } else {
19839 fprintf(stderr, "Assert failed");
19840 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6830);
19841 nit_exit(1);
19842 }
19843 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
19844 /* ./parser//parser.nit:6832 */
19845 if (UNTAG_Bool(REGB0)) {
19846 } else {
19847 fprintf(stderr, "Assert failed");
19848 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6832);
19849 nit_exit(1);
19850 }
19851 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
19852 /* ./parser//parser.nit:6834 */
19853 if (UNTAG_Bool(REGB0)) {
19854 } else {
19855 fprintf(stderr, "Assert failed");
19856 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6834);
19857 nit_exit(1);
19858 }
19859 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
19860 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
19861 /* ./parser//parser.nit:6839 */
19862 if (UNTAG_Bool(REGB0)) {
19863 } else {
19864 fprintf(stderr, "Assert failed");
19865 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6839);
19866 nit_exit(1);
19867 }
19868 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
19869 /* ./parser//parser.nit:6841 */
19870 if (UNTAG_Bool(REGB0)) {
19871 } else {
19872 fprintf(stderr, "Assert failed");
19873 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6841);
19874 nit_exit(1);
19875 }
19876 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
19877 fra.me.REG[0] = fra.me.REG[2];
19878 REGB0 = TAG_Int(12);
19879 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19880 /* ./parser//parser.nit:6852 */
19881 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
19882 stack_frame_head = fra.me.prev;
19883 return;
19884 }
19885 void parser___ReduceAction124___init(val_t p0, int* init_table){
19886 int itpos128 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction124].i;
19887 struct {struct stack_frame_t me;} fra;
19888 val_t tmp;
19889 if (init_table[itpos128]) return;
19890 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19891 fra.me.file = LOCATE_parser;
19892 fra.me.line = 6854;
19893 fra.me.meth = LOCATE_parser___ReduceAction124___init;
19894 fra.me.has_broke = 0;
19895 fra.me.REG_size = 1;
19896 fra.me.REG[0] = NIT_NULL;
19897 fra.me.REG[0] = p0;
19898 /* ./parser//parser.nit:6854 */
19899 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
19900 stack_frame_head = fra.me.prev;
19901 init_table[itpos128] = 1;
19902 return;
19903 }
19904 void parser___ReduceAction125___action(val_t p0, val_t p1){
19905 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
19906 val_t REGB0;
19907 val_t tmp;
19908 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19909 fra.me.file = LOCATE_parser;
19910 fra.me.line = 6858;
19911 fra.me.meth = LOCATE_parser___ReduceAction125___action;
19912 fra.me.has_broke = 0;
19913 fra.me.REG_size = 8;
19914 fra.me.REG[0] = NIT_NULL;
19915 fra.me.REG[1] = NIT_NULL;
19916 fra.me.REG[2] = NIT_NULL;
19917 fra.me.REG[3] = NIT_NULL;
19918 fra.me.REG[4] = NIT_NULL;
19919 fra.me.REG[5] = NIT_NULL;
19920 fra.me.REG[6] = NIT_NULL;
19921 fra.me.REG[7] = NIT_NULL;
19922 fra.me.REG[0] = p0;
19923 fra.me.REG[1] = p1;
19924 fra.me.REG[0] = NIT_NULL;
19925 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19926 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19927 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19928 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19929 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19930 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19931 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19932 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19933 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
19934 /* ./parser//parser.nit:6870 */
19935 if (UNTAG_Bool(REGB0)) {
19936 } else {
19937 fprintf(stderr, "Assert failed");
19938 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6870);
19939 nit_exit(1);
19940 }
19941 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
19942 /* ./parser//parser.nit:6872 */
19943 if (UNTAG_Bool(REGB0)) {
19944 } else {
19945 fprintf(stderr, "Assert failed");
19946 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6872);
19947 nit_exit(1);
19948 }
19949 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
19950 /* ./parser//parser.nit:6874 */
19951 if (UNTAG_Bool(REGB0)) {
19952 } else {
19953 fprintf(stderr, "Assert failed");
19954 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6874);
19955 nit_exit(1);
19956 }
19957 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
19958 /* ./parser//parser.nit:6876 */
19959 if (UNTAG_Bool(REGB0)) {
19960 } else {
19961 fprintf(stderr, "Assert failed");
19962 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6876);
19963 nit_exit(1);
19964 }
19965 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
19966 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
19967 /* ./parser//parser.nit:6881 */
19968 if (UNTAG_Bool(REGB0)) {
19969 } else {
19970 fprintf(stderr, "Assert failed");
19971 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6881);
19972 nit_exit(1);
19973 }
19974 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
19975 /* ./parser//parser.nit:6883 */
19976 if (UNTAG_Bool(REGB0)) {
19977 } else {
19978 fprintf(stderr, "Assert failed");
19979 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6883);
19980 nit_exit(1);
19981 }
19982 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
19983 fra.me.REG[0] = fra.me.REG[2];
19984 REGB0 = TAG_Int(12);
19985 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19986 /* ./parser//parser.nit:6894 */
19987 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
19988 stack_frame_head = fra.me.prev;
19989 return;
19990 }
19991 void parser___ReduceAction125___init(val_t p0, int* init_table){
19992 int itpos129 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction125].i;
19993 struct {struct stack_frame_t me;} fra;
19994 val_t tmp;
19995 if (init_table[itpos129]) return;
19996 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19997 fra.me.file = LOCATE_parser;
19998 fra.me.line = 6896;
19999 fra.me.meth = LOCATE_parser___ReduceAction125___init;
20000 fra.me.has_broke = 0;
20001 fra.me.REG_size = 1;
20002 fra.me.REG[0] = NIT_NULL;
20003 fra.me.REG[0] = p0;
20004 /* ./parser//parser.nit:6896 */
20005 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
20006 stack_frame_head = fra.me.prev;
20007 init_table[itpos129] = 1;
20008 return;
20009 }
20010 void parser___ReduceAction126___action(val_t p0, val_t p1){
20011 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
20012 val_t REGB0;
20013 val_t tmp;
20014 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20015 fra.me.file = LOCATE_parser;
20016 fra.me.line = 6900;
20017 fra.me.meth = LOCATE_parser___ReduceAction126___action;
20018 fra.me.has_broke = 0;
20019 fra.me.REG_size = 8;
20020 fra.me.REG[0] = NIT_NULL;
20021 fra.me.REG[1] = NIT_NULL;
20022 fra.me.REG[2] = NIT_NULL;
20023 fra.me.REG[3] = NIT_NULL;
20024 fra.me.REG[4] = NIT_NULL;
20025 fra.me.REG[5] = NIT_NULL;
20026 fra.me.REG[6] = NIT_NULL;
20027 fra.me.REG[7] = NIT_NULL;
20028 fra.me.REG[0] = p0;
20029 fra.me.REG[1] = p1;
20030 fra.me.REG[0] = NIT_NULL;
20031 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20032 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20033 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20034 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20035 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20036 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20037 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20038 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20039 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
20040 /* ./parser//parser.nit:6912 */
20041 if (UNTAG_Bool(REGB0)) {
20042 } else {
20043 fprintf(stderr, "Assert failed");
20044 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6912);
20045 nit_exit(1);
20046 }
20047 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
20048 /* ./parser//parser.nit:6914 */
20049 if (UNTAG_Bool(REGB0)) {
20050 } else {
20051 fprintf(stderr, "Assert failed");
20052 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6914);
20053 nit_exit(1);
20054 }
20055 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
20056 /* ./parser//parser.nit:6916 */
20057 if (UNTAG_Bool(REGB0)) {
20058 } else {
20059 fprintf(stderr, "Assert failed");
20060 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6916);
20061 nit_exit(1);
20062 }
20063 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
20064 /* ./parser//parser.nit:6918 */
20065 if (UNTAG_Bool(REGB0)) {
20066 } else {
20067 fprintf(stderr, "Assert failed");
20068 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6918);
20069 nit_exit(1);
20070 }
20071 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
20072 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
20073 /* ./parser//parser.nit:6923 */
20074 if (UNTAG_Bool(REGB0)) {
20075 } else {
20076 fprintf(stderr, "Assert failed");
20077 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6923);
20078 nit_exit(1);
20079 }
20080 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
20081 /* ./parser//parser.nit:6925 */
20082 if (UNTAG_Bool(REGB0)) {
20083 } else {
20084 fprintf(stderr, "Assert failed");
20085 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6925);
20086 nit_exit(1);
20087 }
20088 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
20089 fra.me.REG[0] = fra.me.REG[2];
20090 REGB0 = TAG_Int(12);
20091 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20092 /* ./parser//parser.nit:6936 */
20093 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
20094 stack_frame_head = fra.me.prev;
20095 return;
20096 }
20097 void parser___ReduceAction126___init(val_t p0, int* init_table){
20098 int itpos130 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction126].i;
20099 struct {struct stack_frame_t me;} fra;
20100 val_t tmp;
20101 if (init_table[itpos130]) return;
20102 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20103 fra.me.file = LOCATE_parser;
20104 fra.me.line = 6938;
20105 fra.me.meth = LOCATE_parser___ReduceAction126___init;
20106 fra.me.has_broke = 0;
20107 fra.me.REG_size = 1;
20108 fra.me.REG[0] = NIT_NULL;
20109 fra.me.REG[0] = p0;
20110 /* ./parser//parser.nit:6938 */
20111 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
20112 stack_frame_head = fra.me.prev;
20113 init_table[itpos130] = 1;
20114 return;
20115 }
20116 void parser___ReduceAction127___action(val_t p0, val_t p1){
20117 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
20118 val_t REGB0;
20119 val_t tmp;
20120 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20121 fra.me.file = LOCATE_parser;
20122 fra.me.line = 6942;
20123 fra.me.meth = LOCATE_parser___ReduceAction127___action;
20124 fra.me.has_broke = 0;
20125 fra.me.REG_size = 8;
20126 fra.me.REG[0] = NIT_NULL;
20127 fra.me.REG[1] = NIT_NULL;
20128 fra.me.REG[2] = NIT_NULL;
20129 fra.me.REG[3] = NIT_NULL;
20130 fra.me.REG[4] = NIT_NULL;
20131 fra.me.REG[5] = NIT_NULL;
20132 fra.me.REG[6] = NIT_NULL;
20133 fra.me.REG[7] = NIT_NULL;
20134 fra.me.REG[0] = p0;
20135 fra.me.REG[1] = p1;
20136 fra.me.REG[0] = NIT_NULL;
20137 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20138 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20139 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20140 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20141 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20142 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20143 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20144 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20145 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
20146 /* ./parser//parser.nit:6954 */
20147 if (UNTAG_Bool(REGB0)) {
20148 } else {
20149 fprintf(stderr, "Assert failed");
20150 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6954);
20151 nit_exit(1);
20152 }
20153 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
20154 /* ./parser//parser.nit:6956 */
20155 if (UNTAG_Bool(REGB0)) {
20156 } else {
20157 fprintf(stderr, "Assert failed");
20158 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6956);
20159 nit_exit(1);
20160 }
20161 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
20162 /* ./parser//parser.nit:6958 */
20163 if (UNTAG_Bool(REGB0)) {
20164 } else {
20165 fprintf(stderr, "Assert failed");
20166 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6958);
20167 nit_exit(1);
20168 }
20169 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
20170 /* ./parser//parser.nit:6960 */
20171 if (UNTAG_Bool(REGB0)) {
20172 } else {
20173 fprintf(stderr, "Assert failed");
20174 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6960);
20175 nit_exit(1);
20176 }
20177 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
20178 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
20179 /* ./parser//parser.nit:6965 */
20180 if (UNTAG_Bool(REGB0)) {
20181 } else {
20182 fprintf(stderr, "Assert failed");
20183 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6965);
20184 nit_exit(1);
20185 }
20186 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
20187 /* ./parser//parser.nit:6967 */
20188 if (UNTAG_Bool(REGB0)) {
20189 } else {
20190 fprintf(stderr, "Assert failed");
20191 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6967);
20192 nit_exit(1);
20193 }
20194 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
20195 fra.me.REG[0] = fra.me.REG[2];
20196 REGB0 = TAG_Int(12);
20197 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20198 /* ./parser//parser.nit:6978 */
20199 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
20200 stack_frame_head = fra.me.prev;
20201 return;
20202 }
20203 void parser___ReduceAction127___init(val_t p0, int* init_table){
20204 int itpos131 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction127].i;
20205 struct {struct stack_frame_t me;} fra;
20206 val_t tmp;
20207 if (init_table[itpos131]) return;
20208 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20209 fra.me.file = LOCATE_parser;
20210 fra.me.line = 6980;
20211 fra.me.meth = LOCATE_parser___ReduceAction127___init;
20212 fra.me.has_broke = 0;
20213 fra.me.REG_size = 1;
20214 fra.me.REG[0] = NIT_NULL;
20215 fra.me.REG[0] = p0;
20216 /* ./parser//parser.nit:6980 */
20217 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
20218 stack_frame_head = fra.me.prev;
20219 init_table[itpos131] = 1;
20220 return;
20221 }
20222 void parser___ReduceAction128___action(val_t p0, val_t p1){
20223 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
20224 val_t REGB0;
20225 val_t tmp;
20226 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20227 fra.me.file = LOCATE_parser;
20228 fra.me.line = 6984;
20229 fra.me.meth = LOCATE_parser___ReduceAction128___action;
20230 fra.me.has_broke = 0;
20231 fra.me.REG_size = 8;
20232 fra.me.REG[0] = NIT_NULL;
20233 fra.me.REG[1] = NIT_NULL;
20234 fra.me.REG[2] = NIT_NULL;
20235 fra.me.REG[3] = NIT_NULL;
20236 fra.me.REG[4] = NIT_NULL;
20237 fra.me.REG[5] = NIT_NULL;
20238 fra.me.REG[6] = NIT_NULL;
20239 fra.me.REG[7] = NIT_NULL;
20240 fra.me.REG[0] = p0;
20241 fra.me.REG[1] = p1;
20242 fra.me.REG[0] = NIT_NULL;
20243 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20244 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20245 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20246 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20247 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20248 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20249 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20250 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20251 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
20252 /* ./parser//parser.nit:6996 */
20253 if (UNTAG_Bool(REGB0)) {
20254 } else {
20255 fprintf(stderr, "Assert failed");
20256 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6996);
20257 nit_exit(1);
20258 }
20259 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
20260 /* ./parser//parser.nit:6998 */
20261 if (UNTAG_Bool(REGB0)) {
20262 } else {
20263 fprintf(stderr, "Assert failed");
20264 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6998);
20265 nit_exit(1);
20266 }
20267 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
20268 /* ./parser//parser.nit:7000 */
20269 if (UNTAG_Bool(REGB0)) {
20270 } else {
20271 fprintf(stderr, "Assert failed");
20272 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7000);
20273 nit_exit(1);
20274 }
20275 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
20276 /* ./parser//parser.nit:7002 */
20277 if (UNTAG_Bool(REGB0)) {
20278 } else {
20279 fprintf(stderr, "Assert failed");
20280 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7002);
20281 nit_exit(1);
20282 }
20283 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
20284 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
20285 /* ./parser//parser.nit:7007 */
20286 if (UNTAG_Bool(REGB0)) {
20287 } else {
20288 fprintf(stderr, "Assert failed");
20289 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7007);
20290 nit_exit(1);
20291 }
20292 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
20293 /* ./parser//parser.nit:7009 */
20294 if (UNTAG_Bool(REGB0)) {
20295 } else {
20296 fprintf(stderr, "Assert failed");
20297 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7009);
20298 nit_exit(1);
20299 }
20300 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
20301 fra.me.REG[0] = fra.me.REG[2];
20302 REGB0 = TAG_Int(12);
20303 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20304 /* ./parser//parser.nit:7020 */
20305 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
20306 stack_frame_head = fra.me.prev;
20307 return;
20308 }
20309 void parser___ReduceAction128___init(val_t p0, int* init_table){
20310 int itpos132 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction128].i;
20311 struct {struct stack_frame_t me;} fra;
20312 val_t tmp;
20313 if (init_table[itpos132]) return;
20314 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20315 fra.me.file = LOCATE_parser;
20316 fra.me.line = 7022;
20317 fra.me.meth = LOCATE_parser___ReduceAction128___init;
20318 fra.me.has_broke = 0;
20319 fra.me.REG_size = 1;
20320 fra.me.REG[0] = NIT_NULL;
20321 fra.me.REG[0] = p0;
20322 /* ./parser//parser.nit:7022 */
20323 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
20324 stack_frame_head = fra.me.prev;
20325 init_table[itpos132] = 1;
20326 return;
20327 }
20328 void parser___ReduceAction129___action(val_t p0, val_t p1){
20329 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
20330 val_t REGB0;
20331 val_t tmp;
20332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20333 fra.me.file = LOCATE_parser;
20334 fra.me.line = 7026;
20335 fra.me.meth = LOCATE_parser___ReduceAction129___action;
20336 fra.me.has_broke = 0;
20337 fra.me.REG_size = 8;
20338 fra.me.REG[0] = NIT_NULL;
20339 fra.me.REG[1] = NIT_NULL;
20340 fra.me.REG[2] = NIT_NULL;
20341 fra.me.REG[3] = NIT_NULL;
20342 fra.me.REG[4] = NIT_NULL;
20343 fra.me.REG[5] = NIT_NULL;
20344 fra.me.REG[6] = NIT_NULL;
20345 fra.me.REG[7] = NIT_NULL;
20346 fra.me.REG[0] = p0;
20347 fra.me.REG[1] = p1;
20348 fra.me.REG[0] = NIT_NULL;
20349 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20350 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20351 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20352 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20353 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20354 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20355 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20356 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20357 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
20358 /* ./parser//parser.nit:7038 */
20359 if (UNTAG_Bool(REGB0)) {
20360 } else {
20361 fprintf(stderr, "Assert failed");
20362 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7038);
20363 nit_exit(1);
20364 }
20365 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
20366 /* ./parser//parser.nit:7040 */
20367 if (UNTAG_Bool(REGB0)) {
20368 } else {
20369 fprintf(stderr, "Assert failed");
20370 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7040);
20371 nit_exit(1);
20372 }
20373 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
20374 /* ./parser//parser.nit:7042 */
20375 if (UNTAG_Bool(REGB0)) {
20376 } else {
20377 fprintf(stderr, "Assert failed");
20378 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7042);
20379 nit_exit(1);
20380 }
20381 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
20382 /* ./parser//parser.nit:7044 */
20383 if (UNTAG_Bool(REGB0)) {
20384 } else {
20385 fprintf(stderr, "Assert failed");
20386 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7044);
20387 nit_exit(1);
20388 }
20389 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
20390 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
20391 /* ./parser//parser.nit:7049 */
20392 if (UNTAG_Bool(REGB0)) {
20393 } else {
20394 fprintf(stderr, "Assert failed");
20395 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7049);
20396 nit_exit(1);
20397 }
20398 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
20399 /* ./parser//parser.nit:7051 */
20400 if (UNTAG_Bool(REGB0)) {
20401 } else {
20402 fprintf(stderr, "Assert failed");
20403 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7051);
20404 nit_exit(1);
20405 }
20406 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
20407 fra.me.REG[0] = fra.me.REG[2];
20408 REGB0 = TAG_Int(12);
20409 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20410 /* ./parser//parser.nit:7062 */
20411 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
20412 stack_frame_head = fra.me.prev;
20413 return;
20414 }
20415 void parser___ReduceAction129___init(val_t p0, int* init_table){
20416 int itpos133 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction129].i;
20417 struct {struct stack_frame_t me;} fra;
20418 val_t tmp;
20419 if (init_table[itpos133]) return;
20420 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20421 fra.me.file = LOCATE_parser;
20422 fra.me.line = 7064;
20423 fra.me.meth = LOCATE_parser___ReduceAction129___init;
20424 fra.me.has_broke = 0;
20425 fra.me.REG_size = 1;
20426 fra.me.REG[0] = NIT_NULL;
20427 fra.me.REG[0] = p0;
20428 /* ./parser//parser.nit:7064 */
20429 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
20430 stack_frame_head = fra.me.prev;
20431 init_table[itpos133] = 1;
20432 return;
20433 }
20434 void parser___ReduceAction130___action(val_t p0, val_t p1){
20435 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
20436 val_t REGB0;
20437 val_t tmp;
20438 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20439 fra.me.file = LOCATE_parser;
20440 fra.me.line = 7068;
20441 fra.me.meth = LOCATE_parser___ReduceAction130___action;
20442 fra.me.has_broke = 0;
20443 fra.me.REG_size = 8;
20444 fra.me.REG[0] = NIT_NULL;
20445 fra.me.REG[1] = NIT_NULL;
20446 fra.me.REG[2] = NIT_NULL;
20447 fra.me.REG[3] = NIT_NULL;
20448 fra.me.REG[4] = NIT_NULL;
20449 fra.me.REG[5] = NIT_NULL;
20450 fra.me.REG[6] = NIT_NULL;
20451 fra.me.REG[7] = NIT_NULL;
20452 fra.me.REG[0] = p0;
20453 fra.me.REG[1] = p1;
20454 fra.me.REG[0] = NIT_NULL;
20455 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20456 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20457 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20458 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20459 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20460 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20461 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20462 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20463 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
20464 /* ./parser//parser.nit:7080 */
20465 if (UNTAG_Bool(REGB0)) {
20466 } else {
20467 fprintf(stderr, "Assert failed");
20468 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7080);
20469 nit_exit(1);
20470 }
20471 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
20472 /* ./parser//parser.nit:7082 */
20473 if (UNTAG_Bool(REGB0)) {
20474 } else {
20475 fprintf(stderr, "Assert failed");
20476 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7082);
20477 nit_exit(1);
20478 }
20479 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
20480 /* ./parser//parser.nit:7084 */
20481 if (UNTAG_Bool(REGB0)) {
20482 } else {
20483 fprintf(stderr, "Assert failed");
20484 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7084);
20485 nit_exit(1);
20486 }
20487 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
20488 /* ./parser//parser.nit:7086 */
20489 if (UNTAG_Bool(REGB0)) {
20490 } else {
20491 fprintf(stderr, "Assert failed");
20492 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7086);
20493 nit_exit(1);
20494 }
20495 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
20496 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
20497 /* ./parser//parser.nit:7091 */
20498 if (UNTAG_Bool(REGB0)) {
20499 } else {
20500 fprintf(stderr, "Assert failed");
20501 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7091);
20502 nit_exit(1);
20503 }
20504 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
20505 /* ./parser//parser.nit:7093 */
20506 if (UNTAG_Bool(REGB0)) {
20507 } else {
20508 fprintf(stderr, "Assert failed");
20509 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7093);
20510 nit_exit(1);
20511 }
20512 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
20513 fra.me.REG[0] = fra.me.REG[2];
20514 REGB0 = TAG_Int(12);
20515 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20516 /* ./parser//parser.nit:7104 */
20517 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
20518 stack_frame_head = fra.me.prev;
20519 return;
20520 }
20521 void parser___ReduceAction130___init(val_t p0, int* init_table){
20522 int itpos134 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction130].i;
20523 struct {struct stack_frame_t me;} fra;
20524 val_t tmp;
20525 if (init_table[itpos134]) return;
20526 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20527 fra.me.file = LOCATE_parser;
20528 fra.me.line = 7106;
20529 fra.me.meth = LOCATE_parser___ReduceAction130___init;
20530 fra.me.has_broke = 0;
20531 fra.me.REG_size = 1;
20532 fra.me.REG[0] = NIT_NULL;
20533 fra.me.REG[0] = p0;
20534 /* ./parser//parser.nit:7106 */
20535 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
20536 stack_frame_head = fra.me.prev;
20537 init_table[itpos134] = 1;
20538 return;
20539 }
20540 void parser___ReduceAction131___action(val_t p0, val_t p1){
20541 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
20542 val_t REGB0;
20543 val_t tmp;
20544 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20545 fra.me.file = LOCATE_parser;
20546 fra.me.line = 7110;
20547 fra.me.meth = LOCATE_parser___ReduceAction131___action;
20548 fra.me.has_broke = 0;
20549 fra.me.REG_size = 8;
20550 fra.me.REG[0] = NIT_NULL;
20551 fra.me.REG[1] = NIT_NULL;
20552 fra.me.REG[2] = NIT_NULL;
20553 fra.me.REG[3] = NIT_NULL;
20554 fra.me.REG[4] = NIT_NULL;
20555 fra.me.REG[5] = NIT_NULL;
20556 fra.me.REG[6] = NIT_NULL;
20557 fra.me.REG[7] = NIT_NULL;
20558 fra.me.REG[0] = p0;
20559 fra.me.REG[1] = p1;
20560 fra.me.REG[0] = NIT_NULL;
20561 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20562 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20563 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20564 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20565 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20566 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20567 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20568 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20569 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
20570 /* ./parser//parser.nit:7122 */
20571 if (UNTAG_Bool(REGB0)) {
20572 } else {
20573 fprintf(stderr, "Assert failed");
20574 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7122);
20575 nit_exit(1);
20576 }
20577 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
20578 /* ./parser//parser.nit:7124 */
20579 if (UNTAG_Bool(REGB0)) {
20580 } else {
20581 fprintf(stderr, "Assert failed");
20582 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7124);
20583 nit_exit(1);
20584 }
20585 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
20586 /* ./parser//parser.nit:7126 */
20587 if (UNTAG_Bool(REGB0)) {
20588 } else {
20589 fprintf(stderr, "Assert failed");
20590 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7126);
20591 nit_exit(1);
20592 }
20593 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
20594 /* ./parser//parser.nit:7128 */
20595 if (UNTAG_Bool(REGB0)) {
20596 } else {
20597 fprintf(stderr, "Assert failed");
20598 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7128);
20599 nit_exit(1);
20600 }
20601 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
20602 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
20603 /* ./parser//parser.nit:7133 */
20604 if (UNTAG_Bool(REGB0)) {
20605 } else {
20606 fprintf(stderr, "Assert failed");
20607 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7133);
20608 nit_exit(1);
20609 }
20610 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
20611 /* ./parser//parser.nit:7135 */
20612 if (UNTAG_Bool(REGB0)) {
20613 } else {
20614 fprintf(stderr, "Assert failed");
20615 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7135);
20616 nit_exit(1);
20617 }
20618 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
20619 fra.me.REG[0] = fra.me.REG[2];
20620 REGB0 = TAG_Int(12);
20621 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20622 /* ./parser//parser.nit:7146 */
20623 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
20624 stack_frame_head = fra.me.prev;
20625 return;
20626 }
20627 void parser___ReduceAction131___init(val_t p0, int* init_table){
20628 int itpos135 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction131].i;
20629 struct {struct stack_frame_t me;} fra;
20630 val_t tmp;
20631 if (init_table[itpos135]) return;
20632 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20633 fra.me.file = LOCATE_parser;
20634 fra.me.line = 7148;
20635 fra.me.meth = LOCATE_parser___ReduceAction131___init;
20636 fra.me.has_broke = 0;
20637 fra.me.REG_size = 1;
20638 fra.me.REG[0] = NIT_NULL;
20639 fra.me.REG[0] = p0;
20640 /* ./parser//parser.nit:7148 */
20641 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
20642 stack_frame_head = fra.me.prev;
20643 init_table[itpos135] = 1;
20644 return;
20645 }
20646 void parser___ReduceAction132___action(val_t p0, val_t p1){
20647 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
20648 val_t REGB0;
20649 val_t tmp;
20650 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20651 fra.me.file = LOCATE_parser;
20652 fra.me.line = 7152;
20653 fra.me.meth = LOCATE_parser___ReduceAction132___action;
20654 fra.me.has_broke = 0;
20655 fra.me.REG_size = 8;
20656 fra.me.REG[0] = NIT_NULL;
20657 fra.me.REG[1] = NIT_NULL;
20658 fra.me.REG[2] = NIT_NULL;
20659 fra.me.REG[3] = NIT_NULL;
20660 fra.me.REG[4] = NIT_NULL;
20661 fra.me.REG[5] = NIT_NULL;
20662 fra.me.REG[6] = NIT_NULL;
20663 fra.me.REG[7] = NIT_NULL;
20664 fra.me.REG[0] = p0;
20665 fra.me.REG[1] = p1;
20666 fra.me.REG[0] = NIT_NULL;
20667 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20668 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20669 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20670 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20671 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20672 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20673 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20674 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20675 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
20676 /* ./parser//parser.nit:7164 */
20677 if (UNTAG_Bool(REGB0)) {
20678 } else {
20679 fprintf(stderr, "Assert failed");
20680 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7164);
20681 nit_exit(1);
20682 }
20683 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
20684 /* ./parser//parser.nit:7166 */
20685 if (UNTAG_Bool(REGB0)) {
20686 } else {
20687 fprintf(stderr, "Assert failed");
20688 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7166);
20689 nit_exit(1);
20690 }
20691 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
20692 /* ./parser//parser.nit:7168 */
20693 if (UNTAG_Bool(REGB0)) {
20694 } else {
20695 fprintf(stderr, "Assert failed");
20696 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7168);
20697 nit_exit(1);
20698 }
20699 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
20700 /* ./parser//parser.nit:7170 */
20701 if (UNTAG_Bool(REGB0)) {
20702 } else {
20703 fprintf(stderr, "Assert failed");
20704 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7170);
20705 nit_exit(1);
20706 }
20707 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
20708 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
20709 /* ./parser//parser.nit:7175 */
20710 if (UNTAG_Bool(REGB0)) {
20711 } else {
20712 fprintf(stderr, "Assert failed");
20713 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7175);
20714 nit_exit(1);
20715 }
20716 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
20717 /* ./parser//parser.nit:7177 */
20718 if (UNTAG_Bool(REGB0)) {
20719 } else {
20720 fprintf(stderr, "Assert failed");
20721 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7177);
20722 nit_exit(1);
20723 }
20724 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
20725 fra.me.REG[0] = fra.me.REG[2];
20726 REGB0 = TAG_Int(12);
20727 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20728 /* ./parser//parser.nit:7188 */
20729 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
20730 stack_frame_head = fra.me.prev;
20731 return;
20732 }
20733 void parser___ReduceAction132___init(val_t p0, int* init_table){
20734 int itpos136 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction132].i;
20735 struct {struct stack_frame_t me;} fra;
20736 val_t tmp;
20737 if (init_table[itpos136]) return;
20738 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20739 fra.me.file = LOCATE_parser;
20740 fra.me.line = 7190;
20741 fra.me.meth = LOCATE_parser___ReduceAction132___init;
20742 fra.me.has_broke = 0;
20743 fra.me.REG_size = 1;
20744 fra.me.REG[0] = NIT_NULL;
20745 fra.me.REG[0] = p0;
20746 /* ./parser//parser.nit:7190 */
20747 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
20748 stack_frame_head = fra.me.prev;
20749 init_table[itpos136] = 1;
20750 return;
20751 }
20752 void parser___ReduceAction133___action(val_t p0, val_t p1){
20753 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
20754 val_t REGB0;
20755 val_t tmp;
20756 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20757 fra.me.file = LOCATE_parser;
20758 fra.me.line = 7194;
20759 fra.me.meth = LOCATE_parser___ReduceAction133___action;
20760 fra.me.has_broke = 0;
20761 fra.me.REG_size = 8;
20762 fra.me.REG[0] = NIT_NULL;
20763 fra.me.REG[1] = NIT_NULL;
20764 fra.me.REG[2] = NIT_NULL;
20765 fra.me.REG[3] = NIT_NULL;
20766 fra.me.REG[4] = NIT_NULL;
20767 fra.me.REG[5] = NIT_NULL;
20768 fra.me.REG[6] = NIT_NULL;
20769 fra.me.REG[7] = NIT_NULL;
20770 fra.me.REG[0] = p0;
20771 fra.me.REG[1] = p1;
20772 fra.me.REG[0] = NIT_NULL;
20773 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20774 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20775 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20776 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20777 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20778 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20779 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20780 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20781 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
20782 /* ./parser//parser.nit:7206 */
20783 if (UNTAG_Bool(REGB0)) {
20784 } else {
20785 fprintf(stderr, "Assert failed");
20786 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7206);
20787 nit_exit(1);
20788 }
20789 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
20790 /* ./parser//parser.nit:7208 */
20791 if (UNTAG_Bool(REGB0)) {
20792 } else {
20793 fprintf(stderr, "Assert failed");
20794 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7208);
20795 nit_exit(1);
20796 }
20797 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
20798 /* ./parser//parser.nit:7210 */
20799 if (UNTAG_Bool(REGB0)) {
20800 } else {
20801 fprintf(stderr, "Assert failed");
20802 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7210);
20803 nit_exit(1);
20804 }
20805 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
20806 /* ./parser//parser.nit:7212 */
20807 if (UNTAG_Bool(REGB0)) {
20808 } else {
20809 fprintf(stderr, "Assert failed");
20810 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7212);
20811 nit_exit(1);
20812 }
20813 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
20814 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
20815 /* ./parser//parser.nit:7217 */
20816 if (UNTAG_Bool(REGB0)) {
20817 } else {
20818 fprintf(stderr, "Assert failed");
20819 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7217);
20820 nit_exit(1);
20821 }
20822 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
20823 /* ./parser//parser.nit:7219 */
20824 if (UNTAG_Bool(REGB0)) {
20825 } else {
20826 fprintf(stderr, "Assert failed");
20827 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7219);
20828 nit_exit(1);
20829 }
20830 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
20831 fra.me.REG[0] = fra.me.REG[2];
20832 REGB0 = TAG_Int(12);
20833 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20834 /* ./parser//parser.nit:7230 */
20835 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
20836 stack_frame_head = fra.me.prev;
20837 return;
20838 }
20839 void parser___ReduceAction133___init(val_t p0, int* init_table){
20840 int itpos137 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction133].i;
20841 struct {struct stack_frame_t me;} fra;
20842 val_t tmp;
20843 if (init_table[itpos137]) return;
20844 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20845 fra.me.file = LOCATE_parser;
20846 fra.me.line = 7232;
20847 fra.me.meth = LOCATE_parser___ReduceAction133___init;
20848 fra.me.has_broke = 0;
20849 fra.me.REG_size = 1;
20850 fra.me.REG[0] = NIT_NULL;
20851 fra.me.REG[0] = p0;
20852 /* ./parser//parser.nit:7232 */
20853 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
20854 stack_frame_head = fra.me.prev;
20855 init_table[itpos137] = 1;
20856 return;
20857 }
20858 void parser___ReduceAction134___action(val_t p0, val_t p1){
20859 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
20860 val_t REGB0;
20861 val_t tmp;
20862 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20863 fra.me.file = LOCATE_parser;
20864 fra.me.line = 7236;
20865 fra.me.meth = LOCATE_parser___ReduceAction134___action;
20866 fra.me.has_broke = 0;
20867 fra.me.REG_size = 9;
20868 fra.me.REG[0] = NIT_NULL;
20869 fra.me.REG[1] = NIT_NULL;
20870 fra.me.REG[2] = NIT_NULL;
20871 fra.me.REG[3] = NIT_NULL;
20872 fra.me.REG[4] = NIT_NULL;
20873 fra.me.REG[5] = NIT_NULL;
20874 fra.me.REG[6] = NIT_NULL;
20875 fra.me.REG[7] = NIT_NULL;
20876 fra.me.REG[8] = NIT_NULL;
20877 fra.me.REG[0] = p0;
20878 fra.me.REG[1] = p1;
20879 fra.me.REG[0] = NIT_NULL;
20880 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20881 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20882 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20883 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20884 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20885 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20886 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20887 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20888 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20889 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
20890 /* ./parser//parser.nit:7249 */
20891 if (UNTAG_Bool(REGB0)) {
20892 } else {
20893 fprintf(stderr, "Assert failed");
20894 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7249);
20895 nit_exit(1);
20896 }
20897 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
20898 /* ./parser//parser.nit:7251 */
20899 if (UNTAG_Bool(REGB0)) {
20900 } else {
20901 fprintf(stderr, "Assert failed");
20902 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7251);
20903 nit_exit(1);
20904 }
20905 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
20906 /* ./parser//parser.nit:7253 */
20907 if (UNTAG_Bool(REGB0)) {
20908 } else {
20909 fprintf(stderr, "Assert failed");
20910 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7253);
20911 nit_exit(1);
20912 }
20913 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
20914 /* ./parser//parser.nit:7255 */
20915 if (UNTAG_Bool(REGB0)) {
20916 } else {
20917 fprintf(stderr, "Assert failed");
20918 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7255);
20919 nit_exit(1);
20920 }
20921 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
20922 /* ./parser//parser.nit:7257 */
20923 if (UNTAG_Bool(REGB0)) {
20924 } else {
20925 fprintf(stderr, "Assert failed");
20926 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7257);
20927 nit_exit(1);
20928 }
20929 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
20930 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
20931 /* ./parser//parser.nit:7263 */
20932 if (UNTAG_Bool(REGB0)) {
20933 } else {
20934 fprintf(stderr, "Assert failed");
20935 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7263);
20936 nit_exit(1);
20937 }
20938 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
20939 /* ./parser//parser.nit:7265 */
20940 if (UNTAG_Bool(REGB0)) {
20941 } else {
20942 fprintf(stderr, "Assert failed");
20943 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7265);
20944 nit_exit(1);
20945 }
20946 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
20947 fra.me.REG[0] = fra.me.REG[2];
20948 REGB0 = TAG_Int(12);
20949 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20950 /* ./parser//parser.nit:7276 */
20951 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
20952 stack_frame_head = fra.me.prev;
20953 return;
20954 }
20955 void parser___ReduceAction134___init(val_t p0, int* init_table){
20956 int itpos138 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction134].i;
20957 struct {struct stack_frame_t me;} fra;
20958 val_t tmp;
20959 if (init_table[itpos138]) return;
20960 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20961 fra.me.file = LOCATE_parser;
20962 fra.me.line = 7278;
20963 fra.me.meth = LOCATE_parser___ReduceAction134___init;
20964 fra.me.has_broke = 0;
20965 fra.me.REG_size = 1;
20966 fra.me.REG[0] = NIT_NULL;
20967 fra.me.REG[0] = p0;
20968 /* ./parser//parser.nit:7278 */
20969 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
20970 stack_frame_head = fra.me.prev;
20971 init_table[itpos138] = 1;
20972 return;
20973 }
20974 void parser___ReduceAction135___action(val_t p0, val_t p1){
20975 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
20976 val_t REGB0;
20977 val_t tmp;
20978 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20979 fra.me.file = LOCATE_parser;
20980 fra.me.line = 7282;
20981 fra.me.meth = LOCATE_parser___ReduceAction135___action;
20982 fra.me.has_broke = 0;
20983 fra.me.REG_size = 8;
20984 fra.me.REG[0] = NIT_NULL;
20985 fra.me.REG[1] = NIT_NULL;
20986 fra.me.REG[2] = NIT_NULL;
20987 fra.me.REG[3] = NIT_NULL;
20988 fra.me.REG[4] = NIT_NULL;
20989 fra.me.REG[5] = NIT_NULL;
20990 fra.me.REG[6] = NIT_NULL;
20991 fra.me.REG[7] = NIT_NULL;
20992 fra.me.REG[0] = p0;
20993 fra.me.REG[1] = p1;
20994 fra.me.REG[0] = NIT_NULL;
20995 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20996 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20997 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20998 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20999 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21000 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21001 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21002 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21003 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
21004 /* ./parser//parser.nit:7294 */
21005 if (UNTAG_Bool(REGB0)) {
21006 } else {
21007 fprintf(stderr, "Assert failed");
21008 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7294);
21009 nit_exit(1);
21010 }
21011 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
21012 /* ./parser//parser.nit:7296 */
21013 if (UNTAG_Bool(REGB0)) {
21014 } else {
21015 fprintf(stderr, "Assert failed");
21016 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7296);
21017 nit_exit(1);
21018 }
21019 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
21020 /* ./parser//parser.nit:7298 */
21021 if (UNTAG_Bool(REGB0)) {
21022 } else {
21023 fprintf(stderr, "Assert failed");
21024 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7298);
21025 nit_exit(1);
21026 }
21027 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
21028 /* ./parser//parser.nit:7300 */
21029 if (UNTAG_Bool(REGB0)) {
21030 } else {
21031 fprintf(stderr, "Assert failed");
21032 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7300);
21033 nit_exit(1);
21034 }
21035 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
21036 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
21037 /* ./parser//parser.nit:7305 */
21038 if (UNTAG_Bool(REGB0)) {
21039 } else {
21040 fprintf(stderr, "Assert failed");
21041 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7305);
21042 nit_exit(1);
21043 }
21044 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
21045 /* ./parser//parser.nit:7307 */
21046 if (UNTAG_Bool(REGB0)) {
21047 } else {
21048 fprintf(stderr, "Assert failed");
21049 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7307);
21050 nit_exit(1);
21051 }
21052 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
21053 fra.me.REG[0] = fra.me.REG[2];
21054 REGB0 = TAG_Int(12);
21055 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21056 /* ./parser//parser.nit:7318 */
21057 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
21058 stack_frame_head = fra.me.prev;
21059 return;
21060 }
21061 void parser___ReduceAction135___init(val_t p0, int* init_table){
21062 int itpos139 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction135].i;
21063 struct {struct stack_frame_t me;} fra;
21064 val_t tmp;
21065 if (init_table[itpos139]) return;
21066 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21067 fra.me.file = LOCATE_parser;
21068 fra.me.line = 7320;
21069 fra.me.meth = LOCATE_parser___ReduceAction135___init;
21070 fra.me.has_broke = 0;
21071 fra.me.REG_size = 1;
21072 fra.me.REG[0] = NIT_NULL;
21073 fra.me.REG[0] = p0;
21074 /* ./parser//parser.nit:7320 */
21075 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
21076 stack_frame_head = fra.me.prev;
21077 init_table[itpos139] = 1;
21078 return;
21079 }
21080 void parser___ReduceAction136___action(val_t p0, val_t p1){
21081 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
21082 val_t REGB0;
21083 val_t tmp;
21084 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21085 fra.me.file = LOCATE_parser;
21086 fra.me.line = 7324;
21087 fra.me.meth = LOCATE_parser___ReduceAction136___action;
21088 fra.me.has_broke = 0;
21089 fra.me.REG_size = 9;
21090 fra.me.REG[0] = NIT_NULL;
21091 fra.me.REG[1] = NIT_NULL;
21092 fra.me.REG[2] = NIT_NULL;
21093 fra.me.REG[3] = NIT_NULL;
21094 fra.me.REG[4] = NIT_NULL;
21095 fra.me.REG[5] = NIT_NULL;
21096 fra.me.REG[6] = NIT_NULL;
21097 fra.me.REG[7] = NIT_NULL;
21098 fra.me.REG[8] = NIT_NULL;
21099 fra.me.REG[0] = p0;
21100 fra.me.REG[1] = p1;
21101 fra.me.REG[0] = NIT_NULL;
21102 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21103 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21104 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21105 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21106 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21107 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21108 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21109 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21110 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21111 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
21112 /* ./parser//parser.nit:7337 */
21113 if (UNTAG_Bool(REGB0)) {
21114 } else {
21115 fprintf(stderr, "Assert failed");
21116 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7337);
21117 nit_exit(1);
21118 }
21119 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
21120 /* ./parser//parser.nit:7339 */
21121 if (UNTAG_Bool(REGB0)) {
21122 } else {
21123 fprintf(stderr, "Assert failed");
21124 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7339);
21125 nit_exit(1);
21126 }
21127 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
21128 /* ./parser//parser.nit:7341 */
21129 if (UNTAG_Bool(REGB0)) {
21130 } else {
21131 fprintf(stderr, "Assert failed");
21132 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7341);
21133 nit_exit(1);
21134 }
21135 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
21136 /* ./parser//parser.nit:7343 */
21137 if (UNTAG_Bool(REGB0)) {
21138 } else {
21139 fprintf(stderr, "Assert failed");
21140 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7343);
21141 nit_exit(1);
21142 }
21143 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
21144 /* ./parser//parser.nit:7345 */
21145 if (UNTAG_Bool(REGB0)) {
21146 } else {
21147 fprintf(stderr, "Assert failed");
21148 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7345);
21149 nit_exit(1);
21150 }
21151 fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
21152 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
21153 /* ./parser//parser.nit:7351 */
21154 if (UNTAG_Bool(REGB0)) {
21155 } else {
21156 fprintf(stderr, "Assert failed");
21157 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7351);
21158 nit_exit(1);
21159 }
21160 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
21161 /* ./parser//parser.nit:7353 */
21162 if (UNTAG_Bool(REGB0)) {
21163 } else {
21164 fprintf(stderr, "Assert failed");
21165 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7353);
21166 nit_exit(1);
21167 }
21168 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
21169 fra.me.REG[0] = fra.me.REG[2];
21170 REGB0 = TAG_Int(12);
21171 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21172 /* ./parser//parser.nit:7364 */
21173 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
21174 stack_frame_head = fra.me.prev;
21175 return;
21176 }
21177 void parser___ReduceAction136___init(val_t p0, int* init_table){
21178 int itpos140 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction136].i;
21179 struct {struct stack_frame_t me;} fra;
21180 val_t tmp;
21181 if (init_table[itpos140]) return;
21182 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21183 fra.me.file = LOCATE_parser;
21184 fra.me.line = 7366;
21185 fra.me.meth = LOCATE_parser___ReduceAction136___init;
21186 fra.me.has_broke = 0;
21187 fra.me.REG_size = 1;
21188 fra.me.REG[0] = NIT_NULL;
21189 fra.me.REG[0] = p0;
21190 /* ./parser//parser.nit:7366 */
21191 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
21192 stack_frame_head = fra.me.prev;
21193 init_table[itpos140] = 1;
21194 return;
21195 }
21196 void parser___ReduceAction137___action(val_t p0, val_t p1){
21197 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
21198 val_t REGB0;
21199 val_t tmp;
21200 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21201 fra.me.file = LOCATE_parser;
21202 fra.me.line = 7370;
21203 fra.me.meth = LOCATE_parser___ReduceAction137___action;
21204 fra.me.has_broke = 0;
21205 fra.me.REG_size = 10;
21206 fra.me.REG[0] = NIT_NULL;
21207 fra.me.REG[1] = NIT_NULL;
21208 fra.me.REG[2] = NIT_NULL;
21209 fra.me.REG[3] = NIT_NULL;
21210 fra.me.REG[4] = NIT_NULL;
21211 fra.me.REG[5] = NIT_NULL;
21212 fra.me.REG[6] = NIT_NULL;
21213 fra.me.REG[7] = NIT_NULL;
21214 fra.me.REG[8] = NIT_NULL;
21215 fra.me.REG[9] = NIT_NULL;
21216 fra.me.REG[0] = p0;
21217 fra.me.REG[1] = p1;
21218 fra.me.REG[0] = NIT_NULL;
21219 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21220 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21221 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21222 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21223 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21224 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21225 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21226 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21227 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21228 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21229 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
21230 /* ./parser//parser.nit:7384 */
21231 if (UNTAG_Bool(REGB0)) {
21232 } else {
21233 fprintf(stderr, "Assert failed");
21234 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7384);
21235 nit_exit(1);
21236 }
21237 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
21238 /* ./parser//parser.nit:7386 */
21239 if (UNTAG_Bool(REGB0)) {
21240 } else {
21241 fprintf(stderr, "Assert failed");
21242 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7386);
21243 nit_exit(1);
21244 }
21245 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
21246 /* ./parser//parser.nit:7388 */
21247 if (UNTAG_Bool(REGB0)) {
21248 } else {
21249 fprintf(stderr, "Assert failed");
21250 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7388);
21251 nit_exit(1);
21252 }
21253 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
21254 /* ./parser//parser.nit:7390 */
21255 if (UNTAG_Bool(REGB0)) {
21256 } else {
21257 fprintf(stderr, "Assert failed");
21258 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7390);
21259 nit_exit(1);
21260 }
21261 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
21262 /* ./parser//parser.nit:7392 */
21263 if (UNTAG_Bool(REGB0)) {
21264 } else {
21265 fprintf(stderr, "Assert failed");
21266 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7392);
21267 nit_exit(1);
21268 }
21269 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
21270 /* ./parser//parser.nit:7394 */
21271 if (UNTAG_Bool(REGB0)) {
21272 } else {
21273 fprintf(stderr, "Assert failed");
21274 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7394);
21275 nit_exit(1);
21276 }
21277 fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
21278 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
21279 /* ./parser//parser.nit:7401 */
21280 if (UNTAG_Bool(REGB0)) {
21281 } else {
21282 fprintf(stderr, "Assert failed");
21283 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7401);
21284 nit_exit(1);
21285 }
21286 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
21287 /* ./parser//parser.nit:7403 */
21288 if (UNTAG_Bool(REGB0)) {
21289 } else {
21290 fprintf(stderr, "Assert failed");
21291 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7403);
21292 nit_exit(1);
21293 }
21294 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
21295 fra.me.REG[0] = fra.me.REG[2];
21296 REGB0 = TAG_Int(12);
21297 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21298 /* ./parser//parser.nit:7414 */
21299 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
21300 stack_frame_head = fra.me.prev;
21301 return;
21302 }
21303 void parser___ReduceAction137___init(val_t p0, int* init_table){
21304 int itpos141 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction137].i;
21305 struct {struct stack_frame_t me;} fra;
21306 val_t tmp;
21307 if (init_table[itpos141]) return;
21308 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21309 fra.me.file = LOCATE_parser;
21310 fra.me.line = 7416;
21311 fra.me.meth = LOCATE_parser___ReduceAction137___init;
21312 fra.me.has_broke = 0;
21313 fra.me.REG_size = 1;
21314 fra.me.REG[0] = NIT_NULL;
21315 fra.me.REG[0] = p0;
21316 /* ./parser//parser.nit:7416 */
21317 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
21318 stack_frame_head = fra.me.prev;
21319 init_table[itpos141] = 1;
21320 return;
21321 }
21322 void parser___ReduceAction138___action(val_t p0, val_t p1){
21323 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
21324 val_t REGB0;
21325 val_t tmp;
21326 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21327 fra.me.file = LOCATE_parser;
21328 fra.me.line = 7420;
21329 fra.me.meth = LOCATE_parser___ReduceAction138___action;
21330 fra.me.has_broke = 0;
21331 fra.me.REG_size = 9;
21332 fra.me.REG[0] = NIT_NULL;
21333 fra.me.REG[1] = NIT_NULL;
21334 fra.me.REG[2] = NIT_NULL;
21335 fra.me.REG[3] = NIT_NULL;
21336 fra.me.REG[4] = NIT_NULL;
21337 fra.me.REG[5] = NIT_NULL;
21338 fra.me.REG[6] = NIT_NULL;
21339 fra.me.REG[7] = NIT_NULL;
21340 fra.me.REG[8] = NIT_NULL;
21341 fra.me.REG[0] = p0;
21342 fra.me.REG[1] = p1;
21343 fra.me.REG[0] = NIT_NULL;
21344 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21345 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21346 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21347 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21348 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21349 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21350 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21351 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21352 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21353 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
21354 /* ./parser//parser.nit:7433 */
21355 if (UNTAG_Bool(REGB0)) {
21356 } else {
21357 fprintf(stderr, "Assert failed");
21358 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7433);
21359 nit_exit(1);
21360 }
21361 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
21362 /* ./parser//parser.nit:7435 */
21363 if (UNTAG_Bool(REGB0)) {
21364 } else {
21365 fprintf(stderr, "Assert failed");
21366 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7435);
21367 nit_exit(1);
21368 }
21369 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
21370 /* ./parser//parser.nit:7437 */
21371 if (UNTAG_Bool(REGB0)) {
21372 } else {
21373 fprintf(stderr, "Assert failed");
21374 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7437);
21375 nit_exit(1);
21376 }
21377 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
21378 /* ./parser//parser.nit:7439 */
21379 if (UNTAG_Bool(REGB0)) {
21380 } else {
21381 fprintf(stderr, "Assert failed");
21382 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7439);
21383 nit_exit(1);
21384 }
21385 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
21386 /* ./parser//parser.nit:7441 */
21387 if (UNTAG_Bool(REGB0)) {
21388 } else {
21389 fprintf(stderr, "Assert failed");
21390 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7441);
21391 nit_exit(1);
21392 }
21393 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
21394 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
21395 /* ./parser//parser.nit:7446 */
21396 if (UNTAG_Bool(REGB0)) {
21397 } else {
21398 fprintf(stderr, "Assert failed");
21399 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7446);
21400 nit_exit(1);
21401 }
21402 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
21403 /* ./parser//parser.nit:7448 */
21404 if (UNTAG_Bool(REGB0)) {
21405 } else {
21406 fprintf(stderr, "Assert failed");
21407 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7448);
21408 nit_exit(1);
21409 }
21410 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
21411 fra.me.REG[0] = fra.me.REG[2];
21412 REGB0 = TAG_Int(12);
21413 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21414 /* ./parser//parser.nit:7459 */
21415 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
21416 stack_frame_head = fra.me.prev;
21417 return;
21418 }
21419 void parser___ReduceAction138___init(val_t p0, int* init_table){
21420 int itpos142 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction138].i;
21421 struct {struct stack_frame_t me;} fra;
21422 val_t tmp;
21423 if (init_table[itpos142]) return;
21424 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21425 fra.me.file = LOCATE_parser;
21426 fra.me.line = 7461;
21427 fra.me.meth = LOCATE_parser___ReduceAction138___init;
21428 fra.me.has_broke = 0;
21429 fra.me.REG_size = 1;
21430 fra.me.REG[0] = NIT_NULL;
21431 fra.me.REG[0] = p0;
21432 /* ./parser//parser.nit:7461 */
21433 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
21434 stack_frame_head = fra.me.prev;
21435 init_table[itpos142] = 1;
21436 return;
21437 }
21438 void parser___ReduceAction139___action(val_t p0, val_t p1){
21439 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
21440 val_t REGB0;
21441 val_t tmp;
21442 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21443 fra.me.file = LOCATE_parser;
21444 fra.me.line = 7465;
21445 fra.me.meth = LOCATE_parser___ReduceAction139___action;
21446 fra.me.has_broke = 0;
21447 fra.me.REG_size = 9;
21448 fra.me.REG[0] = NIT_NULL;
21449 fra.me.REG[1] = NIT_NULL;
21450 fra.me.REG[2] = NIT_NULL;
21451 fra.me.REG[3] = NIT_NULL;
21452 fra.me.REG[4] = NIT_NULL;
21453 fra.me.REG[5] = NIT_NULL;
21454 fra.me.REG[6] = NIT_NULL;
21455 fra.me.REG[7] = NIT_NULL;
21456 fra.me.REG[8] = NIT_NULL;
21457 fra.me.REG[0] = p0;
21458 fra.me.REG[1] = p1;
21459 fra.me.REG[0] = NIT_NULL;
21460 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21461 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21462 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21463 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21464 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21465 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21466 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21467 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21468 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21469 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
21470 /* ./parser//parser.nit:7478 */
21471 if (UNTAG_Bool(REGB0)) {
21472 } else {
21473 fprintf(stderr, "Assert failed");
21474 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7478);
21475 nit_exit(1);
21476 }
21477 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
21478 /* ./parser//parser.nit:7480 */
21479 if (UNTAG_Bool(REGB0)) {
21480 } else {
21481 fprintf(stderr, "Assert failed");
21482 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7480);
21483 nit_exit(1);
21484 }
21485 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
21486 /* ./parser//parser.nit:7482 */
21487 if (UNTAG_Bool(REGB0)) {
21488 } else {
21489 fprintf(stderr, "Assert failed");
21490 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7482);
21491 nit_exit(1);
21492 }
21493 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
21494 /* ./parser//parser.nit:7484 */
21495 if (UNTAG_Bool(REGB0)) {
21496 } else {
21497 fprintf(stderr, "Assert failed");
21498 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7484);
21499 nit_exit(1);
21500 }
21501 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
21502 /* ./parser//parser.nit:7486 */
21503 if (UNTAG_Bool(REGB0)) {
21504 } else {
21505 fprintf(stderr, "Assert failed");
21506 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7486);
21507 nit_exit(1);
21508 }
21509 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
21510 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
21511 /* ./parser//parser.nit:7491 */
21512 if (UNTAG_Bool(REGB0)) {
21513 } else {
21514 fprintf(stderr, "Assert failed");
21515 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7491);
21516 nit_exit(1);
21517 }
21518 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
21519 /* ./parser//parser.nit:7493 */
21520 if (UNTAG_Bool(REGB0)) {
21521 } else {
21522 fprintf(stderr, "Assert failed");
21523 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7493);
21524 nit_exit(1);
21525 }
21526 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
21527 fra.me.REG[0] = fra.me.REG[2];
21528 REGB0 = TAG_Int(12);
21529 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21530 /* ./parser//parser.nit:7504 */
21531 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
21532 stack_frame_head = fra.me.prev;
21533 return;
21534 }
21535 void parser___ReduceAction139___init(val_t p0, int* init_table){
21536 int itpos143 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction139].i;
21537 struct {struct stack_frame_t me;} fra;
21538 val_t tmp;
21539 if (init_table[itpos143]) return;
21540 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21541 fra.me.file = LOCATE_parser;
21542 fra.me.line = 7506;
21543 fra.me.meth = LOCATE_parser___ReduceAction139___init;
21544 fra.me.has_broke = 0;
21545 fra.me.REG_size = 1;
21546 fra.me.REG[0] = NIT_NULL;
21547 fra.me.REG[0] = p0;
21548 /* ./parser//parser.nit:7506 */
21549 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
21550 stack_frame_head = fra.me.prev;
21551 init_table[itpos143] = 1;
21552 return;
21553 }
21554 void parser___ReduceAction140___action(val_t p0, val_t p1){
21555 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
21556 val_t REGB0;
21557 val_t tmp;
21558 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21559 fra.me.file = LOCATE_parser;
21560 fra.me.line = 7510;
21561 fra.me.meth = LOCATE_parser___ReduceAction140___action;
21562 fra.me.has_broke = 0;
21563 fra.me.REG_size = 9;
21564 fra.me.REG[0] = NIT_NULL;
21565 fra.me.REG[1] = NIT_NULL;
21566 fra.me.REG[2] = NIT_NULL;
21567 fra.me.REG[3] = NIT_NULL;
21568 fra.me.REG[4] = NIT_NULL;
21569 fra.me.REG[5] = NIT_NULL;
21570 fra.me.REG[6] = NIT_NULL;
21571 fra.me.REG[7] = NIT_NULL;
21572 fra.me.REG[8] = NIT_NULL;
21573 fra.me.REG[0] = p0;
21574 fra.me.REG[1] = p1;
21575 fra.me.REG[0] = NIT_NULL;
21576 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21577 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21578 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21579 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21580 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21581 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21582 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21583 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21584 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21585 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
21586 /* ./parser//parser.nit:7523 */
21587 if (UNTAG_Bool(REGB0)) {
21588 } else {
21589 fprintf(stderr, "Assert failed");
21590 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7523);
21591 nit_exit(1);
21592 }
21593 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
21594 /* ./parser//parser.nit:7525 */
21595 if (UNTAG_Bool(REGB0)) {
21596 } else {
21597 fprintf(stderr, "Assert failed");
21598 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7525);
21599 nit_exit(1);
21600 }
21601 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
21602 /* ./parser//parser.nit:7527 */
21603 if (UNTAG_Bool(REGB0)) {
21604 } else {
21605 fprintf(stderr, "Assert failed");
21606 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7527);
21607 nit_exit(1);
21608 }
21609 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
21610 /* ./parser//parser.nit:7529 */
21611 if (UNTAG_Bool(REGB0)) {
21612 } else {
21613 fprintf(stderr, "Assert failed");
21614 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7529);
21615 nit_exit(1);
21616 }
21617 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
21618 /* ./parser//parser.nit:7531 */
21619 if (UNTAG_Bool(REGB0)) {
21620 } else {
21621 fprintf(stderr, "Assert failed");
21622 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7531);
21623 nit_exit(1);
21624 }
21625 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
21626 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
21627 /* ./parser//parser.nit:7536 */
21628 if (UNTAG_Bool(REGB0)) {
21629 } else {
21630 fprintf(stderr, "Assert failed");
21631 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7536);
21632 nit_exit(1);
21633 }
21634 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
21635 /* ./parser//parser.nit:7538 */
21636 if (UNTAG_Bool(REGB0)) {
21637 } else {
21638 fprintf(stderr, "Assert failed");
21639 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7538);
21640 nit_exit(1);
21641 }
21642 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
21643 fra.me.REG[0] = fra.me.REG[2];
21644 REGB0 = TAG_Int(12);
21645 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21646 /* ./parser//parser.nit:7549 */
21647 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
21648 stack_frame_head = fra.me.prev;
21649 return;
21650 }
21651 void parser___ReduceAction140___init(val_t p0, int* init_table){
21652 int itpos144 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction140].i;
21653 struct {struct stack_frame_t me;} fra;
21654 val_t tmp;
21655 if (init_table[itpos144]) return;
21656 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21657 fra.me.file = LOCATE_parser;
21658 fra.me.line = 7551;
21659 fra.me.meth = LOCATE_parser___ReduceAction140___init;
21660 fra.me.has_broke = 0;
21661 fra.me.REG_size = 1;
21662 fra.me.REG[0] = NIT_NULL;
21663 fra.me.REG[0] = p0;
21664 /* ./parser//parser.nit:7551 */
21665 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
21666 stack_frame_head = fra.me.prev;
21667 init_table[itpos144] = 1;
21668 return;
21669 }
21670 void parser___ReduceAction141___action(val_t p0, val_t p1){
21671 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
21672 val_t REGB0;
21673 val_t tmp;
21674 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21675 fra.me.file = LOCATE_parser;
21676 fra.me.line = 7555;
21677 fra.me.meth = LOCATE_parser___ReduceAction141___action;
21678 fra.me.has_broke = 0;
21679 fra.me.REG_size = 9;
21680 fra.me.REG[0] = NIT_NULL;
21681 fra.me.REG[1] = NIT_NULL;
21682 fra.me.REG[2] = NIT_NULL;
21683 fra.me.REG[3] = NIT_NULL;
21684 fra.me.REG[4] = NIT_NULL;
21685 fra.me.REG[5] = NIT_NULL;
21686 fra.me.REG[6] = NIT_NULL;
21687 fra.me.REG[7] = NIT_NULL;
21688 fra.me.REG[8] = NIT_NULL;
21689 fra.me.REG[0] = p0;
21690 fra.me.REG[1] = p1;
21691 fra.me.REG[0] = NIT_NULL;
21692 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21693 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21694 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21695 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21696 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21697 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21698 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21699 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21700 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21701 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
21702 /* ./parser//parser.nit:7568 */
21703 if (UNTAG_Bool(REGB0)) {
21704 } else {
21705 fprintf(stderr, "Assert failed");
21706 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7568);
21707 nit_exit(1);
21708 }
21709 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
21710 /* ./parser//parser.nit:7570 */
21711 if (UNTAG_Bool(REGB0)) {
21712 } else {
21713 fprintf(stderr, "Assert failed");
21714 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7570);
21715 nit_exit(1);
21716 }
21717 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
21718 /* ./parser//parser.nit:7572 */
21719 if (UNTAG_Bool(REGB0)) {
21720 } else {
21721 fprintf(stderr, "Assert failed");
21722 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7572);
21723 nit_exit(1);
21724 }
21725 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
21726 /* ./parser//parser.nit:7574 */
21727 if (UNTAG_Bool(REGB0)) {
21728 } else {
21729 fprintf(stderr, "Assert failed");
21730 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7574);
21731 nit_exit(1);
21732 }
21733 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
21734 /* ./parser//parser.nit:7576 */
21735 if (UNTAG_Bool(REGB0)) {
21736 } else {
21737 fprintf(stderr, "Assert failed");
21738 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7576);
21739 nit_exit(1);
21740 }
21741 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
21742 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
21743 /* ./parser//parser.nit:7581 */
21744 if (UNTAG_Bool(REGB0)) {
21745 } else {
21746 fprintf(stderr, "Assert failed");
21747 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7581);
21748 nit_exit(1);
21749 }
21750 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
21751 /* ./parser//parser.nit:7583 */
21752 if (UNTAG_Bool(REGB0)) {
21753 } else {
21754 fprintf(stderr, "Assert failed");
21755 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7583);
21756 nit_exit(1);
21757 }
21758 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
21759 fra.me.REG[0] = fra.me.REG[2];
21760 REGB0 = TAG_Int(12);
21761 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21762 /* ./parser//parser.nit:7594 */
21763 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
21764 stack_frame_head = fra.me.prev;
21765 return;
21766 }
21767 void parser___ReduceAction141___init(val_t p0, int* init_table){
21768 int itpos145 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction141].i;
21769 struct {struct stack_frame_t me;} fra;
21770 val_t tmp;
21771 if (init_table[itpos145]) return;
21772 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21773 fra.me.file = LOCATE_parser;
21774 fra.me.line = 7596;
21775 fra.me.meth = LOCATE_parser___ReduceAction141___init;
21776 fra.me.has_broke = 0;
21777 fra.me.REG_size = 1;
21778 fra.me.REG[0] = NIT_NULL;
21779 fra.me.REG[0] = p0;
21780 /* ./parser//parser.nit:7596 */
21781 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
21782 stack_frame_head = fra.me.prev;
21783 init_table[itpos145] = 1;
21784 return;
21785 }
21786 void parser___ReduceAction142___action(val_t p0, val_t p1){
21787 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
21788 val_t REGB0;
21789 val_t tmp;
21790 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21791 fra.me.file = LOCATE_parser;
21792 fra.me.line = 7600;
21793 fra.me.meth = LOCATE_parser___ReduceAction142___action;
21794 fra.me.has_broke = 0;
21795 fra.me.REG_size = 9;
21796 fra.me.REG[0] = NIT_NULL;
21797 fra.me.REG[1] = NIT_NULL;
21798 fra.me.REG[2] = NIT_NULL;
21799 fra.me.REG[3] = NIT_NULL;
21800 fra.me.REG[4] = NIT_NULL;
21801 fra.me.REG[5] = NIT_NULL;
21802 fra.me.REG[6] = NIT_NULL;
21803 fra.me.REG[7] = NIT_NULL;
21804 fra.me.REG[8] = NIT_NULL;
21805 fra.me.REG[0] = p0;
21806 fra.me.REG[1] = p1;
21807 fra.me.REG[0] = NIT_NULL;
21808 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21809 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21810 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21811 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21812 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21813 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21814 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21815 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21816 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21817 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
21818 /* ./parser//parser.nit:7613 */
21819 if (UNTAG_Bool(REGB0)) {
21820 } else {
21821 fprintf(stderr, "Assert failed");
21822 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7613);
21823 nit_exit(1);
21824 }
21825 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
21826 /* ./parser//parser.nit:7615 */
21827 if (UNTAG_Bool(REGB0)) {
21828 } else {
21829 fprintf(stderr, "Assert failed");
21830 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7615);
21831 nit_exit(1);
21832 }
21833 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
21834 /* ./parser//parser.nit:7617 */
21835 if (UNTAG_Bool(REGB0)) {
21836 } else {
21837 fprintf(stderr, "Assert failed");
21838 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7617);
21839 nit_exit(1);
21840 }
21841 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
21842 /* ./parser//parser.nit:7619 */
21843 if (UNTAG_Bool(REGB0)) {
21844 } else {
21845 fprintf(stderr, "Assert failed");
21846 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7619);
21847 nit_exit(1);
21848 }
21849 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
21850 /* ./parser//parser.nit:7621 */
21851 if (UNTAG_Bool(REGB0)) {
21852 } else {
21853 fprintf(stderr, "Assert failed");
21854 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7621);
21855 nit_exit(1);
21856 }
21857 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
21858 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
21859 /* ./parser//parser.nit:7626 */
21860 if (UNTAG_Bool(REGB0)) {
21861 } else {
21862 fprintf(stderr, "Assert failed");
21863 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7626);
21864 nit_exit(1);
21865 }
21866 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
21867 /* ./parser//parser.nit:7628 */
21868 if (UNTAG_Bool(REGB0)) {
21869 } else {
21870 fprintf(stderr, "Assert failed");
21871 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7628);
21872 nit_exit(1);
21873 }
21874 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
21875 fra.me.REG[0] = fra.me.REG[2];
21876 REGB0 = TAG_Int(12);
21877 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21878 /* ./parser//parser.nit:7639 */
21879 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
21880 stack_frame_head = fra.me.prev;
21881 return;
21882 }
21883 void parser___ReduceAction142___init(val_t p0, int* init_table){
21884 int itpos146 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction142].i;
21885 struct {struct stack_frame_t me;} fra;
21886 val_t tmp;
21887 if (init_table[itpos146]) return;
21888 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21889 fra.me.file = LOCATE_parser;
21890 fra.me.line = 7641;
21891 fra.me.meth = LOCATE_parser___ReduceAction142___init;
21892 fra.me.has_broke = 0;
21893 fra.me.REG_size = 1;
21894 fra.me.REG[0] = NIT_NULL;
21895 fra.me.REG[0] = p0;
21896 /* ./parser//parser.nit:7641 */
21897 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
21898 stack_frame_head = fra.me.prev;
21899 init_table[itpos146] = 1;
21900 return;
21901 }
21902 void parser___ReduceAction143___action(val_t p0, val_t p1){
21903 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
21904 val_t REGB0;
21905 val_t tmp;
21906 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21907 fra.me.file = LOCATE_parser;
21908 fra.me.line = 7645;
21909 fra.me.meth = LOCATE_parser___ReduceAction143___action;
21910 fra.me.has_broke = 0;
21911 fra.me.REG_size = 9;
21912 fra.me.REG[0] = NIT_NULL;
21913 fra.me.REG[1] = NIT_NULL;
21914 fra.me.REG[2] = NIT_NULL;
21915 fra.me.REG[3] = NIT_NULL;
21916 fra.me.REG[4] = NIT_NULL;
21917 fra.me.REG[5] = NIT_NULL;
21918 fra.me.REG[6] = NIT_NULL;
21919 fra.me.REG[7] = NIT_NULL;
21920 fra.me.REG[8] = NIT_NULL;
21921 fra.me.REG[0] = p0;
21922 fra.me.REG[1] = p1;
21923 fra.me.REG[0] = NIT_NULL;
21924 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21925 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21926 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21927 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21928 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21929 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21930 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21931 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21932 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21933 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
21934 /* ./parser//parser.nit:7658 */
21935 if (UNTAG_Bool(REGB0)) {
21936 } else {
21937 fprintf(stderr, "Assert failed");
21938 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7658);
21939 nit_exit(1);
21940 }
21941 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
21942 /* ./parser//parser.nit:7660 */
21943 if (UNTAG_Bool(REGB0)) {
21944 } else {
21945 fprintf(stderr, "Assert failed");
21946 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7660);
21947 nit_exit(1);
21948 }
21949 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
21950 /* ./parser//parser.nit:7662 */
21951 if (UNTAG_Bool(REGB0)) {
21952 } else {
21953 fprintf(stderr, "Assert failed");
21954 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7662);
21955 nit_exit(1);
21956 }
21957 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
21958 /* ./parser//parser.nit:7664 */
21959 if (UNTAG_Bool(REGB0)) {
21960 } else {
21961 fprintf(stderr, "Assert failed");
21962 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7664);
21963 nit_exit(1);
21964 }
21965 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
21966 /* ./parser//parser.nit:7666 */
21967 if (UNTAG_Bool(REGB0)) {
21968 } else {
21969 fprintf(stderr, "Assert failed");
21970 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7666);
21971 nit_exit(1);
21972 }
21973 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
21974 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
21975 /* ./parser//parser.nit:7671 */
21976 if (UNTAG_Bool(REGB0)) {
21977 } else {
21978 fprintf(stderr, "Assert failed");
21979 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7671);
21980 nit_exit(1);
21981 }
21982 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
21983 /* ./parser//parser.nit:7673 */
21984 if (UNTAG_Bool(REGB0)) {
21985 } else {
21986 fprintf(stderr, "Assert failed");
21987 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7673);
21988 nit_exit(1);
21989 }
21990 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
21991 fra.me.REG[0] = fra.me.REG[2];
21992 REGB0 = TAG_Int(12);
21993 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21994 /* ./parser//parser.nit:7684 */
21995 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
21996 stack_frame_head = fra.me.prev;
21997 return;
21998 }
21999 void parser___ReduceAction143___init(val_t p0, int* init_table){
22000 int itpos147 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction143].i;
22001 struct {struct stack_frame_t me;} fra;
22002 val_t tmp;
22003 if (init_table[itpos147]) return;
22004 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22005 fra.me.file = LOCATE_parser;
22006 fra.me.line = 7686;
22007 fra.me.meth = LOCATE_parser___ReduceAction143___init;
22008 fra.me.has_broke = 0;
22009 fra.me.REG_size = 1;
22010 fra.me.REG[0] = NIT_NULL;
22011 fra.me.REG[0] = p0;
22012 /* ./parser//parser.nit:7686 */
22013 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
22014 stack_frame_head = fra.me.prev;
22015 init_table[itpos147] = 1;
22016 return;
22017 }
22018 void parser___ReduceAction144___action(val_t p0, val_t p1){
22019 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
22020 val_t REGB0;
22021 val_t tmp;
22022 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22023 fra.me.file = LOCATE_parser;
22024 fra.me.line = 7690;
22025 fra.me.meth = LOCATE_parser___ReduceAction144___action;
22026 fra.me.has_broke = 0;
22027 fra.me.REG_size = 9;
22028 fra.me.REG[0] = NIT_NULL;
22029 fra.me.REG[1] = NIT_NULL;
22030 fra.me.REG[2] = NIT_NULL;
22031 fra.me.REG[3] = NIT_NULL;
22032 fra.me.REG[4] = NIT_NULL;
22033 fra.me.REG[5] = NIT_NULL;
22034 fra.me.REG[6] = NIT_NULL;
22035 fra.me.REG[7] = NIT_NULL;
22036 fra.me.REG[8] = NIT_NULL;
22037 fra.me.REG[0] = p0;
22038 fra.me.REG[1] = p1;
22039 fra.me.REG[0] = NIT_NULL;
22040 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22041 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22042 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22043 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22044 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22045 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22046 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22047 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22048 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22049 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
22050 /* ./parser//parser.nit:7703 */
22051 if (UNTAG_Bool(REGB0)) {
22052 } else {
22053 fprintf(stderr, "Assert failed");
22054 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7703);
22055 nit_exit(1);
22056 }
22057 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
22058 /* ./parser//parser.nit:7705 */
22059 if (UNTAG_Bool(REGB0)) {
22060 } else {
22061 fprintf(stderr, "Assert failed");
22062 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7705);
22063 nit_exit(1);
22064 }
22065 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
22066 /* ./parser//parser.nit:7707 */
22067 if (UNTAG_Bool(REGB0)) {
22068 } else {
22069 fprintf(stderr, "Assert failed");
22070 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7707);
22071 nit_exit(1);
22072 }
22073 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
22074 /* ./parser//parser.nit:7709 */
22075 if (UNTAG_Bool(REGB0)) {
22076 } else {
22077 fprintf(stderr, "Assert failed");
22078 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7709);
22079 nit_exit(1);
22080 }
22081 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
22082 /* ./parser//parser.nit:7711 */
22083 if (UNTAG_Bool(REGB0)) {
22084 } else {
22085 fprintf(stderr, "Assert failed");
22086 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7711);
22087 nit_exit(1);
22088 }
22089 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
22090 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
22091 /* ./parser//parser.nit:7716 */
22092 if (UNTAG_Bool(REGB0)) {
22093 } else {
22094 fprintf(stderr, "Assert failed");
22095 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7716);
22096 nit_exit(1);
22097 }
22098 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
22099 /* ./parser//parser.nit:7718 */
22100 if (UNTAG_Bool(REGB0)) {
22101 } else {
22102 fprintf(stderr, "Assert failed");
22103 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7718);
22104 nit_exit(1);
22105 }
22106 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
22107 fra.me.REG[0] = fra.me.REG[2];
22108 REGB0 = TAG_Int(12);
22109 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22110 /* ./parser//parser.nit:7729 */
22111 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
22112 stack_frame_head = fra.me.prev;
22113 return;
22114 }
22115 void parser___ReduceAction144___init(val_t p0, int* init_table){
22116 int itpos148 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction144].i;
22117 struct {struct stack_frame_t me;} fra;
22118 val_t tmp;
22119 if (init_table[itpos148]) return;
22120 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22121 fra.me.file = LOCATE_parser;
22122 fra.me.line = 7731;
22123 fra.me.meth = LOCATE_parser___ReduceAction144___init;
22124 fra.me.has_broke = 0;
22125 fra.me.REG_size = 1;
22126 fra.me.REG[0] = NIT_NULL;
22127 fra.me.REG[0] = p0;
22128 /* ./parser//parser.nit:7731 */
22129 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
22130 stack_frame_head = fra.me.prev;
22131 init_table[itpos148] = 1;
22132 return;
22133 }
22134 void parser___ReduceAction145___action(val_t p0, val_t p1){
22135 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
22136 val_t REGB0;
22137 val_t tmp;
22138 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22139 fra.me.file = LOCATE_parser;
22140 fra.me.line = 7735;
22141 fra.me.meth = LOCATE_parser___ReduceAction145___action;
22142 fra.me.has_broke = 0;
22143 fra.me.REG_size = 9;
22144 fra.me.REG[0] = NIT_NULL;
22145 fra.me.REG[1] = NIT_NULL;
22146 fra.me.REG[2] = NIT_NULL;
22147 fra.me.REG[3] = NIT_NULL;
22148 fra.me.REG[4] = NIT_NULL;
22149 fra.me.REG[5] = NIT_NULL;
22150 fra.me.REG[6] = NIT_NULL;
22151 fra.me.REG[7] = NIT_NULL;
22152 fra.me.REG[8] = NIT_NULL;
22153 fra.me.REG[0] = p0;
22154 fra.me.REG[1] = p1;
22155 fra.me.REG[0] = NIT_NULL;
22156 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22157 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22158 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22159 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22160 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22161 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22162 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22163 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22164 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22165 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
22166 /* ./parser//parser.nit:7748 */
22167 if (UNTAG_Bool(REGB0)) {
22168 } else {
22169 fprintf(stderr, "Assert failed");
22170 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7748);
22171 nit_exit(1);
22172 }
22173 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
22174 /* ./parser//parser.nit:7750 */
22175 if (UNTAG_Bool(REGB0)) {
22176 } else {
22177 fprintf(stderr, "Assert failed");
22178 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7750);
22179 nit_exit(1);
22180 }
22181 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
22182 /* ./parser//parser.nit:7752 */
22183 if (UNTAG_Bool(REGB0)) {
22184 } else {
22185 fprintf(stderr, "Assert failed");
22186 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7752);
22187 nit_exit(1);
22188 }
22189 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
22190 /* ./parser//parser.nit:7754 */
22191 if (UNTAG_Bool(REGB0)) {
22192 } else {
22193 fprintf(stderr, "Assert failed");
22194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7754);
22195 nit_exit(1);
22196 }
22197 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
22198 /* ./parser//parser.nit:7756 */
22199 if (UNTAG_Bool(REGB0)) {
22200 } else {
22201 fprintf(stderr, "Assert failed");
22202 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7756);
22203 nit_exit(1);
22204 }
22205 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
22206 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
22207 /* ./parser//parser.nit:7761 */
22208 if (UNTAG_Bool(REGB0)) {
22209 } else {
22210 fprintf(stderr, "Assert failed");
22211 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7761);
22212 nit_exit(1);
22213 }
22214 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
22215 /* ./parser//parser.nit:7763 */
22216 if (UNTAG_Bool(REGB0)) {
22217 } else {
22218 fprintf(stderr, "Assert failed");
22219 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7763);
22220 nit_exit(1);
22221 }
22222 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
22223 fra.me.REG[0] = fra.me.REG[2];
22224 REGB0 = TAG_Int(12);
22225 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22226 /* ./parser//parser.nit:7774 */
22227 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
22228 stack_frame_head = fra.me.prev;
22229 return;
22230 }
22231 void parser___ReduceAction145___init(val_t p0, int* init_table){
22232 int itpos149 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction145].i;
22233 struct {struct stack_frame_t me;} fra;
22234 val_t tmp;
22235 if (init_table[itpos149]) return;
22236 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22237 fra.me.file = LOCATE_parser;
22238 fra.me.line = 7776;
22239 fra.me.meth = LOCATE_parser___ReduceAction145___init;
22240 fra.me.has_broke = 0;
22241 fra.me.REG_size = 1;
22242 fra.me.REG[0] = NIT_NULL;
22243 fra.me.REG[0] = p0;
22244 /* ./parser//parser.nit:7776 */
22245 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
22246 stack_frame_head = fra.me.prev;
22247 init_table[itpos149] = 1;
22248 return;
22249 }
22250 void parser___ReduceAction146___action(val_t p0, val_t p1){
22251 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
22252 val_t REGB0;
22253 val_t tmp;
22254 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22255 fra.me.file = LOCATE_parser;
22256 fra.me.line = 7780;
22257 fra.me.meth = LOCATE_parser___ReduceAction146___action;
22258 fra.me.has_broke = 0;
22259 fra.me.REG_size = 9;
22260 fra.me.REG[0] = NIT_NULL;
22261 fra.me.REG[1] = NIT_NULL;
22262 fra.me.REG[2] = NIT_NULL;
22263 fra.me.REG[3] = NIT_NULL;
22264 fra.me.REG[4] = NIT_NULL;
22265 fra.me.REG[5] = NIT_NULL;
22266 fra.me.REG[6] = NIT_NULL;
22267 fra.me.REG[7] = NIT_NULL;
22268 fra.me.REG[8] = NIT_NULL;
22269 fra.me.REG[0] = p0;
22270 fra.me.REG[1] = p1;
22271 fra.me.REG[0] = NIT_NULL;
22272 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22273 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22274 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22275 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22276 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22277 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22278 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22279 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22280 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22281 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
22282 /* ./parser//parser.nit:7793 */
22283 if (UNTAG_Bool(REGB0)) {
22284 } else {
22285 fprintf(stderr, "Assert failed");
22286 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7793);
22287 nit_exit(1);
22288 }
22289 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
22290 /* ./parser//parser.nit:7795 */
22291 if (UNTAG_Bool(REGB0)) {
22292 } else {
22293 fprintf(stderr, "Assert failed");
22294 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7795);
22295 nit_exit(1);
22296 }
22297 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
22298 /* ./parser//parser.nit:7797 */
22299 if (UNTAG_Bool(REGB0)) {
22300 } else {
22301 fprintf(stderr, "Assert failed");
22302 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7797);
22303 nit_exit(1);
22304 }
22305 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
22306 /* ./parser//parser.nit:7799 */
22307 if (UNTAG_Bool(REGB0)) {
22308 } else {
22309 fprintf(stderr, "Assert failed");
22310 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7799);
22311 nit_exit(1);
22312 }
22313 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
22314 /* ./parser//parser.nit:7801 */
22315 if (UNTAG_Bool(REGB0)) {
22316 } else {
22317 fprintf(stderr, "Assert failed");
22318 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7801);
22319 nit_exit(1);
22320 }
22321 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
22322 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
22323 /* ./parser//parser.nit:7806 */
22324 if (UNTAG_Bool(REGB0)) {
22325 } else {
22326 fprintf(stderr, "Assert failed");
22327 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7806);
22328 nit_exit(1);
22329 }
22330 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
22331 /* ./parser//parser.nit:7808 */
22332 if (UNTAG_Bool(REGB0)) {
22333 } else {
22334 fprintf(stderr, "Assert failed");
22335 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7808);
22336 nit_exit(1);
22337 }
22338 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
22339 fra.me.REG[0] = fra.me.REG[2];
22340 REGB0 = TAG_Int(12);
22341 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22342 /* ./parser//parser.nit:7819 */
22343 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
22344 stack_frame_head = fra.me.prev;
22345 return;
22346 }
22347 void parser___ReduceAction146___init(val_t p0, int* init_table){
22348 int itpos150 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction146].i;
22349 struct {struct stack_frame_t me;} fra;
22350 val_t tmp;
22351 if (init_table[itpos150]) return;
22352 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22353 fra.me.file = LOCATE_parser;
22354 fra.me.line = 7821;
22355 fra.me.meth = LOCATE_parser___ReduceAction146___init;
22356 fra.me.has_broke = 0;
22357 fra.me.REG_size = 1;
22358 fra.me.REG[0] = NIT_NULL;
22359 fra.me.REG[0] = p0;
22360 /* ./parser//parser.nit:7821 */
22361 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
22362 stack_frame_head = fra.me.prev;
22363 init_table[itpos150] = 1;
22364 return;
22365 }
22366 void parser___ReduceAction147___action(val_t p0, val_t p1){
22367 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
22368 val_t REGB0;
22369 val_t tmp;
22370 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22371 fra.me.file = LOCATE_parser;
22372 fra.me.line = 7825;
22373 fra.me.meth = LOCATE_parser___ReduceAction147___action;
22374 fra.me.has_broke = 0;
22375 fra.me.REG_size = 9;
22376 fra.me.REG[0] = NIT_NULL;
22377 fra.me.REG[1] = NIT_NULL;
22378 fra.me.REG[2] = NIT_NULL;
22379 fra.me.REG[3] = NIT_NULL;
22380 fra.me.REG[4] = NIT_NULL;
22381 fra.me.REG[5] = NIT_NULL;
22382 fra.me.REG[6] = NIT_NULL;
22383 fra.me.REG[7] = NIT_NULL;
22384 fra.me.REG[8] = NIT_NULL;
22385 fra.me.REG[0] = p0;
22386 fra.me.REG[1] = p1;
22387 fra.me.REG[0] = NIT_NULL;
22388 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22389 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22390 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22391 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22392 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22393 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22394 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22395 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22396 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22397 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
22398 /* ./parser//parser.nit:7838 */
22399 if (UNTAG_Bool(REGB0)) {
22400 } else {
22401 fprintf(stderr, "Assert failed");
22402 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7838);
22403 nit_exit(1);
22404 }
22405 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
22406 /* ./parser//parser.nit:7840 */
22407 if (UNTAG_Bool(REGB0)) {
22408 } else {
22409 fprintf(stderr, "Assert failed");
22410 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7840);
22411 nit_exit(1);
22412 }
22413 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
22414 /* ./parser//parser.nit:7842 */
22415 if (UNTAG_Bool(REGB0)) {
22416 } else {
22417 fprintf(stderr, "Assert failed");
22418 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7842);
22419 nit_exit(1);
22420 }
22421 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
22422 /* ./parser//parser.nit:7844 */
22423 if (UNTAG_Bool(REGB0)) {
22424 } else {
22425 fprintf(stderr, "Assert failed");
22426 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7844);
22427 nit_exit(1);
22428 }
22429 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
22430 /* ./parser//parser.nit:7846 */
22431 if (UNTAG_Bool(REGB0)) {
22432 } else {
22433 fprintf(stderr, "Assert failed");
22434 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7846);
22435 nit_exit(1);
22436 }
22437 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
22438 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
22439 /* ./parser//parser.nit:7851 */
22440 if (UNTAG_Bool(REGB0)) {
22441 } else {
22442 fprintf(stderr, "Assert failed");
22443 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7851);
22444 nit_exit(1);
22445 }
22446 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
22447 /* ./parser//parser.nit:7853 */
22448 if (UNTAG_Bool(REGB0)) {
22449 } else {
22450 fprintf(stderr, "Assert failed");
22451 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7853);
22452 nit_exit(1);
22453 }
22454 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
22455 fra.me.REG[0] = fra.me.REG[2];
22456 REGB0 = TAG_Int(12);
22457 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22458 /* ./parser//parser.nit:7864 */
22459 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
22460 stack_frame_head = fra.me.prev;
22461 return;
22462 }
22463 void parser___ReduceAction147___init(val_t p0, int* init_table){
22464 int itpos151 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction147].i;
22465 struct {struct stack_frame_t me;} fra;
22466 val_t tmp;
22467 if (init_table[itpos151]) return;
22468 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22469 fra.me.file = LOCATE_parser;
22470 fra.me.line = 7866;
22471 fra.me.meth = LOCATE_parser___ReduceAction147___init;
22472 fra.me.has_broke = 0;
22473 fra.me.REG_size = 1;
22474 fra.me.REG[0] = NIT_NULL;
22475 fra.me.REG[0] = p0;
22476 /* ./parser//parser.nit:7866 */
22477 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
22478 stack_frame_head = fra.me.prev;
22479 init_table[itpos151] = 1;
22480 return;
22481 }
22482 void parser___ReduceAction148___action(val_t p0, val_t p1){
22483 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
22484 val_t REGB0;
22485 val_t tmp;
22486 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22487 fra.me.file = LOCATE_parser;
22488 fra.me.line = 7870;
22489 fra.me.meth = LOCATE_parser___ReduceAction148___action;
22490 fra.me.has_broke = 0;
22491 fra.me.REG_size = 9;
22492 fra.me.REG[0] = NIT_NULL;
22493 fra.me.REG[1] = NIT_NULL;
22494 fra.me.REG[2] = NIT_NULL;
22495 fra.me.REG[3] = NIT_NULL;
22496 fra.me.REG[4] = NIT_NULL;
22497 fra.me.REG[5] = NIT_NULL;
22498 fra.me.REG[6] = NIT_NULL;
22499 fra.me.REG[7] = NIT_NULL;
22500 fra.me.REG[8] = NIT_NULL;
22501 fra.me.REG[0] = p0;
22502 fra.me.REG[1] = p1;
22503 fra.me.REG[0] = NIT_NULL;
22504 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22505 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22506 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22507 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22508 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22509 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22510 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22511 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22512 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22513 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
22514 /* ./parser//parser.nit:7883 */
22515 if (UNTAG_Bool(REGB0)) {
22516 } else {
22517 fprintf(stderr, "Assert failed");
22518 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7883);
22519 nit_exit(1);
22520 }
22521 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
22522 /* ./parser//parser.nit:7885 */
22523 if (UNTAG_Bool(REGB0)) {
22524 } else {
22525 fprintf(stderr, "Assert failed");
22526 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7885);
22527 nit_exit(1);
22528 }
22529 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
22530 /* ./parser//parser.nit:7887 */
22531 if (UNTAG_Bool(REGB0)) {
22532 } else {
22533 fprintf(stderr, "Assert failed");
22534 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7887);
22535 nit_exit(1);
22536 }
22537 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
22538 /* ./parser//parser.nit:7889 */
22539 if (UNTAG_Bool(REGB0)) {
22540 } else {
22541 fprintf(stderr, "Assert failed");
22542 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7889);
22543 nit_exit(1);
22544 }
22545 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
22546 /* ./parser//parser.nit:7891 */
22547 if (UNTAG_Bool(REGB0)) {
22548 } else {
22549 fprintf(stderr, "Assert failed");
22550 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7891);
22551 nit_exit(1);
22552 }
22553 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
22554 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
22555 /* ./parser//parser.nit:7896 */
22556 if (UNTAG_Bool(REGB0)) {
22557 } else {
22558 fprintf(stderr, "Assert failed");
22559 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7896);
22560 nit_exit(1);
22561 }
22562 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
22563 /* ./parser//parser.nit:7898 */
22564 if (UNTAG_Bool(REGB0)) {
22565 } else {
22566 fprintf(stderr, "Assert failed");
22567 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7898);
22568 nit_exit(1);
22569 }
22570 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
22571 fra.me.REG[0] = fra.me.REG[2];
22572 REGB0 = TAG_Int(12);
22573 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22574 /* ./parser//parser.nit:7909 */
22575 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
22576 stack_frame_head = fra.me.prev;
22577 return;
22578 }
22579 void parser___ReduceAction148___init(val_t p0, int* init_table){
22580 int itpos152 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction148].i;
22581 struct {struct stack_frame_t me;} fra;
22582 val_t tmp;
22583 if (init_table[itpos152]) return;
22584 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22585 fra.me.file = LOCATE_parser;
22586 fra.me.line = 7911;
22587 fra.me.meth = LOCATE_parser___ReduceAction148___init;
22588 fra.me.has_broke = 0;
22589 fra.me.REG_size = 1;
22590 fra.me.REG[0] = NIT_NULL;
22591 fra.me.REG[0] = p0;
22592 /* ./parser//parser.nit:7911 */
22593 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
22594 stack_frame_head = fra.me.prev;
22595 init_table[itpos152] = 1;
22596 return;
22597 }
22598 void parser___ReduceAction149___action(val_t p0, val_t p1){
22599 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
22600 val_t REGB0;
22601 val_t tmp;
22602 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22603 fra.me.file = LOCATE_parser;
22604 fra.me.line = 7915;
22605 fra.me.meth = LOCATE_parser___ReduceAction149___action;
22606 fra.me.has_broke = 0;
22607 fra.me.REG_size = 9;
22608 fra.me.REG[0] = NIT_NULL;
22609 fra.me.REG[1] = NIT_NULL;
22610 fra.me.REG[2] = NIT_NULL;
22611 fra.me.REG[3] = NIT_NULL;
22612 fra.me.REG[4] = NIT_NULL;
22613 fra.me.REG[5] = NIT_NULL;
22614 fra.me.REG[6] = NIT_NULL;
22615 fra.me.REG[7] = NIT_NULL;
22616 fra.me.REG[8] = NIT_NULL;
22617 fra.me.REG[0] = p0;
22618 fra.me.REG[1] = p1;
22619 fra.me.REG[0] = NIT_NULL;
22620 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22621 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22622 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22623 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22624 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22625 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22626 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22627 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22628 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22629 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
22630 /* ./parser//parser.nit:7928 */
22631 if (UNTAG_Bool(REGB0)) {
22632 } else {
22633 fprintf(stderr, "Assert failed");
22634 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7928);
22635 nit_exit(1);
22636 }
22637 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
22638 /* ./parser//parser.nit:7930 */
22639 if (UNTAG_Bool(REGB0)) {
22640 } else {
22641 fprintf(stderr, "Assert failed");
22642 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7930);
22643 nit_exit(1);
22644 }
22645 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
22646 /* ./parser//parser.nit:7932 */
22647 if (UNTAG_Bool(REGB0)) {
22648 } else {
22649 fprintf(stderr, "Assert failed");
22650 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7932);
22651 nit_exit(1);
22652 }
22653 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
22654 /* ./parser//parser.nit:7934 */
22655 if (UNTAG_Bool(REGB0)) {
22656 } else {
22657 fprintf(stderr, "Assert failed");
22658 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7934);
22659 nit_exit(1);
22660 }
22661 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
22662 /* ./parser//parser.nit:7936 */
22663 if (UNTAG_Bool(REGB0)) {
22664 } else {
22665 fprintf(stderr, "Assert failed");
22666 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7936);
22667 nit_exit(1);
22668 }
22669 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
22670 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
22671 /* ./parser//parser.nit:7941 */
22672 if (UNTAG_Bool(REGB0)) {
22673 } else {
22674 fprintf(stderr, "Assert failed");
22675 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7941);
22676 nit_exit(1);
22677 }
22678 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
22679 /* ./parser//parser.nit:7943 */
22680 if (UNTAG_Bool(REGB0)) {
22681 } else {
22682 fprintf(stderr, "Assert failed");
22683 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7943);
22684 nit_exit(1);
22685 }
22686 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
22687 fra.me.REG[0] = fra.me.REG[2];
22688 REGB0 = TAG_Int(12);
22689 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22690 /* ./parser//parser.nit:7954 */
22691 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
22692 stack_frame_head = fra.me.prev;
22693 return;
22694 }
22695 void parser___ReduceAction149___init(val_t p0, int* init_table){
22696 int itpos153 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction149].i;
22697 struct {struct stack_frame_t me;} fra;
22698 val_t tmp;
22699 if (init_table[itpos153]) return;
22700 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22701 fra.me.file = LOCATE_parser;
22702 fra.me.line = 7956;
22703 fra.me.meth = LOCATE_parser___ReduceAction149___init;
22704 fra.me.has_broke = 0;
22705 fra.me.REG_size = 1;
22706 fra.me.REG[0] = NIT_NULL;
22707 fra.me.REG[0] = p0;
22708 /* ./parser//parser.nit:7956 */
22709 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
22710 stack_frame_head = fra.me.prev;
22711 init_table[itpos153] = 1;
22712 return;
22713 }
22714 void parser___ReduceAction150___action(val_t p0, val_t p1){
22715 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
22716 val_t REGB0;
22717 val_t tmp;
22718 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22719 fra.me.file = LOCATE_parser;
22720 fra.me.line = 7960;
22721 fra.me.meth = LOCATE_parser___ReduceAction150___action;
22722 fra.me.has_broke = 0;
22723 fra.me.REG_size = 10;
22724 fra.me.REG[0] = NIT_NULL;
22725 fra.me.REG[1] = NIT_NULL;
22726 fra.me.REG[2] = NIT_NULL;
22727 fra.me.REG[3] = NIT_NULL;
22728 fra.me.REG[4] = NIT_NULL;
22729 fra.me.REG[5] = NIT_NULL;
22730 fra.me.REG[6] = NIT_NULL;
22731 fra.me.REG[7] = NIT_NULL;
22732 fra.me.REG[8] = NIT_NULL;
22733 fra.me.REG[9] = NIT_NULL;
22734 fra.me.REG[0] = p0;
22735 fra.me.REG[1] = p1;
22736 fra.me.REG[0] = NIT_NULL;
22737 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22738 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22739 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22740 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22741 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22742 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22743 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22744 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22745 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22746 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22747 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
22748 /* ./parser//parser.nit:7974 */
22749 if (UNTAG_Bool(REGB0)) {
22750 } else {
22751 fprintf(stderr, "Assert failed");
22752 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7974);
22753 nit_exit(1);
22754 }
22755 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
22756 /* ./parser//parser.nit:7976 */
22757 if (UNTAG_Bool(REGB0)) {
22758 } else {
22759 fprintf(stderr, "Assert failed");
22760 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7976);
22761 nit_exit(1);
22762 }
22763 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
22764 /* ./parser//parser.nit:7978 */
22765 if (UNTAG_Bool(REGB0)) {
22766 } else {
22767 fprintf(stderr, "Assert failed");
22768 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7978);
22769 nit_exit(1);
22770 }
22771 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
22772 /* ./parser//parser.nit:7980 */
22773 if (UNTAG_Bool(REGB0)) {
22774 } else {
22775 fprintf(stderr, "Assert failed");
22776 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7980);
22777 nit_exit(1);
22778 }
22779 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
22780 /* ./parser//parser.nit:7982 */
22781 if (UNTAG_Bool(REGB0)) {
22782 } else {
22783 fprintf(stderr, "Assert failed");
22784 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7982);
22785 nit_exit(1);
22786 }
22787 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
22788 /* ./parser//parser.nit:7984 */
22789 if (UNTAG_Bool(REGB0)) {
22790 } else {
22791 fprintf(stderr, "Assert failed");
22792 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7984);
22793 nit_exit(1);
22794 }
22795 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
22796 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
22797 /* ./parser//parser.nit:7990 */
22798 if (UNTAG_Bool(REGB0)) {
22799 } else {
22800 fprintf(stderr, "Assert failed");
22801 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7990);
22802 nit_exit(1);
22803 }
22804 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
22805 /* ./parser//parser.nit:7992 */
22806 if (UNTAG_Bool(REGB0)) {
22807 } else {
22808 fprintf(stderr, "Assert failed");
22809 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7992);
22810 nit_exit(1);
22811 }
22812 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
22813 fra.me.REG[0] = fra.me.REG[2];
22814 REGB0 = TAG_Int(12);
22815 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22816 /* ./parser//parser.nit:8003 */
22817 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
22818 stack_frame_head = fra.me.prev;
22819 return;
22820 }
22821 void parser___ReduceAction150___init(val_t p0, int* init_table){
22822 int itpos154 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction150].i;
22823 struct {struct stack_frame_t me;} fra;
22824 val_t tmp;
22825 if (init_table[itpos154]) return;
22826 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22827 fra.me.file = LOCATE_parser;
22828 fra.me.line = 8005;
22829 fra.me.meth = LOCATE_parser___ReduceAction150___init;
22830 fra.me.has_broke = 0;
22831 fra.me.REG_size = 1;
22832 fra.me.REG[0] = NIT_NULL;
22833 fra.me.REG[0] = p0;
22834 /* ./parser//parser.nit:8005 */
22835 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
22836 stack_frame_head = fra.me.prev;
22837 init_table[itpos154] = 1;
22838 return;
22839 }
22840 void parser___ReduceAction151___action(val_t p0, val_t p1){
22841 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
22842 val_t REGB0;
22843 val_t tmp;
22844 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22845 fra.me.file = LOCATE_parser;
22846 fra.me.line = 8009;
22847 fra.me.meth = LOCATE_parser___ReduceAction151___action;
22848 fra.me.has_broke = 0;
22849 fra.me.REG_size = 9;
22850 fra.me.REG[0] = NIT_NULL;
22851 fra.me.REG[1] = NIT_NULL;
22852 fra.me.REG[2] = NIT_NULL;
22853 fra.me.REG[3] = NIT_NULL;
22854 fra.me.REG[4] = NIT_NULL;
22855 fra.me.REG[5] = NIT_NULL;
22856 fra.me.REG[6] = NIT_NULL;
22857 fra.me.REG[7] = NIT_NULL;
22858 fra.me.REG[8] = NIT_NULL;
22859 fra.me.REG[0] = p0;
22860 fra.me.REG[1] = p1;
22861 fra.me.REG[0] = NIT_NULL;
22862 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22863 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22864 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22865 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22866 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22867 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22868 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22869 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22870 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22871 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
22872 /* ./parser//parser.nit:8022 */
22873 if (UNTAG_Bool(REGB0)) {
22874 } else {
22875 fprintf(stderr, "Assert failed");
22876 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8022);
22877 nit_exit(1);
22878 }
22879 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
22880 /* ./parser//parser.nit:8024 */
22881 if (UNTAG_Bool(REGB0)) {
22882 } else {
22883 fprintf(stderr, "Assert failed");
22884 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8024);
22885 nit_exit(1);
22886 }
22887 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
22888 /* ./parser//parser.nit:8026 */
22889 if (UNTAG_Bool(REGB0)) {
22890 } else {
22891 fprintf(stderr, "Assert failed");
22892 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8026);
22893 nit_exit(1);
22894 }
22895 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
22896 /* ./parser//parser.nit:8028 */
22897 if (UNTAG_Bool(REGB0)) {
22898 } else {
22899 fprintf(stderr, "Assert failed");
22900 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8028);
22901 nit_exit(1);
22902 }
22903 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
22904 /* ./parser//parser.nit:8030 */
22905 if (UNTAG_Bool(REGB0)) {
22906 } else {
22907 fprintf(stderr, "Assert failed");
22908 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8030);
22909 nit_exit(1);
22910 }
22911 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
22912 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
22913 /* ./parser//parser.nit:8035 */
22914 if (UNTAG_Bool(REGB0)) {
22915 } else {
22916 fprintf(stderr, "Assert failed");
22917 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8035);
22918 nit_exit(1);
22919 }
22920 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
22921 /* ./parser//parser.nit:8037 */
22922 if (UNTAG_Bool(REGB0)) {
22923 } else {
22924 fprintf(stderr, "Assert failed");
22925 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8037);
22926 nit_exit(1);
22927 }
22928 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
22929 fra.me.REG[0] = fra.me.REG[2];
22930 REGB0 = TAG_Int(12);
22931 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22932 /* ./parser//parser.nit:8048 */
22933 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
22934 stack_frame_head = fra.me.prev;
22935 return;
22936 }
22937 void parser___ReduceAction151___init(val_t p0, int* init_table){
22938 int itpos155 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction151].i;
22939 struct {struct stack_frame_t me;} fra;
22940 val_t tmp;
22941 if (init_table[itpos155]) return;
22942 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22943 fra.me.file = LOCATE_parser;
22944 fra.me.line = 8050;
22945 fra.me.meth = LOCATE_parser___ReduceAction151___init;
22946 fra.me.has_broke = 0;
22947 fra.me.REG_size = 1;
22948 fra.me.REG[0] = NIT_NULL;
22949 fra.me.REG[0] = p0;
22950 /* ./parser//parser.nit:8050 */
22951 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
22952 stack_frame_head = fra.me.prev;
22953 init_table[itpos155] = 1;
22954 return;
22955 }
22956 void parser___ReduceAction152___action(val_t p0, val_t p1){
22957 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
22958 val_t REGB0;
22959 val_t tmp;
22960 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22961 fra.me.file = LOCATE_parser;
22962 fra.me.line = 8054;
22963 fra.me.meth = LOCATE_parser___ReduceAction152___action;
22964 fra.me.has_broke = 0;
22965 fra.me.REG_size = 10;
22966 fra.me.REG[0] = NIT_NULL;
22967 fra.me.REG[1] = NIT_NULL;
22968 fra.me.REG[2] = NIT_NULL;
22969 fra.me.REG[3] = NIT_NULL;
22970 fra.me.REG[4] = NIT_NULL;
22971 fra.me.REG[5] = NIT_NULL;
22972 fra.me.REG[6] = NIT_NULL;
22973 fra.me.REG[7] = NIT_NULL;
22974 fra.me.REG[8] = NIT_NULL;
22975 fra.me.REG[9] = NIT_NULL;
22976 fra.me.REG[0] = p0;
22977 fra.me.REG[1] = p1;
22978 fra.me.REG[0] = NIT_NULL;
22979 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22980 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22981 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22982 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22983 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22984 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22985 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22986 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22987 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22988 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22989 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
22990 /* ./parser//parser.nit:8068 */
22991 if (UNTAG_Bool(REGB0)) {
22992 } else {
22993 fprintf(stderr, "Assert failed");
22994 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8068);
22995 nit_exit(1);
22996 }
22997 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
22998 /* ./parser//parser.nit:8070 */
22999 if (UNTAG_Bool(REGB0)) {
23000 } else {
23001 fprintf(stderr, "Assert failed");
23002 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8070);
23003 nit_exit(1);
23004 }
23005 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
23006 /* ./parser//parser.nit:8072 */
23007 if (UNTAG_Bool(REGB0)) {
23008 } else {
23009 fprintf(stderr, "Assert failed");
23010 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8072);
23011 nit_exit(1);
23012 }
23013 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
23014 /* ./parser//parser.nit:8074 */
23015 if (UNTAG_Bool(REGB0)) {
23016 } else {
23017 fprintf(stderr, "Assert failed");
23018 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8074);
23019 nit_exit(1);
23020 }
23021 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
23022 /* ./parser//parser.nit:8076 */
23023 if (UNTAG_Bool(REGB0)) {
23024 } else {
23025 fprintf(stderr, "Assert failed");
23026 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8076);
23027 nit_exit(1);
23028 }
23029 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
23030 /* ./parser//parser.nit:8078 */
23031 if (UNTAG_Bool(REGB0)) {
23032 } else {
23033 fprintf(stderr, "Assert failed");
23034 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8078);
23035 nit_exit(1);
23036 }
23037 fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
23038 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
23039 /* ./parser//parser.nit:8084 */
23040 if (UNTAG_Bool(REGB0)) {
23041 } else {
23042 fprintf(stderr, "Assert failed");
23043 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8084);
23044 nit_exit(1);
23045 }
23046 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
23047 /* ./parser//parser.nit:8086 */
23048 if (UNTAG_Bool(REGB0)) {
23049 } else {
23050 fprintf(stderr, "Assert failed");
23051 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8086);
23052 nit_exit(1);
23053 }
23054 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
23055 fra.me.REG[0] = fra.me.REG[2];
23056 REGB0 = TAG_Int(12);
23057 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23058 /* ./parser//parser.nit:8097 */
23059 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
23060 stack_frame_head = fra.me.prev;
23061 return;
23062 }
23063 void parser___ReduceAction152___init(val_t p0, int* init_table){
23064 int itpos156 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction152].i;
23065 struct {struct stack_frame_t me;} fra;
23066 val_t tmp;
23067 if (init_table[itpos156]) return;
23068 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23069 fra.me.file = LOCATE_parser;
23070 fra.me.line = 8099;
23071 fra.me.meth = LOCATE_parser___ReduceAction152___init;
23072 fra.me.has_broke = 0;
23073 fra.me.REG_size = 1;
23074 fra.me.REG[0] = NIT_NULL;
23075 fra.me.REG[0] = p0;
23076 /* ./parser//parser.nit:8099 */
23077 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
23078 stack_frame_head = fra.me.prev;
23079 init_table[itpos156] = 1;
23080 return;
23081 }
23082 void parser___ReduceAction153___action(val_t p0, val_t p1){
23083 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
23084 val_t REGB0;
23085 val_t tmp;
23086 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23087 fra.me.file = LOCATE_parser;
23088 fra.me.line = 8103;
23089 fra.me.meth = LOCATE_parser___ReduceAction153___action;
23090 fra.me.has_broke = 0;
23091 fra.me.REG_size = 11;
23092 fra.me.REG[0] = NIT_NULL;
23093 fra.me.REG[1] = NIT_NULL;
23094 fra.me.REG[2] = NIT_NULL;
23095 fra.me.REG[3] = NIT_NULL;
23096 fra.me.REG[4] = NIT_NULL;
23097 fra.me.REG[5] = NIT_NULL;
23098 fra.me.REG[6] = NIT_NULL;
23099 fra.me.REG[7] = NIT_NULL;
23100 fra.me.REG[8] = NIT_NULL;
23101 fra.me.REG[9] = NIT_NULL;
23102 fra.me.REG[10] = NIT_NULL;
23103 fra.me.REG[0] = p0;
23104 fra.me.REG[1] = p1;
23105 fra.me.REG[0] = NIT_NULL;
23106 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23107 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23108 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23109 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23110 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23111 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23112 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23113 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23114 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23115 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23116 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23117 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
23118 /* ./parser//parser.nit:8118 */
23119 if (UNTAG_Bool(REGB0)) {
23120 } else {
23121 fprintf(stderr, "Assert failed");
23122 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8118);
23123 nit_exit(1);
23124 }
23125 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
23126 /* ./parser//parser.nit:8120 */
23127 if (UNTAG_Bool(REGB0)) {
23128 } else {
23129 fprintf(stderr, "Assert failed");
23130 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8120);
23131 nit_exit(1);
23132 }
23133 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
23134 /* ./parser//parser.nit:8122 */
23135 if (UNTAG_Bool(REGB0)) {
23136 } else {
23137 fprintf(stderr, "Assert failed");
23138 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8122);
23139 nit_exit(1);
23140 }
23141 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
23142 /* ./parser//parser.nit:8124 */
23143 if (UNTAG_Bool(REGB0)) {
23144 } else {
23145 fprintf(stderr, "Assert failed");
23146 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8124);
23147 nit_exit(1);
23148 }
23149 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
23150 /* ./parser//parser.nit:8126 */
23151 if (UNTAG_Bool(REGB0)) {
23152 } else {
23153 fprintf(stderr, "Assert failed");
23154 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8126);
23155 nit_exit(1);
23156 }
23157 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
23158 /* ./parser//parser.nit:8128 */
23159 if (UNTAG_Bool(REGB0)) {
23160 } else {
23161 fprintf(stderr, "Assert failed");
23162 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8128);
23163 nit_exit(1);
23164 }
23165 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
23166 /* ./parser//parser.nit:8130 */
23167 if (UNTAG_Bool(REGB0)) {
23168 } else {
23169 fprintf(stderr, "Assert failed");
23170 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8130);
23171 nit_exit(1);
23172 }
23173 fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
23174 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
23175 /* ./parser//parser.nit:8137 */
23176 if (UNTAG_Bool(REGB0)) {
23177 } else {
23178 fprintf(stderr, "Assert failed");
23179 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8137);
23180 nit_exit(1);
23181 }
23182 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
23183 /* ./parser//parser.nit:8139 */
23184 if (UNTAG_Bool(REGB0)) {
23185 } else {
23186 fprintf(stderr, "Assert failed");
23187 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8139);
23188 nit_exit(1);
23189 }
23190 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
23191 fra.me.REG[0] = fra.me.REG[2];
23192 REGB0 = TAG_Int(12);
23193 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23194 /* ./parser//parser.nit:8150 */
23195 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
23196 stack_frame_head = fra.me.prev;
23197 return;
23198 }
23199 void parser___ReduceAction153___init(val_t p0, int* init_table){
23200 int itpos157 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction153].i;
23201 struct {struct stack_frame_t me;} fra;
23202 val_t tmp;
23203 if (init_table[itpos157]) return;
23204 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23205 fra.me.file = LOCATE_parser;
23206 fra.me.line = 8152;
23207 fra.me.meth = LOCATE_parser___ReduceAction153___init;
23208 fra.me.has_broke = 0;
23209 fra.me.REG_size = 1;
23210 fra.me.REG[0] = NIT_NULL;
23211 fra.me.REG[0] = p0;
23212 /* ./parser//parser.nit:8152 */
23213 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
23214 stack_frame_head = fra.me.prev;
23215 init_table[itpos157] = 1;
23216 return;
23217 }
23218 void parser___ReduceAction154___action(val_t p0, val_t p1){
23219 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
23220 val_t REGB0;
23221 val_t tmp;
23222 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23223 fra.me.file = LOCATE_parser;
23224 fra.me.line = 8156;
23225 fra.me.meth = LOCATE_parser___ReduceAction154___action;
23226 fra.me.has_broke = 0;
23227 fra.me.REG_size = 8;
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[4] = NIT_NULL;
23233 fra.me.REG[5] = NIT_NULL;
23234 fra.me.REG[6] = NIT_NULL;
23235 fra.me.REG[7] = NIT_NULL;
23236 fra.me.REG[0] = p0;
23237 fra.me.REG[1] = p1;
23238 fra.me.REG[0] = NIT_NULL;
23239 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23240 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23241 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23242 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23243 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23244 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23245 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23246 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23247 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
23248 /* ./parser//parser.nit:8168 */
23249 if (UNTAG_Bool(REGB0)) {
23250 } else {
23251 fprintf(stderr, "Assert failed");
23252 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8168);
23253 nit_exit(1);
23254 }
23255 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
23256 /* ./parser//parser.nit:8170 */
23257 if (UNTAG_Bool(REGB0)) {
23258 } else {
23259 fprintf(stderr, "Assert failed");
23260 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8170);
23261 nit_exit(1);
23262 }
23263 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
23264 /* ./parser//parser.nit:8172 */
23265 if (UNTAG_Bool(REGB0)) {
23266 } else {
23267 fprintf(stderr, "Assert failed");
23268 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8172);
23269 nit_exit(1);
23270 }
23271 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
23272 /* ./parser//parser.nit:8174 */
23273 if (UNTAG_Bool(REGB0)) {
23274 } else {
23275 fprintf(stderr, "Assert failed");
23276 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8174);
23277 nit_exit(1);
23278 }
23279 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
23280 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
23281 /* ./parser//parser.nit:8179 */
23282 if (UNTAG_Bool(REGB0)) {
23283 } else {
23284 fprintf(stderr, "Assert failed");
23285 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8179);
23286 nit_exit(1);
23287 }
23288 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
23289 /* ./parser//parser.nit:8181 */
23290 if (UNTAG_Bool(REGB0)) {
23291 } else {
23292 fprintf(stderr, "Assert failed");
23293 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8181);
23294 nit_exit(1);
23295 }
23296 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
23297 fra.me.REG[0] = fra.me.REG[2];
23298 REGB0 = TAG_Int(12);
23299 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23300 /* ./parser//parser.nit:8192 */
23301 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
23302 stack_frame_head = fra.me.prev;
23303 return;
23304 }
23305 void parser___ReduceAction154___init(val_t p0, int* init_table){
23306 int itpos158 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction154].i;
23307 struct {struct stack_frame_t me;} fra;
23308 val_t tmp;
23309 if (init_table[itpos158]) return;
23310 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23311 fra.me.file = LOCATE_parser;
23312 fra.me.line = 8194;
23313 fra.me.meth = LOCATE_parser___ReduceAction154___init;
23314 fra.me.has_broke = 0;
23315 fra.me.REG_size = 1;
23316 fra.me.REG[0] = NIT_NULL;
23317 fra.me.REG[0] = p0;
23318 /* ./parser//parser.nit:8194 */
23319 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
23320 stack_frame_head = fra.me.prev;
23321 init_table[itpos158] = 1;
23322 return;
23323 }
23324 void parser___ReduceAction155___action(val_t p0, val_t p1){
23325 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
23326 val_t REGB0;
23327 val_t tmp;
23328 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23329 fra.me.file = LOCATE_parser;
23330 fra.me.line = 8198;
23331 fra.me.meth = LOCATE_parser___ReduceAction155___action;
23332 fra.me.has_broke = 0;
23333 fra.me.REG_size = 8;
23334 fra.me.REG[0] = NIT_NULL;
23335 fra.me.REG[1] = NIT_NULL;
23336 fra.me.REG[2] = NIT_NULL;
23337 fra.me.REG[3] = NIT_NULL;
23338 fra.me.REG[4] = NIT_NULL;
23339 fra.me.REG[5] = NIT_NULL;
23340 fra.me.REG[6] = NIT_NULL;
23341 fra.me.REG[7] = NIT_NULL;
23342 fra.me.REG[0] = p0;
23343 fra.me.REG[1] = p1;
23344 fra.me.REG[0] = NIT_NULL;
23345 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23346 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23347 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23348 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23349 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23350 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23351 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23352 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23353 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
23354 /* ./parser//parser.nit:8210 */
23355 if (UNTAG_Bool(REGB0)) {
23356 } else {
23357 fprintf(stderr, "Assert failed");
23358 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8210);
23359 nit_exit(1);
23360 }
23361 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
23362 /* ./parser//parser.nit:8212 */
23363 if (UNTAG_Bool(REGB0)) {
23364 } else {
23365 fprintf(stderr, "Assert failed");
23366 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8212);
23367 nit_exit(1);
23368 }
23369 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
23370 /* ./parser//parser.nit:8214 */
23371 if (UNTAG_Bool(REGB0)) {
23372 } else {
23373 fprintf(stderr, "Assert failed");
23374 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8214);
23375 nit_exit(1);
23376 }
23377 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
23378 /* ./parser//parser.nit:8216 */
23379 if (UNTAG_Bool(REGB0)) {
23380 } else {
23381 fprintf(stderr, "Assert failed");
23382 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8216);
23383 nit_exit(1);
23384 }
23385 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
23386 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
23387 /* ./parser//parser.nit:8221 */
23388 if (UNTAG_Bool(REGB0)) {
23389 } else {
23390 fprintf(stderr, "Assert failed");
23391 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8221);
23392 nit_exit(1);
23393 }
23394 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
23395 /* ./parser//parser.nit:8223 */
23396 if (UNTAG_Bool(REGB0)) {
23397 } else {
23398 fprintf(stderr, "Assert failed");
23399 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8223);
23400 nit_exit(1);
23401 }
23402 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
23403 fra.me.REG[0] = fra.me.REG[2];
23404 REGB0 = TAG_Int(12);
23405 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23406 /* ./parser//parser.nit:8234 */
23407 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
23408 stack_frame_head = fra.me.prev;
23409 return;
23410 }
23411 void parser___ReduceAction155___init(val_t p0, int* init_table){
23412 int itpos159 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction155].i;
23413 struct {struct stack_frame_t me;} fra;
23414 val_t tmp;
23415 if (init_table[itpos159]) return;
23416 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23417 fra.me.file = LOCATE_parser;
23418 fra.me.line = 8236;
23419 fra.me.meth = LOCATE_parser___ReduceAction155___init;
23420 fra.me.has_broke = 0;
23421 fra.me.REG_size = 1;
23422 fra.me.REG[0] = NIT_NULL;
23423 fra.me.REG[0] = p0;
23424 /* ./parser//parser.nit:8236 */
23425 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
23426 stack_frame_head = fra.me.prev;
23427 init_table[itpos159] = 1;
23428 return;
23429 }
23430 void parser___ReduceAction156___action(val_t p0, val_t p1){
23431 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
23432 val_t REGB0;
23433 val_t tmp;
23434 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23435 fra.me.file = LOCATE_parser;
23436 fra.me.line = 8240;
23437 fra.me.meth = LOCATE_parser___ReduceAction156___action;
23438 fra.me.has_broke = 0;
23439 fra.me.REG_size = 8;
23440 fra.me.REG[0] = NIT_NULL;
23441 fra.me.REG[1] = NIT_NULL;
23442 fra.me.REG[2] = NIT_NULL;
23443 fra.me.REG[3] = NIT_NULL;
23444 fra.me.REG[4] = NIT_NULL;
23445 fra.me.REG[5] = NIT_NULL;
23446 fra.me.REG[6] = NIT_NULL;
23447 fra.me.REG[7] = NIT_NULL;
23448 fra.me.REG[0] = p0;
23449 fra.me.REG[1] = p1;
23450 fra.me.REG[0] = NIT_NULL;
23451 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23452 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23453 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23454 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23455 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23456 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23457 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23458 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23459 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
23460 /* ./parser//parser.nit:8252 */
23461 if (UNTAG_Bool(REGB0)) {
23462 } else {
23463 fprintf(stderr, "Assert failed");
23464 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8252);
23465 nit_exit(1);
23466 }
23467 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
23468 /* ./parser//parser.nit:8254 */
23469 if (UNTAG_Bool(REGB0)) {
23470 } else {
23471 fprintf(stderr, "Assert failed");
23472 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8254);
23473 nit_exit(1);
23474 }
23475 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
23476 /* ./parser//parser.nit:8256 */
23477 if (UNTAG_Bool(REGB0)) {
23478 } else {
23479 fprintf(stderr, "Assert failed");
23480 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8256);
23481 nit_exit(1);
23482 }
23483 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
23484 /* ./parser//parser.nit:8258 */
23485 if (UNTAG_Bool(REGB0)) {
23486 } else {
23487 fprintf(stderr, "Assert failed");
23488 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8258);
23489 nit_exit(1);
23490 }
23491 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
23492 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
23493 /* ./parser//parser.nit:8263 */
23494 if (UNTAG_Bool(REGB0)) {
23495 } else {
23496 fprintf(stderr, "Assert failed");
23497 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8263);
23498 nit_exit(1);
23499 }
23500 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
23501 /* ./parser//parser.nit:8265 */
23502 if (UNTAG_Bool(REGB0)) {
23503 } else {
23504 fprintf(stderr, "Assert failed");
23505 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8265);
23506 nit_exit(1);
23507 }
23508 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
23509 fra.me.REG[0] = fra.me.REG[2];
23510 REGB0 = TAG_Int(12);
23511 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23512 /* ./parser//parser.nit:8276 */
23513 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
23514 stack_frame_head = fra.me.prev;
23515 return;
23516 }
23517 void parser___ReduceAction156___init(val_t p0, int* init_table){
23518 int itpos160 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction156].i;
23519 struct {struct stack_frame_t me;} fra;
23520 val_t tmp;
23521 if (init_table[itpos160]) return;
23522 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23523 fra.me.file = LOCATE_parser;
23524 fra.me.line = 8278;
23525 fra.me.meth = LOCATE_parser___ReduceAction156___init;
23526 fra.me.has_broke = 0;
23527 fra.me.REG_size = 1;
23528 fra.me.REG[0] = NIT_NULL;
23529 fra.me.REG[0] = p0;
23530 /* ./parser//parser.nit:8278 */
23531 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
23532 stack_frame_head = fra.me.prev;
23533 init_table[itpos160] = 1;
23534 return;
23535 }
23536 void parser___ReduceAction157___action(val_t p0, val_t p1){
23537 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
23538 val_t REGB0;
23539 val_t tmp;
23540 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23541 fra.me.file = LOCATE_parser;
23542 fra.me.line = 8282;
23543 fra.me.meth = LOCATE_parser___ReduceAction157___action;
23544 fra.me.has_broke = 0;
23545 fra.me.REG_size = 8;
23546 fra.me.REG[0] = NIT_NULL;
23547 fra.me.REG[1] = NIT_NULL;
23548 fra.me.REG[2] = NIT_NULL;
23549 fra.me.REG[3] = NIT_NULL;
23550 fra.me.REG[4] = NIT_NULL;
23551 fra.me.REG[5] = NIT_NULL;
23552 fra.me.REG[6] = NIT_NULL;
23553 fra.me.REG[7] = NIT_NULL;
23554 fra.me.REG[0] = p0;
23555 fra.me.REG[1] = p1;
23556 fra.me.REG[0] = NIT_NULL;
23557 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23558 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23559 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23560 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23561 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23562 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23563 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23564 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23565 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
23566 /* ./parser//parser.nit:8294 */
23567 if (UNTAG_Bool(REGB0)) {
23568 } else {
23569 fprintf(stderr, "Assert failed");
23570 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8294);
23571 nit_exit(1);
23572 }
23573 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
23574 /* ./parser//parser.nit:8296 */
23575 if (UNTAG_Bool(REGB0)) {
23576 } else {
23577 fprintf(stderr, "Assert failed");
23578 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8296);
23579 nit_exit(1);
23580 }
23581 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
23582 /* ./parser//parser.nit:8298 */
23583 if (UNTAG_Bool(REGB0)) {
23584 } else {
23585 fprintf(stderr, "Assert failed");
23586 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8298);
23587 nit_exit(1);
23588 }
23589 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
23590 /* ./parser//parser.nit:8300 */
23591 if (UNTAG_Bool(REGB0)) {
23592 } else {
23593 fprintf(stderr, "Assert failed");
23594 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8300);
23595 nit_exit(1);
23596 }
23597 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
23598 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
23599 /* ./parser//parser.nit:8305 */
23600 if (UNTAG_Bool(REGB0)) {
23601 } else {
23602 fprintf(stderr, "Assert failed");
23603 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8305);
23604 nit_exit(1);
23605 }
23606 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
23607 /* ./parser//parser.nit:8307 */
23608 if (UNTAG_Bool(REGB0)) {
23609 } else {
23610 fprintf(stderr, "Assert failed");
23611 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8307);
23612 nit_exit(1);
23613 }
23614 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
23615 fra.me.REG[0] = fra.me.REG[2];
23616 REGB0 = TAG_Int(12);
23617 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23618 /* ./parser//parser.nit:8318 */
23619 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
23620 stack_frame_head = fra.me.prev;
23621 return;
23622 }
23623 void parser___ReduceAction157___init(val_t p0, int* init_table){
23624 int itpos161 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction157].i;
23625 struct {struct stack_frame_t me;} fra;
23626 val_t tmp;
23627 if (init_table[itpos161]) return;
23628 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23629 fra.me.file = LOCATE_parser;
23630 fra.me.line = 8320;
23631 fra.me.meth = LOCATE_parser___ReduceAction157___init;
23632 fra.me.has_broke = 0;
23633 fra.me.REG_size = 1;
23634 fra.me.REG[0] = NIT_NULL;
23635 fra.me.REG[0] = p0;
23636 /* ./parser//parser.nit:8320 */
23637 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
23638 stack_frame_head = fra.me.prev;
23639 init_table[itpos161] = 1;
23640 return;
23641 }
23642 void parser___ReduceAction158___action(val_t p0, val_t p1){
23643 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
23644 val_t REGB0;
23645 val_t tmp;
23646 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23647 fra.me.file = LOCATE_parser;
23648 fra.me.line = 8324;
23649 fra.me.meth = LOCATE_parser___ReduceAction158___action;
23650 fra.me.has_broke = 0;
23651 fra.me.REG_size = 8;
23652 fra.me.REG[0] = NIT_NULL;
23653 fra.me.REG[1] = NIT_NULL;
23654 fra.me.REG[2] = NIT_NULL;
23655 fra.me.REG[3] = NIT_NULL;
23656 fra.me.REG[4] = NIT_NULL;
23657 fra.me.REG[5] = NIT_NULL;
23658 fra.me.REG[6] = NIT_NULL;
23659 fra.me.REG[7] = NIT_NULL;
23660 fra.me.REG[0] = p0;
23661 fra.me.REG[1] = p1;
23662 fra.me.REG[0] = NIT_NULL;
23663 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23664 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23665 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23666 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23667 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23668 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23669 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23670 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23671 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
23672 /* ./parser//parser.nit:8336 */
23673 if (UNTAG_Bool(REGB0)) {
23674 } else {
23675 fprintf(stderr, "Assert failed");
23676 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8336);
23677 nit_exit(1);
23678 }
23679 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
23680 /* ./parser//parser.nit:8338 */
23681 if (UNTAG_Bool(REGB0)) {
23682 } else {
23683 fprintf(stderr, "Assert failed");
23684 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8338);
23685 nit_exit(1);
23686 }
23687 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
23688 /* ./parser//parser.nit:8340 */
23689 if (UNTAG_Bool(REGB0)) {
23690 } else {
23691 fprintf(stderr, "Assert failed");
23692 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8340);
23693 nit_exit(1);
23694 }
23695 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
23696 /* ./parser//parser.nit:8342 */
23697 if (UNTAG_Bool(REGB0)) {
23698 } else {
23699 fprintf(stderr, "Assert failed");
23700 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8342);
23701 nit_exit(1);
23702 }
23703 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
23704 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
23705 /* ./parser//parser.nit:8347 */
23706 if (UNTAG_Bool(REGB0)) {
23707 } else {
23708 fprintf(stderr, "Assert failed");
23709 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8347);
23710 nit_exit(1);
23711 }
23712 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
23713 /* ./parser//parser.nit:8349 */
23714 if (UNTAG_Bool(REGB0)) {
23715 } else {
23716 fprintf(stderr, "Assert failed");
23717 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8349);
23718 nit_exit(1);
23719 }
23720 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
23721 fra.me.REG[0] = fra.me.REG[2];
23722 REGB0 = TAG_Int(12);
23723 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23724 /* ./parser//parser.nit:8360 */
23725 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
23726 stack_frame_head = fra.me.prev;
23727 return;
23728 }
23729 void parser___ReduceAction158___init(val_t p0, int* init_table){
23730 int itpos162 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction158].i;
23731 struct {struct stack_frame_t me;} fra;
23732 val_t tmp;
23733 if (init_table[itpos162]) return;
23734 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23735 fra.me.file = LOCATE_parser;
23736 fra.me.line = 8362;
23737 fra.me.meth = LOCATE_parser___ReduceAction158___init;
23738 fra.me.has_broke = 0;
23739 fra.me.REG_size = 1;
23740 fra.me.REG[0] = NIT_NULL;
23741 fra.me.REG[0] = p0;
23742 /* ./parser//parser.nit:8362 */
23743 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
23744 stack_frame_head = fra.me.prev;
23745 init_table[itpos162] = 1;
23746 return;
23747 }
23748 void parser___ReduceAction159___action(val_t p0, val_t p1){
23749 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
23750 val_t REGB0;
23751 val_t tmp;
23752 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23753 fra.me.file = LOCATE_parser;
23754 fra.me.line = 8366;
23755 fra.me.meth = LOCATE_parser___ReduceAction159___action;
23756 fra.me.has_broke = 0;
23757 fra.me.REG_size = 8;
23758 fra.me.REG[0] = NIT_NULL;
23759 fra.me.REG[1] = NIT_NULL;
23760 fra.me.REG[2] = NIT_NULL;
23761 fra.me.REG[3] = NIT_NULL;
23762 fra.me.REG[4] = NIT_NULL;
23763 fra.me.REG[5] = NIT_NULL;
23764 fra.me.REG[6] = NIT_NULL;
23765 fra.me.REG[7] = NIT_NULL;
23766 fra.me.REG[0] = p0;
23767 fra.me.REG[1] = p1;
23768 fra.me.REG[0] = NIT_NULL;
23769 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23770 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23771 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23772 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23773 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23774 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23775 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23776 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23777 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
23778 /* ./parser//parser.nit:8378 */
23779 if (UNTAG_Bool(REGB0)) {
23780 } else {
23781 fprintf(stderr, "Assert failed");
23782 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8378);
23783 nit_exit(1);
23784 }
23785 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
23786 /* ./parser//parser.nit:8380 */
23787 if (UNTAG_Bool(REGB0)) {
23788 } else {
23789 fprintf(stderr, "Assert failed");
23790 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8380);
23791 nit_exit(1);
23792 }
23793 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
23794 /* ./parser//parser.nit:8382 */
23795 if (UNTAG_Bool(REGB0)) {
23796 } else {
23797 fprintf(stderr, "Assert failed");
23798 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8382);
23799 nit_exit(1);
23800 }
23801 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
23802 /* ./parser//parser.nit:8384 */
23803 if (UNTAG_Bool(REGB0)) {
23804 } else {
23805 fprintf(stderr, "Assert failed");
23806 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8384);
23807 nit_exit(1);
23808 }
23809 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
23810 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
23811 /* ./parser//parser.nit:8389 */
23812 if (UNTAG_Bool(REGB0)) {
23813 } else {
23814 fprintf(stderr, "Assert failed");
23815 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8389);
23816 nit_exit(1);
23817 }
23818 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
23819 /* ./parser//parser.nit:8391 */
23820 if (UNTAG_Bool(REGB0)) {
23821 } else {
23822 fprintf(stderr, "Assert failed");
23823 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8391);
23824 nit_exit(1);
23825 }
23826 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
23827 fra.me.REG[0] = fra.me.REG[2];
23828 REGB0 = TAG_Int(12);
23829 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23830 /* ./parser//parser.nit:8402 */
23831 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
23832 stack_frame_head = fra.me.prev;
23833 return;
23834 }
23835 void parser___ReduceAction159___init(val_t p0, int* init_table){
23836 int itpos163 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction159].i;
23837 struct {struct stack_frame_t me;} fra;
23838 val_t tmp;
23839 if (init_table[itpos163]) return;
23840 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23841 fra.me.file = LOCATE_parser;
23842 fra.me.line = 8404;
23843 fra.me.meth = LOCATE_parser___ReduceAction159___init;
23844 fra.me.has_broke = 0;
23845 fra.me.REG_size = 1;
23846 fra.me.REG[0] = NIT_NULL;
23847 fra.me.REG[0] = p0;
23848 /* ./parser//parser.nit:8404 */
23849 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
23850 stack_frame_head = fra.me.prev;
23851 init_table[itpos163] = 1;
23852 return;
23853 }
23854 void parser___ReduceAction160___action(val_t p0, val_t p1){
23855 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
23856 val_t REGB0;
23857 val_t tmp;
23858 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23859 fra.me.file = LOCATE_parser;
23860 fra.me.line = 8408;
23861 fra.me.meth = LOCATE_parser___ReduceAction160___action;
23862 fra.me.has_broke = 0;
23863 fra.me.REG_size = 8;
23864 fra.me.REG[0] = NIT_NULL;
23865 fra.me.REG[1] = NIT_NULL;
23866 fra.me.REG[2] = NIT_NULL;
23867 fra.me.REG[3] = NIT_NULL;
23868 fra.me.REG[4] = NIT_NULL;
23869 fra.me.REG[5] = NIT_NULL;
23870 fra.me.REG[6] = NIT_NULL;
23871 fra.me.REG[7] = NIT_NULL;
23872 fra.me.REG[0] = p0;
23873 fra.me.REG[1] = p1;
23874 fra.me.REG[0] = NIT_NULL;
23875 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23876 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23877 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23878 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23879 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23880 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23881 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23882 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23883 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
23884 /* ./parser//parser.nit:8420 */
23885 if (UNTAG_Bool(REGB0)) {
23886 } else {
23887 fprintf(stderr, "Assert failed");
23888 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8420);
23889 nit_exit(1);
23890 }
23891 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
23892 /* ./parser//parser.nit:8422 */
23893 if (UNTAG_Bool(REGB0)) {
23894 } else {
23895 fprintf(stderr, "Assert failed");
23896 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8422);
23897 nit_exit(1);
23898 }
23899 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
23900 /* ./parser//parser.nit:8424 */
23901 if (UNTAG_Bool(REGB0)) {
23902 } else {
23903 fprintf(stderr, "Assert failed");
23904 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8424);
23905 nit_exit(1);
23906 }
23907 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
23908 /* ./parser//parser.nit:8426 */
23909 if (UNTAG_Bool(REGB0)) {
23910 } else {
23911 fprintf(stderr, "Assert failed");
23912 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8426);
23913 nit_exit(1);
23914 }
23915 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
23916 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
23917 /* ./parser//parser.nit:8431 */
23918 if (UNTAG_Bool(REGB0)) {
23919 } else {
23920 fprintf(stderr, "Assert failed");
23921 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8431);
23922 nit_exit(1);
23923 }
23924 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
23925 /* ./parser//parser.nit:8433 */
23926 if (UNTAG_Bool(REGB0)) {
23927 } else {
23928 fprintf(stderr, "Assert failed");
23929 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8433);
23930 nit_exit(1);
23931 }
23932 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
23933 fra.me.REG[0] = fra.me.REG[2];
23934 REGB0 = TAG_Int(12);
23935 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23936 /* ./parser//parser.nit:8444 */
23937 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
23938 stack_frame_head = fra.me.prev;
23939 return;
23940 }
23941 void parser___ReduceAction160___init(val_t p0, int* init_table){
23942 int itpos164 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction160].i;
23943 struct {struct stack_frame_t me;} fra;
23944 val_t tmp;
23945 if (init_table[itpos164]) return;
23946 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23947 fra.me.file = LOCATE_parser;
23948 fra.me.line = 8446;
23949 fra.me.meth = LOCATE_parser___ReduceAction160___init;
23950 fra.me.has_broke = 0;
23951 fra.me.REG_size = 1;
23952 fra.me.REG[0] = NIT_NULL;
23953 fra.me.REG[0] = p0;
23954 /* ./parser//parser.nit:8446 */
23955 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
23956 stack_frame_head = fra.me.prev;
23957 init_table[itpos164] = 1;
23958 return;
23959 }
23960 void parser___ReduceAction161___action(val_t p0, val_t p1){
23961 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
23962 val_t REGB0;
23963 val_t tmp;
23964 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23965 fra.me.file = LOCATE_parser;
23966 fra.me.line = 8450;
23967 fra.me.meth = LOCATE_parser___ReduceAction161___action;
23968 fra.me.has_broke = 0;
23969 fra.me.REG_size = 8;
23970 fra.me.REG[0] = NIT_NULL;
23971 fra.me.REG[1] = NIT_NULL;
23972 fra.me.REG[2] = NIT_NULL;
23973 fra.me.REG[3] = NIT_NULL;
23974 fra.me.REG[4] = NIT_NULL;
23975 fra.me.REG[5] = NIT_NULL;
23976 fra.me.REG[6] = NIT_NULL;
23977 fra.me.REG[7] = NIT_NULL;
23978 fra.me.REG[0] = p0;
23979 fra.me.REG[1] = p1;
23980 fra.me.REG[0] = NIT_NULL;
23981 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23982 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23983 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23984 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23985 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23986 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23987 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23988 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23989 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
23990 /* ./parser//parser.nit:8462 */
23991 if (UNTAG_Bool(REGB0)) {
23992 } else {
23993 fprintf(stderr, "Assert failed");
23994 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8462);
23995 nit_exit(1);
23996 }
23997 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
23998 /* ./parser//parser.nit:8464 */
23999 if (UNTAG_Bool(REGB0)) {
24000 } else {
24001 fprintf(stderr, "Assert failed");
24002 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8464);
24003 nit_exit(1);
24004 }
24005 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
24006 /* ./parser//parser.nit:8466 */
24007 if (UNTAG_Bool(REGB0)) {
24008 } else {
24009 fprintf(stderr, "Assert failed");
24010 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8466);
24011 nit_exit(1);
24012 }
24013 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
24014 /* ./parser//parser.nit:8468 */
24015 if (UNTAG_Bool(REGB0)) {
24016 } else {
24017 fprintf(stderr, "Assert failed");
24018 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8468);
24019 nit_exit(1);
24020 }
24021 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
24022 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
24023 /* ./parser//parser.nit:8473 */
24024 if (UNTAG_Bool(REGB0)) {
24025 } else {
24026 fprintf(stderr, "Assert failed");
24027 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8473);
24028 nit_exit(1);
24029 }
24030 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
24031 /* ./parser//parser.nit:8475 */
24032 if (UNTAG_Bool(REGB0)) {
24033 } else {
24034 fprintf(stderr, "Assert failed");
24035 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8475);
24036 nit_exit(1);
24037 }
24038 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
24039 fra.me.REG[0] = fra.me.REG[2];
24040 REGB0 = TAG_Int(12);
24041 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24042 /* ./parser//parser.nit:8486 */
24043 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
24044 stack_frame_head = fra.me.prev;
24045 return;
24046 }
24047 void parser___ReduceAction161___init(val_t p0, int* init_table){
24048 int itpos165 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction161].i;
24049 struct {struct stack_frame_t me;} fra;
24050 val_t tmp;
24051 if (init_table[itpos165]) return;
24052 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24053 fra.me.file = LOCATE_parser;
24054 fra.me.line = 8488;
24055 fra.me.meth = LOCATE_parser___ReduceAction161___init;
24056 fra.me.has_broke = 0;
24057 fra.me.REG_size = 1;
24058 fra.me.REG[0] = NIT_NULL;
24059 fra.me.REG[0] = p0;
24060 /* ./parser//parser.nit:8488 */
24061 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
24062 stack_frame_head = fra.me.prev;
24063 init_table[itpos165] = 1;
24064 return;
24065 }
24066 void parser___ReduceAction162___action(val_t p0, val_t p1){
24067 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
24068 val_t REGB0;
24069 val_t tmp;
24070 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24071 fra.me.file = LOCATE_parser;
24072 fra.me.line = 8492;
24073 fra.me.meth = LOCATE_parser___ReduceAction162___action;
24074 fra.me.has_broke = 0;
24075 fra.me.REG_size = 8;
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[0] = p0;
24085 fra.me.REG[1] = p1;
24086 fra.me.REG[0] = NIT_NULL;
24087 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24088 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24089 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24090 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24091 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24092 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24093 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24094 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24095 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
24096 /* ./parser//parser.nit:8504 */
24097 if (UNTAG_Bool(REGB0)) {
24098 } else {
24099 fprintf(stderr, "Assert failed");
24100 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8504);
24101 nit_exit(1);
24102 }
24103 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
24104 /* ./parser//parser.nit:8506 */
24105 if (UNTAG_Bool(REGB0)) {
24106 } else {
24107 fprintf(stderr, "Assert failed");
24108 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8506);
24109 nit_exit(1);
24110 }
24111 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
24112 /* ./parser//parser.nit:8508 */
24113 if (UNTAG_Bool(REGB0)) {
24114 } else {
24115 fprintf(stderr, "Assert failed");
24116 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8508);
24117 nit_exit(1);
24118 }
24119 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
24120 /* ./parser//parser.nit:8510 */
24121 if (UNTAG_Bool(REGB0)) {
24122 } else {
24123 fprintf(stderr, "Assert failed");
24124 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8510);
24125 nit_exit(1);
24126 }
24127 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
24128 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
24129 /* ./parser//parser.nit:8515 */
24130 if (UNTAG_Bool(REGB0)) {
24131 } else {
24132 fprintf(stderr, "Assert failed");
24133 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8515);
24134 nit_exit(1);
24135 }
24136 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
24137 /* ./parser//parser.nit:8517 */
24138 if (UNTAG_Bool(REGB0)) {
24139 } else {
24140 fprintf(stderr, "Assert failed");
24141 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8517);
24142 nit_exit(1);
24143 }
24144 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
24145 fra.me.REG[0] = fra.me.REG[2];
24146 REGB0 = TAG_Int(12);
24147 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24148 /* ./parser//parser.nit:8528 */
24149 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
24150 stack_frame_head = fra.me.prev;
24151 return;
24152 }
24153 void parser___ReduceAction162___init(val_t p0, int* init_table){
24154 int itpos166 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction162].i;
24155 struct {struct stack_frame_t me;} fra;
24156 val_t tmp;
24157 if (init_table[itpos166]) return;
24158 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24159 fra.me.file = LOCATE_parser;
24160 fra.me.line = 8530;
24161 fra.me.meth = LOCATE_parser___ReduceAction162___init;
24162 fra.me.has_broke = 0;
24163 fra.me.REG_size = 1;
24164 fra.me.REG[0] = NIT_NULL;
24165 fra.me.REG[0] = p0;
24166 /* ./parser//parser.nit:8530 */
24167 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
24168 stack_frame_head = fra.me.prev;
24169 init_table[itpos166] = 1;
24170 return;
24171 }
24172 void parser___ReduceAction163___action(val_t p0, val_t p1){
24173 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
24174 val_t REGB0;
24175 val_t tmp;
24176 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24177 fra.me.file = LOCATE_parser;
24178 fra.me.line = 8534;
24179 fra.me.meth = LOCATE_parser___ReduceAction163___action;
24180 fra.me.has_broke = 0;
24181 fra.me.REG_size = 8;
24182 fra.me.REG[0] = NIT_NULL;
24183 fra.me.REG[1] = NIT_NULL;
24184 fra.me.REG[2] = NIT_NULL;
24185 fra.me.REG[3] = NIT_NULL;
24186 fra.me.REG[4] = NIT_NULL;
24187 fra.me.REG[5] = NIT_NULL;
24188 fra.me.REG[6] = NIT_NULL;
24189 fra.me.REG[7] = NIT_NULL;
24190 fra.me.REG[0] = p0;
24191 fra.me.REG[1] = p1;
24192 fra.me.REG[0] = NIT_NULL;
24193 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24194 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24195 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24196 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24197 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24198 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24199 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24200 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24201 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
24202 /* ./parser//parser.nit:8546 */
24203 if (UNTAG_Bool(REGB0)) {
24204 } else {
24205 fprintf(stderr, "Assert failed");
24206 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8546);
24207 nit_exit(1);
24208 }
24209 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
24210 /* ./parser//parser.nit:8548 */
24211 if (UNTAG_Bool(REGB0)) {
24212 } else {
24213 fprintf(stderr, "Assert failed");
24214 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8548);
24215 nit_exit(1);
24216 }
24217 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
24218 /* ./parser//parser.nit:8550 */
24219 if (UNTAG_Bool(REGB0)) {
24220 } else {
24221 fprintf(stderr, "Assert failed");
24222 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8550);
24223 nit_exit(1);
24224 }
24225 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
24226 /* ./parser//parser.nit:8552 */
24227 if (UNTAG_Bool(REGB0)) {
24228 } else {
24229 fprintf(stderr, "Assert failed");
24230 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8552);
24231 nit_exit(1);
24232 }
24233 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
24234 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
24235 /* ./parser//parser.nit:8557 */
24236 if (UNTAG_Bool(REGB0)) {
24237 } else {
24238 fprintf(stderr, "Assert failed");
24239 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8557);
24240 nit_exit(1);
24241 }
24242 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
24243 /* ./parser//parser.nit:8559 */
24244 if (UNTAG_Bool(REGB0)) {
24245 } else {
24246 fprintf(stderr, "Assert failed");
24247 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8559);
24248 nit_exit(1);
24249 }
24250 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
24251 fra.me.REG[0] = fra.me.REG[2];
24252 REGB0 = TAG_Int(12);
24253 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24254 /* ./parser//parser.nit:8570 */
24255 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
24256 stack_frame_head = fra.me.prev;
24257 return;
24258 }
24259 void parser___ReduceAction163___init(val_t p0, int* init_table){
24260 int itpos167 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction163].i;
24261 struct {struct stack_frame_t me;} fra;
24262 val_t tmp;
24263 if (init_table[itpos167]) return;
24264 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24265 fra.me.file = LOCATE_parser;
24266 fra.me.line = 8572;
24267 fra.me.meth = LOCATE_parser___ReduceAction163___init;
24268 fra.me.has_broke = 0;
24269 fra.me.REG_size = 1;
24270 fra.me.REG[0] = NIT_NULL;
24271 fra.me.REG[0] = p0;
24272 /* ./parser//parser.nit:8572 */
24273 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
24274 stack_frame_head = fra.me.prev;
24275 init_table[itpos167] = 1;
24276 return;
24277 }
24278 void parser___ReduceAction164___action(val_t p0, val_t p1){
24279 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
24280 val_t REGB0;
24281 val_t tmp;
24282 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24283 fra.me.file = LOCATE_parser;
24284 fra.me.line = 8576;
24285 fra.me.meth = LOCATE_parser___ReduceAction164___action;
24286 fra.me.has_broke = 0;
24287 fra.me.REG_size = 8;
24288 fra.me.REG[0] = NIT_NULL;
24289 fra.me.REG[1] = NIT_NULL;
24290 fra.me.REG[2] = NIT_NULL;
24291 fra.me.REG[3] = NIT_NULL;
24292 fra.me.REG[4] = NIT_NULL;
24293 fra.me.REG[5] = NIT_NULL;
24294 fra.me.REG[6] = NIT_NULL;
24295 fra.me.REG[7] = NIT_NULL;
24296 fra.me.REG[0] = p0;
24297 fra.me.REG[1] = p1;
24298 fra.me.REG[0] = NIT_NULL;
24299 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24300 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24301 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24302 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24303 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24304 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24305 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24306 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24307 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
24308 /* ./parser//parser.nit:8588 */
24309 if (UNTAG_Bool(REGB0)) {
24310 } else {
24311 fprintf(stderr, "Assert failed");
24312 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8588);
24313 nit_exit(1);
24314 }
24315 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
24316 /* ./parser//parser.nit:8590 */
24317 if (UNTAG_Bool(REGB0)) {
24318 } else {
24319 fprintf(stderr, "Assert failed");
24320 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8590);
24321 nit_exit(1);
24322 }
24323 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
24324 /* ./parser//parser.nit:8592 */
24325 if (UNTAG_Bool(REGB0)) {
24326 } else {
24327 fprintf(stderr, "Assert failed");
24328 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8592);
24329 nit_exit(1);
24330 }
24331 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
24332 /* ./parser//parser.nit:8594 */
24333 if (UNTAG_Bool(REGB0)) {
24334 } else {
24335 fprintf(stderr, "Assert failed");
24336 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8594);
24337 nit_exit(1);
24338 }
24339 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
24340 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
24341 /* ./parser//parser.nit:8599 */
24342 if (UNTAG_Bool(REGB0)) {
24343 } else {
24344 fprintf(stderr, "Assert failed");
24345 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8599);
24346 nit_exit(1);
24347 }
24348 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
24349 /* ./parser//parser.nit:8601 */
24350 if (UNTAG_Bool(REGB0)) {
24351 } else {
24352 fprintf(stderr, "Assert failed");
24353 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8601);
24354 nit_exit(1);
24355 }
24356 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
24357 fra.me.REG[0] = fra.me.REG[2];
24358 REGB0 = TAG_Int(12);
24359 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24360 /* ./parser//parser.nit:8612 */
24361 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
24362 stack_frame_head = fra.me.prev;
24363 return;
24364 }
24365 void parser___ReduceAction164___init(val_t p0, int* init_table){
24366 int itpos168 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction164].i;
24367 struct {struct stack_frame_t me;} fra;
24368 val_t tmp;
24369 if (init_table[itpos168]) return;
24370 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24371 fra.me.file = LOCATE_parser;
24372 fra.me.line = 8614;
24373 fra.me.meth = LOCATE_parser___ReduceAction164___init;
24374 fra.me.has_broke = 0;
24375 fra.me.REG_size = 1;
24376 fra.me.REG[0] = NIT_NULL;
24377 fra.me.REG[0] = p0;
24378 /* ./parser//parser.nit:8614 */
24379 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
24380 stack_frame_head = fra.me.prev;
24381 init_table[itpos168] = 1;
24382 return;
24383 }
24384 void parser___ReduceAction165___action(val_t p0, val_t p1){
24385 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
24386 val_t REGB0;
24387 val_t tmp;
24388 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24389 fra.me.file = LOCATE_parser;
24390 fra.me.line = 8618;
24391 fra.me.meth = LOCATE_parser___ReduceAction165___action;
24392 fra.me.has_broke = 0;
24393 fra.me.REG_size = 8;
24394 fra.me.REG[0] = NIT_NULL;
24395 fra.me.REG[1] = NIT_NULL;
24396 fra.me.REG[2] = NIT_NULL;
24397 fra.me.REG[3] = NIT_NULL;
24398 fra.me.REG[4] = NIT_NULL;
24399 fra.me.REG[5] = NIT_NULL;
24400 fra.me.REG[6] = NIT_NULL;
24401 fra.me.REG[7] = NIT_NULL;
24402 fra.me.REG[0] = p0;
24403 fra.me.REG[1] = p1;
24404 fra.me.REG[0] = NIT_NULL;
24405 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24406 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24407 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24408 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24409 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24410 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24411 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24412 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24413 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
24414 /* ./parser//parser.nit:8630 */
24415 if (UNTAG_Bool(REGB0)) {
24416 } else {
24417 fprintf(stderr, "Assert failed");
24418 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8630);
24419 nit_exit(1);
24420 }
24421 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
24422 /* ./parser//parser.nit:8632 */
24423 if (UNTAG_Bool(REGB0)) {
24424 } else {
24425 fprintf(stderr, "Assert failed");
24426 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8632);
24427 nit_exit(1);
24428 }
24429 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
24430 /* ./parser//parser.nit:8634 */
24431 if (UNTAG_Bool(REGB0)) {
24432 } else {
24433 fprintf(stderr, "Assert failed");
24434 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8634);
24435 nit_exit(1);
24436 }
24437 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
24438 /* ./parser//parser.nit:8636 */
24439 if (UNTAG_Bool(REGB0)) {
24440 } else {
24441 fprintf(stderr, "Assert failed");
24442 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8636);
24443 nit_exit(1);
24444 }
24445 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
24446 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
24447 /* ./parser//parser.nit:8641 */
24448 if (UNTAG_Bool(REGB0)) {
24449 } else {
24450 fprintf(stderr, "Assert failed");
24451 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8641);
24452 nit_exit(1);
24453 }
24454 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
24455 /* ./parser//parser.nit:8643 */
24456 if (UNTAG_Bool(REGB0)) {
24457 } else {
24458 fprintf(stderr, "Assert failed");
24459 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8643);
24460 nit_exit(1);
24461 }
24462 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
24463 fra.me.REG[0] = fra.me.REG[2];
24464 REGB0 = TAG_Int(12);
24465 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24466 /* ./parser//parser.nit:8654 */
24467 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
24468 stack_frame_head = fra.me.prev;
24469 return;
24470 }
24471 void parser___ReduceAction165___init(val_t p0, int* init_table){
24472 int itpos169 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction165].i;
24473 struct {struct stack_frame_t me;} fra;
24474 val_t tmp;
24475 if (init_table[itpos169]) return;
24476 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24477 fra.me.file = LOCATE_parser;
24478 fra.me.line = 8656;
24479 fra.me.meth = LOCATE_parser___ReduceAction165___init;
24480 fra.me.has_broke = 0;
24481 fra.me.REG_size = 1;
24482 fra.me.REG[0] = NIT_NULL;
24483 fra.me.REG[0] = p0;
24484 /* ./parser//parser.nit:8656 */
24485 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
24486 stack_frame_head = fra.me.prev;
24487 init_table[itpos169] = 1;
24488 return;
24489 }
24490 void parser___ReduceAction166___action(val_t p0, val_t p1){
24491 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
24492 val_t REGB0;
24493 val_t tmp;
24494 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24495 fra.me.file = LOCATE_parser;
24496 fra.me.line = 8660;
24497 fra.me.meth = LOCATE_parser___ReduceAction166___action;
24498 fra.me.has_broke = 0;
24499 fra.me.REG_size = 9;
24500 fra.me.REG[0] = NIT_NULL;
24501 fra.me.REG[1] = NIT_NULL;
24502 fra.me.REG[2] = NIT_NULL;
24503 fra.me.REG[3] = NIT_NULL;
24504 fra.me.REG[4] = NIT_NULL;
24505 fra.me.REG[5] = NIT_NULL;
24506 fra.me.REG[6] = NIT_NULL;
24507 fra.me.REG[7] = NIT_NULL;
24508 fra.me.REG[8] = NIT_NULL;
24509 fra.me.REG[0] = p0;
24510 fra.me.REG[1] = p1;
24511 fra.me.REG[0] = NIT_NULL;
24512 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24513 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24514 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24515 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24516 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24517 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24518 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24519 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24520 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24521 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
24522 /* ./parser//parser.nit:8673 */
24523 if (UNTAG_Bool(REGB0)) {
24524 } else {
24525 fprintf(stderr, "Assert failed");
24526 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8673);
24527 nit_exit(1);
24528 }
24529 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
24530 /* ./parser//parser.nit:8675 */
24531 if (UNTAG_Bool(REGB0)) {
24532 } else {
24533 fprintf(stderr, "Assert failed");
24534 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8675);
24535 nit_exit(1);
24536 }
24537 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
24538 /* ./parser//parser.nit:8677 */
24539 if (UNTAG_Bool(REGB0)) {
24540 } else {
24541 fprintf(stderr, "Assert failed");
24542 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8677);
24543 nit_exit(1);
24544 }
24545 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
24546 /* ./parser//parser.nit:8679 */
24547 if (UNTAG_Bool(REGB0)) {
24548 } else {
24549 fprintf(stderr, "Assert failed");
24550 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8679);
24551 nit_exit(1);
24552 }
24553 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
24554 /* ./parser//parser.nit:8681 */
24555 if (UNTAG_Bool(REGB0)) {
24556 } else {
24557 fprintf(stderr, "Assert failed");
24558 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8681);
24559 nit_exit(1);
24560 }
24561 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
24562 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
24563 /* ./parser//parser.nit:8687 */
24564 if (UNTAG_Bool(REGB0)) {
24565 } else {
24566 fprintf(stderr, "Assert failed");
24567 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8687);
24568 nit_exit(1);
24569 }
24570 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
24571 /* ./parser//parser.nit:8689 */
24572 if (UNTAG_Bool(REGB0)) {
24573 } else {
24574 fprintf(stderr, "Assert failed");
24575 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8689);
24576 nit_exit(1);
24577 }
24578 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
24579 fra.me.REG[0] = fra.me.REG[2];
24580 REGB0 = TAG_Int(12);
24581 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24582 /* ./parser//parser.nit:8700 */
24583 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
24584 stack_frame_head = fra.me.prev;
24585 return;
24586 }
24587 void parser___ReduceAction166___init(val_t p0, int* init_table){
24588 int itpos170 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction166].i;
24589 struct {struct stack_frame_t me;} fra;
24590 val_t tmp;
24591 if (init_table[itpos170]) return;
24592 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24593 fra.me.file = LOCATE_parser;
24594 fra.me.line = 8702;
24595 fra.me.meth = LOCATE_parser___ReduceAction166___init;
24596 fra.me.has_broke = 0;
24597 fra.me.REG_size = 1;
24598 fra.me.REG[0] = NIT_NULL;
24599 fra.me.REG[0] = p0;
24600 /* ./parser//parser.nit:8702 */
24601 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
24602 stack_frame_head = fra.me.prev;
24603 init_table[itpos170] = 1;
24604 return;
24605 }
24606 void parser___ReduceAction167___action(val_t p0, val_t p1){
24607 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
24608 val_t REGB0;
24609 val_t tmp;
24610 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24611 fra.me.file = LOCATE_parser;
24612 fra.me.line = 8706;
24613 fra.me.meth = LOCATE_parser___ReduceAction167___action;
24614 fra.me.has_broke = 0;
24615 fra.me.REG_size = 8;
24616 fra.me.REG[0] = NIT_NULL;
24617 fra.me.REG[1] = NIT_NULL;
24618 fra.me.REG[2] = NIT_NULL;
24619 fra.me.REG[3] = NIT_NULL;
24620 fra.me.REG[4] = NIT_NULL;
24621 fra.me.REG[5] = NIT_NULL;
24622 fra.me.REG[6] = NIT_NULL;
24623 fra.me.REG[7] = NIT_NULL;
24624 fra.me.REG[0] = p0;
24625 fra.me.REG[1] = p1;
24626 fra.me.REG[0] = NIT_NULL;
24627 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24628 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24629 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24630 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24631 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24632 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24633 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24634 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24635 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
24636 /* ./parser//parser.nit:8718 */
24637 if (UNTAG_Bool(REGB0)) {
24638 } else {
24639 fprintf(stderr, "Assert failed");
24640 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8718);
24641 nit_exit(1);
24642 }
24643 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
24644 /* ./parser//parser.nit:8720 */
24645 if (UNTAG_Bool(REGB0)) {
24646 } else {
24647 fprintf(stderr, "Assert failed");
24648 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8720);
24649 nit_exit(1);
24650 }
24651 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
24652 /* ./parser//parser.nit:8722 */
24653 if (UNTAG_Bool(REGB0)) {
24654 } else {
24655 fprintf(stderr, "Assert failed");
24656 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8722);
24657 nit_exit(1);
24658 }
24659 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
24660 /* ./parser//parser.nit:8724 */
24661 if (UNTAG_Bool(REGB0)) {
24662 } else {
24663 fprintf(stderr, "Assert failed");
24664 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8724);
24665 nit_exit(1);
24666 }
24667 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
24668 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
24669 /* ./parser//parser.nit:8729 */
24670 if (UNTAG_Bool(REGB0)) {
24671 } else {
24672 fprintf(stderr, "Assert failed");
24673 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8729);
24674 nit_exit(1);
24675 }
24676 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
24677 /* ./parser//parser.nit:8731 */
24678 if (UNTAG_Bool(REGB0)) {
24679 } else {
24680 fprintf(stderr, "Assert failed");
24681 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8731);
24682 nit_exit(1);
24683 }
24684 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
24685 fra.me.REG[0] = fra.me.REG[2];
24686 REGB0 = TAG_Int(12);
24687 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24688 /* ./parser//parser.nit:8742 */
24689 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
24690 stack_frame_head = fra.me.prev;
24691 return;
24692 }
24693 void parser___ReduceAction167___init(val_t p0, int* init_table){
24694 int itpos171 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction167].i;
24695 struct {struct stack_frame_t me;} fra;
24696 val_t tmp;
24697 if (init_table[itpos171]) return;
24698 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24699 fra.me.file = LOCATE_parser;
24700 fra.me.line = 8744;
24701 fra.me.meth = LOCATE_parser___ReduceAction167___init;
24702 fra.me.has_broke = 0;
24703 fra.me.REG_size = 1;
24704 fra.me.REG[0] = NIT_NULL;
24705 fra.me.REG[0] = p0;
24706 /* ./parser//parser.nit:8744 */
24707 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
24708 stack_frame_head = fra.me.prev;
24709 init_table[itpos171] = 1;
24710 return;
24711 }
24712 void parser___ReduceAction168___action(val_t p0, val_t p1){
24713 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
24714 val_t REGB0;
24715 val_t tmp;
24716 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24717 fra.me.file = LOCATE_parser;
24718 fra.me.line = 8748;
24719 fra.me.meth = LOCATE_parser___ReduceAction168___action;
24720 fra.me.has_broke = 0;
24721 fra.me.REG_size = 9;
24722 fra.me.REG[0] = NIT_NULL;
24723 fra.me.REG[1] = NIT_NULL;
24724 fra.me.REG[2] = NIT_NULL;
24725 fra.me.REG[3] = NIT_NULL;
24726 fra.me.REG[4] = NIT_NULL;
24727 fra.me.REG[5] = NIT_NULL;
24728 fra.me.REG[6] = NIT_NULL;
24729 fra.me.REG[7] = NIT_NULL;
24730 fra.me.REG[8] = NIT_NULL;
24731 fra.me.REG[0] = p0;
24732 fra.me.REG[1] = p1;
24733 fra.me.REG[0] = NIT_NULL;
24734 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24735 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24736 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24737 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24738 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24739 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24740 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24741 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24742 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24743 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
24744 /* ./parser//parser.nit:8761 */
24745 if (UNTAG_Bool(REGB0)) {
24746 } else {
24747 fprintf(stderr, "Assert failed");
24748 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8761);
24749 nit_exit(1);
24750 }
24751 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
24752 /* ./parser//parser.nit:8763 */
24753 if (UNTAG_Bool(REGB0)) {
24754 } else {
24755 fprintf(stderr, "Assert failed");
24756 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8763);
24757 nit_exit(1);
24758 }
24759 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
24760 /* ./parser//parser.nit:8765 */
24761 if (UNTAG_Bool(REGB0)) {
24762 } else {
24763 fprintf(stderr, "Assert failed");
24764 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8765);
24765 nit_exit(1);
24766 }
24767 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
24768 /* ./parser//parser.nit:8767 */
24769 if (UNTAG_Bool(REGB0)) {
24770 } else {
24771 fprintf(stderr, "Assert failed");
24772 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8767);
24773 nit_exit(1);
24774 }
24775 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
24776 /* ./parser//parser.nit:8769 */
24777 if (UNTAG_Bool(REGB0)) {
24778 } else {
24779 fprintf(stderr, "Assert failed");
24780 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8769);
24781 nit_exit(1);
24782 }
24783 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
24784 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
24785 /* ./parser//parser.nit:8774 */
24786 if (UNTAG_Bool(REGB0)) {
24787 } else {
24788 fprintf(stderr, "Assert failed");
24789 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8774);
24790 nit_exit(1);
24791 }
24792 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
24793 /* ./parser//parser.nit:8776 */
24794 if (UNTAG_Bool(REGB0)) {
24795 } else {
24796 fprintf(stderr, "Assert failed");
24797 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8776);
24798 nit_exit(1);
24799 }
24800 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
24801 fra.me.REG[0] = fra.me.REG[2];
24802 REGB0 = TAG_Int(12);
24803 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24804 /* ./parser//parser.nit:8787 */
24805 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
24806 stack_frame_head = fra.me.prev;
24807 return;
24808 }
24809 void parser___ReduceAction168___init(val_t p0, int* init_table){
24810 int itpos172 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction168].i;
24811 struct {struct stack_frame_t me;} fra;
24812 val_t tmp;
24813 if (init_table[itpos172]) return;
24814 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24815 fra.me.file = LOCATE_parser;
24816 fra.me.line = 8789;
24817 fra.me.meth = LOCATE_parser___ReduceAction168___init;
24818 fra.me.has_broke = 0;
24819 fra.me.REG_size = 1;
24820 fra.me.REG[0] = NIT_NULL;
24821 fra.me.REG[0] = p0;
24822 /* ./parser//parser.nit:8789 */
24823 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
24824 stack_frame_head = fra.me.prev;
24825 init_table[itpos172] = 1;
24826 return;
24827 }
24828 void parser___ReduceAction169___action(val_t p0, val_t p1){
24829 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
24830 val_t REGB0;
24831 val_t tmp;
24832 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24833 fra.me.file = LOCATE_parser;
24834 fra.me.line = 8793;
24835 fra.me.meth = LOCATE_parser___ReduceAction169___action;
24836 fra.me.has_broke = 0;
24837 fra.me.REG_size = 9;
24838 fra.me.REG[0] = NIT_NULL;
24839 fra.me.REG[1] = NIT_NULL;
24840 fra.me.REG[2] = NIT_NULL;
24841 fra.me.REG[3] = NIT_NULL;
24842 fra.me.REG[4] = NIT_NULL;
24843 fra.me.REG[5] = NIT_NULL;
24844 fra.me.REG[6] = NIT_NULL;
24845 fra.me.REG[7] = NIT_NULL;
24846 fra.me.REG[8] = NIT_NULL;
24847 fra.me.REG[0] = p0;
24848 fra.me.REG[1] = p1;
24849 fra.me.REG[0] = NIT_NULL;
24850 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24851 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24852 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24853 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24854 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24855 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24856 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24857 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24858 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24859 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
24860 /* ./parser//parser.nit:8806 */
24861 if (UNTAG_Bool(REGB0)) {
24862 } else {
24863 fprintf(stderr, "Assert failed");
24864 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8806);
24865 nit_exit(1);
24866 }
24867 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
24868 /* ./parser//parser.nit:8808 */
24869 if (UNTAG_Bool(REGB0)) {
24870 } else {
24871 fprintf(stderr, "Assert failed");
24872 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8808);
24873 nit_exit(1);
24874 }
24875 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
24876 /* ./parser//parser.nit:8810 */
24877 if (UNTAG_Bool(REGB0)) {
24878 } else {
24879 fprintf(stderr, "Assert failed");
24880 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8810);
24881 nit_exit(1);
24882 }
24883 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
24884 /* ./parser//parser.nit:8812 */
24885 if (UNTAG_Bool(REGB0)) {
24886 } else {
24887 fprintf(stderr, "Assert failed");
24888 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8812);
24889 nit_exit(1);
24890 }
24891 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
24892 /* ./parser//parser.nit:8814 */
24893 if (UNTAG_Bool(REGB0)) {
24894 } else {
24895 fprintf(stderr, "Assert failed");
24896 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8814);
24897 nit_exit(1);
24898 }
24899 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
24900 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
24901 /* ./parser//parser.nit:8819 */
24902 if (UNTAG_Bool(REGB0)) {
24903 } else {
24904 fprintf(stderr, "Assert failed");
24905 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8819);
24906 nit_exit(1);
24907 }
24908 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
24909 /* ./parser//parser.nit:8821 */
24910 if (UNTAG_Bool(REGB0)) {
24911 } else {
24912 fprintf(stderr, "Assert failed");
24913 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8821);
24914 nit_exit(1);
24915 }
24916 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
24917 fra.me.REG[0] = fra.me.REG[2];
24918 REGB0 = TAG_Int(12);
24919 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24920 /* ./parser//parser.nit:8832 */
24921 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
24922 stack_frame_head = fra.me.prev;
24923 return;
24924 }
24925 void parser___ReduceAction169___init(val_t p0, int* init_table){
24926 int itpos173 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction169].i;
24927 struct {struct stack_frame_t me;} fra;
24928 val_t tmp;
24929 if (init_table[itpos173]) return;
24930 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24931 fra.me.file = LOCATE_parser;
24932 fra.me.line = 8834;
24933 fra.me.meth = LOCATE_parser___ReduceAction169___init;
24934 fra.me.has_broke = 0;
24935 fra.me.REG_size = 1;
24936 fra.me.REG[0] = NIT_NULL;
24937 fra.me.REG[0] = p0;
24938 /* ./parser//parser.nit:8834 */
24939 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
24940 stack_frame_head = fra.me.prev;
24941 init_table[itpos173] = 1;
24942 return;
24943 }
24944 void parser___ReduceAction170___action(val_t p0, val_t p1){
24945 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
24946 val_t REGB0;
24947 val_t tmp;
24948 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24949 fra.me.file = LOCATE_parser;
24950 fra.me.line = 8838;
24951 fra.me.meth = LOCATE_parser___ReduceAction170___action;
24952 fra.me.has_broke = 0;
24953 fra.me.REG_size = 9;
24954 fra.me.REG[0] = NIT_NULL;
24955 fra.me.REG[1] = NIT_NULL;
24956 fra.me.REG[2] = NIT_NULL;
24957 fra.me.REG[3] = NIT_NULL;
24958 fra.me.REG[4] = NIT_NULL;
24959 fra.me.REG[5] = NIT_NULL;
24960 fra.me.REG[6] = NIT_NULL;
24961 fra.me.REG[7] = NIT_NULL;
24962 fra.me.REG[8] = NIT_NULL;
24963 fra.me.REG[0] = p0;
24964 fra.me.REG[1] = p1;
24965 fra.me.REG[0] = NIT_NULL;
24966 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24967 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24968 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24969 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24970 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24971 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24972 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24973 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24974 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24975 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
24976 /* ./parser//parser.nit:8851 */
24977 if (UNTAG_Bool(REGB0)) {
24978 } else {
24979 fprintf(stderr, "Assert failed");
24980 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8851);
24981 nit_exit(1);
24982 }
24983 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
24984 /* ./parser//parser.nit:8853 */
24985 if (UNTAG_Bool(REGB0)) {
24986 } else {
24987 fprintf(stderr, "Assert failed");
24988 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8853);
24989 nit_exit(1);
24990 }
24991 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
24992 /* ./parser//parser.nit:8855 */
24993 if (UNTAG_Bool(REGB0)) {
24994 } else {
24995 fprintf(stderr, "Assert failed");
24996 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8855);
24997 nit_exit(1);
24998 }
24999 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
25000 /* ./parser//parser.nit:8857 */
25001 if (UNTAG_Bool(REGB0)) {
25002 } else {
25003 fprintf(stderr, "Assert failed");
25004 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8857);
25005 nit_exit(1);
25006 }
25007 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
25008 /* ./parser//parser.nit:8859 */
25009 if (UNTAG_Bool(REGB0)) {
25010 } else {
25011 fprintf(stderr, "Assert failed");
25012 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8859);
25013 nit_exit(1);
25014 }
25015 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
25016 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
25017 /* ./parser//parser.nit:8864 */
25018 if (UNTAG_Bool(REGB0)) {
25019 } else {
25020 fprintf(stderr, "Assert failed");
25021 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8864);
25022 nit_exit(1);
25023 }
25024 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
25025 /* ./parser//parser.nit:8866 */
25026 if (UNTAG_Bool(REGB0)) {
25027 } else {
25028 fprintf(stderr, "Assert failed");
25029 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8866);
25030 nit_exit(1);
25031 }
25032 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
25033 fra.me.REG[0] = fra.me.REG[2];
25034 REGB0 = TAG_Int(12);
25035 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25036 /* ./parser//parser.nit:8877 */
25037 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
25038 stack_frame_head = fra.me.prev;
25039 return;
25040 }
25041 void parser___ReduceAction170___init(val_t p0, int* init_table){
25042 int itpos174 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction170].i;
25043 struct {struct stack_frame_t me;} fra;
25044 val_t tmp;
25045 if (init_table[itpos174]) return;
25046 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25047 fra.me.file = LOCATE_parser;
25048 fra.me.line = 8879;
25049 fra.me.meth = LOCATE_parser___ReduceAction170___init;
25050 fra.me.has_broke = 0;
25051 fra.me.REG_size = 1;
25052 fra.me.REG[0] = NIT_NULL;
25053 fra.me.REG[0] = p0;
25054 /* ./parser//parser.nit:8879 */
25055 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
25056 stack_frame_head = fra.me.prev;
25057 init_table[itpos174] = 1;
25058 return;
25059 }
25060 void parser___ReduceAction171___action(val_t p0, val_t p1){
25061 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25062 val_t REGB0;
25063 val_t tmp;
25064 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25065 fra.me.file = LOCATE_parser;
25066 fra.me.line = 8883;
25067 fra.me.meth = LOCATE_parser___ReduceAction171___action;
25068 fra.me.has_broke = 0;
25069 fra.me.REG_size = 9;
25070 fra.me.REG[0] = NIT_NULL;
25071 fra.me.REG[1] = NIT_NULL;
25072 fra.me.REG[2] = NIT_NULL;
25073 fra.me.REG[3] = NIT_NULL;
25074 fra.me.REG[4] = NIT_NULL;
25075 fra.me.REG[5] = NIT_NULL;
25076 fra.me.REG[6] = NIT_NULL;
25077 fra.me.REG[7] = NIT_NULL;
25078 fra.me.REG[8] = NIT_NULL;
25079 fra.me.REG[0] = p0;
25080 fra.me.REG[1] = p1;
25081 fra.me.REG[0] = NIT_NULL;
25082 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25083 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25084 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25085 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25086 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25087 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25088 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25089 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25090 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25091 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
25092 /* ./parser//parser.nit:8896 */
25093 if (UNTAG_Bool(REGB0)) {
25094 } else {
25095 fprintf(stderr, "Assert failed");
25096 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8896);
25097 nit_exit(1);
25098 }
25099 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
25100 /* ./parser//parser.nit:8898 */
25101 if (UNTAG_Bool(REGB0)) {
25102 } else {
25103 fprintf(stderr, "Assert failed");
25104 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8898);
25105 nit_exit(1);
25106 }
25107 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
25108 /* ./parser//parser.nit:8900 */
25109 if (UNTAG_Bool(REGB0)) {
25110 } else {
25111 fprintf(stderr, "Assert failed");
25112 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8900);
25113 nit_exit(1);
25114 }
25115 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
25116 /* ./parser//parser.nit:8902 */
25117 if (UNTAG_Bool(REGB0)) {
25118 } else {
25119 fprintf(stderr, "Assert failed");
25120 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8902);
25121 nit_exit(1);
25122 }
25123 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
25124 /* ./parser//parser.nit:8904 */
25125 if (UNTAG_Bool(REGB0)) {
25126 } else {
25127 fprintf(stderr, "Assert failed");
25128 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8904);
25129 nit_exit(1);
25130 }
25131 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
25132 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
25133 /* ./parser//parser.nit:8909 */
25134 if (UNTAG_Bool(REGB0)) {
25135 } else {
25136 fprintf(stderr, "Assert failed");
25137 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8909);
25138 nit_exit(1);
25139 }
25140 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
25141 /* ./parser//parser.nit:8911 */
25142 if (UNTAG_Bool(REGB0)) {
25143 } else {
25144 fprintf(stderr, "Assert failed");
25145 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8911);
25146 nit_exit(1);
25147 }
25148 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
25149 fra.me.REG[0] = fra.me.REG[2];
25150 REGB0 = TAG_Int(12);
25151 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25152 /* ./parser//parser.nit:8922 */
25153 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
25154 stack_frame_head = fra.me.prev;
25155 return;
25156 }
25157 void parser___ReduceAction171___init(val_t p0, int* init_table){
25158 int itpos175 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction171].i;
25159 struct {struct stack_frame_t me;} fra;
25160 val_t tmp;
25161 if (init_table[itpos175]) return;
25162 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25163 fra.me.file = LOCATE_parser;
25164 fra.me.line = 8924;
25165 fra.me.meth = LOCATE_parser___ReduceAction171___init;
25166 fra.me.has_broke = 0;
25167 fra.me.REG_size = 1;
25168 fra.me.REG[0] = NIT_NULL;
25169 fra.me.REG[0] = p0;
25170 /* ./parser//parser.nit:8924 */
25171 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
25172 stack_frame_head = fra.me.prev;
25173 init_table[itpos175] = 1;
25174 return;
25175 }
25176 void parser___ReduceAction172___action(val_t p0, val_t p1){
25177 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25178 val_t REGB0;
25179 val_t tmp;
25180 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25181 fra.me.file = LOCATE_parser;
25182 fra.me.line = 8928;
25183 fra.me.meth = LOCATE_parser___ReduceAction172___action;
25184 fra.me.has_broke = 0;
25185 fra.me.REG_size = 9;
25186 fra.me.REG[0] = NIT_NULL;
25187 fra.me.REG[1] = NIT_NULL;
25188 fra.me.REG[2] = NIT_NULL;
25189 fra.me.REG[3] = NIT_NULL;
25190 fra.me.REG[4] = NIT_NULL;
25191 fra.me.REG[5] = NIT_NULL;
25192 fra.me.REG[6] = NIT_NULL;
25193 fra.me.REG[7] = NIT_NULL;
25194 fra.me.REG[8] = NIT_NULL;
25195 fra.me.REG[0] = p0;
25196 fra.me.REG[1] = p1;
25197 fra.me.REG[0] = NIT_NULL;
25198 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25199 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25200 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25201 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25202 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25203 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25204 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25205 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25206 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25207 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
25208 /* ./parser//parser.nit:8941 */
25209 if (UNTAG_Bool(REGB0)) {
25210 } else {
25211 fprintf(stderr, "Assert failed");
25212 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8941);
25213 nit_exit(1);
25214 }
25215 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
25216 /* ./parser//parser.nit:8943 */
25217 if (UNTAG_Bool(REGB0)) {
25218 } else {
25219 fprintf(stderr, "Assert failed");
25220 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8943);
25221 nit_exit(1);
25222 }
25223 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
25224 /* ./parser//parser.nit:8945 */
25225 if (UNTAG_Bool(REGB0)) {
25226 } else {
25227 fprintf(stderr, "Assert failed");
25228 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8945);
25229 nit_exit(1);
25230 }
25231 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
25232 /* ./parser//parser.nit:8947 */
25233 if (UNTAG_Bool(REGB0)) {
25234 } else {
25235 fprintf(stderr, "Assert failed");
25236 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8947);
25237 nit_exit(1);
25238 }
25239 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
25240 /* ./parser//parser.nit:8949 */
25241 if (UNTAG_Bool(REGB0)) {
25242 } else {
25243 fprintf(stderr, "Assert failed");
25244 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8949);
25245 nit_exit(1);
25246 }
25247 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
25248 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
25249 /* ./parser//parser.nit:8954 */
25250 if (UNTAG_Bool(REGB0)) {
25251 } else {
25252 fprintf(stderr, "Assert failed");
25253 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8954);
25254 nit_exit(1);
25255 }
25256 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
25257 /* ./parser//parser.nit:8956 */
25258 if (UNTAG_Bool(REGB0)) {
25259 } else {
25260 fprintf(stderr, "Assert failed");
25261 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8956);
25262 nit_exit(1);
25263 }
25264 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
25265 fra.me.REG[0] = fra.me.REG[2];
25266 REGB0 = TAG_Int(12);
25267 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25268 /* ./parser//parser.nit:8967 */
25269 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
25270 stack_frame_head = fra.me.prev;
25271 return;
25272 }
25273 void parser___ReduceAction172___init(val_t p0, int* init_table){
25274 int itpos176 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction172].i;
25275 struct {struct stack_frame_t me;} fra;
25276 val_t tmp;
25277 if (init_table[itpos176]) return;
25278 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25279 fra.me.file = LOCATE_parser;
25280 fra.me.line = 8969;
25281 fra.me.meth = LOCATE_parser___ReduceAction172___init;
25282 fra.me.has_broke = 0;
25283 fra.me.REG_size = 1;
25284 fra.me.REG[0] = NIT_NULL;
25285 fra.me.REG[0] = p0;
25286 /* ./parser//parser.nit:8969 */
25287 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
25288 stack_frame_head = fra.me.prev;
25289 init_table[itpos176] = 1;
25290 return;
25291 }
25292 void parser___ReduceAction173___action(val_t p0, val_t p1){
25293 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25294 val_t REGB0;
25295 val_t tmp;
25296 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25297 fra.me.file = LOCATE_parser;
25298 fra.me.line = 8973;
25299 fra.me.meth = LOCATE_parser___ReduceAction173___action;
25300 fra.me.has_broke = 0;
25301 fra.me.REG_size = 9;
25302 fra.me.REG[0] = NIT_NULL;
25303 fra.me.REG[1] = NIT_NULL;
25304 fra.me.REG[2] = NIT_NULL;
25305 fra.me.REG[3] = NIT_NULL;
25306 fra.me.REG[4] = NIT_NULL;
25307 fra.me.REG[5] = NIT_NULL;
25308 fra.me.REG[6] = NIT_NULL;
25309 fra.me.REG[7] = NIT_NULL;
25310 fra.me.REG[8] = NIT_NULL;
25311 fra.me.REG[0] = p0;
25312 fra.me.REG[1] = p1;
25313 fra.me.REG[0] = NIT_NULL;
25314 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25315 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25316 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25317 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25318 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25319 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25320 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25321 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25322 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25323 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
25324 /* ./parser//parser.nit:8986 */
25325 if (UNTAG_Bool(REGB0)) {
25326 } else {
25327 fprintf(stderr, "Assert failed");
25328 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8986);
25329 nit_exit(1);
25330 }
25331 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
25332 /* ./parser//parser.nit:8988 */
25333 if (UNTAG_Bool(REGB0)) {
25334 } else {
25335 fprintf(stderr, "Assert failed");
25336 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8988);
25337 nit_exit(1);
25338 }
25339 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
25340 /* ./parser//parser.nit:8990 */
25341 if (UNTAG_Bool(REGB0)) {
25342 } else {
25343 fprintf(stderr, "Assert failed");
25344 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8990);
25345 nit_exit(1);
25346 }
25347 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
25348 /* ./parser//parser.nit:8992 */
25349 if (UNTAG_Bool(REGB0)) {
25350 } else {
25351 fprintf(stderr, "Assert failed");
25352 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8992);
25353 nit_exit(1);
25354 }
25355 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
25356 /* ./parser//parser.nit:8994 */
25357 if (UNTAG_Bool(REGB0)) {
25358 } else {
25359 fprintf(stderr, "Assert failed");
25360 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8994);
25361 nit_exit(1);
25362 }
25363 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
25364 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
25365 /* ./parser//parser.nit:8999 */
25366 if (UNTAG_Bool(REGB0)) {
25367 } else {
25368 fprintf(stderr, "Assert failed");
25369 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8999);
25370 nit_exit(1);
25371 }
25372 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
25373 /* ./parser//parser.nit:9001 */
25374 if (UNTAG_Bool(REGB0)) {
25375 } else {
25376 fprintf(stderr, "Assert failed");
25377 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9001);
25378 nit_exit(1);
25379 }
25380 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
25381 fra.me.REG[0] = fra.me.REG[2];
25382 REGB0 = TAG_Int(12);
25383 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25384 /* ./parser//parser.nit:9012 */
25385 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
25386 stack_frame_head = fra.me.prev;
25387 return;
25388 }
25389 void parser___ReduceAction173___init(val_t p0, int* init_table){
25390 int itpos177 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction173].i;
25391 struct {struct stack_frame_t me;} fra;
25392 val_t tmp;
25393 if (init_table[itpos177]) return;
25394 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25395 fra.me.file = LOCATE_parser;
25396 fra.me.line = 9014;
25397 fra.me.meth = LOCATE_parser___ReduceAction173___init;
25398 fra.me.has_broke = 0;
25399 fra.me.REG_size = 1;
25400 fra.me.REG[0] = NIT_NULL;
25401 fra.me.REG[0] = p0;
25402 /* ./parser//parser.nit:9014 */
25403 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
25404 stack_frame_head = fra.me.prev;
25405 init_table[itpos177] = 1;
25406 return;
25407 }
25408 void parser___ReduceAction174___action(val_t p0, val_t p1){
25409 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25410 val_t REGB0;
25411 val_t tmp;
25412 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25413 fra.me.file = LOCATE_parser;
25414 fra.me.line = 9018;
25415 fra.me.meth = LOCATE_parser___ReduceAction174___action;
25416 fra.me.has_broke = 0;
25417 fra.me.REG_size = 9;
25418 fra.me.REG[0] = NIT_NULL;
25419 fra.me.REG[1] = NIT_NULL;
25420 fra.me.REG[2] = NIT_NULL;
25421 fra.me.REG[3] = NIT_NULL;
25422 fra.me.REG[4] = NIT_NULL;
25423 fra.me.REG[5] = NIT_NULL;
25424 fra.me.REG[6] = NIT_NULL;
25425 fra.me.REG[7] = NIT_NULL;
25426 fra.me.REG[8] = NIT_NULL;
25427 fra.me.REG[0] = p0;
25428 fra.me.REG[1] = p1;
25429 fra.me.REG[0] = NIT_NULL;
25430 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25431 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25432 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25433 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25434 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25435 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25436 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25437 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25438 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25439 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
25440 /* ./parser//parser.nit:9031 */
25441 if (UNTAG_Bool(REGB0)) {
25442 } else {
25443 fprintf(stderr, "Assert failed");
25444 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9031);
25445 nit_exit(1);
25446 }
25447 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
25448 /* ./parser//parser.nit:9033 */
25449 if (UNTAG_Bool(REGB0)) {
25450 } else {
25451 fprintf(stderr, "Assert failed");
25452 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9033);
25453 nit_exit(1);
25454 }
25455 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
25456 /* ./parser//parser.nit:9035 */
25457 if (UNTAG_Bool(REGB0)) {
25458 } else {
25459 fprintf(stderr, "Assert failed");
25460 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9035);
25461 nit_exit(1);
25462 }
25463 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
25464 /* ./parser//parser.nit:9037 */
25465 if (UNTAG_Bool(REGB0)) {
25466 } else {
25467 fprintf(stderr, "Assert failed");
25468 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9037);
25469 nit_exit(1);
25470 }
25471 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
25472 /* ./parser//parser.nit:9039 */
25473 if (UNTAG_Bool(REGB0)) {
25474 } else {
25475 fprintf(stderr, "Assert failed");
25476 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9039);
25477 nit_exit(1);
25478 }
25479 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
25480 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
25481 /* ./parser//parser.nit:9044 */
25482 if (UNTAG_Bool(REGB0)) {
25483 } else {
25484 fprintf(stderr, "Assert failed");
25485 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9044);
25486 nit_exit(1);
25487 }
25488 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
25489 /* ./parser//parser.nit:9046 */
25490 if (UNTAG_Bool(REGB0)) {
25491 } else {
25492 fprintf(stderr, "Assert failed");
25493 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9046);
25494 nit_exit(1);
25495 }
25496 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
25497 fra.me.REG[0] = fra.me.REG[2];
25498 REGB0 = TAG_Int(12);
25499 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25500 /* ./parser//parser.nit:9057 */
25501 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
25502 stack_frame_head = fra.me.prev;
25503 return;
25504 }
25505 void parser___ReduceAction174___init(val_t p0, int* init_table){
25506 int itpos178 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction174].i;
25507 struct {struct stack_frame_t me;} fra;
25508 val_t tmp;
25509 if (init_table[itpos178]) return;
25510 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25511 fra.me.file = LOCATE_parser;
25512 fra.me.line = 9059;
25513 fra.me.meth = LOCATE_parser___ReduceAction174___init;
25514 fra.me.has_broke = 0;
25515 fra.me.REG_size = 1;
25516 fra.me.REG[0] = NIT_NULL;
25517 fra.me.REG[0] = p0;
25518 /* ./parser//parser.nit:9059 */
25519 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
25520 stack_frame_head = fra.me.prev;
25521 init_table[itpos178] = 1;
25522 return;
25523 }
25524 void parser___ReduceAction175___action(val_t p0, val_t p1){
25525 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25526 val_t REGB0;
25527 val_t tmp;
25528 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25529 fra.me.file = LOCATE_parser;
25530 fra.me.line = 9063;
25531 fra.me.meth = LOCATE_parser___ReduceAction175___action;
25532 fra.me.has_broke = 0;
25533 fra.me.REG_size = 9;
25534 fra.me.REG[0] = NIT_NULL;
25535 fra.me.REG[1] = NIT_NULL;
25536 fra.me.REG[2] = NIT_NULL;
25537 fra.me.REG[3] = NIT_NULL;
25538 fra.me.REG[4] = NIT_NULL;
25539 fra.me.REG[5] = NIT_NULL;
25540 fra.me.REG[6] = NIT_NULL;
25541 fra.me.REG[7] = NIT_NULL;
25542 fra.me.REG[8] = NIT_NULL;
25543 fra.me.REG[0] = p0;
25544 fra.me.REG[1] = p1;
25545 fra.me.REG[0] = NIT_NULL;
25546 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25547 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25548 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25549 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25550 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25551 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25552 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25553 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25554 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25555 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
25556 /* ./parser//parser.nit:9076 */
25557 if (UNTAG_Bool(REGB0)) {
25558 } else {
25559 fprintf(stderr, "Assert failed");
25560 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9076);
25561 nit_exit(1);
25562 }
25563 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
25564 /* ./parser//parser.nit:9078 */
25565 if (UNTAG_Bool(REGB0)) {
25566 } else {
25567 fprintf(stderr, "Assert failed");
25568 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9078);
25569 nit_exit(1);
25570 }
25571 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
25572 /* ./parser//parser.nit:9080 */
25573 if (UNTAG_Bool(REGB0)) {
25574 } else {
25575 fprintf(stderr, "Assert failed");
25576 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9080);
25577 nit_exit(1);
25578 }
25579 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
25580 /* ./parser//parser.nit:9082 */
25581 if (UNTAG_Bool(REGB0)) {
25582 } else {
25583 fprintf(stderr, "Assert failed");
25584 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9082);
25585 nit_exit(1);
25586 }
25587 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
25588 /* ./parser//parser.nit:9084 */
25589 if (UNTAG_Bool(REGB0)) {
25590 } else {
25591 fprintf(stderr, "Assert failed");
25592 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9084);
25593 nit_exit(1);
25594 }
25595 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
25596 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
25597 /* ./parser//parser.nit:9089 */
25598 if (UNTAG_Bool(REGB0)) {
25599 } else {
25600 fprintf(stderr, "Assert failed");
25601 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9089);
25602 nit_exit(1);
25603 }
25604 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
25605 /* ./parser//parser.nit:9091 */
25606 if (UNTAG_Bool(REGB0)) {
25607 } else {
25608 fprintf(stderr, "Assert failed");
25609 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9091);
25610 nit_exit(1);
25611 }
25612 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
25613 fra.me.REG[0] = fra.me.REG[2];
25614 REGB0 = TAG_Int(12);
25615 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25616 /* ./parser//parser.nit:9102 */
25617 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
25618 stack_frame_head = fra.me.prev;
25619 return;
25620 }
25621 void parser___ReduceAction175___init(val_t p0, int* init_table){
25622 int itpos179 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction175].i;
25623 struct {struct stack_frame_t me;} fra;
25624 val_t tmp;
25625 if (init_table[itpos179]) return;
25626 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25627 fra.me.file = LOCATE_parser;
25628 fra.me.line = 9104;
25629 fra.me.meth = LOCATE_parser___ReduceAction175___init;
25630 fra.me.has_broke = 0;
25631 fra.me.REG_size = 1;
25632 fra.me.REG[0] = NIT_NULL;
25633 fra.me.REG[0] = p0;
25634 /* ./parser//parser.nit:9104 */
25635 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
25636 stack_frame_head = fra.me.prev;
25637 init_table[itpos179] = 1;
25638 return;
25639 }
25640 void parser___ReduceAction176___action(val_t p0, val_t p1){
25641 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25642 val_t REGB0;
25643 val_t tmp;
25644 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25645 fra.me.file = LOCATE_parser;
25646 fra.me.line = 9108;
25647 fra.me.meth = LOCATE_parser___ReduceAction176___action;
25648 fra.me.has_broke = 0;
25649 fra.me.REG_size = 9;
25650 fra.me.REG[0] = NIT_NULL;
25651 fra.me.REG[1] = NIT_NULL;
25652 fra.me.REG[2] = NIT_NULL;
25653 fra.me.REG[3] = NIT_NULL;
25654 fra.me.REG[4] = NIT_NULL;
25655 fra.me.REG[5] = NIT_NULL;
25656 fra.me.REG[6] = NIT_NULL;
25657 fra.me.REG[7] = NIT_NULL;
25658 fra.me.REG[8] = NIT_NULL;
25659 fra.me.REG[0] = p0;
25660 fra.me.REG[1] = p1;
25661 fra.me.REG[0] = NIT_NULL;
25662 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25663 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25664 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25665 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25666 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25667 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25668 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25669 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25670 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25671 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
25672 /* ./parser//parser.nit:9121 */
25673 if (UNTAG_Bool(REGB0)) {
25674 } else {
25675 fprintf(stderr, "Assert failed");
25676 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9121);
25677 nit_exit(1);
25678 }
25679 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
25680 /* ./parser//parser.nit:9123 */
25681 if (UNTAG_Bool(REGB0)) {
25682 } else {
25683 fprintf(stderr, "Assert failed");
25684 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9123);
25685 nit_exit(1);
25686 }
25687 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
25688 /* ./parser//parser.nit:9125 */
25689 if (UNTAG_Bool(REGB0)) {
25690 } else {
25691 fprintf(stderr, "Assert failed");
25692 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9125);
25693 nit_exit(1);
25694 }
25695 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
25696 /* ./parser//parser.nit:9127 */
25697 if (UNTAG_Bool(REGB0)) {
25698 } else {
25699 fprintf(stderr, "Assert failed");
25700 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9127);
25701 nit_exit(1);
25702 }
25703 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
25704 /* ./parser//parser.nit:9129 */
25705 if (UNTAG_Bool(REGB0)) {
25706 } else {
25707 fprintf(stderr, "Assert failed");
25708 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9129);
25709 nit_exit(1);
25710 }
25711 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
25712 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
25713 /* ./parser//parser.nit:9134 */
25714 if (UNTAG_Bool(REGB0)) {
25715 } else {
25716 fprintf(stderr, "Assert failed");
25717 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9134);
25718 nit_exit(1);
25719 }
25720 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
25721 /* ./parser//parser.nit:9136 */
25722 if (UNTAG_Bool(REGB0)) {
25723 } else {
25724 fprintf(stderr, "Assert failed");
25725 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9136);
25726 nit_exit(1);
25727 }
25728 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
25729 fra.me.REG[0] = fra.me.REG[2];
25730 REGB0 = TAG_Int(12);
25731 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25732 /* ./parser//parser.nit:9147 */
25733 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
25734 stack_frame_head = fra.me.prev;
25735 return;
25736 }
25737 void parser___ReduceAction176___init(val_t p0, int* init_table){
25738 int itpos180 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction176].i;
25739 struct {struct stack_frame_t me;} fra;
25740 val_t tmp;
25741 if (init_table[itpos180]) return;
25742 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25743 fra.me.file = LOCATE_parser;
25744 fra.me.line = 9149;
25745 fra.me.meth = LOCATE_parser___ReduceAction176___init;
25746 fra.me.has_broke = 0;
25747 fra.me.REG_size = 1;
25748 fra.me.REG[0] = NIT_NULL;
25749 fra.me.REG[0] = p0;
25750 /* ./parser//parser.nit:9149 */
25751 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
25752 stack_frame_head = fra.me.prev;
25753 init_table[itpos180] = 1;
25754 return;
25755 }
25756 void parser___ReduceAction177___action(val_t p0, val_t p1){
25757 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25758 val_t REGB0;
25759 val_t tmp;
25760 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25761 fra.me.file = LOCATE_parser;
25762 fra.me.line = 9153;
25763 fra.me.meth = LOCATE_parser___ReduceAction177___action;
25764 fra.me.has_broke = 0;
25765 fra.me.REG_size = 9;
25766 fra.me.REG[0] = NIT_NULL;
25767 fra.me.REG[1] = NIT_NULL;
25768 fra.me.REG[2] = NIT_NULL;
25769 fra.me.REG[3] = NIT_NULL;
25770 fra.me.REG[4] = NIT_NULL;
25771 fra.me.REG[5] = NIT_NULL;
25772 fra.me.REG[6] = NIT_NULL;
25773 fra.me.REG[7] = NIT_NULL;
25774 fra.me.REG[8] = NIT_NULL;
25775 fra.me.REG[0] = p0;
25776 fra.me.REG[1] = p1;
25777 fra.me.REG[0] = NIT_NULL;
25778 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25779 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25780 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25781 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25782 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25783 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25784 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25785 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25786 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25787 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
25788 /* ./parser//parser.nit:9166 */
25789 if (UNTAG_Bool(REGB0)) {
25790 } else {
25791 fprintf(stderr, "Assert failed");
25792 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9166);
25793 nit_exit(1);
25794 }
25795 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
25796 /* ./parser//parser.nit:9168 */
25797 if (UNTAG_Bool(REGB0)) {
25798 } else {
25799 fprintf(stderr, "Assert failed");
25800 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9168);
25801 nit_exit(1);
25802 }
25803 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
25804 /* ./parser//parser.nit:9170 */
25805 if (UNTAG_Bool(REGB0)) {
25806 } else {
25807 fprintf(stderr, "Assert failed");
25808 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9170);
25809 nit_exit(1);
25810 }
25811 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
25812 /* ./parser//parser.nit:9172 */
25813 if (UNTAG_Bool(REGB0)) {
25814 } else {
25815 fprintf(stderr, "Assert failed");
25816 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9172);
25817 nit_exit(1);
25818 }
25819 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
25820 /* ./parser//parser.nit:9174 */
25821 if (UNTAG_Bool(REGB0)) {
25822 } else {
25823 fprintf(stderr, "Assert failed");
25824 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9174);
25825 nit_exit(1);
25826 }
25827 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
25828 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
25829 /* ./parser//parser.nit:9179 */
25830 if (UNTAG_Bool(REGB0)) {
25831 } else {
25832 fprintf(stderr, "Assert failed");
25833 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9179);
25834 nit_exit(1);
25835 }
25836 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
25837 /* ./parser//parser.nit:9181 */
25838 if (UNTAG_Bool(REGB0)) {
25839 } else {
25840 fprintf(stderr, "Assert failed");
25841 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9181);
25842 nit_exit(1);
25843 }
25844 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
25845 fra.me.REG[0] = fra.me.REG[2];
25846 REGB0 = TAG_Int(12);
25847 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25848 /* ./parser//parser.nit:9192 */
25849 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
25850 stack_frame_head = fra.me.prev;
25851 return;
25852 }
25853 void parser___ReduceAction177___init(val_t p0, int* init_table){
25854 int itpos181 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction177].i;
25855 struct {struct stack_frame_t me;} fra;
25856 val_t tmp;
25857 if (init_table[itpos181]) return;
25858 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25859 fra.me.file = LOCATE_parser;
25860 fra.me.line = 9194;
25861 fra.me.meth = LOCATE_parser___ReduceAction177___init;
25862 fra.me.has_broke = 0;
25863 fra.me.REG_size = 1;
25864 fra.me.REG[0] = NIT_NULL;
25865 fra.me.REG[0] = p0;
25866 /* ./parser//parser.nit:9194 */
25867 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
25868 stack_frame_head = fra.me.prev;
25869 init_table[itpos181] = 1;
25870 return;
25871 }
25872 void parser___ReduceAction178___action(val_t p0, val_t p1){
25873 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25874 val_t REGB0;
25875 val_t tmp;
25876 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25877 fra.me.file = LOCATE_parser;
25878 fra.me.line = 9198;
25879 fra.me.meth = LOCATE_parser___ReduceAction178___action;
25880 fra.me.has_broke = 0;
25881 fra.me.REG_size = 9;
25882 fra.me.REG[0] = NIT_NULL;
25883 fra.me.REG[1] = NIT_NULL;
25884 fra.me.REG[2] = NIT_NULL;
25885 fra.me.REG[3] = NIT_NULL;
25886 fra.me.REG[4] = NIT_NULL;
25887 fra.me.REG[5] = NIT_NULL;
25888 fra.me.REG[6] = NIT_NULL;
25889 fra.me.REG[7] = NIT_NULL;
25890 fra.me.REG[8] = NIT_NULL;
25891 fra.me.REG[0] = p0;
25892 fra.me.REG[1] = p1;
25893 fra.me.REG[0] = NIT_NULL;
25894 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25895 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25896 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25897 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25898 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25899 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25900 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25901 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25902 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25903 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
25904 /* ./parser//parser.nit:9211 */
25905 if (UNTAG_Bool(REGB0)) {
25906 } else {
25907 fprintf(stderr, "Assert failed");
25908 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9211);
25909 nit_exit(1);
25910 }
25911 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
25912 /* ./parser//parser.nit:9213 */
25913 if (UNTAG_Bool(REGB0)) {
25914 } else {
25915 fprintf(stderr, "Assert failed");
25916 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9213);
25917 nit_exit(1);
25918 }
25919 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
25920 /* ./parser//parser.nit:9215 */
25921 if (UNTAG_Bool(REGB0)) {
25922 } else {
25923 fprintf(stderr, "Assert failed");
25924 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9215);
25925 nit_exit(1);
25926 }
25927 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
25928 /* ./parser//parser.nit:9217 */
25929 if (UNTAG_Bool(REGB0)) {
25930 } else {
25931 fprintf(stderr, "Assert failed");
25932 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9217);
25933 nit_exit(1);
25934 }
25935 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
25936 /* ./parser//parser.nit:9219 */
25937 if (UNTAG_Bool(REGB0)) {
25938 } else {
25939 fprintf(stderr, "Assert failed");
25940 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9219);
25941 nit_exit(1);
25942 }
25943 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
25944 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
25945 /* ./parser//parser.nit:9224 */
25946 if (UNTAG_Bool(REGB0)) {
25947 } else {
25948 fprintf(stderr, "Assert failed");
25949 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9224);
25950 nit_exit(1);
25951 }
25952 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
25953 /* ./parser//parser.nit:9226 */
25954 if (UNTAG_Bool(REGB0)) {
25955 } else {
25956 fprintf(stderr, "Assert failed");
25957 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9226);
25958 nit_exit(1);
25959 }
25960 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
25961 fra.me.REG[0] = fra.me.REG[2];
25962 REGB0 = TAG_Int(12);
25963 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25964 /* ./parser//parser.nit:9237 */
25965 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
25966 stack_frame_head = fra.me.prev;
25967 return;
25968 }
25969 void parser___ReduceAction178___init(val_t p0, int* init_table){
25970 int itpos182 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction178].i;
25971 struct {struct stack_frame_t me;} fra;
25972 val_t tmp;
25973 if (init_table[itpos182]) return;
25974 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25975 fra.me.file = LOCATE_parser;
25976 fra.me.line = 9239;
25977 fra.me.meth = LOCATE_parser___ReduceAction178___init;
25978 fra.me.has_broke = 0;
25979 fra.me.REG_size = 1;
25980 fra.me.REG[0] = NIT_NULL;
25981 fra.me.REG[0] = p0;
25982 /* ./parser//parser.nit:9239 */
25983 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
25984 stack_frame_head = fra.me.prev;
25985 init_table[itpos182] = 1;
25986 return;
25987 }
25988 void parser___ReduceAction179___action(val_t p0, val_t p1){
25989 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25990 val_t REGB0;
25991 val_t tmp;
25992 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25993 fra.me.file = LOCATE_parser;
25994 fra.me.line = 9243;
25995 fra.me.meth = LOCATE_parser___ReduceAction179___action;
25996 fra.me.has_broke = 0;
25997 fra.me.REG_size = 9;
25998 fra.me.REG[0] = NIT_NULL;
25999 fra.me.REG[1] = NIT_NULL;
26000 fra.me.REG[2] = NIT_NULL;
26001 fra.me.REG[3] = NIT_NULL;
26002 fra.me.REG[4] = NIT_NULL;
26003 fra.me.REG[5] = NIT_NULL;
26004 fra.me.REG[6] = NIT_NULL;
26005 fra.me.REG[7] = NIT_NULL;
26006 fra.me.REG[8] = NIT_NULL;
26007 fra.me.REG[0] = p0;
26008 fra.me.REG[1] = p1;
26009 fra.me.REG[0] = NIT_NULL;
26010 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26011 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26012 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26013 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26014 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26015 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26016 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26017 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26018 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26019 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
26020 /* ./parser//parser.nit:9256 */
26021 if (UNTAG_Bool(REGB0)) {
26022 } else {
26023 fprintf(stderr, "Assert failed");
26024 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9256);
26025 nit_exit(1);
26026 }
26027 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
26028 /* ./parser//parser.nit:9258 */
26029 if (UNTAG_Bool(REGB0)) {
26030 } else {
26031 fprintf(stderr, "Assert failed");
26032 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9258);
26033 nit_exit(1);
26034 }
26035 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
26036 /* ./parser//parser.nit:9260 */
26037 if (UNTAG_Bool(REGB0)) {
26038 } else {
26039 fprintf(stderr, "Assert failed");
26040 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9260);
26041 nit_exit(1);
26042 }
26043 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
26044 /* ./parser//parser.nit:9262 */
26045 if (UNTAG_Bool(REGB0)) {
26046 } else {
26047 fprintf(stderr, "Assert failed");
26048 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9262);
26049 nit_exit(1);
26050 }
26051 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
26052 /* ./parser//parser.nit:9264 */
26053 if (UNTAG_Bool(REGB0)) {
26054 } else {
26055 fprintf(stderr, "Assert failed");
26056 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9264);
26057 nit_exit(1);
26058 }
26059 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
26060 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
26061 /* ./parser//parser.nit:9269 */
26062 if (UNTAG_Bool(REGB0)) {
26063 } else {
26064 fprintf(stderr, "Assert failed");
26065 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9269);
26066 nit_exit(1);
26067 }
26068 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
26069 /* ./parser//parser.nit:9271 */
26070 if (UNTAG_Bool(REGB0)) {
26071 } else {
26072 fprintf(stderr, "Assert failed");
26073 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9271);
26074 nit_exit(1);
26075 }
26076 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
26077 fra.me.REG[0] = fra.me.REG[2];
26078 REGB0 = TAG_Int(12);
26079 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26080 /* ./parser//parser.nit:9282 */
26081 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
26082 stack_frame_head = fra.me.prev;
26083 return;
26084 }
26085 void parser___ReduceAction179___init(val_t p0, int* init_table){
26086 int itpos183 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction179].i;
26087 struct {struct stack_frame_t me;} fra;
26088 val_t tmp;
26089 if (init_table[itpos183]) return;
26090 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26091 fra.me.file = LOCATE_parser;
26092 fra.me.line = 9284;
26093 fra.me.meth = LOCATE_parser___ReduceAction179___init;
26094 fra.me.has_broke = 0;
26095 fra.me.REG_size = 1;
26096 fra.me.REG[0] = NIT_NULL;
26097 fra.me.REG[0] = p0;
26098 /* ./parser//parser.nit:9284 */
26099 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
26100 stack_frame_head = fra.me.prev;
26101 init_table[itpos183] = 1;
26102 return;
26103 }
26104 void parser___ReduceAction180___action(val_t p0, val_t p1){
26105 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
26106 val_t REGB0;
26107 val_t tmp;
26108 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26109 fra.me.file = LOCATE_parser;
26110 fra.me.line = 9288;
26111 fra.me.meth = LOCATE_parser___ReduceAction180___action;
26112 fra.me.has_broke = 0;
26113 fra.me.REG_size = 10;
26114 fra.me.REG[0] = NIT_NULL;
26115 fra.me.REG[1] = NIT_NULL;
26116 fra.me.REG[2] = NIT_NULL;
26117 fra.me.REG[3] = NIT_NULL;
26118 fra.me.REG[4] = NIT_NULL;
26119 fra.me.REG[5] = NIT_NULL;
26120 fra.me.REG[6] = NIT_NULL;
26121 fra.me.REG[7] = NIT_NULL;
26122 fra.me.REG[8] = NIT_NULL;
26123 fra.me.REG[9] = NIT_NULL;
26124 fra.me.REG[0] = p0;
26125 fra.me.REG[1] = p1;
26126 fra.me.REG[0] = NIT_NULL;
26127 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26128 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26129 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26130 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26131 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26132 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26133 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26134 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26135 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26136 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26137 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
26138 /* ./parser//parser.nit:9302 */
26139 if (UNTAG_Bool(REGB0)) {
26140 } else {
26141 fprintf(stderr, "Assert failed");
26142 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9302);
26143 nit_exit(1);
26144 }
26145 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
26146 /* ./parser//parser.nit:9304 */
26147 if (UNTAG_Bool(REGB0)) {
26148 } else {
26149 fprintf(stderr, "Assert failed");
26150 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9304);
26151 nit_exit(1);
26152 }
26153 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
26154 /* ./parser//parser.nit:9306 */
26155 if (UNTAG_Bool(REGB0)) {
26156 } else {
26157 fprintf(stderr, "Assert failed");
26158 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9306);
26159 nit_exit(1);
26160 }
26161 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
26162 /* ./parser//parser.nit:9308 */
26163 if (UNTAG_Bool(REGB0)) {
26164 } else {
26165 fprintf(stderr, "Assert failed");
26166 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9308);
26167 nit_exit(1);
26168 }
26169 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
26170 /* ./parser//parser.nit:9310 */
26171 if (UNTAG_Bool(REGB0)) {
26172 } else {
26173 fprintf(stderr, "Assert failed");
26174 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9310);
26175 nit_exit(1);
26176 }
26177 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
26178 /* ./parser//parser.nit:9312 */
26179 if (UNTAG_Bool(REGB0)) {
26180 } else {
26181 fprintf(stderr, "Assert failed");
26182 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9312);
26183 nit_exit(1);
26184 }
26185 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
26186 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
26187 /* ./parser//parser.nit:9318 */
26188 if (UNTAG_Bool(REGB0)) {
26189 } else {
26190 fprintf(stderr, "Assert failed");
26191 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9318);
26192 nit_exit(1);
26193 }
26194 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
26195 /* ./parser//parser.nit:9320 */
26196 if (UNTAG_Bool(REGB0)) {
26197 } else {
26198 fprintf(stderr, "Assert failed");
26199 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9320);
26200 nit_exit(1);
26201 }
26202 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
26203 fra.me.REG[0] = fra.me.REG[2];
26204 REGB0 = TAG_Int(12);
26205 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26206 /* ./parser//parser.nit:9331 */
26207 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
26208 stack_frame_head = fra.me.prev;
26209 return;
26210 }
26211 void parser___ReduceAction180___init(val_t p0, int* init_table){
26212 int itpos184 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction180].i;
26213 struct {struct stack_frame_t me;} fra;
26214 val_t tmp;
26215 if (init_table[itpos184]) return;
26216 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26217 fra.me.file = LOCATE_parser;
26218 fra.me.line = 9333;
26219 fra.me.meth = LOCATE_parser___ReduceAction180___init;
26220 fra.me.has_broke = 0;
26221 fra.me.REG_size = 1;
26222 fra.me.REG[0] = NIT_NULL;
26223 fra.me.REG[0] = p0;
26224 /* ./parser//parser.nit:9333 */
26225 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
26226 stack_frame_head = fra.me.prev;
26227 init_table[itpos184] = 1;
26228 return;
26229 }
26230 void parser___ReduceAction181___action(val_t p0, val_t p1){
26231 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
26232 val_t REGB0;
26233 val_t tmp;
26234 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26235 fra.me.file = LOCATE_parser;
26236 fra.me.line = 9337;
26237 fra.me.meth = LOCATE_parser___ReduceAction181___action;
26238 fra.me.has_broke = 0;
26239 fra.me.REG_size = 9;
26240 fra.me.REG[0] = NIT_NULL;
26241 fra.me.REG[1] = NIT_NULL;
26242 fra.me.REG[2] = NIT_NULL;
26243 fra.me.REG[3] = NIT_NULL;
26244 fra.me.REG[4] = NIT_NULL;
26245 fra.me.REG[5] = NIT_NULL;
26246 fra.me.REG[6] = NIT_NULL;
26247 fra.me.REG[7] = NIT_NULL;
26248 fra.me.REG[8] = NIT_NULL;
26249 fra.me.REG[0] = p0;
26250 fra.me.REG[1] = p1;
26251 fra.me.REG[0] = NIT_NULL;
26252 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26253 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26254 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26255 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26256 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26257 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26258 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26259 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26260 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26261 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
26262 /* ./parser//parser.nit:9350 */
26263 if (UNTAG_Bool(REGB0)) {
26264 } else {
26265 fprintf(stderr, "Assert failed");
26266 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9350);
26267 nit_exit(1);
26268 }
26269 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
26270 /* ./parser//parser.nit:9352 */
26271 if (UNTAG_Bool(REGB0)) {
26272 } else {
26273 fprintf(stderr, "Assert failed");
26274 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9352);
26275 nit_exit(1);
26276 }
26277 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
26278 /* ./parser//parser.nit:9354 */
26279 if (UNTAG_Bool(REGB0)) {
26280 } else {
26281 fprintf(stderr, "Assert failed");
26282 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9354);
26283 nit_exit(1);
26284 }
26285 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
26286 /* ./parser//parser.nit:9356 */
26287 if (UNTAG_Bool(REGB0)) {
26288 } else {
26289 fprintf(stderr, "Assert failed");
26290 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9356);
26291 nit_exit(1);
26292 }
26293 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
26294 /* ./parser//parser.nit:9358 */
26295 if (UNTAG_Bool(REGB0)) {
26296 } else {
26297 fprintf(stderr, "Assert failed");
26298 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9358);
26299 nit_exit(1);
26300 }
26301 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
26302 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
26303 /* ./parser//parser.nit:9363 */
26304 if (UNTAG_Bool(REGB0)) {
26305 } else {
26306 fprintf(stderr, "Assert failed");
26307 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9363);
26308 nit_exit(1);
26309 }
26310 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
26311 /* ./parser//parser.nit:9365 */
26312 if (UNTAG_Bool(REGB0)) {
26313 } else {
26314 fprintf(stderr, "Assert failed");
26315 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9365);
26316 nit_exit(1);
26317 }
26318 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
26319 fra.me.REG[0] = fra.me.REG[2];
26320 REGB0 = TAG_Int(12);
26321 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26322 /* ./parser//parser.nit:9376 */
26323 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
26324 stack_frame_head = fra.me.prev;
26325 return;
26326 }
26327 void parser___ReduceAction181___init(val_t p0, int* init_table){
26328 int itpos185 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction181].i;
26329 struct {struct stack_frame_t me;} fra;
26330 val_t tmp;
26331 if (init_table[itpos185]) return;
26332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26333 fra.me.file = LOCATE_parser;
26334 fra.me.line = 9378;
26335 fra.me.meth = LOCATE_parser___ReduceAction181___init;
26336 fra.me.has_broke = 0;
26337 fra.me.REG_size = 1;
26338 fra.me.REG[0] = NIT_NULL;
26339 fra.me.REG[0] = p0;
26340 /* ./parser//parser.nit:9378 */
26341 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
26342 stack_frame_head = fra.me.prev;
26343 init_table[itpos185] = 1;
26344 return;
26345 }
26346 void parser___ReduceAction182___action(val_t p0, val_t p1){
26347 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
26348 val_t REGB0;
26349 val_t tmp;
26350 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26351 fra.me.file = LOCATE_parser;
26352 fra.me.line = 9382;
26353 fra.me.meth = LOCATE_parser___ReduceAction182___action;
26354 fra.me.has_broke = 0;
26355 fra.me.REG_size = 7;
26356 fra.me.REG[0] = NIT_NULL;
26357 fra.me.REG[1] = NIT_NULL;
26358 fra.me.REG[2] = NIT_NULL;
26359 fra.me.REG[3] = NIT_NULL;
26360 fra.me.REG[4] = NIT_NULL;
26361 fra.me.REG[5] = NIT_NULL;
26362 fra.me.REG[6] = NIT_NULL;
26363 fra.me.REG[0] = p0;
26364 fra.me.REG[1] = p1;
26365 fra.me.REG[0] = NIT_NULL;
26366 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26367 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26368 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26369 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26370 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26371 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26372 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26373 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
26374 /* ./parser//parser.nit:9393 */
26375 if (UNTAG_Bool(REGB0)) {
26376 } else {
26377 fprintf(stderr, "Assert failed");
26378 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9393);
26379 nit_exit(1);
26380 }
26381 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
26382 /* ./parser//parser.nit:9395 */
26383 if (UNTAG_Bool(REGB0)) {
26384 } else {
26385 fprintf(stderr, "Assert failed");
26386 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9395);
26387 nit_exit(1);
26388 }
26389 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
26390 /* ./parser//parser.nit:9397 */
26391 if (UNTAG_Bool(REGB0)) {
26392 } else {
26393 fprintf(stderr, "Assert failed");
26394 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9397);
26395 nit_exit(1);
26396 }
26397 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
26398 /* ./parser//parser.nit:9399 */
26399 if (UNTAG_Bool(REGB0)) {
26400 } else {
26401 fprintf(stderr, "Assert failed");
26402 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9399);
26403 nit_exit(1);
26404 }
26405 fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
26406 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
26407 /* ./parser//parser.nit:9404 */
26408 if (UNTAG_Bool(REGB0)) {
26409 } else {
26410 fprintf(stderr, "Assert failed");
26411 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9404);
26412 nit_exit(1);
26413 }
26414 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
26415 fra.me.REG[0] = fra.me.REG[2];
26416 REGB0 = TAG_Int(12);
26417 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26418 /* ./parser//parser.nit:9414 */
26419 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
26420 stack_frame_head = fra.me.prev;
26421 return;
26422 }
26423 void parser___ReduceAction182___init(val_t p0, int* init_table){
26424 int itpos186 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction182].i;
26425 struct {struct stack_frame_t me;} fra;
26426 val_t tmp;
26427 if (init_table[itpos186]) return;
26428 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26429 fra.me.file = LOCATE_parser;
26430 fra.me.line = 9416;
26431 fra.me.meth = LOCATE_parser___ReduceAction182___init;
26432 fra.me.has_broke = 0;
26433 fra.me.REG_size = 1;
26434 fra.me.REG[0] = NIT_NULL;
26435 fra.me.REG[0] = p0;
26436 /* ./parser//parser.nit:9416 */
26437 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
26438 stack_frame_head = fra.me.prev;
26439 init_table[itpos186] = 1;
26440 return;
26441 }
26442 void parser___ReduceAction183___action(val_t p0, val_t p1){
26443 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
26444 val_t REGB0;
26445 val_t tmp;
26446 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26447 fra.me.file = LOCATE_parser;
26448 fra.me.line = 9420;
26449 fra.me.meth = LOCATE_parser___ReduceAction183___action;
26450 fra.me.has_broke = 0;
26451 fra.me.REG_size = 7;
26452 fra.me.REG[0] = NIT_NULL;
26453 fra.me.REG[1] = NIT_NULL;
26454 fra.me.REG[2] = NIT_NULL;
26455 fra.me.REG[3] = NIT_NULL;
26456 fra.me.REG[4] = NIT_NULL;
26457 fra.me.REG[5] = NIT_NULL;
26458 fra.me.REG[6] = NIT_NULL;
26459 fra.me.REG[0] = p0;
26460 fra.me.REG[1] = p1;
26461 fra.me.REG[0] = NIT_NULL;
26462 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26463 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26464 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26465 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26466 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26467 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26468 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26469 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
26470 /* ./parser//parser.nit:9431 */
26471 if (UNTAG_Bool(REGB0)) {
26472 } else {
26473 fprintf(stderr, "Assert failed");
26474 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9431);
26475 nit_exit(1);
26476 }
26477 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
26478 /* ./parser//parser.nit:9433 */
26479 if (UNTAG_Bool(REGB0)) {
26480 } else {
26481 fprintf(stderr, "Assert failed");
26482 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9433);
26483 nit_exit(1);
26484 }
26485 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
26486 /* ./parser//parser.nit:9435 */
26487 if (UNTAG_Bool(REGB0)) {
26488 } else {
26489 fprintf(stderr, "Assert failed");
26490 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9435);
26491 nit_exit(1);
26492 }
26493 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
26494 /* ./parser//parser.nit:9437 */
26495 if (UNTAG_Bool(REGB0)) {
26496 } else {
26497 fprintf(stderr, "Assert failed");
26498 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9437);
26499 nit_exit(1);
26500 }
26501 fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
26502 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
26503 /* ./parser//parser.nit:9442 */
26504 if (UNTAG_Bool(REGB0)) {
26505 } else {
26506 fprintf(stderr, "Assert failed");
26507 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9442);
26508 nit_exit(1);
26509 }
26510 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
26511 fra.me.REG[0] = fra.me.REG[2];
26512 REGB0 = TAG_Int(12);
26513 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26514 /* ./parser//parser.nit:9452 */
26515 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
26516 stack_frame_head = fra.me.prev;
26517 return;
26518 }
26519 void parser___ReduceAction183___init(val_t p0, int* init_table){
26520 int itpos187 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction183].i;
26521 struct {struct stack_frame_t me;} fra;
26522 val_t tmp;
26523 if (init_table[itpos187]) return;
26524 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26525 fra.me.file = LOCATE_parser;
26526 fra.me.line = 9454;
26527 fra.me.meth = LOCATE_parser___ReduceAction183___init;
26528 fra.me.has_broke = 0;
26529 fra.me.REG_size = 1;
26530 fra.me.REG[0] = NIT_NULL;
26531 fra.me.REG[0] = p0;
26532 /* ./parser//parser.nit:9454 */
26533 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
26534 stack_frame_head = fra.me.prev;
26535 init_table[itpos187] = 1;
26536 return;
26537 }
26538 void parser___ReduceAction184___action(val_t p0, val_t p1){
26539 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
26540 val_t REGB0;
26541 val_t tmp;
26542 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26543 fra.me.file = LOCATE_parser;
26544 fra.me.line = 9458;
26545 fra.me.meth = LOCATE_parser___ReduceAction184___action;
26546 fra.me.has_broke = 0;
26547 fra.me.REG_size = 7;
26548 fra.me.REG[0] = NIT_NULL;
26549 fra.me.REG[1] = NIT_NULL;
26550 fra.me.REG[2] = NIT_NULL;
26551 fra.me.REG[3] = NIT_NULL;
26552 fra.me.REG[4] = NIT_NULL;
26553 fra.me.REG[5] = NIT_NULL;
26554 fra.me.REG[6] = NIT_NULL;
26555 fra.me.REG[0] = p0;
26556 fra.me.REG[1] = p1;
26557 fra.me.REG[0] = NIT_NULL;
26558 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26559 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26560 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26561 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26562 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26563 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26564 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26565 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
26566 /* ./parser//parser.nit:9469 */
26567 if (UNTAG_Bool(REGB0)) {
26568 } else {
26569 fprintf(stderr, "Assert failed");
26570 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9469);
26571 nit_exit(1);
26572 }
26573 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
26574 /* ./parser//parser.nit:9471 */
26575 if (UNTAG_Bool(REGB0)) {
26576 } else {
26577 fprintf(stderr, "Assert failed");
26578 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9471);
26579 nit_exit(1);
26580 }
26581 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
26582 /* ./parser//parser.nit:9473 */
26583 if (UNTAG_Bool(REGB0)) {
26584 } else {
26585 fprintf(stderr, "Assert failed");
26586 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9473);
26587 nit_exit(1);
26588 }
26589 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
26590 /* ./parser//parser.nit:9475 */
26591 if (UNTAG_Bool(REGB0)) {
26592 } else {
26593 fprintf(stderr, "Assert failed");
26594 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9475);
26595 nit_exit(1);
26596 }
26597 fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
26598 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
26599 /* ./parser//parser.nit:9480 */
26600 if (UNTAG_Bool(REGB0)) {
26601 } else {
26602 fprintf(stderr, "Assert failed");
26603 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9480);
26604 nit_exit(1);
26605 }
26606 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
26607 fra.me.REG[0] = fra.me.REG[2];
26608 REGB0 = TAG_Int(12);
26609 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26610 /* ./parser//parser.nit:9490 */
26611 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
26612 stack_frame_head = fra.me.prev;
26613 return;
26614 }
26615 void parser___ReduceAction184___init(val_t p0, int* init_table){
26616 int itpos188 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction184].i;
26617 struct {struct stack_frame_t me;} fra;
26618 val_t tmp;
26619 if (init_table[itpos188]) return;
26620 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26621 fra.me.file = LOCATE_parser;
26622 fra.me.line = 9492;
26623 fra.me.meth = LOCATE_parser___ReduceAction184___init;
26624 fra.me.has_broke = 0;
26625 fra.me.REG_size = 1;
26626 fra.me.REG[0] = NIT_NULL;
26627 fra.me.REG[0] = p0;
26628 /* ./parser//parser.nit:9492 */
26629 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
26630 stack_frame_head = fra.me.prev;
26631 init_table[itpos188] = 1;
26632 return;
26633 }
26634 void parser___ReduceAction185___action(val_t p0, val_t p1){
26635 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
26636 val_t REGB0;
26637 val_t tmp;
26638 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26639 fra.me.file = LOCATE_parser;
26640 fra.me.line = 9496;
26641 fra.me.meth = LOCATE_parser___ReduceAction185___action;
26642 fra.me.has_broke = 0;
26643 fra.me.REG_size = 7;
26644 fra.me.REG[0] = NIT_NULL;
26645 fra.me.REG[1] = NIT_NULL;
26646 fra.me.REG[2] = NIT_NULL;
26647 fra.me.REG[3] = NIT_NULL;
26648 fra.me.REG[4] = NIT_NULL;
26649 fra.me.REG[5] = NIT_NULL;
26650 fra.me.REG[6] = NIT_NULL;
26651 fra.me.REG[0] = p0;
26652 fra.me.REG[1] = p1;
26653 fra.me.REG[0] = NIT_NULL;
26654 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26655 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26656 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26657 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26658 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26659 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26660 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26661 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
26662 /* ./parser//parser.nit:9507 */
26663 if (UNTAG_Bool(REGB0)) {
26664 } else {
26665 fprintf(stderr, "Assert failed");
26666 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9507);
26667 nit_exit(1);
26668 }
26669 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
26670 /* ./parser//parser.nit:9509 */
26671 if (UNTAG_Bool(REGB0)) {
26672 } else {
26673 fprintf(stderr, "Assert failed");
26674 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9509);
26675 nit_exit(1);
26676 }
26677 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
26678 /* ./parser//parser.nit:9511 */
26679 if (UNTAG_Bool(REGB0)) {
26680 } else {
26681 fprintf(stderr, "Assert failed");
26682 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9511);
26683 nit_exit(1);
26684 }
26685 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
26686 /* ./parser//parser.nit:9513 */
26687 if (UNTAG_Bool(REGB0)) {
26688 } else {
26689 fprintf(stderr, "Assert failed");
26690 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9513);
26691 nit_exit(1);
26692 }
26693 fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
26694 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
26695 /* ./parser//parser.nit:9518 */
26696 if (UNTAG_Bool(REGB0)) {
26697 } else {
26698 fprintf(stderr, "Assert failed");
26699 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9518);
26700 nit_exit(1);
26701 }
26702 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
26703 fra.me.REG[0] = fra.me.REG[2];
26704 REGB0 = TAG_Int(12);
26705 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26706 /* ./parser//parser.nit:9528 */
26707 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
26708 stack_frame_head = fra.me.prev;
26709 return;
26710 }
26711 void parser___ReduceAction185___init(val_t p0, int* init_table){
26712 int itpos189 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction185].i;
26713 struct {struct stack_frame_t me;} fra;
26714 val_t tmp;
26715 if (init_table[itpos189]) return;
26716 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26717 fra.me.file = LOCATE_parser;
26718 fra.me.line = 9530;
26719 fra.me.meth = LOCATE_parser___ReduceAction185___init;
26720 fra.me.has_broke = 0;
26721 fra.me.REG_size = 1;
26722 fra.me.REG[0] = NIT_NULL;
26723 fra.me.REG[0] = p0;
26724 /* ./parser//parser.nit:9530 */
26725 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
26726 stack_frame_head = fra.me.prev;
26727 init_table[itpos189] = 1;
26728 return;
26729 }
26730 void parser___ReduceAction186___action(val_t p0, val_t p1){
26731 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
26732 val_t REGB0;
26733 val_t tmp;
26734 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26735 fra.me.file = LOCATE_parser;
26736 fra.me.line = 9534;
26737 fra.me.meth = LOCATE_parser___ReduceAction186___action;
26738 fra.me.has_broke = 0;
26739 fra.me.REG_size = 7;
26740 fra.me.REG[0] = NIT_NULL;
26741 fra.me.REG[1] = NIT_NULL;
26742 fra.me.REG[2] = NIT_NULL;
26743 fra.me.REG[3] = NIT_NULL;
26744 fra.me.REG[4] = NIT_NULL;
26745 fra.me.REG[5] = NIT_NULL;
26746 fra.me.REG[6] = NIT_NULL;
26747 fra.me.REG[0] = p0;
26748 fra.me.REG[1] = p1;
26749 fra.me.REG[0] = NIT_NULL;
26750 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26751 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26752 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26753 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26754 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26755 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26756 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26757 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
26758 /* ./parser//parser.nit:9545 */
26759 if (UNTAG_Bool(REGB0)) {
26760 } else {
26761 fprintf(stderr, "Assert failed");
26762 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9545);
26763 nit_exit(1);
26764 }
26765 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
26766 /* ./parser//parser.nit:9547 */
26767 if (UNTAG_Bool(REGB0)) {
26768 } else {
26769 fprintf(stderr, "Assert failed");
26770 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9547);
26771 nit_exit(1);
26772 }
26773 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
26774 /* ./parser//parser.nit:9549 */
26775 if (UNTAG_Bool(REGB0)) {
26776 } else {
26777 fprintf(stderr, "Assert failed");
26778 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9549);
26779 nit_exit(1);
26780 }
26781 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
26782 /* ./parser//parser.nit:9551 */
26783 if (UNTAG_Bool(REGB0)) {
26784 } else {
26785 fprintf(stderr, "Assert failed");
26786 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9551);
26787 nit_exit(1);
26788 }
26789 fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
26790 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
26791 /* ./parser//parser.nit:9556 */
26792 if (UNTAG_Bool(REGB0)) {
26793 } else {
26794 fprintf(stderr, "Assert failed");
26795 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9556);
26796 nit_exit(1);
26797 }
26798 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
26799 fra.me.REG[0] = fra.me.REG[2];
26800 REGB0 = TAG_Int(12);
26801 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26802 /* ./parser//parser.nit:9566 */
26803 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
26804 stack_frame_head = fra.me.prev;
26805 return;
26806 }
26807 void parser___ReduceAction186___init(val_t p0, int* init_table){
26808 int itpos190 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction186].i;
26809 struct {struct stack_frame_t me;} fra;
26810 val_t tmp;
26811 if (init_table[itpos190]) return;
26812 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26813 fra.me.file = LOCATE_parser;
26814 fra.me.line = 9568;
26815 fra.me.meth = LOCATE_parser___ReduceAction186___init;
26816 fra.me.has_broke = 0;
26817 fra.me.REG_size = 1;
26818 fra.me.REG[0] = NIT_NULL;
26819 fra.me.REG[0] = p0;
26820 /* ./parser//parser.nit:9568 */
26821 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
26822 stack_frame_head = fra.me.prev;
26823 init_table[itpos190] = 1;
26824 return;
26825 }
26826 void parser___ReduceAction187___action(val_t p0, val_t p1){
26827 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
26828 val_t REGB0;
26829 val_t tmp;
26830 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26831 fra.me.file = LOCATE_parser;
26832 fra.me.line = 9572;
26833 fra.me.meth = LOCATE_parser___ReduceAction187___action;
26834 fra.me.has_broke = 0;
26835 fra.me.REG_size = 7;
26836 fra.me.REG[0] = NIT_NULL;
26837 fra.me.REG[1] = NIT_NULL;
26838 fra.me.REG[2] = NIT_NULL;
26839 fra.me.REG[3] = NIT_NULL;
26840 fra.me.REG[4] = NIT_NULL;
26841 fra.me.REG[5] = NIT_NULL;
26842 fra.me.REG[6] = NIT_NULL;
26843 fra.me.REG[0] = p0;
26844 fra.me.REG[1] = p1;
26845 fra.me.REG[0] = NIT_NULL;
26846 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26847 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26848 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26849 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26850 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26851 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26852 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26853 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
26854 /* ./parser//parser.nit:9583 */
26855 if (UNTAG_Bool(REGB0)) {
26856 } else {
26857 fprintf(stderr, "Assert failed");
26858 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9583);
26859 nit_exit(1);
26860 }
26861 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
26862 /* ./parser//parser.nit:9585 */
26863 if (UNTAG_Bool(REGB0)) {
26864 } else {
26865 fprintf(stderr, "Assert failed");
26866 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9585);
26867 nit_exit(1);
26868 }
26869 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
26870 /* ./parser//parser.nit:9587 */
26871 if (UNTAG_Bool(REGB0)) {
26872 } else {
26873 fprintf(stderr, "Assert failed");
26874 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9587);
26875 nit_exit(1);
26876 }
26877 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
26878 /* ./parser//parser.nit:9589 */
26879 if (UNTAG_Bool(REGB0)) {
26880 } else {
26881 fprintf(stderr, "Assert failed");
26882 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9589);
26883 nit_exit(1);
26884 }
26885 fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
26886 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
26887 /* ./parser//parser.nit:9594 */
26888 if (UNTAG_Bool(REGB0)) {
26889 } else {
26890 fprintf(stderr, "Assert failed");
26891 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9594);
26892 nit_exit(1);
26893 }
26894 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
26895 fra.me.REG[0] = fra.me.REG[2];
26896 REGB0 = TAG_Int(12);
26897 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26898 /* ./parser//parser.nit:9604 */
26899 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
26900 stack_frame_head = fra.me.prev;
26901 return;
26902 }
26903 void parser___ReduceAction187___init(val_t p0, int* init_table){
26904 int itpos191 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction187].i;
26905 struct {struct stack_frame_t me;} fra;
26906 val_t tmp;
26907 if (init_table[itpos191]) return;
26908 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26909 fra.me.file = LOCATE_parser;
26910 fra.me.line = 9606;
26911 fra.me.meth = LOCATE_parser___ReduceAction187___init;
26912 fra.me.has_broke = 0;
26913 fra.me.REG_size = 1;
26914 fra.me.REG[0] = NIT_NULL;
26915 fra.me.REG[0] = p0;
26916 /* ./parser//parser.nit:9606 */
26917 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
26918 stack_frame_head = fra.me.prev;
26919 init_table[itpos191] = 1;
26920 return;
26921 }
26922 void parser___ReduceAction188___action(val_t p0, val_t p1){
26923 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
26924 val_t REGB0;
26925 val_t tmp;
26926 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26927 fra.me.file = LOCATE_parser;
26928 fra.me.line = 9610;
26929 fra.me.meth = LOCATE_parser___ReduceAction188___action;
26930 fra.me.has_broke = 0;
26931 fra.me.REG_size = 7;
26932 fra.me.REG[0] = NIT_NULL;
26933 fra.me.REG[1] = NIT_NULL;
26934 fra.me.REG[2] = NIT_NULL;
26935 fra.me.REG[3] = NIT_NULL;
26936 fra.me.REG[4] = NIT_NULL;
26937 fra.me.REG[5] = NIT_NULL;
26938 fra.me.REG[6] = NIT_NULL;
26939 fra.me.REG[0] = p0;
26940 fra.me.REG[1] = p1;
26941 fra.me.REG[0] = NIT_NULL;
26942 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26943 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26944 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26945 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26946 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26947 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26948 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26949 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
26950 /* ./parser//parser.nit:9621 */
26951 if (UNTAG_Bool(REGB0)) {
26952 } else {
26953 fprintf(stderr, "Assert failed");
26954 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9621);
26955 nit_exit(1);
26956 }
26957 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
26958 /* ./parser//parser.nit:9623 */
26959 if (UNTAG_Bool(REGB0)) {
26960 } else {
26961 fprintf(stderr, "Assert failed");
26962 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9623);
26963 nit_exit(1);
26964 }
26965 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
26966 /* ./parser//parser.nit:9625 */
26967 if (UNTAG_Bool(REGB0)) {
26968 } else {
26969 fprintf(stderr, "Assert failed");
26970 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9625);
26971 nit_exit(1);
26972 }
26973 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
26974 /* ./parser//parser.nit:9627 */
26975 if (UNTAG_Bool(REGB0)) {
26976 } else {
26977 fprintf(stderr, "Assert failed");
26978 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9627);
26979 nit_exit(1);
26980 }
26981 fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
26982 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
26983 /* ./parser//parser.nit:9632 */
26984 if (UNTAG_Bool(REGB0)) {
26985 } else {
26986 fprintf(stderr, "Assert failed");
26987 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9632);
26988 nit_exit(1);
26989 }
26990 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
26991 fra.me.REG[0] = fra.me.REG[2];
26992 REGB0 = TAG_Int(12);
26993 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26994 /* ./parser//parser.nit:9642 */
26995 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
26996 stack_frame_head = fra.me.prev;
26997 return;
26998 }
26999 void parser___ReduceAction188___init(val_t p0, int* init_table){
27000 int itpos192 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction188].i;
27001 struct {struct stack_frame_t me;} fra;
27002 val_t tmp;
27003 if (init_table[itpos192]) return;
27004 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27005 fra.me.file = LOCATE_parser;
27006 fra.me.line = 9644;
27007 fra.me.meth = LOCATE_parser___ReduceAction188___init;
27008 fra.me.has_broke = 0;
27009 fra.me.REG_size = 1;
27010 fra.me.REG[0] = NIT_NULL;
27011 fra.me.REG[0] = p0;
27012 /* ./parser//parser.nit:9644 */
27013 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
27014 stack_frame_head = fra.me.prev;
27015 init_table[itpos192] = 1;
27016 return;
27017 }
27018 void parser___ReduceAction189___action(val_t p0, val_t p1){
27019 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
27020 val_t REGB0;
27021 val_t tmp;
27022 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27023 fra.me.file = LOCATE_parser;
27024 fra.me.line = 9648;
27025 fra.me.meth = LOCATE_parser___ReduceAction189___action;
27026 fra.me.has_broke = 0;
27027 fra.me.REG_size = 7;
27028 fra.me.REG[0] = NIT_NULL;
27029 fra.me.REG[1] = NIT_NULL;
27030 fra.me.REG[2] = NIT_NULL;
27031 fra.me.REG[3] = NIT_NULL;
27032 fra.me.REG[4] = NIT_NULL;
27033 fra.me.REG[5] = NIT_NULL;
27034 fra.me.REG[6] = NIT_NULL;
27035 fra.me.REG[0] = p0;
27036 fra.me.REG[1] = p1;
27037 fra.me.REG[0] = NIT_NULL;
27038 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27039 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27040 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27041 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27042 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27043 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27044 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27045 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
27046 /* ./parser//parser.nit:9659 */
27047 if (UNTAG_Bool(REGB0)) {
27048 } else {
27049 fprintf(stderr, "Assert failed");
27050 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9659);
27051 nit_exit(1);
27052 }
27053 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
27054 /* ./parser//parser.nit:9661 */
27055 if (UNTAG_Bool(REGB0)) {
27056 } else {
27057 fprintf(stderr, "Assert failed");
27058 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9661);
27059 nit_exit(1);
27060 }
27061 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
27062 /* ./parser//parser.nit:9663 */
27063 if (UNTAG_Bool(REGB0)) {
27064 } else {
27065 fprintf(stderr, "Assert failed");
27066 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9663);
27067 nit_exit(1);
27068 }
27069 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
27070 /* ./parser//parser.nit:9665 */
27071 if (UNTAG_Bool(REGB0)) {
27072 } else {
27073 fprintf(stderr, "Assert failed");
27074 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9665);
27075 nit_exit(1);
27076 }
27077 fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
27078 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
27079 /* ./parser//parser.nit:9670 */
27080 if (UNTAG_Bool(REGB0)) {
27081 } else {
27082 fprintf(stderr, "Assert failed");
27083 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9670);
27084 nit_exit(1);
27085 }
27086 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
27087 fra.me.REG[0] = fra.me.REG[2];
27088 REGB0 = TAG_Int(12);
27089 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27090 /* ./parser//parser.nit:9680 */
27091 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
27092 stack_frame_head = fra.me.prev;
27093 return;
27094 }
27095 void parser___ReduceAction189___init(val_t p0, int* init_table){
27096 int itpos193 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction189].i;
27097 struct {struct stack_frame_t me;} fra;
27098 val_t tmp;
27099 if (init_table[itpos193]) return;
27100 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27101 fra.me.file = LOCATE_parser;
27102 fra.me.line = 9682;
27103 fra.me.meth = LOCATE_parser___ReduceAction189___init;
27104 fra.me.has_broke = 0;
27105 fra.me.REG_size = 1;
27106 fra.me.REG[0] = NIT_NULL;
27107 fra.me.REG[0] = p0;
27108 /* ./parser//parser.nit:9682 */
27109 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
27110 stack_frame_head = fra.me.prev;
27111 init_table[itpos193] = 1;
27112 return;
27113 }
27114 void parser___ReduceAction190___action(val_t p0, val_t p1){
27115 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
27116 val_t REGB0;
27117 val_t tmp;
27118 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27119 fra.me.file = LOCATE_parser;
27120 fra.me.line = 9686;
27121 fra.me.meth = LOCATE_parser___ReduceAction190___action;
27122 fra.me.has_broke = 0;
27123 fra.me.REG_size = 7;
27124 fra.me.REG[0] = NIT_NULL;
27125 fra.me.REG[1] = NIT_NULL;
27126 fra.me.REG[2] = NIT_NULL;
27127 fra.me.REG[3] = NIT_NULL;
27128 fra.me.REG[4] = NIT_NULL;
27129 fra.me.REG[5] = NIT_NULL;
27130 fra.me.REG[6] = NIT_NULL;
27131 fra.me.REG[0] = p0;
27132 fra.me.REG[1] = p1;
27133 fra.me.REG[0] = NIT_NULL;
27134 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27135 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27136 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27137 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27138 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27139 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27140 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27141 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
27142 /* ./parser//parser.nit:9697 */
27143 if (UNTAG_Bool(REGB0)) {
27144 } else {
27145 fprintf(stderr, "Assert failed");
27146 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9697);
27147 nit_exit(1);
27148 }
27149 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
27150 /* ./parser//parser.nit:9699 */
27151 if (UNTAG_Bool(REGB0)) {
27152 } else {
27153 fprintf(stderr, "Assert failed");
27154 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9699);
27155 nit_exit(1);
27156 }
27157 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
27158 /* ./parser//parser.nit:9701 */
27159 if (UNTAG_Bool(REGB0)) {
27160 } else {
27161 fprintf(stderr, "Assert failed");
27162 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9701);
27163 nit_exit(1);
27164 }
27165 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
27166 /* ./parser//parser.nit:9703 */
27167 if (UNTAG_Bool(REGB0)) {
27168 } else {
27169 fprintf(stderr, "Assert failed");
27170 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9703);
27171 nit_exit(1);
27172 }
27173 fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
27174 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
27175 /* ./parser//parser.nit:9708 */
27176 if (UNTAG_Bool(REGB0)) {
27177 } else {
27178 fprintf(stderr, "Assert failed");
27179 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9708);
27180 nit_exit(1);
27181 }
27182 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
27183 fra.me.REG[0] = fra.me.REG[2];
27184 REGB0 = TAG_Int(12);
27185 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27186 /* ./parser//parser.nit:9718 */
27187 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
27188 stack_frame_head = fra.me.prev;
27189 return;
27190 }
27191 void parser___ReduceAction190___init(val_t p0, int* init_table){
27192 int itpos194 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction190].i;
27193 struct {struct stack_frame_t me;} fra;
27194 val_t tmp;
27195 if (init_table[itpos194]) return;
27196 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27197 fra.me.file = LOCATE_parser;
27198 fra.me.line = 9720;
27199 fra.me.meth = LOCATE_parser___ReduceAction190___init;
27200 fra.me.has_broke = 0;
27201 fra.me.REG_size = 1;
27202 fra.me.REG[0] = NIT_NULL;
27203 fra.me.REG[0] = p0;
27204 /* ./parser//parser.nit:9720 */
27205 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
27206 stack_frame_head = fra.me.prev;
27207 init_table[itpos194] = 1;
27208 return;
27209 }
27210 void parser___ReduceAction191___action(val_t p0, val_t p1){
27211 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
27212 val_t REGB0;
27213 val_t tmp;
27214 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27215 fra.me.file = LOCATE_parser;
27216 fra.me.line = 9724;
27217 fra.me.meth = LOCATE_parser___ReduceAction191___action;
27218 fra.me.has_broke = 0;
27219 fra.me.REG_size = 7;
27220 fra.me.REG[0] = NIT_NULL;
27221 fra.me.REG[1] = NIT_NULL;
27222 fra.me.REG[2] = NIT_NULL;
27223 fra.me.REG[3] = NIT_NULL;
27224 fra.me.REG[4] = NIT_NULL;
27225 fra.me.REG[5] = NIT_NULL;
27226 fra.me.REG[6] = NIT_NULL;
27227 fra.me.REG[0] = p0;
27228 fra.me.REG[1] = p1;
27229 fra.me.REG[0] = NIT_NULL;
27230 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27231 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27232 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27233 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27234 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27235 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27236 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27237 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
27238 /* ./parser//parser.nit:9735 */
27239 if (UNTAG_Bool(REGB0)) {
27240 } else {
27241 fprintf(stderr, "Assert failed");
27242 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9735);
27243 nit_exit(1);
27244 }
27245 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
27246 /* ./parser//parser.nit:9737 */
27247 if (UNTAG_Bool(REGB0)) {
27248 } else {
27249 fprintf(stderr, "Assert failed");
27250 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9737);
27251 nit_exit(1);
27252 }
27253 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
27254 /* ./parser//parser.nit:9739 */
27255 if (UNTAG_Bool(REGB0)) {
27256 } else {
27257 fprintf(stderr, "Assert failed");
27258 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9739);
27259 nit_exit(1);
27260 }
27261 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
27262 /* ./parser//parser.nit:9741 */
27263 if (UNTAG_Bool(REGB0)) {
27264 } else {
27265 fprintf(stderr, "Assert failed");
27266 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9741);
27267 nit_exit(1);
27268 }
27269 fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
27270 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
27271 /* ./parser//parser.nit:9746 */
27272 if (UNTAG_Bool(REGB0)) {
27273 } else {
27274 fprintf(stderr, "Assert failed");
27275 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9746);
27276 nit_exit(1);
27277 }
27278 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
27279 fra.me.REG[0] = fra.me.REG[2];
27280 REGB0 = TAG_Int(12);
27281 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27282 /* ./parser//parser.nit:9756 */
27283 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
27284 stack_frame_head = fra.me.prev;
27285 return;
27286 }
27287 void parser___ReduceAction191___init(val_t p0, int* init_table){
27288 int itpos195 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction191].i;
27289 struct {struct stack_frame_t me;} fra;
27290 val_t tmp;
27291 if (init_table[itpos195]) return;
27292 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27293 fra.me.file = LOCATE_parser;
27294 fra.me.line = 9758;
27295 fra.me.meth = LOCATE_parser___ReduceAction191___init;
27296 fra.me.has_broke = 0;
27297 fra.me.REG_size = 1;
27298 fra.me.REG[0] = NIT_NULL;
27299 fra.me.REG[0] = p0;
27300 /* ./parser//parser.nit:9758 */
27301 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
27302 stack_frame_head = fra.me.prev;
27303 init_table[itpos195] = 1;
27304 return;
27305 }
27306 void parser___ReduceAction192___action(val_t p0, val_t p1){
27307 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
27308 val_t REGB0;
27309 val_t tmp;
27310 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27311 fra.me.file = LOCATE_parser;
27312 fra.me.line = 9762;
27313 fra.me.meth = LOCATE_parser___ReduceAction192___action;
27314 fra.me.has_broke = 0;
27315 fra.me.REG_size = 7;
27316 fra.me.REG[0] = NIT_NULL;
27317 fra.me.REG[1] = NIT_NULL;
27318 fra.me.REG[2] = NIT_NULL;
27319 fra.me.REG[3] = NIT_NULL;
27320 fra.me.REG[4] = NIT_NULL;
27321 fra.me.REG[5] = NIT_NULL;
27322 fra.me.REG[6] = NIT_NULL;
27323 fra.me.REG[0] = p0;
27324 fra.me.REG[1] = p1;
27325 fra.me.REG[0] = NIT_NULL;
27326 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27327 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27328 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27329 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27330 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27331 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27332 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27333 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
27334 /* ./parser//parser.nit:9773 */
27335 if (UNTAG_Bool(REGB0)) {
27336 } else {
27337 fprintf(stderr, "Assert failed");
27338 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9773);
27339 nit_exit(1);
27340 }
27341 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
27342 /* ./parser//parser.nit:9775 */
27343 if (UNTAG_Bool(REGB0)) {
27344 } else {
27345 fprintf(stderr, "Assert failed");
27346 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9775);
27347 nit_exit(1);
27348 }
27349 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
27350 /* ./parser//parser.nit:9777 */
27351 if (UNTAG_Bool(REGB0)) {
27352 } else {
27353 fprintf(stderr, "Assert failed");
27354 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9777);
27355 nit_exit(1);
27356 }
27357 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
27358 /* ./parser//parser.nit:9779 */
27359 if (UNTAG_Bool(REGB0)) {
27360 } else {
27361 fprintf(stderr, "Assert failed");
27362 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9779);
27363 nit_exit(1);
27364 }
27365 fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
27366 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
27367 /* ./parser//parser.nit:9784 */
27368 if (UNTAG_Bool(REGB0)) {
27369 } else {
27370 fprintf(stderr, "Assert failed");
27371 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9784);
27372 nit_exit(1);
27373 }
27374 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
27375 fra.me.REG[0] = fra.me.REG[2];
27376 REGB0 = TAG_Int(12);
27377 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27378 /* ./parser//parser.nit:9794 */
27379 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
27380 stack_frame_head = fra.me.prev;
27381 return;
27382 }
27383 void parser___ReduceAction192___init(val_t p0, int* init_table){
27384 int itpos196 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction192].i;
27385 struct {struct stack_frame_t me;} fra;
27386 val_t tmp;
27387 if (init_table[itpos196]) return;
27388 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27389 fra.me.file = LOCATE_parser;
27390 fra.me.line = 9796;
27391 fra.me.meth = LOCATE_parser___ReduceAction192___init;
27392 fra.me.has_broke = 0;
27393 fra.me.REG_size = 1;
27394 fra.me.REG[0] = NIT_NULL;
27395 fra.me.REG[0] = p0;
27396 /* ./parser//parser.nit:9796 */
27397 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
27398 stack_frame_head = fra.me.prev;
27399 init_table[itpos196] = 1;
27400 return;
27401 }
27402 void parser___ReduceAction193___action(val_t p0, val_t p1){
27403 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
27404 val_t REGB0;
27405 val_t tmp;
27406 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27407 fra.me.file = LOCATE_parser;
27408 fra.me.line = 9800;
27409 fra.me.meth = LOCATE_parser___ReduceAction193___action;
27410 fra.me.has_broke = 0;
27411 fra.me.REG_size = 7;
27412 fra.me.REG[0] = NIT_NULL;
27413 fra.me.REG[1] = NIT_NULL;
27414 fra.me.REG[2] = NIT_NULL;
27415 fra.me.REG[3] = NIT_NULL;
27416 fra.me.REG[4] = NIT_NULL;
27417 fra.me.REG[5] = NIT_NULL;
27418 fra.me.REG[6] = NIT_NULL;
27419 fra.me.REG[0] = p0;
27420 fra.me.REG[1] = p1;
27421 fra.me.REG[0] = NIT_NULL;
27422 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27423 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27424 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27425 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27426 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27427 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27428 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27429 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
27430 /* ./parser//parser.nit:9811 */
27431 if (UNTAG_Bool(REGB0)) {
27432 } else {
27433 fprintf(stderr, "Assert failed");
27434 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9811);
27435 nit_exit(1);
27436 }
27437 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
27438 /* ./parser//parser.nit:9813 */
27439 if (UNTAG_Bool(REGB0)) {
27440 } else {
27441 fprintf(stderr, "Assert failed");
27442 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9813);
27443 nit_exit(1);
27444 }
27445 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
27446 /* ./parser//parser.nit:9815 */
27447 if (UNTAG_Bool(REGB0)) {
27448 } else {
27449 fprintf(stderr, "Assert failed");
27450 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9815);
27451 nit_exit(1);
27452 }
27453 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
27454 /* ./parser//parser.nit:9817 */
27455 if (UNTAG_Bool(REGB0)) {
27456 } else {
27457 fprintf(stderr, "Assert failed");
27458 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9817);
27459 nit_exit(1);
27460 }
27461 fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
27462 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
27463 /* ./parser//parser.nit:9822 */
27464 if (UNTAG_Bool(REGB0)) {
27465 } else {
27466 fprintf(stderr, "Assert failed");
27467 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9822);
27468 nit_exit(1);
27469 }
27470 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
27471 fra.me.REG[0] = fra.me.REG[2];
27472 REGB0 = TAG_Int(12);
27473 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27474 /* ./parser//parser.nit:9832 */
27475 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
27476 stack_frame_head = fra.me.prev;
27477 return;
27478 }
27479 void parser___ReduceAction193___init(val_t p0, int* init_table){
27480 int itpos197 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction193].i;
27481 struct {struct stack_frame_t me;} fra;
27482 val_t tmp;
27483 if (init_table[itpos197]) return;
27484 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27485 fra.me.file = LOCATE_parser;
27486 fra.me.line = 9834;
27487 fra.me.meth = LOCATE_parser___ReduceAction193___init;
27488 fra.me.has_broke = 0;
27489 fra.me.REG_size = 1;
27490 fra.me.REG[0] = NIT_NULL;
27491 fra.me.REG[0] = p0;
27492 /* ./parser//parser.nit:9834 */
27493 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
27494 stack_frame_head = fra.me.prev;
27495 init_table[itpos197] = 1;
27496 return;
27497 }
27498 void parser___ReduceAction194___action(val_t p0, val_t p1){
27499 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
27500 val_t REGB0;
27501 val_t tmp;
27502 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27503 fra.me.file = LOCATE_parser;
27504 fra.me.line = 9838;
27505 fra.me.meth = LOCATE_parser___ReduceAction194___action;
27506 fra.me.has_broke = 0;
27507 fra.me.REG_size = 8;
27508 fra.me.REG[0] = NIT_NULL;
27509 fra.me.REG[1] = NIT_NULL;
27510 fra.me.REG[2] = NIT_NULL;
27511 fra.me.REG[3] = NIT_NULL;
27512 fra.me.REG[4] = NIT_NULL;
27513 fra.me.REG[5] = NIT_NULL;
27514 fra.me.REG[6] = NIT_NULL;
27515 fra.me.REG[7] = NIT_NULL;
27516 fra.me.REG[0] = p0;
27517 fra.me.REG[1] = p1;
27518 fra.me.REG[0] = NIT_NULL;
27519 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27520 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27521 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27522 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27523 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27524 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27525 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27526 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27527 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
27528 /* ./parser//parser.nit:9850 */
27529 if (UNTAG_Bool(REGB0)) {
27530 } else {
27531 fprintf(stderr, "Assert failed");
27532 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9850);
27533 nit_exit(1);
27534 }
27535 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
27536 /* ./parser//parser.nit:9852 */
27537 if (UNTAG_Bool(REGB0)) {
27538 } else {
27539 fprintf(stderr, "Assert failed");
27540 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9852);
27541 nit_exit(1);
27542 }
27543 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
27544 /* ./parser//parser.nit:9854 */
27545 if (UNTAG_Bool(REGB0)) {
27546 } else {
27547 fprintf(stderr, "Assert failed");
27548 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9854);
27549 nit_exit(1);
27550 }
27551 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
27552 /* ./parser//parser.nit:9856 */
27553 if (UNTAG_Bool(REGB0)) {
27554 } else {
27555 fprintf(stderr, "Assert failed");
27556 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9856);
27557 nit_exit(1);
27558 }
27559 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
27560 /* ./parser//parser.nit:9858 */
27561 if (UNTAG_Bool(REGB0)) {
27562 } else {
27563 fprintf(stderr, "Assert failed");
27564 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9858);
27565 nit_exit(1);
27566 }
27567 fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
27568 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
27569 /* ./parser//parser.nit:9864 */
27570 if (UNTAG_Bool(REGB0)) {
27571 } else {
27572 fprintf(stderr, "Assert failed");
27573 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9864);
27574 nit_exit(1);
27575 }
27576 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]);
27577 fra.me.REG[0] = fra.me.REG[2];
27578 REGB0 = TAG_Int(12);
27579 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27580 /* ./parser//parser.nit:9874 */
27581 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
27582 stack_frame_head = fra.me.prev;
27583 return;
27584 }
27585 void parser___ReduceAction194___init(val_t p0, int* init_table){
27586 int itpos198 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction194].i;
27587 struct {struct stack_frame_t me;} fra;
27588 val_t tmp;
27589 if (init_table[itpos198]) return;
27590 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27591 fra.me.file = LOCATE_parser;
27592 fra.me.line = 9876;
27593 fra.me.meth = LOCATE_parser___ReduceAction194___init;
27594 fra.me.has_broke = 0;
27595 fra.me.REG_size = 1;
27596 fra.me.REG[0] = NIT_NULL;
27597 fra.me.REG[0] = p0;
27598 /* ./parser//parser.nit:9876 */
27599 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
27600 stack_frame_head = fra.me.prev;
27601 init_table[itpos198] = 1;
27602 return;
27603 }
27604 void parser___ReduceAction195___action(val_t p0, val_t p1){
27605 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
27606 val_t REGB0;
27607 val_t tmp;
27608 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27609 fra.me.file = LOCATE_parser;
27610 fra.me.line = 9880;
27611 fra.me.meth = LOCATE_parser___ReduceAction195___action;
27612 fra.me.has_broke = 0;
27613 fra.me.REG_size = 7;
27614 fra.me.REG[0] = NIT_NULL;
27615 fra.me.REG[1] = NIT_NULL;
27616 fra.me.REG[2] = NIT_NULL;
27617 fra.me.REG[3] = NIT_NULL;
27618 fra.me.REG[4] = NIT_NULL;
27619 fra.me.REG[5] = NIT_NULL;
27620 fra.me.REG[6] = NIT_NULL;
27621 fra.me.REG[0] = p0;
27622 fra.me.REG[1] = p1;
27623 fra.me.REG[0] = NIT_NULL;
27624 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27625 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27626 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27627 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27628 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27629 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27630 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27631 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
27632 /* ./parser//parser.nit:9891 */
27633 if (UNTAG_Bool(REGB0)) {
27634 } else {
27635 fprintf(stderr, "Assert failed");
27636 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9891);
27637 nit_exit(1);
27638 }
27639 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
27640 /* ./parser//parser.nit:9893 */
27641 if (UNTAG_Bool(REGB0)) {
27642 } else {
27643 fprintf(stderr, "Assert failed");
27644 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9893);
27645 nit_exit(1);
27646 }
27647 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
27648 /* ./parser//parser.nit:9895 */
27649 if (UNTAG_Bool(REGB0)) {
27650 } else {
27651 fprintf(stderr, "Assert failed");
27652 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9895);
27653 nit_exit(1);
27654 }
27655 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
27656 /* ./parser//parser.nit:9897 */
27657 if (UNTAG_Bool(REGB0)) {
27658 } else {
27659 fprintf(stderr, "Assert failed");
27660 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9897);
27661 nit_exit(1);
27662 }
27663 fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
27664 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
27665 /* ./parser//parser.nit:9902 */
27666 if (UNTAG_Bool(REGB0)) {
27667 } else {
27668 fprintf(stderr, "Assert failed");
27669 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9902);
27670 nit_exit(1);
27671 }
27672 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
27673 fra.me.REG[0] = fra.me.REG[2];
27674 REGB0 = TAG_Int(12);
27675 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27676 /* ./parser//parser.nit:9912 */
27677 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
27678 stack_frame_head = fra.me.prev;
27679 return;
27680 }
27681 void parser___ReduceAction195___init(val_t p0, int* init_table){
27682 int itpos199 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction195].i;
27683 struct {struct stack_frame_t me;} fra;
27684 val_t tmp;
27685 if (init_table[itpos199]) return;
27686 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27687 fra.me.file = LOCATE_parser;
27688 fra.me.line = 9914;
27689 fra.me.meth = LOCATE_parser___ReduceAction195___init;
27690 fra.me.has_broke = 0;
27691 fra.me.REG_size = 1;
27692 fra.me.REG[0] = NIT_NULL;
27693 fra.me.REG[0] = p0;
27694 /* ./parser//parser.nit:9914 */
27695 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
27696 stack_frame_head = fra.me.prev;
27697 init_table[itpos199] = 1;
27698 return;
27699 }
27700 void parser___ReduceAction196___action(val_t p0, val_t p1){
27701 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
27702 val_t REGB0;
27703 val_t tmp;
27704 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27705 fra.me.file = LOCATE_parser;
27706 fra.me.line = 9918;
27707 fra.me.meth = LOCATE_parser___ReduceAction196___action;
27708 fra.me.has_broke = 0;
27709 fra.me.REG_size = 8;
27710 fra.me.REG[0] = NIT_NULL;
27711 fra.me.REG[1] = NIT_NULL;
27712 fra.me.REG[2] = NIT_NULL;
27713 fra.me.REG[3] = NIT_NULL;
27714 fra.me.REG[4] = NIT_NULL;
27715 fra.me.REG[5] = NIT_NULL;
27716 fra.me.REG[6] = NIT_NULL;
27717 fra.me.REG[7] = NIT_NULL;
27718 fra.me.REG[0] = p0;
27719 fra.me.REG[1] = p1;
27720 fra.me.REG[0] = NIT_NULL;
27721 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27722 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27723 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27724 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27725 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27726 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27727 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27728 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27729 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
27730 /* ./parser//parser.nit:9930 */
27731 if (UNTAG_Bool(REGB0)) {
27732 } else {
27733 fprintf(stderr, "Assert failed");
27734 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9930);
27735 nit_exit(1);
27736 }
27737 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
27738 /* ./parser//parser.nit:9932 */
27739 if (UNTAG_Bool(REGB0)) {
27740 } else {
27741 fprintf(stderr, "Assert failed");
27742 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9932);
27743 nit_exit(1);
27744 }
27745 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
27746 /* ./parser//parser.nit:9934 */
27747 if (UNTAG_Bool(REGB0)) {
27748 } else {
27749 fprintf(stderr, "Assert failed");
27750 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9934);
27751 nit_exit(1);
27752 }
27753 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
27754 /* ./parser//parser.nit:9936 */
27755 if (UNTAG_Bool(REGB0)) {
27756 } else {
27757 fprintf(stderr, "Assert failed");
27758 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9936);
27759 nit_exit(1);
27760 }
27761 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
27762 /* ./parser//parser.nit:9938 */
27763 if (UNTAG_Bool(REGB0)) {
27764 } else {
27765 fprintf(stderr, "Assert failed");
27766 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9938);
27767 nit_exit(1);
27768 }
27769 fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
27770 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
27771 /* ./parser//parser.nit:9944 */
27772 if (UNTAG_Bool(REGB0)) {
27773 } else {
27774 fprintf(stderr, "Assert failed");
27775 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9944);
27776 nit_exit(1);
27777 }
27778 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]);
27779 fra.me.REG[0] = fra.me.REG[2];
27780 REGB0 = TAG_Int(12);
27781 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27782 /* ./parser//parser.nit:9954 */
27783 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
27784 stack_frame_head = fra.me.prev;
27785 return;
27786 }
27787 void parser___ReduceAction196___init(val_t p0, int* init_table){
27788 int itpos200 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction196].i;
27789 struct {struct stack_frame_t me;} fra;
27790 val_t tmp;
27791 if (init_table[itpos200]) return;
27792 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27793 fra.me.file = LOCATE_parser;
27794 fra.me.line = 9956;
27795 fra.me.meth = LOCATE_parser___ReduceAction196___init;
27796 fra.me.has_broke = 0;
27797 fra.me.REG_size = 1;
27798 fra.me.REG[0] = NIT_NULL;
27799 fra.me.REG[0] = p0;
27800 /* ./parser//parser.nit:9956 */
27801 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
27802 stack_frame_head = fra.me.prev;
27803 init_table[itpos200] = 1;
27804 return;
27805 }
27806 void parser___ReduceAction197___action(val_t p0, val_t p1){
27807 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
27808 val_t REGB0;
27809 val_t tmp;
27810 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27811 fra.me.file = LOCATE_parser;
27812 fra.me.line = 9960;
27813 fra.me.meth = LOCATE_parser___ReduceAction197___action;
27814 fra.me.has_broke = 0;
27815 fra.me.REG_size = 9;
27816 fra.me.REG[0] = NIT_NULL;
27817 fra.me.REG[1] = NIT_NULL;
27818 fra.me.REG[2] = NIT_NULL;
27819 fra.me.REG[3] = NIT_NULL;
27820 fra.me.REG[4] = NIT_NULL;
27821 fra.me.REG[5] = NIT_NULL;
27822 fra.me.REG[6] = NIT_NULL;
27823 fra.me.REG[7] = NIT_NULL;
27824 fra.me.REG[8] = NIT_NULL;
27825 fra.me.REG[0] = p0;
27826 fra.me.REG[1] = p1;
27827 fra.me.REG[0] = NIT_NULL;
27828 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27829 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27830 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27831 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27832 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27833 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27834 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27835 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27836 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27837 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
27838 /* ./parser//parser.nit:9973 */
27839 if (UNTAG_Bool(REGB0)) {
27840 } else {
27841 fprintf(stderr, "Assert failed");
27842 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9973);
27843 nit_exit(1);
27844 }
27845 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
27846 /* ./parser//parser.nit:9975 */
27847 if (UNTAG_Bool(REGB0)) {
27848 } else {
27849 fprintf(stderr, "Assert failed");
27850 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9975);
27851 nit_exit(1);
27852 }
27853 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
27854 /* ./parser//parser.nit:9977 */
27855 if (UNTAG_Bool(REGB0)) {
27856 } else {
27857 fprintf(stderr, "Assert failed");
27858 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9977);
27859 nit_exit(1);
27860 }
27861 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
27862 /* ./parser//parser.nit:9979 */
27863 if (UNTAG_Bool(REGB0)) {
27864 } else {
27865 fprintf(stderr, "Assert failed");
27866 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9979);
27867 nit_exit(1);
27868 }
27869 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
27870 /* ./parser//parser.nit:9981 */
27871 if (UNTAG_Bool(REGB0)) {
27872 } else {
27873 fprintf(stderr, "Assert failed");
27874 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9981);
27875 nit_exit(1);
27876 }
27877 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
27878 /* ./parser//parser.nit:9983 */
27879 if (UNTAG_Bool(REGB0)) {
27880 } else {
27881 fprintf(stderr, "Assert failed");
27882 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9983);
27883 nit_exit(1);
27884 }
27885 fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
27886 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
27887 /* ./parser//parser.nit:9990 */
27888 if (UNTAG_Bool(REGB0)) {
27889 } else {
27890 fprintf(stderr, "Assert failed");
27891 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9990);
27892 nit_exit(1);
27893 }
27894 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]);
27895 fra.me.REG[0] = fra.me.REG[2];
27896 REGB0 = TAG_Int(12);
27897 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27898 /* ./parser//parser.nit:10000 */
27899 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
27900 stack_frame_head = fra.me.prev;
27901 return;
27902 }
27903 void parser___ReduceAction197___init(val_t p0, int* init_table){
27904 int itpos201 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction197].i;
27905 struct {struct stack_frame_t me;} fra;
27906 val_t tmp;
27907 if (init_table[itpos201]) return;
27908 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27909 fra.me.file = LOCATE_parser;
27910 fra.me.line = 10002;
27911 fra.me.meth = LOCATE_parser___ReduceAction197___init;
27912 fra.me.has_broke = 0;
27913 fra.me.REG_size = 1;
27914 fra.me.REG[0] = NIT_NULL;
27915 fra.me.REG[0] = p0;
27916 /* ./parser//parser.nit:10002 */
27917 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
27918 stack_frame_head = fra.me.prev;
27919 init_table[itpos201] = 1;
27920 return;
27921 }
27922 void parser___ReduceAction198___action(val_t p0, val_t p1){
27923 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
27924 val_t REGB0;
27925 val_t tmp;
27926 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27927 fra.me.file = LOCATE_parser;
27928 fra.me.line = 10006;
27929 fra.me.meth = LOCATE_parser___ReduceAction198___action;
27930 fra.me.has_broke = 0;
27931 fra.me.REG_size = 8;
27932 fra.me.REG[0] = NIT_NULL;
27933 fra.me.REG[1] = NIT_NULL;
27934 fra.me.REG[2] = NIT_NULL;
27935 fra.me.REG[3] = NIT_NULL;
27936 fra.me.REG[4] = NIT_NULL;
27937 fra.me.REG[5] = NIT_NULL;
27938 fra.me.REG[6] = NIT_NULL;
27939 fra.me.REG[7] = NIT_NULL;
27940 fra.me.REG[0] = p0;
27941 fra.me.REG[1] = p1;
27942 fra.me.REG[0] = NIT_NULL;
27943 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27944 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27945 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27946 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27947 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27948 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27949 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27950 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27951 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
27952 /* ./parser//parser.nit:10018 */
27953 if (UNTAG_Bool(REGB0)) {
27954 } else {
27955 fprintf(stderr, "Assert failed");
27956 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10018);
27957 nit_exit(1);
27958 }
27959 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
27960 /* ./parser//parser.nit:10020 */
27961 if (UNTAG_Bool(REGB0)) {
27962 } else {
27963 fprintf(stderr, "Assert failed");
27964 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10020);
27965 nit_exit(1);
27966 }
27967 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
27968 /* ./parser//parser.nit:10022 */
27969 if (UNTAG_Bool(REGB0)) {
27970 } else {
27971 fprintf(stderr, "Assert failed");
27972 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10022);
27973 nit_exit(1);
27974 }
27975 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
27976 /* ./parser//parser.nit:10024 */
27977 if (UNTAG_Bool(REGB0)) {
27978 } else {
27979 fprintf(stderr, "Assert failed");
27980 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10024);
27981 nit_exit(1);
27982 }
27983 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
27984 /* ./parser//parser.nit:10026 */
27985 if (UNTAG_Bool(REGB0)) {
27986 } else {
27987 fprintf(stderr, "Assert failed");
27988 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10026);
27989 nit_exit(1);
27990 }
27991 fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
27992 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
27993 /* ./parser//parser.nit:10031 */
27994 if (UNTAG_Bool(REGB0)) {
27995 } else {
27996 fprintf(stderr, "Assert failed");
27997 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10031);
27998 nit_exit(1);
27999 }
28000 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
28001 fra.me.REG[0] = fra.me.REG[2];
28002 REGB0 = TAG_Int(12);
28003 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28004 /* ./parser//parser.nit:10041 */
28005 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
28006 stack_frame_head = fra.me.prev;
28007 return;
28008 }
28009 void parser___ReduceAction198___init(val_t p0, int* init_table){
28010 int itpos202 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction198].i;
28011 struct {struct stack_frame_t me;} fra;
28012 val_t tmp;
28013 if (init_table[itpos202]) return;
28014 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28015 fra.me.file = LOCATE_parser;
28016 fra.me.line = 10043;
28017 fra.me.meth = LOCATE_parser___ReduceAction198___init;
28018 fra.me.has_broke = 0;
28019 fra.me.REG_size = 1;
28020 fra.me.REG[0] = NIT_NULL;
28021 fra.me.REG[0] = p0;
28022 /* ./parser//parser.nit:10043 */
28023 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
28024 stack_frame_head = fra.me.prev;
28025 init_table[itpos202] = 1;
28026 return;
28027 }
28028 void parser___ReduceAction199___action(val_t p0, val_t p1){
28029 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
28030 val_t REGB0;
28031 val_t tmp;
28032 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28033 fra.me.file = LOCATE_parser;
28034 fra.me.line = 10047;
28035 fra.me.meth = LOCATE_parser___ReduceAction199___action;
28036 fra.me.has_broke = 0;
28037 fra.me.REG_size = 8;
28038 fra.me.REG[0] = NIT_NULL;
28039 fra.me.REG[1] = NIT_NULL;
28040 fra.me.REG[2] = NIT_NULL;
28041 fra.me.REG[3] = NIT_NULL;
28042 fra.me.REG[4] = NIT_NULL;
28043 fra.me.REG[5] = NIT_NULL;
28044 fra.me.REG[6] = NIT_NULL;
28045 fra.me.REG[7] = NIT_NULL;
28046 fra.me.REG[0] = p0;
28047 fra.me.REG[1] = p1;
28048 fra.me.REG[0] = NIT_NULL;
28049 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28050 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28051 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28052 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28053 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28054 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28055 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28056 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28057 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
28058 /* ./parser//parser.nit:10059 */
28059 if (UNTAG_Bool(REGB0)) {
28060 } else {
28061 fprintf(stderr, "Assert failed");
28062 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10059);
28063 nit_exit(1);
28064 }
28065 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
28066 /* ./parser//parser.nit:10061 */
28067 if (UNTAG_Bool(REGB0)) {
28068 } else {
28069 fprintf(stderr, "Assert failed");
28070 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10061);
28071 nit_exit(1);
28072 }
28073 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
28074 /* ./parser//parser.nit:10063 */
28075 if (UNTAG_Bool(REGB0)) {
28076 } else {
28077 fprintf(stderr, "Assert failed");
28078 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10063);
28079 nit_exit(1);
28080 }
28081 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
28082 /* ./parser//parser.nit:10065 */
28083 if (UNTAG_Bool(REGB0)) {
28084 } else {
28085 fprintf(stderr, "Assert failed");
28086 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10065);
28087 nit_exit(1);
28088 }
28089 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
28090 /* ./parser//parser.nit:10067 */
28091 if (UNTAG_Bool(REGB0)) {
28092 } else {
28093 fprintf(stderr, "Assert failed");
28094 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10067);
28095 nit_exit(1);
28096 }
28097 fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
28098 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
28099 /* ./parser//parser.nit:10072 */
28100 if (UNTAG_Bool(REGB0)) {
28101 } else {
28102 fprintf(stderr, "Assert failed");
28103 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10072);
28104 nit_exit(1);
28105 }
28106 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
28107 fra.me.REG[0] = fra.me.REG[2];
28108 REGB0 = TAG_Int(12);
28109 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28110 /* ./parser//parser.nit:10082 */
28111 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
28112 stack_frame_head = fra.me.prev;
28113 return;
28114 }
28115 void parser___ReduceAction199___init(val_t p0, int* init_table){
28116 int itpos203 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction199].i;
28117 struct {struct stack_frame_t me;} fra;
28118 val_t tmp;
28119 if (init_table[itpos203]) return;
28120 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28121 fra.me.file = LOCATE_parser;
28122 fra.me.line = 10084;
28123 fra.me.meth = LOCATE_parser___ReduceAction199___init;
28124 fra.me.has_broke = 0;
28125 fra.me.REG_size = 1;
28126 fra.me.REG[0] = NIT_NULL;
28127 fra.me.REG[0] = p0;
28128 /* ./parser//parser.nit:10084 */
28129 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
28130 stack_frame_head = fra.me.prev;
28131 init_table[itpos203] = 1;
28132 return;
28133 }
28134 void parser___ReduceAction200___action(val_t p0, val_t p1){
28135 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
28136 val_t REGB0;
28137 val_t tmp;
28138 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28139 fra.me.file = LOCATE_parser;
28140 fra.me.line = 10088;
28141 fra.me.meth = LOCATE_parser___ReduceAction200___action;
28142 fra.me.has_broke = 0;
28143 fra.me.REG_size = 8;
28144 fra.me.REG[0] = NIT_NULL;
28145 fra.me.REG[1] = NIT_NULL;
28146 fra.me.REG[2] = NIT_NULL;
28147 fra.me.REG[3] = NIT_NULL;
28148 fra.me.REG[4] = NIT_NULL;
28149 fra.me.REG[5] = NIT_NULL;
28150 fra.me.REG[6] = NIT_NULL;
28151 fra.me.REG[7] = NIT_NULL;
28152 fra.me.REG[0] = p0;
28153 fra.me.REG[1] = p1;
28154 fra.me.REG[0] = NIT_NULL;
28155 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28156 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28157 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28158 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28159 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28160 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28161 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28162 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28163 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
28164 /* ./parser//parser.nit:10100 */
28165 if (UNTAG_Bool(REGB0)) {
28166 } else {
28167 fprintf(stderr, "Assert failed");
28168 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10100);
28169 nit_exit(1);
28170 }
28171 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
28172 /* ./parser//parser.nit:10102 */
28173 if (UNTAG_Bool(REGB0)) {
28174 } else {
28175 fprintf(stderr, "Assert failed");
28176 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10102);
28177 nit_exit(1);
28178 }
28179 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
28180 /* ./parser//parser.nit:10104 */
28181 if (UNTAG_Bool(REGB0)) {
28182 } else {
28183 fprintf(stderr, "Assert failed");
28184 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10104);
28185 nit_exit(1);
28186 }
28187 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
28188 /* ./parser//parser.nit:10106 */
28189 if (UNTAG_Bool(REGB0)) {
28190 } else {
28191 fprintf(stderr, "Assert failed");
28192 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10106);
28193 nit_exit(1);
28194 }
28195 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
28196 /* ./parser//parser.nit:10108 */
28197 if (UNTAG_Bool(REGB0)) {
28198 } else {
28199 fprintf(stderr, "Assert failed");
28200 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10108);
28201 nit_exit(1);
28202 }
28203 fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
28204 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
28205 /* ./parser//parser.nit:10113 */
28206 if (UNTAG_Bool(REGB0)) {
28207 } else {
28208 fprintf(stderr, "Assert failed");
28209 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10113);
28210 nit_exit(1);
28211 }
28212 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
28213 fra.me.REG[0] = fra.me.REG[2];
28214 REGB0 = TAG_Int(12);
28215 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28216 /* ./parser//parser.nit:10123 */
28217 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
28218 stack_frame_head = fra.me.prev;
28219 return;
28220 }
28221 void parser___ReduceAction200___init(val_t p0, int* init_table){
28222 int itpos204 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction200].i;
28223 struct {struct stack_frame_t me;} fra;
28224 val_t tmp;
28225 if (init_table[itpos204]) return;
28226 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28227 fra.me.file = LOCATE_parser;
28228 fra.me.line = 10125;
28229 fra.me.meth = LOCATE_parser___ReduceAction200___init;
28230 fra.me.has_broke = 0;
28231 fra.me.REG_size = 1;
28232 fra.me.REG[0] = NIT_NULL;
28233 fra.me.REG[0] = p0;
28234 /* ./parser//parser.nit:10125 */
28235 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
28236 stack_frame_head = fra.me.prev;
28237 init_table[itpos204] = 1;
28238 return;
28239 }
28240 void parser___ReduceAction201___action(val_t p0, val_t p1){
28241 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
28242 val_t REGB0;
28243 val_t tmp;
28244 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28245 fra.me.file = LOCATE_parser;
28246 fra.me.line = 10129;
28247 fra.me.meth = LOCATE_parser___ReduceAction201___action;
28248 fra.me.has_broke = 0;
28249 fra.me.REG_size = 8;
28250 fra.me.REG[0] = NIT_NULL;
28251 fra.me.REG[1] = NIT_NULL;
28252 fra.me.REG[2] = NIT_NULL;
28253 fra.me.REG[3] = NIT_NULL;
28254 fra.me.REG[4] = NIT_NULL;
28255 fra.me.REG[5] = NIT_NULL;
28256 fra.me.REG[6] = NIT_NULL;
28257 fra.me.REG[7] = NIT_NULL;
28258 fra.me.REG[0] = p0;
28259 fra.me.REG[1] = p1;
28260 fra.me.REG[0] = NIT_NULL;
28261 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28262 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28263 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28264 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28265 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28266 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28267 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28268 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28269 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
28270 /* ./parser//parser.nit:10141 */
28271 if (UNTAG_Bool(REGB0)) {
28272 } else {
28273 fprintf(stderr, "Assert failed");
28274 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10141);
28275 nit_exit(1);
28276 }
28277 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
28278 /* ./parser//parser.nit:10143 */
28279 if (UNTAG_Bool(REGB0)) {
28280 } else {
28281 fprintf(stderr, "Assert failed");
28282 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10143);
28283 nit_exit(1);
28284 }
28285 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
28286 /* ./parser//parser.nit:10145 */
28287 if (UNTAG_Bool(REGB0)) {
28288 } else {
28289 fprintf(stderr, "Assert failed");
28290 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10145);
28291 nit_exit(1);
28292 }
28293 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
28294 /* ./parser//parser.nit:10147 */
28295 if (UNTAG_Bool(REGB0)) {
28296 } else {
28297 fprintf(stderr, "Assert failed");
28298 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10147);
28299 nit_exit(1);
28300 }
28301 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
28302 /* ./parser//parser.nit:10149 */
28303 if (UNTAG_Bool(REGB0)) {
28304 } else {
28305 fprintf(stderr, "Assert failed");
28306 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10149);
28307 nit_exit(1);
28308 }
28309 fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
28310 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
28311 /* ./parser//parser.nit:10154 */
28312 if (UNTAG_Bool(REGB0)) {
28313 } else {
28314 fprintf(stderr, "Assert failed");
28315 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10154);
28316 nit_exit(1);
28317 }
28318 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
28319 fra.me.REG[0] = fra.me.REG[2];
28320 REGB0 = TAG_Int(12);
28321 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28322 /* ./parser//parser.nit:10164 */
28323 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
28324 stack_frame_head = fra.me.prev;
28325 return;
28326 }
28327 void parser___ReduceAction201___init(val_t p0, int* init_table){
28328 int itpos205 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction201].i;
28329 struct {struct stack_frame_t me;} fra;
28330 val_t tmp;
28331 if (init_table[itpos205]) return;
28332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28333 fra.me.file = LOCATE_parser;
28334 fra.me.line = 10166;
28335 fra.me.meth = LOCATE_parser___ReduceAction201___init;
28336 fra.me.has_broke = 0;
28337 fra.me.REG_size = 1;
28338 fra.me.REG[0] = NIT_NULL;
28339 fra.me.REG[0] = p0;
28340 /* ./parser//parser.nit:10166 */
28341 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
28342 stack_frame_head = fra.me.prev;
28343 init_table[itpos205] = 1;
28344 return;
28345 }
28346 void parser___ReduceAction202___action(val_t p0, val_t p1){
28347 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
28348 val_t REGB0;
28349 val_t tmp;
28350 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28351 fra.me.file = LOCATE_parser;
28352 fra.me.line = 10170;
28353 fra.me.meth = LOCATE_parser___ReduceAction202___action;
28354 fra.me.has_broke = 0;
28355 fra.me.REG_size = 8;
28356 fra.me.REG[0] = NIT_NULL;
28357 fra.me.REG[1] = NIT_NULL;
28358 fra.me.REG[2] = NIT_NULL;
28359 fra.me.REG[3] = NIT_NULL;
28360 fra.me.REG[4] = NIT_NULL;
28361 fra.me.REG[5] = NIT_NULL;
28362 fra.me.REG[6] = NIT_NULL;
28363 fra.me.REG[7] = NIT_NULL;
28364 fra.me.REG[0] = p0;
28365 fra.me.REG[1] = p1;
28366 fra.me.REG[0] = NIT_NULL;
28367 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28368 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28369 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28370 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28371 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28372 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28373 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28374 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28375 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
28376 /* ./parser//parser.nit:10182 */
28377 if (UNTAG_Bool(REGB0)) {
28378 } else {
28379 fprintf(stderr, "Assert failed");
28380 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10182);
28381 nit_exit(1);
28382 }
28383 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
28384 /* ./parser//parser.nit:10184 */
28385 if (UNTAG_Bool(REGB0)) {
28386 } else {
28387 fprintf(stderr, "Assert failed");
28388 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10184);
28389 nit_exit(1);
28390 }
28391 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
28392 /* ./parser//parser.nit:10186 */
28393 if (UNTAG_Bool(REGB0)) {
28394 } else {
28395 fprintf(stderr, "Assert failed");
28396 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10186);
28397 nit_exit(1);
28398 }
28399 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
28400 /* ./parser//parser.nit:10188 */
28401 if (UNTAG_Bool(REGB0)) {
28402 } else {
28403 fprintf(stderr, "Assert failed");
28404 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10188);
28405 nit_exit(1);
28406 }
28407 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
28408 /* ./parser//parser.nit:10190 */
28409 if (UNTAG_Bool(REGB0)) {
28410 } else {
28411 fprintf(stderr, "Assert failed");
28412 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10190);
28413 nit_exit(1);
28414 }
28415 fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
28416 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
28417 /* ./parser//parser.nit:10195 */
28418 if (UNTAG_Bool(REGB0)) {
28419 } else {
28420 fprintf(stderr, "Assert failed");
28421 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10195);
28422 nit_exit(1);
28423 }
28424 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
28425 fra.me.REG[0] = fra.me.REG[2];
28426 REGB0 = TAG_Int(12);
28427 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28428 /* ./parser//parser.nit:10205 */
28429 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
28430 stack_frame_head = fra.me.prev;
28431 return;
28432 }
28433 void parser___ReduceAction202___init(val_t p0, int* init_table){
28434 int itpos206 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction202].i;
28435 struct {struct stack_frame_t me;} fra;
28436 val_t tmp;
28437 if (init_table[itpos206]) return;
28438 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28439 fra.me.file = LOCATE_parser;
28440 fra.me.line = 10207;
28441 fra.me.meth = LOCATE_parser___ReduceAction202___init;
28442 fra.me.has_broke = 0;
28443 fra.me.REG_size = 1;
28444 fra.me.REG[0] = NIT_NULL;
28445 fra.me.REG[0] = p0;
28446 /* ./parser//parser.nit:10207 */
28447 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
28448 stack_frame_head = fra.me.prev;
28449 init_table[itpos206] = 1;
28450 return;
28451 }
28452 void parser___ReduceAction203___action(val_t p0, val_t p1){
28453 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
28454 val_t REGB0;
28455 val_t tmp;
28456 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28457 fra.me.file = LOCATE_parser;
28458 fra.me.line = 10211;
28459 fra.me.meth = LOCATE_parser___ReduceAction203___action;
28460 fra.me.has_broke = 0;
28461 fra.me.REG_size = 8;
28462 fra.me.REG[0] = NIT_NULL;
28463 fra.me.REG[1] = NIT_NULL;
28464 fra.me.REG[2] = NIT_NULL;
28465 fra.me.REG[3] = NIT_NULL;
28466 fra.me.REG[4] = NIT_NULL;
28467 fra.me.REG[5] = NIT_NULL;
28468 fra.me.REG[6] = NIT_NULL;
28469 fra.me.REG[7] = NIT_NULL;
28470 fra.me.REG[0] = p0;
28471 fra.me.REG[1] = p1;
28472 fra.me.REG[0] = NIT_NULL;
28473 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28474 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28475 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28476 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28477 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28478 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28479 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28480 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28481 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
28482 /* ./parser//parser.nit:10223 */
28483 if (UNTAG_Bool(REGB0)) {
28484 } else {
28485 fprintf(stderr, "Assert failed");
28486 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10223);
28487 nit_exit(1);
28488 }
28489 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
28490 /* ./parser//parser.nit:10225 */
28491 if (UNTAG_Bool(REGB0)) {
28492 } else {
28493 fprintf(stderr, "Assert failed");
28494 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10225);
28495 nit_exit(1);
28496 }
28497 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
28498 /* ./parser//parser.nit:10227 */
28499 if (UNTAG_Bool(REGB0)) {
28500 } else {
28501 fprintf(stderr, "Assert failed");
28502 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10227);
28503 nit_exit(1);
28504 }
28505 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
28506 /* ./parser//parser.nit:10229 */
28507 if (UNTAG_Bool(REGB0)) {
28508 } else {
28509 fprintf(stderr, "Assert failed");
28510 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10229);
28511 nit_exit(1);
28512 }
28513 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
28514 /* ./parser//parser.nit:10231 */
28515 if (UNTAG_Bool(REGB0)) {
28516 } else {
28517 fprintf(stderr, "Assert failed");
28518 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10231);
28519 nit_exit(1);
28520 }
28521 fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
28522 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
28523 /* ./parser//parser.nit:10236 */
28524 if (UNTAG_Bool(REGB0)) {
28525 } else {
28526 fprintf(stderr, "Assert failed");
28527 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10236);
28528 nit_exit(1);
28529 }
28530 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
28531 fra.me.REG[0] = fra.me.REG[2];
28532 REGB0 = TAG_Int(12);
28533 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28534 /* ./parser//parser.nit:10246 */
28535 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
28536 stack_frame_head = fra.me.prev;
28537 return;
28538 }
28539 void parser___ReduceAction203___init(val_t p0, int* init_table){
28540 int itpos207 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction203].i;
28541 struct {struct stack_frame_t me;} fra;
28542 val_t tmp;
28543 if (init_table[itpos207]) return;
28544 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28545 fra.me.file = LOCATE_parser;
28546 fra.me.line = 10248;
28547 fra.me.meth = LOCATE_parser___ReduceAction203___init;
28548 fra.me.has_broke = 0;
28549 fra.me.REG_size = 1;
28550 fra.me.REG[0] = NIT_NULL;
28551 fra.me.REG[0] = p0;
28552 /* ./parser//parser.nit:10248 */
28553 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
28554 stack_frame_head = fra.me.prev;
28555 init_table[itpos207] = 1;
28556 return;
28557 }
28558 void parser___ReduceAction204___action(val_t p0, val_t p1){
28559 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
28560 val_t REGB0;
28561 val_t tmp;
28562 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28563 fra.me.file = LOCATE_parser;
28564 fra.me.line = 10252;
28565 fra.me.meth = LOCATE_parser___ReduceAction204___action;
28566 fra.me.has_broke = 0;
28567 fra.me.REG_size = 8;
28568 fra.me.REG[0] = NIT_NULL;
28569 fra.me.REG[1] = NIT_NULL;
28570 fra.me.REG[2] = NIT_NULL;
28571 fra.me.REG[3] = NIT_NULL;
28572 fra.me.REG[4] = NIT_NULL;
28573 fra.me.REG[5] = NIT_NULL;
28574 fra.me.REG[6] = NIT_NULL;
28575 fra.me.REG[7] = NIT_NULL;
28576 fra.me.REG[0] = p0;
28577 fra.me.REG[1] = p1;
28578 fra.me.REG[0] = NIT_NULL;
28579 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28580 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28581 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28582 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28583 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28584 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28585 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28586 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28587 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
28588 /* ./parser//parser.nit:10264 */
28589 if (UNTAG_Bool(REGB0)) {
28590 } else {
28591 fprintf(stderr, "Assert failed");
28592 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10264);
28593 nit_exit(1);
28594 }
28595 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
28596 /* ./parser//parser.nit:10266 */
28597 if (UNTAG_Bool(REGB0)) {
28598 } else {
28599 fprintf(stderr, "Assert failed");
28600 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10266);
28601 nit_exit(1);
28602 }
28603 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
28604 /* ./parser//parser.nit:10268 */
28605 if (UNTAG_Bool(REGB0)) {
28606 } else {
28607 fprintf(stderr, "Assert failed");
28608 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10268);
28609 nit_exit(1);
28610 }
28611 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
28612 /* ./parser//parser.nit:10270 */
28613 if (UNTAG_Bool(REGB0)) {
28614 } else {
28615 fprintf(stderr, "Assert failed");
28616 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10270);
28617 nit_exit(1);
28618 }
28619 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
28620 /* ./parser//parser.nit:10272 */
28621 if (UNTAG_Bool(REGB0)) {
28622 } else {
28623 fprintf(stderr, "Assert failed");
28624 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10272);
28625 nit_exit(1);
28626 }
28627 fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
28628 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
28629 /* ./parser//parser.nit:10277 */
28630 if (UNTAG_Bool(REGB0)) {
28631 } else {
28632 fprintf(stderr, "Assert failed");
28633 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10277);
28634 nit_exit(1);
28635 }
28636 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
28637 fra.me.REG[0] = fra.me.REG[2];
28638 REGB0 = TAG_Int(12);
28639 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28640 /* ./parser//parser.nit:10287 */
28641 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
28642 stack_frame_head = fra.me.prev;
28643 return;
28644 }
28645 void parser___ReduceAction204___init(val_t p0, int* init_table){
28646 int itpos208 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction204].i;
28647 struct {struct stack_frame_t me;} fra;
28648 val_t tmp;
28649 if (init_table[itpos208]) return;
28650 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28651 fra.me.file = LOCATE_parser;
28652 fra.me.line = 10289;
28653 fra.me.meth = LOCATE_parser___ReduceAction204___init;
28654 fra.me.has_broke = 0;
28655 fra.me.REG_size = 1;
28656 fra.me.REG[0] = NIT_NULL;
28657 fra.me.REG[0] = p0;
28658 /* ./parser//parser.nit:10289 */
28659 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
28660 stack_frame_head = fra.me.prev;
28661 init_table[itpos208] = 1;
28662 return;
28663 }
28664 void parser___ReduceAction205___action(val_t p0, val_t p1){
28665 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
28666 val_t REGB0;
28667 val_t tmp;
28668 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28669 fra.me.file = LOCATE_parser;
28670 fra.me.line = 10293;
28671 fra.me.meth = LOCATE_parser___ReduceAction205___action;
28672 fra.me.has_broke = 0;
28673 fra.me.REG_size = 8;
28674 fra.me.REG[0] = NIT_NULL;
28675 fra.me.REG[1] = NIT_NULL;
28676 fra.me.REG[2] = NIT_NULL;
28677 fra.me.REG[3] = NIT_NULL;
28678 fra.me.REG[4] = NIT_NULL;
28679 fra.me.REG[5] = NIT_NULL;
28680 fra.me.REG[6] = NIT_NULL;
28681 fra.me.REG[7] = NIT_NULL;
28682 fra.me.REG[0] = p0;
28683 fra.me.REG[1] = p1;
28684 fra.me.REG[0] = NIT_NULL;
28685 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28686 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28687 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28688 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28689 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28690 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28691 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28692 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28693 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
28694 /* ./parser//parser.nit:10305 */
28695 if (UNTAG_Bool(REGB0)) {
28696 } else {
28697 fprintf(stderr, "Assert failed");
28698 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10305);
28699 nit_exit(1);
28700 }
28701 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
28702 /* ./parser//parser.nit:10307 */
28703 if (UNTAG_Bool(REGB0)) {
28704 } else {
28705 fprintf(stderr, "Assert failed");
28706 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10307);
28707 nit_exit(1);
28708 }
28709 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
28710 /* ./parser//parser.nit:10309 */
28711 if (UNTAG_Bool(REGB0)) {
28712 } else {
28713 fprintf(stderr, "Assert failed");
28714 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10309);
28715 nit_exit(1);
28716 }
28717 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
28718 /* ./parser//parser.nit:10311 */
28719 if (UNTAG_Bool(REGB0)) {
28720 } else {
28721 fprintf(stderr, "Assert failed");
28722 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10311);
28723 nit_exit(1);
28724 }
28725 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
28726 /* ./parser//parser.nit:10313 */
28727 if (UNTAG_Bool(REGB0)) {
28728 } else {
28729 fprintf(stderr, "Assert failed");
28730 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10313);
28731 nit_exit(1);
28732 }
28733 fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
28734 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
28735 /* ./parser//parser.nit:10318 */
28736 if (UNTAG_Bool(REGB0)) {
28737 } else {
28738 fprintf(stderr, "Assert failed");
28739 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10318);
28740 nit_exit(1);
28741 }
28742 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
28743 fra.me.REG[0] = fra.me.REG[2];
28744 REGB0 = TAG_Int(12);
28745 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28746 /* ./parser//parser.nit:10328 */
28747 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
28748 stack_frame_head = fra.me.prev;
28749 return;
28750 }
28751 void parser___ReduceAction205___init(val_t p0, int* init_table){
28752 int itpos209 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction205].i;
28753 struct {struct stack_frame_t me;} fra;
28754 val_t tmp;
28755 if (init_table[itpos209]) return;
28756 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28757 fra.me.file = LOCATE_parser;
28758 fra.me.line = 10330;
28759 fra.me.meth = LOCATE_parser___ReduceAction205___init;
28760 fra.me.has_broke = 0;
28761 fra.me.REG_size = 1;
28762 fra.me.REG[0] = NIT_NULL;
28763 fra.me.REG[0] = p0;
28764 /* ./parser//parser.nit:10330 */
28765 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
28766 stack_frame_head = fra.me.prev;
28767 init_table[itpos209] = 1;
28768 return;
28769 }
28770 void parser___ReduceAction206___action(val_t p0, val_t p1){
28771 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
28772 val_t REGB0;
28773 val_t tmp;
28774 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28775 fra.me.file = LOCATE_parser;
28776 fra.me.line = 10334;
28777 fra.me.meth = LOCATE_parser___ReduceAction206___action;
28778 fra.me.has_broke = 0;
28779 fra.me.REG_size = 8;
28780 fra.me.REG[0] = NIT_NULL;
28781 fra.me.REG[1] = NIT_NULL;
28782 fra.me.REG[2] = NIT_NULL;
28783 fra.me.REG[3] = NIT_NULL;
28784 fra.me.REG[4] = NIT_NULL;
28785 fra.me.REG[5] = NIT_NULL;
28786 fra.me.REG[6] = NIT_NULL;
28787 fra.me.REG[7] = NIT_NULL;
28788 fra.me.REG[0] = p0;
28789 fra.me.REG[1] = p1;
28790 fra.me.REG[0] = NIT_NULL;
28791 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28792 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28793 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28794 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28795 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28796 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28797 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28798 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28799 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
28800 /* ./parser//parser.nit:10346 */
28801 if (UNTAG_Bool(REGB0)) {
28802 } else {
28803 fprintf(stderr, "Assert failed");
28804 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10346);
28805 nit_exit(1);
28806 }
28807 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
28808 /* ./parser//parser.nit:10348 */
28809 if (UNTAG_Bool(REGB0)) {
28810 } else {
28811 fprintf(stderr, "Assert failed");
28812 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10348);
28813 nit_exit(1);
28814 }
28815 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
28816 /* ./parser//parser.nit:10350 */
28817 if (UNTAG_Bool(REGB0)) {
28818 } else {
28819 fprintf(stderr, "Assert failed");
28820 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10350);
28821 nit_exit(1);
28822 }
28823 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
28824 /* ./parser//parser.nit:10352 */
28825 if (UNTAG_Bool(REGB0)) {
28826 } else {
28827 fprintf(stderr, "Assert failed");
28828 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10352);
28829 nit_exit(1);
28830 }
28831 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
28832 /* ./parser//parser.nit:10354 */
28833 if (UNTAG_Bool(REGB0)) {
28834 } else {
28835 fprintf(stderr, "Assert failed");
28836 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10354);
28837 nit_exit(1);
28838 }
28839 fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
28840 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
28841 /* ./parser//parser.nit:10359 */
28842 if (UNTAG_Bool(REGB0)) {
28843 } else {
28844 fprintf(stderr, "Assert failed");
28845 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10359);
28846 nit_exit(1);
28847 }
28848 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
28849 fra.me.REG[0] = fra.me.REG[2];
28850 REGB0 = TAG_Int(12);
28851 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28852 /* ./parser//parser.nit:10369 */
28853 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
28854 stack_frame_head = fra.me.prev;
28855 return;
28856 }
28857 void parser___ReduceAction206___init(val_t p0, int* init_table){
28858 int itpos210 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction206].i;
28859 struct {struct stack_frame_t me;} fra;
28860 val_t tmp;
28861 if (init_table[itpos210]) return;
28862 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28863 fra.me.file = LOCATE_parser;
28864 fra.me.line = 10371;
28865 fra.me.meth = LOCATE_parser___ReduceAction206___init;
28866 fra.me.has_broke = 0;
28867 fra.me.REG_size = 1;
28868 fra.me.REG[0] = NIT_NULL;
28869 fra.me.REG[0] = p0;
28870 /* ./parser//parser.nit:10371 */
28871 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
28872 stack_frame_head = fra.me.prev;
28873 init_table[itpos210] = 1;
28874 return;
28875 }
28876 void parser___ReduceAction207___action(val_t p0, val_t p1){
28877 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
28878 val_t REGB0;
28879 val_t tmp;
28880 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28881 fra.me.file = LOCATE_parser;
28882 fra.me.line = 10375;
28883 fra.me.meth = LOCATE_parser___ReduceAction207___action;
28884 fra.me.has_broke = 0;
28885 fra.me.REG_size = 8;
28886 fra.me.REG[0] = NIT_NULL;
28887 fra.me.REG[1] = NIT_NULL;
28888 fra.me.REG[2] = NIT_NULL;
28889 fra.me.REG[3] = NIT_NULL;
28890 fra.me.REG[4] = NIT_NULL;
28891 fra.me.REG[5] = NIT_NULL;
28892 fra.me.REG[6] = NIT_NULL;
28893 fra.me.REG[7] = NIT_NULL;
28894 fra.me.REG[0] = p0;
28895 fra.me.REG[1] = p1;
28896 fra.me.REG[0] = NIT_NULL;
28897 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28898 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28899 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28900 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28901 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28902 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28903 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28904 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28905 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
28906 /* ./parser//parser.nit:10387 */
28907 if (UNTAG_Bool(REGB0)) {
28908 } else {
28909 fprintf(stderr, "Assert failed");
28910 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10387);
28911 nit_exit(1);
28912 }
28913 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
28914 /* ./parser//parser.nit:10389 */
28915 if (UNTAG_Bool(REGB0)) {
28916 } else {
28917 fprintf(stderr, "Assert failed");
28918 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10389);
28919 nit_exit(1);
28920 }
28921 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
28922 /* ./parser//parser.nit:10391 */
28923 if (UNTAG_Bool(REGB0)) {
28924 } else {
28925 fprintf(stderr, "Assert failed");
28926 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10391);
28927 nit_exit(1);
28928 }
28929 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
28930 /* ./parser//parser.nit:10393 */
28931 if (UNTAG_Bool(REGB0)) {
28932 } else {
28933 fprintf(stderr, "Assert failed");
28934 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10393);
28935 nit_exit(1);
28936 }
28937 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
28938 /* ./parser//parser.nit:10395 */
28939 if (UNTAG_Bool(REGB0)) {
28940 } else {
28941 fprintf(stderr, "Assert failed");
28942 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10395);
28943 nit_exit(1);
28944 }
28945 fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
28946 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
28947 /* ./parser//parser.nit:10400 */
28948 if (UNTAG_Bool(REGB0)) {
28949 } else {
28950 fprintf(stderr, "Assert failed");
28951 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10400);
28952 nit_exit(1);
28953 }
28954 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
28955 fra.me.REG[0] = fra.me.REG[2];
28956 REGB0 = TAG_Int(12);
28957 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28958 /* ./parser//parser.nit:10410 */
28959 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
28960 stack_frame_head = fra.me.prev;
28961 return;
28962 }
28963 void parser___ReduceAction207___init(val_t p0, int* init_table){
28964 int itpos211 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction207].i;
28965 struct {struct stack_frame_t me;} fra;
28966 val_t tmp;
28967 if (init_table[itpos211]) return;
28968 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28969 fra.me.file = LOCATE_parser;
28970 fra.me.line = 10412;
28971 fra.me.meth = LOCATE_parser___ReduceAction207___init;
28972 fra.me.has_broke = 0;
28973 fra.me.REG_size = 1;
28974 fra.me.REG[0] = NIT_NULL;
28975 fra.me.REG[0] = p0;
28976 /* ./parser//parser.nit:10412 */
28977 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
28978 stack_frame_head = fra.me.prev;
28979 init_table[itpos211] = 1;
28980 return;
28981 }
28982 void parser___ReduceAction208___action(val_t p0, val_t p1){
28983 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
28984 val_t REGB0;
28985 val_t tmp;
28986 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28987 fra.me.file = LOCATE_parser;
28988 fra.me.line = 10416;
28989 fra.me.meth = LOCATE_parser___ReduceAction208___action;
28990 fra.me.has_broke = 0;
28991 fra.me.REG_size = 8;
28992 fra.me.REG[0] = NIT_NULL;
28993 fra.me.REG[1] = NIT_NULL;
28994 fra.me.REG[2] = NIT_NULL;
28995 fra.me.REG[3] = NIT_NULL;
28996 fra.me.REG[4] = NIT_NULL;
28997 fra.me.REG[5] = NIT_NULL;
28998 fra.me.REG[6] = NIT_NULL;
28999 fra.me.REG[7] = NIT_NULL;
29000 fra.me.REG[0] = p0;
29001 fra.me.REG[1] = p1;
29002 fra.me.REG[0] = NIT_NULL;
29003 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29004 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29005 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29006 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29007 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29008 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29009 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29010 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29011 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
29012 /* ./parser//parser.nit:10428 */
29013 if (UNTAG_Bool(REGB0)) {
29014 } else {
29015 fprintf(stderr, "Assert failed");
29016 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10428);
29017 nit_exit(1);
29018 }
29019 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
29020 /* ./parser//parser.nit:10430 */
29021 if (UNTAG_Bool(REGB0)) {
29022 } else {
29023 fprintf(stderr, "Assert failed");
29024 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10430);
29025 nit_exit(1);
29026 }
29027 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
29028 /* ./parser//parser.nit:10432 */
29029 if (UNTAG_Bool(REGB0)) {
29030 } else {
29031 fprintf(stderr, "Assert failed");
29032 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10432);
29033 nit_exit(1);
29034 }
29035 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
29036 /* ./parser//parser.nit:10434 */
29037 if (UNTAG_Bool(REGB0)) {
29038 } else {
29039 fprintf(stderr, "Assert failed");
29040 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10434);
29041 nit_exit(1);
29042 }
29043 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
29044 /* ./parser//parser.nit:10436 */
29045 if (UNTAG_Bool(REGB0)) {
29046 } else {
29047 fprintf(stderr, "Assert failed");
29048 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10436);
29049 nit_exit(1);
29050 }
29051 fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
29052 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
29053 /* ./parser//parser.nit:10441 */
29054 if (UNTAG_Bool(REGB0)) {
29055 } else {
29056 fprintf(stderr, "Assert failed");
29057 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10441);
29058 nit_exit(1);
29059 }
29060 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
29061 fra.me.REG[0] = fra.me.REG[2];
29062 REGB0 = TAG_Int(12);
29063 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29064 /* ./parser//parser.nit:10451 */
29065 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
29066 stack_frame_head = fra.me.prev;
29067 return;
29068 }
29069 void parser___ReduceAction208___init(val_t p0, int* init_table){
29070 int itpos212 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction208].i;
29071 struct {struct stack_frame_t me;} fra;
29072 val_t tmp;
29073 if (init_table[itpos212]) return;
29074 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29075 fra.me.file = LOCATE_parser;
29076 fra.me.line = 10453;
29077 fra.me.meth = LOCATE_parser___ReduceAction208___init;
29078 fra.me.has_broke = 0;
29079 fra.me.REG_size = 1;
29080 fra.me.REG[0] = NIT_NULL;
29081 fra.me.REG[0] = p0;
29082 /* ./parser//parser.nit:10453 */
29083 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
29084 stack_frame_head = fra.me.prev;
29085 init_table[itpos212] = 1;
29086 return;
29087 }
29088 void parser___ReduceAction209___action(val_t p0, val_t p1){
29089 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
29090 val_t REGB0;
29091 val_t tmp;
29092 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29093 fra.me.file = LOCATE_parser;
29094 fra.me.line = 10457;
29095 fra.me.meth = LOCATE_parser___ReduceAction209___action;
29096 fra.me.has_broke = 0;
29097 fra.me.REG_size = 8;
29098 fra.me.REG[0] = NIT_NULL;
29099 fra.me.REG[1] = NIT_NULL;
29100 fra.me.REG[2] = NIT_NULL;
29101 fra.me.REG[3] = NIT_NULL;
29102 fra.me.REG[4] = NIT_NULL;
29103 fra.me.REG[5] = NIT_NULL;
29104 fra.me.REG[6] = NIT_NULL;
29105 fra.me.REG[7] = NIT_NULL;
29106 fra.me.REG[0] = p0;
29107 fra.me.REG[1] = p1;
29108 fra.me.REG[0] = NIT_NULL;
29109 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29110 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29111 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29112 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29113 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29114 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29115 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29116 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29117 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
29118 /* ./parser//parser.nit:10469 */
29119 if (UNTAG_Bool(REGB0)) {
29120 } else {
29121 fprintf(stderr, "Assert failed");
29122 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10469);
29123 nit_exit(1);
29124 }
29125 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
29126 /* ./parser//parser.nit:10471 */
29127 if (UNTAG_Bool(REGB0)) {
29128 } else {
29129 fprintf(stderr, "Assert failed");
29130 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10471);
29131 nit_exit(1);
29132 }
29133 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
29134 /* ./parser//parser.nit:10473 */
29135 if (UNTAG_Bool(REGB0)) {
29136 } else {
29137 fprintf(stderr, "Assert failed");
29138 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10473);
29139 nit_exit(1);
29140 }
29141 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
29142 /* ./parser//parser.nit:10475 */
29143 if (UNTAG_Bool(REGB0)) {
29144 } else {
29145 fprintf(stderr, "Assert failed");
29146 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10475);
29147 nit_exit(1);
29148 }
29149 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
29150 /* ./parser//parser.nit:10477 */
29151 if (UNTAG_Bool(REGB0)) {
29152 } else {
29153 fprintf(stderr, "Assert failed");
29154 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10477);
29155 nit_exit(1);
29156 }
29157 fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
29158 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
29159 /* ./parser//parser.nit:10482 */
29160 if (UNTAG_Bool(REGB0)) {
29161 } else {
29162 fprintf(stderr, "Assert failed");
29163 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10482);
29164 nit_exit(1);
29165 }
29166 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
29167 fra.me.REG[0] = fra.me.REG[2];
29168 REGB0 = TAG_Int(12);
29169 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29170 /* ./parser//parser.nit:10492 */
29171 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
29172 stack_frame_head = fra.me.prev;
29173 return;
29174 }
29175 void parser___ReduceAction209___init(val_t p0, int* init_table){
29176 int itpos213 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction209].i;
29177 struct {struct stack_frame_t me;} fra;
29178 val_t tmp;
29179 if (init_table[itpos213]) return;
29180 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29181 fra.me.file = LOCATE_parser;
29182 fra.me.line = 10494;
29183 fra.me.meth = LOCATE_parser___ReduceAction209___init;
29184 fra.me.has_broke = 0;
29185 fra.me.REG_size = 1;
29186 fra.me.REG[0] = NIT_NULL;
29187 fra.me.REG[0] = p0;
29188 /* ./parser//parser.nit:10494 */
29189 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
29190 stack_frame_head = fra.me.prev;
29191 init_table[itpos213] = 1;
29192 return;
29193 }
29194 void parser___ReduceAction210___action(val_t p0, val_t p1){
29195 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
29196 val_t REGB0;
29197 val_t tmp;
29198 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29199 fra.me.file = LOCATE_parser;
29200 fra.me.line = 10498;
29201 fra.me.meth = LOCATE_parser___ReduceAction210___action;
29202 fra.me.has_broke = 0;
29203 fra.me.REG_size = 9;
29204 fra.me.REG[0] = NIT_NULL;
29205 fra.me.REG[1] = NIT_NULL;
29206 fra.me.REG[2] = NIT_NULL;
29207 fra.me.REG[3] = NIT_NULL;
29208 fra.me.REG[4] = NIT_NULL;
29209 fra.me.REG[5] = NIT_NULL;
29210 fra.me.REG[6] = NIT_NULL;
29211 fra.me.REG[7] = NIT_NULL;
29212 fra.me.REG[8] = NIT_NULL;
29213 fra.me.REG[0] = p0;
29214 fra.me.REG[1] = p1;
29215 fra.me.REG[0] = NIT_NULL;
29216 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29217 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29218 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29219 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29220 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29221 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29222 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29223 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29224 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29225 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
29226 /* ./parser//parser.nit:10511 */
29227 if (UNTAG_Bool(REGB0)) {
29228 } else {
29229 fprintf(stderr, "Assert failed");
29230 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10511);
29231 nit_exit(1);
29232 }
29233 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
29234 /* ./parser//parser.nit:10513 */
29235 if (UNTAG_Bool(REGB0)) {
29236 } else {
29237 fprintf(stderr, "Assert failed");
29238 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10513);
29239 nit_exit(1);
29240 }
29241 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
29242 /* ./parser//parser.nit:10515 */
29243 if (UNTAG_Bool(REGB0)) {
29244 } else {
29245 fprintf(stderr, "Assert failed");
29246 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10515);
29247 nit_exit(1);
29248 }
29249 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
29250 /* ./parser//parser.nit:10517 */
29251 if (UNTAG_Bool(REGB0)) {
29252 } else {
29253 fprintf(stderr, "Assert failed");
29254 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10517);
29255 nit_exit(1);
29256 }
29257 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
29258 /* ./parser//parser.nit:10519 */
29259 if (UNTAG_Bool(REGB0)) {
29260 } else {
29261 fprintf(stderr, "Assert failed");
29262 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10519);
29263 nit_exit(1);
29264 }
29265 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
29266 /* ./parser//parser.nit:10521 */
29267 if (UNTAG_Bool(REGB0)) {
29268 } else {
29269 fprintf(stderr, "Assert failed");
29270 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10521);
29271 nit_exit(1);
29272 }
29273 fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
29274 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
29275 /* ./parser//parser.nit:10527 */
29276 if (UNTAG_Bool(REGB0)) {
29277 } else {
29278 fprintf(stderr, "Assert failed");
29279 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10527);
29280 nit_exit(1);
29281 }
29282 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]);
29283 fra.me.REG[0] = fra.me.REG[2];
29284 REGB0 = TAG_Int(12);
29285 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29286 /* ./parser//parser.nit:10537 */
29287 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
29288 stack_frame_head = fra.me.prev;
29289 return;
29290 }
29291 void parser___ReduceAction210___init(val_t p0, int* init_table){
29292 int itpos214 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction210].i;
29293 struct {struct stack_frame_t me;} fra;
29294 val_t tmp;
29295 if (init_table[itpos214]) return;
29296 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29297 fra.me.file = LOCATE_parser;
29298 fra.me.line = 10539;
29299 fra.me.meth = LOCATE_parser___ReduceAction210___init;
29300 fra.me.has_broke = 0;
29301 fra.me.REG_size = 1;
29302 fra.me.REG[0] = NIT_NULL;
29303 fra.me.REG[0] = p0;
29304 /* ./parser//parser.nit:10539 */
29305 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
29306 stack_frame_head = fra.me.prev;
29307 init_table[itpos214] = 1;
29308 return;
29309 }
29310 void parser___ReduceAction211___action(val_t p0, val_t p1){
29311 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
29312 val_t REGB0;
29313 val_t tmp;
29314 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29315 fra.me.file = LOCATE_parser;
29316 fra.me.line = 10543;
29317 fra.me.meth = LOCATE_parser___ReduceAction211___action;
29318 fra.me.has_broke = 0;
29319 fra.me.REG_size = 8;
29320 fra.me.REG[0] = NIT_NULL;
29321 fra.me.REG[1] = NIT_NULL;
29322 fra.me.REG[2] = NIT_NULL;
29323 fra.me.REG[3] = NIT_NULL;
29324 fra.me.REG[4] = NIT_NULL;
29325 fra.me.REG[5] = NIT_NULL;
29326 fra.me.REG[6] = NIT_NULL;
29327 fra.me.REG[7] = NIT_NULL;
29328 fra.me.REG[0] = p0;
29329 fra.me.REG[1] = p1;
29330 fra.me.REG[0] = NIT_NULL;
29331 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29332 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29333 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29334 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29335 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29336 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29337 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29338 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29339 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
29340 /* ./parser//parser.nit:10555 */
29341 if (UNTAG_Bool(REGB0)) {
29342 } else {
29343 fprintf(stderr, "Assert failed");
29344 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10555);
29345 nit_exit(1);
29346 }
29347 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
29348 /* ./parser//parser.nit:10557 */
29349 if (UNTAG_Bool(REGB0)) {
29350 } else {
29351 fprintf(stderr, "Assert failed");
29352 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10557);
29353 nit_exit(1);
29354 }
29355 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
29356 /* ./parser//parser.nit:10559 */
29357 if (UNTAG_Bool(REGB0)) {
29358 } else {
29359 fprintf(stderr, "Assert failed");
29360 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10559);
29361 nit_exit(1);
29362 }
29363 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
29364 /* ./parser//parser.nit:10561 */
29365 if (UNTAG_Bool(REGB0)) {
29366 } else {
29367 fprintf(stderr, "Assert failed");
29368 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10561);
29369 nit_exit(1);
29370 }
29371 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
29372 /* ./parser//parser.nit:10563 */
29373 if (UNTAG_Bool(REGB0)) {
29374 } else {
29375 fprintf(stderr, "Assert failed");
29376 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10563);
29377 nit_exit(1);
29378 }
29379 fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
29380 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
29381 /* ./parser//parser.nit:10568 */
29382 if (UNTAG_Bool(REGB0)) {
29383 } else {
29384 fprintf(stderr, "Assert failed");
29385 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10568);
29386 nit_exit(1);
29387 }
29388 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
29389 fra.me.REG[0] = fra.me.REG[2];
29390 REGB0 = TAG_Int(12);
29391 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29392 /* ./parser//parser.nit:10578 */
29393 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
29394 stack_frame_head = fra.me.prev;
29395 return;
29396 }
29397 void parser___ReduceAction211___init(val_t p0, int* init_table){
29398 int itpos215 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction211].i;
29399 struct {struct stack_frame_t me;} fra;
29400 val_t tmp;
29401 if (init_table[itpos215]) return;
29402 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29403 fra.me.file = LOCATE_parser;
29404 fra.me.line = 10580;
29405 fra.me.meth = LOCATE_parser___ReduceAction211___init;
29406 fra.me.has_broke = 0;
29407 fra.me.REG_size = 1;
29408 fra.me.REG[0] = NIT_NULL;
29409 fra.me.REG[0] = p0;
29410 /* ./parser//parser.nit:10580 */
29411 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
29412 stack_frame_head = fra.me.prev;
29413 init_table[itpos215] = 1;
29414 return;
29415 }
29416 void parser___ReduceAction212___action(val_t p0, val_t p1){
29417 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
29418 val_t REGB0;
29419 val_t tmp;
29420 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29421 fra.me.file = LOCATE_parser;
29422 fra.me.line = 10584;
29423 fra.me.meth = LOCATE_parser___ReduceAction212___action;
29424 fra.me.has_broke = 0;
29425 fra.me.REG_size = 9;
29426 fra.me.REG[0] = NIT_NULL;
29427 fra.me.REG[1] = NIT_NULL;
29428 fra.me.REG[2] = NIT_NULL;
29429 fra.me.REG[3] = NIT_NULL;
29430 fra.me.REG[4] = NIT_NULL;
29431 fra.me.REG[5] = NIT_NULL;
29432 fra.me.REG[6] = NIT_NULL;
29433 fra.me.REG[7] = NIT_NULL;
29434 fra.me.REG[8] = NIT_NULL;
29435 fra.me.REG[0] = p0;
29436 fra.me.REG[1] = p1;
29437 fra.me.REG[0] = NIT_NULL;
29438 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29439 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29440 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29441 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29442 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29443 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29444 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29445 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29446 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29447 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
29448 /* ./parser//parser.nit:10597 */
29449 if (UNTAG_Bool(REGB0)) {
29450 } else {
29451 fprintf(stderr, "Assert failed");
29452 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10597);
29453 nit_exit(1);
29454 }
29455 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
29456 /* ./parser//parser.nit:10599 */
29457 if (UNTAG_Bool(REGB0)) {
29458 } else {
29459 fprintf(stderr, "Assert failed");
29460 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10599);
29461 nit_exit(1);
29462 }
29463 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
29464 /* ./parser//parser.nit:10601 */
29465 if (UNTAG_Bool(REGB0)) {
29466 } else {
29467 fprintf(stderr, "Assert failed");
29468 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10601);
29469 nit_exit(1);
29470 }
29471 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
29472 /* ./parser//parser.nit:10603 */
29473 if (UNTAG_Bool(REGB0)) {
29474 } else {
29475 fprintf(stderr, "Assert failed");
29476 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10603);
29477 nit_exit(1);
29478 }
29479 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
29480 /* ./parser//parser.nit:10605 */
29481 if (UNTAG_Bool(REGB0)) {
29482 } else {
29483 fprintf(stderr, "Assert failed");
29484 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10605);
29485 nit_exit(1);
29486 }
29487 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
29488 /* ./parser//parser.nit:10607 */
29489 if (UNTAG_Bool(REGB0)) {
29490 } else {
29491 fprintf(stderr, "Assert failed");
29492 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10607);
29493 nit_exit(1);
29494 }
29495 fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
29496 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
29497 /* ./parser//parser.nit:10613 */
29498 if (UNTAG_Bool(REGB0)) {
29499 } else {
29500 fprintf(stderr, "Assert failed");
29501 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10613);
29502 nit_exit(1);
29503 }
29504 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]);
29505 fra.me.REG[0] = fra.me.REG[2];
29506 REGB0 = TAG_Int(12);
29507 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29508 /* ./parser//parser.nit:10623 */
29509 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
29510 stack_frame_head = fra.me.prev;
29511 return;
29512 }
29513 void parser___ReduceAction212___init(val_t p0, int* init_table){
29514 int itpos216 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction212].i;
29515 struct {struct stack_frame_t me;} fra;
29516 val_t tmp;
29517 if (init_table[itpos216]) return;
29518 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29519 fra.me.file = LOCATE_parser;
29520 fra.me.line = 10625;
29521 fra.me.meth = LOCATE_parser___ReduceAction212___init;
29522 fra.me.has_broke = 0;
29523 fra.me.REG_size = 1;
29524 fra.me.REG[0] = NIT_NULL;
29525 fra.me.REG[0] = p0;
29526 /* ./parser//parser.nit:10625 */
29527 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
29528 stack_frame_head = fra.me.prev;
29529 init_table[itpos216] = 1;
29530 return;
29531 }
29532 void parser___ReduceAction213___action(val_t p0, val_t p1){
29533 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
29534 val_t REGB0;
29535 val_t tmp;
29536 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29537 fra.me.file = LOCATE_parser;
29538 fra.me.line = 10629;
29539 fra.me.meth = LOCATE_parser___ReduceAction213___action;
29540 fra.me.has_broke = 0;
29541 fra.me.REG_size = 10;
29542 fra.me.REG[0] = NIT_NULL;
29543 fra.me.REG[1] = NIT_NULL;
29544 fra.me.REG[2] = NIT_NULL;
29545 fra.me.REG[3] = NIT_NULL;
29546 fra.me.REG[4] = NIT_NULL;
29547 fra.me.REG[5] = NIT_NULL;
29548 fra.me.REG[6] = NIT_NULL;
29549 fra.me.REG[7] = NIT_NULL;
29550 fra.me.REG[8] = NIT_NULL;
29551 fra.me.REG[9] = NIT_NULL;
29552 fra.me.REG[0] = p0;
29553 fra.me.REG[1] = p1;
29554 fra.me.REG[0] = NIT_NULL;
29555 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29556 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29557 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29558 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29559 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29560 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29561 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29562 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29563 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29564 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29565 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
29566 /* ./parser//parser.nit:10643 */
29567 if (UNTAG_Bool(REGB0)) {
29568 } else {
29569 fprintf(stderr, "Assert failed");
29570 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10643);
29571 nit_exit(1);
29572 }
29573 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
29574 /* ./parser//parser.nit:10645 */
29575 if (UNTAG_Bool(REGB0)) {
29576 } else {
29577 fprintf(stderr, "Assert failed");
29578 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10645);
29579 nit_exit(1);
29580 }
29581 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
29582 /* ./parser//parser.nit:10647 */
29583 if (UNTAG_Bool(REGB0)) {
29584 } else {
29585 fprintf(stderr, "Assert failed");
29586 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10647);
29587 nit_exit(1);
29588 }
29589 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
29590 /* ./parser//parser.nit:10649 */
29591 if (UNTAG_Bool(REGB0)) {
29592 } else {
29593 fprintf(stderr, "Assert failed");
29594 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10649);
29595 nit_exit(1);
29596 }
29597 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
29598 /* ./parser//parser.nit:10651 */
29599 if (UNTAG_Bool(REGB0)) {
29600 } else {
29601 fprintf(stderr, "Assert failed");
29602 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10651);
29603 nit_exit(1);
29604 }
29605 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
29606 /* ./parser//parser.nit:10653 */
29607 if (UNTAG_Bool(REGB0)) {
29608 } else {
29609 fprintf(stderr, "Assert failed");
29610 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10653);
29611 nit_exit(1);
29612 }
29613 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
29614 /* ./parser//parser.nit:10655 */
29615 if (UNTAG_Bool(REGB0)) {
29616 } else {
29617 fprintf(stderr, "Assert failed");
29618 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10655);
29619 nit_exit(1);
29620 }
29621 fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
29622 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
29623 /* ./parser//parser.nit:10662 */
29624 if (UNTAG_Bool(REGB0)) {
29625 } else {
29626 fprintf(stderr, "Assert failed");
29627 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10662);
29628 nit_exit(1);
29629 }
29630 fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]);
29631 fra.me.REG[0] = fra.me.REG[2];
29632 REGB0 = TAG_Int(12);
29633 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29634 /* ./parser//parser.nit:10672 */
29635 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
29636 stack_frame_head = fra.me.prev;
29637 return;
29638 }
29639 void parser___ReduceAction213___init(val_t p0, int* init_table){
29640 int itpos217 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction213].i;
29641 struct {struct stack_frame_t me;} fra;
29642 val_t tmp;
29643 if (init_table[itpos217]) return;
29644 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29645 fra.me.file = LOCATE_parser;
29646 fra.me.line = 10674;
29647 fra.me.meth = LOCATE_parser___ReduceAction213___init;
29648 fra.me.has_broke = 0;
29649 fra.me.REG_size = 1;
29650 fra.me.REG[0] = NIT_NULL;
29651 fra.me.REG[0] = p0;
29652 /* ./parser//parser.nit:10674 */
29653 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
29654 stack_frame_head = fra.me.prev;
29655 init_table[itpos217] = 1;
29656 return;
29657 }
29658 void parser___ReduceAction214___action(val_t p0, val_t p1){
29659 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
29660 val_t REGB0;
29661 val_t tmp;
29662 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29663 fra.me.file = LOCATE_parser;
29664 fra.me.line = 10678;
29665 fra.me.meth = LOCATE_parser___ReduceAction214___action;
29666 fra.me.has_broke = 0;
29667 fra.me.REG_size = 7;
29668 fra.me.REG[0] = NIT_NULL;
29669 fra.me.REG[1] = NIT_NULL;
29670 fra.me.REG[2] = NIT_NULL;
29671 fra.me.REG[3] = NIT_NULL;
29672 fra.me.REG[4] = NIT_NULL;
29673 fra.me.REG[5] = NIT_NULL;
29674 fra.me.REG[6] = NIT_NULL;
29675 fra.me.REG[0] = p0;
29676 fra.me.REG[1] = p1;
29677 fra.me.REG[0] = NIT_NULL;
29678 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29679 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29680 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29681 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29682 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29683 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29684 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29685 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
29686 /* ./parser//parser.nit:10689 */
29687 if (UNTAG_Bool(REGB0)) {
29688 } else {
29689 fprintf(stderr, "Assert failed");
29690 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10689);
29691 nit_exit(1);
29692 }
29693 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
29694 /* ./parser//parser.nit:10691 */
29695 if (UNTAG_Bool(REGB0)) {
29696 } else {
29697 fprintf(stderr, "Assert failed");
29698 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10691);
29699 nit_exit(1);
29700 }
29701 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
29702 /* ./parser//parser.nit:10693 */
29703 if (UNTAG_Bool(REGB0)) {
29704 } else {
29705 fprintf(stderr, "Assert failed");
29706 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10693);
29707 nit_exit(1);
29708 }
29709 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
29710 /* ./parser//parser.nit:10695 */
29711 if (UNTAG_Bool(REGB0)) {
29712 } else {
29713 fprintf(stderr, "Assert failed");
29714 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10695);
29715 nit_exit(1);
29716 }
29717 fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
29718 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
29719 /* ./parser//parser.nit:10700 */
29720 if (UNTAG_Bool(REGB0)) {
29721 } else {
29722 fprintf(stderr, "Assert failed");
29723 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10700);
29724 nit_exit(1);
29725 }
29726 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
29727 fra.me.REG[0] = fra.me.REG[2];
29728 REGB0 = TAG_Int(12);
29729 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29730 /* ./parser//parser.nit:10710 */
29731 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
29732 stack_frame_head = fra.me.prev;
29733 return;
29734 }
29735 void parser___ReduceAction214___init(val_t p0, int* init_table){
29736 int itpos218 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction214].i;
29737 struct {struct stack_frame_t me;} fra;
29738 val_t tmp;
29739 if (init_table[itpos218]) return;
29740 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29741 fra.me.file = LOCATE_parser;
29742 fra.me.line = 10712;
29743 fra.me.meth = LOCATE_parser___ReduceAction214___init;
29744 fra.me.has_broke = 0;
29745 fra.me.REG_size = 1;
29746 fra.me.REG[0] = NIT_NULL;
29747 fra.me.REG[0] = p0;
29748 /* ./parser//parser.nit:10712 */
29749 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
29750 stack_frame_head = fra.me.prev;
29751 init_table[itpos218] = 1;
29752 return;
29753 }
29754 void parser___ReduceAction215___action(val_t p0, val_t p1){
29755 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
29756 val_t REGB0;
29757 val_t tmp;
29758 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29759 fra.me.file = LOCATE_parser;
29760 fra.me.line = 10716;
29761 fra.me.meth = LOCATE_parser___ReduceAction215___action;
29762 fra.me.has_broke = 0;
29763 fra.me.REG_size = 7;
29764 fra.me.REG[0] = NIT_NULL;
29765 fra.me.REG[1] = NIT_NULL;
29766 fra.me.REG[2] = NIT_NULL;
29767 fra.me.REG[3] = NIT_NULL;
29768 fra.me.REG[4] = NIT_NULL;
29769 fra.me.REG[5] = NIT_NULL;
29770 fra.me.REG[6] = NIT_NULL;
29771 fra.me.REG[0] = p0;
29772 fra.me.REG[1] = p1;
29773 fra.me.REG[0] = NIT_NULL;
29774 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29775 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29776 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29777 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29778 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29779 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29780 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29781 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
29782 /* ./parser//parser.nit:10727 */
29783 if (UNTAG_Bool(REGB0)) {
29784 } else {
29785 fprintf(stderr, "Assert failed");
29786 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10727);
29787 nit_exit(1);
29788 }
29789 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
29790 /* ./parser//parser.nit:10729 */
29791 if (UNTAG_Bool(REGB0)) {
29792 } else {
29793 fprintf(stderr, "Assert failed");
29794 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10729);
29795 nit_exit(1);
29796 }
29797 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
29798 /* ./parser//parser.nit:10731 */
29799 if (UNTAG_Bool(REGB0)) {
29800 } else {
29801 fprintf(stderr, "Assert failed");
29802 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10731);
29803 nit_exit(1);
29804 }
29805 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
29806 /* ./parser//parser.nit:10733 */
29807 if (UNTAG_Bool(REGB0)) {
29808 } else {
29809 fprintf(stderr, "Assert failed");
29810 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10733);
29811 nit_exit(1);
29812 }
29813 fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
29814 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
29815 /* ./parser//parser.nit:10738 */
29816 if (UNTAG_Bool(REGB0)) {
29817 } else {
29818 fprintf(stderr, "Assert failed");
29819 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10738);
29820 nit_exit(1);
29821 }
29822 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
29823 fra.me.REG[0] = fra.me.REG[2];
29824 REGB0 = TAG_Int(12);
29825 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29826 /* ./parser//parser.nit:10748 */
29827 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
29828 stack_frame_head = fra.me.prev;
29829 return;
29830 }
29831 void parser___ReduceAction215___init(val_t p0, int* init_table){
29832 int itpos219 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction215].i;
29833 struct {struct stack_frame_t me;} fra;
29834 val_t tmp;
29835 if (init_table[itpos219]) return;
29836 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29837 fra.me.file = LOCATE_parser;
29838 fra.me.line = 10750;
29839 fra.me.meth = LOCATE_parser___ReduceAction215___init;
29840 fra.me.has_broke = 0;
29841 fra.me.REG_size = 1;
29842 fra.me.REG[0] = NIT_NULL;
29843 fra.me.REG[0] = p0;
29844 /* ./parser//parser.nit:10750 */
29845 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
29846 stack_frame_head = fra.me.prev;
29847 init_table[itpos219] = 1;
29848 return;
29849 }
29850 void parser___ReduceAction216___action(val_t p0, val_t p1){
29851 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
29852 val_t REGB0;
29853 val_t tmp;
29854 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29855 fra.me.file = LOCATE_parser;
29856 fra.me.line = 10754;
29857 fra.me.meth = LOCATE_parser___ReduceAction216___action;
29858 fra.me.has_broke = 0;
29859 fra.me.REG_size = 7;
29860 fra.me.REG[0] = NIT_NULL;
29861 fra.me.REG[1] = NIT_NULL;
29862 fra.me.REG[2] = NIT_NULL;
29863 fra.me.REG[3] = NIT_NULL;
29864 fra.me.REG[4] = NIT_NULL;
29865 fra.me.REG[5] = NIT_NULL;
29866 fra.me.REG[6] = NIT_NULL;
29867 fra.me.REG[0] = p0;
29868 fra.me.REG[1] = p1;
29869 fra.me.REG[0] = NIT_NULL;
29870 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29871 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29872 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29873 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29874 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29875 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29876 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29877 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
29878 /* ./parser//parser.nit:10765 */
29879 if (UNTAG_Bool(REGB0)) {
29880 } else {
29881 fprintf(stderr, "Assert failed");
29882 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10765);
29883 nit_exit(1);
29884 }
29885 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
29886 /* ./parser//parser.nit:10767 */
29887 if (UNTAG_Bool(REGB0)) {
29888 } else {
29889 fprintf(stderr, "Assert failed");
29890 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10767);
29891 nit_exit(1);
29892 }
29893 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
29894 /* ./parser//parser.nit:10769 */
29895 if (UNTAG_Bool(REGB0)) {
29896 } else {
29897 fprintf(stderr, "Assert failed");
29898 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10769);
29899 nit_exit(1);
29900 }
29901 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
29902 /* ./parser//parser.nit:10771 */
29903 if (UNTAG_Bool(REGB0)) {
29904 } else {
29905 fprintf(stderr, "Assert failed");
29906 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10771);
29907 nit_exit(1);
29908 }
29909 fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
29910 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
29911 /* ./parser//parser.nit:10776 */
29912 if (UNTAG_Bool(REGB0)) {
29913 } else {
29914 fprintf(stderr, "Assert failed");
29915 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10776);
29916 nit_exit(1);
29917 }
29918 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
29919 fra.me.REG[0] = fra.me.REG[2];
29920 REGB0 = TAG_Int(12);
29921 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29922 /* ./parser//parser.nit:10786 */
29923 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
29924 stack_frame_head = fra.me.prev;
29925 return;
29926 }
29927 void parser___ReduceAction216___init(val_t p0, int* init_table){
29928 int itpos220 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction216].i;
29929 struct {struct stack_frame_t me;} fra;
29930 val_t tmp;
29931 if (init_table[itpos220]) return;
29932 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29933 fra.me.file = LOCATE_parser;
29934 fra.me.line = 10788;
29935 fra.me.meth = LOCATE_parser___ReduceAction216___init;
29936 fra.me.has_broke = 0;
29937 fra.me.REG_size = 1;
29938 fra.me.REG[0] = NIT_NULL;
29939 fra.me.REG[0] = p0;
29940 /* ./parser//parser.nit:10788 */
29941 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
29942 stack_frame_head = fra.me.prev;
29943 init_table[itpos220] = 1;
29944 return;
29945 }
29946 void parser___ReduceAction217___action(val_t p0, val_t p1){
29947 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
29948 val_t REGB0;
29949 val_t tmp;
29950 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29951 fra.me.file = LOCATE_parser;
29952 fra.me.line = 10792;
29953 fra.me.meth = LOCATE_parser___ReduceAction217___action;
29954 fra.me.has_broke = 0;
29955 fra.me.REG_size = 7;
29956 fra.me.REG[0] = NIT_NULL;
29957 fra.me.REG[1] = NIT_NULL;
29958 fra.me.REG[2] = NIT_NULL;
29959 fra.me.REG[3] = NIT_NULL;
29960 fra.me.REG[4] = NIT_NULL;
29961 fra.me.REG[5] = NIT_NULL;
29962 fra.me.REG[6] = NIT_NULL;
29963 fra.me.REG[0] = p0;
29964 fra.me.REG[1] = p1;
29965 fra.me.REG[0] = NIT_NULL;
29966 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29967 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29968 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29969 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29970 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29971 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29972 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29973 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
29974 /* ./parser//parser.nit:10803 */
29975 if (UNTAG_Bool(REGB0)) {
29976 } else {
29977 fprintf(stderr, "Assert failed");
29978 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10803);
29979 nit_exit(1);
29980 }
29981 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
29982 /* ./parser//parser.nit:10805 */
29983 if (UNTAG_Bool(REGB0)) {
29984 } else {
29985 fprintf(stderr, "Assert failed");
29986 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10805);
29987 nit_exit(1);
29988 }
29989 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
29990 /* ./parser//parser.nit:10807 */
29991 if (UNTAG_Bool(REGB0)) {
29992 } else {
29993 fprintf(stderr, "Assert failed");
29994 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10807);
29995 nit_exit(1);
29996 }
29997 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
29998 /* ./parser//parser.nit:10809 */
29999 if (UNTAG_Bool(REGB0)) {
30000 } else {
30001 fprintf(stderr, "Assert failed");
30002 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10809);
30003 nit_exit(1);
30004 }
30005 fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
30006 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
30007 /* ./parser//parser.nit:10814 */
30008 if (UNTAG_Bool(REGB0)) {
30009 } else {
30010 fprintf(stderr, "Assert failed");
30011 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10814);
30012 nit_exit(1);
30013 }
30014 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
30015 fra.me.REG[0] = fra.me.REG[2];
30016 REGB0 = TAG_Int(12);
30017 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30018 /* ./parser//parser.nit:10824 */
30019 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
30020 stack_frame_head = fra.me.prev;
30021 return;
30022 }
30023 void parser___ReduceAction217___init(val_t p0, int* init_table){
30024 int itpos221 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction217].i;
30025 struct {struct stack_frame_t me;} fra;
30026 val_t tmp;
30027 if (init_table[itpos221]) return;
30028 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30029 fra.me.file = LOCATE_parser;
30030 fra.me.line = 10826;
30031 fra.me.meth = LOCATE_parser___ReduceAction217___init;
30032 fra.me.has_broke = 0;
30033 fra.me.REG_size = 1;
30034 fra.me.REG[0] = NIT_NULL;
30035 fra.me.REG[0] = p0;
30036 /* ./parser//parser.nit:10826 */
30037 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
30038 stack_frame_head = fra.me.prev;
30039 init_table[itpos221] = 1;
30040 return;
30041 }
30042 void parser___ReduceAction218___action(val_t p0, val_t p1){
30043 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
30044 val_t REGB0;
30045 val_t tmp;
30046 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30047 fra.me.file = LOCATE_parser;
30048 fra.me.line = 10830;
30049 fra.me.meth = LOCATE_parser___ReduceAction218___action;
30050 fra.me.has_broke = 0;
30051 fra.me.REG_size = 7;
30052 fra.me.REG[0] = NIT_NULL;
30053 fra.me.REG[1] = NIT_NULL;
30054 fra.me.REG[2] = NIT_NULL;
30055 fra.me.REG[3] = NIT_NULL;
30056 fra.me.REG[4] = NIT_NULL;
30057 fra.me.REG[5] = NIT_NULL;
30058 fra.me.REG[6] = NIT_NULL;
30059 fra.me.REG[0] = p0;
30060 fra.me.REG[1] = p1;
30061 fra.me.REG[0] = NIT_NULL;
30062 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30063 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30064 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30065 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30066 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30067 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30068 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30069 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
30070 /* ./parser//parser.nit:10841 */
30071 if (UNTAG_Bool(REGB0)) {
30072 } else {
30073 fprintf(stderr, "Assert failed");
30074 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10841);
30075 nit_exit(1);
30076 }
30077 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
30078 /* ./parser//parser.nit:10843 */
30079 if (UNTAG_Bool(REGB0)) {
30080 } else {
30081 fprintf(stderr, "Assert failed");
30082 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10843);
30083 nit_exit(1);
30084 }
30085 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
30086 /* ./parser//parser.nit:10845 */
30087 if (UNTAG_Bool(REGB0)) {
30088 } else {
30089 fprintf(stderr, "Assert failed");
30090 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10845);
30091 nit_exit(1);
30092 }
30093 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
30094 /* ./parser//parser.nit:10847 */
30095 if (UNTAG_Bool(REGB0)) {
30096 } else {
30097 fprintf(stderr, "Assert failed");
30098 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10847);
30099 nit_exit(1);
30100 }
30101 fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
30102 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
30103 /* ./parser//parser.nit:10852 */
30104 if (UNTAG_Bool(REGB0)) {
30105 } else {
30106 fprintf(stderr, "Assert failed");
30107 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10852);
30108 nit_exit(1);
30109 }
30110 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
30111 fra.me.REG[0] = fra.me.REG[2];
30112 REGB0 = TAG_Int(12);
30113 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30114 /* ./parser//parser.nit:10862 */
30115 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
30116 stack_frame_head = fra.me.prev;
30117 return;
30118 }
30119 void parser___ReduceAction218___init(val_t p0, int* init_table){
30120 int itpos222 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction218].i;
30121 struct {struct stack_frame_t me;} fra;
30122 val_t tmp;
30123 if (init_table[itpos222]) return;
30124 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30125 fra.me.file = LOCATE_parser;
30126 fra.me.line = 10864;
30127 fra.me.meth = LOCATE_parser___ReduceAction218___init;
30128 fra.me.has_broke = 0;
30129 fra.me.REG_size = 1;
30130 fra.me.REG[0] = NIT_NULL;
30131 fra.me.REG[0] = p0;
30132 /* ./parser//parser.nit:10864 */
30133 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
30134 stack_frame_head = fra.me.prev;
30135 init_table[itpos222] = 1;
30136 return;
30137 }
30138 void parser___ReduceAction219___action(val_t p0, val_t p1){
30139 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
30140 val_t REGB0;
30141 val_t tmp;
30142 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30143 fra.me.file = LOCATE_parser;
30144 fra.me.line = 10868;
30145 fra.me.meth = LOCATE_parser___ReduceAction219___action;
30146 fra.me.has_broke = 0;
30147 fra.me.REG_size = 7;
30148 fra.me.REG[0] = NIT_NULL;
30149 fra.me.REG[1] = NIT_NULL;
30150 fra.me.REG[2] = NIT_NULL;
30151 fra.me.REG[3] = NIT_NULL;
30152 fra.me.REG[4] = NIT_NULL;
30153 fra.me.REG[5] = NIT_NULL;
30154 fra.me.REG[6] = NIT_NULL;
30155 fra.me.REG[0] = p0;
30156 fra.me.REG[1] = p1;
30157 fra.me.REG[0] = NIT_NULL;
30158 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30159 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30160 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30161 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30162 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30163 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30164 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30165 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
30166 /* ./parser//parser.nit:10879 */
30167 if (UNTAG_Bool(REGB0)) {
30168 } else {
30169 fprintf(stderr, "Assert failed");
30170 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10879);
30171 nit_exit(1);
30172 }
30173 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
30174 /* ./parser//parser.nit:10881 */
30175 if (UNTAG_Bool(REGB0)) {
30176 } else {
30177 fprintf(stderr, "Assert failed");
30178 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10881);
30179 nit_exit(1);
30180 }
30181 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
30182 /* ./parser//parser.nit:10883 */
30183 if (UNTAG_Bool(REGB0)) {
30184 } else {
30185 fprintf(stderr, "Assert failed");
30186 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10883);
30187 nit_exit(1);
30188 }
30189 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
30190 /* ./parser//parser.nit:10885 */
30191 if (UNTAG_Bool(REGB0)) {
30192 } else {
30193 fprintf(stderr, "Assert failed");
30194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10885);
30195 nit_exit(1);
30196 }
30197 fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
30198 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
30199 /* ./parser//parser.nit:10890 */
30200 if (UNTAG_Bool(REGB0)) {
30201 } else {
30202 fprintf(stderr, "Assert failed");
30203 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10890);
30204 nit_exit(1);
30205 }
30206 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
30207 fra.me.REG[0] = fra.me.REG[2];
30208 REGB0 = TAG_Int(12);
30209 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30210 /* ./parser//parser.nit:10900 */
30211 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
30212 stack_frame_head = fra.me.prev;
30213 return;
30214 }
30215 void parser___ReduceAction219___init(val_t p0, int* init_table){
30216 int itpos223 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction219].i;
30217 struct {struct stack_frame_t me;} fra;
30218 val_t tmp;
30219 if (init_table[itpos223]) return;
30220 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30221 fra.me.file = LOCATE_parser;
30222 fra.me.line = 10902;
30223 fra.me.meth = LOCATE_parser___ReduceAction219___init;
30224 fra.me.has_broke = 0;
30225 fra.me.REG_size = 1;
30226 fra.me.REG[0] = NIT_NULL;
30227 fra.me.REG[0] = p0;
30228 /* ./parser//parser.nit:10902 */
30229 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
30230 stack_frame_head = fra.me.prev;
30231 init_table[itpos223] = 1;
30232 return;
30233 }
30234 void parser___ReduceAction220___action(val_t p0, val_t p1){
30235 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
30236 val_t REGB0;
30237 val_t tmp;
30238 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30239 fra.me.file = LOCATE_parser;
30240 fra.me.line = 10906;
30241 fra.me.meth = LOCATE_parser___ReduceAction220___action;
30242 fra.me.has_broke = 0;
30243 fra.me.REG_size = 7;
30244 fra.me.REG[0] = NIT_NULL;
30245 fra.me.REG[1] = NIT_NULL;
30246 fra.me.REG[2] = NIT_NULL;
30247 fra.me.REG[3] = NIT_NULL;
30248 fra.me.REG[4] = NIT_NULL;
30249 fra.me.REG[5] = NIT_NULL;
30250 fra.me.REG[6] = NIT_NULL;
30251 fra.me.REG[0] = p0;
30252 fra.me.REG[1] = p1;
30253 fra.me.REG[0] = NIT_NULL;
30254 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30255 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30256 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30257 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30258 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30259 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30260 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30261 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
30262 /* ./parser//parser.nit:10917 */
30263 if (UNTAG_Bool(REGB0)) {
30264 } else {
30265 fprintf(stderr, "Assert failed");
30266 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10917);
30267 nit_exit(1);
30268 }
30269 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
30270 /* ./parser//parser.nit:10919 */
30271 if (UNTAG_Bool(REGB0)) {
30272 } else {
30273 fprintf(stderr, "Assert failed");
30274 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10919);
30275 nit_exit(1);
30276 }
30277 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
30278 /* ./parser//parser.nit:10921 */
30279 if (UNTAG_Bool(REGB0)) {
30280 } else {
30281 fprintf(stderr, "Assert failed");
30282 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10921);
30283 nit_exit(1);
30284 }
30285 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
30286 /* ./parser//parser.nit:10923 */
30287 if (UNTAG_Bool(REGB0)) {
30288 } else {
30289 fprintf(stderr, "Assert failed");
30290 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10923);
30291 nit_exit(1);
30292 }
30293 fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
30294 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
30295 /* ./parser//parser.nit:10928 */
30296 if (UNTAG_Bool(REGB0)) {
30297 } else {
30298 fprintf(stderr, "Assert failed");
30299 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10928);
30300 nit_exit(1);
30301 }
30302 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
30303 fra.me.REG[0] = fra.me.REG[2];
30304 REGB0 = TAG_Int(12);
30305 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30306 /* ./parser//parser.nit:10938 */
30307 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
30308 stack_frame_head = fra.me.prev;
30309 return;
30310 }
30311 void parser___ReduceAction220___init(val_t p0, int* init_table){
30312 int itpos224 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction220].i;
30313 struct {struct stack_frame_t me;} fra;
30314 val_t tmp;
30315 if (init_table[itpos224]) return;
30316 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30317 fra.me.file = LOCATE_parser;
30318 fra.me.line = 10940;
30319 fra.me.meth = LOCATE_parser___ReduceAction220___init;
30320 fra.me.has_broke = 0;
30321 fra.me.REG_size = 1;
30322 fra.me.REG[0] = NIT_NULL;
30323 fra.me.REG[0] = p0;
30324 /* ./parser//parser.nit:10940 */
30325 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
30326 stack_frame_head = fra.me.prev;
30327 init_table[itpos224] = 1;
30328 return;
30329 }
30330 void parser___ReduceAction221___action(val_t p0, val_t p1){
30331 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
30332 val_t REGB0;
30333 val_t tmp;
30334 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30335 fra.me.file = LOCATE_parser;
30336 fra.me.line = 10944;
30337 fra.me.meth = LOCATE_parser___ReduceAction221___action;
30338 fra.me.has_broke = 0;
30339 fra.me.REG_size = 7;
30340 fra.me.REG[0] = NIT_NULL;
30341 fra.me.REG[1] = NIT_NULL;
30342 fra.me.REG[2] = NIT_NULL;
30343 fra.me.REG[3] = NIT_NULL;
30344 fra.me.REG[4] = NIT_NULL;
30345 fra.me.REG[5] = NIT_NULL;
30346 fra.me.REG[6] = NIT_NULL;
30347 fra.me.REG[0] = p0;
30348 fra.me.REG[1] = p1;
30349 fra.me.REG[0] = NIT_NULL;
30350 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30351 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30352 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30353 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30354 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30355 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30356 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30357 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
30358 /* ./parser//parser.nit:10955 */
30359 if (UNTAG_Bool(REGB0)) {
30360 } else {
30361 fprintf(stderr, "Assert failed");
30362 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10955);
30363 nit_exit(1);
30364 }
30365 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
30366 /* ./parser//parser.nit:10957 */
30367 if (UNTAG_Bool(REGB0)) {
30368 } else {
30369 fprintf(stderr, "Assert failed");
30370 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10957);
30371 nit_exit(1);
30372 }
30373 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
30374 /* ./parser//parser.nit:10959 */
30375 if (UNTAG_Bool(REGB0)) {
30376 } else {
30377 fprintf(stderr, "Assert failed");
30378 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10959);
30379 nit_exit(1);
30380 }
30381 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
30382 /* ./parser//parser.nit:10961 */
30383 if (UNTAG_Bool(REGB0)) {
30384 } else {
30385 fprintf(stderr, "Assert failed");
30386 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10961);
30387 nit_exit(1);
30388 }
30389 fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
30390 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
30391 /* ./parser//parser.nit:10966 */
30392 if (UNTAG_Bool(REGB0)) {
30393 } else {
30394 fprintf(stderr, "Assert failed");
30395 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10966);
30396 nit_exit(1);
30397 }
30398 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
30399 fra.me.REG[0] = fra.me.REG[2];
30400 REGB0 = TAG_Int(12);
30401 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30402 /* ./parser//parser.nit:10976 */
30403 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
30404 stack_frame_head = fra.me.prev;
30405 return;
30406 }
30407 void parser___ReduceAction221___init(val_t p0, int* init_table){
30408 int itpos225 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction221].i;
30409 struct {struct stack_frame_t me;} fra;
30410 val_t tmp;
30411 if (init_table[itpos225]) return;
30412 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30413 fra.me.file = LOCATE_parser;
30414 fra.me.line = 10978;
30415 fra.me.meth = LOCATE_parser___ReduceAction221___init;
30416 fra.me.has_broke = 0;
30417 fra.me.REG_size = 1;
30418 fra.me.REG[0] = NIT_NULL;
30419 fra.me.REG[0] = p0;
30420 /* ./parser//parser.nit:10978 */
30421 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
30422 stack_frame_head = fra.me.prev;
30423 init_table[itpos225] = 1;
30424 return;
30425 }
30426 void parser___ReduceAction222___action(val_t p0, val_t p1){
30427 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
30428 val_t REGB0;
30429 val_t tmp;
30430 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30431 fra.me.file = LOCATE_parser;
30432 fra.me.line = 10982;
30433 fra.me.meth = LOCATE_parser___ReduceAction222___action;
30434 fra.me.has_broke = 0;
30435 fra.me.REG_size = 7;
30436 fra.me.REG[0] = NIT_NULL;
30437 fra.me.REG[1] = NIT_NULL;
30438 fra.me.REG[2] = NIT_NULL;
30439 fra.me.REG[3] = NIT_NULL;
30440 fra.me.REG[4] = NIT_NULL;
30441 fra.me.REG[5] = NIT_NULL;
30442 fra.me.REG[6] = NIT_NULL;
30443 fra.me.REG[0] = p0;
30444 fra.me.REG[1] = p1;
30445 fra.me.REG[0] = NIT_NULL;
30446 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30447 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30448 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30449 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30450 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30451 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30452 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30453 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
30454 /* ./parser//parser.nit:10993 */
30455 if (UNTAG_Bool(REGB0)) {
30456 } else {
30457 fprintf(stderr, "Assert failed");
30458 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10993);
30459 nit_exit(1);
30460 }
30461 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
30462 /* ./parser//parser.nit:10995 */
30463 if (UNTAG_Bool(REGB0)) {
30464 } else {
30465 fprintf(stderr, "Assert failed");
30466 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10995);
30467 nit_exit(1);
30468 }
30469 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
30470 /* ./parser//parser.nit:10997 */
30471 if (UNTAG_Bool(REGB0)) {
30472 } else {
30473 fprintf(stderr, "Assert failed");
30474 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10997);
30475 nit_exit(1);
30476 }
30477 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
30478 /* ./parser//parser.nit:10999 */
30479 if (UNTAG_Bool(REGB0)) {
30480 } else {
30481 fprintf(stderr, "Assert failed");
30482 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10999);
30483 nit_exit(1);
30484 }
30485 fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
30486 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
30487 /* ./parser//parser.nit:11004 */
30488 if (UNTAG_Bool(REGB0)) {
30489 } else {
30490 fprintf(stderr, "Assert failed");
30491 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11004);
30492 nit_exit(1);
30493 }
30494 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
30495 fra.me.REG[0] = fra.me.REG[2];
30496 REGB0 = TAG_Int(12);
30497 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30498 /* ./parser//parser.nit:11014 */
30499 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
30500 stack_frame_head = fra.me.prev;
30501 return;
30502 }
30503 void parser___ReduceAction222___init(val_t p0, int* init_table){
30504 int itpos226 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction222].i;
30505 struct {struct stack_frame_t me;} fra;
30506 val_t tmp;
30507 if (init_table[itpos226]) return;
30508 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30509 fra.me.file = LOCATE_parser;
30510 fra.me.line = 11016;
30511 fra.me.meth = LOCATE_parser___ReduceAction222___init;
30512 fra.me.has_broke = 0;
30513 fra.me.REG_size = 1;
30514 fra.me.REG[0] = NIT_NULL;
30515 fra.me.REG[0] = p0;
30516 /* ./parser//parser.nit:11016 */
30517 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
30518 stack_frame_head = fra.me.prev;
30519 init_table[itpos226] = 1;
30520 return;
30521 }
30522 void parser___ReduceAction223___action(val_t p0, val_t p1){
30523 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
30524 val_t REGB0;
30525 val_t tmp;
30526 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30527 fra.me.file = LOCATE_parser;
30528 fra.me.line = 11020;
30529 fra.me.meth = LOCATE_parser___ReduceAction223___action;
30530 fra.me.has_broke = 0;
30531 fra.me.REG_size = 7;
30532 fra.me.REG[0] = NIT_NULL;
30533 fra.me.REG[1] = NIT_NULL;
30534 fra.me.REG[2] = NIT_NULL;
30535 fra.me.REG[3] = NIT_NULL;
30536 fra.me.REG[4] = NIT_NULL;
30537 fra.me.REG[5] = NIT_NULL;
30538 fra.me.REG[6] = NIT_NULL;
30539 fra.me.REG[0] = p0;
30540 fra.me.REG[1] = p1;
30541 fra.me.REG[0] = NIT_NULL;
30542 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30543 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30544 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30545 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30546 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30547 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30548 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30549 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
30550 /* ./parser//parser.nit:11031 */
30551 if (UNTAG_Bool(REGB0)) {
30552 } else {
30553 fprintf(stderr, "Assert failed");
30554 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11031);
30555 nit_exit(1);
30556 }
30557 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
30558 /* ./parser//parser.nit:11033 */
30559 if (UNTAG_Bool(REGB0)) {
30560 } else {
30561 fprintf(stderr, "Assert failed");
30562 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11033);
30563 nit_exit(1);
30564 }
30565 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
30566 /* ./parser//parser.nit:11035 */
30567 if (UNTAG_Bool(REGB0)) {
30568 } else {
30569 fprintf(stderr, "Assert failed");
30570 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11035);
30571 nit_exit(1);
30572 }
30573 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
30574 /* ./parser//parser.nit:11037 */
30575 if (UNTAG_Bool(REGB0)) {
30576 } else {
30577 fprintf(stderr, "Assert failed");
30578 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11037);
30579 nit_exit(1);
30580 }
30581 fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
30582 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
30583 /* ./parser//parser.nit:11042 */
30584 if (UNTAG_Bool(REGB0)) {
30585 } else {
30586 fprintf(stderr, "Assert failed");
30587 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11042);
30588 nit_exit(1);
30589 }
30590 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
30591 fra.me.REG[0] = fra.me.REG[2];
30592 REGB0 = TAG_Int(12);
30593 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30594 /* ./parser//parser.nit:11052 */
30595 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
30596 stack_frame_head = fra.me.prev;
30597 return;
30598 }
30599 void parser___ReduceAction223___init(val_t p0, int* init_table){
30600 int itpos227 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction223].i;
30601 struct {struct stack_frame_t me;} fra;
30602 val_t tmp;
30603 if (init_table[itpos227]) return;
30604 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30605 fra.me.file = LOCATE_parser;
30606 fra.me.line = 11054;
30607 fra.me.meth = LOCATE_parser___ReduceAction223___init;
30608 fra.me.has_broke = 0;
30609 fra.me.REG_size = 1;
30610 fra.me.REG[0] = NIT_NULL;
30611 fra.me.REG[0] = p0;
30612 /* ./parser//parser.nit:11054 */
30613 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
30614 stack_frame_head = fra.me.prev;
30615 init_table[itpos227] = 1;
30616 return;
30617 }
30618 void parser___ReduceAction224___action(val_t p0, val_t p1){
30619 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
30620 val_t REGB0;
30621 val_t tmp;
30622 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30623 fra.me.file = LOCATE_parser;
30624 fra.me.line = 11058;
30625 fra.me.meth = LOCATE_parser___ReduceAction224___action;
30626 fra.me.has_broke = 0;
30627 fra.me.REG_size = 7;
30628 fra.me.REG[0] = NIT_NULL;
30629 fra.me.REG[1] = NIT_NULL;
30630 fra.me.REG[2] = NIT_NULL;
30631 fra.me.REG[3] = NIT_NULL;
30632 fra.me.REG[4] = NIT_NULL;
30633 fra.me.REG[5] = NIT_NULL;
30634 fra.me.REG[6] = NIT_NULL;
30635 fra.me.REG[0] = p0;
30636 fra.me.REG[1] = p1;
30637 fra.me.REG[0] = NIT_NULL;
30638 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30639 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30640 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30641 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30642 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30643 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30644 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30645 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
30646 /* ./parser//parser.nit:11069 */
30647 if (UNTAG_Bool(REGB0)) {
30648 } else {
30649 fprintf(stderr, "Assert failed");
30650 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11069);
30651 nit_exit(1);
30652 }
30653 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
30654 /* ./parser//parser.nit:11071 */
30655 if (UNTAG_Bool(REGB0)) {
30656 } else {
30657 fprintf(stderr, "Assert failed");
30658 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11071);
30659 nit_exit(1);
30660 }
30661 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
30662 /* ./parser//parser.nit:11073 */
30663 if (UNTAG_Bool(REGB0)) {
30664 } else {
30665 fprintf(stderr, "Assert failed");
30666 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11073);
30667 nit_exit(1);
30668 }
30669 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
30670 /* ./parser//parser.nit:11075 */
30671 if (UNTAG_Bool(REGB0)) {
30672 } else {
30673 fprintf(stderr, "Assert failed");
30674 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11075);
30675 nit_exit(1);
30676 }
30677 fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
30678 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
30679 /* ./parser//parser.nit:11080 */
30680 if (UNTAG_Bool(REGB0)) {
30681 } else {
30682 fprintf(stderr, "Assert failed");
30683 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11080);
30684 nit_exit(1);
30685 }
30686 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
30687 fra.me.REG[0] = fra.me.REG[2];
30688 REGB0 = TAG_Int(12);
30689 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30690 /* ./parser//parser.nit:11090 */
30691 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
30692 stack_frame_head = fra.me.prev;
30693 return;
30694 }
30695 void parser___ReduceAction224___init(val_t p0, int* init_table){
30696 int itpos228 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction224].i;
30697 struct {struct stack_frame_t me;} fra;
30698 val_t tmp;
30699 if (init_table[itpos228]) return;
30700 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30701 fra.me.file = LOCATE_parser;
30702 fra.me.line = 11092;
30703 fra.me.meth = LOCATE_parser___ReduceAction224___init;
30704 fra.me.has_broke = 0;
30705 fra.me.REG_size = 1;
30706 fra.me.REG[0] = NIT_NULL;
30707 fra.me.REG[0] = p0;
30708 /* ./parser//parser.nit:11092 */
30709 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
30710 stack_frame_head = fra.me.prev;
30711 init_table[itpos228] = 1;
30712 return;
30713 }
30714 void parser___ReduceAction225___action(val_t p0, val_t p1){
30715 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
30716 val_t REGB0;
30717 val_t tmp;
30718 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30719 fra.me.file = LOCATE_parser;
30720 fra.me.line = 11096;
30721 fra.me.meth = LOCATE_parser___ReduceAction225___action;
30722 fra.me.has_broke = 0;
30723 fra.me.REG_size = 7;
30724 fra.me.REG[0] = NIT_NULL;
30725 fra.me.REG[1] = NIT_NULL;
30726 fra.me.REG[2] = NIT_NULL;
30727 fra.me.REG[3] = NIT_NULL;
30728 fra.me.REG[4] = NIT_NULL;
30729 fra.me.REG[5] = NIT_NULL;
30730 fra.me.REG[6] = NIT_NULL;
30731 fra.me.REG[0] = p0;
30732 fra.me.REG[1] = p1;
30733 fra.me.REG[0] = NIT_NULL;
30734 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30735 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30736 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30737 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30738 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30739 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30740 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30741 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
30742 /* ./parser//parser.nit:11107 */
30743 if (UNTAG_Bool(REGB0)) {
30744 } else {
30745 fprintf(stderr, "Assert failed");
30746 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11107);
30747 nit_exit(1);
30748 }
30749 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
30750 /* ./parser//parser.nit:11109 */
30751 if (UNTAG_Bool(REGB0)) {
30752 } else {
30753 fprintf(stderr, "Assert failed");
30754 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11109);
30755 nit_exit(1);
30756 }
30757 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
30758 /* ./parser//parser.nit:11111 */
30759 if (UNTAG_Bool(REGB0)) {
30760 } else {
30761 fprintf(stderr, "Assert failed");
30762 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11111);
30763 nit_exit(1);
30764 }
30765 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
30766 /* ./parser//parser.nit:11113 */
30767 if (UNTAG_Bool(REGB0)) {
30768 } else {
30769 fprintf(stderr, "Assert failed");
30770 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11113);
30771 nit_exit(1);
30772 }
30773 fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
30774 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
30775 /* ./parser//parser.nit:11118 */
30776 if (UNTAG_Bool(REGB0)) {
30777 } else {
30778 fprintf(stderr, "Assert failed");
30779 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11118);
30780 nit_exit(1);
30781 }
30782 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
30783 fra.me.REG[0] = fra.me.REG[2];
30784 REGB0 = TAG_Int(12);
30785 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30786 /* ./parser//parser.nit:11128 */
30787 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
30788 stack_frame_head = fra.me.prev;
30789 return;
30790 }
30791 void parser___ReduceAction225___init(val_t p0, int* init_table){
30792 int itpos229 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction225].i;
30793 struct {struct stack_frame_t me;} fra;
30794 val_t tmp;
30795 if (init_table[itpos229]) return;
30796 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30797 fra.me.file = LOCATE_parser;
30798 fra.me.line = 11130;
30799 fra.me.meth = LOCATE_parser___ReduceAction225___init;
30800 fra.me.has_broke = 0;
30801 fra.me.REG_size = 1;
30802 fra.me.REG[0] = NIT_NULL;
30803 fra.me.REG[0] = p0;
30804 /* ./parser//parser.nit:11130 */
30805 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
30806 stack_frame_head = fra.me.prev;
30807 init_table[itpos229] = 1;
30808 return;
30809 }
30810 void parser___ReduceAction226___action(val_t p0, val_t p1){
30811 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
30812 val_t REGB0;
30813 val_t tmp;
30814 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30815 fra.me.file = LOCATE_parser;
30816 fra.me.line = 11134;
30817 fra.me.meth = LOCATE_parser___ReduceAction226___action;
30818 fra.me.has_broke = 0;
30819 fra.me.REG_size = 8;
30820 fra.me.REG[0] = NIT_NULL;
30821 fra.me.REG[1] = NIT_NULL;
30822 fra.me.REG[2] = NIT_NULL;
30823 fra.me.REG[3] = NIT_NULL;
30824 fra.me.REG[4] = NIT_NULL;
30825 fra.me.REG[5] = NIT_NULL;
30826 fra.me.REG[6] = NIT_NULL;
30827 fra.me.REG[7] = NIT_NULL;
30828 fra.me.REG[0] = p0;
30829 fra.me.REG[1] = p1;
30830 fra.me.REG[0] = NIT_NULL;
30831 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30832 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30833 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30834 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30835 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30836 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30837 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30838 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30839 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
30840 /* ./parser//parser.nit:11146 */
30841 if (UNTAG_Bool(REGB0)) {
30842 } else {
30843 fprintf(stderr, "Assert failed");
30844 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11146);
30845 nit_exit(1);
30846 }
30847 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
30848 /* ./parser//parser.nit:11148 */
30849 if (UNTAG_Bool(REGB0)) {
30850 } else {
30851 fprintf(stderr, "Assert failed");
30852 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11148);
30853 nit_exit(1);
30854 }
30855 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
30856 /* ./parser//parser.nit:11150 */
30857 if (UNTAG_Bool(REGB0)) {
30858 } else {
30859 fprintf(stderr, "Assert failed");
30860 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11150);
30861 nit_exit(1);
30862 }
30863 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
30864 /* ./parser//parser.nit:11152 */
30865 if (UNTAG_Bool(REGB0)) {
30866 } else {
30867 fprintf(stderr, "Assert failed");
30868 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11152);
30869 nit_exit(1);
30870 }
30871 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
30872 /* ./parser//parser.nit:11154 */
30873 if (UNTAG_Bool(REGB0)) {
30874 } else {
30875 fprintf(stderr, "Assert failed");
30876 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11154);
30877 nit_exit(1);
30878 }
30879 fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
30880 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
30881 /* ./parser//parser.nit:11160 */
30882 if (UNTAG_Bool(REGB0)) {
30883 } else {
30884 fprintf(stderr, "Assert failed");
30885 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11160);
30886 nit_exit(1);
30887 }
30888 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]);
30889 fra.me.REG[0] = fra.me.REG[2];
30890 REGB0 = TAG_Int(12);
30891 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30892 /* ./parser//parser.nit:11170 */
30893 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
30894 stack_frame_head = fra.me.prev;
30895 return;
30896 }
30897 void parser___ReduceAction226___init(val_t p0, int* init_table){
30898 int itpos230 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction226].i;
30899 struct {struct stack_frame_t me;} fra;
30900 val_t tmp;
30901 if (init_table[itpos230]) return;
30902 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30903 fra.me.file = LOCATE_parser;
30904 fra.me.line = 11172;
30905 fra.me.meth = LOCATE_parser___ReduceAction226___init;
30906 fra.me.has_broke = 0;
30907 fra.me.REG_size = 1;
30908 fra.me.REG[0] = NIT_NULL;
30909 fra.me.REG[0] = p0;
30910 /* ./parser//parser.nit:11172 */
30911 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
30912 stack_frame_head = fra.me.prev;
30913 init_table[itpos230] = 1;
30914 return;
30915 }
30916 void parser___ReduceAction227___action(val_t p0, val_t p1){
30917 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
30918 val_t REGB0;
30919 val_t tmp;
30920 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30921 fra.me.file = LOCATE_parser;
30922 fra.me.line = 11176;
30923 fra.me.meth = LOCATE_parser___ReduceAction227___action;
30924 fra.me.has_broke = 0;
30925 fra.me.REG_size = 7;
30926 fra.me.REG[0] = NIT_NULL;
30927 fra.me.REG[1] = NIT_NULL;
30928 fra.me.REG[2] = NIT_NULL;
30929 fra.me.REG[3] = NIT_NULL;
30930 fra.me.REG[4] = NIT_NULL;
30931 fra.me.REG[5] = NIT_NULL;
30932 fra.me.REG[6] = NIT_NULL;
30933 fra.me.REG[0] = p0;
30934 fra.me.REG[1] = p1;
30935 fra.me.REG[0] = NIT_NULL;
30936 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30937 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30938 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30939 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30940 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30941 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30942 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30943 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
30944 /* ./parser//parser.nit:11187 */
30945 if (UNTAG_Bool(REGB0)) {
30946 } else {
30947 fprintf(stderr, "Assert failed");
30948 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11187);
30949 nit_exit(1);
30950 }
30951 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
30952 /* ./parser//parser.nit:11189 */
30953 if (UNTAG_Bool(REGB0)) {
30954 } else {
30955 fprintf(stderr, "Assert failed");
30956 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11189);
30957 nit_exit(1);
30958 }
30959 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
30960 /* ./parser//parser.nit:11191 */
30961 if (UNTAG_Bool(REGB0)) {
30962 } else {
30963 fprintf(stderr, "Assert failed");
30964 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11191);
30965 nit_exit(1);
30966 }
30967 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
30968 /* ./parser//parser.nit:11193 */
30969 if (UNTAG_Bool(REGB0)) {
30970 } else {
30971 fprintf(stderr, "Assert failed");
30972 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11193);
30973 nit_exit(1);
30974 }
30975 fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
30976 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
30977 /* ./parser//parser.nit:11198 */
30978 if (UNTAG_Bool(REGB0)) {
30979 } else {
30980 fprintf(stderr, "Assert failed");
30981 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11198);
30982 nit_exit(1);
30983 }
30984 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
30985 fra.me.REG[0] = fra.me.REG[2];
30986 REGB0 = TAG_Int(12);
30987 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30988 /* ./parser//parser.nit:11208 */
30989 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
30990 stack_frame_head = fra.me.prev;
30991 return;
30992 }
30993 void parser___ReduceAction227___init(val_t p0, int* init_table){
30994 int itpos231 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction227].i;
30995 struct {struct stack_frame_t me;} fra;
30996 val_t tmp;
30997 if (init_table[itpos231]) return;
30998 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30999 fra.me.file = LOCATE_parser;
31000 fra.me.line = 11210;
31001 fra.me.meth = LOCATE_parser___ReduceAction227___init;
31002 fra.me.has_broke = 0;
31003 fra.me.REG_size = 1;
31004 fra.me.REG[0] = NIT_NULL;
31005 fra.me.REG[0] = p0;
31006 /* ./parser//parser.nit:11210 */
31007 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
31008 stack_frame_head = fra.me.prev;
31009 init_table[itpos231] = 1;
31010 return;
31011 }
31012 void parser___ReduceAction228___action(val_t p0, val_t p1){
31013 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
31014 val_t REGB0;
31015 val_t tmp;
31016 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31017 fra.me.file = LOCATE_parser;
31018 fra.me.line = 11214;
31019 fra.me.meth = LOCATE_parser___ReduceAction228___action;
31020 fra.me.has_broke = 0;
31021 fra.me.REG_size = 8;
31022 fra.me.REG[0] = NIT_NULL;
31023 fra.me.REG[1] = NIT_NULL;
31024 fra.me.REG[2] = NIT_NULL;
31025 fra.me.REG[3] = NIT_NULL;
31026 fra.me.REG[4] = NIT_NULL;
31027 fra.me.REG[5] = NIT_NULL;
31028 fra.me.REG[6] = NIT_NULL;
31029 fra.me.REG[7] = NIT_NULL;
31030 fra.me.REG[0] = p0;
31031 fra.me.REG[1] = p1;
31032 fra.me.REG[0] = NIT_NULL;
31033 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31034 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31035 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31036 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31037 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31038 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31039 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31040 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31041 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
31042 /* ./parser//parser.nit:11226 */
31043 if (UNTAG_Bool(REGB0)) {
31044 } else {
31045 fprintf(stderr, "Assert failed");
31046 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11226);
31047 nit_exit(1);
31048 }
31049 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
31050 /* ./parser//parser.nit:11228 */
31051 if (UNTAG_Bool(REGB0)) {
31052 } else {
31053 fprintf(stderr, "Assert failed");
31054 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11228);
31055 nit_exit(1);
31056 }
31057 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
31058 /* ./parser//parser.nit:11230 */
31059 if (UNTAG_Bool(REGB0)) {
31060 } else {
31061 fprintf(stderr, "Assert failed");
31062 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11230);
31063 nit_exit(1);
31064 }
31065 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
31066 /* ./parser//parser.nit:11232 */
31067 if (UNTAG_Bool(REGB0)) {
31068 } else {
31069 fprintf(stderr, "Assert failed");
31070 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11232);
31071 nit_exit(1);
31072 }
31073 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
31074 /* ./parser//parser.nit:11234 */
31075 if (UNTAG_Bool(REGB0)) {
31076 } else {
31077 fprintf(stderr, "Assert failed");
31078 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11234);
31079 nit_exit(1);
31080 }
31081 fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
31082 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
31083 /* ./parser//parser.nit:11240 */
31084 if (UNTAG_Bool(REGB0)) {
31085 } else {
31086 fprintf(stderr, "Assert failed");
31087 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11240);
31088 nit_exit(1);
31089 }
31090 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]);
31091 fra.me.REG[0] = fra.me.REG[2];
31092 REGB0 = TAG_Int(12);
31093 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31094 /* ./parser//parser.nit:11250 */
31095 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
31096 stack_frame_head = fra.me.prev;
31097 return;
31098 }
31099 void parser___ReduceAction228___init(val_t p0, int* init_table){
31100 int itpos232 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction228].i;
31101 struct {struct stack_frame_t me;} fra;
31102 val_t tmp;
31103 if (init_table[itpos232]) return;
31104 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31105 fra.me.file = LOCATE_parser;
31106 fra.me.line = 11252;
31107 fra.me.meth = LOCATE_parser___ReduceAction228___init;
31108 fra.me.has_broke = 0;
31109 fra.me.REG_size = 1;
31110 fra.me.REG[0] = NIT_NULL;
31111 fra.me.REG[0] = p0;
31112 /* ./parser//parser.nit:11252 */
31113 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
31114 stack_frame_head = fra.me.prev;
31115 init_table[itpos232] = 1;
31116 return;
31117 }
31118 void parser___ReduceAction229___action(val_t p0, val_t p1){
31119 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
31120 val_t REGB0;
31121 val_t tmp;
31122 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31123 fra.me.file = LOCATE_parser;
31124 fra.me.line = 11256;
31125 fra.me.meth = LOCATE_parser___ReduceAction229___action;
31126 fra.me.has_broke = 0;
31127 fra.me.REG_size = 9;
31128 fra.me.REG[0] = NIT_NULL;
31129 fra.me.REG[1] = NIT_NULL;
31130 fra.me.REG[2] = NIT_NULL;
31131 fra.me.REG[3] = NIT_NULL;
31132 fra.me.REG[4] = NIT_NULL;
31133 fra.me.REG[5] = NIT_NULL;
31134 fra.me.REG[6] = NIT_NULL;
31135 fra.me.REG[7] = NIT_NULL;
31136 fra.me.REG[8] = NIT_NULL;
31137 fra.me.REG[0] = p0;
31138 fra.me.REG[1] = p1;
31139 fra.me.REG[0] = NIT_NULL;
31140 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31141 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31142 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31143 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31144 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31145 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31146 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31147 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31148 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31149 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
31150 /* ./parser//parser.nit:11269 */
31151 if (UNTAG_Bool(REGB0)) {
31152 } else {
31153 fprintf(stderr, "Assert failed");
31154 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11269);
31155 nit_exit(1);
31156 }
31157 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
31158 /* ./parser//parser.nit:11271 */
31159 if (UNTAG_Bool(REGB0)) {
31160 } else {
31161 fprintf(stderr, "Assert failed");
31162 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11271);
31163 nit_exit(1);
31164 }
31165 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
31166 /* ./parser//parser.nit:11273 */
31167 if (UNTAG_Bool(REGB0)) {
31168 } else {
31169 fprintf(stderr, "Assert failed");
31170 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11273);
31171 nit_exit(1);
31172 }
31173 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
31174 /* ./parser//parser.nit:11275 */
31175 if (UNTAG_Bool(REGB0)) {
31176 } else {
31177 fprintf(stderr, "Assert failed");
31178 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11275);
31179 nit_exit(1);
31180 }
31181 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
31182 /* ./parser//parser.nit:11277 */
31183 if (UNTAG_Bool(REGB0)) {
31184 } else {
31185 fprintf(stderr, "Assert failed");
31186 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11277);
31187 nit_exit(1);
31188 }
31189 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
31190 /* ./parser//parser.nit:11279 */
31191 if (UNTAG_Bool(REGB0)) {
31192 } else {
31193 fprintf(stderr, "Assert failed");
31194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11279);
31195 nit_exit(1);
31196 }
31197 fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
31198 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
31199 /* ./parser//parser.nit:11286 */
31200 if (UNTAG_Bool(REGB0)) {
31201 } else {
31202 fprintf(stderr, "Assert failed");
31203 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11286);
31204 nit_exit(1);
31205 }
31206 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]);
31207 fra.me.REG[0] = fra.me.REG[2];
31208 REGB0 = TAG_Int(12);
31209 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31210 /* ./parser//parser.nit:11296 */
31211 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
31212 stack_frame_head = fra.me.prev;
31213 return;
31214 }
31215 void parser___ReduceAction229___init(val_t p0, int* init_table){
31216 int itpos233 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction229].i;
31217 struct {struct stack_frame_t me;} fra;
31218 val_t tmp;
31219 if (init_table[itpos233]) return;
31220 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31221 fra.me.file = LOCATE_parser;
31222 fra.me.line = 11298;
31223 fra.me.meth = LOCATE_parser___ReduceAction229___init;
31224 fra.me.has_broke = 0;
31225 fra.me.REG_size = 1;
31226 fra.me.REG[0] = NIT_NULL;
31227 fra.me.REG[0] = p0;
31228 /* ./parser//parser.nit:11298 */
31229 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
31230 stack_frame_head = fra.me.prev;
31231 init_table[itpos233] = 1;
31232 return;
31233 }
31234 void parser___ReduceAction230___action(val_t p0, val_t p1){
31235 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
31236 val_t REGB0;
31237 val_t tmp;
31238 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31239 fra.me.file = LOCATE_parser;
31240 fra.me.line = 11302;
31241 fra.me.meth = LOCATE_parser___ReduceAction230___action;
31242 fra.me.has_broke = 0;
31243 fra.me.REG_size = 8;
31244 fra.me.REG[0] = NIT_NULL;
31245 fra.me.REG[1] = NIT_NULL;
31246 fra.me.REG[2] = NIT_NULL;
31247 fra.me.REG[3] = NIT_NULL;
31248 fra.me.REG[4] = NIT_NULL;
31249 fra.me.REG[5] = NIT_NULL;
31250 fra.me.REG[6] = NIT_NULL;
31251 fra.me.REG[7] = NIT_NULL;
31252 fra.me.REG[0] = p0;
31253 fra.me.REG[1] = p1;
31254 fra.me.REG[0] = NIT_NULL;
31255 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31256 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31257 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31258 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31259 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31260 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31261 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31262 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31263 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
31264 /* ./parser//parser.nit:11314 */
31265 if (UNTAG_Bool(REGB0)) {
31266 } else {
31267 fprintf(stderr, "Assert failed");
31268 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11314);
31269 nit_exit(1);
31270 }
31271 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
31272 /* ./parser//parser.nit:11316 */
31273 if (UNTAG_Bool(REGB0)) {
31274 } else {
31275 fprintf(stderr, "Assert failed");
31276 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11316);
31277 nit_exit(1);
31278 }
31279 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
31280 /* ./parser//parser.nit:11318 */
31281 if (UNTAG_Bool(REGB0)) {
31282 } else {
31283 fprintf(stderr, "Assert failed");
31284 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11318);
31285 nit_exit(1);
31286 }
31287 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
31288 /* ./parser//parser.nit:11320 */
31289 if (UNTAG_Bool(REGB0)) {
31290 } else {
31291 fprintf(stderr, "Assert failed");
31292 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11320);
31293 nit_exit(1);
31294 }
31295 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
31296 /* ./parser//parser.nit:11322 */
31297 if (UNTAG_Bool(REGB0)) {
31298 } else {
31299 fprintf(stderr, "Assert failed");
31300 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11322);
31301 nit_exit(1);
31302 }
31303 fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
31304 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
31305 /* ./parser//parser.nit:11327 */
31306 if (UNTAG_Bool(REGB0)) {
31307 } else {
31308 fprintf(stderr, "Assert failed");
31309 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11327);
31310 nit_exit(1);
31311 }
31312 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
31313 fra.me.REG[0] = fra.me.REG[2];
31314 REGB0 = TAG_Int(12);
31315 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31316 /* ./parser//parser.nit:11337 */
31317 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
31318 stack_frame_head = fra.me.prev;
31319 return;
31320 }
31321 void parser___ReduceAction230___init(val_t p0, int* init_table){
31322 int itpos234 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction230].i;
31323 struct {struct stack_frame_t me;} fra;
31324 val_t tmp;
31325 if (init_table[itpos234]) return;
31326 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31327 fra.me.file = LOCATE_parser;
31328 fra.me.line = 11339;
31329 fra.me.meth = LOCATE_parser___ReduceAction230___init;
31330 fra.me.has_broke = 0;
31331 fra.me.REG_size = 1;
31332 fra.me.REG[0] = NIT_NULL;
31333 fra.me.REG[0] = p0;
31334 /* ./parser//parser.nit:11339 */
31335 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
31336 stack_frame_head = fra.me.prev;
31337 init_table[itpos234] = 1;
31338 return;
31339 }
31340 void parser___ReduceAction231___action(val_t p0, val_t p1){
31341 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
31342 val_t REGB0;
31343 val_t tmp;
31344 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31345 fra.me.file = LOCATE_parser;
31346 fra.me.line = 11343;
31347 fra.me.meth = LOCATE_parser___ReduceAction231___action;
31348 fra.me.has_broke = 0;
31349 fra.me.REG_size = 8;
31350 fra.me.REG[0] = NIT_NULL;
31351 fra.me.REG[1] = NIT_NULL;
31352 fra.me.REG[2] = NIT_NULL;
31353 fra.me.REG[3] = NIT_NULL;
31354 fra.me.REG[4] = NIT_NULL;
31355 fra.me.REG[5] = NIT_NULL;
31356 fra.me.REG[6] = NIT_NULL;
31357 fra.me.REG[7] = NIT_NULL;
31358 fra.me.REG[0] = p0;
31359 fra.me.REG[1] = p1;
31360 fra.me.REG[0] = NIT_NULL;
31361 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31362 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31363 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31364 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31365 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31366 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31367 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31368 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31369 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
31370 /* ./parser//parser.nit:11355 */
31371 if (UNTAG_Bool(REGB0)) {
31372 } else {
31373 fprintf(stderr, "Assert failed");
31374 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11355);
31375 nit_exit(1);
31376 }
31377 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
31378 /* ./parser//parser.nit:11357 */
31379 if (UNTAG_Bool(REGB0)) {
31380 } else {
31381 fprintf(stderr, "Assert failed");
31382 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11357);
31383 nit_exit(1);
31384 }
31385 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
31386 /* ./parser//parser.nit:11359 */
31387 if (UNTAG_Bool(REGB0)) {
31388 } else {
31389 fprintf(stderr, "Assert failed");
31390 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11359);
31391 nit_exit(1);
31392 }
31393 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
31394 /* ./parser//parser.nit:11361 */
31395 if (UNTAG_Bool(REGB0)) {
31396 } else {
31397 fprintf(stderr, "Assert failed");
31398 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11361);
31399 nit_exit(1);
31400 }
31401 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
31402 /* ./parser//parser.nit:11363 */
31403 if (UNTAG_Bool(REGB0)) {
31404 } else {
31405 fprintf(stderr, "Assert failed");
31406 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11363);
31407 nit_exit(1);
31408 }
31409 fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
31410 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
31411 /* ./parser//parser.nit:11368 */
31412 if (UNTAG_Bool(REGB0)) {
31413 } else {
31414 fprintf(stderr, "Assert failed");
31415 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11368);
31416 nit_exit(1);
31417 }
31418 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
31419 fra.me.REG[0] = fra.me.REG[2];
31420 REGB0 = TAG_Int(12);
31421 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31422 /* ./parser//parser.nit:11378 */
31423 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
31424 stack_frame_head = fra.me.prev;
31425 return;
31426 }
31427 void parser___ReduceAction231___init(val_t p0, int* init_table){
31428 int itpos235 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction231].i;
31429 struct {struct stack_frame_t me;} fra;
31430 val_t tmp;
31431 if (init_table[itpos235]) return;
31432 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31433 fra.me.file = LOCATE_parser;
31434 fra.me.line = 11380;
31435 fra.me.meth = LOCATE_parser___ReduceAction231___init;
31436 fra.me.has_broke = 0;
31437 fra.me.REG_size = 1;
31438 fra.me.REG[0] = NIT_NULL;
31439 fra.me.REG[0] = p0;
31440 /* ./parser//parser.nit:11380 */
31441 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
31442 stack_frame_head = fra.me.prev;
31443 init_table[itpos235] = 1;
31444 return;
31445 }
31446 void parser___ReduceAction232___action(val_t p0, val_t p1){
31447 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
31448 val_t REGB0;
31449 val_t tmp;
31450 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31451 fra.me.file = LOCATE_parser;
31452 fra.me.line = 11384;
31453 fra.me.meth = LOCATE_parser___ReduceAction232___action;
31454 fra.me.has_broke = 0;
31455 fra.me.REG_size = 8;
31456 fra.me.REG[0] = NIT_NULL;
31457 fra.me.REG[1] = NIT_NULL;
31458 fra.me.REG[2] = NIT_NULL;
31459 fra.me.REG[3] = NIT_NULL;
31460 fra.me.REG[4] = NIT_NULL;
31461 fra.me.REG[5] = NIT_NULL;
31462 fra.me.REG[6] = NIT_NULL;
31463 fra.me.REG[7] = NIT_NULL;
31464 fra.me.REG[0] = p0;
31465 fra.me.REG[1] = p1;
31466 fra.me.REG[0] = NIT_NULL;
31467 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31468 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31469 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31470 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31471 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31472 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31473 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31474 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31475 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
31476 /* ./parser//parser.nit:11396 */
31477 if (UNTAG_Bool(REGB0)) {
31478 } else {
31479 fprintf(stderr, "Assert failed");
31480 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11396);
31481 nit_exit(1);
31482 }
31483 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
31484 /* ./parser//parser.nit:11398 */
31485 if (UNTAG_Bool(REGB0)) {
31486 } else {
31487 fprintf(stderr, "Assert failed");
31488 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11398);
31489 nit_exit(1);
31490 }
31491 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
31492 /* ./parser//parser.nit:11400 */
31493 if (UNTAG_Bool(REGB0)) {
31494 } else {
31495 fprintf(stderr, "Assert failed");
31496 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11400);
31497 nit_exit(1);
31498 }
31499 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
31500 /* ./parser//parser.nit:11402 */
31501 if (UNTAG_Bool(REGB0)) {
31502 } else {
31503 fprintf(stderr, "Assert failed");
31504 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11402);
31505 nit_exit(1);
31506 }
31507 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
31508 /* ./parser//parser.nit:11404 */
31509 if (UNTAG_Bool(REGB0)) {
31510 } else {
31511 fprintf(stderr, "Assert failed");
31512 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11404);
31513 nit_exit(1);
31514 }
31515 fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
31516 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
31517 /* ./parser//parser.nit:11409 */
31518 if (UNTAG_Bool(REGB0)) {
31519 } else {
31520 fprintf(stderr, "Assert failed");
31521 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11409);
31522 nit_exit(1);
31523 }
31524 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
31525 fra.me.REG[0] = fra.me.REG[2];
31526 REGB0 = TAG_Int(12);
31527 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31528 /* ./parser//parser.nit:11419 */
31529 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
31530 stack_frame_head = fra.me.prev;
31531 return;
31532 }
31533 void parser___ReduceAction232___init(val_t p0, int* init_table){
31534 int itpos236 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction232].i;
31535 struct {struct stack_frame_t me;} fra;
31536 val_t tmp;
31537 if (init_table[itpos236]) return;
31538 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31539 fra.me.file = LOCATE_parser;
31540 fra.me.line = 11421;
31541 fra.me.meth = LOCATE_parser___ReduceAction232___init;
31542 fra.me.has_broke = 0;
31543 fra.me.REG_size = 1;
31544 fra.me.REG[0] = NIT_NULL;
31545 fra.me.REG[0] = p0;
31546 /* ./parser//parser.nit:11421 */
31547 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
31548 stack_frame_head = fra.me.prev;
31549 init_table[itpos236] = 1;
31550 return;
31551 }
31552 void parser___ReduceAction233___action(val_t p0, val_t p1){
31553 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
31554 val_t REGB0;
31555 val_t tmp;
31556 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31557 fra.me.file = LOCATE_parser;
31558 fra.me.line = 11425;
31559 fra.me.meth = LOCATE_parser___ReduceAction233___action;
31560 fra.me.has_broke = 0;
31561 fra.me.REG_size = 8;
31562 fra.me.REG[0] = NIT_NULL;
31563 fra.me.REG[1] = NIT_NULL;
31564 fra.me.REG[2] = NIT_NULL;
31565 fra.me.REG[3] = NIT_NULL;
31566 fra.me.REG[4] = NIT_NULL;
31567 fra.me.REG[5] = NIT_NULL;
31568 fra.me.REG[6] = NIT_NULL;
31569 fra.me.REG[7] = NIT_NULL;
31570 fra.me.REG[0] = p0;
31571 fra.me.REG[1] = p1;
31572 fra.me.REG[0] = NIT_NULL;
31573 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31574 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31575 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31576 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31577 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31578 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31579 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31580 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31581 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
31582 /* ./parser//parser.nit:11437 */
31583 if (UNTAG_Bool(REGB0)) {
31584 } else {
31585 fprintf(stderr, "Assert failed");
31586 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11437);
31587 nit_exit(1);
31588 }
31589 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
31590 /* ./parser//parser.nit:11439 */
31591 if (UNTAG_Bool(REGB0)) {
31592 } else {
31593 fprintf(stderr, "Assert failed");
31594 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11439);
31595 nit_exit(1);
31596 }
31597 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
31598 /* ./parser//parser.nit:11441 */
31599 if (UNTAG_Bool(REGB0)) {
31600 } else {
31601 fprintf(stderr, "Assert failed");
31602 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11441);
31603 nit_exit(1);
31604 }
31605 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
31606 /* ./parser//parser.nit:11443 */
31607 if (UNTAG_Bool(REGB0)) {
31608 } else {
31609 fprintf(stderr, "Assert failed");
31610 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11443);
31611 nit_exit(1);
31612 }
31613 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
31614 /* ./parser//parser.nit:11445 */
31615 if (UNTAG_Bool(REGB0)) {
31616 } else {
31617 fprintf(stderr, "Assert failed");
31618 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11445);
31619 nit_exit(1);
31620 }
31621 fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
31622 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
31623 /* ./parser//parser.nit:11450 */
31624 if (UNTAG_Bool(REGB0)) {
31625 } else {
31626 fprintf(stderr, "Assert failed");
31627 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11450);
31628 nit_exit(1);
31629 }
31630 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
31631 fra.me.REG[0] = fra.me.REG[2];
31632 REGB0 = TAG_Int(12);
31633 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31634 /* ./parser//parser.nit:11460 */
31635 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
31636 stack_frame_head = fra.me.prev;
31637 return;
31638 }
31639 void parser___ReduceAction233___init(val_t p0, int* init_table){
31640 int itpos237 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction233].i;
31641 struct {struct stack_frame_t me;} fra;
31642 val_t tmp;
31643 if (init_table[itpos237]) return;
31644 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31645 fra.me.file = LOCATE_parser;
31646 fra.me.line = 11462;
31647 fra.me.meth = LOCATE_parser___ReduceAction233___init;
31648 fra.me.has_broke = 0;
31649 fra.me.REG_size = 1;
31650 fra.me.REG[0] = NIT_NULL;
31651 fra.me.REG[0] = p0;
31652 /* ./parser//parser.nit:11462 */
31653 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
31654 stack_frame_head = fra.me.prev;
31655 init_table[itpos237] = 1;
31656 return;
31657 }
31658 void parser___ReduceAction234___action(val_t p0, val_t p1){
31659 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
31660 val_t REGB0;
31661 val_t tmp;
31662 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31663 fra.me.file = LOCATE_parser;
31664 fra.me.line = 11466;
31665 fra.me.meth = LOCATE_parser___ReduceAction234___action;
31666 fra.me.has_broke = 0;
31667 fra.me.REG_size = 8;
31668 fra.me.REG[0] = NIT_NULL;
31669 fra.me.REG[1] = NIT_NULL;
31670 fra.me.REG[2] = NIT_NULL;
31671 fra.me.REG[3] = NIT_NULL;
31672 fra.me.REG[4] = NIT_NULL;
31673 fra.me.REG[5] = NIT_NULL;
31674 fra.me.REG[6] = NIT_NULL;
31675 fra.me.REG[7] = NIT_NULL;
31676 fra.me.REG[0] = p0;
31677 fra.me.REG[1] = p1;
31678 fra.me.REG[0] = NIT_NULL;
31679 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31680 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31681 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31682 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31683 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31684 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31685 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31686 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31687 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
31688 /* ./parser//parser.nit:11478 */
31689 if (UNTAG_Bool(REGB0)) {
31690 } else {
31691 fprintf(stderr, "Assert failed");
31692 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11478);
31693 nit_exit(1);
31694 }
31695 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
31696 /* ./parser//parser.nit:11480 */
31697 if (UNTAG_Bool(REGB0)) {
31698 } else {
31699 fprintf(stderr, "Assert failed");
31700 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11480);
31701 nit_exit(1);
31702 }
31703 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
31704 /* ./parser//parser.nit:11482 */
31705 if (UNTAG_Bool(REGB0)) {
31706 } else {
31707 fprintf(stderr, "Assert failed");
31708 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11482);
31709 nit_exit(1);
31710 }
31711 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
31712 /* ./parser//parser.nit:11484 */
31713 if (UNTAG_Bool(REGB0)) {
31714 } else {
31715 fprintf(stderr, "Assert failed");
31716 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11484);
31717 nit_exit(1);
31718 }
31719 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
31720 /* ./parser//parser.nit:11486 */
31721 if (UNTAG_Bool(REGB0)) {
31722 } else {
31723 fprintf(stderr, "Assert failed");
31724 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11486);
31725 nit_exit(1);
31726 }
31727 fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
31728 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
31729 /* ./parser//parser.nit:11491 */
31730 if (UNTAG_Bool(REGB0)) {
31731 } else {
31732 fprintf(stderr, "Assert failed");
31733 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11491);
31734 nit_exit(1);
31735 }
31736 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
31737 fra.me.REG[0] = fra.me.REG[2];
31738 REGB0 = TAG_Int(12);
31739 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31740 /* ./parser//parser.nit:11501 */
31741 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
31742 stack_frame_head = fra.me.prev;
31743 return;
31744 }
31745 void parser___ReduceAction234___init(val_t p0, int* init_table){
31746 int itpos238 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction234].i;
31747 struct {struct stack_frame_t me;} fra;
31748 val_t tmp;
31749 if (init_table[itpos238]) return;
31750 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31751 fra.me.file = LOCATE_parser;
31752 fra.me.line = 11503;
31753 fra.me.meth = LOCATE_parser___ReduceAction234___init;
31754 fra.me.has_broke = 0;
31755 fra.me.REG_size = 1;
31756 fra.me.REG[0] = NIT_NULL;
31757 fra.me.REG[0] = p0;
31758 /* ./parser//parser.nit:11503 */
31759 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
31760 stack_frame_head = fra.me.prev;
31761 init_table[itpos238] = 1;
31762 return;
31763 }
31764 void parser___ReduceAction235___action(val_t p0, val_t p1){
31765 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
31766 val_t REGB0;
31767 val_t tmp;
31768 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31769 fra.me.file = LOCATE_parser;
31770 fra.me.line = 11507;
31771 fra.me.meth = LOCATE_parser___ReduceAction235___action;
31772 fra.me.has_broke = 0;
31773 fra.me.REG_size = 8;
31774 fra.me.REG[0] = NIT_NULL;
31775 fra.me.REG[1] = NIT_NULL;
31776 fra.me.REG[2] = NIT_NULL;
31777 fra.me.REG[3] = NIT_NULL;
31778 fra.me.REG[4] = NIT_NULL;
31779 fra.me.REG[5] = NIT_NULL;
31780 fra.me.REG[6] = NIT_NULL;
31781 fra.me.REG[7] = NIT_NULL;
31782 fra.me.REG[0] = p0;
31783 fra.me.REG[1] = p1;
31784 fra.me.REG[0] = NIT_NULL;
31785 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31786 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31787 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31788 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31789 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31790 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31791 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31792 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31793 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
31794 /* ./parser//parser.nit:11519 */
31795 if (UNTAG_Bool(REGB0)) {
31796 } else {
31797 fprintf(stderr, "Assert failed");
31798 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11519);
31799 nit_exit(1);
31800 }
31801 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
31802 /* ./parser//parser.nit:11521 */
31803 if (UNTAG_Bool(REGB0)) {
31804 } else {
31805 fprintf(stderr, "Assert failed");
31806 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11521);
31807 nit_exit(1);
31808 }
31809 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
31810 /* ./parser//parser.nit:11523 */
31811 if (UNTAG_Bool(REGB0)) {
31812 } else {
31813 fprintf(stderr, "Assert failed");
31814 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11523);
31815 nit_exit(1);
31816 }
31817 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
31818 /* ./parser//parser.nit:11525 */
31819 if (UNTAG_Bool(REGB0)) {
31820 } else {
31821 fprintf(stderr, "Assert failed");
31822 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11525);
31823 nit_exit(1);
31824 }
31825 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
31826 /* ./parser//parser.nit:11527 */
31827 if (UNTAG_Bool(REGB0)) {
31828 } else {
31829 fprintf(stderr, "Assert failed");
31830 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11527);
31831 nit_exit(1);
31832 }
31833 fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
31834 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
31835 /* ./parser//parser.nit:11532 */
31836 if (UNTAG_Bool(REGB0)) {
31837 } else {
31838 fprintf(stderr, "Assert failed");
31839 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11532);
31840 nit_exit(1);
31841 }
31842 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
31843 fra.me.REG[0] = fra.me.REG[2];
31844 REGB0 = TAG_Int(12);
31845 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31846 /* ./parser//parser.nit:11542 */
31847 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
31848 stack_frame_head = fra.me.prev;
31849 return;
31850 }
31851 void parser___ReduceAction235___init(val_t p0, int* init_table){
31852 int itpos239 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction235].i;
31853 struct {struct stack_frame_t me;} fra;
31854 val_t tmp;
31855 if (init_table[itpos239]) return;
31856 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31857 fra.me.file = LOCATE_parser;
31858 fra.me.line = 11544;
31859 fra.me.meth = LOCATE_parser___ReduceAction235___init;
31860 fra.me.has_broke = 0;
31861 fra.me.REG_size = 1;
31862 fra.me.REG[0] = NIT_NULL;
31863 fra.me.REG[0] = p0;
31864 /* ./parser//parser.nit:11544 */
31865 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
31866 stack_frame_head = fra.me.prev;
31867 init_table[itpos239] = 1;
31868 return;
31869 }
31870 void parser___ReduceAction236___action(val_t p0, val_t p1){
31871 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
31872 val_t REGB0;
31873 val_t tmp;
31874 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31875 fra.me.file = LOCATE_parser;
31876 fra.me.line = 11548;
31877 fra.me.meth = LOCATE_parser___ReduceAction236___action;
31878 fra.me.has_broke = 0;
31879 fra.me.REG_size = 8;
31880 fra.me.REG[0] = NIT_NULL;
31881 fra.me.REG[1] = NIT_NULL;
31882 fra.me.REG[2] = NIT_NULL;
31883 fra.me.REG[3] = NIT_NULL;
31884 fra.me.REG[4] = NIT_NULL;
31885 fra.me.REG[5] = NIT_NULL;
31886 fra.me.REG[6] = NIT_NULL;
31887 fra.me.REG[7] = NIT_NULL;
31888 fra.me.REG[0] = p0;
31889 fra.me.REG[1] = p1;
31890 fra.me.REG[0] = NIT_NULL;
31891 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31892 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31893 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31894 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31895 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31896 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31897 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31898 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31899 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
31900 /* ./parser//parser.nit:11560 */
31901 if (UNTAG_Bool(REGB0)) {
31902 } else {
31903 fprintf(stderr, "Assert failed");
31904 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11560);
31905 nit_exit(1);
31906 }
31907 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
31908 /* ./parser//parser.nit:11562 */
31909 if (UNTAG_Bool(REGB0)) {
31910 } else {
31911 fprintf(stderr, "Assert failed");
31912 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11562);
31913 nit_exit(1);
31914 }
31915 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
31916 /* ./parser//parser.nit:11564 */
31917 if (UNTAG_Bool(REGB0)) {
31918 } else {
31919 fprintf(stderr, "Assert failed");
31920 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11564);
31921 nit_exit(1);
31922 }
31923 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
31924 /* ./parser//parser.nit:11566 */
31925 if (UNTAG_Bool(REGB0)) {
31926 } else {
31927 fprintf(stderr, "Assert failed");
31928 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11566);
31929 nit_exit(1);
31930 }
31931 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
31932 /* ./parser//parser.nit:11568 */
31933 if (UNTAG_Bool(REGB0)) {
31934 } else {
31935 fprintf(stderr, "Assert failed");
31936 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11568);
31937 nit_exit(1);
31938 }
31939 fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
31940 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
31941 /* ./parser//parser.nit:11573 */
31942 if (UNTAG_Bool(REGB0)) {
31943 } else {
31944 fprintf(stderr, "Assert failed");
31945 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11573);
31946 nit_exit(1);
31947 }
31948 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
31949 fra.me.REG[0] = fra.me.REG[2];
31950 REGB0 = TAG_Int(12);
31951 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31952 /* ./parser//parser.nit:11583 */
31953 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
31954 stack_frame_head = fra.me.prev;
31955 return;
31956 }
31957 void parser___ReduceAction236___init(val_t p0, int* init_table){
31958 int itpos240 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction236].i;
31959 struct {struct stack_frame_t me;} fra;
31960 val_t tmp;
31961 if (init_table[itpos240]) return;
31962 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31963 fra.me.file = LOCATE_parser;
31964 fra.me.line = 11585;
31965 fra.me.meth = LOCATE_parser___ReduceAction236___init;
31966 fra.me.has_broke = 0;
31967 fra.me.REG_size = 1;
31968 fra.me.REG[0] = NIT_NULL;
31969 fra.me.REG[0] = p0;
31970 /* ./parser//parser.nit:11585 */
31971 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
31972 stack_frame_head = fra.me.prev;
31973 init_table[itpos240] = 1;
31974 return;
31975 }
31976 void parser___ReduceAction237___action(val_t p0, val_t p1){
31977 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
31978 val_t REGB0;
31979 val_t tmp;
31980 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31981 fra.me.file = LOCATE_parser;
31982 fra.me.line = 11589;
31983 fra.me.meth = LOCATE_parser___ReduceAction237___action;
31984 fra.me.has_broke = 0;
31985 fra.me.REG_size = 8;
31986 fra.me.REG[0] = NIT_NULL;
31987 fra.me.REG[1] = NIT_NULL;
31988 fra.me.REG[2] = NIT_NULL;
31989 fra.me.REG[3] = NIT_NULL;
31990 fra.me.REG[4] = NIT_NULL;
31991 fra.me.REG[5] = NIT_NULL;
31992 fra.me.REG[6] = NIT_NULL;
31993 fra.me.REG[7] = NIT_NULL;
31994 fra.me.REG[0] = p0;
31995 fra.me.REG[1] = p1;
31996 fra.me.REG[0] = NIT_NULL;
31997 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31998 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31999 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32000 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32001 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32002 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32003 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32004 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32005 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
32006 /* ./parser//parser.nit:11601 */
32007 if (UNTAG_Bool(REGB0)) {
32008 } else {
32009 fprintf(stderr, "Assert failed");
32010 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11601);
32011 nit_exit(1);
32012 }
32013 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
32014 /* ./parser//parser.nit:11603 */
32015 if (UNTAG_Bool(REGB0)) {
32016 } else {
32017 fprintf(stderr, "Assert failed");
32018 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11603);
32019 nit_exit(1);
32020 }
32021 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
32022 /* ./parser//parser.nit:11605 */
32023 if (UNTAG_Bool(REGB0)) {
32024 } else {
32025 fprintf(stderr, "Assert failed");
32026 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11605);
32027 nit_exit(1);
32028 }
32029 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
32030 /* ./parser//parser.nit:11607 */
32031 if (UNTAG_Bool(REGB0)) {
32032 } else {
32033 fprintf(stderr, "Assert failed");
32034 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11607);
32035 nit_exit(1);
32036 }
32037 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
32038 /* ./parser//parser.nit:11609 */
32039 if (UNTAG_Bool(REGB0)) {
32040 } else {
32041 fprintf(stderr, "Assert failed");
32042 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11609);
32043 nit_exit(1);
32044 }
32045 fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
32046 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
32047 /* ./parser//parser.nit:11614 */
32048 if (UNTAG_Bool(REGB0)) {
32049 } else {
32050 fprintf(stderr, "Assert failed");
32051 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11614);
32052 nit_exit(1);
32053 }
32054 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
32055 fra.me.REG[0] = fra.me.REG[2];
32056 REGB0 = TAG_Int(12);
32057 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32058 /* ./parser//parser.nit:11624 */
32059 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
32060 stack_frame_head = fra.me.prev;
32061 return;
32062 }
32063 void parser___ReduceAction237___init(val_t p0, int* init_table){
32064 int itpos241 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction237].i;
32065 struct {struct stack_frame_t me;} fra;
32066 val_t tmp;
32067 if (init_table[itpos241]) return;
32068 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32069 fra.me.file = LOCATE_parser;
32070 fra.me.line = 11626;
32071 fra.me.meth = LOCATE_parser___ReduceAction237___init;
32072 fra.me.has_broke = 0;
32073 fra.me.REG_size = 1;
32074 fra.me.REG[0] = NIT_NULL;
32075 fra.me.REG[0] = p0;
32076 /* ./parser//parser.nit:11626 */
32077 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
32078 stack_frame_head = fra.me.prev;
32079 init_table[itpos241] = 1;
32080 return;
32081 }
32082 void parser___ReduceAction238___action(val_t p0, val_t p1){
32083 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
32084 val_t REGB0;
32085 val_t tmp;
32086 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32087 fra.me.file = LOCATE_parser;
32088 fra.me.line = 11630;
32089 fra.me.meth = LOCATE_parser___ReduceAction238___action;
32090 fra.me.has_broke = 0;
32091 fra.me.REG_size = 8;
32092 fra.me.REG[0] = NIT_NULL;
32093 fra.me.REG[1] = NIT_NULL;
32094 fra.me.REG[2] = NIT_NULL;
32095 fra.me.REG[3] = NIT_NULL;
32096 fra.me.REG[4] = NIT_NULL;
32097 fra.me.REG[5] = NIT_NULL;
32098 fra.me.REG[6] = NIT_NULL;
32099 fra.me.REG[7] = NIT_NULL;
32100 fra.me.REG[0] = p0;
32101 fra.me.REG[1] = p1;
32102 fra.me.REG[0] = NIT_NULL;
32103 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32104 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32105 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32106 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32107 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32108 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32109 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32110 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32111 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
32112 /* ./parser//parser.nit:11642 */
32113 if (UNTAG_Bool(REGB0)) {
32114 } else {
32115 fprintf(stderr, "Assert failed");
32116 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11642);
32117 nit_exit(1);
32118 }
32119 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
32120 /* ./parser//parser.nit:11644 */
32121 if (UNTAG_Bool(REGB0)) {
32122 } else {
32123 fprintf(stderr, "Assert failed");
32124 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11644);
32125 nit_exit(1);
32126 }
32127 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
32128 /* ./parser//parser.nit:11646 */
32129 if (UNTAG_Bool(REGB0)) {
32130 } else {
32131 fprintf(stderr, "Assert failed");
32132 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11646);
32133 nit_exit(1);
32134 }
32135 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
32136 /* ./parser//parser.nit:11648 */
32137 if (UNTAG_Bool(REGB0)) {
32138 } else {
32139 fprintf(stderr, "Assert failed");
32140 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11648);
32141 nit_exit(1);
32142 }
32143 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
32144 /* ./parser//parser.nit:11650 */
32145 if (UNTAG_Bool(REGB0)) {
32146 } else {
32147 fprintf(stderr, "Assert failed");
32148 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11650);
32149 nit_exit(1);
32150 }
32151 fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
32152 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
32153 /* ./parser//parser.nit:11655 */
32154 if (UNTAG_Bool(REGB0)) {
32155 } else {
32156 fprintf(stderr, "Assert failed");
32157 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11655);
32158 nit_exit(1);
32159 }
32160 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
32161 fra.me.REG[0] = fra.me.REG[2];
32162 REGB0 = TAG_Int(12);
32163 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32164 /* ./parser//parser.nit:11665 */
32165 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
32166 stack_frame_head = fra.me.prev;
32167 return;
32168 }
32169 void parser___ReduceAction238___init(val_t p0, int* init_table){
32170 int itpos242 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction238].i;
32171 struct {struct stack_frame_t me;} fra;
32172 val_t tmp;
32173 if (init_table[itpos242]) return;
32174 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32175 fra.me.file = LOCATE_parser;
32176 fra.me.line = 11667;
32177 fra.me.meth = LOCATE_parser___ReduceAction238___init;
32178 fra.me.has_broke = 0;
32179 fra.me.REG_size = 1;
32180 fra.me.REG[0] = NIT_NULL;
32181 fra.me.REG[0] = p0;
32182 /* ./parser//parser.nit:11667 */
32183 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
32184 stack_frame_head = fra.me.prev;
32185 init_table[itpos242] = 1;
32186 return;
32187 }
32188 void parser___ReduceAction239___action(val_t p0, val_t p1){
32189 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
32190 val_t REGB0;
32191 val_t tmp;
32192 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32193 fra.me.file = LOCATE_parser;
32194 fra.me.line = 11671;
32195 fra.me.meth = LOCATE_parser___ReduceAction239___action;
32196 fra.me.has_broke = 0;
32197 fra.me.REG_size = 8;
32198 fra.me.REG[0] = NIT_NULL;
32199 fra.me.REG[1] = NIT_NULL;
32200 fra.me.REG[2] = NIT_NULL;
32201 fra.me.REG[3] = NIT_NULL;
32202 fra.me.REG[4] = NIT_NULL;
32203 fra.me.REG[5] = NIT_NULL;
32204 fra.me.REG[6] = NIT_NULL;
32205 fra.me.REG[7] = NIT_NULL;
32206 fra.me.REG[0] = p0;
32207 fra.me.REG[1] = p1;
32208 fra.me.REG[0] = NIT_NULL;
32209 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32210 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32211 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32212 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32213 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32214 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32215 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32216 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32217 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
32218 /* ./parser//parser.nit:11683 */
32219 if (UNTAG_Bool(REGB0)) {
32220 } else {
32221 fprintf(stderr, "Assert failed");
32222 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11683);
32223 nit_exit(1);
32224 }
32225 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
32226 /* ./parser//parser.nit:11685 */
32227 if (UNTAG_Bool(REGB0)) {
32228 } else {
32229 fprintf(stderr, "Assert failed");
32230 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11685);
32231 nit_exit(1);
32232 }
32233 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
32234 /* ./parser//parser.nit:11687 */
32235 if (UNTAG_Bool(REGB0)) {
32236 } else {
32237 fprintf(stderr, "Assert failed");
32238 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11687);
32239 nit_exit(1);
32240 }
32241 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
32242 /* ./parser//parser.nit:11689 */
32243 if (UNTAG_Bool(REGB0)) {
32244 } else {
32245 fprintf(stderr, "Assert failed");
32246 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11689);
32247 nit_exit(1);
32248 }
32249 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
32250 /* ./parser//parser.nit:11691 */
32251 if (UNTAG_Bool(REGB0)) {
32252 } else {
32253 fprintf(stderr, "Assert failed");
32254 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11691);
32255 nit_exit(1);
32256 }
32257 fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
32258 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
32259 /* ./parser//parser.nit:11696 */
32260 if (UNTAG_Bool(REGB0)) {
32261 } else {
32262 fprintf(stderr, "Assert failed");
32263 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11696);
32264 nit_exit(1);
32265 }
32266 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
32267 fra.me.REG[0] = fra.me.REG[2];
32268 REGB0 = TAG_Int(12);
32269 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32270 /* ./parser//parser.nit:11706 */
32271 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
32272 stack_frame_head = fra.me.prev;
32273 return;
32274 }
32275 void parser___ReduceAction239___init(val_t p0, int* init_table){
32276 int itpos243 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction239].i;
32277 struct {struct stack_frame_t me;} fra;
32278 val_t tmp;
32279 if (init_table[itpos243]) return;
32280 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32281 fra.me.file = LOCATE_parser;
32282 fra.me.line = 11708;
32283 fra.me.meth = LOCATE_parser___ReduceAction239___init;
32284 fra.me.has_broke = 0;
32285 fra.me.REG_size = 1;
32286 fra.me.REG[0] = NIT_NULL;
32287 fra.me.REG[0] = p0;
32288 /* ./parser//parser.nit:11708 */
32289 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
32290 stack_frame_head = fra.me.prev;
32291 init_table[itpos243] = 1;
32292 return;
32293 }
32294 void parser___ReduceAction240___action(val_t p0, val_t p1){
32295 struct {struct stack_frame_t me; val_t MORE_REG[7];} 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 = 11712;
32301 fra.me.meth = LOCATE_parser___ReduceAction240___action;
32302 fra.me.has_broke = 0;
32303 fra.me.REG_size = 8;
32304 fra.me.REG[0] = NIT_NULL;
32305 fra.me.REG[1] = NIT_NULL;
32306 fra.me.REG[2] = NIT_NULL;
32307 fra.me.REG[3] = NIT_NULL;
32308 fra.me.REG[4] = NIT_NULL;
32309 fra.me.REG[5] = NIT_NULL;
32310 fra.me.REG[6] = NIT_NULL;
32311 fra.me.REG[7] = NIT_NULL;
32312 fra.me.REG[0] = p0;
32313 fra.me.REG[1] = p1;
32314 fra.me.REG[0] = NIT_NULL;
32315 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32316 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32317 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32318 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32319 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32320 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32321 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32322 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32323 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
32324 /* ./parser//parser.nit:11724 */
32325 if (UNTAG_Bool(REGB0)) {
32326 } else {
32327 fprintf(stderr, "Assert failed");
32328 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11724);
32329 nit_exit(1);
32330 }
32331 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
32332 /* ./parser//parser.nit:11726 */
32333 if (UNTAG_Bool(REGB0)) {
32334 } else {
32335 fprintf(stderr, "Assert failed");
32336 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11726);
32337 nit_exit(1);
32338 }
32339 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
32340 /* ./parser//parser.nit:11728 */
32341 if (UNTAG_Bool(REGB0)) {
32342 } else {
32343 fprintf(stderr, "Assert failed");
32344 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11728);
32345 nit_exit(1);
32346 }
32347 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
32348 /* ./parser//parser.nit:11730 */
32349 if (UNTAG_Bool(REGB0)) {
32350 } else {
32351 fprintf(stderr, "Assert failed");
32352 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11730);
32353 nit_exit(1);
32354 }
32355 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
32356 /* ./parser//parser.nit:11732 */
32357 if (UNTAG_Bool(REGB0)) {
32358 } else {
32359 fprintf(stderr, "Assert failed");
32360 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11732);
32361 nit_exit(1);
32362 }
32363 fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
32364 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
32365 /* ./parser//parser.nit:11737 */
32366 if (UNTAG_Bool(REGB0)) {
32367 } else {
32368 fprintf(stderr, "Assert failed");
32369 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11737);
32370 nit_exit(1);
32371 }
32372 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
32373 fra.me.REG[0] = fra.me.REG[2];
32374 REGB0 = TAG_Int(12);
32375 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32376 /* ./parser//parser.nit:11747 */
32377 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
32378 stack_frame_head = fra.me.prev;
32379 return;
32380 }
32381 void parser___ReduceAction240___init(val_t p0, int* init_table){
32382 int itpos244 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction240].i;
32383 struct {struct stack_frame_t me;} fra;
32384 val_t tmp;
32385 if (init_table[itpos244]) return;
32386 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32387 fra.me.file = LOCATE_parser;
32388 fra.me.line = 11749;
32389 fra.me.meth = LOCATE_parser___ReduceAction240___init;
32390 fra.me.has_broke = 0;
32391 fra.me.REG_size = 1;
32392 fra.me.REG[0] = NIT_NULL;
32393 fra.me.REG[0] = p0;
32394 /* ./parser//parser.nit:11749 */
32395 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
32396 stack_frame_head = fra.me.prev;
32397 init_table[itpos244] = 1;
32398 return;
32399 }
32400 void parser___ReduceAction241___action(val_t p0, val_t p1){
32401 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
32402 val_t REGB0;
32403 val_t tmp;
32404 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32405 fra.me.file = LOCATE_parser;
32406 fra.me.line = 11753;
32407 fra.me.meth = LOCATE_parser___ReduceAction241___action;
32408 fra.me.has_broke = 0;
32409 fra.me.REG_size = 8;
32410 fra.me.REG[0] = NIT_NULL;
32411 fra.me.REG[1] = NIT_NULL;
32412 fra.me.REG[2] = NIT_NULL;
32413 fra.me.REG[3] = NIT_NULL;
32414 fra.me.REG[4] = NIT_NULL;
32415 fra.me.REG[5] = NIT_NULL;
32416 fra.me.REG[6] = NIT_NULL;
32417 fra.me.REG[7] = NIT_NULL;
32418 fra.me.REG[0] = p0;
32419 fra.me.REG[1] = p1;
32420 fra.me.REG[0] = NIT_NULL;
32421 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32422 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32423 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32424 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32425 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32426 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32427 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32428 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32429 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
32430 /* ./parser//parser.nit:11765 */
32431 if (UNTAG_Bool(REGB0)) {
32432 } else {
32433 fprintf(stderr, "Assert failed");
32434 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11765);
32435 nit_exit(1);
32436 }
32437 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
32438 /* ./parser//parser.nit:11767 */
32439 if (UNTAG_Bool(REGB0)) {
32440 } else {
32441 fprintf(stderr, "Assert failed");
32442 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11767);
32443 nit_exit(1);
32444 }
32445 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
32446 /* ./parser//parser.nit:11769 */
32447 if (UNTAG_Bool(REGB0)) {
32448 } else {
32449 fprintf(stderr, "Assert failed");
32450 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11769);
32451 nit_exit(1);
32452 }
32453 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
32454 /* ./parser//parser.nit:11771 */
32455 if (UNTAG_Bool(REGB0)) {
32456 } else {
32457 fprintf(stderr, "Assert failed");
32458 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11771);
32459 nit_exit(1);
32460 }
32461 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
32462 /* ./parser//parser.nit:11773 */
32463 if (UNTAG_Bool(REGB0)) {
32464 } else {
32465 fprintf(stderr, "Assert failed");
32466 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11773);
32467 nit_exit(1);
32468 }
32469 fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
32470 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
32471 /* ./parser//parser.nit:11778 */
32472 if (UNTAG_Bool(REGB0)) {
32473 } else {
32474 fprintf(stderr, "Assert failed");
32475 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11778);
32476 nit_exit(1);
32477 }
32478 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
32479 fra.me.REG[0] = fra.me.REG[2];
32480 REGB0 = TAG_Int(12);
32481 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32482 /* ./parser//parser.nit:11788 */
32483 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
32484 stack_frame_head = fra.me.prev;
32485 return;
32486 }
32487 void parser___ReduceAction241___init(val_t p0, int* init_table){
32488 int itpos245 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction241].i;
32489 struct {struct stack_frame_t me;} fra;
32490 val_t tmp;
32491 if (init_table[itpos245]) return;
32492 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32493 fra.me.file = LOCATE_parser;
32494 fra.me.line = 11790;
32495 fra.me.meth = LOCATE_parser___ReduceAction241___init;
32496 fra.me.has_broke = 0;
32497 fra.me.REG_size = 1;
32498 fra.me.REG[0] = NIT_NULL;
32499 fra.me.REG[0] = p0;
32500 /* ./parser//parser.nit:11790 */
32501 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
32502 stack_frame_head = fra.me.prev;
32503 init_table[itpos245] = 1;
32504 return;
32505 }
32506 void parser___ReduceAction242___action(val_t p0, val_t p1){
32507 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
32508 val_t REGB0;
32509 val_t tmp;
32510 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32511 fra.me.file = LOCATE_parser;
32512 fra.me.line = 11794;
32513 fra.me.meth = LOCATE_parser___ReduceAction242___action;
32514 fra.me.has_broke = 0;
32515 fra.me.REG_size = 9;
32516 fra.me.REG[0] = NIT_NULL;
32517 fra.me.REG[1] = NIT_NULL;
32518 fra.me.REG[2] = NIT_NULL;
32519 fra.me.REG[3] = NIT_NULL;
32520 fra.me.REG[4] = NIT_NULL;
32521 fra.me.REG[5] = NIT_NULL;
32522 fra.me.REG[6] = NIT_NULL;
32523 fra.me.REG[7] = NIT_NULL;
32524 fra.me.REG[8] = NIT_NULL;
32525 fra.me.REG[0] = p0;
32526 fra.me.REG[1] = p1;
32527 fra.me.REG[0] = NIT_NULL;
32528 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32529 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32530 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32531 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32532 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32533 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32534 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32535 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32536 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32537 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
32538 /* ./parser//parser.nit:11807 */
32539 if (UNTAG_Bool(REGB0)) {
32540 } else {
32541 fprintf(stderr, "Assert failed");
32542 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11807);
32543 nit_exit(1);
32544 }
32545 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
32546 /* ./parser//parser.nit:11809 */
32547 if (UNTAG_Bool(REGB0)) {
32548 } else {
32549 fprintf(stderr, "Assert failed");
32550 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11809);
32551 nit_exit(1);
32552 }
32553 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
32554 /* ./parser//parser.nit:11811 */
32555 if (UNTAG_Bool(REGB0)) {
32556 } else {
32557 fprintf(stderr, "Assert failed");
32558 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11811);
32559 nit_exit(1);
32560 }
32561 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
32562 /* ./parser//parser.nit:11813 */
32563 if (UNTAG_Bool(REGB0)) {
32564 } else {
32565 fprintf(stderr, "Assert failed");
32566 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11813);
32567 nit_exit(1);
32568 }
32569 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
32570 /* ./parser//parser.nit:11815 */
32571 if (UNTAG_Bool(REGB0)) {
32572 } else {
32573 fprintf(stderr, "Assert failed");
32574 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11815);
32575 nit_exit(1);
32576 }
32577 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
32578 /* ./parser//parser.nit:11817 */
32579 if (UNTAG_Bool(REGB0)) {
32580 } else {
32581 fprintf(stderr, "Assert failed");
32582 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11817);
32583 nit_exit(1);
32584 }
32585 fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
32586 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
32587 /* ./parser//parser.nit:11823 */
32588 if (UNTAG_Bool(REGB0)) {
32589 } else {
32590 fprintf(stderr, "Assert failed");
32591 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11823);
32592 nit_exit(1);
32593 }
32594 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]);
32595 fra.me.REG[0] = fra.me.REG[2];
32596 REGB0 = TAG_Int(12);
32597 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32598 /* ./parser//parser.nit:11833 */
32599 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
32600 stack_frame_head = fra.me.prev;
32601 return;
32602 }
32603 void parser___ReduceAction242___init(val_t p0, int* init_table){
32604 int itpos246 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction242].i;
32605 struct {struct stack_frame_t me;} fra;
32606 val_t tmp;
32607 if (init_table[itpos246]) return;
32608 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32609 fra.me.file = LOCATE_parser;
32610 fra.me.line = 11835;
32611 fra.me.meth = LOCATE_parser___ReduceAction242___init;
32612 fra.me.has_broke = 0;
32613 fra.me.REG_size = 1;
32614 fra.me.REG[0] = NIT_NULL;
32615 fra.me.REG[0] = p0;
32616 /* ./parser//parser.nit:11835 */
32617 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
32618 stack_frame_head = fra.me.prev;
32619 init_table[itpos246] = 1;
32620 return;
32621 }
32622 void parser___ReduceAction243___action(val_t p0, val_t p1){
32623 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
32624 val_t REGB0;
32625 val_t tmp;
32626 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32627 fra.me.file = LOCATE_parser;
32628 fra.me.line = 11839;
32629 fra.me.meth = LOCATE_parser___ReduceAction243___action;
32630 fra.me.has_broke = 0;
32631 fra.me.REG_size = 8;
32632 fra.me.REG[0] = NIT_NULL;
32633 fra.me.REG[1] = NIT_NULL;
32634 fra.me.REG[2] = NIT_NULL;
32635 fra.me.REG[3] = NIT_NULL;
32636 fra.me.REG[4] = NIT_NULL;
32637 fra.me.REG[5] = NIT_NULL;
32638 fra.me.REG[6] = NIT_NULL;
32639 fra.me.REG[7] = NIT_NULL;
32640 fra.me.REG[0] = p0;
32641 fra.me.REG[1] = p1;
32642 fra.me.REG[0] = NIT_NULL;
32643 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32644 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32645 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32646 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32647 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32648 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32649 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32650 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32651 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
32652 /* ./parser//parser.nit:11851 */
32653 if (UNTAG_Bool(REGB0)) {
32654 } else {
32655 fprintf(stderr, "Assert failed");
32656 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11851);
32657 nit_exit(1);
32658 }
32659 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
32660 /* ./parser//parser.nit:11853 */
32661 if (UNTAG_Bool(REGB0)) {
32662 } else {
32663 fprintf(stderr, "Assert failed");
32664 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11853);
32665 nit_exit(1);
32666 }
32667 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
32668 /* ./parser//parser.nit:11855 */
32669 if (UNTAG_Bool(REGB0)) {
32670 } else {
32671 fprintf(stderr, "Assert failed");
32672 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11855);
32673 nit_exit(1);
32674 }
32675 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
32676 /* ./parser//parser.nit:11857 */
32677 if (UNTAG_Bool(REGB0)) {
32678 } else {
32679 fprintf(stderr, "Assert failed");
32680 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11857);
32681 nit_exit(1);
32682 }
32683 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
32684 /* ./parser//parser.nit:11859 */
32685 if (UNTAG_Bool(REGB0)) {
32686 } else {
32687 fprintf(stderr, "Assert failed");
32688 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11859);
32689 nit_exit(1);
32690 }
32691 fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
32692 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
32693 /* ./parser//parser.nit:11864 */
32694 if (UNTAG_Bool(REGB0)) {
32695 } else {
32696 fprintf(stderr, "Assert failed");
32697 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11864);
32698 nit_exit(1);
32699 }
32700 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
32701 fra.me.REG[0] = fra.me.REG[2];
32702 REGB0 = TAG_Int(12);
32703 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32704 /* ./parser//parser.nit:11874 */
32705 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
32706 stack_frame_head = fra.me.prev;
32707 return;
32708 }
32709 void parser___ReduceAction243___init(val_t p0, int* init_table){
32710 int itpos247 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction243].i;
32711 struct {struct stack_frame_t me;} fra;
32712 val_t tmp;
32713 if (init_table[itpos247]) return;
32714 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32715 fra.me.file = LOCATE_parser;
32716 fra.me.line = 11876;
32717 fra.me.meth = LOCATE_parser___ReduceAction243___init;
32718 fra.me.has_broke = 0;
32719 fra.me.REG_size = 1;
32720 fra.me.REG[0] = NIT_NULL;
32721 fra.me.REG[0] = p0;
32722 /* ./parser//parser.nit:11876 */
32723 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
32724 stack_frame_head = fra.me.prev;
32725 init_table[itpos247] = 1;
32726 return;
32727 }
32728 void parser___ReduceAction244___action(val_t p0, val_t p1){
32729 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
32730 val_t REGB0;
32731 val_t tmp;
32732 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32733 fra.me.file = LOCATE_parser;
32734 fra.me.line = 11880;
32735 fra.me.meth = LOCATE_parser___ReduceAction244___action;
32736 fra.me.has_broke = 0;
32737 fra.me.REG_size = 9;
32738 fra.me.REG[0] = NIT_NULL;
32739 fra.me.REG[1] = NIT_NULL;
32740 fra.me.REG[2] = NIT_NULL;
32741 fra.me.REG[3] = NIT_NULL;
32742 fra.me.REG[4] = NIT_NULL;
32743 fra.me.REG[5] = NIT_NULL;
32744 fra.me.REG[6] = NIT_NULL;
32745 fra.me.REG[7] = NIT_NULL;
32746 fra.me.REG[8] = NIT_NULL;
32747 fra.me.REG[0] = p0;
32748 fra.me.REG[1] = p1;
32749 fra.me.REG[0] = NIT_NULL;
32750 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32751 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32752 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32753 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32754 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32755 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32756 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32757 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32758 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32759 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
32760 /* ./parser//parser.nit:11893 */
32761 if (UNTAG_Bool(REGB0)) {
32762 } else {
32763 fprintf(stderr, "Assert failed");
32764 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11893);
32765 nit_exit(1);
32766 }
32767 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
32768 /* ./parser//parser.nit:11895 */
32769 if (UNTAG_Bool(REGB0)) {
32770 } else {
32771 fprintf(stderr, "Assert failed");
32772 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11895);
32773 nit_exit(1);
32774 }
32775 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
32776 /* ./parser//parser.nit:11897 */
32777 if (UNTAG_Bool(REGB0)) {
32778 } else {
32779 fprintf(stderr, "Assert failed");
32780 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11897);
32781 nit_exit(1);
32782 }
32783 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
32784 /* ./parser//parser.nit:11899 */
32785 if (UNTAG_Bool(REGB0)) {
32786 } else {
32787 fprintf(stderr, "Assert failed");
32788 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11899);
32789 nit_exit(1);
32790 }
32791 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
32792 /* ./parser//parser.nit:11901 */
32793 if (UNTAG_Bool(REGB0)) {
32794 } else {
32795 fprintf(stderr, "Assert failed");
32796 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11901);
32797 nit_exit(1);
32798 }
32799 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
32800 /* ./parser//parser.nit:11903 */
32801 if (UNTAG_Bool(REGB0)) {
32802 } else {
32803 fprintf(stderr, "Assert failed");
32804 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11903);
32805 nit_exit(1);
32806 }
32807 fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
32808 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
32809 /* ./parser//parser.nit:11909 */
32810 if (UNTAG_Bool(REGB0)) {
32811 } else {
32812 fprintf(stderr, "Assert failed");
32813 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11909);
32814 nit_exit(1);
32815 }
32816 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]);
32817 fra.me.REG[0] = fra.me.REG[2];
32818 REGB0 = TAG_Int(12);
32819 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32820 /* ./parser//parser.nit:11919 */
32821 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
32822 stack_frame_head = fra.me.prev;
32823 return;
32824 }
32825 void parser___ReduceAction244___init(val_t p0, int* init_table){
32826 int itpos248 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction244].i;
32827 struct {struct stack_frame_t me;} fra;
32828 val_t tmp;
32829 if (init_table[itpos248]) return;
32830 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32831 fra.me.file = LOCATE_parser;
32832 fra.me.line = 11921;
32833 fra.me.meth = LOCATE_parser___ReduceAction244___init;
32834 fra.me.has_broke = 0;
32835 fra.me.REG_size = 1;
32836 fra.me.REG[0] = NIT_NULL;
32837 fra.me.REG[0] = p0;
32838 /* ./parser//parser.nit:11921 */
32839 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
32840 stack_frame_head = fra.me.prev;
32841 init_table[itpos248] = 1;
32842 return;
32843 }
32844 void parser___ReduceAction245___action(val_t p0, val_t p1){
32845 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
32846 val_t REGB0;
32847 val_t tmp;
32848 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32849 fra.me.file = LOCATE_parser;
32850 fra.me.line = 11925;
32851 fra.me.meth = LOCATE_parser___ReduceAction245___action;
32852 fra.me.has_broke = 0;
32853 fra.me.REG_size = 10;
32854 fra.me.REG[0] = NIT_NULL;
32855 fra.me.REG[1] = NIT_NULL;
32856 fra.me.REG[2] = NIT_NULL;
32857 fra.me.REG[3] = NIT_NULL;
32858 fra.me.REG[4] = NIT_NULL;
32859 fra.me.REG[5] = NIT_NULL;
32860 fra.me.REG[6] = NIT_NULL;
32861 fra.me.REG[7] = NIT_NULL;
32862 fra.me.REG[8] = NIT_NULL;
32863 fra.me.REG[9] = NIT_NULL;
32864 fra.me.REG[0] = p0;
32865 fra.me.REG[1] = p1;
32866 fra.me.REG[0] = NIT_NULL;
32867 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32868 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32869 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32870 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32871 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32872 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32873 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32874 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32875 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32876 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32877 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
32878 /* ./parser//parser.nit:11939 */
32879 if (UNTAG_Bool(REGB0)) {
32880 } else {
32881 fprintf(stderr, "Assert failed");
32882 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11939);
32883 nit_exit(1);
32884 }
32885 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
32886 /* ./parser//parser.nit:11941 */
32887 if (UNTAG_Bool(REGB0)) {
32888 } else {
32889 fprintf(stderr, "Assert failed");
32890 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11941);
32891 nit_exit(1);
32892 }
32893 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
32894 /* ./parser//parser.nit:11943 */
32895 if (UNTAG_Bool(REGB0)) {
32896 } else {
32897 fprintf(stderr, "Assert failed");
32898 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11943);
32899 nit_exit(1);
32900 }
32901 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
32902 /* ./parser//parser.nit:11945 */
32903 if (UNTAG_Bool(REGB0)) {
32904 } else {
32905 fprintf(stderr, "Assert failed");
32906 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11945);
32907 nit_exit(1);
32908 }
32909 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
32910 /* ./parser//parser.nit:11947 */
32911 if (UNTAG_Bool(REGB0)) {
32912 } else {
32913 fprintf(stderr, "Assert failed");
32914 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11947);
32915 nit_exit(1);
32916 }
32917 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
32918 /* ./parser//parser.nit:11949 */
32919 if (UNTAG_Bool(REGB0)) {
32920 } else {
32921 fprintf(stderr, "Assert failed");
32922 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11949);
32923 nit_exit(1);
32924 }
32925 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
32926 /* ./parser//parser.nit:11951 */
32927 if (UNTAG_Bool(REGB0)) {
32928 } else {
32929 fprintf(stderr, "Assert failed");
32930 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11951);
32931 nit_exit(1);
32932 }
32933 fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
32934 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
32935 /* ./parser//parser.nit:11958 */
32936 if (UNTAG_Bool(REGB0)) {
32937 } else {
32938 fprintf(stderr, "Assert failed");
32939 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11958);
32940 nit_exit(1);
32941 }
32942 fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]);
32943 fra.me.REG[0] = fra.me.REG[2];
32944 REGB0 = TAG_Int(12);
32945 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32946 /* ./parser//parser.nit:11968 */
32947 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
32948 stack_frame_head = fra.me.prev;
32949 return;
32950 }
32951 void parser___ReduceAction245___init(val_t p0, int* init_table){
32952 int itpos249 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction245].i;
32953 struct {struct stack_frame_t me;} fra;
32954 val_t tmp;
32955 if (init_table[itpos249]) return;
32956 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32957 fra.me.file = LOCATE_parser;
32958 fra.me.line = 11970;
32959 fra.me.meth = LOCATE_parser___ReduceAction245___init;
32960 fra.me.has_broke = 0;
32961 fra.me.REG_size = 1;
32962 fra.me.REG[0] = NIT_NULL;
32963 fra.me.REG[0] = p0;
32964 /* ./parser//parser.nit:11970 */
32965 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
32966 stack_frame_head = fra.me.prev;
32967 init_table[itpos249] = 1;
32968 return;
32969 }
32970 void parser___ReduceAction246___action(val_t p0, val_t p1){
32971 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
32972 val_t REGB0;
32973 val_t tmp;
32974 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32975 fra.me.file = LOCATE_parser;
32976 fra.me.line = 11974;
32977 fra.me.meth = LOCATE_parser___ReduceAction246___action;
32978 fra.me.has_broke = 0;
32979 fra.me.REG_size = 7;
32980 fra.me.REG[0] = NIT_NULL;
32981 fra.me.REG[1] = NIT_NULL;
32982 fra.me.REG[2] = NIT_NULL;
32983 fra.me.REG[3] = NIT_NULL;
32984 fra.me.REG[4] = NIT_NULL;
32985 fra.me.REG[5] = NIT_NULL;
32986 fra.me.REG[6] = NIT_NULL;
32987 fra.me.REG[0] = p0;
32988 fra.me.REG[1] = p1;
32989 fra.me.REG[0] = NIT_NULL;
32990 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32991 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32992 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32993 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32994 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32995 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32996 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32997 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
32998 /* ./parser//parser.nit:11985 */
32999 if (UNTAG_Bool(REGB0)) {
33000 } else {
33001 fprintf(stderr, "Assert failed");
33002 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11985);
33003 nit_exit(1);
33004 }
33005 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
33006 /* ./parser//parser.nit:11987 */
33007 if (UNTAG_Bool(REGB0)) {
33008 } else {
33009 fprintf(stderr, "Assert failed");
33010 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11987);
33011 nit_exit(1);
33012 }
33013 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
33014 /* ./parser//parser.nit:11989 */
33015 if (UNTAG_Bool(REGB0)) {
33016 } else {
33017 fprintf(stderr, "Assert failed");
33018 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11989);
33019 nit_exit(1);
33020 }
33021 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
33022 /* ./parser//parser.nit:11991 */
33023 if (UNTAG_Bool(REGB0)) {
33024 } else {
33025 fprintf(stderr, "Assert failed");
33026 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11991);
33027 nit_exit(1);
33028 }
33029 fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
33030 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
33031 /* ./parser//parser.nit:11996 */
33032 if (UNTAG_Bool(REGB0)) {
33033 } else {
33034 fprintf(stderr, "Assert failed");
33035 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11996);
33036 nit_exit(1);
33037 }
33038 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
33039 fra.me.REG[0] = fra.me.REG[2];
33040 REGB0 = TAG_Int(12);
33041 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33042 /* ./parser//parser.nit:12007 */
33043 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
33044 stack_frame_head = fra.me.prev;
33045 return;
33046 }
33047 void parser___ReduceAction246___init(val_t p0, int* init_table){
33048 int itpos250 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction246].i;
33049 struct {struct stack_frame_t me;} fra;
33050 val_t tmp;
33051 if (init_table[itpos250]) return;
33052 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33053 fra.me.file = LOCATE_parser;
33054 fra.me.line = 12009;
33055 fra.me.meth = LOCATE_parser___ReduceAction246___init;
33056 fra.me.has_broke = 0;
33057 fra.me.REG_size = 1;
33058 fra.me.REG[0] = NIT_NULL;
33059 fra.me.REG[0] = p0;
33060 /* ./parser//parser.nit:12009 */
33061 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
33062 stack_frame_head = fra.me.prev;
33063 init_table[itpos250] = 1;
33064 return;
33065 }
33066 void parser___ReduceAction247___action(val_t p0, val_t p1){
33067 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
33068 val_t REGB0;
33069 val_t tmp;
33070 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33071 fra.me.file = LOCATE_parser;
33072 fra.me.line = 12013;
33073 fra.me.meth = LOCATE_parser___ReduceAction247___action;
33074 fra.me.has_broke = 0;
33075 fra.me.REG_size = 7;
33076 fra.me.REG[0] = NIT_NULL;
33077 fra.me.REG[1] = NIT_NULL;
33078 fra.me.REG[2] = NIT_NULL;
33079 fra.me.REG[3] = NIT_NULL;
33080 fra.me.REG[4] = NIT_NULL;
33081 fra.me.REG[5] = NIT_NULL;
33082 fra.me.REG[6] = NIT_NULL;
33083 fra.me.REG[0] = p0;
33084 fra.me.REG[1] = p1;
33085 fra.me.REG[0] = NIT_NULL;
33086 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33087 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33088 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33089 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33090 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33091 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33092 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33093 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
33094 /* ./parser//parser.nit:12024 */
33095 if (UNTAG_Bool(REGB0)) {
33096 } else {
33097 fprintf(stderr, "Assert failed");
33098 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12024);
33099 nit_exit(1);
33100 }
33101 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
33102 /* ./parser//parser.nit:12026 */
33103 if (UNTAG_Bool(REGB0)) {
33104 } else {
33105 fprintf(stderr, "Assert failed");
33106 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12026);
33107 nit_exit(1);
33108 }
33109 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
33110 /* ./parser//parser.nit:12028 */
33111 if (UNTAG_Bool(REGB0)) {
33112 } else {
33113 fprintf(stderr, "Assert failed");
33114 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12028);
33115 nit_exit(1);
33116 }
33117 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
33118 /* ./parser//parser.nit:12030 */
33119 if (UNTAG_Bool(REGB0)) {
33120 } else {
33121 fprintf(stderr, "Assert failed");
33122 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12030);
33123 nit_exit(1);
33124 }
33125 fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
33126 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
33127 /* ./parser//parser.nit:12035 */
33128 if (UNTAG_Bool(REGB0)) {
33129 } else {
33130 fprintf(stderr, "Assert failed");
33131 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12035);
33132 nit_exit(1);
33133 }
33134 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
33135 fra.me.REG[0] = fra.me.REG[2];
33136 REGB0 = TAG_Int(12);
33137 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33138 /* ./parser//parser.nit:12046 */
33139 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
33140 stack_frame_head = fra.me.prev;
33141 return;
33142 }
33143 void parser___ReduceAction247___init(val_t p0, int* init_table){
33144 int itpos251 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction247].i;
33145 struct {struct stack_frame_t me;} fra;
33146 val_t tmp;
33147 if (init_table[itpos251]) return;
33148 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33149 fra.me.file = LOCATE_parser;
33150 fra.me.line = 12048;
33151 fra.me.meth = LOCATE_parser___ReduceAction247___init;
33152 fra.me.has_broke = 0;
33153 fra.me.REG_size = 1;
33154 fra.me.REG[0] = NIT_NULL;
33155 fra.me.REG[0] = p0;
33156 /* ./parser//parser.nit:12048 */
33157 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
33158 stack_frame_head = fra.me.prev;
33159 init_table[itpos251] = 1;
33160 return;
33161 }
33162 void parser___ReduceAction248___action(val_t p0, val_t p1){
33163 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
33164 val_t REGB0;
33165 val_t tmp;
33166 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33167 fra.me.file = LOCATE_parser;
33168 fra.me.line = 12052;
33169 fra.me.meth = LOCATE_parser___ReduceAction248___action;
33170 fra.me.has_broke = 0;
33171 fra.me.REG_size = 7;
33172 fra.me.REG[0] = NIT_NULL;
33173 fra.me.REG[1] = NIT_NULL;
33174 fra.me.REG[2] = NIT_NULL;
33175 fra.me.REG[3] = NIT_NULL;
33176 fra.me.REG[4] = NIT_NULL;
33177 fra.me.REG[5] = NIT_NULL;
33178 fra.me.REG[6] = NIT_NULL;
33179 fra.me.REG[0] = p0;
33180 fra.me.REG[1] = p1;
33181 fra.me.REG[0] = NIT_NULL;
33182 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33183 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33184 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33185 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33186 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33187 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33188 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33189 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
33190 /* ./parser//parser.nit:12063 */
33191 if (UNTAG_Bool(REGB0)) {
33192 } else {
33193 fprintf(stderr, "Assert failed");
33194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12063);
33195 nit_exit(1);
33196 }
33197 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
33198 /* ./parser//parser.nit:12065 */
33199 if (UNTAG_Bool(REGB0)) {
33200 } else {
33201 fprintf(stderr, "Assert failed");
33202 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12065);
33203 nit_exit(1);
33204 }
33205 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
33206 /* ./parser//parser.nit:12067 */
33207 if (UNTAG_Bool(REGB0)) {
33208 } else {
33209 fprintf(stderr, "Assert failed");
33210 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12067);
33211 nit_exit(1);
33212 }
33213 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
33214 /* ./parser//parser.nit:12069 */
33215 if (UNTAG_Bool(REGB0)) {
33216 } else {
33217 fprintf(stderr, "Assert failed");
33218 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12069);
33219 nit_exit(1);
33220 }
33221 fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
33222 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
33223 /* ./parser//parser.nit:12074 */
33224 if (UNTAG_Bool(REGB0)) {
33225 } else {
33226 fprintf(stderr, "Assert failed");
33227 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12074);
33228 nit_exit(1);
33229 }
33230 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
33231 fra.me.REG[0] = fra.me.REG[2];
33232 REGB0 = TAG_Int(12);
33233 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33234 /* ./parser//parser.nit:12085 */
33235 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
33236 stack_frame_head = fra.me.prev;
33237 return;
33238 }
33239 void parser___ReduceAction248___init(val_t p0, int* init_table){
33240 int itpos252 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction248].i;
33241 struct {struct stack_frame_t me;} fra;
33242 val_t tmp;
33243 if (init_table[itpos252]) return;
33244 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33245 fra.me.file = LOCATE_parser;
33246 fra.me.line = 12087;
33247 fra.me.meth = LOCATE_parser___ReduceAction248___init;
33248 fra.me.has_broke = 0;
33249 fra.me.REG_size = 1;
33250 fra.me.REG[0] = NIT_NULL;
33251 fra.me.REG[0] = p0;
33252 /* ./parser//parser.nit:12087 */
33253 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
33254 stack_frame_head = fra.me.prev;
33255 init_table[itpos252] = 1;
33256 return;
33257 }
33258 void parser___ReduceAction249___action(val_t p0, val_t p1){
33259 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
33260 val_t REGB0;
33261 val_t tmp;
33262 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33263 fra.me.file = LOCATE_parser;
33264 fra.me.line = 12091;
33265 fra.me.meth = LOCATE_parser___ReduceAction249___action;
33266 fra.me.has_broke = 0;
33267 fra.me.REG_size = 7;
33268 fra.me.REG[0] = NIT_NULL;
33269 fra.me.REG[1] = NIT_NULL;
33270 fra.me.REG[2] = NIT_NULL;
33271 fra.me.REG[3] = NIT_NULL;
33272 fra.me.REG[4] = NIT_NULL;
33273 fra.me.REG[5] = NIT_NULL;
33274 fra.me.REG[6] = NIT_NULL;
33275 fra.me.REG[0] = p0;
33276 fra.me.REG[1] = p1;
33277 fra.me.REG[0] = NIT_NULL;
33278 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33279 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33280 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33281 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33282 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33283 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33284 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33285 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
33286 /* ./parser//parser.nit:12102 */
33287 if (UNTAG_Bool(REGB0)) {
33288 } else {
33289 fprintf(stderr, "Assert failed");
33290 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12102);
33291 nit_exit(1);
33292 }
33293 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
33294 /* ./parser//parser.nit:12104 */
33295 if (UNTAG_Bool(REGB0)) {
33296 } else {
33297 fprintf(stderr, "Assert failed");
33298 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12104);
33299 nit_exit(1);
33300 }
33301 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
33302 /* ./parser//parser.nit:12106 */
33303 if (UNTAG_Bool(REGB0)) {
33304 } else {
33305 fprintf(stderr, "Assert failed");
33306 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12106);
33307 nit_exit(1);
33308 }
33309 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
33310 /* ./parser//parser.nit:12108 */
33311 if (UNTAG_Bool(REGB0)) {
33312 } else {
33313 fprintf(stderr, "Assert failed");
33314 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12108);
33315 nit_exit(1);
33316 }
33317 fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
33318 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
33319 /* ./parser//parser.nit:12113 */
33320 if (UNTAG_Bool(REGB0)) {
33321 } else {
33322 fprintf(stderr, "Assert failed");
33323 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12113);
33324 nit_exit(1);
33325 }
33326 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
33327 fra.me.REG[0] = fra.me.REG[2];
33328 REGB0 = TAG_Int(12);
33329 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33330 /* ./parser//parser.nit:12124 */
33331 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
33332 stack_frame_head = fra.me.prev;
33333 return;
33334 }
33335 void parser___ReduceAction249___init(val_t p0, int* init_table){
33336 int itpos253 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction249].i;
33337 struct {struct stack_frame_t me;} fra;
33338 val_t tmp;
33339 if (init_table[itpos253]) return;
33340 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33341 fra.me.file = LOCATE_parser;
33342 fra.me.line = 12126;
33343 fra.me.meth = LOCATE_parser___ReduceAction249___init;
33344 fra.me.has_broke = 0;
33345 fra.me.REG_size = 1;
33346 fra.me.REG[0] = NIT_NULL;
33347 fra.me.REG[0] = p0;
33348 /* ./parser//parser.nit:12126 */
33349 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
33350 stack_frame_head = fra.me.prev;
33351 init_table[itpos253] = 1;
33352 return;
33353 }
33354 void parser___ReduceAction250___action(val_t p0, val_t p1){
33355 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
33356 val_t REGB0;
33357 val_t tmp;
33358 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33359 fra.me.file = LOCATE_parser;
33360 fra.me.line = 12130;
33361 fra.me.meth = LOCATE_parser___ReduceAction250___action;
33362 fra.me.has_broke = 0;
33363 fra.me.REG_size = 7;
33364 fra.me.REG[0] = NIT_NULL;
33365 fra.me.REG[1] = NIT_NULL;
33366 fra.me.REG[2] = NIT_NULL;
33367 fra.me.REG[3] = NIT_NULL;
33368 fra.me.REG[4] = NIT_NULL;
33369 fra.me.REG[5] = NIT_NULL;
33370 fra.me.REG[6] = NIT_NULL;
33371 fra.me.REG[0] = p0;
33372 fra.me.REG[1] = p1;
33373 fra.me.REG[0] = NIT_NULL;
33374 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33375 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33376 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33377 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33378 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33379 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33380 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33381 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
33382 /* ./parser//parser.nit:12141 */
33383 if (UNTAG_Bool(REGB0)) {
33384 } else {
33385 fprintf(stderr, "Assert failed");
33386 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12141);
33387 nit_exit(1);
33388 }
33389 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
33390 /* ./parser//parser.nit:12143 */
33391 if (UNTAG_Bool(REGB0)) {
33392 } else {
33393 fprintf(stderr, "Assert failed");
33394 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12143);
33395 nit_exit(1);
33396 }
33397 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
33398 /* ./parser//parser.nit:12145 */
33399 if (UNTAG_Bool(REGB0)) {
33400 } else {
33401 fprintf(stderr, "Assert failed");
33402 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12145);
33403 nit_exit(1);
33404 }
33405 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
33406 /* ./parser//parser.nit:12147 */
33407 if (UNTAG_Bool(REGB0)) {
33408 } else {
33409 fprintf(stderr, "Assert failed");
33410 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12147);
33411 nit_exit(1);
33412 }
33413 fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
33414 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
33415 /* ./parser//parser.nit:12152 */
33416 if (UNTAG_Bool(REGB0)) {
33417 } else {
33418 fprintf(stderr, "Assert failed");
33419 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12152);
33420 nit_exit(1);
33421 }
33422 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
33423 fra.me.REG[0] = fra.me.REG[2];
33424 REGB0 = TAG_Int(12);
33425 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33426 /* ./parser//parser.nit:12163 */
33427 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
33428 stack_frame_head = fra.me.prev;
33429 return;
33430 }
33431 void parser___ReduceAction250___init(val_t p0, int* init_table){
33432 int itpos254 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction250].i;
33433 struct {struct stack_frame_t me;} fra;
33434 val_t tmp;
33435 if (init_table[itpos254]) return;
33436 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33437 fra.me.file = LOCATE_parser;
33438 fra.me.line = 12165;
33439 fra.me.meth = LOCATE_parser___ReduceAction250___init;
33440 fra.me.has_broke = 0;
33441 fra.me.REG_size = 1;
33442 fra.me.REG[0] = NIT_NULL;
33443 fra.me.REG[0] = p0;
33444 /* ./parser//parser.nit:12165 */
33445 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
33446 stack_frame_head = fra.me.prev;
33447 init_table[itpos254] = 1;
33448 return;
33449 }
33450 void parser___ReduceAction251___action(val_t p0, val_t p1){
33451 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
33452 val_t REGB0;
33453 val_t tmp;
33454 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33455 fra.me.file = LOCATE_parser;
33456 fra.me.line = 12169;
33457 fra.me.meth = LOCATE_parser___ReduceAction251___action;
33458 fra.me.has_broke = 0;
33459 fra.me.REG_size = 7;
33460 fra.me.REG[0] = NIT_NULL;
33461 fra.me.REG[1] = NIT_NULL;
33462 fra.me.REG[2] = NIT_NULL;
33463 fra.me.REG[3] = NIT_NULL;
33464 fra.me.REG[4] = NIT_NULL;
33465 fra.me.REG[5] = NIT_NULL;
33466 fra.me.REG[6] = NIT_NULL;
33467 fra.me.REG[0] = p0;
33468 fra.me.REG[1] = p1;
33469 fra.me.REG[0] = NIT_NULL;
33470 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33471 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33472 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33473 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33474 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33475 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33476 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33477 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
33478 /* ./parser//parser.nit:12180 */
33479 if (UNTAG_Bool(REGB0)) {
33480 } else {
33481 fprintf(stderr, "Assert failed");
33482 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12180);
33483 nit_exit(1);
33484 }
33485 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
33486 /* ./parser//parser.nit:12182 */
33487 if (UNTAG_Bool(REGB0)) {
33488 } else {
33489 fprintf(stderr, "Assert failed");
33490 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12182);
33491 nit_exit(1);
33492 }
33493 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
33494 /* ./parser//parser.nit:12184 */
33495 if (UNTAG_Bool(REGB0)) {
33496 } else {
33497 fprintf(stderr, "Assert failed");
33498 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12184);
33499 nit_exit(1);
33500 }
33501 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
33502 /* ./parser//parser.nit:12186 */
33503 if (UNTAG_Bool(REGB0)) {
33504 } else {
33505 fprintf(stderr, "Assert failed");
33506 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12186);
33507 nit_exit(1);
33508 }
33509 fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
33510 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
33511 /* ./parser//parser.nit:12191 */
33512 if (UNTAG_Bool(REGB0)) {
33513 } else {
33514 fprintf(stderr, "Assert failed");
33515 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12191);
33516 nit_exit(1);
33517 }
33518 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
33519 fra.me.REG[0] = fra.me.REG[2];
33520 REGB0 = TAG_Int(12);
33521 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33522 /* ./parser//parser.nit:12202 */
33523 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
33524 stack_frame_head = fra.me.prev;
33525 return;
33526 }
33527 void parser___ReduceAction251___init(val_t p0, int* init_table){
33528 int itpos255 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction251].i;
33529 struct {struct stack_frame_t me;} fra;
33530 val_t tmp;
33531 if (init_table[itpos255]) return;
33532 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33533 fra.me.file = LOCATE_parser;
33534 fra.me.line = 12204;
33535 fra.me.meth = LOCATE_parser___ReduceAction251___init;
33536 fra.me.has_broke = 0;
33537 fra.me.REG_size = 1;
33538 fra.me.REG[0] = NIT_NULL;
33539 fra.me.REG[0] = p0;
33540 /* ./parser//parser.nit:12204 */
33541 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
33542 stack_frame_head = fra.me.prev;
33543 init_table[itpos255] = 1;
33544 return;
33545 }
33546 void parser___ReduceAction252___action(val_t p0, val_t p1){
33547 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
33548 val_t REGB0;
33549 val_t tmp;
33550 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33551 fra.me.file = LOCATE_parser;
33552 fra.me.line = 12208;
33553 fra.me.meth = LOCATE_parser___ReduceAction252___action;
33554 fra.me.has_broke = 0;
33555 fra.me.REG_size = 7;
33556 fra.me.REG[0] = NIT_NULL;
33557 fra.me.REG[1] = NIT_NULL;
33558 fra.me.REG[2] = NIT_NULL;
33559 fra.me.REG[3] = NIT_NULL;
33560 fra.me.REG[4] = NIT_NULL;
33561 fra.me.REG[5] = NIT_NULL;
33562 fra.me.REG[6] = NIT_NULL;
33563 fra.me.REG[0] = p0;
33564 fra.me.REG[1] = p1;
33565 fra.me.REG[0] = NIT_NULL;
33566 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33567 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33568 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33569 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33570 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33571 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33572 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33573 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
33574 /* ./parser//parser.nit:12219 */
33575 if (UNTAG_Bool(REGB0)) {
33576 } else {
33577 fprintf(stderr, "Assert failed");
33578 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12219);
33579 nit_exit(1);
33580 }
33581 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
33582 /* ./parser//parser.nit:12221 */
33583 if (UNTAG_Bool(REGB0)) {
33584 } else {
33585 fprintf(stderr, "Assert failed");
33586 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12221);
33587 nit_exit(1);
33588 }
33589 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
33590 /* ./parser//parser.nit:12223 */
33591 if (UNTAG_Bool(REGB0)) {
33592 } else {
33593 fprintf(stderr, "Assert failed");
33594 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12223);
33595 nit_exit(1);
33596 }
33597 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
33598 /* ./parser//parser.nit:12225 */
33599 if (UNTAG_Bool(REGB0)) {
33600 } else {
33601 fprintf(stderr, "Assert failed");
33602 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12225);
33603 nit_exit(1);
33604 }
33605 fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
33606 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
33607 /* ./parser//parser.nit:12230 */
33608 if (UNTAG_Bool(REGB0)) {
33609 } else {
33610 fprintf(stderr, "Assert failed");
33611 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12230);
33612 nit_exit(1);
33613 }
33614 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
33615 fra.me.REG[0] = fra.me.REG[2];
33616 REGB0 = TAG_Int(12);
33617 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33618 /* ./parser//parser.nit:12241 */
33619 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
33620 stack_frame_head = fra.me.prev;
33621 return;
33622 }
33623 void parser___ReduceAction252___init(val_t p0, int* init_table){
33624 int itpos256 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction252].i;
33625 struct {struct stack_frame_t me;} fra;
33626 val_t tmp;
33627 if (init_table[itpos256]) return;
33628 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33629 fra.me.file = LOCATE_parser;
33630 fra.me.line = 12243;
33631 fra.me.meth = LOCATE_parser___ReduceAction252___init;
33632 fra.me.has_broke = 0;
33633 fra.me.REG_size = 1;
33634 fra.me.REG[0] = NIT_NULL;
33635 fra.me.REG[0] = p0;
33636 /* ./parser//parser.nit:12243 */
33637 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
33638 stack_frame_head = fra.me.prev;
33639 init_table[itpos256] = 1;
33640 return;
33641 }
33642 void parser___ReduceAction253___action(val_t p0, val_t p1){
33643 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
33644 val_t REGB0;
33645 val_t tmp;
33646 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33647 fra.me.file = LOCATE_parser;
33648 fra.me.line = 12247;
33649 fra.me.meth = LOCATE_parser___ReduceAction253___action;
33650 fra.me.has_broke = 0;
33651 fra.me.REG_size = 7;
33652 fra.me.REG[0] = NIT_NULL;
33653 fra.me.REG[1] = NIT_NULL;
33654 fra.me.REG[2] = NIT_NULL;
33655 fra.me.REG[3] = NIT_NULL;
33656 fra.me.REG[4] = NIT_NULL;
33657 fra.me.REG[5] = NIT_NULL;
33658 fra.me.REG[6] = NIT_NULL;
33659 fra.me.REG[0] = p0;
33660 fra.me.REG[1] = p1;
33661 fra.me.REG[0] = NIT_NULL;
33662 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33663 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33664 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33665 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33666 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33667 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33668 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33669 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
33670 /* ./parser//parser.nit:12258 */
33671 if (UNTAG_Bool(REGB0)) {
33672 } else {
33673 fprintf(stderr, "Assert failed");
33674 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12258);
33675 nit_exit(1);
33676 }
33677 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
33678 /* ./parser//parser.nit:12260 */
33679 if (UNTAG_Bool(REGB0)) {
33680 } else {
33681 fprintf(stderr, "Assert failed");
33682 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12260);
33683 nit_exit(1);
33684 }
33685 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
33686 /* ./parser//parser.nit:12262 */
33687 if (UNTAG_Bool(REGB0)) {
33688 } else {
33689 fprintf(stderr, "Assert failed");
33690 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12262);
33691 nit_exit(1);
33692 }
33693 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
33694 /* ./parser//parser.nit:12264 */
33695 if (UNTAG_Bool(REGB0)) {
33696 } else {
33697 fprintf(stderr, "Assert failed");
33698 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12264);
33699 nit_exit(1);
33700 }
33701 fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
33702 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
33703 /* ./parser//parser.nit:12269 */
33704 if (UNTAG_Bool(REGB0)) {
33705 } else {
33706 fprintf(stderr, "Assert failed");
33707 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12269);
33708 nit_exit(1);
33709 }
33710 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
33711 fra.me.REG[0] = fra.me.REG[2];
33712 REGB0 = TAG_Int(12);
33713 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33714 /* ./parser//parser.nit:12280 */
33715 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
33716 stack_frame_head = fra.me.prev;
33717 return;
33718 }
33719 void parser___ReduceAction253___init(val_t p0, int* init_table){
33720 int itpos257 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction253].i;
33721 struct {struct stack_frame_t me;} fra;
33722 val_t tmp;
33723 if (init_table[itpos257]) return;
33724 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33725 fra.me.file = LOCATE_parser;
33726 fra.me.line = 12282;
33727 fra.me.meth = LOCATE_parser___ReduceAction253___init;
33728 fra.me.has_broke = 0;
33729 fra.me.REG_size = 1;
33730 fra.me.REG[0] = NIT_NULL;
33731 fra.me.REG[0] = p0;
33732 /* ./parser//parser.nit:12282 */
33733 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
33734 stack_frame_head = fra.me.prev;
33735 init_table[itpos257] = 1;
33736 return;
33737 }
33738 void parser___ReduceAction254___action(val_t p0, val_t p1){
33739 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
33740 val_t REGB0;
33741 val_t tmp;
33742 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33743 fra.me.file = LOCATE_parser;
33744 fra.me.line = 12286;
33745 fra.me.meth = LOCATE_parser___ReduceAction254___action;
33746 fra.me.has_broke = 0;
33747 fra.me.REG_size = 7;
33748 fra.me.REG[0] = NIT_NULL;
33749 fra.me.REG[1] = NIT_NULL;
33750 fra.me.REG[2] = NIT_NULL;
33751 fra.me.REG[3] = NIT_NULL;
33752 fra.me.REG[4] = NIT_NULL;
33753 fra.me.REG[5] = NIT_NULL;
33754 fra.me.REG[6] = NIT_NULL;
33755 fra.me.REG[0] = p0;
33756 fra.me.REG[1] = p1;
33757 fra.me.REG[0] = NIT_NULL;
33758 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33759 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33760 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33761 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33762 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33763 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33764 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33765 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
33766 /* ./parser//parser.nit:12297 */
33767 if (UNTAG_Bool(REGB0)) {
33768 } else {
33769 fprintf(stderr, "Assert failed");
33770 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12297);
33771 nit_exit(1);
33772 }
33773 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
33774 /* ./parser//parser.nit:12299 */
33775 if (UNTAG_Bool(REGB0)) {
33776 } else {
33777 fprintf(stderr, "Assert failed");
33778 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12299);
33779 nit_exit(1);
33780 }
33781 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
33782 /* ./parser//parser.nit:12301 */
33783 if (UNTAG_Bool(REGB0)) {
33784 } else {
33785 fprintf(stderr, "Assert failed");
33786 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12301);
33787 nit_exit(1);
33788 }
33789 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
33790 /* ./parser//parser.nit:12303 */
33791 if (UNTAG_Bool(REGB0)) {
33792 } else {
33793 fprintf(stderr, "Assert failed");
33794 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12303);
33795 nit_exit(1);
33796 }
33797 fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
33798 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
33799 /* ./parser//parser.nit:12308 */
33800 if (UNTAG_Bool(REGB0)) {
33801 } else {
33802 fprintf(stderr, "Assert failed");
33803 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12308);
33804 nit_exit(1);
33805 }
33806 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
33807 fra.me.REG[0] = fra.me.REG[2];
33808 REGB0 = TAG_Int(12);
33809 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33810 /* ./parser//parser.nit:12319 */
33811 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
33812 stack_frame_head = fra.me.prev;
33813 return;
33814 }
33815 void parser___ReduceAction254___init(val_t p0, int* init_table){
33816 int itpos258 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction254].i;
33817 struct {struct stack_frame_t me;} fra;
33818 val_t tmp;
33819 if (init_table[itpos258]) return;
33820 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33821 fra.me.file = LOCATE_parser;
33822 fra.me.line = 12321;
33823 fra.me.meth = LOCATE_parser___ReduceAction254___init;
33824 fra.me.has_broke = 0;
33825 fra.me.REG_size = 1;
33826 fra.me.REG[0] = NIT_NULL;
33827 fra.me.REG[0] = p0;
33828 /* ./parser//parser.nit:12321 */
33829 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
33830 stack_frame_head = fra.me.prev;
33831 init_table[itpos258] = 1;
33832 return;
33833 }
33834 void parser___ReduceAction255___action(val_t p0, val_t p1){
33835 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
33836 val_t REGB0;
33837 val_t tmp;
33838 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33839 fra.me.file = LOCATE_parser;
33840 fra.me.line = 12325;
33841 fra.me.meth = LOCATE_parser___ReduceAction255___action;
33842 fra.me.has_broke = 0;
33843 fra.me.REG_size = 7;
33844 fra.me.REG[0] = NIT_NULL;
33845 fra.me.REG[1] = NIT_NULL;
33846 fra.me.REG[2] = NIT_NULL;
33847 fra.me.REG[3] = NIT_NULL;
33848 fra.me.REG[4] = NIT_NULL;
33849 fra.me.REG[5] = NIT_NULL;
33850 fra.me.REG[6] = NIT_NULL;
33851 fra.me.REG[0] = p0;
33852 fra.me.REG[1] = p1;
33853 fra.me.REG[0] = NIT_NULL;
33854 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33855 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33856 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33857 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33858 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33859 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33860 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33861 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
33862 /* ./parser//parser.nit:12336 */
33863 if (UNTAG_Bool(REGB0)) {
33864 } else {
33865 fprintf(stderr, "Assert failed");
33866 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12336);
33867 nit_exit(1);
33868 }
33869 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
33870 /* ./parser//parser.nit:12338 */
33871 if (UNTAG_Bool(REGB0)) {
33872 } else {
33873 fprintf(stderr, "Assert failed");
33874 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12338);
33875 nit_exit(1);
33876 }
33877 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
33878 /* ./parser//parser.nit:12340 */
33879 if (UNTAG_Bool(REGB0)) {
33880 } else {
33881 fprintf(stderr, "Assert failed");
33882 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12340);
33883 nit_exit(1);
33884 }
33885 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
33886 /* ./parser//parser.nit:12342 */
33887 if (UNTAG_Bool(REGB0)) {
33888 } else {
33889 fprintf(stderr, "Assert failed");
33890 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12342);
33891 nit_exit(1);
33892 }
33893 fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
33894 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
33895 /* ./parser//parser.nit:12347 */
33896 if (UNTAG_Bool(REGB0)) {
33897 } else {
33898 fprintf(stderr, "Assert failed");
33899 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12347);
33900 nit_exit(1);
33901 }
33902 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
33903 fra.me.REG[0] = fra.me.REG[2];
33904 REGB0 = TAG_Int(12);
33905 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33906 /* ./parser//parser.nit:12358 */
33907 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
33908 stack_frame_head = fra.me.prev;
33909 return;
33910 }
33911 void parser___ReduceAction255___init(val_t p0, int* init_table){
33912 int itpos259 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction255].i;
33913 struct {struct stack_frame_t me;} fra;
33914 val_t tmp;
33915 if (init_table[itpos259]) return;
33916 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33917 fra.me.file = LOCATE_parser;
33918 fra.me.line = 12360;
33919 fra.me.meth = LOCATE_parser___ReduceAction255___init;
33920 fra.me.has_broke = 0;
33921 fra.me.REG_size = 1;
33922 fra.me.REG[0] = NIT_NULL;
33923 fra.me.REG[0] = p0;
33924 /* ./parser//parser.nit:12360 */
33925 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
33926 stack_frame_head = fra.me.prev;
33927 init_table[itpos259] = 1;
33928 return;
33929 }
33930 void parser___ReduceAction256___action(val_t p0, val_t p1){
33931 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
33932 val_t REGB0;
33933 val_t tmp;
33934 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33935 fra.me.file = LOCATE_parser;
33936 fra.me.line = 12364;
33937 fra.me.meth = LOCATE_parser___ReduceAction256___action;
33938 fra.me.has_broke = 0;
33939 fra.me.REG_size = 7;
33940 fra.me.REG[0] = NIT_NULL;
33941 fra.me.REG[1] = NIT_NULL;
33942 fra.me.REG[2] = NIT_NULL;
33943 fra.me.REG[3] = NIT_NULL;
33944 fra.me.REG[4] = NIT_NULL;
33945 fra.me.REG[5] = NIT_NULL;
33946 fra.me.REG[6] = NIT_NULL;
33947 fra.me.REG[0] = p0;
33948 fra.me.REG[1] = p1;
33949 fra.me.REG[0] = NIT_NULL;
33950 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33951 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33952 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33953 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33954 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33955 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33956 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33957 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
33958 /* ./parser//parser.nit:12375 */
33959 if (UNTAG_Bool(REGB0)) {
33960 } else {
33961 fprintf(stderr, "Assert failed");
33962 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12375);
33963 nit_exit(1);
33964 }
33965 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
33966 /* ./parser//parser.nit:12377 */
33967 if (UNTAG_Bool(REGB0)) {
33968 } else {
33969 fprintf(stderr, "Assert failed");
33970 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12377);
33971 nit_exit(1);
33972 }
33973 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
33974 /* ./parser//parser.nit:12379 */
33975 if (UNTAG_Bool(REGB0)) {
33976 } else {
33977 fprintf(stderr, "Assert failed");
33978 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12379);
33979 nit_exit(1);
33980 }
33981 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
33982 /* ./parser//parser.nit:12381 */
33983 if (UNTAG_Bool(REGB0)) {
33984 } else {
33985 fprintf(stderr, "Assert failed");
33986 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12381);
33987 nit_exit(1);
33988 }
33989 fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
33990 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
33991 /* ./parser//parser.nit:12386 */
33992 if (UNTAG_Bool(REGB0)) {
33993 } else {
33994 fprintf(stderr, "Assert failed");
33995 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12386);
33996 nit_exit(1);
33997 }
33998 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
33999 fra.me.REG[0] = fra.me.REG[2];
34000 REGB0 = TAG_Int(12);
34001 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34002 /* ./parser//parser.nit:12397 */
34003 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
34004 stack_frame_head = fra.me.prev;
34005 return;
34006 }
34007 void parser___ReduceAction256___init(val_t p0, int* init_table){
34008 int itpos260 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction256].i;
34009 struct {struct stack_frame_t me;} fra;
34010 val_t tmp;
34011 if (init_table[itpos260]) return;
34012 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34013 fra.me.file = LOCATE_parser;
34014 fra.me.line = 12399;
34015 fra.me.meth = LOCATE_parser___ReduceAction256___init;
34016 fra.me.has_broke = 0;
34017 fra.me.REG_size = 1;
34018 fra.me.REG[0] = NIT_NULL;
34019 fra.me.REG[0] = p0;
34020 /* ./parser//parser.nit:12399 */
34021 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
34022 stack_frame_head = fra.me.prev;
34023 init_table[itpos260] = 1;
34024 return;
34025 }
34026 void parser___ReduceAction257___action(val_t p0, val_t p1){
34027 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
34028 val_t REGB0;
34029 val_t tmp;
34030 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34031 fra.me.file = LOCATE_parser;
34032 fra.me.line = 12403;
34033 fra.me.meth = LOCATE_parser___ReduceAction257___action;
34034 fra.me.has_broke = 0;
34035 fra.me.REG_size = 7;
34036 fra.me.REG[0] = NIT_NULL;
34037 fra.me.REG[1] = NIT_NULL;
34038 fra.me.REG[2] = NIT_NULL;
34039 fra.me.REG[3] = NIT_NULL;
34040 fra.me.REG[4] = NIT_NULL;
34041 fra.me.REG[5] = NIT_NULL;
34042 fra.me.REG[6] = NIT_NULL;
34043 fra.me.REG[0] = p0;
34044 fra.me.REG[1] = p1;
34045 fra.me.REG[0] = NIT_NULL;
34046 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34047 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34048 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34049 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34050 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34051 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34052 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34053 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
34054 /* ./parser//parser.nit:12414 */
34055 if (UNTAG_Bool(REGB0)) {
34056 } else {
34057 fprintf(stderr, "Assert failed");
34058 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12414);
34059 nit_exit(1);
34060 }
34061 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
34062 /* ./parser//parser.nit:12416 */
34063 if (UNTAG_Bool(REGB0)) {
34064 } else {
34065 fprintf(stderr, "Assert failed");
34066 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12416);
34067 nit_exit(1);
34068 }
34069 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
34070 /* ./parser//parser.nit:12418 */
34071 if (UNTAG_Bool(REGB0)) {
34072 } else {
34073 fprintf(stderr, "Assert failed");
34074 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12418);
34075 nit_exit(1);
34076 }
34077 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
34078 /* ./parser//parser.nit:12420 */
34079 if (UNTAG_Bool(REGB0)) {
34080 } else {
34081 fprintf(stderr, "Assert failed");
34082 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12420);
34083 nit_exit(1);
34084 }
34085 fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
34086 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
34087 /* ./parser//parser.nit:12425 */
34088 if (UNTAG_Bool(REGB0)) {
34089 } else {
34090 fprintf(stderr, "Assert failed");
34091 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12425);
34092 nit_exit(1);
34093 }
34094 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
34095 fra.me.REG[0] = fra.me.REG[2];
34096 REGB0 = TAG_Int(12);
34097 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34098 /* ./parser//parser.nit:12436 */
34099 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
34100 stack_frame_head = fra.me.prev;
34101 return;
34102 }
34103 void parser___ReduceAction257___init(val_t p0, int* init_table){
34104 int itpos261 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction257].i;
34105 struct {struct stack_frame_t me;} fra;
34106 val_t tmp;
34107 if (init_table[itpos261]) return;
34108 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34109 fra.me.file = LOCATE_parser;
34110 fra.me.line = 12438;
34111 fra.me.meth = LOCATE_parser___ReduceAction257___init;
34112 fra.me.has_broke = 0;
34113 fra.me.REG_size = 1;
34114 fra.me.REG[0] = NIT_NULL;
34115 fra.me.REG[0] = p0;
34116 /* ./parser//parser.nit:12438 */
34117 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
34118 stack_frame_head = fra.me.prev;
34119 init_table[itpos261] = 1;
34120 return;
34121 }
34122 void parser___ReduceAction258___action(val_t p0, val_t p1){
34123 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
34124 val_t REGB0;
34125 val_t tmp;
34126 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34127 fra.me.file = LOCATE_parser;
34128 fra.me.line = 12442;
34129 fra.me.meth = LOCATE_parser___ReduceAction258___action;
34130 fra.me.has_broke = 0;
34131 fra.me.REG_size = 8;
34132 fra.me.REG[0] = NIT_NULL;
34133 fra.me.REG[1] = NIT_NULL;
34134 fra.me.REG[2] = NIT_NULL;
34135 fra.me.REG[3] = NIT_NULL;
34136 fra.me.REG[4] = NIT_NULL;
34137 fra.me.REG[5] = NIT_NULL;
34138 fra.me.REG[6] = NIT_NULL;
34139 fra.me.REG[7] = NIT_NULL;
34140 fra.me.REG[0] = p0;
34141 fra.me.REG[1] = p1;
34142 fra.me.REG[0] = NIT_NULL;
34143 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34144 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34145 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34146 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34147 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34148 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34149 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34150 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34151 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
34152 /* ./parser//parser.nit:12454 */
34153 if (UNTAG_Bool(REGB0)) {
34154 } else {
34155 fprintf(stderr, "Assert failed");
34156 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12454);
34157 nit_exit(1);
34158 }
34159 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
34160 /* ./parser//parser.nit:12456 */
34161 if (UNTAG_Bool(REGB0)) {
34162 } else {
34163 fprintf(stderr, "Assert failed");
34164 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12456);
34165 nit_exit(1);
34166 }
34167 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
34168 /* ./parser//parser.nit:12458 */
34169 if (UNTAG_Bool(REGB0)) {
34170 } else {
34171 fprintf(stderr, "Assert failed");
34172 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12458);
34173 nit_exit(1);
34174 }
34175 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
34176 /* ./parser//parser.nit:12460 */
34177 if (UNTAG_Bool(REGB0)) {
34178 } else {
34179 fprintf(stderr, "Assert failed");
34180 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12460);
34181 nit_exit(1);
34182 }
34183 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
34184 /* ./parser//parser.nit:12462 */
34185 if (UNTAG_Bool(REGB0)) {
34186 } else {
34187 fprintf(stderr, "Assert failed");
34188 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12462);
34189 nit_exit(1);
34190 }
34191 fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
34192 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
34193 /* ./parser//parser.nit:12468 */
34194 if (UNTAG_Bool(REGB0)) {
34195 } else {
34196 fprintf(stderr, "Assert failed");
34197 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12468);
34198 nit_exit(1);
34199 }
34200 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
34201 fra.me.REG[0] = fra.me.REG[2];
34202 REGB0 = TAG_Int(12);
34203 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34204 /* ./parser//parser.nit:12479 */
34205 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
34206 stack_frame_head = fra.me.prev;
34207 return;
34208 }
34209 void parser___ReduceAction258___init(val_t p0, int* init_table){
34210 int itpos262 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction258].i;
34211 struct {struct stack_frame_t me;} fra;
34212 val_t tmp;
34213 if (init_table[itpos262]) return;
34214 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34215 fra.me.file = LOCATE_parser;
34216 fra.me.line = 12481;
34217 fra.me.meth = LOCATE_parser___ReduceAction258___init;
34218 fra.me.has_broke = 0;
34219 fra.me.REG_size = 1;
34220 fra.me.REG[0] = NIT_NULL;
34221 fra.me.REG[0] = p0;
34222 /* ./parser//parser.nit:12481 */
34223 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
34224 stack_frame_head = fra.me.prev;
34225 init_table[itpos262] = 1;
34226 return;
34227 }
34228 void parser___ReduceAction259___action(val_t p0, val_t p1){
34229 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
34230 val_t REGB0;
34231 val_t tmp;
34232 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34233 fra.me.file = LOCATE_parser;
34234 fra.me.line = 12485;
34235 fra.me.meth = LOCATE_parser___ReduceAction259___action;
34236 fra.me.has_broke = 0;
34237 fra.me.REG_size = 7;
34238 fra.me.REG[0] = NIT_NULL;
34239 fra.me.REG[1] = NIT_NULL;
34240 fra.me.REG[2] = NIT_NULL;
34241 fra.me.REG[3] = NIT_NULL;
34242 fra.me.REG[4] = NIT_NULL;
34243 fra.me.REG[5] = NIT_NULL;
34244 fra.me.REG[6] = NIT_NULL;
34245 fra.me.REG[0] = p0;
34246 fra.me.REG[1] = p1;
34247 fra.me.REG[0] = NIT_NULL;
34248 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34249 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34250 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34251 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34252 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34253 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34254 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34255 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
34256 /* ./parser//parser.nit:12496 */
34257 if (UNTAG_Bool(REGB0)) {
34258 } else {
34259 fprintf(stderr, "Assert failed");
34260 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12496);
34261 nit_exit(1);
34262 }
34263 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
34264 /* ./parser//parser.nit:12498 */
34265 if (UNTAG_Bool(REGB0)) {
34266 } else {
34267 fprintf(stderr, "Assert failed");
34268 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12498);
34269 nit_exit(1);
34270 }
34271 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
34272 /* ./parser//parser.nit:12500 */
34273 if (UNTAG_Bool(REGB0)) {
34274 } else {
34275 fprintf(stderr, "Assert failed");
34276 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12500);
34277 nit_exit(1);
34278 }
34279 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
34280 /* ./parser//parser.nit:12502 */
34281 if (UNTAG_Bool(REGB0)) {
34282 } else {
34283 fprintf(stderr, "Assert failed");
34284 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12502);
34285 nit_exit(1);
34286 }
34287 fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
34288 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
34289 /* ./parser//parser.nit:12507 */
34290 if (UNTAG_Bool(REGB0)) {
34291 } else {
34292 fprintf(stderr, "Assert failed");
34293 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12507);
34294 nit_exit(1);
34295 }
34296 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
34297 fra.me.REG[0] = fra.me.REG[2];
34298 REGB0 = TAG_Int(12);
34299 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34300 /* ./parser//parser.nit:12518 */
34301 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
34302 stack_frame_head = fra.me.prev;
34303 return;
34304 }
34305 void parser___ReduceAction259___init(val_t p0, int* init_table){
34306 int itpos263 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction259].i;
34307 struct {struct stack_frame_t me;} fra;
34308 val_t tmp;
34309 if (init_table[itpos263]) return;
34310 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34311 fra.me.file = LOCATE_parser;
34312 fra.me.line = 12520;
34313 fra.me.meth = LOCATE_parser___ReduceAction259___init;
34314 fra.me.has_broke = 0;
34315 fra.me.REG_size = 1;
34316 fra.me.REG[0] = NIT_NULL;
34317 fra.me.REG[0] = p0;
34318 /* ./parser//parser.nit:12520 */
34319 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
34320 stack_frame_head = fra.me.prev;
34321 init_table[itpos263] = 1;
34322 return;
34323 }
34324 void parser___ReduceAction260___action(val_t p0, val_t p1){
34325 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
34326 val_t REGB0;
34327 val_t tmp;
34328 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34329 fra.me.file = LOCATE_parser;
34330 fra.me.line = 12524;
34331 fra.me.meth = LOCATE_parser___ReduceAction260___action;
34332 fra.me.has_broke = 0;
34333 fra.me.REG_size = 8;
34334 fra.me.REG[0] = NIT_NULL;
34335 fra.me.REG[1] = NIT_NULL;
34336 fra.me.REG[2] = NIT_NULL;
34337 fra.me.REG[3] = NIT_NULL;
34338 fra.me.REG[4] = NIT_NULL;
34339 fra.me.REG[5] = NIT_NULL;
34340 fra.me.REG[6] = NIT_NULL;
34341 fra.me.REG[7] = NIT_NULL;
34342 fra.me.REG[0] = p0;
34343 fra.me.REG[1] = p1;
34344 fra.me.REG[0] = NIT_NULL;
34345 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34346 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34347 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34348 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34349 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34350 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34351 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34352 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34353 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
34354 /* ./parser//parser.nit:12536 */
34355 if (UNTAG_Bool(REGB0)) {
34356 } else {
34357 fprintf(stderr, "Assert failed");
34358 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12536);
34359 nit_exit(1);
34360 }
34361 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
34362 /* ./parser//parser.nit:12538 */
34363 if (UNTAG_Bool(REGB0)) {
34364 } else {
34365 fprintf(stderr, "Assert failed");
34366 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12538);
34367 nit_exit(1);
34368 }
34369 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
34370 /* ./parser//parser.nit:12540 */
34371 if (UNTAG_Bool(REGB0)) {
34372 } else {
34373 fprintf(stderr, "Assert failed");
34374 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12540);
34375 nit_exit(1);
34376 }
34377 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
34378 /* ./parser//parser.nit:12542 */
34379 if (UNTAG_Bool(REGB0)) {
34380 } else {
34381 fprintf(stderr, "Assert failed");
34382 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12542);
34383 nit_exit(1);
34384 }
34385 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
34386 /* ./parser//parser.nit:12544 */
34387 if (UNTAG_Bool(REGB0)) {
34388 } else {
34389 fprintf(stderr, "Assert failed");
34390 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12544);
34391 nit_exit(1);
34392 }
34393 fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
34394 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
34395 /* ./parser//parser.nit:12550 */
34396 if (UNTAG_Bool(REGB0)) {
34397 } else {
34398 fprintf(stderr, "Assert failed");
34399 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12550);
34400 nit_exit(1);
34401 }
34402 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
34403 fra.me.REG[0] = fra.me.REG[2];
34404 REGB0 = TAG_Int(12);
34405 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34406 /* ./parser//parser.nit:12561 */
34407 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
34408 stack_frame_head = fra.me.prev;
34409 return;
34410 }
34411 void parser___ReduceAction260___init(val_t p0, int* init_table){
34412 int itpos264 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction260].i;
34413 struct {struct stack_frame_t me;} fra;
34414 val_t tmp;
34415 if (init_table[itpos264]) return;
34416 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34417 fra.me.file = LOCATE_parser;
34418 fra.me.line = 12563;
34419 fra.me.meth = LOCATE_parser___ReduceAction260___init;
34420 fra.me.has_broke = 0;
34421 fra.me.REG_size = 1;
34422 fra.me.REG[0] = NIT_NULL;
34423 fra.me.REG[0] = p0;
34424 /* ./parser//parser.nit:12563 */
34425 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
34426 stack_frame_head = fra.me.prev;
34427 init_table[itpos264] = 1;
34428 return;
34429 }
34430 void parser___ReduceAction261___action(val_t p0, val_t p1){
34431 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
34432 val_t REGB0;
34433 val_t tmp;
34434 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34435 fra.me.file = LOCATE_parser;
34436 fra.me.line = 12567;
34437 fra.me.meth = LOCATE_parser___ReduceAction261___action;
34438 fra.me.has_broke = 0;
34439 fra.me.REG_size = 9;
34440 fra.me.REG[0] = NIT_NULL;
34441 fra.me.REG[1] = NIT_NULL;
34442 fra.me.REG[2] = NIT_NULL;
34443 fra.me.REG[3] = NIT_NULL;
34444 fra.me.REG[4] = NIT_NULL;
34445 fra.me.REG[5] = NIT_NULL;
34446 fra.me.REG[6] = NIT_NULL;
34447 fra.me.REG[7] = NIT_NULL;
34448 fra.me.REG[8] = NIT_NULL;
34449 fra.me.REG[0] = p0;
34450 fra.me.REG[1] = p1;
34451 fra.me.REG[0] = NIT_NULL;
34452 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34453 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34454 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34455 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34456 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34457 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34458 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34459 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34460 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34461 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
34462 /* ./parser//parser.nit:12580 */
34463 if (UNTAG_Bool(REGB0)) {
34464 } else {
34465 fprintf(stderr, "Assert failed");
34466 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12580);
34467 nit_exit(1);
34468 }
34469 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
34470 /* ./parser//parser.nit:12582 */
34471 if (UNTAG_Bool(REGB0)) {
34472 } else {
34473 fprintf(stderr, "Assert failed");
34474 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12582);
34475 nit_exit(1);
34476 }
34477 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
34478 /* ./parser//parser.nit:12584 */
34479 if (UNTAG_Bool(REGB0)) {
34480 } else {
34481 fprintf(stderr, "Assert failed");
34482 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12584);
34483 nit_exit(1);
34484 }
34485 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
34486 /* ./parser//parser.nit:12586 */
34487 if (UNTAG_Bool(REGB0)) {
34488 } else {
34489 fprintf(stderr, "Assert failed");
34490 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12586);
34491 nit_exit(1);
34492 }
34493 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
34494 /* ./parser//parser.nit:12588 */
34495 if (UNTAG_Bool(REGB0)) {
34496 } else {
34497 fprintf(stderr, "Assert failed");
34498 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12588);
34499 nit_exit(1);
34500 }
34501 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
34502 /* ./parser//parser.nit:12590 */
34503 if (UNTAG_Bool(REGB0)) {
34504 } else {
34505 fprintf(stderr, "Assert failed");
34506 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12590);
34507 nit_exit(1);
34508 }
34509 fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
34510 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
34511 /* ./parser//parser.nit:12597 */
34512 if (UNTAG_Bool(REGB0)) {
34513 } else {
34514 fprintf(stderr, "Assert failed");
34515 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12597);
34516 nit_exit(1);
34517 }
34518 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
34519 fra.me.REG[0] = fra.me.REG[2];
34520 REGB0 = TAG_Int(12);
34521 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34522 /* ./parser//parser.nit:12608 */
34523 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
34524 stack_frame_head = fra.me.prev;
34525 return;
34526 }
34527 void parser___ReduceAction261___init(val_t p0, int* init_table){
34528 int itpos265 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction261].i;
34529 struct {struct stack_frame_t me;} fra;
34530 val_t tmp;
34531 if (init_table[itpos265]) return;
34532 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34533 fra.me.file = LOCATE_parser;
34534 fra.me.line = 12610;
34535 fra.me.meth = LOCATE_parser___ReduceAction261___init;
34536 fra.me.has_broke = 0;
34537 fra.me.REG_size = 1;
34538 fra.me.REG[0] = NIT_NULL;
34539 fra.me.REG[0] = p0;
34540 /* ./parser//parser.nit:12610 */
34541 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
34542 stack_frame_head = fra.me.prev;
34543 init_table[itpos265] = 1;
34544 return;
34545 }
34546 void parser___ReduceAction262___action(val_t p0, val_t p1){
34547 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
34548 val_t REGB0;
34549 val_t tmp;
34550 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34551 fra.me.file = LOCATE_parser;
34552 fra.me.line = 12614;
34553 fra.me.meth = LOCATE_parser___ReduceAction262___action;
34554 fra.me.has_broke = 0;
34555 fra.me.REG_size = 8;
34556 fra.me.REG[0] = NIT_NULL;
34557 fra.me.REG[1] = NIT_NULL;
34558 fra.me.REG[2] = NIT_NULL;
34559 fra.me.REG[3] = NIT_NULL;
34560 fra.me.REG[4] = NIT_NULL;
34561 fra.me.REG[5] = NIT_NULL;
34562 fra.me.REG[6] = NIT_NULL;
34563 fra.me.REG[7] = NIT_NULL;
34564 fra.me.REG[0] = p0;
34565 fra.me.REG[1] = p1;
34566 fra.me.REG[0] = NIT_NULL;
34567 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34568 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34569 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34570 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34571 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34572 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34573 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34574 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34575 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
34576 /* ./parser//parser.nit:12626 */
34577 if (UNTAG_Bool(REGB0)) {
34578 } else {
34579 fprintf(stderr, "Assert failed");
34580 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12626);
34581 nit_exit(1);
34582 }
34583 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
34584 /* ./parser//parser.nit:12628 */
34585 if (UNTAG_Bool(REGB0)) {
34586 } else {
34587 fprintf(stderr, "Assert failed");
34588 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12628);
34589 nit_exit(1);
34590 }
34591 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
34592 /* ./parser//parser.nit:12630 */
34593 if (UNTAG_Bool(REGB0)) {
34594 } else {
34595 fprintf(stderr, "Assert failed");
34596 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12630);
34597 nit_exit(1);
34598 }
34599 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
34600 /* ./parser//parser.nit:12632 */
34601 if (UNTAG_Bool(REGB0)) {
34602 } else {
34603 fprintf(stderr, "Assert failed");
34604 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12632);
34605 nit_exit(1);
34606 }
34607 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
34608 /* ./parser//parser.nit:12634 */
34609 if (UNTAG_Bool(REGB0)) {
34610 } else {
34611 fprintf(stderr, "Assert failed");
34612 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12634);
34613 nit_exit(1);
34614 }
34615 fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
34616 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
34617 /* ./parser//parser.nit:12639 */
34618 if (UNTAG_Bool(REGB0)) {
34619 } else {
34620 fprintf(stderr, "Assert failed");
34621 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12639);
34622 nit_exit(1);
34623 }
34624 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
34625 fra.me.REG[0] = fra.me.REG[2];
34626 REGB0 = TAG_Int(12);
34627 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34628 /* ./parser//parser.nit:12650 */
34629 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
34630 stack_frame_head = fra.me.prev;
34631 return;
34632 }
34633 void parser___ReduceAction262___init(val_t p0, int* init_table){
34634 int itpos266 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction262].i;
34635 struct {struct stack_frame_t me;} fra;
34636 val_t tmp;
34637 if (init_table[itpos266]) return;
34638 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34639 fra.me.file = LOCATE_parser;
34640 fra.me.line = 12652;
34641 fra.me.meth = LOCATE_parser___ReduceAction262___init;
34642 fra.me.has_broke = 0;
34643 fra.me.REG_size = 1;
34644 fra.me.REG[0] = NIT_NULL;
34645 fra.me.REG[0] = p0;
34646 /* ./parser//parser.nit:12652 */
34647 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
34648 stack_frame_head = fra.me.prev;
34649 init_table[itpos266] = 1;
34650 return;
34651 }
34652 void parser___ReduceAction263___action(val_t p0, val_t p1){
34653 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
34654 val_t REGB0;
34655 val_t tmp;
34656 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34657 fra.me.file = LOCATE_parser;
34658 fra.me.line = 12656;
34659 fra.me.meth = LOCATE_parser___ReduceAction263___action;
34660 fra.me.has_broke = 0;
34661 fra.me.REG_size = 8;
34662 fra.me.REG[0] = NIT_NULL;
34663 fra.me.REG[1] = NIT_NULL;
34664 fra.me.REG[2] = NIT_NULL;
34665 fra.me.REG[3] = NIT_NULL;
34666 fra.me.REG[4] = NIT_NULL;
34667 fra.me.REG[5] = NIT_NULL;
34668 fra.me.REG[6] = NIT_NULL;
34669 fra.me.REG[7] = NIT_NULL;
34670 fra.me.REG[0] = p0;
34671 fra.me.REG[1] = p1;
34672 fra.me.REG[0] = NIT_NULL;
34673 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34674 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34675 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34676 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34677 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34678 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34679 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34680 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34681 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
34682 /* ./parser//parser.nit:12668 */
34683 if (UNTAG_Bool(REGB0)) {
34684 } else {
34685 fprintf(stderr, "Assert failed");
34686 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12668);
34687 nit_exit(1);
34688 }
34689 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
34690 /* ./parser//parser.nit:12670 */
34691 if (UNTAG_Bool(REGB0)) {
34692 } else {
34693 fprintf(stderr, "Assert failed");
34694 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12670);
34695 nit_exit(1);
34696 }
34697 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
34698 /* ./parser//parser.nit:12672 */
34699 if (UNTAG_Bool(REGB0)) {
34700 } else {
34701 fprintf(stderr, "Assert failed");
34702 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12672);
34703 nit_exit(1);
34704 }
34705 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
34706 /* ./parser//parser.nit:12674 */
34707 if (UNTAG_Bool(REGB0)) {
34708 } else {
34709 fprintf(stderr, "Assert failed");
34710 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12674);
34711 nit_exit(1);
34712 }
34713 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
34714 /* ./parser//parser.nit:12676 */
34715 if (UNTAG_Bool(REGB0)) {
34716 } else {
34717 fprintf(stderr, "Assert failed");
34718 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12676);
34719 nit_exit(1);
34720 }
34721 fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
34722 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
34723 /* ./parser//parser.nit:12681 */
34724 if (UNTAG_Bool(REGB0)) {
34725 } else {
34726 fprintf(stderr, "Assert failed");
34727 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12681);
34728 nit_exit(1);
34729 }
34730 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
34731 fra.me.REG[0] = fra.me.REG[2];
34732 REGB0 = TAG_Int(12);
34733 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34734 /* ./parser//parser.nit:12692 */
34735 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
34736 stack_frame_head = fra.me.prev;
34737 return;
34738 }
34739 void parser___ReduceAction263___init(val_t p0, int* init_table){
34740 int itpos267 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction263].i;
34741 struct {struct stack_frame_t me;} fra;
34742 val_t tmp;
34743 if (init_table[itpos267]) return;
34744 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34745 fra.me.file = LOCATE_parser;
34746 fra.me.line = 12694;
34747 fra.me.meth = LOCATE_parser___ReduceAction263___init;
34748 fra.me.has_broke = 0;
34749 fra.me.REG_size = 1;
34750 fra.me.REG[0] = NIT_NULL;
34751 fra.me.REG[0] = p0;
34752 /* ./parser//parser.nit:12694 */
34753 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
34754 stack_frame_head = fra.me.prev;
34755 init_table[itpos267] = 1;
34756 return;
34757 }
34758 void parser___ReduceAction264___action(val_t p0, val_t p1){
34759 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
34760 val_t REGB0;
34761 val_t tmp;
34762 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34763 fra.me.file = LOCATE_parser;
34764 fra.me.line = 12698;
34765 fra.me.meth = LOCATE_parser___ReduceAction264___action;
34766 fra.me.has_broke = 0;
34767 fra.me.REG_size = 8;
34768 fra.me.REG[0] = NIT_NULL;
34769 fra.me.REG[1] = NIT_NULL;
34770 fra.me.REG[2] = NIT_NULL;
34771 fra.me.REG[3] = NIT_NULL;
34772 fra.me.REG[4] = NIT_NULL;
34773 fra.me.REG[5] = NIT_NULL;
34774 fra.me.REG[6] = NIT_NULL;
34775 fra.me.REG[7] = NIT_NULL;
34776 fra.me.REG[0] = p0;
34777 fra.me.REG[1] = p1;
34778 fra.me.REG[0] = NIT_NULL;
34779 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34780 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34781 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34782 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34783 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34784 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34785 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34786 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34787 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
34788 /* ./parser//parser.nit:12710 */
34789 if (UNTAG_Bool(REGB0)) {
34790 } else {
34791 fprintf(stderr, "Assert failed");
34792 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12710);
34793 nit_exit(1);
34794 }
34795 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
34796 /* ./parser//parser.nit:12712 */
34797 if (UNTAG_Bool(REGB0)) {
34798 } else {
34799 fprintf(stderr, "Assert failed");
34800 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12712);
34801 nit_exit(1);
34802 }
34803 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
34804 /* ./parser//parser.nit:12714 */
34805 if (UNTAG_Bool(REGB0)) {
34806 } else {
34807 fprintf(stderr, "Assert failed");
34808 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12714);
34809 nit_exit(1);
34810 }
34811 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
34812 /* ./parser//parser.nit:12716 */
34813 if (UNTAG_Bool(REGB0)) {
34814 } else {
34815 fprintf(stderr, "Assert failed");
34816 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12716);
34817 nit_exit(1);
34818 }
34819 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
34820 /* ./parser//parser.nit:12718 */
34821 if (UNTAG_Bool(REGB0)) {
34822 } else {
34823 fprintf(stderr, "Assert failed");
34824 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12718);
34825 nit_exit(1);
34826 }
34827 fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
34828 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
34829 /* ./parser//parser.nit:12723 */
34830 if (UNTAG_Bool(REGB0)) {
34831 } else {
34832 fprintf(stderr, "Assert failed");
34833 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12723);
34834 nit_exit(1);
34835 }
34836 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
34837 fra.me.REG[0] = fra.me.REG[2];
34838 REGB0 = TAG_Int(12);
34839 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34840 /* ./parser//parser.nit:12734 */
34841 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
34842 stack_frame_head = fra.me.prev;
34843 return;
34844 }
34845 void parser___ReduceAction264___init(val_t p0, int* init_table){
34846 int itpos268 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction264].i;
34847 struct {struct stack_frame_t me;} fra;
34848 val_t tmp;
34849 if (init_table[itpos268]) return;
34850 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34851 fra.me.file = LOCATE_parser;
34852 fra.me.line = 12736;
34853 fra.me.meth = LOCATE_parser___ReduceAction264___init;
34854 fra.me.has_broke = 0;
34855 fra.me.REG_size = 1;
34856 fra.me.REG[0] = NIT_NULL;
34857 fra.me.REG[0] = p0;
34858 /* ./parser//parser.nit:12736 */
34859 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
34860 stack_frame_head = fra.me.prev;
34861 init_table[itpos268] = 1;
34862 return;
34863 }
34864 void parser___ReduceAction265___action(val_t p0, val_t p1){
34865 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
34866 val_t REGB0;
34867 val_t tmp;
34868 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34869 fra.me.file = LOCATE_parser;
34870 fra.me.line = 12740;
34871 fra.me.meth = LOCATE_parser___ReduceAction265___action;
34872 fra.me.has_broke = 0;
34873 fra.me.REG_size = 8;
34874 fra.me.REG[0] = NIT_NULL;
34875 fra.me.REG[1] = NIT_NULL;
34876 fra.me.REG[2] = NIT_NULL;
34877 fra.me.REG[3] = NIT_NULL;
34878 fra.me.REG[4] = NIT_NULL;
34879 fra.me.REG[5] = NIT_NULL;
34880 fra.me.REG[6] = NIT_NULL;
34881 fra.me.REG[7] = NIT_NULL;
34882 fra.me.REG[0] = p0;
34883 fra.me.REG[1] = p1;
34884 fra.me.REG[0] = NIT_NULL;
34885 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34886 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34887 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34888 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34889 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34890 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34891 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34892 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34893 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
34894 /* ./parser//parser.nit:12752 */
34895 if (UNTAG_Bool(REGB0)) {
34896 } else {
34897 fprintf(stderr, "Assert failed");
34898 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12752);
34899 nit_exit(1);
34900 }
34901 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
34902 /* ./parser//parser.nit:12754 */
34903 if (UNTAG_Bool(REGB0)) {
34904 } else {
34905 fprintf(stderr, "Assert failed");
34906 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12754);
34907 nit_exit(1);
34908 }
34909 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
34910 /* ./parser//parser.nit:12756 */
34911 if (UNTAG_Bool(REGB0)) {
34912 } else {
34913 fprintf(stderr, "Assert failed");
34914 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12756);
34915 nit_exit(1);
34916 }
34917 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
34918 /* ./parser//parser.nit:12758 */
34919 if (UNTAG_Bool(REGB0)) {
34920 } else {
34921 fprintf(stderr, "Assert failed");
34922 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12758);
34923 nit_exit(1);
34924 }
34925 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
34926 /* ./parser//parser.nit:12760 */
34927 if (UNTAG_Bool(REGB0)) {
34928 } else {
34929 fprintf(stderr, "Assert failed");
34930 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12760);
34931 nit_exit(1);
34932 }
34933 fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
34934 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
34935 /* ./parser//parser.nit:12765 */
34936 if (UNTAG_Bool(REGB0)) {
34937 } else {
34938 fprintf(stderr, "Assert failed");
34939 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12765);
34940 nit_exit(1);
34941 }
34942 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
34943 fra.me.REG[0] = fra.me.REG[2];
34944 REGB0 = TAG_Int(12);
34945 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34946 /* ./parser//parser.nit:12776 */
34947 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
34948 stack_frame_head = fra.me.prev;
34949 return;
34950 }
34951 void parser___ReduceAction265___init(val_t p0, int* init_table){
34952 int itpos269 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction265].i;
34953 struct {struct stack_frame_t me;} fra;
34954 val_t tmp;
34955 if (init_table[itpos269]) return;
34956 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34957 fra.me.file = LOCATE_parser;
34958 fra.me.line = 12778;
34959 fra.me.meth = LOCATE_parser___ReduceAction265___init;
34960 fra.me.has_broke = 0;
34961 fra.me.REG_size = 1;
34962 fra.me.REG[0] = NIT_NULL;
34963 fra.me.REG[0] = p0;
34964 /* ./parser//parser.nit:12778 */
34965 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
34966 stack_frame_head = fra.me.prev;
34967 init_table[itpos269] = 1;
34968 return;
34969 }
34970 void parser___ReduceAction266___action(val_t p0, val_t p1){
34971 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
34972 val_t REGB0;
34973 val_t tmp;
34974 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34975 fra.me.file = LOCATE_parser;
34976 fra.me.line = 12782;
34977 fra.me.meth = LOCATE_parser___ReduceAction266___action;
34978 fra.me.has_broke = 0;
34979 fra.me.REG_size = 8;
34980 fra.me.REG[0] = NIT_NULL;
34981 fra.me.REG[1] = NIT_NULL;
34982 fra.me.REG[2] = NIT_NULL;
34983 fra.me.REG[3] = NIT_NULL;
34984 fra.me.REG[4] = NIT_NULL;
34985 fra.me.REG[5] = NIT_NULL;
34986 fra.me.REG[6] = NIT_NULL;
34987 fra.me.REG[7] = NIT_NULL;
34988 fra.me.REG[0] = p0;
34989 fra.me.REG[1] = p1;
34990 fra.me.REG[0] = NIT_NULL;
34991 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34992 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34993 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34994 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34995 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34996 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34997 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34998 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34999 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
35000 /* ./parser//parser.nit:12794 */
35001 if (UNTAG_Bool(REGB0)) {
35002 } else {
35003 fprintf(stderr, "Assert failed");
35004 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12794);
35005 nit_exit(1);
35006 }
35007 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
35008 /* ./parser//parser.nit:12796 */
35009 if (UNTAG_Bool(REGB0)) {
35010 } else {
35011 fprintf(stderr, "Assert failed");
35012 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12796);
35013 nit_exit(1);
35014 }
35015 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
35016 /* ./parser//parser.nit:12798 */
35017 if (UNTAG_Bool(REGB0)) {
35018 } else {
35019 fprintf(stderr, "Assert failed");
35020 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12798);
35021 nit_exit(1);
35022 }
35023 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
35024 /* ./parser//parser.nit:12800 */
35025 if (UNTAG_Bool(REGB0)) {
35026 } else {
35027 fprintf(stderr, "Assert failed");
35028 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12800);
35029 nit_exit(1);
35030 }
35031 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
35032 /* ./parser//parser.nit:12802 */
35033 if (UNTAG_Bool(REGB0)) {
35034 } else {
35035 fprintf(stderr, "Assert failed");
35036 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12802);
35037 nit_exit(1);
35038 }
35039 fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
35040 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
35041 /* ./parser//parser.nit:12807 */
35042 if (UNTAG_Bool(REGB0)) {
35043 } else {
35044 fprintf(stderr, "Assert failed");
35045 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12807);
35046 nit_exit(1);
35047 }
35048 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
35049 fra.me.REG[0] = fra.me.REG[2];
35050 REGB0 = TAG_Int(12);
35051 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35052 /* ./parser//parser.nit:12818 */
35053 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
35054 stack_frame_head = fra.me.prev;
35055 return;
35056 }
35057 void parser___ReduceAction266___init(val_t p0, int* init_table){
35058 int itpos270 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction266].i;
35059 struct {struct stack_frame_t me;} fra;
35060 val_t tmp;
35061 if (init_table[itpos270]) return;
35062 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35063 fra.me.file = LOCATE_parser;
35064 fra.me.line = 12820;
35065 fra.me.meth = LOCATE_parser___ReduceAction266___init;
35066 fra.me.has_broke = 0;
35067 fra.me.REG_size = 1;
35068 fra.me.REG[0] = NIT_NULL;
35069 fra.me.REG[0] = p0;
35070 /* ./parser//parser.nit:12820 */
35071 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
35072 stack_frame_head = fra.me.prev;
35073 init_table[itpos270] = 1;
35074 return;
35075 }
35076 void parser___ReduceAction267___action(val_t p0, val_t p1){
35077 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
35078 val_t REGB0;
35079 val_t tmp;
35080 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35081 fra.me.file = LOCATE_parser;
35082 fra.me.line = 12824;
35083 fra.me.meth = LOCATE_parser___ReduceAction267___action;
35084 fra.me.has_broke = 0;
35085 fra.me.REG_size = 8;
35086 fra.me.REG[0] = NIT_NULL;
35087 fra.me.REG[1] = NIT_NULL;
35088 fra.me.REG[2] = NIT_NULL;
35089 fra.me.REG[3] = NIT_NULL;
35090 fra.me.REG[4] = NIT_NULL;
35091 fra.me.REG[5] = NIT_NULL;
35092 fra.me.REG[6] = NIT_NULL;
35093 fra.me.REG[7] = NIT_NULL;
35094 fra.me.REG[0] = p0;
35095 fra.me.REG[1] = p1;
35096 fra.me.REG[0] = NIT_NULL;
35097 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35098 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35099 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35100 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35101 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35102 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35103 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35104 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35105 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
35106 /* ./parser//parser.nit:12836 */
35107 if (UNTAG_Bool(REGB0)) {
35108 } else {
35109 fprintf(stderr, "Assert failed");
35110 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12836);
35111 nit_exit(1);
35112 }
35113 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
35114 /* ./parser//parser.nit:12838 */
35115 if (UNTAG_Bool(REGB0)) {
35116 } else {
35117 fprintf(stderr, "Assert failed");
35118 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12838);
35119 nit_exit(1);
35120 }
35121 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
35122 /* ./parser//parser.nit:12840 */
35123 if (UNTAG_Bool(REGB0)) {
35124 } else {
35125 fprintf(stderr, "Assert failed");
35126 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12840);
35127 nit_exit(1);
35128 }
35129 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
35130 /* ./parser//parser.nit:12842 */
35131 if (UNTAG_Bool(REGB0)) {
35132 } else {
35133 fprintf(stderr, "Assert failed");
35134 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12842);
35135 nit_exit(1);
35136 }
35137 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
35138 /* ./parser//parser.nit:12844 */
35139 if (UNTAG_Bool(REGB0)) {
35140 } else {
35141 fprintf(stderr, "Assert failed");
35142 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12844);
35143 nit_exit(1);
35144 }
35145 fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
35146 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
35147 /* ./parser//parser.nit:12849 */
35148 if (UNTAG_Bool(REGB0)) {
35149 } else {
35150 fprintf(stderr, "Assert failed");
35151 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12849);
35152 nit_exit(1);
35153 }
35154 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
35155 fra.me.REG[0] = fra.me.REG[2];
35156 REGB0 = TAG_Int(12);
35157 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35158 /* ./parser//parser.nit:12860 */
35159 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
35160 stack_frame_head = fra.me.prev;
35161 return;
35162 }
35163 void parser___ReduceAction267___init(val_t p0, int* init_table){
35164 int itpos271 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction267].i;
35165 struct {struct stack_frame_t me;} fra;
35166 val_t tmp;
35167 if (init_table[itpos271]) return;
35168 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35169 fra.me.file = LOCATE_parser;
35170 fra.me.line = 12862;
35171 fra.me.meth = LOCATE_parser___ReduceAction267___init;
35172 fra.me.has_broke = 0;
35173 fra.me.REG_size = 1;
35174 fra.me.REG[0] = NIT_NULL;
35175 fra.me.REG[0] = p0;
35176 /* ./parser//parser.nit:12862 */
35177 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
35178 stack_frame_head = fra.me.prev;
35179 init_table[itpos271] = 1;
35180 return;
35181 }
35182 void parser___ReduceAction268___action(val_t p0, val_t p1){
35183 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
35184 val_t REGB0;
35185 val_t tmp;
35186 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35187 fra.me.file = LOCATE_parser;
35188 fra.me.line = 12866;
35189 fra.me.meth = LOCATE_parser___ReduceAction268___action;
35190 fra.me.has_broke = 0;
35191 fra.me.REG_size = 8;
35192 fra.me.REG[0] = NIT_NULL;
35193 fra.me.REG[1] = NIT_NULL;
35194 fra.me.REG[2] = NIT_NULL;
35195 fra.me.REG[3] = NIT_NULL;
35196 fra.me.REG[4] = NIT_NULL;
35197 fra.me.REG[5] = NIT_NULL;
35198 fra.me.REG[6] = NIT_NULL;
35199 fra.me.REG[7] = NIT_NULL;
35200 fra.me.REG[0] = p0;
35201 fra.me.REG[1] = p1;
35202 fra.me.REG[0] = NIT_NULL;
35203 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35204 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35205 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35206 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35207 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35208 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35209 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35210 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35211 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
35212 /* ./parser//parser.nit:12878 */
35213 if (UNTAG_Bool(REGB0)) {
35214 } else {
35215 fprintf(stderr, "Assert failed");
35216 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12878);
35217 nit_exit(1);
35218 }
35219 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
35220 /* ./parser//parser.nit:12880 */
35221 if (UNTAG_Bool(REGB0)) {
35222 } else {
35223 fprintf(stderr, "Assert failed");
35224 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12880);
35225 nit_exit(1);
35226 }
35227 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
35228 /* ./parser//parser.nit:12882 */
35229 if (UNTAG_Bool(REGB0)) {
35230 } else {
35231 fprintf(stderr, "Assert failed");
35232 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12882);
35233 nit_exit(1);
35234 }
35235 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
35236 /* ./parser//parser.nit:12884 */
35237 if (UNTAG_Bool(REGB0)) {
35238 } else {
35239 fprintf(stderr, "Assert failed");
35240 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12884);
35241 nit_exit(1);
35242 }
35243 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
35244 /* ./parser//parser.nit:12886 */
35245 if (UNTAG_Bool(REGB0)) {
35246 } else {
35247 fprintf(stderr, "Assert failed");
35248 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12886);
35249 nit_exit(1);
35250 }
35251 fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
35252 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
35253 /* ./parser//parser.nit:12891 */
35254 if (UNTAG_Bool(REGB0)) {
35255 } else {
35256 fprintf(stderr, "Assert failed");
35257 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12891);
35258 nit_exit(1);
35259 }
35260 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
35261 fra.me.REG[0] = fra.me.REG[2];
35262 REGB0 = TAG_Int(12);
35263 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35264 /* ./parser//parser.nit:12902 */
35265 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
35266 stack_frame_head = fra.me.prev;
35267 return;
35268 }
35269 void parser___ReduceAction268___init(val_t p0, int* init_table){
35270 int itpos272 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction268].i;
35271 struct {struct stack_frame_t me;} fra;
35272 val_t tmp;
35273 if (init_table[itpos272]) return;
35274 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35275 fra.me.file = LOCATE_parser;
35276 fra.me.line = 12904;
35277 fra.me.meth = LOCATE_parser___ReduceAction268___init;
35278 fra.me.has_broke = 0;
35279 fra.me.REG_size = 1;
35280 fra.me.REG[0] = NIT_NULL;
35281 fra.me.REG[0] = p0;
35282 /* ./parser//parser.nit:12904 */
35283 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
35284 stack_frame_head = fra.me.prev;
35285 init_table[itpos272] = 1;
35286 return;
35287 }
35288 void parser___ReduceAction269___action(val_t p0, val_t p1){
35289 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
35290 val_t REGB0;
35291 val_t tmp;
35292 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35293 fra.me.file = LOCATE_parser;
35294 fra.me.line = 12908;
35295 fra.me.meth = LOCATE_parser___ReduceAction269___action;
35296 fra.me.has_broke = 0;
35297 fra.me.REG_size = 8;
35298 fra.me.REG[0] = NIT_NULL;
35299 fra.me.REG[1] = NIT_NULL;
35300 fra.me.REG[2] = NIT_NULL;
35301 fra.me.REG[3] = NIT_NULL;
35302 fra.me.REG[4] = NIT_NULL;
35303 fra.me.REG[5] = NIT_NULL;
35304 fra.me.REG[6] = NIT_NULL;
35305 fra.me.REG[7] = NIT_NULL;
35306 fra.me.REG[0] = p0;
35307 fra.me.REG[1] = p1;
35308 fra.me.REG[0] = NIT_NULL;
35309 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35310 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35311 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35312 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35313 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35314 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35315 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35316 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35317 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
35318 /* ./parser//parser.nit:12920 */
35319 if (UNTAG_Bool(REGB0)) {
35320 } else {
35321 fprintf(stderr, "Assert failed");
35322 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12920);
35323 nit_exit(1);
35324 }
35325 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
35326 /* ./parser//parser.nit:12922 */
35327 if (UNTAG_Bool(REGB0)) {
35328 } else {
35329 fprintf(stderr, "Assert failed");
35330 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12922);
35331 nit_exit(1);
35332 }
35333 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
35334 /* ./parser//parser.nit:12924 */
35335 if (UNTAG_Bool(REGB0)) {
35336 } else {
35337 fprintf(stderr, "Assert failed");
35338 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12924);
35339 nit_exit(1);
35340 }
35341 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
35342 /* ./parser//parser.nit:12926 */
35343 if (UNTAG_Bool(REGB0)) {
35344 } else {
35345 fprintf(stderr, "Assert failed");
35346 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12926);
35347 nit_exit(1);
35348 }
35349 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
35350 /* ./parser//parser.nit:12928 */
35351 if (UNTAG_Bool(REGB0)) {
35352 } else {
35353 fprintf(stderr, "Assert failed");
35354 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12928);
35355 nit_exit(1);
35356 }
35357 fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
35358 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
35359 /* ./parser//parser.nit:12933 */
35360 if (UNTAG_Bool(REGB0)) {
35361 } else {
35362 fprintf(stderr, "Assert failed");
35363 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12933);
35364 nit_exit(1);
35365 }
35366 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
35367 fra.me.REG[0] = fra.me.REG[2];
35368 REGB0 = TAG_Int(12);
35369 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35370 /* ./parser//parser.nit:12944 */
35371 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
35372 stack_frame_head = fra.me.prev;
35373 return;
35374 }
35375 void parser___ReduceAction269___init(val_t p0, int* init_table){
35376 int itpos273 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction269].i;
35377 struct {struct stack_frame_t me;} fra;
35378 val_t tmp;
35379 if (init_table[itpos273]) return;
35380 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35381 fra.me.file = LOCATE_parser;
35382 fra.me.line = 12946;
35383 fra.me.meth = LOCATE_parser___ReduceAction269___init;
35384 fra.me.has_broke = 0;
35385 fra.me.REG_size = 1;
35386 fra.me.REG[0] = NIT_NULL;
35387 fra.me.REG[0] = p0;
35388 /* ./parser//parser.nit:12946 */
35389 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
35390 stack_frame_head = fra.me.prev;
35391 init_table[itpos273] = 1;
35392 return;
35393 }
35394 void parser___ReduceAction270___action(val_t p0, val_t p1){
35395 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
35396 val_t REGB0;
35397 val_t tmp;
35398 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35399 fra.me.file = LOCATE_parser;
35400 fra.me.line = 12950;
35401 fra.me.meth = LOCATE_parser___ReduceAction270___action;
35402 fra.me.has_broke = 0;
35403 fra.me.REG_size = 8;
35404 fra.me.REG[0] = NIT_NULL;
35405 fra.me.REG[1] = NIT_NULL;
35406 fra.me.REG[2] = NIT_NULL;
35407 fra.me.REG[3] = NIT_NULL;
35408 fra.me.REG[4] = NIT_NULL;
35409 fra.me.REG[5] = NIT_NULL;
35410 fra.me.REG[6] = NIT_NULL;
35411 fra.me.REG[7] = NIT_NULL;
35412 fra.me.REG[0] = p0;
35413 fra.me.REG[1] = p1;
35414 fra.me.REG[0] = NIT_NULL;
35415 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35416 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35417 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35418 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35419 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35420 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35421 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35422 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35423 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
35424 /* ./parser//parser.nit:12962 */
35425 if (UNTAG_Bool(REGB0)) {
35426 } else {
35427 fprintf(stderr, "Assert failed");
35428 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12962);
35429 nit_exit(1);
35430 }
35431 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
35432 /* ./parser//parser.nit:12964 */
35433 if (UNTAG_Bool(REGB0)) {
35434 } else {
35435 fprintf(stderr, "Assert failed");
35436 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12964);
35437 nit_exit(1);
35438 }
35439 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
35440 /* ./parser//parser.nit:12966 */
35441 if (UNTAG_Bool(REGB0)) {
35442 } else {
35443 fprintf(stderr, "Assert failed");
35444 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12966);
35445 nit_exit(1);
35446 }
35447 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
35448 /* ./parser//parser.nit:12968 */
35449 if (UNTAG_Bool(REGB0)) {
35450 } else {
35451 fprintf(stderr, "Assert failed");
35452 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12968);
35453 nit_exit(1);
35454 }
35455 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
35456 /* ./parser//parser.nit:12970 */
35457 if (UNTAG_Bool(REGB0)) {
35458 } else {
35459 fprintf(stderr, "Assert failed");
35460 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12970);
35461 nit_exit(1);
35462 }
35463 fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
35464 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
35465 /* ./parser//parser.nit:12975 */
35466 if (UNTAG_Bool(REGB0)) {
35467 } else {
35468 fprintf(stderr, "Assert failed");
35469 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12975);
35470 nit_exit(1);
35471 }
35472 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
35473 fra.me.REG[0] = fra.me.REG[2];
35474 REGB0 = TAG_Int(12);
35475 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35476 /* ./parser//parser.nit:12986 */
35477 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
35478 stack_frame_head = fra.me.prev;
35479 return;
35480 }
35481 void parser___ReduceAction270___init(val_t p0, int* init_table){
35482 int itpos274 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction270].i;
35483 struct {struct stack_frame_t me;} fra;
35484 val_t tmp;
35485 if (init_table[itpos274]) return;
35486 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35487 fra.me.file = LOCATE_parser;
35488 fra.me.line = 12988;
35489 fra.me.meth = LOCATE_parser___ReduceAction270___init;
35490 fra.me.has_broke = 0;
35491 fra.me.REG_size = 1;
35492 fra.me.REG[0] = NIT_NULL;
35493 fra.me.REG[0] = p0;
35494 /* ./parser//parser.nit:12988 */
35495 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
35496 stack_frame_head = fra.me.prev;
35497 init_table[itpos274] = 1;
35498 return;
35499 }
35500 void parser___ReduceAction271___action(val_t p0, val_t p1){
35501 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
35502 val_t REGB0;
35503 val_t tmp;
35504 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35505 fra.me.file = LOCATE_parser;
35506 fra.me.line = 12992;
35507 fra.me.meth = LOCATE_parser___ReduceAction271___action;
35508 fra.me.has_broke = 0;
35509 fra.me.REG_size = 8;
35510 fra.me.REG[0] = NIT_NULL;
35511 fra.me.REG[1] = NIT_NULL;
35512 fra.me.REG[2] = NIT_NULL;
35513 fra.me.REG[3] = NIT_NULL;
35514 fra.me.REG[4] = NIT_NULL;
35515 fra.me.REG[5] = NIT_NULL;
35516 fra.me.REG[6] = NIT_NULL;
35517 fra.me.REG[7] = NIT_NULL;
35518 fra.me.REG[0] = p0;
35519 fra.me.REG[1] = p1;
35520 fra.me.REG[0] = NIT_NULL;
35521 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35522 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35523 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35524 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35525 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35526 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35527 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35528 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35529 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
35530 /* ./parser//parser.nit:13004 */
35531 if (UNTAG_Bool(REGB0)) {
35532 } else {
35533 fprintf(stderr, "Assert failed");
35534 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13004);
35535 nit_exit(1);
35536 }
35537 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
35538 /* ./parser//parser.nit:13006 */
35539 if (UNTAG_Bool(REGB0)) {
35540 } else {
35541 fprintf(stderr, "Assert failed");
35542 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13006);
35543 nit_exit(1);
35544 }
35545 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
35546 /* ./parser//parser.nit:13008 */
35547 if (UNTAG_Bool(REGB0)) {
35548 } else {
35549 fprintf(stderr, "Assert failed");
35550 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13008);
35551 nit_exit(1);
35552 }
35553 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
35554 /* ./parser//parser.nit:13010 */
35555 if (UNTAG_Bool(REGB0)) {
35556 } else {
35557 fprintf(stderr, "Assert failed");
35558 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13010);
35559 nit_exit(1);
35560 }
35561 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
35562 /* ./parser//parser.nit:13012 */
35563 if (UNTAG_Bool(REGB0)) {
35564 } else {
35565 fprintf(stderr, "Assert failed");
35566 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13012);
35567 nit_exit(1);
35568 }
35569 fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
35570 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
35571 /* ./parser//parser.nit:13017 */
35572 if (UNTAG_Bool(REGB0)) {
35573 } else {
35574 fprintf(stderr, "Assert failed");
35575 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13017);
35576 nit_exit(1);
35577 }
35578 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
35579 fra.me.REG[0] = fra.me.REG[2];
35580 REGB0 = TAG_Int(12);
35581 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35582 /* ./parser//parser.nit:13028 */
35583 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
35584 stack_frame_head = fra.me.prev;
35585 return;
35586 }
35587 void parser___ReduceAction271___init(val_t p0, int* init_table){
35588 int itpos275 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction271].i;
35589 struct {struct stack_frame_t me;} fra;
35590 val_t tmp;
35591 if (init_table[itpos275]) return;
35592 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35593 fra.me.file = LOCATE_parser;
35594 fra.me.line = 13030;
35595 fra.me.meth = LOCATE_parser___ReduceAction271___init;
35596 fra.me.has_broke = 0;
35597 fra.me.REG_size = 1;
35598 fra.me.REG[0] = NIT_NULL;
35599 fra.me.REG[0] = p0;
35600 /* ./parser//parser.nit:13030 */
35601 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
35602 stack_frame_head = fra.me.prev;
35603 init_table[itpos275] = 1;
35604 return;
35605 }
35606 void parser___ReduceAction272___action(val_t p0, val_t p1){
35607 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
35608 val_t REGB0;
35609 val_t tmp;
35610 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35611 fra.me.file = LOCATE_parser;
35612 fra.me.line = 13034;
35613 fra.me.meth = LOCATE_parser___ReduceAction272___action;
35614 fra.me.has_broke = 0;
35615 fra.me.REG_size = 8;
35616 fra.me.REG[0] = NIT_NULL;
35617 fra.me.REG[1] = NIT_NULL;
35618 fra.me.REG[2] = NIT_NULL;
35619 fra.me.REG[3] = NIT_NULL;
35620 fra.me.REG[4] = NIT_NULL;
35621 fra.me.REG[5] = NIT_NULL;
35622 fra.me.REG[6] = NIT_NULL;
35623 fra.me.REG[7] = NIT_NULL;
35624 fra.me.REG[0] = p0;
35625 fra.me.REG[1] = p1;
35626 fra.me.REG[0] = NIT_NULL;
35627 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35628 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35629 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35630 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35631 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35632 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35633 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35634 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35635 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
35636 /* ./parser//parser.nit:13046 */
35637 if (UNTAG_Bool(REGB0)) {
35638 } else {
35639 fprintf(stderr, "Assert failed");
35640 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13046);
35641 nit_exit(1);
35642 }
35643 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
35644 /* ./parser//parser.nit:13048 */
35645 if (UNTAG_Bool(REGB0)) {
35646 } else {
35647 fprintf(stderr, "Assert failed");
35648 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13048);
35649 nit_exit(1);
35650 }
35651 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
35652 /* ./parser//parser.nit:13050 */
35653 if (UNTAG_Bool(REGB0)) {
35654 } else {
35655 fprintf(stderr, "Assert failed");
35656 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13050);
35657 nit_exit(1);
35658 }
35659 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
35660 /* ./parser//parser.nit:13052 */
35661 if (UNTAG_Bool(REGB0)) {
35662 } else {
35663 fprintf(stderr, "Assert failed");
35664 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13052);
35665 nit_exit(1);
35666 }
35667 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
35668 /* ./parser//parser.nit:13054 */
35669 if (UNTAG_Bool(REGB0)) {
35670 } else {
35671 fprintf(stderr, "Assert failed");
35672 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13054);
35673 nit_exit(1);
35674 }
35675 fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
35676 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
35677 /* ./parser//parser.nit:13059 */
35678 if (UNTAG_Bool(REGB0)) {
35679 } else {
35680 fprintf(stderr, "Assert failed");
35681 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13059);
35682 nit_exit(1);
35683 }
35684 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
35685 fra.me.REG[0] = fra.me.REG[2];
35686 REGB0 = TAG_Int(12);
35687 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35688 /* ./parser//parser.nit:13070 */
35689 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
35690 stack_frame_head = fra.me.prev;
35691 return;
35692 }
35693 void parser___ReduceAction272___init(val_t p0, int* init_table){
35694 int itpos276 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction272].i;
35695 struct {struct stack_frame_t me;} fra;
35696 val_t tmp;
35697 if (init_table[itpos276]) return;
35698 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35699 fra.me.file = LOCATE_parser;
35700 fra.me.line = 13072;
35701 fra.me.meth = LOCATE_parser___ReduceAction272___init;
35702 fra.me.has_broke = 0;
35703 fra.me.REG_size = 1;
35704 fra.me.REG[0] = NIT_NULL;
35705 fra.me.REG[0] = p0;
35706 /* ./parser//parser.nit:13072 */
35707 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
35708 stack_frame_head = fra.me.prev;
35709 init_table[itpos276] = 1;
35710 return;
35711 }
35712 void parser___ReduceAction273___action(val_t p0, val_t p1){
35713 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
35714 val_t REGB0;
35715 val_t tmp;
35716 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35717 fra.me.file = LOCATE_parser;
35718 fra.me.line = 13076;
35719 fra.me.meth = LOCATE_parser___ReduceAction273___action;
35720 fra.me.has_broke = 0;
35721 fra.me.REG_size = 8;
35722 fra.me.REG[0] = NIT_NULL;
35723 fra.me.REG[1] = NIT_NULL;
35724 fra.me.REG[2] = NIT_NULL;
35725 fra.me.REG[3] = NIT_NULL;
35726 fra.me.REG[4] = NIT_NULL;
35727 fra.me.REG[5] = NIT_NULL;
35728 fra.me.REG[6] = NIT_NULL;
35729 fra.me.REG[7] = NIT_NULL;
35730 fra.me.REG[0] = p0;
35731 fra.me.REG[1] = p1;
35732 fra.me.REG[0] = NIT_NULL;
35733 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35734 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35735 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35736 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35737 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35738 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35739 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35740 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35741 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
35742 /* ./parser//parser.nit:13088 */
35743 if (UNTAG_Bool(REGB0)) {
35744 } else {
35745 fprintf(stderr, "Assert failed");
35746 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13088);
35747 nit_exit(1);
35748 }
35749 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
35750 /* ./parser//parser.nit:13090 */
35751 if (UNTAG_Bool(REGB0)) {
35752 } else {
35753 fprintf(stderr, "Assert failed");
35754 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13090);
35755 nit_exit(1);
35756 }
35757 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
35758 /* ./parser//parser.nit:13092 */
35759 if (UNTAG_Bool(REGB0)) {
35760 } else {
35761 fprintf(stderr, "Assert failed");
35762 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13092);
35763 nit_exit(1);
35764 }
35765 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
35766 /* ./parser//parser.nit:13094 */
35767 if (UNTAG_Bool(REGB0)) {
35768 } else {
35769 fprintf(stderr, "Assert failed");
35770 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13094);
35771 nit_exit(1);
35772 }
35773 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
35774 /* ./parser//parser.nit:13096 */
35775 if (UNTAG_Bool(REGB0)) {
35776 } else {
35777 fprintf(stderr, "Assert failed");
35778 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13096);
35779 nit_exit(1);
35780 }
35781 fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
35782 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
35783 /* ./parser//parser.nit:13101 */
35784 if (UNTAG_Bool(REGB0)) {
35785 } else {
35786 fprintf(stderr, "Assert failed");
35787 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13101);
35788 nit_exit(1);
35789 }
35790 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
35791 fra.me.REG[0] = fra.me.REG[2];
35792 REGB0 = TAG_Int(12);
35793 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35794 /* ./parser//parser.nit:13112 */
35795 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
35796 stack_frame_head = fra.me.prev;
35797 return;
35798 }
35799 void parser___ReduceAction273___init(val_t p0, int* init_table){
35800 int itpos277 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction273].i;
35801 struct {struct stack_frame_t me;} fra;
35802 val_t tmp;
35803 if (init_table[itpos277]) return;
35804 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35805 fra.me.file = LOCATE_parser;
35806 fra.me.line = 13114;
35807 fra.me.meth = LOCATE_parser___ReduceAction273___init;
35808 fra.me.has_broke = 0;
35809 fra.me.REG_size = 1;
35810 fra.me.REG[0] = NIT_NULL;
35811 fra.me.REG[0] = p0;
35812 /* ./parser//parser.nit:13114 */
35813 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
35814 stack_frame_head = fra.me.prev;
35815 init_table[itpos277] = 1;
35816 return;
35817 }
35818 void parser___ReduceAction274___action(val_t p0, val_t p1){
35819 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
35820 val_t REGB0;
35821 val_t tmp;
35822 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35823 fra.me.file = LOCATE_parser;
35824 fra.me.line = 13118;
35825 fra.me.meth = LOCATE_parser___ReduceAction274___action;
35826 fra.me.has_broke = 0;
35827 fra.me.REG_size = 9;
35828 fra.me.REG[0] = NIT_NULL;
35829 fra.me.REG[1] = NIT_NULL;
35830 fra.me.REG[2] = NIT_NULL;
35831 fra.me.REG[3] = NIT_NULL;
35832 fra.me.REG[4] = NIT_NULL;
35833 fra.me.REG[5] = NIT_NULL;
35834 fra.me.REG[6] = NIT_NULL;
35835 fra.me.REG[7] = NIT_NULL;
35836 fra.me.REG[8] = NIT_NULL;
35837 fra.me.REG[0] = p0;
35838 fra.me.REG[1] = p1;
35839 fra.me.REG[0] = NIT_NULL;
35840 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35841 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35842 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35843 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35844 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35845 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35846 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35847 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35848 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35849 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
35850 /* ./parser//parser.nit:13131 */
35851 if (UNTAG_Bool(REGB0)) {
35852 } else {
35853 fprintf(stderr, "Assert failed");
35854 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13131);
35855 nit_exit(1);
35856 }
35857 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
35858 /* ./parser//parser.nit:13133 */
35859 if (UNTAG_Bool(REGB0)) {
35860 } else {
35861 fprintf(stderr, "Assert failed");
35862 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13133);
35863 nit_exit(1);
35864 }
35865 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
35866 /* ./parser//parser.nit:13135 */
35867 if (UNTAG_Bool(REGB0)) {
35868 } else {
35869 fprintf(stderr, "Assert failed");
35870 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13135);
35871 nit_exit(1);
35872 }
35873 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
35874 /* ./parser//parser.nit:13137 */
35875 if (UNTAG_Bool(REGB0)) {
35876 } else {
35877 fprintf(stderr, "Assert failed");
35878 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13137);
35879 nit_exit(1);
35880 }
35881 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
35882 /* ./parser//parser.nit:13139 */
35883 if (UNTAG_Bool(REGB0)) {
35884 } else {
35885 fprintf(stderr, "Assert failed");
35886 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13139);
35887 nit_exit(1);
35888 }
35889 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
35890 /* ./parser//parser.nit:13141 */
35891 if (UNTAG_Bool(REGB0)) {
35892 } else {
35893 fprintf(stderr, "Assert failed");
35894 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13141);
35895 nit_exit(1);
35896 }
35897 fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
35898 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
35899 /* ./parser//parser.nit:13147 */
35900 if (UNTAG_Bool(REGB0)) {
35901 } else {
35902 fprintf(stderr, "Assert failed");
35903 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13147);
35904 nit_exit(1);
35905 }
35906 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
35907 fra.me.REG[0] = fra.me.REG[2];
35908 REGB0 = TAG_Int(12);
35909 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35910 /* ./parser//parser.nit:13158 */
35911 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
35912 stack_frame_head = fra.me.prev;
35913 return;
35914 }
35915 void parser___ReduceAction274___init(val_t p0, int* init_table){
35916 int itpos278 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction274].i;
35917 struct {struct stack_frame_t me;} fra;
35918 val_t tmp;
35919 if (init_table[itpos278]) return;
35920 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35921 fra.me.file = LOCATE_parser;
35922 fra.me.line = 13160;
35923 fra.me.meth = LOCATE_parser___ReduceAction274___init;
35924 fra.me.has_broke = 0;
35925 fra.me.REG_size = 1;
35926 fra.me.REG[0] = NIT_NULL;
35927 fra.me.REG[0] = p0;
35928 /* ./parser//parser.nit:13160 */
35929 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
35930 stack_frame_head = fra.me.prev;
35931 init_table[itpos278] = 1;
35932 return;
35933 }
35934 void parser___ReduceAction275___action(val_t p0, val_t p1){
35935 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
35936 val_t REGB0;
35937 val_t tmp;
35938 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35939 fra.me.file = LOCATE_parser;
35940 fra.me.line = 13164;
35941 fra.me.meth = LOCATE_parser___ReduceAction275___action;
35942 fra.me.has_broke = 0;
35943 fra.me.REG_size = 8;
35944 fra.me.REG[0] = NIT_NULL;
35945 fra.me.REG[1] = NIT_NULL;
35946 fra.me.REG[2] = NIT_NULL;
35947 fra.me.REG[3] = NIT_NULL;
35948 fra.me.REG[4] = NIT_NULL;
35949 fra.me.REG[5] = NIT_NULL;
35950 fra.me.REG[6] = NIT_NULL;
35951 fra.me.REG[7] = NIT_NULL;
35952 fra.me.REG[0] = p0;
35953 fra.me.REG[1] = p1;
35954 fra.me.REG[0] = NIT_NULL;
35955 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35956 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35957 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35958 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35959 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35960 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35961 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35962 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35963 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
35964 /* ./parser//parser.nit:13176 */
35965 if (UNTAG_Bool(REGB0)) {
35966 } else {
35967 fprintf(stderr, "Assert failed");
35968 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13176);
35969 nit_exit(1);
35970 }
35971 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
35972 /* ./parser//parser.nit:13178 */
35973 if (UNTAG_Bool(REGB0)) {
35974 } else {
35975 fprintf(stderr, "Assert failed");
35976 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13178);
35977 nit_exit(1);
35978 }
35979 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
35980 /* ./parser//parser.nit:13180 */
35981 if (UNTAG_Bool(REGB0)) {
35982 } else {
35983 fprintf(stderr, "Assert failed");
35984 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13180);
35985 nit_exit(1);
35986 }
35987 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
35988 /* ./parser//parser.nit:13182 */
35989 if (UNTAG_Bool(REGB0)) {
35990 } else {
35991 fprintf(stderr, "Assert failed");
35992 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13182);
35993 nit_exit(1);
35994 }
35995 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
35996 /* ./parser//parser.nit:13184 */
35997 if (UNTAG_Bool(REGB0)) {
35998 } else {
35999 fprintf(stderr, "Assert failed");
36000 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13184);
36001 nit_exit(1);
36002 }
36003 fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
36004 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
36005 /* ./parser//parser.nit:13189 */
36006 if (UNTAG_Bool(REGB0)) {
36007 } else {
36008 fprintf(stderr, "Assert failed");
36009 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13189);
36010 nit_exit(1);
36011 }
36012 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
36013 fra.me.REG[0] = fra.me.REG[2];
36014 REGB0 = TAG_Int(12);
36015 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36016 /* ./parser//parser.nit:13200 */
36017 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
36018 stack_frame_head = fra.me.prev;
36019 return;
36020 }
36021 void parser___ReduceAction275___init(val_t p0, int* init_table){
36022 int itpos279 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction275].i;
36023 struct {struct stack_frame_t me;} fra;
36024 val_t tmp;
36025 if (init_table[itpos279]) return;
36026 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36027 fra.me.file = LOCATE_parser;
36028 fra.me.line = 13202;
36029 fra.me.meth = LOCATE_parser___ReduceAction275___init;
36030 fra.me.has_broke = 0;
36031 fra.me.REG_size = 1;
36032 fra.me.REG[0] = NIT_NULL;
36033 fra.me.REG[0] = p0;
36034 /* ./parser//parser.nit:13202 */
36035 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
36036 stack_frame_head = fra.me.prev;
36037 init_table[itpos279] = 1;
36038 return;
36039 }
36040 void parser___ReduceAction276___action(val_t p0, val_t p1){
36041 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
36042 val_t REGB0;
36043 val_t tmp;
36044 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36045 fra.me.file = LOCATE_parser;
36046 fra.me.line = 13206;
36047 fra.me.meth = LOCATE_parser___ReduceAction276___action;
36048 fra.me.has_broke = 0;
36049 fra.me.REG_size = 9;
36050 fra.me.REG[0] = NIT_NULL;
36051 fra.me.REG[1] = NIT_NULL;
36052 fra.me.REG[2] = NIT_NULL;
36053 fra.me.REG[3] = NIT_NULL;
36054 fra.me.REG[4] = NIT_NULL;
36055 fra.me.REG[5] = NIT_NULL;
36056 fra.me.REG[6] = NIT_NULL;
36057 fra.me.REG[7] = NIT_NULL;
36058 fra.me.REG[8] = NIT_NULL;
36059 fra.me.REG[0] = p0;
36060 fra.me.REG[1] = p1;
36061 fra.me.REG[0] = NIT_NULL;
36062 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36063 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36064 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36065 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36066 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36067 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36068 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36069 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36070 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36071 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
36072 /* ./parser//parser.nit:13219 */
36073 if (UNTAG_Bool(REGB0)) {
36074 } else {
36075 fprintf(stderr, "Assert failed");
36076 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13219);
36077 nit_exit(1);
36078 }
36079 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
36080 /* ./parser//parser.nit:13221 */
36081 if (UNTAG_Bool(REGB0)) {
36082 } else {
36083 fprintf(stderr, "Assert failed");
36084 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13221);
36085 nit_exit(1);
36086 }
36087 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
36088 /* ./parser//parser.nit:13223 */
36089 if (UNTAG_Bool(REGB0)) {
36090 } else {
36091 fprintf(stderr, "Assert failed");
36092 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13223);
36093 nit_exit(1);
36094 }
36095 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
36096 /* ./parser//parser.nit:13225 */
36097 if (UNTAG_Bool(REGB0)) {
36098 } else {
36099 fprintf(stderr, "Assert failed");
36100 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13225);
36101 nit_exit(1);
36102 }
36103 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
36104 /* ./parser//parser.nit:13227 */
36105 if (UNTAG_Bool(REGB0)) {
36106 } else {
36107 fprintf(stderr, "Assert failed");
36108 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13227);
36109 nit_exit(1);
36110 }
36111 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
36112 /* ./parser//parser.nit:13229 */
36113 if (UNTAG_Bool(REGB0)) {
36114 } else {
36115 fprintf(stderr, "Assert failed");
36116 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13229);
36117 nit_exit(1);
36118 }
36119 fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
36120 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
36121 /* ./parser//parser.nit:13235 */
36122 if (UNTAG_Bool(REGB0)) {
36123 } else {
36124 fprintf(stderr, "Assert failed");
36125 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13235);
36126 nit_exit(1);
36127 }
36128 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
36129 fra.me.REG[0] = fra.me.REG[2];
36130 REGB0 = TAG_Int(12);
36131 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36132 /* ./parser//parser.nit:13246 */
36133 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
36134 stack_frame_head = fra.me.prev;
36135 return;
36136 }
36137 void parser___ReduceAction276___init(val_t p0, int* init_table){
36138 int itpos280 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction276].i;
36139 struct {struct stack_frame_t me;} fra;
36140 val_t tmp;
36141 if (init_table[itpos280]) return;
36142 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36143 fra.me.file = LOCATE_parser;
36144 fra.me.line = 13248;
36145 fra.me.meth = LOCATE_parser___ReduceAction276___init;
36146 fra.me.has_broke = 0;
36147 fra.me.REG_size = 1;
36148 fra.me.REG[0] = NIT_NULL;
36149 fra.me.REG[0] = p0;
36150 /* ./parser//parser.nit:13248 */
36151 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
36152 stack_frame_head = fra.me.prev;
36153 init_table[itpos280] = 1;
36154 return;
36155 }
36156 void parser___ReduceAction277___action(val_t p0, val_t p1){
36157 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
36158 val_t REGB0;
36159 val_t tmp;
36160 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36161 fra.me.file = LOCATE_parser;
36162 fra.me.line = 13252;
36163 fra.me.meth = LOCATE_parser___ReduceAction277___action;
36164 fra.me.has_broke = 0;
36165 fra.me.REG_size = 10;
36166 fra.me.REG[0] = NIT_NULL;
36167 fra.me.REG[1] = NIT_NULL;
36168 fra.me.REG[2] = NIT_NULL;
36169 fra.me.REG[3] = NIT_NULL;
36170 fra.me.REG[4] = NIT_NULL;
36171 fra.me.REG[5] = NIT_NULL;
36172 fra.me.REG[6] = NIT_NULL;
36173 fra.me.REG[7] = NIT_NULL;
36174 fra.me.REG[8] = NIT_NULL;
36175 fra.me.REG[9] = NIT_NULL;
36176 fra.me.REG[0] = p0;
36177 fra.me.REG[1] = p1;
36178 fra.me.REG[0] = NIT_NULL;
36179 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36180 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36181 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36182 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36183 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36184 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36185 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36186 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36187 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36188 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36189 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
36190 /* ./parser//parser.nit:13266 */
36191 if (UNTAG_Bool(REGB0)) {
36192 } else {
36193 fprintf(stderr, "Assert failed");
36194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13266);
36195 nit_exit(1);
36196 }
36197 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
36198 /* ./parser//parser.nit:13268 */
36199 if (UNTAG_Bool(REGB0)) {
36200 } else {
36201 fprintf(stderr, "Assert failed");
36202 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13268);
36203 nit_exit(1);
36204 }
36205 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
36206 /* ./parser//parser.nit:13270 */
36207 if (UNTAG_Bool(REGB0)) {
36208 } else {
36209 fprintf(stderr, "Assert failed");
36210 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13270);
36211 nit_exit(1);
36212 }
36213 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
36214 /* ./parser//parser.nit:13272 */
36215 if (UNTAG_Bool(REGB0)) {
36216 } else {
36217 fprintf(stderr, "Assert failed");
36218 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13272);
36219 nit_exit(1);
36220 }
36221 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
36222 /* ./parser//parser.nit:13274 */
36223 if (UNTAG_Bool(REGB0)) {
36224 } else {
36225 fprintf(stderr, "Assert failed");
36226 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13274);
36227 nit_exit(1);
36228 }
36229 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
36230 /* ./parser//parser.nit:13276 */
36231 if (UNTAG_Bool(REGB0)) {
36232 } else {
36233 fprintf(stderr, "Assert failed");
36234 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13276);
36235 nit_exit(1);
36236 }
36237 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
36238 /* ./parser//parser.nit:13278 */
36239 if (UNTAG_Bool(REGB0)) {
36240 } else {
36241 fprintf(stderr, "Assert failed");
36242 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13278);
36243 nit_exit(1);
36244 }
36245 fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
36246 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
36247 /* ./parser//parser.nit:13285 */
36248 if (UNTAG_Bool(REGB0)) {
36249 } else {
36250 fprintf(stderr, "Assert failed");
36251 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13285);
36252 nit_exit(1);
36253 }
36254 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
36255 fra.me.REG[0] = fra.me.REG[2];
36256 REGB0 = TAG_Int(12);
36257 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36258 /* ./parser//parser.nit:13296 */
36259 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
36260 stack_frame_head = fra.me.prev;
36261 return;
36262 }
36263 void parser___ReduceAction277___init(val_t p0, int* init_table){
36264 int itpos281 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction277].i;
36265 struct {struct stack_frame_t me;} fra;
36266 val_t tmp;
36267 if (init_table[itpos281]) return;
36268 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36269 fra.me.file = LOCATE_parser;
36270 fra.me.line = 13298;
36271 fra.me.meth = LOCATE_parser___ReduceAction277___init;
36272 fra.me.has_broke = 0;
36273 fra.me.REG_size = 1;
36274 fra.me.REG[0] = NIT_NULL;
36275 fra.me.REG[0] = p0;
36276 /* ./parser//parser.nit:13298 */
36277 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
36278 stack_frame_head = fra.me.prev;
36279 init_table[itpos281] = 1;
36280 return;
36281 }
36282 void parser___ReduceAction278___action(val_t p0, val_t p1){
36283 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
36284 val_t REGB0;
36285 val_t tmp;
36286 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36287 fra.me.file = LOCATE_parser;
36288 fra.me.line = 13302;
36289 fra.me.meth = LOCATE_parser___ReduceAction278___action;
36290 fra.me.has_broke = 0;
36291 fra.me.REG_size = 8;
36292 fra.me.REG[0] = NIT_NULL;
36293 fra.me.REG[1] = NIT_NULL;
36294 fra.me.REG[2] = NIT_NULL;
36295 fra.me.REG[3] = NIT_NULL;
36296 fra.me.REG[4] = NIT_NULL;
36297 fra.me.REG[5] = NIT_NULL;
36298 fra.me.REG[6] = NIT_NULL;
36299 fra.me.REG[7] = NIT_NULL;
36300 fra.me.REG[0] = p0;
36301 fra.me.REG[1] = p1;
36302 fra.me.REG[0] = NIT_NULL;
36303 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36304 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36305 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36306 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36307 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36308 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36309 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36310 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36311 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
36312 /* ./parser//parser.nit:13314 */
36313 if (UNTAG_Bool(REGB0)) {
36314 } else {
36315 fprintf(stderr, "Assert failed");
36316 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13314);
36317 nit_exit(1);
36318 }
36319 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
36320 /* ./parser//parser.nit:13316 */
36321 if (UNTAG_Bool(REGB0)) {
36322 } else {
36323 fprintf(stderr, "Assert failed");
36324 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13316);
36325 nit_exit(1);
36326 }
36327 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
36328 /* ./parser//parser.nit:13318 */
36329 if (UNTAG_Bool(REGB0)) {
36330 } else {
36331 fprintf(stderr, "Assert failed");
36332 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13318);
36333 nit_exit(1);
36334 }
36335 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
36336 /* ./parser//parser.nit:13320 */
36337 if (UNTAG_Bool(REGB0)) {
36338 } else {
36339 fprintf(stderr, "Assert failed");
36340 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13320);
36341 nit_exit(1);
36342 }
36343 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
36344 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
36345 /* ./parser//parser.nit:13325 */
36346 if (UNTAG_Bool(REGB0)) {
36347 } else {
36348 fprintf(stderr, "Assert failed");
36349 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13325);
36350 nit_exit(1);
36351 }
36352 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
36353 /* ./parser//parser.nit:13327 */
36354 if (UNTAG_Bool(REGB0)) {
36355 } else {
36356 fprintf(stderr, "Assert failed");
36357 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13327);
36358 nit_exit(1);
36359 }
36360 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
36361 fra.me.REG[0] = fra.me.REG[2];
36362 REGB0 = TAG_Int(12);
36363 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36364 /* ./parser//parser.nit:13338 */
36365 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
36366 stack_frame_head = fra.me.prev;
36367 return;
36368 }
36369 void parser___ReduceAction278___init(val_t p0, int* init_table){
36370 int itpos282 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction278].i;
36371 struct {struct stack_frame_t me;} fra;
36372 val_t tmp;
36373 if (init_table[itpos282]) return;
36374 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36375 fra.me.file = LOCATE_parser;
36376 fra.me.line = 13340;
36377 fra.me.meth = LOCATE_parser___ReduceAction278___init;
36378 fra.me.has_broke = 0;
36379 fra.me.REG_size = 1;
36380 fra.me.REG[0] = NIT_NULL;
36381 fra.me.REG[0] = p0;
36382 /* ./parser//parser.nit:13340 */
36383 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
36384 stack_frame_head = fra.me.prev;
36385 init_table[itpos282] = 1;
36386 return;
36387 }
36388 void parser___ReduceAction279___action(val_t p0, val_t p1){
36389 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
36390 val_t REGB0;
36391 val_t tmp;
36392 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36393 fra.me.file = LOCATE_parser;
36394 fra.me.line = 13344;
36395 fra.me.meth = LOCATE_parser___ReduceAction279___action;
36396 fra.me.has_broke = 0;
36397 fra.me.REG_size = 8;
36398 fra.me.REG[0] = NIT_NULL;
36399 fra.me.REG[1] = NIT_NULL;
36400 fra.me.REG[2] = NIT_NULL;
36401 fra.me.REG[3] = NIT_NULL;
36402 fra.me.REG[4] = NIT_NULL;
36403 fra.me.REG[5] = NIT_NULL;
36404 fra.me.REG[6] = NIT_NULL;
36405 fra.me.REG[7] = NIT_NULL;
36406 fra.me.REG[0] = p0;
36407 fra.me.REG[1] = p1;
36408 fra.me.REG[0] = NIT_NULL;
36409 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36410 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36411 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36412 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36413 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36414 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36415 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36416 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36417 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
36418 /* ./parser//parser.nit:13356 */
36419 if (UNTAG_Bool(REGB0)) {
36420 } else {
36421 fprintf(stderr, "Assert failed");
36422 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13356);
36423 nit_exit(1);
36424 }
36425 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
36426 /* ./parser//parser.nit:13358 */
36427 if (UNTAG_Bool(REGB0)) {
36428 } else {
36429 fprintf(stderr, "Assert failed");
36430 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13358);
36431 nit_exit(1);
36432 }
36433 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
36434 /* ./parser//parser.nit:13360 */
36435 if (UNTAG_Bool(REGB0)) {
36436 } else {
36437 fprintf(stderr, "Assert failed");
36438 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13360);
36439 nit_exit(1);
36440 }
36441 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
36442 /* ./parser//parser.nit:13362 */
36443 if (UNTAG_Bool(REGB0)) {
36444 } else {
36445 fprintf(stderr, "Assert failed");
36446 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13362);
36447 nit_exit(1);
36448 }
36449 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
36450 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
36451 /* ./parser//parser.nit:13367 */
36452 if (UNTAG_Bool(REGB0)) {
36453 } else {
36454 fprintf(stderr, "Assert failed");
36455 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13367);
36456 nit_exit(1);
36457 }
36458 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
36459 /* ./parser//parser.nit:13369 */
36460 if (UNTAG_Bool(REGB0)) {
36461 } else {
36462 fprintf(stderr, "Assert failed");
36463 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13369);
36464 nit_exit(1);
36465 }
36466 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
36467 fra.me.REG[0] = fra.me.REG[2];
36468 REGB0 = TAG_Int(12);
36469 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36470 /* ./parser//parser.nit:13380 */
36471 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
36472 stack_frame_head = fra.me.prev;
36473 return;
36474 }
36475 void parser___ReduceAction279___init(val_t p0, int* init_table){
36476 int itpos283 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction279].i;
36477 struct {struct stack_frame_t me;} fra;
36478 val_t tmp;
36479 if (init_table[itpos283]) return;
36480 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36481 fra.me.file = LOCATE_parser;
36482 fra.me.line = 13382;
36483 fra.me.meth = LOCATE_parser___ReduceAction279___init;
36484 fra.me.has_broke = 0;
36485 fra.me.REG_size = 1;
36486 fra.me.REG[0] = NIT_NULL;
36487 fra.me.REG[0] = p0;
36488 /* ./parser//parser.nit:13382 */
36489 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
36490 stack_frame_head = fra.me.prev;
36491 init_table[itpos283] = 1;
36492 return;
36493 }
36494 void parser___ReduceAction280___action(val_t p0, val_t p1){
36495 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
36496 val_t REGB0;
36497 val_t tmp;
36498 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36499 fra.me.file = LOCATE_parser;
36500 fra.me.line = 13386;
36501 fra.me.meth = LOCATE_parser___ReduceAction280___action;
36502 fra.me.has_broke = 0;
36503 fra.me.REG_size = 8;
36504 fra.me.REG[0] = NIT_NULL;
36505 fra.me.REG[1] = NIT_NULL;
36506 fra.me.REG[2] = NIT_NULL;
36507 fra.me.REG[3] = NIT_NULL;
36508 fra.me.REG[4] = NIT_NULL;
36509 fra.me.REG[5] = NIT_NULL;
36510 fra.me.REG[6] = NIT_NULL;
36511 fra.me.REG[7] = NIT_NULL;
36512 fra.me.REG[0] = p0;
36513 fra.me.REG[1] = p1;
36514 fra.me.REG[0] = NIT_NULL;
36515 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36516 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36517 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36518 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36519 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36520 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36521 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36522 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36523 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
36524 /* ./parser//parser.nit:13398 */
36525 if (UNTAG_Bool(REGB0)) {
36526 } else {
36527 fprintf(stderr, "Assert failed");
36528 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13398);
36529 nit_exit(1);
36530 }
36531 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
36532 /* ./parser//parser.nit:13400 */
36533 if (UNTAG_Bool(REGB0)) {
36534 } else {
36535 fprintf(stderr, "Assert failed");
36536 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13400);
36537 nit_exit(1);
36538 }
36539 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
36540 /* ./parser//parser.nit:13402 */
36541 if (UNTAG_Bool(REGB0)) {
36542 } else {
36543 fprintf(stderr, "Assert failed");
36544 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13402);
36545 nit_exit(1);
36546 }
36547 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
36548 /* ./parser//parser.nit:13404 */
36549 if (UNTAG_Bool(REGB0)) {
36550 } else {
36551 fprintf(stderr, "Assert failed");
36552 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13404);
36553 nit_exit(1);
36554 }
36555 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
36556 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
36557 /* ./parser//parser.nit:13409 */
36558 if (UNTAG_Bool(REGB0)) {
36559 } else {
36560 fprintf(stderr, "Assert failed");
36561 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13409);
36562 nit_exit(1);
36563 }
36564 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
36565 /* ./parser//parser.nit:13411 */
36566 if (UNTAG_Bool(REGB0)) {
36567 } else {
36568 fprintf(stderr, "Assert failed");
36569 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13411);
36570 nit_exit(1);
36571 }
36572 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
36573 fra.me.REG[0] = fra.me.REG[2];
36574 REGB0 = TAG_Int(12);
36575 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36576 /* ./parser//parser.nit:13422 */
36577 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
36578 stack_frame_head = fra.me.prev;
36579 return;
36580 }
36581 void parser___ReduceAction280___init(val_t p0, int* init_table){
36582 int itpos284 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction280].i;
36583 struct {struct stack_frame_t me;} fra;
36584 val_t tmp;
36585 if (init_table[itpos284]) return;
36586 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36587 fra.me.file = LOCATE_parser;
36588 fra.me.line = 13424;
36589 fra.me.meth = LOCATE_parser___ReduceAction280___init;
36590 fra.me.has_broke = 0;
36591 fra.me.REG_size = 1;
36592 fra.me.REG[0] = NIT_NULL;
36593 fra.me.REG[0] = p0;
36594 /* ./parser//parser.nit:13424 */
36595 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
36596 stack_frame_head = fra.me.prev;
36597 init_table[itpos284] = 1;
36598 return;
36599 }
36600 void parser___ReduceAction281___action(val_t p0, val_t p1){
36601 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
36602 val_t REGB0;
36603 val_t tmp;
36604 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36605 fra.me.file = LOCATE_parser;
36606 fra.me.line = 13428;
36607 fra.me.meth = LOCATE_parser___ReduceAction281___action;
36608 fra.me.has_broke = 0;
36609 fra.me.REG_size = 8;
36610 fra.me.REG[0] = NIT_NULL;
36611 fra.me.REG[1] = NIT_NULL;
36612 fra.me.REG[2] = NIT_NULL;
36613 fra.me.REG[3] = NIT_NULL;
36614 fra.me.REG[4] = NIT_NULL;
36615 fra.me.REG[5] = NIT_NULL;
36616 fra.me.REG[6] = NIT_NULL;
36617 fra.me.REG[7] = NIT_NULL;
36618 fra.me.REG[0] = p0;
36619 fra.me.REG[1] = p1;
36620 fra.me.REG[0] = NIT_NULL;
36621 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36622 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36623 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36624 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36625 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36626 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36627 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36628 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36629 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
36630 /* ./parser//parser.nit:13440 */
36631 if (UNTAG_Bool(REGB0)) {
36632 } else {
36633 fprintf(stderr, "Assert failed");
36634 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13440);
36635 nit_exit(1);
36636 }
36637 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
36638 /* ./parser//parser.nit:13442 */
36639 if (UNTAG_Bool(REGB0)) {
36640 } else {
36641 fprintf(stderr, "Assert failed");
36642 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13442);
36643 nit_exit(1);
36644 }
36645 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
36646 /* ./parser//parser.nit:13444 */
36647 if (UNTAG_Bool(REGB0)) {
36648 } else {
36649 fprintf(stderr, "Assert failed");
36650 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13444);
36651 nit_exit(1);
36652 }
36653 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
36654 /* ./parser//parser.nit:13446 */
36655 if (UNTAG_Bool(REGB0)) {
36656 } else {
36657 fprintf(stderr, "Assert failed");
36658 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13446);
36659 nit_exit(1);
36660 }
36661 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
36662 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
36663 /* ./parser//parser.nit:13451 */
36664 if (UNTAG_Bool(REGB0)) {
36665 } else {
36666 fprintf(stderr, "Assert failed");
36667 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13451);
36668 nit_exit(1);
36669 }
36670 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
36671 /* ./parser//parser.nit:13453 */
36672 if (UNTAG_Bool(REGB0)) {
36673 } else {
36674 fprintf(stderr, "Assert failed");
36675 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13453);
36676 nit_exit(1);
36677 }
36678 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
36679 fra.me.REG[0] = fra.me.REG[2];
36680 REGB0 = TAG_Int(12);
36681 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36682 /* ./parser//parser.nit:13464 */
36683 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
36684 stack_frame_head = fra.me.prev;
36685 return;
36686 }
36687 void parser___ReduceAction281___init(val_t p0, int* init_table){
36688 int itpos285 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction281].i;
36689 struct {struct stack_frame_t me;} fra;
36690 val_t tmp;
36691 if (init_table[itpos285]) return;
36692 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36693 fra.me.file = LOCATE_parser;
36694 fra.me.line = 13466;
36695 fra.me.meth = LOCATE_parser___ReduceAction281___init;
36696 fra.me.has_broke = 0;
36697 fra.me.REG_size = 1;
36698 fra.me.REG[0] = NIT_NULL;
36699 fra.me.REG[0] = p0;
36700 /* ./parser//parser.nit:13466 */
36701 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
36702 stack_frame_head = fra.me.prev;
36703 init_table[itpos285] = 1;
36704 return;
36705 }
36706 void parser___ReduceAction282___action(val_t p0, val_t p1){
36707 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
36708 val_t REGB0;
36709 val_t tmp;
36710 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36711 fra.me.file = LOCATE_parser;
36712 fra.me.line = 13470;
36713 fra.me.meth = LOCATE_parser___ReduceAction282___action;
36714 fra.me.has_broke = 0;
36715 fra.me.REG_size = 8;
36716 fra.me.REG[0] = NIT_NULL;
36717 fra.me.REG[1] = NIT_NULL;
36718 fra.me.REG[2] = NIT_NULL;
36719 fra.me.REG[3] = NIT_NULL;
36720 fra.me.REG[4] = NIT_NULL;
36721 fra.me.REG[5] = NIT_NULL;
36722 fra.me.REG[6] = NIT_NULL;
36723 fra.me.REG[7] = NIT_NULL;
36724 fra.me.REG[0] = p0;
36725 fra.me.REG[1] = p1;
36726 fra.me.REG[0] = NIT_NULL;
36727 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36728 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36729 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36730 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36731 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36732 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36733 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36734 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36735 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
36736 /* ./parser//parser.nit:13482 */
36737 if (UNTAG_Bool(REGB0)) {
36738 } else {
36739 fprintf(stderr, "Assert failed");
36740 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13482);
36741 nit_exit(1);
36742 }
36743 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
36744 /* ./parser//parser.nit:13484 */
36745 if (UNTAG_Bool(REGB0)) {
36746 } else {
36747 fprintf(stderr, "Assert failed");
36748 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13484);
36749 nit_exit(1);
36750 }
36751 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
36752 /* ./parser//parser.nit:13486 */
36753 if (UNTAG_Bool(REGB0)) {
36754 } else {
36755 fprintf(stderr, "Assert failed");
36756 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13486);
36757 nit_exit(1);
36758 }
36759 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
36760 /* ./parser//parser.nit:13488 */
36761 if (UNTAG_Bool(REGB0)) {
36762 } else {
36763 fprintf(stderr, "Assert failed");
36764 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13488);
36765 nit_exit(1);
36766 }
36767 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
36768 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
36769 /* ./parser//parser.nit:13493 */
36770 if (UNTAG_Bool(REGB0)) {
36771 } else {
36772 fprintf(stderr, "Assert failed");
36773 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13493);
36774 nit_exit(1);
36775 }
36776 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
36777 /* ./parser//parser.nit:13495 */
36778 if (UNTAG_Bool(REGB0)) {
36779 } else {
36780 fprintf(stderr, "Assert failed");
36781 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13495);
36782 nit_exit(1);
36783 }
36784 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
36785 fra.me.REG[0] = fra.me.REG[2];
36786 REGB0 = TAG_Int(12);
36787 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36788 /* ./parser//parser.nit:13506 */
36789 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
36790 stack_frame_head = fra.me.prev;
36791 return;
36792 }
36793 void parser___ReduceAction282___init(val_t p0, int* init_table){
36794 int itpos286 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction282].i;
36795 struct {struct stack_frame_t me;} fra;
36796 val_t tmp;
36797 if (init_table[itpos286]) return;
36798 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36799 fra.me.file = LOCATE_parser;
36800 fra.me.line = 13508;
36801 fra.me.meth = LOCATE_parser___ReduceAction282___init;
36802 fra.me.has_broke = 0;
36803 fra.me.REG_size = 1;
36804 fra.me.REG[0] = NIT_NULL;
36805 fra.me.REG[0] = p0;
36806 /* ./parser//parser.nit:13508 */
36807 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
36808 stack_frame_head = fra.me.prev;
36809 init_table[itpos286] = 1;
36810 return;
36811 }
36812 void parser___ReduceAction283___action(val_t p0, val_t p1){
36813 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
36814 val_t REGB0;
36815 val_t tmp;
36816 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36817 fra.me.file = LOCATE_parser;
36818 fra.me.line = 13512;
36819 fra.me.meth = LOCATE_parser___ReduceAction283___action;
36820 fra.me.has_broke = 0;
36821 fra.me.REG_size = 8;
36822 fra.me.REG[0] = NIT_NULL;
36823 fra.me.REG[1] = NIT_NULL;
36824 fra.me.REG[2] = NIT_NULL;
36825 fra.me.REG[3] = NIT_NULL;
36826 fra.me.REG[4] = NIT_NULL;
36827 fra.me.REG[5] = NIT_NULL;
36828 fra.me.REG[6] = NIT_NULL;
36829 fra.me.REG[7] = NIT_NULL;
36830 fra.me.REG[0] = p0;
36831 fra.me.REG[1] = p1;
36832 fra.me.REG[0] = NIT_NULL;
36833 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36834 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36835 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36836 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36837 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36838 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36839 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36840 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36841 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
36842 /* ./parser//parser.nit:13524 */
36843 if (UNTAG_Bool(REGB0)) {
36844 } else {
36845 fprintf(stderr, "Assert failed");
36846 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13524);
36847 nit_exit(1);
36848 }
36849 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
36850 /* ./parser//parser.nit:13526 */
36851 if (UNTAG_Bool(REGB0)) {
36852 } else {
36853 fprintf(stderr, "Assert failed");
36854 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13526);
36855 nit_exit(1);
36856 }
36857 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
36858 /* ./parser//parser.nit:13528 */
36859 if (UNTAG_Bool(REGB0)) {
36860 } else {
36861 fprintf(stderr, "Assert failed");
36862 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13528);
36863 nit_exit(1);
36864 }
36865 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
36866 /* ./parser//parser.nit:13530 */
36867 if (UNTAG_Bool(REGB0)) {
36868 } else {
36869 fprintf(stderr, "Assert failed");
36870 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13530);
36871 nit_exit(1);
36872 }
36873 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
36874 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
36875 /* ./parser//parser.nit:13535 */
36876 if (UNTAG_Bool(REGB0)) {
36877 } else {
36878 fprintf(stderr, "Assert failed");
36879 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13535);
36880 nit_exit(1);
36881 }
36882 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
36883 /* ./parser//parser.nit:13537 */
36884 if (UNTAG_Bool(REGB0)) {
36885 } else {
36886 fprintf(stderr, "Assert failed");
36887 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13537);
36888 nit_exit(1);
36889 }
36890 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
36891 fra.me.REG[0] = fra.me.REG[2];
36892 REGB0 = TAG_Int(12);
36893 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36894 /* ./parser//parser.nit:13548 */
36895 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
36896 stack_frame_head = fra.me.prev;
36897 return;
36898 }
36899 void parser___ReduceAction283___init(val_t p0, int* init_table){
36900 int itpos287 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction283].i;
36901 struct {struct stack_frame_t me;} fra;
36902 val_t tmp;
36903 if (init_table[itpos287]) return;
36904 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36905 fra.me.file = LOCATE_parser;
36906 fra.me.line = 13550;
36907 fra.me.meth = LOCATE_parser___ReduceAction283___init;
36908 fra.me.has_broke = 0;
36909 fra.me.REG_size = 1;
36910 fra.me.REG[0] = NIT_NULL;
36911 fra.me.REG[0] = p0;
36912 /* ./parser//parser.nit:13550 */
36913 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
36914 stack_frame_head = fra.me.prev;
36915 init_table[itpos287] = 1;
36916 return;
36917 }
36918 void parser___ReduceAction284___action(val_t p0, val_t p1){
36919 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
36920 val_t REGB0;
36921 val_t tmp;
36922 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36923 fra.me.file = LOCATE_parser;
36924 fra.me.line = 13554;
36925 fra.me.meth = LOCATE_parser___ReduceAction284___action;
36926 fra.me.has_broke = 0;
36927 fra.me.REG_size = 8;
36928 fra.me.REG[0] = NIT_NULL;
36929 fra.me.REG[1] = NIT_NULL;
36930 fra.me.REG[2] = NIT_NULL;
36931 fra.me.REG[3] = NIT_NULL;
36932 fra.me.REG[4] = NIT_NULL;
36933 fra.me.REG[5] = NIT_NULL;
36934 fra.me.REG[6] = NIT_NULL;
36935 fra.me.REG[7] = NIT_NULL;
36936 fra.me.REG[0] = p0;
36937 fra.me.REG[1] = p1;
36938 fra.me.REG[0] = NIT_NULL;
36939 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36940 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36941 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36942 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36943 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36944 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36945 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36946 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36947 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
36948 /* ./parser//parser.nit:13566 */
36949 if (UNTAG_Bool(REGB0)) {
36950 } else {
36951 fprintf(stderr, "Assert failed");
36952 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13566);
36953 nit_exit(1);
36954 }
36955 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
36956 /* ./parser//parser.nit:13568 */
36957 if (UNTAG_Bool(REGB0)) {
36958 } else {
36959 fprintf(stderr, "Assert failed");
36960 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13568);
36961 nit_exit(1);
36962 }
36963 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
36964 /* ./parser//parser.nit:13570 */
36965 if (UNTAG_Bool(REGB0)) {
36966 } else {
36967 fprintf(stderr, "Assert failed");
36968 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13570);
36969 nit_exit(1);
36970 }
36971 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
36972 /* ./parser//parser.nit:13572 */
36973 if (UNTAG_Bool(REGB0)) {
36974 } else {
36975 fprintf(stderr, "Assert failed");
36976 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13572);
36977 nit_exit(1);
36978 }
36979 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
36980 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
36981 /* ./parser//parser.nit:13577 */
36982 if (UNTAG_Bool(REGB0)) {
36983 } else {
36984 fprintf(stderr, "Assert failed");
36985 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13577);
36986 nit_exit(1);
36987 }
36988 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
36989 /* ./parser//parser.nit:13579 */
36990 if (UNTAG_Bool(REGB0)) {
36991 } else {
36992 fprintf(stderr, "Assert failed");
36993 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13579);
36994 nit_exit(1);
36995 }
36996 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
36997 fra.me.REG[0] = fra.me.REG[2];
36998 REGB0 = TAG_Int(12);
36999 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37000 /* ./parser//parser.nit:13590 */
37001 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
37002 stack_frame_head = fra.me.prev;
37003 return;
37004 }
37005 void parser___ReduceAction284___init(val_t p0, int* init_table){
37006 int itpos288 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction284].i;
37007 struct {struct stack_frame_t me;} fra;
37008 val_t tmp;
37009 if (init_table[itpos288]) return;
37010 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37011 fra.me.file = LOCATE_parser;
37012 fra.me.line = 13592;
37013 fra.me.meth = LOCATE_parser___ReduceAction284___init;
37014 fra.me.has_broke = 0;
37015 fra.me.REG_size = 1;
37016 fra.me.REG[0] = NIT_NULL;
37017 fra.me.REG[0] = p0;
37018 /* ./parser//parser.nit:13592 */
37019 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
37020 stack_frame_head = fra.me.prev;
37021 init_table[itpos288] = 1;
37022 return;
37023 }
37024 void parser___ReduceAction285___action(val_t p0, val_t p1){
37025 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
37026 val_t REGB0;
37027 val_t tmp;
37028 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37029 fra.me.file = LOCATE_parser;
37030 fra.me.line = 13596;
37031 fra.me.meth = LOCATE_parser___ReduceAction285___action;
37032 fra.me.has_broke = 0;
37033 fra.me.REG_size = 8;
37034 fra.me.REG[0] = NIT_NULL;
37035 fra.me.REG[1] = NIT_NULL;
37036 fra.me.REG[2] = NIT_NULL;
37037 fra.me.REG[3] = NIT_NULL;
37038 fra.me.REG[4] = NIT_NULL;
37039 fra.me.REG[5] = NIT_NULL;
37040 fra.me.REG[6] = NIT_NULL;
37041 fra.me.REG[7] = NIT_NULL;
37042 fra.me.REG[0] = p0;
37043 fra.me.REG[1] = p1;
37044 fra.me.REG[0] = NIT_NULL;
37045 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37046 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37047 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37048 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37049 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37050 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37051 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37052 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37053 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
37054 /* ./parser//parser.nit:13608 */
37055 if (UNTAG_Bool(REGB0)) {
37056 } else {
37057 fprintf(stderr, "Assert failed");
37058 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13608);
37059 nit_exit(1);
37060 }
37061 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
37062 /* ./parser//parser.nit:13610 */
37063 if (UNTAG_Bool(REGB0)) {
37064 } else {
37065 fprintf(stderr, "Assert failed");
37066 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13610);
37067 nit_exit(1);
37068 }
37069 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
37070 /* ./parser//parser.nit:13612 */
37071 if (UNTAG_Bool(REGB0)) {
37072 } else {
37073 fprintf(stderr, "Assert failed");
37074 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13612);
37075 nit_exit(1);
37076 }
37077 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
37078 /* ./parser//parser.nit:13614 */
37079 if (UNTAG_Bool(REGB0)) {
37080 } else {
37081 fprintf(stderr, "Assert failed");
37082 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13614);
37083 nit_exit(1);
37084 }
37085 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
37086 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
37087 /* ./parser//parser.nit:13619 */
37088 if (UNTAG_Bool(REGB0)) {
37089 } else {
37090 fprintf(stderr, "Assert failed");
37091 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13619);
37092 nit_exit(1);
37093 }
37094 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
37095 /* ./parser//parser.nit:13621 */
37096 if (UNTAG_Bool(REGB0)) {
37097 } else {
37098 fprintf(stderr, "Assert failed");
37099 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13621);
37100 nit_exit(1);
37101 }
37102 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
37103 fra.me.REG[0] = fra.me.REG[2];
37104 REGB0 = TAG_Int(12);
37105 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37106 /* ./parser//parser.nit:13632 */
37107 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
37108 stack_frame_head = fra.me.prev;
37109 return;
37110 }
37111 void parser___ReduceAction285___init(val_t p0, int* init_table){
37112 int itpos289 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction285].i;
37113 struct {struct stack_frame_t me;} fra;
37114 val_t tmp;
37115 if (init_table[itpos289]) return;
37116 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37117 fra.me.file = LOCATE_parser;
37118 fra.me.line = 13634;
37119 fra.me.meth = LOCATE_parser___ReduceAction285___init;
37120 fra.me.has_broke = 0;
37121 fra.me.REG_size = 1;
37122 fra.me.REG[0] = NIT_NULL;
37123 fra.me.REG[0] = p0;
37124 /* ./parser//parser.nit:13634 */
37125 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
37126 stack_frame_head = fra.me.prev;
37127 init_table[itpos289] = 1;
37128 return;
37129 }
37130 void parser___ReduceAction286___action(val_t p0, val_t p1){
37131 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
37132 val_t REGB0;
37133 val_t tmp;
37134 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37135 fra.me.file = LOCATE_parser;
37136 fra.me.line = 13638;
37137 fra.me.meth = LOCATE_parser___ReduceAction286___action;
37138 fra.me.has_broke = 0;
37139 fra.me.REG_size = 8;
37140 fra.me.REG[0] = NIT_NULL;
37141 fra.me.REG[1] = NIT_NULL;
37142 fra.me.REG[2] = NIT_NULL;
37143 fra.me.REG[3] = NIT_NULL;
37144 fra.me.REG[4] = NIT_NULL;
37145 fra.me.REG[5] = NIT_NULL;
37146 fra.me.REG[6] = NIT_NULL;
37147 fra.me.REG[7] = NIT_NULL;
37148 fra.me.REG[0] = p0;
37149 fra.me.REG[1] = p1;
37150 fra.me.REG[0] = NIT_NULL;
37151 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37152 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37153 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37154 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37155 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37156 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37157 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37158 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37159 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
37160 /* ./parser//parser.nit:13650 */
37161 if (UNTAG_Bool(REGB0)) {
37162 } else {
37163 fprintf(stderr, "Assert failed");
37164 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13650);
37165 nit_exit(1);
37166 }
37167 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
37168 /* ./parser//parser.nit:13652 */
37169 if (UNTAG_Bool(REGB0)) {
37170 } else {
37171 fprintf(stderr, "Assert failed");
37172 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13652);
37173 nit_exit(1);
37174 }
37175 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
37176 /* ./parser//parser.nit:13654 */
37177 if (UNTAG_Bool(REGB0)) {
37178 } else {
37179 fprintf(stderr, "Assert failed");
37180 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13654);
37181 nit_exit(1);
37182 }
37183 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
37184 /* ./parser//parser.nit:13656 */
37185 if (UNTAG_Bool(REGB0)) {
37186 } else {
37187 fprintf(stderr, "Assert failed");
37188 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13656);
37189 nit_exit(1);
37190 }
37191 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
37192 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
37193 /* ./parser//parser.nit:13661 */
37194 if (UNTAG_Bool(REGB0)) {
37195 } else {
37196 fprintf(stderr, "Assert failed");
37197 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13661);
37198 nit_exit(1);
37199 }
37200 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
37201 /* ./parser//parser.nit:13663 */
37202 if (UNTAG_Bool(REGB0)) {
37203 } else {
37204 fprintf(stderr, "Assert failed");
37205 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13663);
37206 nit_exit(1);
37207 }
37208 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
37209 fra.me.REG[0] = fra.me.REG[2];
37210 REGB0 = TAG_Int(12);
37211 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37212 /* ./parser//parser.nit:13674 */
37213 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
37214 stack_frame_head = fra.me.prev;
37215 return;
37216 }
37217 void parser___ReduceAction286___init(val_t p0, int* init_table){
37218 int itpos290 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction286].i;
37219 struct {struct stack_frame_t me;} fra;
37220 val_t tmp;
37221 if (init_table[itpos290]) return;
37222 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37223 fra.me.file = LOCATE_parser;
37224 fra.me.line = 13676;
37225 fra.me.meth = LOCATE_parser___ReduceAction286___init;
37226 fra.me.has_broke = 0;
37227 fra.me.REG_size = 1;
37228 fra.me.REG[0] = NIT_NULL;
37229 fra.me.REG[0] = p0;
37230 /* ./parser//parser.nit:13676 */
37231 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
37232 stack_frame_head = fra.me.prev;
37233 init_table[itpos290] = 1;
37234 return;
37235 }
37236 void parser___ReduceAction287___action(val_t p0, val_t p1){
37237 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
37238 val_t REGB0;
37239 val_t tmp;
37240 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37241 fra.me.file = LOCATE_parser;
37242 fra.me.line = 13680;
37243 fra.me.meth = LOCATE_parser___ReduceAction287___action;
37244 fra.me.has_broke = 0;
37245 fra.me.REG_size = 8;
37246 fra.me.REG[0] = NIT_NULL;
37247 fra.me.REG[1] = NIT_NULL;
37248 fra.me.REG[2] = NIT_NULL;
37249 fra.me.REG[3] = NIT_NULL;
37250 fra.me.REG[4] = NIT_NULL;
37251 fra.me.REG[5] = NIT_NULL;
37252 fra.me.REG[6] = NIT_NULL;
37253 fra.me.REG[7] = NIT_NULL;
37254 fra.me.REG[0] = p0;
37255 fra.me.REG[1] = p1;
37256 fra.me.REG[0] = NIT_NULL;
37257 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37258 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37259 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37260 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37261 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37262 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37263 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37264 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37265 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
37266 /* ./parser//parser.nit:13692 */
37267 if (UNTAG_Bool(REGB0)) {
37268 } else {
37269 fprintf(stderr, "Assert failed");
37270 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13692);
37271 nit_exit(1);
37272 }
37273 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
37274 /* ./parser//parser.nit:13694 */
37275 if (UNTAG_Bool(REGB0)) {
37276 } else {
37277 fprintf(stderr, "Assert failed");
37278 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13694);
37279 nit_exit(1);
37280 }
37281 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
37282 /* ./parser//parser.nit:13696 */
37283 if (UNTAG_Bool(REGB0)) {
37284 } else {
37285 fprintf(stderr, "Assert failed");
37286 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13696);
37287 nit_exit(1);
37288 }
37289 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
37290 /* ./parser//parser.nit:13698 */
37291 if (UNTAG_Bool(REGB0)) {
37292 } else {
37293 fprintf(stderr, "Assert failed");
37294 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13698);
37295 nit_exit(1);
37296 }
37297 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
37298 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
37299 /* ./parser//parser.nit:13703 */
37300 if (UNTAG_Bool(REGB0)) {
37301 } else {
37302 fprintf(stderr, "Assert failed");
37303 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13703);
37304 nit_exit(1);
37305 }
37306 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
37307 /* ./parser//parser.nit:13705 */
37308 if (UNTAG_Bool(REGB0)) {
37309 } else {
37310 fprintf(stderr, "Assert failed");
37311 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13705);
37312 nit_exit(1);
37313 }
37314 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
37315 fra.me.REG[0] = fra.me.REG[2];
37316 REGB0 = TAG_Int(12);
37317 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37318 /* ./parser//parser.nit:13716 */
37319 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
37320 stack_frame_head = fra.me.prev;
37321 return;
37322 }
37323 void parser___ReduceAction287___init(val_t p0, int* init_table){
37324 int itpos291 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction287].i;
37325 struct {struct stack_frame_t me;} fra;
37326 val_t tmp;
37327 if (init_table[itpos291]) return;
37328 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37329 fra.me.file = LOCATE_parser;
37330 fra.me.line = 13718;
37331 fra.me.meth = LOCATE_parser___ReduceAction287___init;
37332 fra.me.has_broke = 0;
37333 fra.me.REG_size = 1;
37334 fra.me.REG[0] = NIT_NULL;
37335 fra.me.REG[0] = p0;
37336 /* ./parser//parser.nit:13718 */
37337 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
37338 stack_frame_head = fra.me.prev;
37339 init_table[itpos291] = 1;
37340 return;
37341 }
37342 void parser___ReduceAction288___action(val_t p0, val_t p1){
37343 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
37344 val_t REGB0;
37345 val_t tmp;
37346 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37347 fra.me.file = LOCATE_parser;
37348 fra.me.line = 13722;
37349 fra.me.meth = LOCATE_parser___ReduceAction288___action;
37350 fra.me.has_broke = 0;
37351 fra.me.REG_size = 8;
37352 fra.me.REG[0] = NIT_NULL;
37353 fra.me.REG[1] = NIT_NULL;
37354 fra.me.REG[2] = NIT_NULL;
37355 fra.me.REG[3] = NIT_NULL;
37356 fra.me.REG[4] = NIT_NULL;
37357 fra.me.REG[5] = NIT_NULL;
37358 fra.me.REG[6] = NIT_NULL;
37359 fra.me.REG[7] = NIT_NULL;
37360 fra.me.REG[0] = p0;
37361 fra.me.REG[1] = p1;
37362 fra.me.REG[0] = NIT_NULL;
37363 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37364 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37365 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37366 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37367 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37368 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37369 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37370 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37371 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
37372 /* ./parser//parser.nit:13734 */
37373 if (UNTAG_Bool(REGB0)) {
37374 } else {
37375 fprintf(stderr, "Assert failed");
37376 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13734);
37377 nit_exit(1);
37378 }
37379 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
37380 /* ./parser//parser.nit:13736 */
37381 if (UNTAG_Bool(REGB0)) {
37382 } else {
37383 fprintf(stderr, "Assert failed");
37384 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13736);
37385 nit_exit(1);
37386 }
37387 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
37388 /* ./parser//parser.nit:13738 */
37389 if (UNTAG_Bool(REGB0)) {
37390 } else {
37391 fprintf(stderr, "Assert failed");
37392 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13738);
37393 nit_exit(1);
37394 }
37395 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
37396 /* ./parser//parser.nit:13740 */
37397 if (UNTAG_Bool(REGB0)) {
37398 } else {
37399 fprintf(stderr, "Assert failed");
37400 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13740);
37401 nit_exit(1);
37402 }
37403 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
37404 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
37405 /* ./parser//parser.nit:13745 */
37406 if (UNTAG_Bool(REGB0)) {
37407 } else {
37408 fprintf(stderr, "Assert failed");
37409 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13745);
37410 nit_exit(1);
37411 }
37412 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
37413 /* ./parser//parser.nit:13747 */
37414 if (UNTAG_Bool(REGB0)) {
37415 } else {
37416 fprintf(stderr, "Assert failed");
37417 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13747);
37418 nit_exit(1);
37419 }
37420 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
37421 fra.me.REG[0] = fra.me.REG[2];
37422 REGB0 = TAG_Int(12);
37423 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37424 /* ./parser//parser.nit:13758 */
37425 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
37426 stack_frame_head = fra.me.prev;
37427 return;
37428 }
37429 void parser___ReduceAction288___init(val_t p0, int* init_table){
37430 int itpos292 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction288].i;
37431 struct {struct stack_frame_t me;} fra;
37432 val_t tmp;
37433 if (init_table[itpos292]) return;
37434 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37435 fra.me.file = LOCATE_parser;
37436 fra.me.line = 13760;
37437 fra.me.meth = LOCATE_parser___ReduceAction288___init;
37438 fra.me.has_broke = 0;
37439 fra.me.REG_size = 1;
37440 fra.me.REG[0] = NIT_NULL;
37441 fra.me.REG[0] = p0;
37442 /* ./parser//parser.nit:13760 */
37443 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
37444 stack_frame_head = fra.me.prev;
37445 init_table[itpos292] = 1;
37446 return;
37447 }
37448 void parser___ReduceAction289___action(val_t p0, val_t p1){
37449 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
37450 val_t REGB0;
37451 val_t tmp;
37452 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37453 fra.me.file = LOCATE_parser;
37454 fra.me.line = 13764;
37455 fra.me.meth = LOCATE_parser___ReduceAction289___action;
37456 fra.me.has_broke = 0;
37457 fra.me.REG_size = 8;
37458 fra.me.REG[0] = NIT_NULL;
37459 fra.me.REG[1] = NIT_NULL;
37460 fra.me.REG[2] = NIT_NULL;
37461 fra.me.REG[3] = NIT_NULL;
37462 fra.me.REG[4] = NIT_NULL;
37463 fra.me.REG[5] = NIT_NULL;
37464 fra.me.REG[6] = NIT_NULL;
37465 fra.me.REG[7] = NIT_NULL;
37466 fra.me.REG[0] = p0;
37467 fra.me.REG[1] = p1;
37468 fra.me.REG[0] = NIT_NULL;
37469 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37470 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37471 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37472 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37473 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37474 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37475 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37476 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37477 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
37478 /* ./parser//parser.nit:13776 */
37479 if (UNTAG_Bool(REGB0)) {
37480 } else {
37481 fprintf(stderr, "Assert failed");
37482 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13776);
37483 nit_exit(1);
37484 }
37485 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
37486 /* ./parser//parser.nit:13778 */
37487 if (UNTAG_Bool(REGB0)) {
37488 } else {
37489 fprintf(stderr, "Assert failed");
37490 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13778);
37491 nit_exit(1);
37492 }
37493 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
37494 /* ./parser//parser.nit:13780 */
37495 if (UNTAG_Bool(REGB0)) {
37496 } else {
37497 fprintf(stderr, "Assert failed");
37498 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13780);
37499 nit_exit(1);
37500 }
37501 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
37502 /* ./parser//parser.nit:13782 */
37503 if (UNTAG_Bool(REGB0)) {
37504 } else {
37505 fprintf(stderr, "Assert failed");
37506 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13782);
37507 nit_exit(1);
37508 }
37509 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
37510 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
37511 /* ./parser//parser.nit:13787 */
37512 if (UNTAG_Bool(REGB0)) {
37513 } else {
37514 fprintf(stderr, "Assert failed");
37515 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13787);
37516 nit_exit(1);
37517 }
37518 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
37519 /* ./parser//parser.nit:13789 */
37520 if (UNTAG_Bool(REGB0)) {
37521 } else {
37522 fprintf(stderr, "Assert failed");
37523 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13789);
37524 nit_exit(1);
37525 }
37526 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
37527 fra.me.REG[0] = fra.me.REG[2];
37528 REGB0 = TAG_Int(12);
37529 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37530 /* ./parser//parser.nit:13800 */
37531 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
37532 stack_frame_head = fra.me.prev;
37533 return;
37534 }
37535 void parser___ReduceAction289___init(val_t p0, int* init_table){
37536 int itpos293 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction289].i;
37537 struct {struct stack_frame_t me;} fra;
37538 val_t tmp;
37539 if (init_table[itpos293]) return;
37540 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37541 fra.me.file = LOCATE_parser;
37542 fra.me.line = 13802;
37543 fra.me.meth = LOCATE_parser___ReduceAction289___init;
37544 fra.me.has_broke = 0;
37545 fra.me.REG_size = 1;
37546 fra.me.REG[0] = NIT_NULL;
37547 fra.me.REG[0] = p0;
37548 /* ./parser//parser.nit:13802 */
37549 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
37550 stack_frame_head = fra.me.prev;
37551 init_table[itpos293] = 1;
37552 return;
37553 }
37554 void parser___ReduceAction290___action(val_t p0, val_t p1){
37555 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
37556 val_t REGB0;
37557 val_t tmp;
37558 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37559 fra.me.file = LOCATE_parser;
37560 fra.me.line = 13806;
37561 fra.me.meth = LOCATE_parser___ReduceAction290___action;
37562 fra.me.has_broke = 0;
37563 fra.me.REG_size = 9;
37564 fra.me.REG[0] = NIT_NULL;
37565 fra.me.REG[1] = NIT_NULL;
37566 fra.me.REG[2] = NIT_NULL;
37567 fra.me.REG[3] = NIT_NULL;
37568 fra.me.REG[4] = NIT_NULL;
37569 fra.me.REG[5] = NIT_NULL;
37570 fra.me.REG[6] = NIT_NULL;
37571 fra.me.REG[7] = NIT_NULL;
37572 fra.me.REG[8] = NIT_NULL;
37573 fra.me.REG[0] = p0;
37574 fra.me.REG[1] = p1;
37575 fra.me.REG[0] = NIT_NULL;
37576 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37577 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37578 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37579 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37580 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37581 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37582 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37583 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37584 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37585 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
37586 /* ./parser//parser.nit:13819 */
37587 if (UNTAG_Bool(REGB0)) {
37588 } else {
37589 fprintf(stderr, "Assert failed");
37590 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13819);
37591 nit_exit(1);
37592 }
37593 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
37594 /* ./parser//parser.nit:13821 */
37595 if (UNTAG_Bool(REGB0)) {
37596 } else {
37597 fprintf(stderr, "Assert failed");
37598 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13821);
37599 nit_exit(1);
37600 }
37601 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
37602 /* ./parser//parser.nit:13823 */
37603 if (UNTAG_Bool(REGB0)) {
37604 } else {
37605 fprintf(stderr, "Assert failed");
37606 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13823);
37607 nit_exit(1);
37608 }
37609 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
37610 /* ./parser//parser.nit:13825 */
37611 if (UNTAG_Bool(REGB0)) {
37612 } else {
37613 fprintf(stderr, "Assert failed");
37614 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13825);
37615 nit_exit(1);
37616 }
37617 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
37618 /* ./parser//parser.nit:13827 */
37619 if (UNTAG_Bool(REGB0)) {
37620 } else {
37621 fprintf(stderr, "Assert failed");
37622 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13827);
37623 nit_exit(1);
37624 }
37625 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
37626 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
37627 /* ./parser//parser.nit:13833 */
37628 if (UNTAG_Bool(REGB0)) {
37629 } else {
37630 fprintf(stderr, "Assert failed");
37631 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13833);
37632 nit_exit(1);
37633 }
37634 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
37635 /* ./parser//parser.nit:13835 */
37636 if (UNTAG_Bool(REGB0)) {
37637 } else {
37638 fprintf(stderr, "Assert failed");
37639 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13835);
37640 nit_exit(1);
37641 }
37642 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
37643 fra.me.REG[0] = fra.me.REG[2];
37644 REGB0 = TAG_Int(12);
37645 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37646 /* ./parser//parser.nit:13846 */
37647 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
37648 stack_frame_head = fra.me.prev;
37649 return;
37650 }
37651 void parser___ReduceAction290___init(val_t p0, int* init_table){
37652 int itpos294 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction290].i;
37653 struct {struct stack_frame_t me;} fra;
37654 val_t tmp;
37655 if (init_table[itpos294]) return;
37656 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37657 fra.me.file = LOCATE_parser;
37658 fra.me.line = 13848;
37659 fra.me.meth = LOCATE_parser___ReduceAction290___init;
37660 fra.me.has_broke = 0;
37661 fra.me.REG_size = 1;
37662 fra.me.REG[0] = NIT_NULL;
37663 fra.me.REG[0] = p0;
37664 /* ./parser//parser.nit:13848 */
37665 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
37666 stack_frame_head = fra.me.prev;
37667 init_table[itpos294] = 1;
37668 return;
37669 }
37670 void parser___ReduceAction291___action(val_t p0, val_t p1){
37671 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
37672 val_t REGB0;
37673 val_t tmp;
37674 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37675 fra.me.file = LOCATE_parser;
37676 fra.me.line = 13852;
37677 fra.me.meth = LOCATE_parser___ReduceAction291___action;
37678 fra.me.has_broke = 0;
37679 fra.me.REG_size = 8;
37680 fra.me.REG[0] = NIT_NULL;
37681 fra.me.REG[1] = NIT_NULL;
37682 fra.me.REG[2] = NIT_NULL;
37683 fra.me.REG[3] = NIT_NULL;
37684 fra.me.REG[4] = NIT_NULL;
37685 fra.me.REG[5] = NIT_NULL;
37686 fra.me.REG[6] = NIT_NULL;
37687 fra.me.REG[7] = NIT_NULL;
37688 fra.me.REG[0] = p0;
37689 fra.me.REG[1] = p1;
37690 fra.me.REG[0] = NIT_NULL;
37691 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37692 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37693 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37694 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37695 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37696 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37697 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37698 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37699 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
37700 /* ./parser//parser.nit:13864 */
37701 if (UNTAG_Bool(REGB0)) {
37702 } else {
37703 fprintf(stderr, "Assert failed");
37704 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13864);
37705 nit_exit(1);
37706 }
37707 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
37708 /* ./parser//parser.nit:13866 */
37709 if (UNTAG_Bool(REGB0)) {
37710 } else {
37711 fprintf(stderr, "Assert failed");
37712 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13866);
37713 nit_exit(1);
37714 }
37715 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
37716 /* ./parser//parser.nit:13868 */
37717 if (UNTAG_Bool(REGB0)) {
37718 } else {
37719 fprintf(stderr, "Assert failed");
37720 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13868);
37721 nit_exit(1);
37722 }
37723 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
37724 /* ./parser//parser.nit:13870 */
37725 if (UNTAG_Bool(REGB0)) {
37726 } else {
37727 fprintf(stderr, "Assert failed");
37728 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13870);
37729 nit_exit(1);
37730 }
37731 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
37732 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
37733 /* ./parser//parser.nit:13875 */
37734 if (UNTAG_Bool(REGB0)) {
37735 } else {
37736 fprintf(stderr, "Assert failed");
37737 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13875);
37738 nit_exit(1);
37739 }
37740 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
37741 /* ./parser//parser.nit:13877 */
37742 if (UNTAG_Bool(REGB0)) {
37743 } else {
37744 fprintf(stderr, "Assert failed");
37745 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13877);
37746 nit_exit(1);
37747 }
37748 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
37749 fra.me.REG[0] = fra.me.REG[2];
37750 REGB0 = TAG_Int(12);
37751 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37752 /* ./parser//parser.nit:13888 */
37753 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
37754 stack_frame_head = fra.me.prev;
37755 return;
37756 }
37757 void parser___ReduceAction291___init(val_t p0, int* init_table){
37758 int itpos295 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction291].i;
37759 struct {struct stack_frame_t me;} fra;
37760 val_t tmp;
37761 if (init_table[itpos295]) return;
37762 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37763 fra.me.file = LOCATE_parser;
37764 fra.me.line = 13890;
37765 fra.me.meth = LOCATE_parser___ReduceAction291___init;
37766 fra.me.has_broke = 0;
37767 fra.me.REG_size = 1;
37768 fra.me.REG[0] = NIT_NULL;
37769 fra.me.REG[0] = p0;
37770 /* ./parser//parser.nit:13890 */
37771 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
37772 stack_frame_head = fra.me.prev;
37773 init_table[itpos295] = 1;
37774 return;
37775 }
37776 void parser___ReduceAction292___action(val_t p0, val_t p1){
37777 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
37778 val_t REGB0;
37779 val_t tmp;
37780 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37781 fra.me.file = LOCATE_parser;
37782 fra.me.line = 13894;
37783 fra.me.meth = LOCATE_parser___ReduceAction292___action;
37784 fra.me.has_broke = 0;
37785 fra.me.REG_size = 9;
37786 fra.me.REG[0] = NIT_NULL;
37787 fra.me.REG[1] = NIT_NULL;
37788 fra.me.REG[2] = NIT_NULL;
37789 fra.me.REG[3] = NIT_NULL;
37790 fra.me.REG[4] = NIT_NULL;
37791 fra.me.REG[5] = NIT_NULL;
37792 fra.me.REG[6] = NIT_NULL;
37793 fra.me.REG[7] = NIT_NULL;
37794 fra.me.REG[8] = NIT_NULL;
37795 fra.me.REG[0] = p0;
37796 fra.me.REG[1] = p1;
37797 fra.me.REG[0] = NIT_NULL;
37798 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37799 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37800 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37801 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37802 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37803 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37804 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37805 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37806 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37807 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
37808 /* ./parser//parser.nit:13907 */
37809 if (UNTAG_Bool(REGB0)) {
37810 } else {
37811 fprintf(stderr, "Assert failed");
37812 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13907);
37813 nit_exit(1);
37814 }
37815 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
37816 /* ./parser//parser.nit:13909 */
37817 if (UNTAG_Bool(REGB0)) {
37818 } else {
37819 fprintf(stderr, "Assert failed");
37820 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13909);
37821 nit_exit(1);
37822 }
37823 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
37824 /* ./parser//parser.nit:13911 */
37825 if (UNTAG_Bool(REGB0)) {
37826 } else {
37827 fprintf(stderr, "Assert failed");
37828 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13911);
37829 nit_exit(1);
37830 }
37831 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
37832 /* ./parser//parser.nit:13913 */
37833 if (UNTAG_Bool(REGB0)) {
37834 } else {
37835 fprintf(stderr, "Assert failed");
37836 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13913);
37837 nit_exit(1);
37838 }
37839 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
37840 /* ./parser//parser.nit:13915 */
37841 if (UNTAG_Bool(REGB0)) {
37842 } else {
37843 fprintf(stderr, "Assert failed");
37844 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13915);
37845 nit_exit(1);
37846 }
37847 fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
37848 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
37849 /* ./parser//parser.nit:13921 */
37850 if (UNTAG_Bool(REGB0)) {
37851 } else {
37852 fprintf(stderr, "Assert failed");
37853 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13921);
37854 nit_exit(1);
37855 }
37856 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
37857 /* ./parser//parser.nit:13923 */
37858 if (UNTAG_Bool(REGB0)) {
37859 } else {
37860 fprintf(stderr, "Assert failed");
37861 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13923);
37862 nit_exit(1);
37863 }
37864 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
37865 fra.me.REG[0] = fra.me.REG[2];
37866 REGB0 = TAG_Int(12);
37867 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37868 /* ./parser//parser.nit:13934 */
37869 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
37870 stack_frame_head = fra.me.prev;
37871 return;
37872 }
37873 void parser___ReduceAction292___init(val_t p0, int* init_table){
37874 int itpos296 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction292].i;
37875 struct {struct stack_frame_t me;} fra;
37876 val_t tmp;
37877 if (init_table[itpos296]) return;
37878 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37879 fra.me.file = LOCATE_parser;
37880 fra.me.line = 13936;
37881 fra.me.meth = LOCATE_parser___ReduceAction292___init;
37882 fra.me.has_broke = 0;
37883 fra.me.REG_size = 1;
37884 fra.me.REG[0] = NIT_NULL;
37885 fra.me.REG[0] = p0;
37886 /* ./parser//parser.nit:13936 */
37887 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
37888 stack_frame_head = fra.me.prev;
37889 init_table[itpos296] = 1;
37890 return;
37891 }
37892 void parser___ReduceAction293___action(val_t p0, val_t p1){
37893 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
37894 val_t REGB0;
37895 val_t tmp;
37896 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37897 fra.me.file = LOCATE_parser;
37898 fra.me.line = 13940;
37899 fra.me.meth = LOCATE_parser___ReduceAction293___action;
37900 fra.me.has_broke = 0;
37901 fra.me.REG_size = 10;
37902 fra.me.REG[0] = NIT_NULL;
37903 fra.me.REG[1] = NIT_NULL;
37904 fra.me.REG[2] = NIT_NULL;
37905 fra.me.REG[3] = NIT_NULL;
37906 fra.me.REG[4] = NIT_NULL;
37907 fra.me.REG[5] = NIT_NULL;
37908 fra.me.REG[6] = NIT_NULL;
37909 fra.me.REG[7] = NIT_NULL;
37910 fra.me.REG[8] = NIT_NULL;
37911 fra.me.REG[9] = NIT_NULL;
37912 fra.me.REG[0] = p0;
37913 fra.me.REG[1] = p1;
37914 fra.me.REG[0] = NIT_NULL;
37915 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37916 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37917 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37918 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37919 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37920 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37921 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37922 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37923 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37924 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37925 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
37926 /* ./parser//parser.nit:13954 */
37927 if (UNTAG_Bool(REGB0)) {
37928 } else {
37929 fprintf(stderr, "Assert failed");
37930 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13954);
37931 nit_exit(1);
37932 }
37933 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
37934 /* ./parser//parser.nit:13956 */
37935 if (UNTAG_Bool(REGB0)) {
37936 } else {
37937 fprintf(stderr, "Assert failed");
37938 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13956);
37939 nit_exit(1);
37940 }
37941 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
37942 /* ./parser//parser.nit:13958 */
37943 if (UNTAG_Bool(REGB0)) {
37944 } else {
37945 fprintf(stderr, "Assert failed");
37946 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13958);
37947 nit_exit(1);
37948 }
37949 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
37950 /* ./parser//parser.nit:13960 */
37951 if (UNTAG_Bool(REGB0)) {
37952 } else {
37953 fprintf(stderr, "Assert failed");
37954 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13960);
37955 nit_exit(1);
37956 }
37957 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
37958 /* ./parser//parser.nit:13962 */
37959 if (UNTAG_Bool(REGB0)) {
37960 } else {
37961 fprintf(stderr, "Assert failed");
37962 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13962);
37963 nit_exit(1);
37964 }
37965 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
37966 /* ./parser//parser.nit:13964 */
37967 if (UNTAG_Bool(REGB0)) {
37968 } else {
37969 fprintf(stderr, "Assert failed");
37970 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13964);
37971 nit_exit(1);
37972 }
37973 fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
37974 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
37975 /* ./parser//parser.nit:13971 */
37976 if (UNTAG_Bool(REGB0)) {
37977 } else {
37978 fprintf(stderr, "Assert failed");
37979 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13971);
37980 nit_exit(1);
37981 }
37982 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
37983 /* ./parser//parser.nit:13973 */
37984 if (UNTAG_Bool(REGB0)) {
37985 } else {
37986 fprintf(stderr, "Assert failed");
37987 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13973);
37988 nit_exit(1);
37989 }
37990 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
37991 fra.me.REG[0] = fra.me.REG[2];
37992 REGB0 = TAG_Int(12);
37993 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37994 /* ./parser//parser.nit:13984 */
37995 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
37996 stack_frame_head = fra.me.prev;
37997 return;
37998 }
37999 void parser___ReduceAction293___init(val_t p0, int* init_table){
38000 int itpos297 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction293].i;
38001 struct {struct stack_frame_t me;} fra;
38002 val_t tmp;
38003 if (init_table[itpos297]) return;
38004 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38005 fra.me.file = LOCATE_parser;
38006 fra.me.line = 13986;
38007 fra.me.meth = LOCATE_parser___ReduceAction293___init;
38008 fra.me.has_broke = 0;
38009 fra.me.REG_size = 1;
38010 fra.me.REG[0] = NIT_NULL;
38011 fra.me.REG[0] = p0;
38012 /* ./parser//parser.nit:13986 */
38013 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
38014 stack_frame_head = fra.me.prev;
38015 init_table[itpos297] = 1;
38016 return;
38017 }
38018 void parser___ReduceAction294___action(val_t p0, val_t p1){
38019 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
38020 val_t REGB0;
38021 val_t tmp;
38022 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38023 fra.me.file = LOCATE_parser;
38024 fra.me.line = 13990;
38025 fra.me.meth = LOCATE_parser___ReduceAction294___action;
38026 fra.me.has_broke = 0;
38027 fra.me.REG_size = 9;
38028 fra.me.REG[0] = NIT_NULL;
38029 fra.me.REG[1] = NIT_NULL;
38030 fra.me.REG[2] = NIT_NULL;
38031 fra.me.REG[3] = NIT_NULL;
38032 fra.me.REG[4] = NIT_NULL;
38033 fra.me.REG[5] = NIT_NULL;
38034 fra.me.REG[6] = NIT_NULL;
38035 fra.me.REG[7] = NIT_NULL;
38036 fra.me.REG[8] = NIT_NULL;
38037 fra.me.REG[0] = p0;
38038 fra.me.REG[1] = p1;
38039 fra.me.REG[0] = NIT_NULL;
38040 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38041 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38042 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38043 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38044 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38045 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38046 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38047 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38048 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38049 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
38050 /* ./parser//parser.nit:14003 */
38051 if (UNTAG_Bool(REGB0)) {
38052 } else {
38053 fprintf(stderr, "Assert failed");
38054 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14003);
38055 nit_exit(1);
38056 }
38057 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
38058 /* ./parser//parser.nit:14005 */
38059 if (UNTAG_Bool(REGB0)) {
38060 } else {
38061 fprintf(stderr, "Assert failed");
38062 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14005);
38063 nit_exit(1);
38064 }
38065 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
38066 /* ./parser//parser.nit:14007 */
38067 if (UNTAG_Bool(REGB0)) {
38068 } else {
38069 fprintf(stderr, "Assert failed");
38070 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14007);
38071 nit_exit(1);
38072 }
38073 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
38074 /* ./parser//parser.nit:14009 */
38075 if (UNTAG_Bool(REGB0)) {
38076 } else {
38077 fprintf(stderr, "Assert failed");
38078 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14009);
38079 nit_exit(1);
38080 }
38081 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
38082 /* ./parser//parser.nit:14011 */
38083 if (UNTAG_Bool(REGB0)) {
38084 } else {
38085 fprintf(stderr, "Assert failed");
38086 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14011);
38087 nit_exit(1);
38088 }
38089 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
38090 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
38091 /* ./parser//parser.nit:14016 */
38092 if (UNTAG_Bool(REGB0)) {
38093 } else {
38094 fprintf(stderr, "Assert failed");
38095 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14016);
38096 nit_exit(1);
38097 }
38098 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
38099 /* ./parser//parser.nit:14018 */
38100 if (UNTAG_Bool(REGB0)) {
38101 } else {
38102 fprintf(stderr, "Assert failed");
38103 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14018);
38104 nit_exit(1);
38105 }
38106 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
38107 fra.me.REG[0] = fra.me.REG[2];
38108 REGB0 = TAG_Int(12);
38109 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38110 /* ./parser//parser.nit:14029 */
38111 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
38112 stack_frame_head = fra.me.prev;
38113 return;
38114 }
38115 void parser___ReduceAction294___init(val_t p0, int* init_table){
38116 int itpos298 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction294].i;
38117 struct {struct stack_frame_t me;} fra;
38118 val_t tmp;
38119 if (init_table[itpos298]) return;
38120 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38121 fra.me.file = LOCATE_parser;
38122 fra.me.line = 14031;
38123 fra.me.meth = LOCATE_parser___ReduceAction294___init;
38124 fra.me.has_broke = 0;
38125 fra.me.REG_size = 1;
38126 fra.me.REG[0] = NIT_NULL;
38127 fra.me.REG[0] = p0;
38128 /* ./parser//parser.nit:14031 */
38129 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
38130 stack_frame_head = fra.me.prev;
38131 init_table[itpos298] = 1;
38132 return;
38133 }
38134 void parser___ReduceAction295___action(val_t p0, val_t p1){
38135 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
38136 val_t REGB0;
38137 val_t tmp;
38138 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38139 fra.me.file = LOCATE_parser;
38140 fra.me.line = 14035;
38141 fra.me.meth = LOCATE_parser___ReduceAction295___action;
38142 fra.me.has_broke = 0;
38143 fra.me.REG_size = 9;
38144 fra.me.REG[0] = NIT_NULL;
38145 fra.me.REG[1] = NIT_NULL;
38146 fra.me.REG[2] = NIT_NULL;
38147 fra.me.REG[3] = NIT_NULL;
38148 fra.me.REG[4] = NIT_NULL;
38149 fra.me.REG[5] = NIT_NULL;
38150 fra.me.REG[6] = NIT_NULL;
38151 fra.me.REG[7] = NIT_NULL;
38152 fra.me.REG[8] = NIT_NULL;
38153 fra.me.REG[0] = p0;
38154 fra.me.REG[1] = p1;
38155 fra.me.REG[0] = NIT_NULL;
38156 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38157 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38158 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38159 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38160 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38161 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38162 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38163 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38164 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38165 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
38166 /* ./parser//parser.nit:14048 */
38167 if (UNTAG_Bool(REGB0)) {
38168 } else {
38169 fprintf(stderr, "Assert failed");
38170 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14048);
38171 nit_exit(1);
38172 }
38173 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
38174 /* ./parser//parser.nit:14050 */
38175 if (UNTAG_Bool(REGB0)) {
38176 } else {
38177 fprintf(stderr, "Assert failed");
38178 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14050);
38179 nit_exit(1);
38180 }
38181 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
38182 /* ./parser//parser.nit:14052 */
38183 if (UNTAG_Bool(REGB0)) {
38184 } else {
38185 fprintf(stderr, "Assert failed");
38186 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14052);
38187 nit_exit(1);
38188 }
38189 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
38190 /* ./parser//parser.nit:14054 */
38191 if (UNTAG_Bool(REGB0)) {
38192 } else {
38193 fprintf(stderr, "Assert failed");
38194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14054);
38195 nit_exit(1);
38196 }
38197 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
38198 /* ./parser//parser.nit:14056 */
38199 if (UNTAG_Bool(REGB0)) {
38200 } else {
38201 fprintf(stderr, "Assert failed");
38202 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14056);
38203 nit_exit(1);
38204 }
38205 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
38206 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
38207 /* ./parser//parser.nit:14061 */
38208 if (UNTAG_Bool(REGB0)) {
38209 } else {
38210 fprintf(stderr, "Assert failed");
38211 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14061);
38212 nit_exit(1);
38213 }
38214 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
38215 /* ./parser//parser.nit:14063 */
38216 if (UNTAG_Bool(REGB0)) {
38217 } else {
38218 fprintf(stderr, "Assert failed");
38219 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14063);
38220 nit_exit(1);
38221 }
38222 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
38223 fra.me.REG[0] = fra.me.REG[2];
38224 REGB0 = TAG_Int(12);
38225 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38226 /* ./parser//parser.nit:14074 */
38227 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
38228 stack_frame_head = fra.me.prev;
38229 return;
38230 }
38231 void parser___ReduceAction295___init(val_t p0, int* init_table){
38232 int itpos299 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction295].i;
38233 struct {struct stack_frame_t me;} fra;
38234 val_t tmp;
38235 if (init_table[itpos299]) return;
38236 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38237 fra.me.file = LOCATE_parser;
38238 fra.me.line = 14076;
38239 fra.me.meth = LOCATE_parser___ReduceAction295___init;
38240 fra.me.has_broke = 0;
38241 fra.me.REG_size = 1;
38242 fra.me.REG[0] = NIT_NULL;
38243 fra.me.REG[0] = p0;
38244 /* ./parser//parser.nit:14076 */
38245 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
38246 stack_frame_head = fra.me.prev;
38247 init_table[itpos299] = 1;
38248 return;
38249 }
38250 void parser___ReduceAction296___action(val_t p0, val_t p1){
38251 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
38252 val_t REGB0;
38253 val_t tmp;
38254 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38255 fra.me.file = LOCATE_parser;
38256 fra.me.line = 14080;
38257 fra.me.meth = LOCATE_parser___ReduceAction296___action;
38258 fra.me.has_broke = 0;
38259 fra.me.REG_size = 9;
38260 fra.me.REG[0] = NIT_NULL;
38261 fra.me.REG[1] = NIT_NULL;
38262 fra.me.REG[2] = NIT_NULL;
38263 fra.me.REG[3] = NIT_NULL;
38264 fra.me.REG[4] = NIT_NULL;
38265 fra.me.REG[5] = NIT_NULL;
38266 fra.me.REG[6] = NIT_NULL;
38267 fra.me.REG[7] = NIT_NULL;
38268 fra.me.REG[8] = NIT_NULL;
38269 fra.me.REG[0] = p0;
38270 fra.me.REG[1] = p1;
38271 fra.me.REG[0] = NIT_NULL;
38272 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38273 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38274 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38275 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38276 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38277 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38278 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38279 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38280 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38281 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
38282 /* ./parser//parser.nit:14093 */
38283 if (UNTAG_Bool(REGB0)) {
38284 } else {
38285 fprintf(stderr, "Assert failed");
38286 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14093);
38287 nit_exit(1);
38288 }
38289 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
38290 /* ./parser//parser.nit:14095 */
38291 if (UNTAG_Bool(REGB0)) {
38292 } else {
38293 fprintf(stderr, "Assert failed");
38294 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14095);
38295 nit_exit(1);
38296 }
38297 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
38298 /* ./parser//parser.nit:14097 */
38299 if (UNTAG_Bool(REGB0)) {
38300 } else {
38301 fprintf(stderr, "Assert failed");
38302 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14097);
38303 nit_exit(1);
38304 }
38305 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
38306 /* ./parser//parser.nit:14099 */
38307 if (UNTAG_Bool(REGB0)) {
38308 } else {
38309 fprintf(stderr, "Assert failed");
38310 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14099);
38311 nit_exit(1);
38312 }
38313 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
38314 /* ./parser//parser.nit:14101 */
38315 if (UNTAG_Bool(REGB0)) {
38316 } else {
38317 fprintf(stderr, "Assert failed");
38318 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14101);
38319 nit_exit(1);
38320 }
38321 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
38322 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
38323 /* ./parser//parser.nit:14106 */
38324 if (UNTAG_Bool(REGB0)) {
38325 } else {
38326 fprintf(stderr, "Assert failed");
38327 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14106);
38328 nit_exit(1);
38329 }
38330 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
38331 /* ./parser//parser.nit:14108 */
38332 if (UNTAG_Bool(REGB0)) {
38333 } else {
38334 fprintf(stderr, "Assert failed");
38335 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14108);
38336 nit_exit(1);
38337 }
38338 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
38339 fra.me.REG[0] = fra.me.REG[2];
38340 REGB0 = TAG_Int(12);
38341 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38342 /* ./parser//parser.nit:14119 */
38343 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
38344 stack_frame_head = fra.me.prev;
38345 return;
38346 }
38347 void parser___ReduceAction296___init(val_t p0, int* init_table){
38348 int itpos300 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction296].i;
38349 struct {struct stack_frame_t me;} fra;
38350 val_t tmp;
38351 if (init_table[itpos300]) return;
38352 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38353 fra.me.file = LOCATE_parser;
38354 fra.me.line = 14121;
38355 fra.me.meth = LOCATE_parser___ReduceAction296___init;
38356 fra.me.has_broke = 0;
38357 fra.me.REG_size = 1;
38358 fra.me.REG[0] = NIT_NULL;
38359 fra.me.REG[0] = p0;
38360 /* ./parser//parser.nit:14121 */
38361 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
38362 stack_frame_head = fra.me.prev;
38363 init_table[itpos300] = 1;
38364 return;
38365 }
38366 void parser___ReduceAction297___action(val_t p0, val_t p1){
38367 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
38368 val_t REGB0;
38369 val_t tmp;
38370 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38371 fra.me.file = LOCATE_parser;
38372 fra.me.line = 14125;
38373 fra.me.meth = LOCATE_parser___ReduceAction297___action;
38374 fra.me.has_broke = 0;
38375 fra.me.REG_size = 9;
38376 fra.me.REG[0] = NIT_NULL;
38377 fra.me.REG[1] = NIT_NULL;
38378 fra.me.REG[2] = NIT_NULL;
38379 fra.me.REG[3] = NIT_NULL;
38380 fra.me.REG[4] = NIT_NULL;
38381 fra.me.REG[5] = NIT_NULL;
38382 fra.me.REG[6] = NIT_NULL;
38383 fra.me.REG[7] = NIT_NULL;
38384 fra.me.REG[8] = NIT_NULL;
38385 fra.me.REG[0] = p0;
38386 fra.me.REG[1] = p1;
38387 fra.me.REG[0] = NIT_NULL;
38388 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38389 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38390 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38391 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38392 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38393 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38394 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38395 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38396 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38397 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
38398 /* ./parser//parser.nit:14138 */
38399 if (UNTAG_Bool(REGB0)) {
38400 } else {
38401 fprintf(stderr, "Assert failed");
38402 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14138);
38403 nit_exit(1);
38404 }
38405 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
38406 /* ./parser//parser.nit:14140 */
38407 if (UNTAG_Bool(REGB0)) {
38408 } else {
38409 fprintf(stderr, "Assert failed");
38410 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14140);
38411 nit_exit(1);
38412 }
38413 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
38414 /* ./parser//parser.nit:14142 */
38415 if (UNTAG_Bool(REGB0)) {
38416 } else {
38417 fprintf(stderr, "Assert failed");
38418 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14142);
38419 nit_exit(1);
38420 }
38421 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
38422 /* ./parser//parser.nit:14144 */
38423 if (UNTAG_Bool(REGB0)) {
38424 } else {
38425 fprintf(stderr, "Assert failed");
38426 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14144);
38427 nit_exit(1);
38428 }
38429 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
38430 /* ./parser//parser.nit:14146 */
38431 if (UNTAG_Bool(REGB0)) {
38432 } else {
38433 fprintf(stderr, "Assert failed");
38434 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14146);
38435 nit_exit(1);
38436 }
38437 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
38438 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
38439 /* ./parser//parser.nit:14151 */
38440 if (UNTAG_Bool(REGB0)) {
38441 } else {
38442 fprintf(stderr, "Assert failed");
38443 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14151);
38444 nit_exit(1);
38445 }
38446 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
38447 /* ./parser//parser.nit:14153 */
38448 if (UNTAG_Bool(REGB0)) {
38449 } else {
38450 fprintf(stderr, "Assert failed");
38451 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14153);
38452 nit_exit(1);
38453 }
38454 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
38455 fra.me.REG[0] = fra.me.REG[2];
38456 REGB0 = TAG_Int(12);
38457 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38458 /* ./parser//parser.nit:14164 */
38459 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
38460 stack_frame_head = fra.me.prev;
38461 return;
38462 }
38463 void parser___ReduceAction297___init(val_t p0, int* init_table){
38464 int itpos301 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction297].i;
38465 struct {struct stack_frame_t me;} fra;
38466 val_t tmp;
38467 if (init_table[itpos301]) return;
38468 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38469 fra.me.file = LOCATE_parser;
38470 fra.me.line = 14166;
38471 fra.me.meth = LOCATE_parser___ReduceAction297___init;
38472 fra.me.has_broke = 0;
38473 fra.me.REG_size = 1;
38474 fra.me.REG[0] = NIT_NULL;
38475 fra.me.REG[0] = p0;
38476 /* ./parser//parser.nit:14166 */
38477 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
38478 stack_frame_head = fra.me.prev;
38479 init_table[itpos301] = 1;
38480 return;
38481 }
38482 void parser___ReduceAction298___action(val_t p0, val_t p1){
38483 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
38484 val_t REGB0;
38485 val_t tmp;
38486 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38487 fra.me.file = LOCATE_parser;
38488 fra.me.line = 14170;
38489 fra.me.meth = LOCATE_parser___ReduceAction298___action;
38490 fra.me.has_broke = 0;
38491 fra.me.REG_size = 9;
38492 fra.me.REG[0] = NIT_NULL;
38493 fra.me.REG[1] = NIT_NULL;
38494 fra.me.REG[2] = NIT_NULL;
38495 fra.me.REG[3] = NIT_NULL;
38496 fra.me.REG[4] = NIT_NULL;
38497 fra.me.REG[5] = NIT_NULL;
38498 fra.me.REG[6] = NIT_NULL;
38499 fra.me.REG[7] = NIT_NULL;
38500 fra.me.REG[8] = NIT_NULL;
38501 fra.me.REG[0] = p0;
38502 fra.me.REG[1] = p1;
38503 fra.me.REG[0] = NIT_NULL;
38504 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38505 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38506 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38507 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38508 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38509 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38510 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38511 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38512 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38513 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
38514 /* ./parser//parser.nit:14183 */
38515 if (UNTAG_Bool(REGB0)) {
38516 } else {
38517 fprintf(stderr, "Assert failed");
38518 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14183);
38519 nit_exit(1);
38520 }
38521 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
38522 /* ./parser//parser.nit:14185 */
38523 if (UNTAG_Bool(REGB0)) {
38524 } else {
38525 fprintf(stderr, "Assert failed");
38526 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14185);
38527 nit_exit(1);
38528 }
38529 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
38530 /* ./parser//parser.nit:14187 */
38531 if (UNTAG_Bool(REGB0)) {
38532 } else {
38533 fprintf(stderr, "Assert failed");
38534 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14187);
38535 nit_exit(1);
38536 }
38537 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
38538 /* ./parser//parser.nit:14189 */
38539 if (UNTAG_Bool(REGB0)) {
38540 } else {
38541 fprintf(stderr, "Assert failed");
38542 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14189);
38543 nit_exit(1);
38544 }
38545 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
38546 /* ./parser//parser.nit:14191 */
38547 if (UNTAG_Bool(REGB0)) {
38548 } else {
38549 fprintf(stderr, "Assert failed");
38550 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14191);
38551 nit_exit(1);
38552 }
38553 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
38554 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
38555 /* ./parser//parser.nit:14196 */
38556 if (UNTAG_Bool(REGB0)) {
38557 } else {
38558 fprintf(stderr, "Assert failed");
38559 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14196);
38560 nit_exit(1);
38561 }
38562 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
38563 /* ./parser//parser.nit:14198 */
38564 if (UNTAG_Bool(REGB0)) {
38565 } else {
38566 fprintf(stderr, "Assert failed");
38567 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14198);
38568 nit_exit(1);
38569 }
38570 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
38571 fra.me.REG[0] = fra.me.REG[2];
38572 REGB0 = TAG_Int(12);
38573 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38574 /* ./parser//parser.nit:14209 */
38575 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
38576 stack_frame_head = fra.me.prev;
38577 return;
38578 }
38579 void parser___ReduceAction298___init(val_t p0, int* init_table){
38580 int itpos302 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction298].i;
38581 struct {struct stack_frame_t me;} fra;
38582 val_t tmp;
38583 if (init_table[itpos302]) return;
38584 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38585 fra.me.file = LOCATE_parser;
38586 fra.me.line = 14211;
38587 fra.me.meth = LOCATE_parser___ReduceAction298___init;
38588 fra.me.has_broke = 0;
38589 fra.me.REG_size = 1;
38590 fra.me.REG[0] = NIT_NULL;
38591 fra.me.REG[0] = p0;
38592 /* ./parser//parser.nit:14211 */
38593 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
38594 stack_frame_head = fra.me.prev;
38595 init_table[itpos302] = 1;
38596 return;
38597 }
38598 void parser___ReduceAction299___action(val_t p0, val_t p1){
38599 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
38600 val_t REGB0;
38601 val_t tmp;
38602 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38603 fra.me.file = LOCATE_parser;
38604 fra.me.line = 14215;
38605 fra.me.meth = LOCATE_parser___ReduceAction299___action;
38606 fra.me.has_broke = 0;
38607 fra.me.REG_size = 9;
38608 fra.me.REG[0] = NIT_NULL;
38609 fra.me.REG[1] = NIT_NULL;
38610 fra.me.REG[2] = NIT_NULL;
38611 fra.me.REG[3] = NIT_NULL;
38612 fra.me.REG[4] = NIT_NULL;
38613 fra.me.REG[5] = NIT_NULL;
38614 fra.me.REG[6] = NIT_NULL;
38615 fra.me.REG[7] = NIT_NULL;
38616 fra.me.REG[8] = NIT_NULL;
38617 fra.me.REG[0] = p0;
38618 fra.me.REG[1] = p1;
38619 fra.me.REG[0] = NIT_NULL;
38620 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38621 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38622 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38623 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38624 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38625 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38626 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38627 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38628 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38629 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
38630 /* ./parser//parser.nit:14228 */
38631 if (UNTAG_Bool(REGB0)) {
38632 } else {
38633 fprintf(stderr, "Assert failed");
38634 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14228);
38635 nit_exit(1);
38636 }
38637 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
38638 /* ./parser//parser.nit:14230 */
38639 if (UNTAG_Bool(REGB0)) {
38640 } else {
38641 fprintf(stderr, "Assert failed");
38642 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14230);
38643 nit_exit(1);
38644 }
38645 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
38646 /* ./parser//parser.nit:14232 */
38647 if (UNTAG_Bool(REGB0)) {
38648 } else {
38649 fprintf(stderr, "Assert failed");
38650 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14232);
38651 nit_exit(1);
38652 }
38653 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
38654 /* ./parser//parser.nit:14234 */
38655 if (UNTAG_Bool(REGB0)) {
38656 } else {
38657 fprintf(stderr, "Assert failed");
38658 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14234);
38659 nit_exit(1);
38660 }
38661 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
38662 /* ./parser//parser.nit:14236 */
38663 if (UNTAG_Bool(REGB0)) {
38664 } else {
38665 fprintf(stderr, "Assert failed");
38666 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14236);
38667 nit_exit(1);
38668 }
38669 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
38670 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
38671 /* ./parser//parser.nit:14241 */
38672 if (UNTAG_Bool(REGB0)) {
38673 } else {
38674 fprintf(stderr, "Assert failed");
38675 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14241);
38676 nit_exit(1);
38677 }
38678 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
38679 /* ./parser//parser.nit:14243 */
38680 if (UNTAG_Bool(REGB0)) {
38681 } else {
38682 fprintf(stderr, "Assert failed");
38683 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14243);
38684 nit_exit(1);
38685 }
38686 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
38687 fra.me.REG[0] = fra.me.REG[2];
38688 REGB0 = TAG_Int(12);
38689 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38690 /* ./parser//parser.nit:14254 */
38691 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
38692 stack_frame_head = fra.me.prev;
38693 return;
38694 }
38695 void parser___ReduceAction299___init(val_t p0, int* init_table){
38696 int itpos303 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction299].i;
38697 struct {struct stack_frame_t me;} fra;
38698 val_t tmp;
38699 if (init_table[itpos303]) return;
38700 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38701 fra.me.file = LOCATE_parser;
38702 fra.me.line = 14256;
38703 fra.me.meth = LOCATE_parser___ReduceAction299___init;
38704 fra.me.has_broke = 0;
38705 fra.me.REG_size = 1;
38706 fra.me.REG[0] = NIT_NULL;
38707 fra.me.REG[0] = p0;
38708 /* ./parser//parser.nit:14256 */
38709 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
38710 stack_frame_head = fra.me.prev;
38711 init_table[itpos303] = 1;
38712 return;
38713 }
38714 void parser___ReduceAction300___action(val_t p0, val_t p1){
38715 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
38716 val_t REGB0;
38717 val_t tmp;
38718 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38719 fra.me.file = LOCATE_parser;
38720 fra.me.line = 14260;
38721 fra.me.meth = LOCATE_parser___ReduceAction300___action;
38722 fra.me.has_broke = 0;
38723 fra.me.REG_size = 9;
38724 fra.me.REG[0] = NIT_NULL;
38725 fra.me.REG[1] = NIT_NULL;
38726 fra.me.REG[2] = NIT_NULL;
38727 fra.me.REG[3] = NIT_NULL;
38728 fra.me.REG[4] = NIT_NULL;
38729 fra.me.REG[5] = NIT_NULL;
38730 fra.me.REG[6] = NIT_NULL;
38731 fra.me.REG[7] = NIT_NULL;
38732 fra.me.REG[8] = NIT_NULL;
38733 fra.me.REG[0] = p0;
38734 fra.me.REG[1] = p1;
38735 fra.me.REG[0] = NIT_NULL;
38736 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38737 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38738 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38739 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38740 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38741 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38742 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38743 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38744 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38745 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
38746 /* ./parser//parser.nit:14273 */
38747 if (UNTAG_Bool(REGB0)) {
38748 } else {
38749 fprintf(stderr, "Assert failed");
38750 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14273);
38751 nit_exit(1);
38752 }
38753 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
38754 /* ./parser//parser.nit:14275 */
38755 if (UNTAG_Bool(REGB0)) {
38756 } else {
38757 fprintf(stderr, "Assert failed");
38758 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14275);
38759 nit_exit(1);
38760 }
38761 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
38762 /* ./parser//parser.nit:14277 */
38763 if (UNTAG_Bool(REGB0)) {
38764 } else {
38765 fprintf(stderr, "Assert failed");
38766 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14277);
38767 nit_exit(1);
38768 }
38769 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
38770 /* ./parser//parser.nit:14279 */
38771 if (UNTAG_Bool(REGB0)) {
38772 } else {
38773 fprintf(stderr, "Assert failed");
38774 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14279);
38775 nit_exit(1);
38776 }
38777 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
38778 /* ./parser//parser.nit:14281 */
38779 if (UNTAG_Bool(REGB0)) {
38780 } else {
38781 fprintf(stderr, "Assert failed");
38782 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14281);
38783 nit_exit(1);
38784 }
38785 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
38786 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
38787 /* ./parser//parser.nit:14286 */
38788 if (UNTAG_Bool(REGB0)) {
38789 } else {
38790 fprintf(stderr, "Assert failed");
38791 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14286);
38792 nit_exit(1);
38793 }
38794 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
38795 /* ./parser//parser.nit:14288 */
38796 if (UNTAG_Bool(REGB0)) {
38797 } else {
38798 fprintf(stderr, "Assert failed");
38799 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14288);
38800 nit_exit(1);
38801 }
38802 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
38803 fra.me.REG[0] = fra.me.REG[2];
38804 REGB0 = TAG_Int(12);
38805 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38806 /* ./parser//parser.nit:14299 */
38807 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
38808 stack_frame_head = fra.me.prev;
38809 return;
38810 }
38811 void parser___ReduceAction300___init(val_t p0, int* init_table){
38812 int itpos304 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction300].i;
38813 struct {struct stack_frame_t me;} fra;
38814 val_t tmp;
38815 if (init_table[itpos304]) return;
38816 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38817 fra.me.file = LOCATE_parser;
38818 fra.me.line = 14301;
38819 fra.me.meth = LOCATE_parser___ReduceAction300___init;
38820 fra.me.has_broke = 0;
38821 fra.me.REG_size = 1;
38822 fra.me.REG[0] = NIT_NULL;
38823 fra.me.REG[0] = p0;
38824 /* ./parser//parser.nit:14301 */
38825 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
38826 stack_frame_head = fra.me.prev;
38827 init_table[itpos304] = 1;
38828 return;
38829 }
38830 void parser___ReduceAction301___action(val_t p0, val_t p1){
38831 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
38832 val_t REGB0;
38833 val_t tmp;
38834 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38835 fra.me.file = LOCATE_parser;
38836 fra.me.line = 14305;
38837 fra.me.meth = LOCATE_parser___ReduceAction301___action;
38838 fra.me.has_broke = 0;
38839 fra.me.REG_size = 9;
38840 fra.me.REG[0] = NIT_NULL;
38841 fra.me.REG[1] = NIT_NULL;
38842 fra.me.REG[2] = NIT_NULL;
38843 fra.me.REG[3] = NIT_NULL;
38844 fra.me.REG[4] = NIT_NULL;
38845 fra.me.REG[5] = NIT_NULL;
38846 fra.me.REG[6] = NIT_NULL;
38847 fra.me.REG[7] = NIT_NULL;
38848 fra.me.REG[8] = NIT_NULL;
38849 fra.me.REG[0] = p0;
38850 fra.me.REG[1] = p1;
38851 fra.me.REG[0] = NIT_NULL;
38852 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38853 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38854 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38855 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38856 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38857 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38858 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38859 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38860 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38861 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
38862 /* ./parser//parser.nit:14318 */
38863 if (UNTAG_Bool(REGB0)) {
38864 } else {
38865 fprintf(stderr, "Assert failed");
38866 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14318);
38867 nit_exit(1);
38868 }
38869 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
38870 /* ./parser//parser.nit:14320 */
38871 if (UNTAG_Bool(REGB0)) {
38872 } else {
38873 fprintf(stderr, "Assert failed");
38874 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14320);
38875 nit_exit(1);
38876 }
38877 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
38878 /* ./parser//parser.nit:14322 */
38879 if (UNTAG_Bool(REGB0)) {
38880 } else {
38881 fprintf(stderr, "Assert failed");
38882 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14322);
38883 nit_exit(1);
38884 }
38885 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
38886 /* ./parser//parser.nit:14324 */
38887 if (UNTAG_Bool(REGB0)) {
38888 } else {
38889 fprintf(stderr, "Assert failed");
38890 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14324);
38891 nit_exit(1);
38892 }
38893 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
38894 /* ./parser//parser.nit:14326 */
38895 if (UNTAG_Bool(REGB0)) {
38896 } else {
38897 fprintf(stderr, "Assert failed");
38898 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14326);
38899 nit_exit(1);
38900 }
38901 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
38902 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
38903 /* ./parser//parser.nit:14331 */
38904 if (UNTAG_Bool(REGB0)) {
38905 } else {
38906 fprintf(stderr, "Assert failed");
38907 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14331);
38908 nit_exit(1);
38909 }
38910 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
38911 /* ./parser//parser.nit:14333 */
38912 if (UNTAG_Bool(REGB0)) {
38913 } else {
38914 fprintf(stderr, "Assert failed");
38915 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14333);
38916 nit_exit(1);
38917 }
38918 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
38919 fra.me.REG[0] = fra.me.REG[2];
38920 REGB0 = TAG_Int(12);
38921 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38922 /* ./parser//parser.nit:14344 */
38923 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
38924 stack_frame_head = fra.me.prev;
38925 return;
38926 }
38927 void parser___ReduceAction301___init(val_t p0, int* init_table){
38928 int itpos305 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction301].i;
38929 struct {struct stack_frame_t me;} fra;
38930 val_t tmp;
38931 if (init_table[itpos305]) return;
38932 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38933 fra.me.file = LOCATE_parser;
38934 fra.me.line = 14346;
38935 fra.me.meth = LOCATE_parser___ReduceAction301___init;
38936 fra.me.has_broke = 0;
38937 fra.me.REG_size = 1;
38938 fra.me.REG[0] = NIT_NULL;
38939 fra.me.REG[0] = p0;
38940 /* ./parser//parser.nit:14346 */
38941 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
38942 stack_frame_head = fra.me.prev;
38943 init_table[itpos305] = 1;
38944 return;
38945 }
38946 void parser___ReduceAction302___action(val_t p0, val_t p1){
38947 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
38948 val_t REGB0;
38949 val_t tmp;
38950 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38951 fra.me.file = LOCATE_parser;
38952 fra.me.line = 14350;
38953 fra.me.meth = LOCATE_parser___ReduceAction302___action;
38954 fra.me.has_broke = 0;
38955 fra.me.REG_size = 9;
38956 fra.me.REG[0] = NIT_NULL;
38957 fra.me.REG[1] = NIT_NULL;
38958 fra.me.REG[2] = NIT_NULL;
38959 fra.me.REG[3] = NIT_NULL;
38960 fra.me.REG[4] = NIT_NULL;
38961 fra.me.REG[5] = NIT_NULL;
38962 fra.me.REG[6] = NIT_NULL;
38963 fra.me.REG[7] = NIT_NULL;
38964 fra.me.REG[8] = NIT_NULL;
38965 fra.me.REG[0] = p0;
38966 fra.me.REG[1] = p1;
38967 fra.me.REG[0] = NIT_NULL;
38968 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38969 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38970 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38971 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38972 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38973 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38974 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38975 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38976 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38977 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
38978 /* ./parser//parser.nit:14363 */
38979 if (UNTAG_Bool(REGB0)) {
38980 } else {
38981 fprintf(stderr, "Assert failed");
38982 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14363);
38983 nit_exit(1);
38984 }
38985 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
38986 /* ./parser//parser.nit:14365 */
38987 if (UNTAG_Bool(REGB0)) {
38988 } else {
38989 fprintf(stderr, "Assert failed");
38990 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14365);
38991 nit_exit(1);
38992 }
38993 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
38994 /* ./parser//parser.nit:14367 */
38995 if (UNTAG_Bool(REGB0)) {
38996 } else {
38997 fprintf(stderr, "Assert failed");
38998 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14367);
38999 nit_exit(1);
39000 }
39001 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
39002 /* ./parser//parser.nit:14369 */
39003 if (UNTAG_Bool(REGB0)) {
39004 } else {
39005 fprintf(stderr, "Assert failed");
39006 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14369);
39007 nit_exit(1);
39008 }
39009 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
39010 /* ./parser//parser.nit:14371 */
39011 if (UNTAG_Bool(REGB0)) {
39012 } else {
39013 fprintf(stderr, "Assert failed");
39014 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14371);
39015 nit_exit(1);
39016 }
39017 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
39018 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
39019 /* ./parser//parser.nit:14376 */
39020 if (UNTAG_Bool(REGB0)) {
39021 } else {
39022 fprintf(stderr, "Assert failed");
39023 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14376);
39024 nit_exit(1);
39025 }
39026 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
39027 /* ./parser//parser.nit:14378 */
39028 if (UNTAG_Bool(REGB0)) {
39029 } else {
39030 fprintf(stderr, "Assert failed");
39031 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14378);
39032 nit_exit(1);
39033 }
39034 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
39035 fra.me.REG[0] = fra.me.REG[2];
39036 REGB0 = TAG_Int(12);
39037 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39038 /* ./parser//parser.nit:14389 */
39039 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
39040 stack_frame_head = fra.me.prev;
39041 return;
39042 }
39043 void parser___ReduceAction302___init(val_t p0, int* init_table){
39044 int itpos306 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction302].i;
39045 struct {struct stack_frame_t me;} fra;
39046 val_t tmp;
39047 if (init_table[itpos306]) return;
39048 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39049 fra.me.file = LOCATE_parser;
39050 fra.me.line = 14391;
39051 fra.me.meth = LOCATE_parser___ReduceAction302___init;
39052 fra.me.has_broke = 0;
39053 fra.me.REG_size = 1;
39054 fra.me.REG[0] = NIT_NULL;
39055 fra.me.REG[0] = p0;
39056 /* ./parser//parser.nit:14391 */
39057 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
39058 stack_frame_head = fra.me.prev;
39059 init_table[itpos306] = 1;
39060 return;
39061 }
39062 void parser___ReduceAction303___action(val_t p0, val_t p1){
39063 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
39064 val_t REGB0;
39065 val_t tmp;
39066 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39067 fra.me.file = LOCATE_parser;
39068 fra.me.line = 14395;
39069 fra.me.meth = LOCATE_parser___ReduceAction303___action;
39070 fra.me.has_broke = 0;
39071 fra.me.REG_size = 9;
39072 fra.me.REG[0] = NIT_NULL;
39073 fra.me.REG[1] = NIT_NULL;
39074 fra.me.REG[2] = NIT_NULL;
39075 fra.me.REG[3] = NIT_NULL;
39076 fra.me.REG[4] = NIT_NULL;
39077 fra.me.REG[5] = NIT_NULL;
39078 fra.me.REG[6] = NIT_NULL;
39079 fra.me.REG[7] = NIT_NULL;
39080 fra.me.REG[8] = NIT_NULL;
39081 fra.me.REG[0] = p0;
39082 fra.me.REG[1] = p1;
39083 fra.me.REG[0] = NIT_NULL;
39084 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39085 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39086 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39087 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39088 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39089 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39090 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39091 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39092 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39093 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
39094 /* ./parser//parser.nit:14408 */
39095 if (UNTAG_Bool(REGB0)) {
39096 } else {
39097 fprintf(stderr, "Assert failed");
39098 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14408);
39099 nit_exit(1);
39100 }
39101 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
39102 /* ./parser//parser.nit:14410 */
39103 if (UNTAG_Bool(REGB0)) {
39104 } else {
39105 fprintf(stderr, "Assert failed");
39106 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14410);
39107 nit_exit(1);
39108 }
39109 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
39110 /* ./parser//parser.nit:14412 */
39111 if (UNTAG_Bool(REGB0)) {
39112 } else {
39113 fprintf(stderr, "Assert failed");
39114 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14412);
39115 nit_exit(1);
39116 }
39117 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
39118 /* ./parser//parser.nit:14414 */
39119 if (UNTAG_Bool(REGB0)) {
39120 } else {
39121 fprintf(stderr, "Assert failed");
39122 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14414);
39123 nit_exit(1);
39124 }
39125 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
39126 /* ./parser//parser.nit:14416 */
39127 if (UNTAG_Bool(REGB0)) {
39128 } else {
39129 fprintf(stderr, "Assert failed");
39130 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14416);
39131 nit_exit(1);
39132 }
39133 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
39134 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
39135 /* ./parser//parser.nit:14421 */
39136 if (UNTAG_Bool(REGB0)) {
39137 } else {
39138 fprintf(stderr, "Assert failed");
39139 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14421);
39140 nit_exit(1);
39141 }
39142 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
39143 /* ./parser//parser.nit:14423 */
39144 if (UNTAG_Bool(REGB0)) {
39145 } else {
39146 fprintf(stderr, "Assert failed");
39147 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14423);
39148 nit_exit(1);
39149 }
39150 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
39151 fra.me.REG[0] = fra.me.REG[2];
39152 REGB0 = TAG_Int(12);
39153 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39154 /* ./parser//parser.nit:14434 */
39155 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
39156 stack_frame_head = fra.me.prev;
39157 return;
39158 }
39159 void parser___ReduceAction303___init(val_t p0, int* init_table){
39160 int itpos307 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction303].i;
39161 struct {struct stack_frame_t me;} fra;
39162 val_t tmp;
39163 if (init_table[itpos307]) return;
39164 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39165 fra.me.file = LOCATE_parser;
39166 fra.me.line = 14436;
39167 fra.me.meth = LOCATE_parser___ReduceAction303___init;
39168 fra.me.has_broke = 0;
39169 fra.me.REG_size = 1;
39170 fra.me.REG[0] = NIT_NULL;
39171 fra.me.REG[0] = p0;
39172 /* ./parser//parser.nit:14436 */
39173 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
39174 stack_frame_head = fra.me.prev;
39175 init_table[itpos307] = 1;
39176 return;
39177 }
39178 void parser___ReduceAction304___action(val_t p0, val_t p1){
39179 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
39180 val_t REGB0;
39181 val_t tmp;
39182 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39183 fra.me.file = LOCATE_parser;
39184 fra.me.line = 14440;
39185 fra.me.meth = LOCATE_parser___ReduceAction304___action;
39186 fra.me.has_broke = 0;
39187 fra.me.REG_size = 9;
39188 fra.me.REG[0] = NIT_NULL;
39189 fra.me.REG[1] = NIT_NULL;
39190 fra.me.REG[2] = NIT_NULL;
39191 fra.me.REG[3] = NIT_NULL;
39192 fra.me.REG[4] = NIT_NULL;
39193 fra.me.REG[5] = NIT_NULL;
39194 fra.me.REG[6] = NIT_NULL;
39195 fra.me.REG[7] = NIT_NULL;
39196 fra.me.REG[8] = NIT_NULL;
39197 fra.me.REG[0] = p0;
39198 fra.me.REG[1] = p1;
39199 fra.me.REG[0] = NIT_NULL;
39200 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39201 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39202 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39203 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39204 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39205 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39206 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39207 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39208 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39209 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
39210 /* ./parser//parser.nit:14453 */
39211 if (UNTAG_Bool(REGB0)) {
39212 } else {
39213 fprintf(stderr, "Assert failed");
39214 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14453);
39215 nit_exit(1);
39216 }
39217 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
39218 /* ./parser//parser.nit:14455 */
39219 if (UNTAG_Bool(REGB0)) {
39220 } else {
39221 fprintf(stderr, "Assert failed");
39222 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14455);
39223 nit_exit(1);
39224 }
39225 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
39226 /* ./parser//parser.nit:14457 */
39227 if (UNTAG_Bool(REGB0)) {
39228 } else {
39229 fprintf(stderr, "Assert failed");
39230 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14457);
39231 nit_exit(1);
39232 }
39233 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
39234 /* ./parser//parser.nit:14459 */
39235 if (UNTAG_Bool(REGB0)) {
39236 } else {
39237 fprintf(stderr, "Assert failed");
39238 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14459);
39239 nit_exit(1);
39240 }
39241 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
39242 /* ./parser//parser.nit:14461 */
39243 if (UNTAG_Bool(REGB0)) {
39244 } else {
39245 fprintf(stderr, "Assert failed");
39246 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14461);
39247 nit_exit(1);
39248 }
39249 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
39250 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
39251 /* ./parser//parser.nit:14466 */
39252 if (UNTAG_Bool(REGB0)) {
39253 } else {
39254 fprintf(stderr, "Assert failed");
39255 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14466);
39256 nit_exit(1);
39257 }
39258 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
39259 /* ./parser//parser.nit:14468 */
39260 if (UNTAG_Bool(REGB0)) {
39261 } else {
39262 fprintf(stderr, "Assert failed");
39263 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14468);
39264 nit_exit(1);
39265 }
39266 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
39267 fra.me.REG[0] = fra.me.REG[2];
39268 REGB0 = TAG_Int(12);
39269 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39270 /* ./parser//parser.nit:14479 */
39271 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
39272 stack_frame_head = fra.me.prev;
39273 return;
39274 }
39275 void parser___ReduceAction304___init(val_t p0, int* init_table){
39276 int itpos308 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction304].i;
39277 struct {struct stack_frame_t me;} fra;
39278 val_t tmp;
39279 if (init_table[itpos308]) return;
39280 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39281 fra.me.file = LOCATE_parser;
39282 fra.me.line = 14481;
39283 fra.me.meth = LOCATE_parser___ReduceAction304___init;
39284 fra.me.has_broke = 0;
39285 fra.me.REG_size = 1;
39286 fra.me.REG[0] = NIT_NULL;
39287 fra.me.REG[0] = p0;
39288 /* ./parser//parser.nit:14481 */
39289 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
39290 stack_frame_head = fra.me.prev;
39291 init_table[itpos308] = 1;
39292 return;
39293 }
39294 void parser___ReduceAction305___action(val_t p0, val_t p1){
39295 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
39296 val_t REGB0;
39297 val_t tmp;
39298 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39299 fra.me.file = LOCATE_parser;
39300 fra.me.line = 14485;
39301 fra.me.meth = LOCATE_parser___ReduceAction305___action;
39302 fra.me.has_broke = 0;
39303 fra.me.REG_size = 9;
39304 fra.me.REG[0] = NIT_NULL;
39305 fra.me.REG[1] = NIT_NULL;
39306 fra.me.REG[2] = NIT_NULL;
39307 fra.me.REG[3] = NIT_NULL;
39308 fra.me.REG[4] = NIT_NULL;
39309 fra.me.REG[5] = NIT_NULL;
39310 fra.me.REG[6] = NIT_NULL;
39311 fra.me.REG[7] = NIT_NULL;
39312 fra.me.REG[8] = NIT_NULL;
39313 fra.me.REG[0] = p0;
39314 fra.me.REG[1] = p1;
39315 fra.me.REG[0] = NIT_NULL;
39316 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39317 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39318 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39319 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39320 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39321 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39322 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39323 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39324 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39325 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
39326 /* ./parser//parser.nit:14498 */
39327 if (UNTAG_Bool(REGB0)) {
39328 } else {
39329 fprintf(stderr, "Assert failed");
39330 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14498);
39331 nit_exit(1);
39332 }
39333 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
39334 /* ./parser//parser.nit:14500 */
39335 if (UNTAG_Bool(REGB0)) {
39336 } else {
39337 fprintf(stderr, "Assert failed");
39338 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14500);
39339 nit_exit(1);
39340 }
39341 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
39342 /* ./parser//parser.nit:14502 */
39343 if (UNTAG_Bool(REGB0)) {
39344 } else {
39345 fprintf(stderr, "Assert failed");
39346 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14502);
39347 nit_exit(1);
39348 }
39349 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
39350 /* ./parser//parser.nit:14504 */
39351 if (UNTAG_Bool(REGB0)) {
39352 } else {
39353 fprintf(stderr, "Assert failed");
39354 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14504);
39355 nit_exit(1);
39356 }
39357 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
39358 /* ./parser//parser.nit:14506 */
39359 if (UNTAG_Bool(REGB0)) {
39360 } else {
39361 fprintf(stderr, "Assert failed");
39362 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14506);
39363 nit_exit(1);
39364 }
39365 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
39366 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
39367 /* ./parser//parser.nit:14511 */
39368 if (UNTAG_Bool(REGB0)) {
39369 } else {
39370 fprintf(stderr, "Assert failed");
39371 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14511);
39372 nit_exit(1);
39373 }
39374 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
39375 /* ./parser//parser.nit:14513 */
39376 if (UNTAG_Bool(REGB0)) {
39377 } else {
39378 fprintf(stderr, "Assert failed");
39379 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14513);
39380 nit_exit(1);
39381 }
39382 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
39383 fra.me.REG[0] = fra.me.REG[2];
39384 REGB0 = TAG_Int(12);
39385 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39386 /* ./parser//parser.nit:14524 */
39387 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
39388 stack_frame_head = fra.me.prev;
39389 return;
39390 }
39391 void parser___ReduceAction305___init(val_t p0, int* init_table){
39392 int itpos309 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction305].i;
39393 struct {struct stack_frame_t me;} fra;
39394 val_t tmp;
39395 if (init_table[itpos309]) return;
39396 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39397 fra.me.file = LOCATE_parser;
39398 fra.me.line = 14526;
39399 fra.me.meth = LOCATE_parser___ReduceAction305___init;
39400 fra.me.has_broke = 0;
39401 fra.me.REG_size = 1;
39402 fra.me.REG[0] = NIT_NULL;
39403 fra.me.REG[0] = p0;
39404 /* ./parser//parser.nit:14526 */
39405 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
39406 stack_frame_head = fra.me.prev;
39407 init_table[itpos309] = 1;
39408 return;
39409 }
39410 void parser___ReduceAction306___action(val_t p0, val_t p1){
39411 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
39412 val_t REGB0;
39413 val_t tmp;
39414 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39415 fra.me.file = LOCATE_parser;
39416 fra.me.line = 14530;
39417 fra.me.meth = LOCATE_parser___ReduceAction306___action;
39418 fra.me.has_broke = 0;
39419 fra.me.REG_size = 10;
39420 fra.me.REG[0] = NIT_NULL;
39421 fra.me.REG[1] = NIT_NULL;
39422 fra.me.REG[2] = NIT_NULL;
39423 fra.me.REG[3] = NIT_NULL;
39424 fra.me.REG[4] = NIT_NULL;
39425 fra.me.REG[5] = NIT_NULL;
39426 fra.me.REG[6] = NIT_NULL;
39427 fra.me.REG[7] = NIT_NULL;
39428 fra.me.REG[8] = NIT_NULL;
39429 fra.me.REG[9] = NIT_NULL;
39430 fra.me.REG[0] = p0;
39431 fra.me.REG[1] = p1;
39432 fra.me.REG[0] = NIT_NULL;
39433 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39434 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39435 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39436 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39437 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39438 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39439 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39440 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39441 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39442 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39443 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
39444 /* ./parser//parser.nit:14544 */
39445 if (UNTAG_Bool(REGB0)) {
39446 } else {
39447 fprintf(stderr, "Assert failed");
39448 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14544);
39449 nit_exit(1);
39450 }
39451 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
39452 /* ./parser//parser.nit:14546 */
39453 if (UNTAG_Bool(REGB0)) {
39454 } else {
39455 fprintf(stderr, "Assert failed");
39456 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14546);
39457 nit_exit(1);
39458 }
39459 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
39460 /* ./parser//parser.nit:14548 */
39461 if (UNTAG_Bool(REGB0)) {
39462 } else {
39463 fprintf(stderr, "Assert failed");
39464 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14548);
39465 nit_exit(1);
39466 }
39467 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
39468 /* ./parser//parser.nit:14550 */
39469 if (UNTAG_Bool(REGB0)) {
39470 } else {
39471 fprintf(stderr, "Assert failed");
39472 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14550);
39473 nit_exit(1);
39474 }
39475 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
39476 /* ./parser//parser.nit:14552 */
39477 if (UNTAG_Bool(REGB0)) {
39478 } else {
39479 fprintf(stderr, "Assert failed");
39480 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14552);
39481 nit_exit(1);
39482 }
39483 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
39484 /* ./parser//parser.nit:14554 */
39485 if (UNTAG_Bool(REGB0)) {
39486 } else {
39487 fprintf(stderr, "Assert failed");
39488 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14554);
39489 nit_exit(1);
39490 }
39491 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
39492 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
39493 /* ./parser//parser.nit:14560 */
39494 if (UNTAG_Bool(REGB0)) {
39495 } else {
39496 fprintf(stderr, "Assert failed");
39497 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14560);
39498 nit_exit(1);
39499 }
39500 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
39501 /* ./parser//parser.nit:14562 */
39502 if (UNTAG_Bool(REGB0)) {
39503 } else {
39504 fprintf(stderr, "Assert failed");
39505 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14562);
39506 nit_exit(1);
39507 }
39508 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
39509 fra.me.REG[0] = fra.me.REG[2];
39510 REGB0 = TAG_Int(12);
39511 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39512 /* ./parser//parser.nit:14573 */
39513 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
39514 stack_frame_head = fra.me.prev;
39515 return;
39516 }
39517 void parser___ReduceAction306___init(val_t p0, int* init_table){
39518 int itpos310 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction306].i;
39519 struct {struct stack_frame_t me;} fra;
39520 val_t tmp;
39521 if (init_table[itpos310]) return;
39522 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39523 fra.me.file = LOCATE_parser;
39524 fra.me.line = 14575;
39525 fra.me.meth = LOCATE_parser___ReduceAction306___init;
39526 fra.me.has_broke = 0;
39527 fra.me.REG_size = 1;
39528 fra.me.REG[0] = NIT_NULL;
39529 fra.me.REG[0] = p0;
39530 /* ./parser//parser.nit:14575 */
39531 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
39532 stack_frame_head = fra.me.prev;
39533 init_table[itpos310] = 1;
39534 return;
39535 }
39536 void parser___ReduceAction307___action(val_t p0, val_t p1){
39537 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
39538 val_t REGB0;
39539 val_t tmp;
39540 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39541 fra.me.file = LOCATE_parser;
39542 fra.me.line = 14579;
39543 fra.me.meth = LOCATE_parser___ReduceAction307___action;
39544 fra.me.has_broke = 0;
39545 fra.me.REG_size = 9;
39546 fra.me.REG[0] = NIT_NULL;
39547 fra.me.REG[1] = NIT_NULL;
39548 fra.me.REG[2] = NIT_NULL;
39549 fra.me.REG[3] = NIT_NULL;
39550 fra.me.REG[4] = NIT_NULL;
39551 fra.me.REG[5] = NIT_NULL;
39552 fra.me.REG[6] = NIT_NULL;
39553 fra.me.REG[7] = NIT_NULL;
39554 fra.me.REG[8] = NIT_NULL;
39555 fra.me.REG[0] = p0;
39556 fra.me.REG[1] = p1;
39557 fra.me.REG[0] = NIT_NULL;
39558 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39559 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39560 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39561 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39562 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39563 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39564 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39565 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39566 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39567 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
39568 /* ./parser//parser.nit:14592 */
39569 if (UNTAG_Bool(REGB0)) {
39570 } else {
39571 fprintf(stderr, "Assert failed");
39572 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14592);
39573 nit_exit(1);
39574 }
39575 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
39576 /* ./parser//parser.nit:14594 */
39577 if (UNTAG_Bool(REGB0)) {
39578 } else {
39579 fprintf(stderr, "Assert failed");
39580 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14594);
39581 nit_exit(1);
39582 }
39583 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
39584 /* ./parser//parser.nit:14596 */
39585 if (UNTAG_Bool(REGB0)) {
39586 } else {
39587 fprintf(stderr, "Assert failed");
39588 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14596);
39589 nit_exit(1);
39590 }
39591 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
39592 /* ./parser//parser.nit:14598 */
39593 if (UNTAG_Bool(REGB0)) {
39594 } else {
39595 fprintf(stderr, "Assert failed");
39596 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14598);
39597 nit_exit(1);
39598 }
39599 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
39600 /* ./parser//parser.nit:14600 */
39601 if (UNTAG_Bool(REGB0)) {
39602 } else {
39603 fprintf(stderr, "Assert failed");
39604 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14600);
39605 nit_exit(1);
39606 }
39607 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
39608 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
39609 /* ./parser//parser.nit:14605 */
39610 if (UNTAG_Bool(REGB0)) {
39611 } else {
39612 fprintf(stderr, "Assert failed");
39613 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14605);
39614 nit_exit(1);
39615 }
39616 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
39617 /* ./parser//parser.nit:14607 */
39618 if (UNTAG_Bool(REGB0)) {
39619 } else {
39620 fprintf(stderr, "Assert failed");
39621 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14607);
39622 nit_exit(1);
39623 }
39624 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
39625 fra.me.REG[0] = fra.me.REG[2];
39626 REGB0 = TAG_Int(12);
39627 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39628 /* ./parser//parser.nit:14618 */
39629 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
39630 stack_frame_head = fra.me.prev;
39631 return;
39632 }
39633 void parser___ReduceAction307___init(val_t p0, int* init_table){
39634 int itpos311 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction307].i;
39635 struct {struct stack_frame_t me;} fra;
39636 val_t tmp;
39637 if (init_table[itpos311]) return;
39638 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39639 fra.me.file = LOCATE_parser;
39640 fra.me.line = 14620;
39641 fra.me.meth = LOCATE_parser___ReduceAction307___init;
39642 fra.me.has_broke = 0;
39643 fra.me.REG_size = 1;
39644 fra.me.REG[0] = NIT_NULL;
39645 fra.me.REG[0] = p0;
39646 /* ./parser//parser.nit:14620 */
39647 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
39648 stack_frame_head = fra.me.prev;
39649 init_table[itpos311] = 1;
39650 return;
39651 }
39652 void parser___ReduceAction308___action(val_t p0, val_t p1){
39653 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
39654 val_t REGB0;
39655 val_t tmp;
39656 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39657 fra.me.file = LOCATE_parser;
39658 fra.me.line = 14624;
39659 fra.me.meth = LOCATE_parser___ReduceAction308___action;
39660 fra.me.has_broke = 0;
39661 fra.me.REG_size = 10;
39662 fra.me.REG[0] = NIT_NULL;
39663 fra.me.REG[1] = NIT_NULL;
39664 fra.me.REG[2] = NIT_NULL;
39665 fra.me.REG[3] = NIT_NULL;
39666 fra.me.REG[4] = NIT_NULL;
39667 fra.me.REG[5] = NIT_NULL;
39668 fra.me.REG[6] = NIT_NULL;
39669 fra.me.REG[7] = NIT_NULL;
39670 fra.me.REG[8] = NIT_NULL;
39671 fra.me.REG[9] = NIT_NULL;
39672 fra.me.REG[0] = p0;
39673 fra.me.REG[1] = p1;
39674 fra.me.REG[0] = NIT_NULL;
39675 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39676 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39677 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39678 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39679 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39680 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39681 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39682 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39683 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39684 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39685 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
39686 /* ./parser//parser.nit:14638 */
39687 if (UNTAG_Bool(REGB0)) {
39688 } else {
39689 fprintf(stderr, "Assert failed");
39690 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14638);
39691 nit_exit(1);
39692 }
39693 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
39694 /* ./parser//parser.nit:14640 */
39695 if (UNTAG_Bool(REGB0)) {
39696 } else {
39697 fprintf(stderr, "Assert failed");
39698 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14640);
39699 nit_exit(1);
39700 }
39701 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
39702 /* ./parser//parser.nit:14642 */
39703 if (UNTAG_Bool(REGB0)) {
39704 } else {
39705 fprintf(stderr, "Assert failed");
39706 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14642);
39707 nit_exit(1);
39708 }
39709 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
39710 /* ./parser//parser.nit:14644 */
39711 if (UNTAG_Bool(REGB0)) {
39712 } else {
39713 fprintf(stderr, "Assert failed");
39714 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14644);
39715 nit_exit(1);
39716 }
39717 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
39718 /* ./parser//parser.nit:14646 */
39719 if (UNTAG_Bool(REGB0)) {
39720 } else {
39721 fprintf(stderr, "Assert failed");
39722 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14646);
39723 nit_exit(1);
39724 }
39725 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
39726 /* ./parser//parser.nit:14648 */
39727 if (UNTAG_Bool(REGB0)) {
39728 } else {
39729 fprintf(stderr, "Assert failed");
39730 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14648);
39731 nit_exit(1);
39732 }
39733 fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
39734 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
39735 /* ./parser//parser.nit:14654 */
39736 if (UNTAG_Bool(REGB0)) {
39737 } else {
39738 fprintf(stderr, "Assert failed");
39739 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14654);
39740 nit_exit(1);
39741 }
39742 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
39743 /* ./parser//parser.nit:14656 */
39744 if (UNTAG_Bool(REGB0)) {
39745 } else {
39746 fprintf(stderr, "Assert failed");
39747 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14656);
39748 nit_exit(1);
39749 }
39750 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
39751 fra.me.REG[0] = fra.me.REG[2];
39752 REGB0 = TAG_Int(12);
39753 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39754 /* ./parser//parser.nit:14667 */
39755 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
39756 stack_frame_head = fra.me.prev;
39757 return;
39758 }
39759 void parser___ReduceAction308___init(val_t p0, int* init_table){
39760 int itpos312 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction308].i;
39761 struct {struct stack_frame_t me;} fra;
39762 val_t tmp;
39763 if (init_table[itpos312]) return;
39764 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39765 fra.me.file = LOCATE_parser;
39766 fra.me.line = 14669;
39767 fra.me.meth = LOCATE_parser___ReduceAction308___init;
39768 fra.me.has_broke = 0;
39769 fra.me.REG_size = 1;
39770 fra.me.REG[0] = NIT_NULL;
39771 fra.me.REG[0] = p0;
39772 /* ./parser//parser.nit:14669 */
39773 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
39774 stack_frame_head = fra.me.prev;
39775 init_table[itpos312] = 1;
39776 return;
39777 }
39778 void parser___ReduceAction309___action(val_t p0, val_t p1){
39779 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
39780 val_t REGB0;
39781 val_t tmp;
39782 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39783 fra.me.file = LOCATE_parser;
39784 fra.me.line = 14673;
39785 fra.me.meth = LOCATE_parser___ReduceAction309___action;
39786 fra.me.has_broke = 0;
39787 fra.me.REG_size = 11;
39788 fra.me.REG[0] = NIT_NULL;
39789 fra.me.REG[1] = NIT_NULL;
39790 fra.me.REG[2] = NIT_NULL;
39791 fra.me.REG[3] = NIT_NULL;
39792 fra.me.REG[4] = NIT_NULL;
39793 fra.me.REG[5] = NIT_NULL;
39794 fra.me.REG[6] = NIT_NULL;
39795 fra.me.REG[7] = NIT_NULL;
39796 fra.me.REG[8] = NIT_NULL;
39797 fra.me.REG[9] = NIT_NULL;
39798 fra.me.REG[10] = NIT_NULL;
39799 fra.me.REG[0] = p0;
39800 fra.me.REG[1] = p1;
39801 fra.me.REG[0] = NIT_NULL;
39802 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39803 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39804 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39805 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39806 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39807 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39808 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39809 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39810 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39811 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39812 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39813 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
39814 /* ./parser//parser.nit:14688 */
39815 if (UNTAG_Bool(REGB0)) {
39816 } else {
39817 fprintf(stderr, "Assert failed");
39818 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14688);
39819 nit_exit(1);
39820 }
39821 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
39822 /* ./parser//parser.nit:14690 */
39823 if (UNTAG_Bool(REGB0)) {
39824 } else {
39825 fprintf(stderr, "Assert failed");
39826 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14690);
39827 nit_exit(1);
39828 }
39829 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
39830 /* ./parser//parser.nit:14692 */
39831 if (UNTAG_Bool(REGB0)) {
39832 } else {
39833 fprintf(stderr, "Assert failed");
39834 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14692);
39835 nit_exit(1);
39836 }
39837 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
39838 /* ./parser//parser.nit:14694 */
39839 if (UNTAG_Bool(REGB0)) {
39840 } else {
39841 fprintf(stderr, "Assert failed");
39842 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14694);
39843 nit_exit(1);
39844 }
39845 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
39846 /* ./parser//parser.nit:14696 */
39847 if (UNTAG_Bool(REGB0)) {
39848 } else {
39849 fprintf(stderr, "Assert failed");
39850 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14696);
39851 nit_exit(1);
39852 }
39853 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
39854 /* ./parser//parser.nit:14698 */
39855 if (UNTAG_Bool(REGB0)) {
39856 } else {
39857 fprintf(stderr, "Assert failed");
39858 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14698);
39859 nit_exit(1);
39860 }
39861 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
39862 /* ./parser//parser.nit:14700 */
39863 if (UNTAG_Bool(REGB0)) {
39864 } else {
39865 fprintf(stderr, "Assert failed");
39866 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14700);
39867 nit_exit(1);
39868 }
39869 fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
39870 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
39871 /* ./parser//parser.nit:14707 */
39872 if (UNTAG_Bool(REGB0)) {
39873 } else {
39874 fprintf(stderr, "Assert failed");
39875 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14707);
39876 nit_exit(1);
39877 }
39878 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
39879 /* ./parser//parser.nit:14709 */
39880 if (UNTAG_Bool(REGB0)) {
39881 } else {
39882 fprintf(stderr, "Assert failed");
39883 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14709);
39884 nit_exit(1);
39885 }
39886 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
39887 fra.me.REG[0] = fra.me.REG[2];
39888 REGB0 = TAG_Int(12);
39889 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39890 /* ./parser//parser.nit:14720 */
39891 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
39892 stack_frame_head = fra.me.prev;
39893 return;
39894 }
39895 void parser___ReduceAction309___init(val_t p0, int* init_table){
39896 int itpos313 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction309].i;
39897 struct {struct stack_frame_t me;} fra;
39898 val_t tmp;
39899 if (init_table[itpos313]) return;
39900 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39901 fra.me.file = LOCATE_parser;
39902 fra.me.line = 14722;
39903 fra.me.meth = LOCATE_parser___ReduceAction309___init;
39904 fra.me.has_broke = 0;
39905 fra.me.REG_size = 1;
39906 fra.me.REG[0] = NIT_NULL;
39907 fra.me.REG[0] = p0;
39908 /* ./parser//parser.nit:14722 */
39909 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
39910 stack_frame_head = fra.me.prev;
39911 init_table[itpos313] = 1;
39912 return;
39913 }
39914 void parser___ReduceAction310___action(val_t p0, val_t p1){
39915 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
39916 val_t REGB0;
39917 val_t tmp;
39918 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39919 fra.me.file = LOCATE_parser;
39920 fra.me.line = 14726;
39921 fra.me.meth = LOCATE_parser___ReduceAction310___action;
39922 fra.me.has_broke = 0;
39923 fra.me.REG_size = 8;
39924 fra.me.REG[0] = NIT_NULL;
39925 fra.me.REG[1] = NIT_NULL;
39926 fra.me.REG[2] = NIT_NULL;
39927 fra.me.REG[3] = NIT_NULL;
39928 fra.me.REG[4] = NIT_NULL;
39929 fra.me.REG[5] = NIT_NULL;
39930 fra.me.REG[6] = NIT_NULL;
39931 fra.me.REG[7] = NIT_NULL;
39932 fra.me.REG[0] = p0;
39933 fra.me.REG[1] = p1;
39934 fra.me.REG[0] = NIT_NULL;
39935 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39936 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39937 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39938 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39939 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39940 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39941 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
39942 /* ./parser//parser.nit:14736 */
39943 if (UNTAG_Bool(REGB0)) {
39944 } else {
39945 fprintf(stderr, "Assert failed");
39946 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14736);
39947 nit_exit(1);
39948 }
39949 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
39950 /* ./parser//parser.nit:14738 */
39951 if (UNTAG_Bool(REGB0)) {
39952 } else {
39953 fprintf(stderr, "Assert failed");
39954 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14738);
39955 nit_exit(1);
39956 }
39957 fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[6]);
39958 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
39959 /* ./parser//parser.nit:14744 */
39960 if (UNTAG_Bool(REGB0)) {
39961 } else {
39962 fprintf(stderr, "Assert failed");
39963 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14744);
39964 nit_exit(1);
39965 }
39966 fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[5]);
39967 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
39968 /* ./parser//parser.nit:14750 */
39969 if (UNTAG_Bool(REGB0)) {
39970 } else {
39971 fprintf(stderr, "Assert failed");
39972 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14750);
39973 nit_exit(1);
39974 }
39975 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
39976 /* ./parser//parser.nit:14752 */
39977 if (UNTAG_Bool(REGB0)) {
39978 } else {
39979 fprintf(stderr, "Assert failed");
39980 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14752);
39981 nit_exit(1);
39982 }
39983 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
39984 /* ./parser//parser.nit:14754 */
39985 if (UNTAG_Bool(REGB0)) {
39986 } else {
39987 fprintf(stderr, "Assert failed");
39988 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14754);
39989 nit_exit(1);
39990 }
39991 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
39992 fra.me.REG[0] = fra.me.REG[2];
39993 REGB0 = TAG_Int(12);
39994 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39995 /* ./parser//parser.nit:14767 */
39996 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
39997 stack_frame_head = fra.me.prev;
39998 return;
39999 }
40000 void parser___ReduceAction310___init(val_t p0, int* init_table){
40001 int itpos314 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction310].i;
40002 struct {struct stack_frame_t me;} fra;
40003 val_t tmp;
40004 if (init_table[itpos314]) return;
40005 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40006 fra.me.file = LOCATE_parser;
40007 fra.me.line = 14769;
40008 fra.me.meth = LOCATE_parser___ReduceAction310___init;
40009 fra.me.has_broke = 0;
40010 fra.me.REG_size = 1;
40011 fra.me.REG[0] = NIT_NULL;
40012 fra.me.REG[0] = p0;
40013 /* ./parser//parser.nit:14769 */
40014 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
40015 stack_frame_head = fra.me.prev;
40016 init_table[itpos314] = 1;
40017 return;
40018 }
40019 void parser___ReduceAction311___action(val_t p0, val_t p1){
40020 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
40021 val_t REGB0;
40022 val_t tmp;
40023 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40024 fra.me.file = LOCATE_parser;
40025 fra.me.line = 14773;
40026 fra.me.meth = LOCATE_parser___ReduceAction311___action;
40027 fra.me.has_broke = 0;
40028 fra.me.REG_size = 9;
40029 fra.me.REG[0] = NIT_NULL;
40030 fra.me.REG[1] = NIT_NULL;
40031 fra.me.REG[2] = NIT_NULL;
40032 fra.me.REG[3] = NIT_NULL;
40033 fra.me.REG[4] = NIT_NULL;
40034 fra.me.REG[5] = NIT_NULL;
40035 fra.me.REG[6] = NIT_NULL;
40036 fra.me.REG[7] = NIT_NULL;
40037 fra.me.REG[8] = NIT_NULL;
40038 fra.me.REG[0] = p0;
40039 fra.me.REG[1] = p1;
40040 fra.me.REG[0] = NIT_NULL;
40041 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40042 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40043 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40044 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40045 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40046 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40047 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40048 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
40049 /* ./parser//parser.nit:14784 */
40050 if (UNTAG_Bool(REGB0)) {
40051 } else {
40052 fprintf(stderr, "Assert failed");
40053 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14784);
40054 nit_exit(1);
40055 }
40056 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
40057 /* ./parser//parser.nit:14786 */
40058 if (UNTAG_Bool(REGB0)) {
40059 } else {
40060 fprintf(stderr, "Assert failed");
40061 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14786);
40062 nit_exit(1);
40063 }
40064 fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]);
40065 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
40066 /* ./parser//parser.nit:14792 */
40067 if (UNTAG_Bool(REGB0)) {
40068 } else {
40069 fprintf(stderr, "Assert failed");
40070 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14792);
40071 nit_exit(1);
40072 }
40073 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
40074 /* ./parser//parser.nit:14794 */
40075 if (UNTAG_Bool(REGB0)) {
40076 } else {
40077 fprintf(stderr, "Assert failed");
40078 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14794);
40079 nit_exit(1);
40080 }
40081 fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[6], fra.me.REG[5]);
40082 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
40083 /* ./parser//parser.nit:14800 */
40084 if (UNTAG_Bool(REGB0)) {
40085 } else {
40086 fprintf(stderr, "Assert failed");
40087 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14800);
40088 nit_exit(1);
40089 }
40090 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
40091 /* ./parser//parser.nit:14802 */
40092 if (UNTAG_Bool(REGB0)) {
40093 } else {
40094 fprintf(stderr, "Assert failed");
40095 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14802);
40096 nit_exit(1);
40097 }
40098 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
40099 /* ./parser//parser.nit:14804 */
40100 if (UNTAG_Bool(REGB0)) {
40101 } else {
40102 fprintf(stderr, "Assert failed");
40103 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14804);
40104 nit_exit(1);
40105 }
40106 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
40107 fra.me.REG[0] = fra.me.REG[2];
40108 REGB0 = TAG_Int(12);
40109 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40110 /* ./parser//parser.nit:14817 */
40111 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
40112 stack_frame_head = fra.me.prev;
40113 return;
40114 }
40115 void parser___ReduceAction311___init(val_t p0, int* init_table){
40116 int itpos315 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction311].i;
40117 struct {struct stack_frame_t me;} fra;
40118 val_t tmp;
40119 if (init_table[itpos315]) return;
40120 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40121 fra.me.file = LOCATE_parser;
40122 fra.me.line = 14819;
40123 fra.me.meth = LOCATE_parser___ReduceAction311___init;
40124 fra.me.has_broke = 0;
40125 fra.me.REG_size = 1;
40126 fra.me.REG[0] = NIT_NULL;
40127 fra.me.REG[0] = p0;
40128 /* ./parser//parser.nit:14819 */
40129 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
40130 stack_frame_head = fra.me.prev;
40131 init_table[itpos315] = 1;
40132 return;
40133 }
40134 void parser___ReduceAction312___action(val_t p0, val_t p1){
40135 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
40136 val_t REGB0;
40137 val_t tmp;
40138 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40139 fra.me.file = LOCATE_parser;
40140 fra.me.line = 14823;
40141 fra.me.meth = LOCATE_parser___ReduceAction312___action;
40142 fra.me.has_broke = 0;
40143 fra.me.REG_size = 7;
40144 fra.me.REG[0] = NIT_NULL;
40145 fra.me.REG[1] = NIT_NULL;
40146 fra.me.REG[2] = NIT_NULL;
40147 fra.me.REG[3] = NIT_NULL;
40148 fra.me.REG[4] = NIT_NULL;
40149 fra.me.REG[5] = NIT_NULL;
40150 fra.me.REG[6] = NIT_NULL;
40151 fra.me.REG[0] = p0;
40152 fra.me.REG[1] = p1;
40153 fra.me.REG[0] = NIT_NULL;
40154 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40155 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40156 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40157 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40158 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40159 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
40160 /* ./parser//parser.nit:14832 */
40161 if (UNTAG_Bool(REGB0)) {
40162 } else {
40163 fprintf(stderr, "Assert failed");
40164 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14832);
40165 nit_exit(1);
40166 }
40167 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
40168 /* ./parser//parser.nit:14834 */
40169 if (UNTAG_Bool(REGB0)) {
40170 } else {
40171 fprintf(stderr, "Assert failed");
40172 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14834);
40173 nit_exit(1);
40174 }
40175 fra.me.REG[5] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[5]);
40176 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
40177 /* ./parser//parser.nit:14840 */
40178 if (UNTAG_Bool(REGB0)) {
40179 } else {
40180 fprintf(stderr, "Assert failed");
40181 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14840);
40182 nit_exit(1);
40183 }
40184 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
40185 /* ./parser//parser.nit:14842 */
40186 if (UNTAG_Bool(REGB0)) {
40187 } else {
40188 fprintf(stderr, "Assert failed");
40189 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14842);
40190 nit_exit(1);
40191 }
40192 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
40193 /* ./parser//parser.nit:14844 */
40194 if (UNTAG_Bool(REGB0)) {
40195 } else {
40196 fprintf(stderr, "Assert failed");
40197 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14844);
40198 nit_exit(1);
40199 }
40200 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[6], fra.me.REG[5], NIT_NULL, NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
40201 fra.me.REG[0] = fra.me.REG[2];
40202 REGB0 = TAG_Int(12);
40203 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40204 /* ./parser//parser.nit:14857 */
40205 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
40206 stack_frame_head = fra.me.prev;
40207 return;
40208 }
40209 void parser___ReduceAction312___init(val_t p0, int* init_table){
40210 int itpos316 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction312].i;
40211 struct {struct stack_frame_t me;} fra;
40212 val_t tmp;
40213 if (init_table[itpos316]) return;
40214 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40215 fra.me.file = LOCATE_parser;
40216 fra.me.line = 14859;
40217 fra.me.meth = LOCATE_parser___ReduceAction312___init;
40218 fra.me.has_broke = 0;
40219 fra.me.REG_size = 1;
40220 fra.me.REG[0] = NIT_NULL;
40221 fra.me.REG[0] = p0;
40222 /* ./parser//parser.nit:14859 */
40223 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
40224 stack_frame_head = fra.me.prev;
40225 init_table[itpos316] = 1;
40226 return;
40227 }
40228 void parser___ReduceAction313___action(val_t p0, val_t p1){
40229 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
40230 val_t REGB0;
40231 val_t tmp;
40232 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40233 fra.me.file = LOCATE_parser;
40234 fra.me.line = 14863;
40235 fra.me.meth = LOCATE_parser___ReduceAction313___action;
40236 fra.me.has_broke = 0;
40237 fra.me.REG_size = 9;
40238 fra.me.REG[0] = NIT_NULL;
40239 fra.me.REG[1] = NIT_NULL;
40240 fra.me.REG[2] = NIT_NULL;
40241 fra.me.REG[3] = NIT_NULL;
40242 fra.me.REG[4] = NIT_NULL;
40243 fra.me.REG[5] = NIT_NULL;
40244 fra.me.REG[6] = NIT_NULL;
40245 fra.me.REG[7] = NIT_NULL;
40246 fra.me.REG[8] = NIT_NULL;
40247 fra.me.REG[0] = p0;
40248 fra.me.REG[1] = p1;
40249 fra.me.REG[0] = NIT_NULL;
40250 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40251 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40252 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40253 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40254 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40255 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40256 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40257 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
40258 /* ./parser//parser.nit:14874 */
40259 if (UNTAG_Bool(REGB0)) {
40260 } else {
40261 fprintf(stderr, "Assert failed");
40262 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14874);
40263 nit_exit(1);
40264 }
40265 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
40266 /* ./parser//parser.nit:14876 */
40267 if (UNTAG_Bool(REGB0)) {
40268 } else {
40269 fprintf(stderr, "Assert failed");
40270 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14876);
40271 nit_exit(1);
40272 }
40273 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
40274 /* ./parser//parser.nit:14878 */
40275 if (UNTAG_Bool(REGB0)) {
40276 } else {
40277 fprintf(stderr, "Assert failed");
40278 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14878);
40279 nit_exit(1);
40280 }
40281 fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[7], fra.me.REG[6]);
40282 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
40283 /* ./parser//parser.nit:14884 */
40284 if (UNTAG_Bool(REGB0)) {
40285 } else {
40286 fprintf(stderr, "Assert failed");
40287 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14884);
40288 nit_exit(1);
40289 }
40290 fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[5]);
40291 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
40292 /* ./parser//parser.nit:14890 */
40293 if (UNTAG_Bool(REGB0)) {
40294 } else {
40295 fprintf(stderr, "Assert failed");
40296 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14890);
40297 nit_exit(1);
40298 }
40299 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
40300 /* ./parser//parser.nit:14892 */
40301 if (UNTAG_Bool(REGB0)) {
40302 } else {
40303 fprintf(stderr, "Assert failed");
40304 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14892);
40305 nit_exit(1);
40306 }
40307 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
40308 /* ./parser//parser.nit:14894 */
40309 if (UNTAG_Bool(REGB0)) {
40310 } else {
40311 fprintf(stderr, "Assert failed");
40312 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14894);
40313 nit_exit(1);
40314 }
40315 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
40316 fra.me.REG[0] = fra.me.REG[2];
40317 REGB0 = TAG_Int(12);
40318 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40319 /* ./parser//parser.nit:14907 */
40320 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
40321 stack_frame_head = fra.me.prev;
40322 return;
40323 }
40324 void parser___ReduceAction313___init(val_t p0, int* init_table){
40325 int itpos317 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction313].i;
40326 struct {struct stack_frame_t me;} fra;
40327 val_t tmp;
40328 if (init_table[itpos317]) return;
40329 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40330 fra.me.file = LOCATE_parser;
40331 fra.me.line = 14909;
40332 fra.me.meth = LOCATE_parser___ReduceAction313___init;
40333 fra.me.has_broke = 0;
40334 fra.me.REG_size = 1;
40335 fra.me.REG[0] = NIT_NULL;
40336 fra.me.REG[0] = p0;
40337 /* ./parser//parser.nit:14909 */
40338 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
40339 stack_frame_head = fra.me.prev;
40340 init_table[itpos317] = 1;
40341 return;
40342 }
40343 void parser___ReduceAction314___action(val_t p0, val_t p1){
40344 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
40345 val_t REGB0;
40346 val_t tmp;
40347 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40348 fra.me.file = LOCATE_parser;
40349 fra.me.line = 14913;
40350 fra.me.meth = LOCATE_parser___ReduceAction314___action;
40351 fra.me.has_broke = 0;
40352 fra.me.REG_size = 10;
40353 fra.me.REG[0] = NIT_NULL;
40354 fra.me.REG[1] = NIT_NULL;
40355 fra.me.REG[2] = NIT_NULL;
40356 fra.me.REG[3] = NIT_NULL;
40357 fra.me.REG[4] = NIT_NULL;
40358 fra.me.REG[5] = NIT_NULL;
40359 fra.me.REG[6] = NIT_NULL;
40360 fra.me.REG[7] = NIT_NULL;
40361 fra.me.REG[8] = NIT_NULL;
40362 fra.me.REG[9] = NIT_NULL;
40363 fra.me.REG[0] = p0;
40364 fra.me.REG[1] = p1;
40365 fra.me.REG[0] = NIT_NULL;
40366 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40367 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40368 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40369 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40370 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40371 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40372 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40373 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40374 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
40375 /* ./parser//parser.nit:14925 */
40376 if (UNTAG_Bool(REGB0)) {
40377 } else {
40378 fprintf(stderr, "Assert failed");
40379 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14925);
40380 nit_exit(1);
40381 }
40382 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
40383 /* ./parser//parser.nit:14927 */
40384 if (UNTAG_Bool(REGB0)) {
40385 } else {
40386 fprintf(stderr, "Assert failed");
40387 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14927);
40388 nit_exit(1);
40389 }
40390 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
40391 /* ./parser//parser.nit:14929 */
40392 if (UNTAG_Bool(REGB0)) {
40393 } else {
40394 fprintf(stderr, "Assert failed");
40395 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14929);
40396 nit_exit(1);
40397 }
40398 fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]);
40399 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
40400 /* ./parser//parser.nit:14935 */
40401 if (UNTAG_Bool(REGB0)) {
40402 } else {
40403 fprintf(stderr, "Assert failed");
40404 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14935);
40405 nit_exit(1);
40406 }
40407 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
40408 /* ./parser//parser.nit:14937 */
40409 if (UNTAG_Bool(REGB0)) {
40410 } else {
40411 fprintf(stderr, "Assert failed");
40412 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14937);
40413 nit_exit(1);
40414 }
40415 fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[6], fra.me.REG[5]);
40416 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
40417 /* ./parser//parser.nit:14943 */
40418 if (UNTAG_Bool(REGB0)) {
40419 } else {
40420 fprintf(stderr, "Assert failed");
40421 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14943);
40422 nit_exit(1);
40423 }
40424 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
40425 /* ./parser//parser.nit:14945 */
40426 if (UNTAG_Bool(REGB0)) {
40427 } else {
40428 fprintf(stderr, "Assert failed");
40429 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14945);
40430 nit_exit(1);
40431 }
40432 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
40433 /* ./parser//parser.nit:14947 */
40434 if (UNTAG_Bool(REGB0)) {
40435 } else {
40436 fprintf(stderr, "Assert failed");
40437 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14947);
40438 nit_exit(1);
40439 }
40440 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
40441 fra.me.REG[0] = fra.me.REG[2];
40442 REGB0 = TAG_Int(12);
40443 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40444 /* ./parser//parser.nit:14960 */
40445 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
40446 stack_frame_head = fra.me.prev;
40447 return;
40448 }
40449 void parser___ReduceAction314___init(val_t p0, int* init_table){
40450 int itpos318 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction314].i;
40451 struct {struct stack_frame_t me;} fra;
40452 val_t tmp;
40453 if (init_table[itpos318]) return;
40454 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40455 fra.me.file = LOCATE_parser;
40456 fra.me.line = 14962;
40457 fra.me.meth = LOCATE_parser___ReduceAction314___init;
40458 fra.me.has_broke = 0;
40459 fra.me.REG_size = 1;
40460 fra.me.REG[0] = NIT_NULL;
40461 fra.me.REG[0] = p0;
40462 /* ./parser//parser.nit:14962 */
40463 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
40464 stack_frame_head = fra.me.prev;
40465 init_table[itpos318] = 1;
40466 return;
40467 }
40468 void parser___ReduceAction315___action(val_t p0, val_t p1){
40469 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
40470 val_t REGB0;
40471 val_t tmp;
40472 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40473 fra.me.file = LOCATE_parser;
40474 fra.me.line = 14966;
40475 fra.me.meth = LOCATE_parser___ReduceAction315___action;
40476 fra.me.has_broke = 0;
40477 fra.me.REG_size = 8;
40478 fra.me.REG[0] = NIT_NULL;
40479 fra.me.REG[1] = NIT_NULL;
40480 fra.me.REG[2] = NIT_NULL;
40481 fra.me.REG[3] = NIT_NULL;
40482 fra.me.REG[4] = NIT_NULL;
40483 fra.me.REG[5] = NIT_NULL;
40484 fra.me.REG[6] = NIT_NULL;
40485 fra.me.REG[7] = NIT_NULL;
40486 fra.me.REG[0] = p0;
40487 fra.me.REG[1] = p1;
40488 fra.me.REG[0] = NIT_NULL;
40489 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40490 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40491 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40492 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40493 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40494 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40495 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
40496 /* ./parser//parser.nit:14976 */
40497 if (UNTAG_Bool(REGB0)) {
40498 } else {
40499 fprintf(stderr, "Assert failed");
40500 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14976);
40501 nit_exit(1);
40502 }
40503 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
40504 /* ./parser//parser.nit:14978 */
40505 if (UNTAG_Bool(REGB0)) {
40506 } else {
40507 fprintf(stderr, "Assert failed");
40508 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14978);
40509 nit_exit(1);
40510 }
40511 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
40512 /* ./parser//parser.nit:14980 */
40513 if (UNTAG_Bool(REGB0)) {
40514 } else {
40515 fprintf(stderr, "Assert failed");
40516 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14980);
40517 nit_exit(1);
40518 }
40519 fra.me.REG[5] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[6], fra.me.REG[5]);
40520 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
40521 /* ./parser//parser.nit:14986 */
40522 if (UNTAG_Bool(REGB0)) {
40523 } else {
40524 fprintf(stderr, "Assert failed");
40525 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14986);
40526 nit_exit(1);
40527 }
40528 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
40529 /* ./parser//parser.nit:14988 */
40530 if (UNTAG_Bool(REGB0)) {
40531 } else {
40532 fprintf(stderr, "Assert failed");
40533 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14988);
40534 nit_exit(1);
40535 }
40536 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
40537 /* ./parser//parser.nit:14990 */
40538 if (UNTAG_Bool(REGB0)) {
40539 } else {
40540 fprintf(stderr, "Assert failed");
40541 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14990);
40542 nit_exit(1);
40543 }
40544 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], fra.me.REG[5], NIT_NULL, NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
40545 fra.me.REG[0] = fra.me.REG[2];
40546 REGB0 = TAG_Int(12);
40547 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40548 /* ./parser//parser.nit:15003 */
40549 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
40550 stack_frame_head = fra.me.prev;
40551 return;
40552 }
40553 void parser___ReduceAction315___init(val_t p0, int* init_table){
40554 int itpos319 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction315].i;
40555 struct {struct stack_frame_t me;} fra;
40556 val_t tmp;
40557 if (init_table[itpos319]) return;
40558 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40559 fra.me.file = LOCATE_parser;
40560 fra.me.line = 15005;
40561 fra.me.meth = LOCATE_parser___ReduceAction315___init;
40562 fra.me.has_broke = 0;
40563 fra.me.REG_size = 1;
40564 fra.me.REG[0] = NIT_NULL;
40565 fra.me.REG[0] = p0;
40566 /* ./parser//parser.nit:15005 */
40567 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
40568 stack_frame_head = fra.me.prev;
40569 init_table[itpos319] = 1;
40570 return;
40571 }
40572 void parser___ReduceAction316___action(val_t p0, val_t p1){
40573 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
40574 val_t REGB0;
40575 val_t tmp;
40576 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40577 fra.me.file = LOCATE_parser;
40578 fra.me.line = 15009;
40579 fra.me.meth = LOCATE_parser___ReduceAction316___action;
40580 fra.me.has_broke = 0;
40581 fra.me.REG_size = 7;
40582 fra.me.REG[0] = NIT_NULL;
40583 fra.me.REG[1] = NIT_NULL;
40584 fra.me.REG[2] = NIT_NULL;
40585 fra.me.REG[3] = NIT_NULL;
40586 fra.me.REG[4] = NIT_NULL;
40587 fra.me.REG[5] = NIT_NULL;
40588 fra.me.REG[6] = NIT_NULL;
40589 fra.me.REG[0] = p0;
40590 fra.me.REG[1] = p1;
40591 fra.me.REG[0] = NIT_NULL;
40592 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40593 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40594 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40595 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40596 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40597 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
40598 /* ./parser//parser.nit:15018 */
40599 if (UNTAG_Bool(REGB0)) {
40600 } else {
40601 fprintf(stderr, "Assert failed");
40602 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15018);
40603 nit_exit(1);
40604 }
40605 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
40606 /* ./parser//parser.nit:15020 */
40607 if (UNTAG_Bool(REGB0)) {
40608 } else {
40609 fprintf(stderr, "Assert failed");
40610 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15020);
40611 nit_exit(1);
40612 }
40613 fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[5]);
40614 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
40615 /* ./parser//parser.nit:15026 */
40616 if (UNTAG_Bool(REGB0)) {
40617 } else {
40618 fprintf(stderr, "Assert failed");
40619 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15026);
40620 nit_exit(1);
40621 }
40622 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
40623 /* ./parser//parser.nit:15028 */
40624 if (UNTAG_Bool(REGB0)) {
40625 } else {
40626 fprintf(stderr, "Assert failed");
40627 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15028);
40628 nit_exit(1);
40629 }
40630 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
40631 /* ./parser//parser.nit:15030 */
40632 if (UNTAG_Bool(REGB0)) {
40633 } else {
40634 fprintf(stderr, "Assert failed");
40635 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15030);
40636 nit_exit(1);
40637 }
40638 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
40639 fra.me.REG[0] = fra.me.REG[2];
40640 REGB0 = TAG_Int(12);
40641 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40642 /* ./parser//parser.nit:15043 */
40643 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
40644 stack_frame_head = fra.me.prev;
40645 return;
40646 }
40647 void parser___ReduceAction316___init(val_t p0, int* init_table){
40648 int itpos320 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction316].i;
40649 struct {struct stack_frame_t me;} fra;
40650 val_t tmp;
40651 if (init_table[itpos320]) return;
40652 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40653 fra.me.file = LOCATE_parser;
40654 fra.me.line = 15045;
40655 fra.me.meth = LOCATE_parser___ReduceAction316___init;
40656 fra.me.has_broke = 0;
40657 fra.me.REG_size = 1;
40658 fra.me.REG[0] = NIT_NULL;
40659 fra.me.REG[0] = p0;
40660 /* ./parser//parser.nit:15045 */
40661 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
40662 stack_frame_head = fra.me.prev;
40663 init_table[itpos320] = 1;
40664 return;
40665 }
40666 void parser___ReduceAction317___action(val_t p0, val_t p1){
40667 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
40668 val_t REGB0;
40669 val_t tmp;
40670 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40671 fra.me.file = LOCATE_parser;
40672 fra.me.line = 15049;
40673 fra.me.meth = LOCATE_parser___ReduceAction317___action;
40674 fra.me.has_broke = 0;
40675 fra.me.REG_size = 8;
40676 fra.me.REG[0] = NIT_NULL;
40677 fra.me.REG[1] = NIT_NULL;
40678 fra.me.REG[2] = NIT_NULL;
40679 fra.me.REG[3] = NIT_NULL;
40680 fra.me.REG[4] = NIT_NULL;
40681 fra.me.REG[5] = NIT_NULL;
40682 fra.me.REG[6] = NIT_NULL;
40683 fra.me.REG[7] = NIT_NULL;
40684 fra.me.REG[0] = p0;
40685 fra.me.REG[1] = p1;
40686 fra.me.REG[0] = NIT_NULL;
40687 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40688 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40689 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40690 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40691 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40692 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40693 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
40694 /* ./parser//parser.nit:15059 */
40695 if (UNTAG_Bool(REGB0)) {
40696 } else {
40697 fprintf(stderr, "Assert failed");
40698 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15059);
40699 nit_exit(1);
40700 }
40701 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
40702 /* ./parser//parser.nit:15061 */
40703 if (UNTAG_Bool(REGB0)) {
40704 } else {
40705 fprintf(stderr, "Assert failed");
40706 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15061);
40707 nit_exit(1);
40708 }
40709 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
40710 /* ./parser//parser.nit:15063 */
40711 if (UNTAG_Bool(REGB0)) {
40712 } else {
40713 fprintf(stderr, "Assert failed");
40714 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15063);
40715 nit_exit(1);
40716 }
40717 fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[6], fra.me.REG[5]);
40718 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
40719 /* ./parser//parser.nit:15069 */
40720 if (UNTAG_Bool(REGB0)) {
40721 } else {
40722 fprintf(stderr, "Assert failed");
40723 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15069);
40724 nit_exit(1);
40725 }
40726 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
40727 /* ./parser//parser.nit:15071 */
40728 if (UNTAG_Bool(REGB0)) {
40729 } else {
40730 fprintf(stderr, "Assert failed");
40731 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15071);
40732 nit_exit(1);
40733 }
40734 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
40735 /* ./parser//parser.nit:15073 */
40736 if (UNTAG_Bool(REGB0)) {
40737 } else {
40738 fprintf(stderr, "Assert failed");
40739 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15073);
40740 nit_exit(1);
40741 }
40742 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
40743 fra.me.REG[0] = fra.me.REG[2];
40744 REGB0 = TAG_Int(12);
40745 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40746 /* ./parser//parser.nit:15086 */
40747 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
40748 stack_frame_head = fra.me.prev;
40749 return;
40750 }
40751 void parser___ReduceAction317___init(val_t p0, int* init_table){
40752 int itpos321 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction317].i;
40753 struct {struct stack_frame_t me;} fra;
40754 val_t tmp;
40755 if (init_table[itpos321]) return;
40756 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40757 fra.me.file = LOCATE_parser;
40758 fra.me.line = 15088;
40759 fra.me.meth = LOCATE_parser___ReduceAction317___init;
40760 fra.me.has_broke = 0;
40761 fra.me.REG_size = 1;
40762 fra.me.REG[0] = NIT_NULL;
40763 fra.me.REG[0] = p0;
40764 /* ./parser//parser.nit:15088 */
40765 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
40766 stack_frame_head = fra.me.prev;
40767 init_table[itpos321] = 1;
40768 return;
40769 }
40770 void parser___ReduceAction318___action(val_t p0, val_t p1){
40771 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
40772 val_t REGB0;
40773 val_t tmp;
40774 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40775 fra.me.file = LOCATE_parser;
40776 fra.me.line = 15092;
40777 fra.me.meth = LOCATE_parser___ReduceAction318___action;
40778 fra.me.has_broke = 0;
40779 fra.me.REG_size = 6;
40780 fra.me.REG[0] = NIT_NULL;
40781 fra.me.REG[1] = NIT_NULL;
40782 fra.me.REG[2] = NIT_NULL;
40783 fra.me.REG[3] = NIT_NULL;
40784 fra.me.REG[4] = NIT_NULL;
40785 fra.me.REG[5] = NIT_NULL;
40786 fra.me.REG[0] = p0;
40787 fra.me.REG[1] = p1;
40788 fra.me.REG[0] = NIT_NULL;
40789 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40790 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40791 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40792 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40793 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
40794 /* ./parser//parser.nit:15100 */
40795 if (UNTAG_Bool(REGB0)) {
40796 } else {
40797 fprintf(stderr, "Assert failed");
40798 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15100);
40799 nit_exit(1);
40800 }
40801 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
40802 /* ./parser//parser.nit:15102 */
40803 if (UNTAG_Bool(REGB0)) {
40804 } else {
40805 fprintf(stderr, "Assert failed");
40806 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15102);
40807 nit_exit(1);
40808 }
40809 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
40810 /* ./parser//parser.nit:15104 */
40811 if (UNTAG_Bool(REGB0)) {
40812 } else {
40813 fprintf(stderr, "Assert failed");
40814 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15104);
40815 nit_exit(1);
40816 }
40817 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
40818 /* ./parser//parser.nit:15106 */
40819 if (UNTAG_Bool(REGB0)) {
40820 } else {
40821 fprintf(stderr, "Assert failed");
40822 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15106);
40823 nit_exit(1);
40824 }
40825 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[5], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
40826 fra.me.REG[0] = fra.me.REG[2];
40827 REGB0 = TAG_Int(12);
40828 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40829 /* ./parser//parser.nit:15119 */
40830 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
40831 stack_frame_head = fra.me.prev;
40832 return;
40833 }
40834 void parser___ReduceAction318___init(val_t p0, int* init_table){
40835 int itpos322 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction318].i;
40836 struct {struct stack_frame_t me;} fra;
40837 val_t tmp;
40838 if (init_table[itpos322]) return;
40839 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40840 fra.me.file = LOCATE_parser;
40841 fra.me.line = 15121;
40842 fra.me.meth = LOCATE_parser___ReduceAction318___init;
40843 fra.me.has_broke = 0;
40844 fra.me.REG_size = 1;
40845 fra.me.REG[0] = NIT_NULL;
40846 fra.me.REG[0] = p0;
40847 /* ./parser//parser.nit:15121 */
40848 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
40849 stack_frame_head = fra.me.prev;
40850 init_table[itpos322] = 1;
40851 return;
40852 }
40853 void parser___ReduceAction319___action(val_t p0, val_t p1){
40854 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
40855 val_t REGB0;
40856 val_t tmp;
40857 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40858 fra.me.file = LOCATE_parser;
40859 fra.me.line = 15125;
40860 fra.me.meth = LOCATE_parser___ReduceAction319___action;
40861 fra.me.has_broke = 0;
40862 fra.me.REG_size = 9;
40863 fra.me.REG[0] = NIT_NULL;
40864 fra.me.REG[1] = NIT_NULL;
40865 fra.me.REG[2] = NIT_NULL;
40866 fra.me.REG[3] = NIT_NULL;
40867 fra.me.REG[4] = NIT_NULL;
40868 fra.me.REG[5] = NIT_NULL;
40869 fra.me.REG[6] = NIT_NULL;
40870 fra.me.REG[7] = NIT_NULL;
40871 fra.me.REG[8] = NIT_NULL;
40872 fra.me.REG[0] = p0;
40873 fra.me.REG[1] = p1;
40874 fra.me.REG[0] = NIT_NULL;
40875 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40876 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40877 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40878 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40879 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40880 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40881 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40882 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
40883 /* ./parser//parser.nit:15136 */
40884 if (UNTAG_Bool(REGB0)) {
40885 } else {
40886 fprintf(stderr, "Assert failed");
40887 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15136);
40888 nit_exit(1);
40889 }
40890 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
40891 /* ./parser//parser.nit:15138 */
40892 if (UNTAG_Bool(REGB0)) {
40893 } else {
40894 fprintf(stderr, "Assert failed");
40895 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15138);
40896 nit_exit(1);
40897 }
40898 fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]);
40899 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
40900 /* ./parser//parser.nit:15144 */
40901 if (UNTAG_Bool(REGB0)) {
40902 } else {
40903 fprintf(stderr, "Assert failed");
40904 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15144);
40905 nit_exit(1);
40906 }
40907 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
40908 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
40909 /* ./parser//parser.nit:15150 */
40910 if (UNTAG_Bool(REGB0)) {
40911 } else {
40912 fprintf(stderr, "Assert failed");
40913 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15150);
40914 nit_exit(1);
40915 }
40916 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
40917 /* ./parser//parser.nit:15152 */
40918 if (UNTAG_Bool(REGB0)) {
40919 } else {
40920 fprintf(stderr, "Assert failed");
40921 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15152);
40922 nit_exit(1);
40923 }
40924 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
40925 /* ./parser//parser.nit:15154 */
40926 if (UNTAG_Bool(REGB0)) {
40927 } else {
40928 fprintf(stderr, "Assert failed");
40929 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15154);
40930 nit_exit(1);
40931 }
40932 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
40933 /* ./parser//parser.nit:15156 */
40934 if (UNTAG_Bool(REGB0)) {
40935 } else {
40936 fprintf(stderr, "Assert failed");
40937 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15156);
40938 nit_exit(1);
40939 }
40940 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
40941 fra.me.REG[0] = fra.me.REG[2];
40942 REGB0 = TAG_Int(12);
40943 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40944 /* ./parser//parser.nit:15169 */
40945 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
40946 stack_frame_head = fra.me.prev;
40947 return;
40948 }
40949 void parser___ReduceAction319___init(val_t p0, int* init_table){
40950 int itpos323 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction319].i;
40951 struct {struct stack_frame_t me;} fra;
40952 val_t tmp;
40953 if (init_table[itpos323]) return;
40954 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40955 fra.me.file = LOCATE_parser;
40956 fra.me.line = 15171;
40957 fra.me.meth = LOCATE_parser___ReduceAction319___init;
40958 fra.me.has_broke = 0;
40959 fra.me.REG_size = 1;
40960 fra.me.REG[0] = NIT_NULL;
40961 fra.me.REG[0] = p0;
40962 /* ./parser//parser.nit:15171 */
40963 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
40964 stack_frame_head = fra.me.prev;
40965 init_table[itpos323] = 1;
40966 return;
40967 }
40968 void parser___ReduceAction320___action(val_t p0, val_t p1){
40969 struct {struct stack_frame_t me; val_t MORE_REG[9];} 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 = 15175;
40975 fra.me.meth = LOCATE_parser___ReduceAction320___action;
40976 fra.me.has_broke = 0;
40977 fra.me.REG_size = 10;
40978 fra.me.REG[0] = NIT_NULL;
40979 fra.me.REG[1] = NIT_NULL;
40980 fra.me.REG[2] = NIT_NULL;
40981 fra.me.REG[3] = NIT_NULL;
40982 fra.me.REG[4] = NIT_NULL;
40983 fra.me.REG[5] = NIT_NULL;
40984 fra.me.REG[6] = NIT_NULL;
40985 fra.me.REG[7] = NIT_NULL;
40986 fra.me.REG[8] = NIT_NULL;
40987 fra.me.REG[9] = NIT_NULL;
40988 fra.me.REG[0] = p0;
40989 fra.me.REG[1] = p1;
40990 fra.me.REG[0] = NIT_NULL;
40991 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40992 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40993 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40994 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40995 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40996 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40997 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40998 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40999 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
41000 /* ./parser//parser.nit:15187 */
41001 if (UNTAG_Bool(REGB0)) {
41002 } else {
41003 fprintf(stderr, "Assert failed");
41004 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15187);
41005 nit_exit(1);
41006 }
41007 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
41008 /* ./parser//parser.nit:15189 */
41009 if (UNTAG_Bool(REGB0)) {
41010 } else {
41011 fprintf(stderr, "Assert failed");
41012 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15189);
41013 nit_exit(1);
41014 }
41015 fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]);
41016 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
41017 /* ./parser//parser.nit:15195 */
41018 if (UNTAG_Bool(REGB0)) {
41019 } else {
41020 fprintf(stderr, "Assert failed");
41021 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15195);
41022 nit_exit(1);
41023 }
41024 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
41025 /* ./parser//parser.nit:15197 */
41026 if (UNTAG_Bool(REGB0)) {
41027 } else {
41028 fprintf(stderr, "Assert failed");
41029 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15197);
41030 nit_exit(1);
41031 }
41032 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
41033 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
41034 /* ./parser//parser.nit:15203 */
41035 if (UNTAG_Bool(REGB0)) {
41036 } else {
41037 fprintf(stderr, "Assert failed");
41038 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15203);
41039 nit_exit(1);
41040 }
41041 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
41042 /* ./parser//parser.nit:15205 */
41043 if (UNTAG_Bool(REGB0)) {
41044 } else {
41045 fprintf(stderr, "Assert failed");
41046 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15205);
41047 nit_exit(1);
41048 }
41049 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
41050 /* ./parser//parser.nit:15207 */
41051 if (UNTAG_Bool(REGB0)) {
41052 } else {
41053 fprintf(stderr, "Assert failed");
41054 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15207);
41055 nit_exit(1);
41056 }
41057 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
41058 /* ./parser//parser.nit:15209 */
41059 if (UNTAG_Bool(REGB0)) {
41060 } else {
41061 fprintf(stderr, "Assert failed");
41062 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15209);
41063 nit_exit(1);
41064 }
41065 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
41066 fra.me.REG[0] = fra.me.REG[2];
41067 REGB0 = TAG_Int(12);
41068 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41069 /* ./parser//parser.nit:15222 */
41070 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
41071 stack_frame_head = fra.me.prev;
41072 return;
41073 }
41074 void parser___ReduceAction320___init(val_t p0, int* init_table){
41075 int itpos324 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction320].i;
41076 struct {struct stack_frame_t me;} fra;
41077 val_t tmp;
41078 if (init_table[itpos324]) return;
41079 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41080 fra.me.file = LOCATE_parser;
41081 fra.me.line = 15224;
41082 fra.me.meth = LOCATE_parser___ReduceAction320___init;
41083 fra.me.has_broke = 0;
41084 fra.me.REG_size = 1;
41085 fra.me.REG[0] = NIT_NULL;
41086 fra.me.REG[0] = p0;
41087 /* ./parser//parser.nit:15224 */
41088 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
41089 stack_frame_head = fra.me.prev;
41090 init_table[itpos324] = 1;
41091 return;
41092 }
41093 void parser___ReduceAction321___action(val_t p0, val_t p1){
41094 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
41095 val_t REGB0;
41096 val_t tmp;
41097 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41098 fra.me.file = LOCATE_parser;
41099 fra.me.line = 15228;
41100 fra.me.meth = LOCATE_parser___ReduceAction321___action;
41101 fra.me.has_broke = 0;
41102 fra.me.REG_size = 8;
41103 fra.me.REG[0] = NIT_NULL;
41104 fra.me.REG[1] = NIT_NULL;
41105 fra.me.REG[2] = NIT_NULL;
41106 fra.me.REG[3] = NIT_NULL;
41107 fra.me.REG[4] = NIT_NULL;
41108 fra.me.REG[5] = NIT_NULL;
41109 fra.me.REG[6] = NIT_NULL;
41110 fra.me.REG[7] = NIT_NULL;
41111 fra.me.REG[0] = p0;
41112 fra.me.REG[1] = p1;
41113 fra.me.REG[0] = NIT_NULL;
41114 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41115 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41116 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41117 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41118 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41119 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41120 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
41121 /* ./parser//parser.nit:15238 */
41122 if (UNTAG_Bool(REGB0)) {
41123 } else {
41124 fprintf(stderr, "Assert failed");
41125 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15238);
41126 nit_exit(1);
41127 }
41128 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
41129 /* ./parser//parser.nit:15240 */
41130 if (UNTAG_Bool(REGB0)) {
41131 } else {
41132 fprintf(stderr, "Assert failed");
41133 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15240);
41134 nit_exit(1);
41135 }
41136 fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[6]);
41137 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
41138 /* ./parser//parser.nit:15246 */
41139 if (UNTAG_Bool(REGB0)) {
41140 } else {
41141 fprintf(stderr, "Assert failed");
41142 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15246);
41143 nit_exit(1);
41144 }
41145 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
41146 /* ./parser//parser.nit:15248 */
41147 if (UNTAG_Bool(REGB0)) {
41148 } else {
41149 fprintf(stderr, "Assert failed");
41150 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15248);
41151 nit_exit(1);
41152 }
41153 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
41154 /* ./parser//parser.nit:15250 */
41155 if (UNTAG_Bool(REGB0)) {
41156 } else {
41157 fprintf(stderr, "Assert failed");
41158 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15250);
41159 nit_exit(1);
41160 }
41161 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
41162 /* ./parser//parser.nit:15252 */
41163 if (UNTAG_Bool(REGB0)) {
41164 } else {
41165 fprintf(stderr, "Assert failed");
41166 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15252);
41167 nit_exit(1);
41168 }
41169 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
41170 fra.me.REG[0] = fra.me.REG[2];
41171 REGB0 = TAG_Int(12);
41172 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41173 /* ./parser//parser.nit:15265 */
41174 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
41175 stack_frame_head = fra.me.prev;
41176 return;
41177 }
41178 void parser___ReduceAction321___init(val_t p0, int* init_table){
41179 int itpos325 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction321].i;
41180 struct {struct stack_frame_t me;} fra;
41181 val_t tmp;
41182 if (init_table[itpos325]) return;
41183 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41184 fra.me.file = LOCATE_parser;
41185 fra.me.line = 15267;
41186 fra.me.meth = LOCATE_parser___ReduceAction321___init;
41187 fra.me.has_broke = 0;
41188 fra.me.REG_size = 1;
41189 fra.me.REG[0] = NIT_NULL;
41190 fra.me.REG[0] = p0;
41191 /* ./parser//parser.nit:15267 */
41192 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
41193 stack_frame_head = fra.me.prev;
41194 init_table[itpos325] = 1;
41195 return;
41196 }
41197 void parser___ReduceAction322___action(val_t p0, val_t p1){
41198 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
41199 val_t REGB0;
41200 val_t tmp;
41201 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41202 fra.me.file = LOCATE_parser;
41203 fra.me.line = 15271;
41204 fra.me.meth = LOCATE_parser___ReduceAction322___action;
41205 fra.me.has_broke = 0;
41206 fra.me.REG_size = 10;
41207 fra.me.REG[0] = NIT_NULL;
41208 fra.me.REG[1] = NIT_NULL;
41209 fra.me.REG[2] = NIT_NULL;
41210 fra.me.REG[3] = NIT_NULL;
41211 fra.me.REG[4] = NIT_NULL;
41212 fra.me.REG[5] = NIT_NULL;
41213 fra.me.REG[6] = NIT_NULL;
41214 fra.me.REG[7] = NIT_NULL;
41215 fra.me.REG[8] = NIT_NULL;
41216 fra.me.REG[9] = NIT_NULL;
41217 fra.me.REG[0] = p0;
41218 fra.me.REG[1] = p1;
41219 fra.me.REG[0] = NIT_NULL;
41220 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41221 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41222 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41223 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41224 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41225 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41226 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41227 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41228 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
41229 /* ./parser//parser.nit:15283 */
41230 if (UNTAG_Bool(REGB0)) {
41231 } else {
41232 fprintf(stderr, "Assert failed");
41233 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15283);
41234 nit_exit(1);
41235 }
41236 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
41237 /* ./parser//parser.nit:15285 */
41238 if (UNTAG_Bool(REGB0)) {
41239 } else {
41240 fprintf(stderr, "Assert failed");
41241 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15285);
41242 nit_exit(1);
41243 }
41244 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
41245 /* ./parser//parser.nit:15287 */
41246 if (UNTAG_Bool(REGB0)) {
41247 } else {
41248 fprintf(stderr, "Assert failed");
41249 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15287);
41250 nit_exit(1);
41251 }
41252 fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]);
41253 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
41254 /* ./parser//parser.nit:15293 */
41255 if (UNTAG_Bool(REGB0)) {
41256 } else {
41257 fprintf(stderr, "Assert failed");
41258 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15293);
41259 nit_exit(1);
41260 }
41261 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
41262 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
41263 /* ./parser//parser.nit:15299 */
41264 if (UNTAG_Bool(REGB0)) {
41265 } else {
41266 fprintf(stderr, "Assert failed");
41267 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15299);
41268 nit_exit(1);
41269 }
41270 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
41271 /* ./parser//parser.nit:15301 */
41272 if (UNTAG_Bool(REGB0)) {
41273 } else {
41274 fprintf(stderr, "Assert failed");
41275 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15301);
41276 nit_exit(1);
41277 }
41278 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
41279 /* ./parser//parser.nit:15303 */
41280 if (UNTAG_Bool(REGB0)) {
41281 } else {
41282 fprintf(stderr, "Assert failed");
41283 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15303);
41284 nit_exit(1);
41285 }
41286 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
41287 /* ./parser//parser.nit:15305 */
41288 if (UNTAG_Bool(REGB0)) {
41289 } else {
41290 fprintf(stderr, "Assert failed");
41291 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15305);
41292 nit_exit(1);
41293 }
41294 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
41295 fra.me.REG[0] = fra.me.REG[2];
41296 REGB0 = TAG_Int(12);
41297 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41298 /* ./parser//parser.nit:15318 */
41299 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
41300 stack_frame_head = fra.me.prev;
41301 return;
41302 }
41303 void parser___ReduceAction322___init(val_t p0, int* init_table){
41304 int itpos326 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction322].i;
41305 struct {struct stack_frame_t me;} fra;
41306 val_t tmp;
41307 if (init_table[itpos326]) return;
41308 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41309 fra.me.file = LOCATE_parser;
41310 fra.me.line = 15320;
41311 fra.me.meth = LOCATE_parser___ReduceAction322___init;
41312 fra.me.has_broke = 0;
41313 fra.me.REG_size = 1;
41314 fra.me.REG[0] = NIT_NULL;
41315 fra.me.REG[0] = p0;
41316 /* ./parser//parser.nit:15320 */
41317 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
41318 stack_frame_head = fra.me.prev;
41319 init_table[itpos326] = 1;
41320 return;
41321 }
41322 void parser___ReduceAction323___action(val_t p0, val_t p1){
41323 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
41324 val_t REGB0;
41325 val_t tmp;
41326 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41327 fra.me.file = LOCATE_parser;
41328 fra.me.line = 15324;
41329 fra.me.meth = LOCATE_parser___ReduceAction323___action;
41330 fra.me.has_broke = 0;
41331 fra.me.REG_size = 11;
41332 fra.me.REG[0] = NIT_NULL;
41333 fra.me.REG[1] = NIT_NULL;
41334 fra.me.REG[2] = NIT_NULL;
41335 fra.me.REG[3] = NIT_NULL;
41336 fra.me.REG[4] = NIT_NULL;
41337 fra.me.REG[5] = NIT_NULL;
41338 fra.me.REG[6] = NIT_NULL;
41339 fra.me.REG[7] = NIT_NULL;
41340 fra.me.REG[8] = NIT_NULL;
41341 fra.me.REG[9] = NIT_NULL;
41342 fra.me.REG[10] = NIT_NULL;
41343 fra.me.REG[0] = p0;
41344 fra.me.REG[1] = p1;
41345 fra.me.REG[0] = NIT_NULL;
41346 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41347 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41348 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41349 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41350 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41351 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41352 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41353 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41354 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41355 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
41356 /* ./parser//parser.nit:15337 */
41357 if (UNTAG_Bool(REGB0)) {
41358 } else {
41359 fprintf(stderr, "Assert failed");
41360 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15337);
41361 nit_exit(1);
41362 }
41363 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
41364 /* ./parser//parser.nit:15339 */
41365 if (UNTAG_Bool(REGB0)) {
41366 } else {
41367 fprintf(stderr, "Assert failed");
41368 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15339);
41369 nit_exit(1);
41370 }
41371 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
41372 /* ./parser//parser.nit:15341 */
41373 if (UNTAG_Bool(REGB0)) {
41374 } else {
41375 fprintf(stderr, "Assert failed");
41376 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15341);
41377 nit_exit(1);
41378 }
41379 fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]);
41380 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
41381 /* ./parser//parser.nit:15347 */
41382 if (UNTAG_Bool(REGB0)) {
41383 } else {
41384 fprintf(stderr, "Assert failed");
41385 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15347);
41386 nit_exit(1);
41387 }
41388 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
41389 /* ./parser//parser.nit:15349 */
41390 if (UNTAG_Bool(REGB0)) {
41391 } else {
41392 fprintf(stderr, "Assert failed");
41393 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15349);
41394 nit_exit(1);
41395 }
41396 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
41397 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
41398 /* ./parser//parser.nit:15355 */
41399 if (UNTAG_Bool(REGB0)) {
41400 } else {
41401 fprintf(stderr, "Assert failed");
41402 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15355);
41403 nit_exit(1);
41404 }
41405 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
41406 /* ./parser//parser.nit:15357 */
41407 if (UNTAG_Bool(REGB0)) {
41408 } else {
41409 fprintf(stderr, "Assert failed");
41410 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15357);
41411 nit_exit(1);
41412 }
41413 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
41414 /* ./parser//parser.nit:15359 */
41415 if (UNTAG_Bool(REGB0)) {
41416 } else {
41417 fprintf(stderr, "Assert failed");
41418 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15359);
41419 nit_exit(1);
41420 }
41421 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
41422 /* ./parser//parser.nit:15361 */
41423 if (UNTAG_Bool(REGB0)) {
41424 } else {
41425 fprintf(stderr, "Assert failed");
41426 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15361);
41427 nit_exit(1);
41428 }
41429 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
41430 fra.me.REG[0] = fra.me.REG[2];
41431 REGB0 = TAG_Int(12);
41432 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41433 /* ./parser//parser.nit:15374 */
41434 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
41435 stack_frame_head = fra.me.prev;
41436 return;
41437 }
41438 void parser___ReduceAction323___init(val_t p0, int* init_table){
41439 int itpos327 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction323].i;
41440 struct {struct stack_frame_t me;} fra;
41441 val_t tmp;
41442 if (init_table[itpos327]) return;
41443 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41444 fra.me.file = LOCATE_parser;
41445 fra.me.line = 15376;
41446 fra.me.meth = LOCATE_parser___ReduceAction323___init;
41447 fra.me.has_broke = 0;
41448 fra.me.REG_size = 1;
41449 fra.me.REG[0] = NIT_NULL;
41450 fra.me.REG[0] = p0;
41451 /* ./parser//parser.nit:15376 */
41452 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
41453 stack_frame_head = fra.me.prev;
41454 init_table[itpos327] = 1;
41455 return;
41456 }
41457 void parser___ReduceAction324___action(val_t p0, val_t p1){
41458 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
41459 val_t REGB0;
41460 val_t tmp;
41461 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41462 fra.me.file = LOCATE_parser;
41463 fra.me.line = 15380;
41464 fra.me.meth = LOCATE_parser___ReduceAction324___action;
41465 fra.me.has_broke = 0;
41466 fra.me.REG_size = 9;
41467 fra.me.REG[0] = NIT_NULL;
41468 fra.me.REG[1] = NIT_NULL;
41469 fra.me.REG[2] = NIT_NULL;
41470 fra.me.REG[3] = NIT_NULL;
41471 fra.me.REG[4] = NIT_NULL;
41472 fra.me.REG[5] = NIT_NULL;
41473 fra.me.REG[6] = NIT_NULL;
41474 fra.me.REG[7] = NIT_NULL;
41475 fra.me.REG[8] = NIT_NULL;
41476 fra.me.REG[0] = p0;
41477 fra.me.REG[1] = p1;
41478 fra.me.REG[0] = NIT_NULL;
41479 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41480 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41481 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41482 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41483 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41484 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41485 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41486 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
41487 /* ./parser//parser.nit:15391 */
41488 if (UNTAG_Bool(REGB0)) {
41489 } else {
41490 fprintf(stderr, "Assert failed");
41491 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15391);
41492 nit_exit(1);
41493 }
41494 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
41495 /* ./parser//parser.nit:15393 */
41496 if (UNTAG_Bool(REGB0)) {
41497 } else {
41498 fprintf(stderr, "Assert failed");
41499 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15393);
41500 nit_exit(1);
41501 }
41502 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
41503 /* ./parser//parser.nit:15395 */
41504 if (UNTAG_Bool(REGB0)) {
41505 } else {
41506 fprintf(stderr, "Assert failed");
41507 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15395);
41508 nit_exit(1);
41509 }
41510 fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[7], fra.me.REG[6]);
41511 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
41512 /* ./parser//parser.nit:15401 */
41513 if (UNTAG_Bool(REGB0)) {
41514 } else {
41515 fprintf(stderr, "Assert failed");
41516 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15401);
41517 nit_exit(1);
41518 }
41519 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
41520 /* ./parser//parser.nit:15403 */
41521 if (UNTAG_Bool(REGB0)) {
41522 } else {
41523 fprintf(stderr, "Assert failed");
41524 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15403);
41525 nit_exit(1);
41526 }
41527 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
41528 /* ./parser//parser.nit:15405 */
41529 if (UNTAG_Bool(REGB0)) {
41530 } else {
41531 fprintf(stderr, "Assert failed");
41532 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15405);
41533 nit_exit(1);
41534 }
41535 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
41536 /* ./parser//parser.nit:15407 */
41537 if (UNTAG_Bool(REGB0)) {
41538 } else {
41539 fprintf(stderr, "Assert failed");
41540 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15407);
41541 nit_exit(1);
41542 }
41543 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
41544 fra.me.REG[0] = fra.me.REG[2];
41545 REGB0 = TAG_Int(12);
41546 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41547 /* ./parser//parser.nit:15420 */
41548 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
41549 stack_frame_head = fra.me.prev;
41550 return;
41551 }
41552 void parser___ReduceAction324___init(val_t p0, int* init_table){
41553 int itpos328 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction324].i;
41554 struct {struct stack_frame_t me;} fra;
41555 val_t tmp;
41556 if (init_table[itpos328]) return;
41557 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41558 fra.me.file = LOCATE_parser;
41559 fra.me.line = 15422;
41560 fra.me.meth = LOCATE_parser___ReduceAction324___init;
41561 fra.me.has_broke = 0;
41562 fra.me.REG_size = 1;
41563 fra.me.REG[0] = NIT_NULL;
41564 fra.me.REG[0] = p0;
41565 /* ./parser//parser.nit:15422 */
41566 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
41567 stack_frame_head = fra.me.prev;
41568 init_table[itpos328] = 1;
41569 return;
41570 }
41571 void parser___ReduceAction325___action(val_t p0, val_t p1){
41572 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
41573 val_t REGB0;
41574 val_t tmp;
41575 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41576 fra.me.file = LOCATE_parser;
41577 fra.me.line = 15426;
41578 fra.me.meth = LOCATE_parser___ReduceAction325___action;
41579 fra.me.has_broke = 0;
41580 fra.me.REG_size = 8;
41581 fra.me.REG[0] = NIT_NULL;
41582 fra.me.REG[1] = NIT_NULL;
41583 fra.me.REG[2] = NIT_NULL;
41584 fra.me.REG[3] = NIT_NULL;
41585 fra.me.REG[4] = NIT_NULL;
41586 fra.me.REG[5] = NIT_NULL;
41587 fra.me.REG[6] = NIT_NULL;
41588 fra.me.REG[7] = NIT_NULL;
41589 fra.me.REG[0] = p0;
41590 fra.me.REG[1] = p1;
41591 fra.me.REG[0] = NIT_NULL;
41592 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41593 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41594 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41595 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41596 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41597 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41598 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
41599 /* ./parser//parser.nit:15436 */
41600 if (UNTAG_Bool(REGB0)) {
41601 } else {
41602 fprintf(stderr, "Assert failed");
41603 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15436);
41604 nit_exit(1);
41605 }
41606 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
41607 /* ./parser//parser.nit:15438 */
41608 if (UNTAG_Bool(REGB0)) {
41609 } else {
41610 fprintf(stderr, "Assert failed");
41611 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15438);
41612 nit_exit(1);
41613 }
41614 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
41615 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
41616 /* ./parser//parser.nit:15444 */
41617 if (UNTAG_Bool(REGB0)) {
41618 } else {
41619 fprintf(stderr, "Assert failed");
41620 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15444);
41621 nit_exit(1);
41622 }
41623 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
41624 /* ./parser//parser.nit:15446 */
41625 if (UNTAG_Bool(REGB0)) {
41626 } else {
41627 fprintf(stderr, "Assert failed");
41628 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15446);
41629 nit_exit(1);
41630 }
41631 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
41632 /* ./parser//parser.nit:15448 */
41633 if (UNTAG_Bool(REGB0)) {
41634 } else {
41635 fprintf(stderr, "Assert failed");
41636 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15448);
41637 nit_exit(1);
41638 }
41639 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
41640 /* ./parser//parser.nit:15450 */
41641 if (UNTAG_Bool(REGB0)) {
41642 } else {
41643 fprintf(stderr, "Assert failed");
41644 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15450);
41645 nit_exit(1);
41646 }
41647 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
41648 fra.me.REG[0] = fra.me.REG[2];
41649 REGB0 = TAG_Int(12);
41650 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41651 /* ./parser//parser.nit:15463 */
41652 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
41653 stack_frame_head = fra.me.prev;
41654 return;
41655 }
41656 void parser___ReduceAction325___init(val_t p0, int* init_table){
41657 int itpos329 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction325].i;
41658 struct {struct stack_frame_t me;} fra;
41659 val_t tmp;
41660 if (init_table[itpos329]) return;
41661 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41662 fra.me.file = LOCATE_parser;
41663 fra.me.line = 15465;
41664 fra.me.meth = LOCATE_parser___ReduceAction325___init;
41665 fra.me.has_broke = 0;
41666 fra.me.REG_size = 1;
41667 fra.me.REG[0] = NIT_NULL;
41668 fra.me.REG[0] = p0;
41669 /* ./parser//parser.nit:15465 */
41670 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
41671 stack_frame_head = fra.me.prev;
41672 init_table[itpos329] = 1;
41673 return;
41674 }
41675 void parser___ReduceAction326___action(val_t p0, val_t p1){
41676 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
41677 val_t REGB0;
41678 val_t tmp;
41679 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41680 fra.me.file = LOCATE_parser;
41681 fra.me.line = 15469;
41682 fra.me.meth = LOCATE_parser___ReduceAction326___action;
41683 fra.me.has_broke = 0;
41684 fra.me.REG_size = 9;
41685 fra.me.REG[0] = NIT_NULL;
41686 fra.me.REG[1] = NIT_NULL;
41687 fra.me.REG[2] = NIT_NULL;
41688 fra.me.REG[3] = NIT_NULL;
41689 fra.me.REG[4] = NIT_NULL;
41690 fra.me.REG[5] = NIT_NULL;
41691 fra.me.REG[6] = NIT_NULL;
41692 fra.me.REG[7] = NIT_NULL;
41693 fra.me.REG[8] = NIT_NULL;
41694 fra.me.REG[0] = p0;
41695 fra.me.REG[1] = p1;
41696 fra.me.REG[0] = NIT_NULL;
41697 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41698 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41699 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41700 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41701 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41702 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41703 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41704 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
41705 /* ./parser//parser.nit:15480 */
41706 if (UNTAG_Bool(REGB0)) {
41707 } else {
41708 fprintf(stderr, "Assert failed");
41709 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15480);
41710 nit_exit(1);
41711 }
41712 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
41713 /* ./parser//parser.nit:15482 */
41714 if (UNTAG_Bool(REGB0)) {
41715 } else {
41716 fprintf(stderr, "Assert failed");
41717 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15482);
41718 nit_exit(1);
41719 }
41720 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
41721 /* ./parser//parser.nit:15484 */
41722 if (UNTAG_Bool(REGB0)) {
41723 } else {
41724 fprintf(stderr, "Assert failed");
41725 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15484);
41726 nit_exit(1);
41727 }
41728 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
41729 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
41730 /* ./parser//parser.nit:15490 */
41731 if (UNTAG_Bool(REGB0)) {
41732 } else {
41733 fprintf(stderr, "Assert failed");
41734 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15490);
41735 nit_exit(1);
41736 }
41737 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
41738 /* ./parser//parser.nit:15492 */
41739 if (UNTAG_Bool(REGB0)) {
41740 } else {
41741 fprintf(stderr, "Assert failed");
41742 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15492);
41743 nit_exit(1);
41744 }
41745 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
41746 /* ./parser//parser.nit:15494 */
41747 if (UNTAG_Bool(REGB0)) {
41748 } else {
41749 fprintf(stderr, "Assert failed");
41750 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15494);
41751 nit_exit(1);
41752 }
41753 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
41754 /* ./parser//parser.nit:15496 */
41755 if (UNTAG_Bool(REGB0)) {
41756 } else {
41757 fprintf(stderr, "Assert failed");
41758 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15496);
41759 nit_exit(1);
41760 }
41761 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
41762 fra.me.REG[0] = fra.me.REG[2];
41763 REGB0 = TAG_Int(12);
41764 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41765 /* ./parser//parser.nit:15509 */
41766 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
41767 stack_frame_head = fra.me.prev;
41768 return;
41769 }
41770 void parser___ReduceAction326___init(val_t p0, int* init_table){
41771 int itpos330 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction326].i;
41772 struct {struct stack_frame_t me;} fra;
41773 val_t tmp;
41774 if (init_table[itpos330]) return;
41775 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41776 fra.me.file = LOCATE_parser;
41777 fra.me.line = 15511;
41778 fra.me.meth = LOCATE_parser___ReduceAction326___init;
41779 fra.me.has_broke = 0;
41780 fra.me.REG_size = 1;
41781 fra.me.REG[0] = NIT_NULL;
41782 fra.me.REG[0] = p0;
41783 /* ./parser//parser.nit:15511 */
41784 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
41785 stack_frame_head = fra.me.prev;
41786 init_table[itpos330] = 1;
41787 return;
41788 }
41789 void parser___ReduceAction327___action(val_t p0, val_t p1){
41790 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
41791 val_t REGB0;
41792 val_t tmp;
41793 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41794 fra.me.file = LOCATE_parser;
41795 fra.me.line = 15515;
41796 fra.me.meth = LOCATE_parser___ReduceAction327___action;
41797 fra.me.has_broke = 0;
41798 fra.me.REG_size = 7;
41799 fra.me.REG[0] = NIT_NULL;
41800 fra.me.REG[1] = NIT_NULL;
41801 fra.me.REG[2] = NIT_NULL;
41802 fra.me.REG[3] = NIT_NULL;
41803 fra.me.REG[4] = NIT_NULL;
41804 fra.me.REG[5] = NIT_NULL;
41805 fra.me.REG[6] = NIT_NULL;
41806 fra.me.REG[0] = p0;
41807 fra.me.REG[1] = p1;
41808 fra.me.REG[0] = NIT_NULL;
41809 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41810 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41811 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41812 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41813 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41814 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
41815 /* ./parser//parser.nit:15524 */
41816 if (UNTAG_Bool(REGB0)) {
41817 } else {
41818 fprintf(stderr, "Assert failed");
41819 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15524);
41820 nit_exit(1);
41821 }
41822 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
41823 /* ./parser//parser.nit:15526 */
41824 if (UNTAG_Bool(REGB0)) {
41825 } else {
41826 fprintf(stderr, "Assert failed");
41827 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15526);
41828 nit_exit(1);
41829 }
41830 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
41831 /* ./parser//parser.nit:15528 */
41832 if (UNTAG_Bool(REGB0)) {
41833 } else {
41834 fprintf(stderr, "Assert failed");
41835 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15528);
41836 nit_exit(1);
41837 }
41838 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
41839 /* ./parser//parser.nit:15530 */
41840 if (UNTAG_Bool(REGB0)) {
41841 } else {
41842 fprintf(stderr, "Assert failed");
41843 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15530);
41844 nit_exit(1);
41845 }
41846 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
41847 /* ./parser//parser.nit:15532 */
41848 if (UNTAG_Bool(REGB0)) {
41849 } else {
41850 fprintf(stderr, "Assert failed");
41851 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15532);
41852 nit_exit(1);
41853 }
41854 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[6], NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
41855 fra.me.REG[0] = fra.me.REG[2];
41856 REGB0 = TAG_Int(12);
41857 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41858 /* ./parser//parser.nit:15545 */
41859 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
41860 stack_frame_head = fra.me.prev;
41861 return;
41862 }
41863 void parser___ReduceAction327___init(val_t p0, int* init_table){
41864 int itpos331 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction327].i;
41865 struct {struct stack_frame_t me;} fra;
41866 val_t tmp;
41867 if (init_table[itpos331]) return;
41868 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41869 fra.me.file = LOCATE_parser;
41870 fra.me.line = 15547;
41871 fra.me.meth = LOCATE_parser___ReduceAction327___init;
41872 fra.me.has_broke = 0;
41873 fra.me.REG_size = 1;
41874 fra.me.REG[0] = NIT_NULL;
41875 fra.me.REG[0] = p0;
41876 /* ./parser//parser.nit:15547 */
41877 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
41878 stack_frame_head = fra.me.prev;
41879 init_table[itpos331] = 1;
41880 return;
41881 }
41882 void parser___ReduceAction328___action(val_t p0, val_t p1){
41883 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
41884 val_t REGB0;
41885 val_t tmp;
41886 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41887 fra.me.file = LOCATE_parser;
41888 fra.me.line = 15551;
41889 fra.me.meth = LOCATE_parser___ReduceAction328___action;
41890 fra.me.has_broke = 0;
41891 fra.me.REG_size = 9;
41892 fra.me.REG[0] = NIT_NULL;
41893 fra.me.REG[1] = NIT_NULL;
41894 fra.me.REG[2] = NIT_NULL;
41895 fra.me.REG[3] = NIT_NULL;
41896 fra.me.REG[4] = NIT_NULL;
41897 fra.me.REG[5] = NIT_NULL;
41898 fra.me.REG[6] = NIT_NULL;
41899 fra.me.REG[7] = NIT_NULL;
41900 fra.me.REG[8] = NIT_NULL;
41901 fra.me.REG[0] = p0;
41902 fra.me.REG[1] = p1;
41903 fra.me.REG[0] = NIT_NULL;
41904 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41905 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41906 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41907 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41908 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41909 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41910 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41911 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
41912 /* ./parser//parser.nit:15562 */
41913 if (UNTAG_Bool(REGB0)) {
41914 } else {
41915 fprintf(stderr, "Assert failed");
41916 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15562);
41917 nit_exit(1);
41918 }
41919 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
41920 /* ./parser//parser.nit:15564 */
41921 if (UNTAG_Bool(REGB0)) {
41922 } else {
41923 fprintf(stderr, "Assert failed");
41924 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15564);
41925 nit_exit(1);
41926 }
41927 fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]);
41928 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
41929 /* ./parser//parser.nit:15570 */
41930 if (UNTAG_Bool(REGB0)) {
41931 } else {
41932 fprintf(stderr, "Assert failed");
41933 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15570);
41934 nit_exit(1);
41935 }
41936 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
41937 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
41938 /* ./parser//parser.nit:15576 */
41939 if (UNTAG_Bool(REGB0)) {
41940 } else {
41941 fprintf(stderr, "Assert failed");
41942 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15576);
41943 nit_exit(1);
41944 }
41945 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
41946 /* ./parser//parser.nit:15578 */
41947 if (UNTAG_Bool(REGB0)) {
41948 } else {
41949 fprintf(stderr, "Assert failed");
41950 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15578);
41951 nit_exit(1);
41952 }
41953 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
41954 /* ./parser//parser.nit:15580 */
41955 if (UNTAG_Bool(REGB0)) {
41956 } else {
41957 fprintf(stderr, "Assert failed");
41958 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15580);
41959 nit_exit(1);
41960 }
41961 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
41962 /* ./parser//parser.nit:15582 */
41963 if (UNTAG_Bool(REGB0)) {
41964 } else {
41965 fprintf(stderr, "Assert failed");
41966 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15582);
41967 nit_exit(1);
41968 }
41969 fra.me.REG[2] = NEW_AAttrPropdef_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], fra.me.REG[2], NIT_NULL);
41970 fra.me.REG[0] = fra.me.REG[2];
41971 REGB0 = TAG_Int(12);
41972 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41973 /* ./parser//parser.nit:15595 */
41974 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
41975 stack_frame_head = fra.me.prev;
41976 return;
41977 }
41978 void parser___ReduceAction328___init(val_t p0, int* init_table){
41979 int itpos332 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction328].i;
41980 struct {struct stack_frame_t me;} fra;
41981 val_t tmp;
41982 if (init_table[itpos332]) return;
41983 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41984 fra.me.file = LOCATE_parser;
41985 fra.me.line = 15597;
41986 fra.me.meth = LOCATE_parser___ReduceAction328___init;
41987 fra.me.has_broke = 0;
41988 fra.me.REG_size = 1;
41989 fra.me.REG[0] = NIT_NULL;
41990 fra.me.REG[0] = p0;
41991 /* ./parser//parser.nit:15597 */
41992 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
41993 stack_frame_head = fra.me.prev;
41994 init_table[itpos332] = 1;
41995 return;
41996 }
41997 void parser___ReduceAction329___action(val_t p0, val_t p1){
41998 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
41999 val_t REGB0;
42000 val_t tmp;
42001 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42002 fra.me.file = LOCATE_parser;
42003 fra.me.line = 15601;
42004 fra.me.meth = LOCATE_parser___ReduceAction329___action;
42005 fra.me.has_broke = 0;
42006 fra.me.REG_size = 10;
42007 fra.me.REG[0] = NIT_NULL;
42008 fra.me.REG[1] = NIT_NULL;
42009 fra.me.REG[2] = NIT_NULL;
42010 fra.me.REG[3] = NIT_NULL;
42011 fra.me.REG[4] = NIT_NULL;
42012 fra.me.REG[5] = NIT_NULL;
42013 fra.me.REG[6] = NIT_NULL;
42014 fra.me.REG[7] = NIT_NULL;
42015 fra.me.REG[8] = NIT_NULL;
42016 fra.me.REG[9] = NIT_NULL;
42017 fra.me.REG[0] = p0;
42018 fra.me.REG[1] = p1;
42019 fra.me.REG[0] = NIT_NULL;
42020 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42021 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42022 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42023 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42024 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42025 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42026 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42027 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42028 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
42029 /* ./parser//parser.nit:15613 */
42030 if (UNTAG_Bool(REGB0)) {
42031 } else {
42032 fprintf(stderr, "Assert failed");
42033 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15613);
42034 nit_exit(1);
42035 }
42036 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
42037 /* ./parser//parser.nit:15615 */
42038 if (UNTAG_Bool(REGB0)) {
42039 } else {
42040 fprintf(stderr, "Assert failed");
42041 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15615);
42042 nit_exit(1);
42043 }
42044 fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]);
42045 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
42046 /* ./parser//parser.nit:15621 */
42047 if (UNTAG_Bool(REGB0)) {
42048 } else {
42049 fprintf(stderr, "Assert failed");
42050 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15621);
42051 nit_exit(1);
42052 }
42053 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
42054 /* ./parser//parser.nit:15623 */
42055 if (UNTAG_Bool(REGB0)) {
42056 } else {
42057 fprintf(stderr, "Assert failed");
42058 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15623);
42059 nit_exit(1);
42060 }
42061 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
42062 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
42063 /* ./parser//parser.nit:15629 */
42064 if (UNTAG_Bool(REGB0)) {
42065 } else {
42066 fprintf(stderr, "Assert failed");
42067 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15629);
42068 nit_exit(1);
42069 }
42070 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
42071 /* ./parser//parser.nit:15631 */
42072 if (UNTAG_Bool(REGB0)) {
42073 } else {
42074 fprintf(stderr, "Assert failed");
42075 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15631);
42076 nit_exit(1);
42077 }
42078 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
42079 /* ./parser//parser.nit:15633 */
42080 if (UNTAG_Bool(REGB0)) {
42081 } else {
42082 fprintf(stderr, "Assert failed");
42083 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15633);
42084 nit_exit(1);
42085 }
42086 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
42087 /* ./parser//parser.nit:15635 */
42088 if (UNTAG_Bool(REGB0)) {
42089 } else {
42090 fprintf(stderr, "Assert failed");
42091 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15635);
42092 nit_exit(1);
42093 }
42094 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
42095 fra.me.REG[0] = fra.me.REG[2];
42096 REGB0 = TAG_Int(12);
42097 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42098 /* ./parser//parser.nit:15648 */
42099 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
42100 stack_frame_head = fra.me.prev;
42101 return;
42102 }
42103 void parser___ReduceAction329___init(val_t p0, int* init_table){
42104 int itpos333 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction329].i;
42105 struct {struct stack_frame_t me;} fra;
42106 val_t tmp;
42107 if (init_table[itpos333]) return;
42108 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42109 fra.me.file = LOCATE_parser;
42110 fra.me.line = 15650;
42111 fra.me.meth = LOCATE_parser___ReduceAction329___init;
42112 fra.me.has_broke = 0;
42113 fra.me.REG_size = 1;
42114 fra.me.REG[0] = NIT_NULL;
42115 fra.me.REG[0] = p0;
42116 /* ./parser//parser.nit:15650 */
42117 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
42118 stack_frame_head = fra.me.prev;
42119 init_table[itpos333] = 1;
42120 return;
42121 }
42122 void parser___ReduceAction330___action(val_t p0, val_t p1){
42123 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
42124 val_t REGB0;
42125 val_t tmp;
42126 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42127 fra.me.file = LOCATE_parser;
42128 fra.me.line = 15654;
42129 fra.me.meth = LOCATE_parser___ReduceAction330___action;
42130 fra.me.has_broke = 0;
42131 fra.me.REG_size = 8;
42132 fra.me.REG[0] = NIT_NULL;
42133 fra.me.REG[1] = NIT_NULL;
42134 fra.me.REG[2] = NIT_NULL;
42135 fra.me.REG[3] = NIT_NULL;
42136 fra.me.REG[4] = NIT_NULL;
42137 fra.me.REG[5] = NIT_NULL;
42138 fra.me.REG[6] = NIT_NULL;
42139 fra.me.REG[7] = NIT_NULL;
42140 fra.me.REG[0] = p0;
42141 fra.me.REG[1] = p1;
42142 fra.me.REG[0] = NIT_NULL;
42143 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42144 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42145 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42146 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42147 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42148 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42149 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
42150 /* ./parser//parser.nit:15664 */
42151 if (UNTAG_Bool(REGB0)) {
42152 } else {
42153 fprintf(stderr, "Assert failed");
42154 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15664);
42155 nit_exit(1);
42156 }
42157 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
42158 /* ./parser//parser.nit:15666 */
42159 if (UNTAG_Bool(REGB0)) {
42160 } else {
42161 fprintf(stderr, "Assert failed");
42162 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15666);
42163 nit_exit(1);
42164 }
42165 fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[6]);
42166 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
42167 /* ./parser//parser.nit:15672 */
42168 if (UNTAG_Bool(REGB0)) {
42169 } else {
42170 fprintf(stderr, "Assert failed");
42171 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15672);
42172 nit_exit(1);
42173 }
42174 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
42175 /* ./parser//parser.nit:15674 */
42176 if (UNTAG_Bool(REGB0)) {
42177 } else {
42178 fprintf(stderr, "Assert failed");
42179 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15674);
42180 nit_exit(1);
42181 }
42182 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
42183 /* ./parser//parser.nit:15676 */
42184 if (UNTAG_Bool(REGB0)) {
42185 } else {
42186 fprintf(stderr, "Assert failed");
42187 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15676);
42188 nit_exit(1);
42189 }
42190 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
42191 /* ./parser//parser.nit:15678 */
42192 if (UNTAG_Bool(REGB0)) {
42193 } else {
42194 fprintf(stderr, "Assert failed");
42195 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15678);
42196 nit_exit(1);
42197 }
42198 fra.me.REG[2] = NEW_AAttrPropdef_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], fra.me.REG[2], NIT_NULL);
42199 fra.me.REG[0] = fra.me.REG[2];
42200 REGB0 = TAG_Int(12);
42201 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42202 /* ./parser//parser.nit:15691 */
42203 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
42204 stack_frame_head = fra.me.prev;
42205 return;
42206 }
42207 void parser___ReduceAction330___init(val_t p0, int* init_table){
42208 int itpos334 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction330].i;
42209 struct {struct stack_frame_t me;} fra;
42210 val_t tmp;
42211 if (init_table[itpos334]) return;
42212 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42213 fra.me.file = LOCATE_parser;
42214 fra.me.line = 15693;
42215 fra.me.meth = LOCATE_parser___ReduceAction330___init;
42216 fra.me.has_broke = 0;
42217 fra.me.REG_size = 1;
42218 fra.me.REG[0] = NIT_NULL;
42219 fra.me.REG[0] = p0;
42220 /* ./parser//parser.nit:15693 */
42221 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
42222 stack_frame_head = fra.me.prev;
42223 init_table[itpos334] = 1;
42224 return;
42225 }
42226 void parser___ReduceAction331___action(val_t p0, val_t p1){
42227 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
42228 val_t REGB0;
42229 val_t tmp;
42230 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42231 fra.me.file = LOCATE_parser;
42232 fra.me.line = 15697;
42233 fra.me.meth = LOCATE_parser___ReduceAction331___action;
42234 fra.me.has_broke = 0;
42235 fra.me.REG_size = 10;
42236 fra.me.REG[0] = NIT_NULL;
42237 fra.me.REG[1] = NIT_NULL;
42238 fra.me.REG[2] = NIT_NULL;
42239 fra.me.REG[3] = NIT_NULL;
42240 fra.me.REG[4] = NIT_NULL;
42241 fra.me.REG[5] = NIT_NULL;
42242 fra.me.REG[6] = NIT_NULL;
42243 fra.me.REG[7] = NIT_NULL;
42244 fra.me.REG[8] = NIT_NULL;
42245 fra.me.REG[9] = NIT_NULL;
42246 fra.me.REG[0] = p0;
42247 fra.me.REG[1] = p1;
42248 fra.me.REG[0] = NIT_NULL;
42249 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42250 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42251 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42252 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42253 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42254 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42255 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42256 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42257 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
42258 /* ./parser//parser.nit:15709 */
42259 if (UNTAG_Bool(REGB0)) {
42260 } else {
42261 fprintf(stderr, "Assert failed");
42262 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15709);
42263 nit_exit(1);
42264 }
42265 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
42266 /* ./parser//parser.nit:15711 */
42267 if (UNTAG_Bool(REGB0)) {
42268 } else {
42269 fprintf(stderr, "Assert failed");
42270 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15711);
42271 nit_exit(1);
42272 }
42273 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
42274 /* ./parser//parser.nit:15713 */
42275 if (UNTAG_Bool(REGB0)) {
42276 } else {
42277 fprintf(stderr, "Assert failed");
42278 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15713);
42279 nit_exit(1);
42280 }
42281 fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]);
42282 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
42283 /* ./parser//parser.nit:15719 */
42284 if (UNTAG_Bool(REGB0)) {
42285 } else {
42286 fprintf(stderr, "Assert failed");
42287 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15719);
42288 nit_exit(1);
42289 }
42290 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
42291 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
42292 /* ./parser//parser.nit:15725 */
42293 if (UNTAG_Bool(REGB0)) {
42294 } else {
42295 fprintf(stderr, "Assert failed");
42296 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15725);
42297 nit_exit(1);
42298 }
42299 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
42300 /* ./parser//parser.nit:15727 */
42301 if (UNTAG_Bool(REGB0)) {
42302 } else {
42303 fprintf(stderr, "Assert failed");
42304 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15727);
42305 nit_exit(1);
42306 }
42307 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
42308 /* ./parser//parser.nit:15729 */
42309 if (UNTAG_Bool(REGB0)) {
42310 } else {
42311 fprintf(stderr, "Assert failed");
42312 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15729);
42313 nit_exit(1);
42314 }
42315 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
42316 /* ./parser//parser.nit:15731 */
42317 if (UNTAG_Bool(REGB0)) {
42318 } else {
42319 fprintf(stderr, "Assert failed");
42320 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15731);
42321 nit_exit(1);
42322 }
42323 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
42324 fra.me.REG[0] = fra.me.REG[2];
42325 REGB0 = TAG_Int(12);
42326 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42327 /* ./parser//parser.nit:15744 */
42328 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
42329 stack_frame_head = fra.me.prev;
42330 return;
42331 }
42332 void parser___ReduceAction331___init(val_t p0, int* init_table){
42333 int itpos335 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction331].i;
42334 struct {struct stack_frame_t me;} fra;
42335 val_t tmp;
42336 if (init_table[itpos335]) return;
42337 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42338 fra.me.file = LOCATE_parser;
42339 fra.me.line = 15746;
42340 fra.me.meth = LOCATE_parser___ReduceAction331___init;
42341 fra.me.has_broke = 0;
42342 fra.me.REG_size = 1;
42343 fra.me.REG[0] = NIT_NULL;
42344 fra.me.REG[0] = p0;
42345 /* ./parser//parser.nit:15746 */
42346 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
42347 stack_frame_head = fra.me.prev;
42348 init_table[itpos335] = 1;
42349 return;
42350 }
42351 void parser___ReduceAction332___action(val_t p0, val_t p1){
42352 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
42353 val_t REGB0;
42354 val_t tmp;
42355 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42356 fra.me.file = LOCATE_parser;
42357 fra.me.line = 15750;
42358 fra.me.meth = LOCATE_parser___ReduceAction332___action;
42359 fra.me.has_broke = 0;
42360 fra.me.REG_size = 11;
42361 fra.me.REG[0] = NIT_NULL;
42362 fra.me.REG[1] = NIT_NULL;
42363 fra.me.REG[2] = NIT_NULL;
42364 fra.me.REG[3] = NIT_NULL;
42365 fra.me.REG[4] = NIT_NULL;
42366 fra.me.REG[5] = NIT_NULL;
42367 fra.me.REG[6] = NIT_NULL;
42368 fra.me.REG[7] = NIT_NULL;
42369 fra.me.REG[8] = NIT_NULL;
42370 fra.me.REG[9] = NIT_NULL;
42371 fra.me.REG[10] = NIT_NULL;
42372 fra.me.REG[0] = p0;
42373 fra.me.REG[1] = p1;
42374 fra.me.REG[0] = NIT_NULL;
42375 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42376 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42377 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42378 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42379 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42380 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42381 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42382 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42383 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42384 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
42385 /* ./parser//parser.nit:15763 */
42386 if (UNTAG_Bool(REGB0)) {
42387 } else {
42388 fprintf(stderr, "Assert failed");
42389 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15763);
42390 nit_exit(1);
42391 }
42392 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
42393 /* ./parser//parser.nit:15765 */
42394 if (UNTAG_Bool(REGB0)) {
42395 } else {
42396 fprintf(stderr, "Assert failed");
42397 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15765);
42398 nit_exit(1);
42399 }
42400 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
42401 /* ./parser//parser.nit:15767 */
42402 if (UNTAG_Bool(REGB0)) {
42403 } else {
42404 fprintf(stderr, "Assert failed");
42405 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15767);
42406 nit_exit(1);
42407 }
42408 fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]);
42409 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
42410 /* ./parser//parser.nit:15773 */
42411 if (UNTAG_Bool(REGB0)) {
42412 } else {
42413 fprintf(stderr, "Assert failed");
42414 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15773);
42415 nit_exit(1);
42416 }
42417 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
42418 /* ./parser//parser.nit:15775 */
42419 if (UNTAG_Bool(REGB0)) {
42420 } else {
42421 fprintf(stderr, "Assert failed");
42422 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15775);
42423 nit_exit(1);
42424 }
42425 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
42426 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
42427 /* ./parser//parser.nit:15781 */
42428 if (UNTAG_Bool(REGB0)) {
42429 } else {
42430 fprintf(stderr, "Assert failed");
42431 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15781);
42432 nit_exit(1);
42433 }
42434 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
42435 /* ./parser//parser.nit:15783 */
42436 if (UNTAG_Bool(REGB0)) {
42437 } else {
42438 fprintf(stderr, "Assert failed");
42439 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15783);
42440 nit_exit(1);
42441 }
42442 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
42443 /* ./parser//parser.nit:15785 */
42444 if (UNTAG_Bool(REGB0)) {
42445 } else {
42446 fprintf(stderr, "Assert failed");
42447 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15785);
42448 nit_exit(1);
42449 }
42450 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
42451 /* ./parser//parser.nit:15787 */
42452 if (UNTAG_Bool(REGB0)) {
42453 } else {
42454 fprintf(stderr, "Assert failed");
42455 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15787);
42456 nit_exit(1);
42457 }
42458 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
42459 fra.me.REG[0] = fra.me.REG[2];
42460 REGB0 = TAG_Int(12);
42461 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42462 /* ./parser//parser.nit:15800 */
42463 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
42464 stack_frame_head = fra.me.prev;
42465 return;
42466 }
42467 void parser___ReduceAction332___init(val_t p0, int* init_table){
42468 int itpos336 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction332].i;
42469 struct {struct stack_frame_t me;} fra;
42470 val_t tmp;
42471 if (init_table[itpos336]) return;
42472 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42473 fra.me.file = LOCATE_parser;
42474 fra.me.line = 15802;
42475 fra.me.meth = LOCATE_parser___ReduceAction332___init;
42476 fra.me.has_broke = 0;
42477 fra.me.REG_size = 1;
42478 fra.me.REG[0] = NIT_NULL;
42479 fra.me.REG[0] = p0;
42480 /* ./parser//parser.nit:15802 */
42481 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
42482 stack_frame_head = fra.me.prev;
42483 init_table[itpos336] = 1;
42484 return;
42485 }
42486 void parser___ReduceAction333___action(val_t p0, val_t p1){
42487 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
42488 val_t REGB0;
42489 val_t tmp;
42490 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42491 fra.me.file = LOCATE_parser;
42492 fra.me.line = 15806;
42493 fra.me.meth = LOCATE_parser___ReduceAction333___action;
42494 fra.me.has_broke = 0;
42495 fra.me.REG_size = 9;
42496 fra.me.REG[0] = NIT_NULL;
42497 fra.me.REG[1] = NIT_NULL;
42498 fra.me.REG[2] = NIT_NULL;
42499 fra.me.REG[3] = NIT_NULL;
42500 fra.me.REG[4] = NIT_NULL;
42501 fra.me.REG[5] = NIT_NULL;
42502 fra.me.REG[6] = NIT_NULL;
42503 fra.me.REG[7] = NIT_NULL;
42504 fra.me.REG[8] = NIT_NULL;
42505 fra.me.REG[0] = p0;
42506 fra.me.REG[1] = p1;
42507 fra.me.REG[0] = NIT_NULL;
42508 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42509 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42510 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42511 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42512 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42513 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42514 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42515 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
42516 /* ./parser//parser.nit:15817 */
42517 if (UNTAG_Bool(REGB0)) {
42518 } else {
42519 fprintf(stderr, "Assert failed");
42520 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15817);
42521 nit_exit(1);
42522 }
42523 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
42524 /* ./parser//parser.nit:15819 */
42525 if (UNTAG_Bool(REGB0)) {
42526 } else {
42527 fprintf(stderr, "Assert failed");
42528 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15819);
42529 nit_exit(1);
42530 }
42531 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
42532 /* ./parser//parser.nit:15821 */
42533 if (UNTAG_Bool(REGB0)) {
42534 } else {
42535 fprintf(stderr, "Assert failed");
42536 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15821);
42537 nit_exit(1);
42538 }
42539 fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[7], fra.me.REG[6]);
42540 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
42541 /* ./parser//parser.nit:15827 */
42542 if (UNTAG_Bool(REGB0)) {
42543 } else {
42544 fprintf(stderr, "Assert failed");
42545 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15827);
42546 nit_exit(1);
42547 }
42548 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
42549 /* ./parser//parser.nit:15829 */
42550 if (UNTAG_Bool(REGB0)) {
42551 } else {
42552 fprintf(stderr, "Assert failed");
42553 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15829);
42554 nit_exit(1);
42555 }
42556 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
42557 /* ./parser//parser.nit:15831 */
42558 if (UNTAG_Bool(REGB0)) {
42559 } else {
42560 fprintf(stderr, "Assert failed");
42561 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15831);
42562 nit_exit(1);
42563 }
42564 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
42565 /* ./parser//parser.nit:15833 */
42566 if (UNTAG_Bool(REGB0)) {
42567 } else {
42568 fprintf(stderr, "Assert failed");
42569 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15833);
42570 nit_exit(1);
42571 }
42572 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[6], NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
42573 fra.me.REG[0] = fra.me.REG[2];
42574 REGB0 = TAG_Int(12);
42575 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42576 /* ./parser//parser.nit:15846 */
42577 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
42578 stack_frame_head = fra.me.prev;
42579 return;
42580 }
42581 void parser___ReduceAction333___init(val_t p0, int* init_table){
42582 int itpos337 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction333].i;
42583 struct {struct stack_frame_t me;} fra;
42584 val_t tmp;
42585 if (init_table[itpos337]) return;
42586 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42587 fra.me.file = LOCATE_parser;
42588 fra.me.line = 15848;
42589 fra.me.meth = LOCATE_parser___ReduceAction333___init;
42590 fra.me.has_broke = 0;
42591 fra.me.REG_size = 1;
42592 fra.me.REG[0] = NIT_NULL;
42593 fra.me.REG[0] = p0;
42594 /* ./parser//parser.nit:15848 */
42595 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
42596 stack_frame_head = fra.me.prev;
42597 init_table[itpos337] = 1;
42598 return;
42599 }
42600 void parser___ReduceAction334___action(val_t p0, val_t p1){
42601 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
42602 val_t REGB0;
42603 val_t tmp;
42604 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42605 fra.me.file = LOCATE_parser;
42606 fra.me.line = 15852;
42607 fra.me.meth = LOCATE_parser___ReduceAction334___action;
42608 fra.me.has_broke = 0;
42609 fra.me.REG_size = 8;
42610 fra.me.REG[0] = NIT_NULL;
42611 fra.me.REG[1] = NIT_NULL;
42612 fra.me.REG[2] = NIT_NULL;
42613 fra.me.REG[3] = NIT_NULL;
42614 fra.me.REG[4] = NIT_NULL;
42615 fra.me.REG[5] = NIT_NULL;
42616 fra.me.REG[6] = NIT_NULL;
42617 fra.me.REG[7] = NIT_NULL;
42618 fra.me.REG[0] = p0;
42619 fra.me.REG[1] = p1;
42620 fra.me.REG[0] = NIT_NULL;
42621 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42622 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42623 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42624 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42625 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42626 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42627 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
42628 /* ./parser//parser.nit:15862 */
42629 if (UNTAG_Bool(REGB0)) {
42630 } else {
42631 fprintf(stderr, "Assert failed");
42632 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15862);
42633 nit_exit(1);
42634 }
42635 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
42636 /* ./parser//parser.nit:15864 */
42637 if (UNTAG_Bool(REGB0)) {
42638 } else {
42639 fprintf(stderr, "Assert failed");
42640 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15864);
42641 nit_exit(1);
42642 }
42643 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
42644 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
42645 /* ./parser//parser.nit:15870 */
42646 if (UNTAG_Bool(REGB0)) {
42647 } else {
42648 fprintf(stderr, "Assert failed");
42649 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15870);
42650 nit_exit(1);
42651 }
42652 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
42653 /* ./parser//parser.nit:15872 */
42654 if (UNTAG_Bool(REGB0)) {
42655 } else {
42656 fprintf(stderr, "Assert failed");
42657 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15872);
42658 nit_exit(1);
42659 }
42660 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
42661 /* ./parser//parser.nit:15874 */
42662 if (UNTAG_Bool(REGB0)) {
42663 } else {
42664 fprintf(stderr, "Assert failed");
42665 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15874);
42666 nit_exit(1);
42667 }
42668 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
42669 /* ./parser//parser.nit:15876 */
42670 if (UNTAG_Bool(REGB0)) {
42671 } else {
42672 fprintf(stderr, "Assert failed");
42673 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15876);
42674 nit_exit(1);
42675 }
42676 fra.me.REG[2] = NEW_AAttrPropdef_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], fra.me.REG[2], NIT_NULL);
42677 fra.me.REG[0] = fra.me.REG[2];
42678 REGB0 = TAG_Int(12);
42679 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42680 /* ./parser//parser.nit:15889 */
42681 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
42682 stack_frame_head = fra.me.prev;
42683 return;
42684 }
42685 void parser___ReduceAction334___init(val_t p0, int* init_table){
42686 int itpos338 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction334].i;
42687 struct {struct stack_frame_t me;} fra;
42688 val_t tmp;
42689 if (init_table[itpos338]) return;
42690 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42691 fra.me.file = LOCATE_parser;
42692 fra.me.line = 15891;
42693 fra.me.meth = LOCATE_parser___ReduceAction334___init;
42694 fra.me.has_broke = 0;
42695 fra.me.REG_size = 1;
42696 fra.me.REG[0] = NIT_NULL;
42697 fra.me.REG[0] = p0;
42698 /* ./parser//parser.nit:15891 */
42699 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
42700 stack_frame_head = fra.me.prev;
42701 init_table[itpos338] = 1;
42702 return;
42703 }
42704 void parser___ReduceAction335___action(val_t p0, val_t p1){
42705 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
42706 val_t REGB0;
42707 val_t tmp;
42708 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42709 fra.me.file = LOCATE_parser;
42710 fra.me.line = 15895;
42711 fra.me.meth = LOCATE_parser___ReduceAction335___action;
42712 fra.me.has_broke = 0;
42713 fra.me.REG_size = 9;
42714 fra.me.REG[0] = NIT_NULL;
42715 fra.me.REG[1] = NIT_NULL;
42716 fra.me.REG[2] = NIT_NULL;
42717 fra.me.REG[3] = NIT_NULL;
42718 fra.me.REG[4] = NIT_NULL;
42719 fra.me.REG[5] = NIT_NULL;
42720 fra.me.REG[6] = NIT_NULL;
42721 fra.me.REG[7] = NIT_NULL;
42722 fra.me.REG[8] = NIT_NULL;
42723 fra.me.REG[0] = p0;
42724 fra.me.REG[1] = p1;
42725 fra.me.REG[0] = NIT_NULL;
42726 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42727 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42728 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42729 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42730 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42731 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42732 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42733 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
42734 /* ./parser//parser.nit:15906 */
42735 if (UNTAG_Bool(REGB0)) {
42736 } else {
42737 fprintf(stderr, "Assert failed");
42738 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15906);
42739 nit_exit(1);
42740 }
42741 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
42742 /* ./parser//parser.nit:15908 */
42743 if (UNTAG_Bool(REGB0)) {
42744 } else {
42745 fprintf(stderr, "Assert failed");
42746 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15908);
42747 nit_exit(1);
42748 }
42749 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
42750 /* ./parser//parser.nit:15910 */
42751 if (UNTAG_Bool(REGB0)) {
42752 } else {
42753 fprintf(stderr, "Assert failed");
42754 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15910);
42755 nit_exit(1);
42756 }
42757 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
42758 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
42759 /* ./parser//parser.nit:15916 */
42760 if (UNTAG_Bool(REGB0)) {
42761 } else {
42762 fprintf(stderr, "Assert failed");
42763 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15916);
42764 nit_exit(1);
42765 }
42766 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
42767 /* ./parser//parser.nit:15918 */
42768 if (UNTAG_Bool(REGB0)) {
42769 } else {
42770 fprintf(stderr, "Assert failed");
42771 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15918);
42772 nit_exit(1);
42773 }
42774 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
42775 /* ./parser//parser.nit:15920 */
42776 if (UNTAG_Bool(REGB0)) {
42777 } else {
42778 fprintf(stderr, "Assert failed");
42779 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15920);
42780 nit_exit(1);
42781 }
42782 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
42783 /* ./parser//parser.nit:15922 */
42784 if (UNTAG_Bool(REGB0)) {
42785 } else {
42786 fprintf(stderr, "Assert failed");
42787 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15922);
42788 nit_exit(1);
42789 }
42790 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
42791 fra.me.REG[0] = fra.me.REG[2];
42792 REGB0 = TAG_Int(12);
42793 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42794 /* ./parser//parser.nit:15935 */
42795 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
42796 stack_frame_head = fra.me.prev;
42797 return;
42798 }
42799 void parser___ReduceAction335___init(val_t p0, int* init_table){
42800 int itpos339 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction335].i;
42801 struct {struct stack_frame_t me;} fra;
42802 val_t tmp;
42803 if (init_table[itpos339]) return;
42804 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42805 fra.me.file = LOCATE_parser;
42806 fra.me.line = 15937;
42807 fra.me.meth = LOCATE_parser___ReduceAction335___init;
42808 fra.me.has_broke = 0;
42809 fra.me.REG_size = 1;
42810 fra.me.REG[0] = NIT_NULL;
42811 fra.me.REG[0] = p0;
42812 /* ./parser//parser.nit:15937 */
42813 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
42814 stack_frame_head = fra.me.prev;
42815 init_table[itpos339] = 1;
42816 return;
42817 }
42818 void parser___ReduceAction336___action(val_t p0, val_t p1){
42819 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
42820 val_t REGB0;
42821 val_t tmp;
42822 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42823 fra.me.file = LOCATE_parser;
42824 fra.me.line = 15941;
42825 fra.me.meth = LOCATE_parser___ReduceAction336___action;
42826 fra.me.has_broke = 0;
42827 fra.me.REG_size = 7;
42828 fra.me.REG[0] = NIT_NULL;
42829 fra.me.REG[1] = NIT_NULL;
42830 fra.me.REG[2] = NIT_NULL;
42831 fra.me.REG[3] = NIT_NULL;
42832 fra.me.REG[4] = NIT_NULL;
42833 fra.me.REG[5] = NIT_NULL;
42834 fra.me.REG[6] = NIT_NULL;
42835 fra.me.REG[0] = p0;
42836 fra.me.REG[1] = p1;
42837 fra.me.REG[0] = NIT_NULL;
42838 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42839 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42840 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42841 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42842 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42843 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
42844 /* ./parser//parser.nit:15950 */
42845 if (UNTAG_Bool(REGB0)) {
42846 } else {
42847 fprintf(stderr, "Assert failed");
42848 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15950);
42849 nit_exit(1);
42850 }
42851 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
42852 /* ./parser//parser.nit:15952 */
42853 if (UNTAG_Bool(REGB0)) {
42854 } else {
42855 fprintf(stderr, "Assert failed");
42856 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15952);
42857 nit_exit(1);
42858 }
42859 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
42860 /* ./parser//parser.nit:15954 */
42861 if (UNTAG_Bool(REGB0)) {
42862 } else {
42863 fprintf(stderr, "Assert failed");
42864 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15954);
42865 nit_exit(1);
42866 }
42867 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
42868 /* ./parser//parser.nit:15956 */
42869 if (UNTAG_Bool(REGB0)) {
42870 } else {
42871 fprintf(stderr, "Assert failed");
42872 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15956);
42873 nit_exit(1);
42874 }
42875 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
42876 /* ./parser//parser.nit:15958 */
42877 if (UNTAG_Bool(REGB0)) {
42878 } else {
42879 fprintf(stderr, "Assert failed");
42880 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15958);
42881 nit_exit(1);
42882 }
42883 fra.me.REG[2] = NEW_AAttrPropdef_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], fra.me.REG[2], NIT_NULL);
42884 fra.me.REG[0] = fra.me.REG[2];
42885 REGB0 = TAG_Int(12);
42886 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42887 /* ./parser//parser.nit:15971 */
42888 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
42889 stack_frame_head = fra.me.prev;
42890 return;
42891 }
42892 void parser___ReduceAction336___init(val_t p0, int* init_table){
42893 int itpos340 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction336].i;
42894 struct {struct stack_frame_t me;} fra;
42895 val_t tmp;
42896 if (init_table[itpos340]) return;
42897 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42898 fra.me.file = LOCATE_parser;
42899 fra.me.line = 15973;
42900 fra.me.meth = LOCATE_parser___ReduceAction336___init;
42901 fra.me.has_broke = 0;
42902 fra.me.REG_size = 1;
42903 fra.me.REG[0] = NIT_NULL;
42904 fra.me.REG[0] = p0;
42905 /* ./parser//parser.nit:15973 */
42906 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
42907 stack_frame_head = fra.me.prev;
42908 init_table[itpos340] = 1;
42909 return;
42910 }
42911 void parser___ReduceAction337___action(val_t p0, val_t p1){
42912 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
42913 val_t REGB0;
42914 val_t tmp;
42915 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42916 fra.me.file = LOCATE_parser;
42917 fra.me.line = 15977;
42918 fra.me.meth = LOCATE_parser___ReduceAction337___action;
42919 fra.me.has_broke = 0;
42920 fra.me.REG_size = 10;
42921 fra.me.REG[0] = NIT_NULL;
42922 fra.me.REG[1] = NIT_NULL;
42923 fra.me.REG[2] = NIT_NULL;
42924 fra.me.REG[3] = NIT_NULL;
42925 fra.me.REG[4] = NIT_NULL;
42926 fra.me.REG[5] = NIT_NULL;
42927 fra.me.REG[6] = NIT_NULL;
42928 fra.me.REG[7] = NIT_NULL;
42929 fra.me.REG[8] = NIT_NULL;
42930 fra.me.REG[9] = NIT_NULL;
42931 fra.me.REG[0] = p0;
42932 fra.me.REG[1] = p1;
42933 fra.me.REG[0] = NIT_NULL;
42934 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42935 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42936 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42937 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42938 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42939 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42940 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42941 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42942 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
42943 /* ./parser//parser.nit:15989 */
42944 if (UNTAG_Bool(REGB0)) {
42945 } else {
42946 fprintf(stderr, "Assert failed");
42947 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15989);
42948 nit_exit(1);
42949 }
42950 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
42951 /* ./parser//parser.nit:15991 */
42952 if (UNTAG_Bool(REGB0)) {
42953 } else {
42954 fprintf(stderr, "Assert failed");
42955 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15991);
42956 nit_exit(1);
42957 }
42958 fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]);
42959 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
42960 /* ./parser//parser.nit:15997 */
42961 if (UNTAG_Bool(REGB0)) {
42962 } else {
42963 fprintf(stderr, "Assert failed");
42964 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15997);
42965 nit_exit(1);
42966 }
42967 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
42968 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
42969 /* ./parser//parser.nit:16003 */
42970 if (UNTAG_Bool(REGB0)) {
42971 } else {
42972 fprintf(stderr, "Assert failed");
42973 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16003);
42974 nit_exit(1);
42975 }
42976 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
42977 /* ./parser//parser.nit:16005 */
42978 if (UNTAG_Bool(REGB0)) {
42979 } else {
42980 fprintf(stderr, "Assert failed");
42981 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16005);
42982 nit_exit(1);
42983 }
42984 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
42985 /* ./parser//parser.nit:16007 */
42986 if (UNTAG_Bool(REGB0)) {
42987 } else {
42988 fprintf(stderr, "Assert failed");
42989 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16007);
42990 nit_exit(1);
42991 }
42992 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
42993 /* ./parser//parser.nit:16009 */
42994 if (UNTAG_Bool(REGB0)) {
42995 } else {
42996 fprintf(stderr, "Assert failed");
42997 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16009);
42998 nit_exit(1);
42999 }
43000 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
43001 /* ./parser//parser.nit:16011 */
43002 if (UNTAG_Bool(REGB0)) {
43003 } else {
43004 fprintf(stderr, "Assert failed");
43005 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16011);
43006 nit_exit(1);
43007 }
43008 fra.me.REG[2] = NEW_AAttrPropdef_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], fra.me.REG[2], NIT_NULL);
43009 fra.me.REG[0] = fra.me.REG[2];
43010 REGB0 = TAG_Int(12);
43011 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43012 /* ./parser//parser.nit:16024 */
43013 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
43014 stack_frame_head = fra.me.prev;
43015 return;
43016 }
43017 void parser___ReduceAction337___init(val_t p0, int* init_table){
43018 int itpos341 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction337].i;
43019 struct {struct stack_frame_t me;} fra;
43020 val_t tmp;
43021 if (init_table[itpos341]) return;
43022 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43023 fra.me.file = LOCATE_parser;
43024 fra.me.line = 16026;
43025 fra.me.meth = LOCATE_parser___ReduceAction337___init;
43026 fra.me.has_broke = 0;
43027 fra.me.REG_size = 1;
43028 fra.me.REG[0] = NIT_NULL;
43029 fra.me.REG[0] = p0;
43030 /* ./parser//parser.nit:16026 */
43031 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
43032 stack_frame_head = fra.me.prev;
43033 init_table[itpos341] = 1;
43034 return;
43035 }
43036 void parser___ReduceAction338___action(val_t p0, val_t p1){
43037 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
43038 val_t REGB0;
43039 val_t tmp;
43040 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43041 fra.me.file = LOCATE_parser;
43042 fra.me.line = 16030;
43043 fra.me.meth = LOCATE_parser___ReduceAction338___action;
43044 fra.me.has_broke = 0;
43045 fra.me.REG_size = 11;
43046 fra.me.REG[0] = NIT_NULL;
43047 fra.me.REG[1] = NIT_NULL;
43048 fra.me.REG[2] = NIT_NULL;
43049 fra.me.REG[3] = NIT_NULL;
43050 fra.me.REG[4] = NIT_NULL;
43051 fra.me.REG[5] = NIT_NULL;
43052 fra.me.REG[6] = NIT_NULL;
43053 fra.me.REG[7] = NIT_NULL;
43054 fra.me.REG[8] = NIT_NULL;
43055 fra.me.REG[9] = NIT_NULL;
43056 fra.me.REG[10] = NIT_NULL;
43057 fra.me.REG[0] = p0;
43058 fra.me.REG[1] = p1;
43059 fra.me.REG[0] = NIT_NULL;
43060 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43061 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43062 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43063 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43064 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43065 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43066 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43067 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43068 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43069 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
43070 /* ./parser//parser.nit:16043 */
43071 if (UNTAG_Bool(REGB0)) {
43072 } else {
43073 fprintf(stderr, "Assert failed");
43074 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16043);
43075 nit_exit(1);
43076 }
43077 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
43078 /* ./parser//parser.nit:16045 */
43079 if (UNTAG_Bool(REGB0)) {
43080 } else {
43081 fprintf(stderr, "Assert failed");
43082 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16045);
43083 nit_exit(1);
43084 }
43085 fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[9]);
43086 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
43087 /* ./parser//parser.nit:16051 */
43088 if (UNTAG_Bool(REGB0)) {
43089 } else {
43090 fprintf(stderr, "Assert failed");
43091 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16051);
43092 nit_exit(1);
43093 }
43094 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
43095 /* ./parser//parser.nit:16053 */
43096 if (UNTAG_Bool(REGB0)) {
43097 } else {
43098 fprintf(stderr, "Assert failed");
43099 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16053);
43100 nit_exit(1);
43101 }
43102 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
43103 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
43104 /* ./parser//parser.nit:16059 */
43105 if (UNTAG_Bool(REGB0)) {
43106 } else {
43107 fprintf(stderr, "Assert failed");
43108 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16059);
43109 nit_exit(1);
43110 }
43111 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
43112 /* ./parser//parser.nit:16061 */
43113 if (UNTAG_Bool(REGB0)) {
43114 } else {
43115 fprintf(stderr, "Assert failed");
43116 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16061);
43117 nit_exit(1);
43118 }
43119 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
43120 /* ./parser//parser.nit:16063 */
43121 if (UNTAG_Bool(REGB0)) {
43122 } else {
43123 fprintf(stderr, "Assert failed");
43124 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16063);
43125 nit_exit(1);
43126 }
43127 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
43128 /* ./parser//parser.nit:16065 */
43129 if (UNTAG_Bool(REGB0)) {
43130 } else {
43131 fprintf(stderr, "Assert failed");
43132 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16065);
43133 nit_exit(1);
43134 }
43135 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
43136 /* ./parser//parser.nit:16067 */
43137 if (UNTAG_Bool(REGB0)) {
43138 } else {
43139 fprintf(stderr, "Assert failed");
43140 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16067);
43141 nit_exit(1);
43142 }
43143 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
43144 fra.me.REG[0] = fra.me.REG[2];
43145 REGB0 = TAG_Int(12);
43146 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43147 /* ./parser//parser.nit:16080 */
43148 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
43149 stack_frame_head = fra.me.prev;
43150 return;
43151 }
43152 void parser___ReduceAction338___init(val_t p0, int* init_table){
43153 int itpos342 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction338].i;
43154 struct {struct stack_frame_t me;} fra;
43155 val_t tmp;
43156 if (init_table[itpos342]) return;
43157 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43158 fra.me.file = LOCATE_parser;
43159 fra.me.line = 16082;
43160 fra.me.meth = LOCATE_parser___ReduceAction338___init;
43161 fra.me.has_broke = 0;
43162 fra.me.REG_size = 1;
43163 fra.me.REG[0] = NIT_NULL;
43164 fra.me.REG[0] = p0;
43165 /* ./parser//parser.nit:16082 */
43166 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
43167 stack_frame_head = fra.me.prev;
43168 init_table[itpos342] = 1;
43169 return;
43170 }
43171 void parser___ReduceAction339___action(val_t p0, val_t p1){
43172 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
43173 val_t REGB0;
43174 val_t tmp;
43175 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43176 fra.me.file = LOCATE_parser;
43177 fra.me.line = 16086;
43178 fra.me.meth = LOCATE_parser___ReduceAction339___action;
43179 fra.me.has_broke = 0;
43180 fra.me.REG_size = 9;
43181 fra.me.REG[0] = NIT_NULL;
43182 fra.me.REG[1] = NIT_NULL;
43183 fra.me.REG[2] = NIT_NULL;
43184 fra.me.REG[3] = NIT_NULL;
43185 fra.me.REG[4] = NIT_NULL;
43186 fra.me.REG[5] = NIT_NULL;
43187 fra.me.REG[6] = NIT_NULL;
43188 fra.me.REG[7] = NIT_NULL;
43189 fra.me.REG[8] = NIT_NULL;
43190 fra.me.REG[0] = p0;
43191 fra.me.REG[1] = p1;
43192 fra.me.REG[0] = NIT_NULL;
43193 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43194 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43195 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43196 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43197 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43198 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43199 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43200 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
43201 /* ./parser//parser.nit:16097 */
43202 if (UNTAG_Bool(REGB0)) {
43203 } else {
43204 fprintf(stderr, "Assert failed");
43205 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16097);
43206 nit_exit(1);
43207 }
43208 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
43209 /* ./parser//parser.nit:16099 */
43210 if (UNTAG_Bool(REGB0)) {
43211 } else {
43212 fprintf(stderr, "Assert failed");
43213 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16099);
43214 nit_exit(1);
43215 }
43216 fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]);
43217 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
43218 /* ./parser//parser.nit:16105 */
43219 if (UNTAG_Bool(REGB0)) {
43220 } else {
43221 fprintf(stderr, "Assert failed");
43222 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16105);
43223 nit_exit(1);
43224 }
43225 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
43226 /* ./parser//parser.nit:16107 */
43227 if (UNTAG_Bool(REGB0)) {
43228 } else {
43229 fprintf(stderr, "Assert failed");
43230 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16107);
43231 nit_exit(1);
43232 }
43233 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
43234 /* ./parser//parser.nit:16109 */
43235 if (UNTAG_Bool(REGB0)) {
43236 } else {
43237 fprintf(stderr, "Assert failed");
43238 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16109);
43239 nit_exit(1);
43240 }
43241 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
43242 /* ./parser//parser.nit:16111 */
43243 if (UNTAG_Bool(REGB0)) {
43244 } else {
43245 fprintf(stderr, "Assert failed");
43246 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16111);
43247 nit_exit(1);
43248 }
43249 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
43250 /* ./parser//parser.nit:16113 */
43251 if (UNTAG_Bool(REGB0)) {
43252 } else {
43253 fprintf(stderr, "Assert failed");
43254 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16113);
43255 nit_exit(1);
43256 }
43257 fra.me.REG[2] = NEW_AAttrPropdef_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], fra.me.REG[2], NIT_NULL);
43258 fra.me.REG[0] = fra.me.REG[2];
43259 REGB0 = TAG_Int(12);
43260 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43261 /* ./parser//parser.nit:16126 */
43262 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
43263 stack_frame_head = fra.me.prev;
43264 return;
43265 }
43266 void parser___ReduceAction339___init(val_t p0, int* init_table){
43267 int itpos343 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction339].i;
43268 struct {struct stack_frame_t me;} fra;
43269 val_t tmp;
43270 if (init_table[itpos343]) return;
43271 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43272 fra.me.file = LOCATE_parser;
43273 fra.me.line = 16128;
43274 fra.me.meth = LOCATE_parser___ReduceAction339___init;
43275 fra.me.has_broke = 0;
43276 fra.me.REG_size = 1;
43277 fra.me.REG[0] = NIT_NULL;
43278 fra.me.REG[0] = p0;
43279 /* ./parser//parser.nit:16128 */
43280 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
43281 stack_frame_head = fra.me.prev;
43282 init_table[itpos343] = 1;
43283 return;
43284 }
43285 void parser___ReduceAction340___action(val_t p0, val_t p1){
43286 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
43287 val_t REGB0;
43288 val_t tmp;
43289 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43290 fra.me.file = LOCATE_parser;
43291 fra.me.line = 16132;
43292 fra.me.meth = LOCATE_parser___ReduceAction340___action;
43293 fra.me.has_broke = 0;
43294 fra.me.REG_size = 11;
43295 fra.me.REG[0] = NIT_NULL;
43296 fra.me.REG[1] = NIT_NULL;
43297 fra.me.REG[2] = NIT_NULL;
43298 fra.me.REG[3] = NIT_NULL;
43299 fra.me.REG[4] = NIT_NULL;
43300 fra.me.REG[5] = NIT_NULL;
43301 fra.me.REG[6] = NIT_NULL;
43302 fra.me.REG[7] = NIT_NULL;
43303 fra.me.REG[8] = NIT_NULL;
43304 fra.me.REG[9] = NIT_NULL;
43305 fra.me.REG[10] = NIT_NULL;
43306 fra.me.REG[0] = p0;
43307 fra.me.REG[1] = p1;
43308 fra.me.REG[0] = NIT_NULL;
43309 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43310 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43311 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43312 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43313 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43314 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43315 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43316 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43317 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43318 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
43319 /* ./parser//parser.nit:16145 */
43320 if (UNTAG_Bool(REGB0)) {
43321 } else {
43322 fprintf(stderr, "Assert failed");
43323 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16145);
43324 nit_exit(1);
43325 }
43326 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
43327 /* ./parser//parser.nit:16147 */
43328 if (UNTAG_Bool(REGB0)) {
43329 } else {
43330 fprintf(stderr, "Assert failed");
43331 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16147);
43332 nit_exit(1);
43333 }
43334 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
43335 /* ./parser//parser.nit:16149 */
43336 if (UNTAG_Bool(REGB0)) {
43337 } else {
43338 fprintf(stderr, "Assert failed");
43339 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16149);
43340 nit_exit(1);
43341 }
43342 fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]);
43343 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
43344 /* ./parser//parser.nit:16155 */
43345 if (UNTAG_Bool(REGB0)) {
43346 } else {
43347 fprintf(stderr, "Assert failed");
43348 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16155);
43349 nit_exit(1);
43350 }
43351 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
43352 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
43353 /* ./parser//parser.nit:16161 */
43354 if (UNTAG_Bool(REGB0)) {
43355 } else {
43356 fprintf(stderr, "Assert failed");
43357 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16161);
43358 nit_exit(1);
43359 }
43360 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
43361 /* ./parser//parser.nit:16163 */
43362 if (UNTAG_Bool(REGB0)) {
43363 } else {
43364 fprintf(stderr, "Assert failed");
43365 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16163);
43366 nit_exit(1);
43367 }
43368 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
43369 /* ./parser//parser.nit:16165 */
43370 if (UNTAG_Bool(REGB0)) {
43371 } else {
43372 fprintf(stderr, "Assert failed");
43373 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16165);
43374 nit_exit(1);
43375 }
43376 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
43377 /* ./parser//parser.nit:16167 */
43378 if (UNTAG_Bool(REGB0)) {
43379 } else {
43380 fprintf(stderr, "Assert failed");
43381 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16167);
43382 nit_exit(1);
43383 }
43384 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
43385 /* ./parser//parser.nit:16169 */
43386 if (UNTAG_Bool(REGB0)) {
43387 } else {
43388 fprintf(stderr, "Assert failed");
43389 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16169);
43390 nit_exit(1);
43391 }
43392 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
43393 fra.me.REG[0] = fra.me.REG[2];
43394 REGB0 = TAG_Int(12);
43395 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43396 /* ./parser//parser.nit:16182 */
43397 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
43398 stack_frame_head = fra.me.prev;
43399 return;
43400 }
43401 void parser___ReduceAction340___init(val_t p0, int* init_table){
43402 int itpos344 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction340].i;
43403 struct {struct stack_frame_t me;} fra;
43404 val_t tmp;
43405 if (init_table[itpos344]) return;
43406 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43407 fra.me.file = LOCATE_parser;
43408 fra.me.line = 16184;
43409 fra.me.meth = LOCATE_parser___ReduceAction340___init;
43410 fra.me.has_broke = 0;
43411 fra.me.REG_size = 1;
43412 fra.me.REG[0] = NIT_NULL;
43413 fra.me.REG[0] = p0;
43414 /* ./parser//parser.nit:16184 */
43415 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
43416 stack_frame_head = fra.me.prev;
43417 init_table[itpos344] = 1;
43418 return;
43419 }
43420 void parser___ReduceAction341___action(val_t p0, val_t p1){
43421 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
43422 val_t REGB0;
43423 val_t tmp;
43424 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43425 fra.me.file = LOCATE_parser;
43426 fra.me.line = 16188;
43427 fra.me.meth = LOCATE_parser___ReduceAction341___action;
43428 fra.me.has_broke = 0;
43429 fra.me.REG_size = 12;
43430 fra.me.REG[0] = NIT_NULL;
43431 fra.me.REG[1] = NIT_NULL;
43432 fra.me.REG[2] = NIT_NULL;
43433 fra.me.REG[3] = NIT_NULL;
43434 fra.me.REG[4] = NIT_NULL;
43435 fra.me.REG[5] = NIT_NULL;
43436 fra.me.REG[6] = NIT_NULL;
43437 fra.me.REG[7] = NIT_NULL;
43438 fra.me.REG[8] = NIT_NULL;
43439 fra.me.REG[9] = NIT_NULL;
43440 fra.me.REG[10] = NIT_NULL;
43441 fra.me.REG[11] = NIT_NULL;
43442 fra.me.REG[0] = p0;
43443 fra.me.REG[1] = p1;
43444 fra.me.REG[0] = NIT_NULL;
43445 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43446 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43447 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43448 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43449 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43450 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43451 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43452 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43453 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43454 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43455 REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
43456 /* ./parser//parser.nit:16202 */
43457 if (UNTAG_Bool(REGB0)) {
43458 } else {
43459 fprintf(stderr, "Assert failed");
43460 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16202);
43461 nit_exit(1);
43462 }
43463 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
43464 /* ./parser//parser.nit:16204 */
43465 if (UNTAG_Bool(REGB0)) {
43466 } else {
43467 fprintf(stderr, "Assert failed");
43468 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16204);
43469 nit_exit(1);
43470 }
43471 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
43472 /* ./parser//parser.nit:16206 */
43473 if (UNTAG_Bool(REGB0)) {
43474 } else {
43475 fprintf(stderr, "Assert failed");
43476 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16206);
43477 nit_exit(1);
43478 }
43479 fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[10], fra.me.REG[9]);
43480 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
43481 /* ./parser//parser.nit:16212 */
43482 if (UNTAG_Bool(REGB0)) {
43483 } else {
43484 fprintf(stderr, "Assert failed");
43485 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16212);
43486 nit_exit(1);
43487 }
43488 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
43489 /* ./parser//parser.nit:16214 */
43490 if (UNTAG_Bool(REGB0)) {
43491 } else {
43492 fprintf(stderr, "Assert failed");
43493 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16214);
43494 nit_exit(1);
43495 }
43496 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
43497 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
43498 /* ./parser//parser.nit:16220 */
43499 if (UNTAG_Bool(REGB0)) {
43500 } else {
43501 fprintf(stderr, "Assert failed");
43502 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16220);
43503 nit_exit(1);
43504 }
43505 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
43506 /* ./parser//parser.nit:16222 */
43507 if (UNTAG_Bool(REGB0)) {
43508 } else {
43509 fprintf(stderr, "Assert failed");
43510 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16222);
43511 nit_exit(1);
43512 }
43513 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
43514 /* ./parser//parser.nit:16224 */
43515 if (UNTAG_Bool(REGB0)) {
43516 } else {
43517 fprintf(stderr, "Assert failed");
43518 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16224);
43519 nit_exit(1);
43520 }
43521 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
43522 /* ./parser//parser.nit:16226 */
43523 if (UNTAG_Bool(REGB0)) {
43524 } else {
43525 fprintf(stderr, "Assert failed");
43526 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16226);
43527 nit_exit(1);
43528 }
43529 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
43530 /* ./parser//parser.nit:16228 */
43531 if (UNTAG_Bool(REGB0)) {
43532 } else {
43533 fprintf(stderr, "Assert failed");
43534 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16228);
43535 nit_exit(1);
43536 }
43537 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
43538 fra.me.REG[0] = fra.me.REG[2];
43539 REGB0 = TAG_Int(12);
43540 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43541 /* ./parser//parser.nit:16241 */
43542 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
43543 stack_frame_head = fra.me.prev;
43544 return;
43545 }
43546 void parser___ReduceAction341___init(val_t p0, int* init_table){
43547 int itpos345 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction341].i;
43548 struct {struct stack_frame_t me;} fra;
43549 val_t tmp;
43550 if (init_table[itpos345]) return;
43551 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43552 fra.me.file = LOCATE_parser;
43553 fra.me.line = 16243;
43554 fra.me.meth = LOCATE_parser___ReduceAction341___init;
43555 fra.me.has_broke = 0;
43556 fra.me.REG_size = 1;
43557 fra.me.REG[0] = NIT_NULL;
43558 fra.me.REG[0] = p0;
43559 /* ./parser//parser.nit:16243 */
43560 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
43561 stack_frame_head = fra.me.prev;
43562 init_table[itpos345] = 1;
43563 return;
43564 }
43565 void parser___ReduceAction342___action(val_t p0, val_t p1){
43566 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
43567 val_t REGB0;
43568 val_t tmp;
43569 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43570 fra.me.file = LOCATE_parser;
43571 fra.me.line = 16247;
43572 fra.me.meth = LOCATE_parser___ReduceAction342___action;
43573 fra.me.has_broke = 0;
43574 fra.me.REG_size = 10;
43575 fra.me.REG[0] = NIT_NULL;
43576 fra.me.REG[1] = NIT_NULL;
43577 fra.me.REG[2] = NIT_NULL;
43578 fra.me.REG[3] = NIT_NULL;
43579 fra.me.REG[4] = NIT_NULL;
43580 fra.me.REG[5] = NIT_NULL;
43581 fra.me.REG[6] = NIT_NULL;
43582 fra.me.REG[7] = NIT_NULL;
43583 fra.me.REG[8] = NIT_NULL;
43584 fra.me.REG[9] = NIT_NULL;
43585 fra.me.REG[0] = p0;
43586 fra.me.REG[1] = p1;
43587 fra.me.REG[0] = NIT_NULL;
43588 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43589 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43590 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43591 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43592 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43593 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43594 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43595 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43596 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
43597 /* ./parser//parser.nit:16259 */
43598 if (UNTAG_Bool(REGB0)) {
43599 } else {
43600 fprintf(stderr, "Assert failed");
43601 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16259);
43602 nit_exit(1);
43603 }
43604 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
43605 /* ./parser//parser.nit:16261 */
43606 if (UNTAG_Bool(REGB0)) {
43607 } else {
43608 fprintf(stderr, "Assert failed");
43609 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16261);
43610 nit_exit(1);
43611 }
43612 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
43613 /* ./parser//parser.nit:16263 */
43614 if (UNTAG_Bool(REGB0)) {
43615 } else {
43616 fprintf(stderr, "Assert failed");
43617 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16263);
43618 nit_exit(1);
43619 }
43620 fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]);
43621 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
43622 /* ./parser//parser.nit:16269 */
43623 if (UNTAG_Bool(REGB0)) {
43624 } else {
43625 fprintf(stderr, "Assert failed");
43626 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16269);
43627 nit_exit(1);
43628 }
43629 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
43630 /* ./parser//parser.nit:16271 */
43631 if (UNTAG_Bool(REGB0)) {
43632 } else {
43633 fprintf(stderr, "Assert failed");
43634 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16271);
43635 nit_exit(1);
43636 }
43637 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
43638 /* ./parser//parser.nit:16273 */
43639 if (UNTAG_Bool(REGB0)) {
43640 } else {
43641 fprintf(stderr, "Assert failed");
43642 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16273);
43643 nit_exit(1);
43644 }
43645 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
43646 /* ./parser//parser.nit:16275 */
43647 if (UNTAG_Bool(REGB0)) {
43648 } else {
43649 fprintf(stderr, "Assert failed");
43650 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16275);
43651 nit_exit(1);
43652 }
43653 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
43654 /* ./parser//parser.nit:16277 */
43655 if (UNTAG_Bool(REGB0)) {
43656 } else {
43657 fprintf(stderr, "Assert failed");
43658 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16277);
43659 nit_exit(1);
43660 }
43661 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
43662 fra.me.REG[0] = fra.me.REG[2];
43663 REGB0 = TAG_Int(12);
43664 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43665 /* ./parser//parser.nit:16290 */
43666 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
43667 stack_frame_head = fra.me.prev;
43668 return;
43669 }
43670 void parser___ReduceAction342___init(val_t p0, int* init_table){
43671 int itpos346 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction342].i;
43672 struct {struct stack_frame_t me;} fra;
43673 val_t tmp;
43674 if (init_table[itpos346]) return;
43675 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43676 fra.me.file = LOCATE_parser;
43677 fra.me.line = 16292;
43678 fra.me.meth = LOCATE_parser___ReduceAction342___init;
43679 fra.me.has_broke = 0;
43680 fra.me.REG_size = 1;
43681 fra.me.REG[0] = NIT_NULL;
43682 fra.me.REG[0] = p0;
43683 /* ./parser//parser.nit:16292 */
43684 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
43685 stack_frame_head = fra.me.prev;
43686 init_table[itpos346] = 1;
43687 return;
43688 }
43689 void parser___ReduceAction343___action(val_t p0, val_t p1){
43690 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
43691 val_t REGB0;
43692 val_t tmp;
43693 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43694 fra.me.file = LOCATE_parser;
43695 fra.me.line = 16296;
43696 fra.me.meth = LOCATE_parser___ReduceAction343___action;
43697 fra.me.has_broke = 0;
43698 fra.me.REG_size = 9;
43699 fra.me.REG[0] = NIT_NULL;
43700 fra.me.REG[1] = NIT_NULL;
43701 fra.me.REG[2] = NIT_NULL;
43702 fra.me.REG[3] = NIT_NULL;
43703 fra.me.REG[4] = NIT_NULL;
43704 fra.me.REG[5] = NIT_NULL;
43705 fra.me.REG[6] = NIT_NULL;
43706 fra.me.REG[7] = NIT_NULL;
43707 fra.me.REG[8] = NIT_NULL;
43708 fra.me.REG[0] = p0;
43709 fra.me.REG[1] = p1;
43710 fra.me.REG[0] = NIT_NULL;
43711 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43712 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43713 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43714 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43715 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43716 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43717 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43718 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
43719 /* ./parser//parser.nit:16307 */
43720 if (UNTAG_Bool(REGB0)) {
43721 } else {
43722 fprintf(stderr, "Assert failed");
43723 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16307);
43724 nit_exit(1);
43725 }
43726 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
43727 /* ./parser//parser.nit:16309 */
43728 if (UNTAG_Bool(REGB0)) {
43729 } else {
43730 fprintf(stderr, "Assert failed");
43731 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16309);
43732 nit_exit(1);
43733 }
43734 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
43735 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
43736 /* ./parser//parser.nit:16315 */
43737 if (UNTAG_Bool(REGB0)) {
43738 } else {
43739 fprintf(stderr, "Assert failed");
43740 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16315);
43741 nit_exit(1);
43742 }
43743 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
43744 /* ./parser//parser.nit:16317 */
43745 if (UNTAG_Bool(REGB0)) {
43746 } else {
43747 fprintf(stderr, "Assert failed");
43748 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16317);
43749 nit_exit(1);
43750 }
43751 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
43752 /* ./parser//parser.nit:16319 */
43753 if (UNTAG_Bool(REGB0)) {
43754 } else {
43755 fprintf(stderr, "Assert failed");
43756 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16319);
43757 nit_exit(1);
43758 }
43759 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
43760 /* ./parser//parser.nit:16321 */
43761 if (UNTAG_Bool(REGB0)) {
43762 } else {
43763 fprintf(stderr, "Assert failed");
43764 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16321);
43765 nit_exit(1);
43766 }
43767 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
43768 /* ./parser//parser.nit:16323 */
43769 if (UNTAG_Bool(REGB0)) {
43770 } else {
43771 fprintf(stderr, "Assert failed");
43772 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16323);
43773 nit_exit(1);
43774 }
43775 fra.me.REG[2] = NEW_AAttrPropdef_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], fra.me.REG[2], NIT_NULL);
43776 fra.me.REG[0] = fra.me.REG[2];
43777 REGB0 = TAG_Int(12);
43778 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43779 /* ./parser//parser.nit:16336 */
43780 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
43781 stack_frame_head = fra.me.prev;
43782 return;
43783 }
43784 void parser___ReduceAction343___init(val_t p0, int* init_table){
43785 int itpos347 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction343].i;
43786 struct {struct stack_frame_t me;} fra;
43787 val_t tmp;
43788 if (init_table[itpos347]) return;
43789 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43790 fra.me.file = LOCATE_parser;
43791 fra.me.line = 16338;
43792 fra.me.meth = LOCATE_parser___ReduceAction343___init;
43793 fra.me.has_broke = 0;
43794 fra.me.REG_size = 1;
43795 fra.me.REG[0] = NIT_NULL;
43796 fra.me.REG[0] = p0;
43797 /* ./parser//parser.nit:16338 */
43798 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
43799 stack_frame_head = fra.me.prev;
43800 init_table[itpos347] = 1;
43801 return;
43802 }
43803 void parser___ReduceAction344___action(val_t p0, val_t p1){
43804 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
43805 val_t REGB0;
43806 val_t tmp;
43807 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43808 fra.me.file = LOCATE_parser;
43809 fra.me.line = 16342;
43810 fra.me.meth = LOCATE_parser___ReduceAction344___action;
43811 fra.me.has_broke = 0;
43812 fra.me.REG_size = 10;
43813 fra.me.REG[0] = NIT_NULL;
43814 fra.me.REG[1] = NIT_NULL;
43815 fra.me.REG[2] = NIT_NULL;
43816 fra.me.REG[3] = NIT_NULL;
43817 fra.me.REG[4] = NIT_NULL;
43818 fra.me.REG[5] = NIT_NULL;
43819 fra.me.REG[6] = NIT_NULL;
43820 fra.me.REG[7] = NIT_NULL;
43821 fra.me.REG[8] = NIT_NULL;
43822 fra.me.REG[9] = NIT_NULL;
43823 fra.me.REG[0] = p0;
43824 fra.me.REG[1] = p1;
43825 fra.me.REG[0] = NIT_NULL;
43826 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43827 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43828 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43829 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43830 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43831 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43832 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43833 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43834 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
43835 /* ./parser//parser.nit:16354 */
43836 if (UNTAG_Bool(REGB0)) {
43837 } else {
43838 fprintf(stderr, "Assert failed");
43839 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16354);
43840 nit_exit(1);
43841 }
43842 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
43843 /* ./parser//parser.nit:16356 */
43844 if (UNTAG_Bool(REGB0)) {
43845 } else {
43846 fprintf(stderr, "Assert failed");
43847 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16356);
43848 nit_exit(1);
43849 }
43850 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
43851 /* ./parser//parser.nit:16358 */
43852 if (UNTAG_Bool(REGB0)) {
43853 } else {
43854 fprintf(stderr, "Assert failed");
43855 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16358);
43856 nit_exit(1);
43857 }
43858 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
43859 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
43860 /* ./parser//parser.nit:16364 */
43861 if (UNTAG_Bool(REGB0)) {
43862 } else {
43863 fprintf(stderr, "Assert failed");
43864 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16364);
43865 nit_exit(1);
43866 }
43867 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
43868 /* ./parser//parser.nit:16366 */
43869 if (UNTAG_Bool(REGB0)) {
43870 } else {
43871 fprintf(stderr, "Assert failed");
43872 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16366);
43873 nit_exit(1);
43874 }
43875 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
43876 /* ./parser//parser.nit:16368 */
43877 if (UNTAG_Bool(REGB0)) {
43878 } else {
43879 fprintf(stderr, "Assert failed");
43880 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16368);
43881 nit_exit(1);
43882 }
43883 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
43884 /* ./parser//parser.nit:16370 */
43885 if (UNTAG_Bool(REGB0)) {
43886 } else {
43887 fprintf(stderr, "Assert failed");
43888 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16370);
43889 nit_exit(1);
43890 }
43891 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
43892 /* ./parser//parser.nit:16372 */
43893 if (UNTAG_Bool(REGB0)) {
43894 } else {
43895 fprintf(stderr, "Assert failed");
43896 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16372);
43897 nit_exit(1);
43898 }
43899 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
43900 fra.me.REG[0] = fra.me.REG[2];
43901 REGB0 = TAG_Int(12);
43902 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43903 /* ./parser//parser.nit:16385 */
43904 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
43905 stack_frame_head = fra.me.prev;
43906 return;
43907 }
43908 void parser___ReduceAction344___init(val_t p0, int* init_table){
43909 int itpos348 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction344].i;
43910 struct {struct stack_frame_t me;} fra;
43911 val_t tmp;
43912 if (init_table[itpos348]) return;
43913 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43914 fra.me.file = LOCATE_parser;
43915 fra.me.line = 16387;
43916 fra.me.meth = LOCATE_parser___ReduceAction344___init;
43917 fra.me.has_broke = 0;
43918 fra.me.REG_size = 1;
43919 fra.me.REG[0] = NIT_NULL;
43920 fra.me.REG[0] = p0;
43921 /* ./parser//parser.nit:16387 */
43922 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
43923 stack_frame_head = fra.me.prev;
43924 init_table[itpos348] = 1;
43925 return;
43926 }
43927 void parser___ReduceAction345___action(val_t p0, val_t p1){
43928 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
43929 val_t REGB0;
43930 val_t tmp;
43931 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43932 fra.me.file = LOCATE_parser;
43933 fra.me.line = 16391;
43934 fra.me.meth = LOCATE_parser___ReduceAction345___action;
43935 fra.me.has_broke = 0;
43936 fra.me.REG_size = 8;
43937 fra.me.REG[0] = NIT_NULL;
43938 fra.me.REG[1] = NIT_NULL;
43939 fra.me.REG[2] = NIT_NULL;
43940 fra.me.REG[3] = NIT_NULL;
43941 fra.me.REG[4] = NIT_NULL;
43942 fra.me.REG[5] = NIT_NULL;
43943 fra.me.REG[6] = NIT_NULL;
43944 fra.me.REG[7] = NIT_NULL;
43945 fra.me.REG[0] = p0;
43946 fra.me.REG[1] = p1;
43947 fra.me.REG[0] = NIT_NULL;
43948 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43949 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43950 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43951 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43952 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43953 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43954 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
43955 /* ./parser//parser.nit:16401 */
43956 if (UNTAG_Bool(REGB0)) {
43957 } else {
43958 fprintf(stderr, "Assert failed");
43959 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16401);
43960 nit_exit(1);
43961 }
43962 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
43963 /* ./parser//parser.nit:16403 */
43964 if (UNTAG_Bool(REGB0)) {
43965 } else {
43966 fprintf(stderr, "Assert failed");
43967 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16403);
43968 nit_exit(1);
43969 }
43970 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
43971 /* ./parser//parser.nit:16405 */
43972 if (UNTAG_Bool(REGB0)) {
43973 } else {
43974 fprintf(stderr, "Assert failed");
43975 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16405);
43976 nit_exit(1);
43977 }
43978 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
43979 /* ./parser//parser.nit:16407 */
43980 if (UNTAG_Bool(REGB0)) {
43981 } else {
43982 fprintf(stderr, "Assert failed");
43983 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16407);
43984 nit_exit(1);
43985 }
43986 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
43987 /* ./parser//parser.nit:16409 */
43988 if (UNTAG_Bool(REGB0)) {
43989 } else {
43990 fprintf(stderr, "Assert failed");
43991 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16409);
43992 nit_exit(1);
43993 }
43994 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
43995 /* ./parser//parser.nit:16411 */
43996 if (UNTAG_Bool(REGB0)) {
43997 } else {
43998 fprintf(stderr, "Assert failed");
43999 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16411);
44000 nit_exit(1);
44001 }
44002 fra.me.REG[2] = NEW_AAttrPropdef_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], fra.me.REG[2], NIT_NULL);
44003 fra.me.REG[0] = fra.me.REG[2];
44004 REGB0 = TAG_Int(12);
44005 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44006 /* ./parser//parser.nit:16424 */
44007 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
44008 stack_frame_head = fra.me.prev;
44009 return;
44010 }
44011 void parser___ReduceAction345___init(val_t p0, int* init_table){
44012 int itpos349 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction345].i;
44013 struct {struct stack_frame_t me;} fra;
44014 val_t tmp;
44015 if (init_table[itpos349]) return;
44016 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44017 fra.me.file = LOCATE_parser;
44018 fra.me.line = 16426;
44019 fra.me.meth = LOCATE_parser___ReduceAction345___init;
44020 fra.me.has_broke = 0;
44021 fra.me.REG_size = 1;
44022 fra.me.REG[0] = NIT_NULL;
44023 fra.me.REG[0] = p0;
44024 /* ./parser//parser.nit:16426 */
44025 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
44026 stack_frame_head = fra.me.prev;
44027 init_table[itpos349] = 1;
44028 return;
44029 }
44030 void parser___ReduceAction346___action(val_t p0, val_t p1){
44031 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
44032 val_t REGB0;
44033 val_t tmp;
44034 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44035 fra.me.file = LOCATE_parser;
44036 fra.me.line = 16430;
44037 fra.me.meth = LOCATE_parser___ReduceAction346___action;
44038 fra.me.has_broke = 0;
44039 fra.me.REG_size = 9;
44040 fra.me.REG[0] = NIT_NULL;
44041 fra.me.REG[1] = NIT_NULL;
44042 fra.me.REG[2] = NIT_NULL;
44043 fra.me.REG[3] = NIT_NULL;
44044 fra.me.REG[4] = NIT_NULL;
44045 fra.me.REG[5] = NIT_NULL;
44046 fra.me.REG[6] = NIT_NULL;
44047 fra.me.REG[7] = NIT_NULL;
44048 fra.me.REG[8] = NIT_NULL;
44049 fra.me.REG[0] = p0;
44050 fra.me.REG[1] = p1;
44051 fra.me.REG[0] = NIT_NULL;
44052 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44053 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44054 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44055 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44056 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44057 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44058 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44059 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44060 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44061 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
44062 /* ./parser//parser.nit:16443 */
44063 if (UNTAG_Bool(REGB0)) {
44064 } else {
44065 fprintf(stderr, "Assert failed");
44066 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16443);
44067 nit_exit(1);
44068 }
44069 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
44070 /* ./parser//parser.nit:16445 */
44071 if (UNTAG_Bool(REGB0)) {
44072 } else {
44073 fprintf(stderr, "Assert failed");
44074 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16445);
44075 nit_exit(1);
44076 }
44077 fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]);
44078 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
44079 /* ./parser//parser.nit:16451 */
44080 if (UNTAG_Bool(REGB0)) {
44081 } else {
44082 fprintf(stderr, "Assert failed");
44083 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16451);
44084 nit_exit(1);
44085 }
44086 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
44087 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
44088 /* ./parser//parser.nit:16457 */
44089 if (UNTAG_Bool(REGB0)) {
44090 } else {
44091 fprintf(stderr, "Assert failed");
44092 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16457);
44093 nit_exit(1);
44094 }
44095 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
44096 /* ./parser//parser.nit:16459 */
44097 if (UNTAG_Bool(REGB0)) {
44098 } else {
44099 fprintf(stderr, "Assert failed");
44100 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16459);
44101 nit_exit(1);
44102 }
44103 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
44104 /* ./parser//parser.nit:16461 */
44105 if (UNTAG_Bool(REGB0)) {
44106 } else {
44107 fprintf(stderr, "Assert failed");
44108 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16461);
44109 nit_exit(1);
44110 }
44111 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
44112 /* ./parser//parser.nit:16463 */
44113 if (UNTAG_Bool(REGB0)) {
44114 } else {
44115 fprintf(stderr, "Assert failed");
44116 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16463);
44117 nit_exit(1);
44118 }
44119 fra.me.REG[2] = NEW_AAttrPropdef_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, fra.me.REG[2]);
44120 fra.me.REG[0] = fra.me.REG[2];
44121 REGB0 = TAG_Int(12);
44122 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44123 /* ./parser//parser.nit:16476 */
44124 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
44125 stack_frame_head = fra.me.prev;
44126 return;
44127 }
44128 void parser___ReduceAction346___init(val_t p0, int* init_table){
44129 int itpos350 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction346].i;
44130 struct {struct stack_frame_t me;} fra;
44131 val_t tmp;
44132 if (init_table[itpos350]) return;
44133 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44134 fra.me.file = LOCATE_parser;
44135 fra.me.line = 16478;
44136 fra.me.meth = LOCATE_parser___ReduceAction346___init;
44137 fra.me.has_broke = 0;
44138 fra.me.REG_size = 1;
44139 fra.me.REG[0] = NIT_NULL;
44140 fra.me.REG[0] = p0;
44141 /* ./parser//parser.nit:16478 */
44142 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
44143 stack_frame_head = fra.me.prev;
44144 init_table[itpos350] = 1;
44145 return;
44146 }
44147 void parser___ReduceAction347___action(val_t p0, val_t p1){
44148 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
44149 val_t REGB0;
44150 val_t tmp;
44151 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44152 fra.me.file = LOCATE_parser;
44153 fra.me.line = 16482;
44154 fra.me.meth = LOCATE_parser___ReduceAction347___action;
44155 fra.me.has_broke = 0;
44156 fra.me.REG_size = 10;
44157 fra.me.REG[0] = NIT_NULL;
44158 fra.me.REG[1] = NIT_NULL;
44159 fra.me.REG[2] = NIT_NULL;
44160 fra.me.REG[3] = NIT_NULL;
44161 fra.me.REG[4] = NIT_NULL;
44162 fra.me.REG[5] = NIT_NULL;
44163 fra.me.REG[6] = NIT_NULL;
44164 fra.me.REG[7] = NIT_NULL;
44165 fra.me.REG[8] = NIT_NULL;
44166 fra.me.REG[9] = NIT_NULL;
44167 fra.me.REG[0] = p0;
44168 fra.me.REG[1] = p1;
44169 fra.me.REG[0] = NIT_NULL;
44170 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44171 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44172 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44173 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44174 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44175 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44176 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44177 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44178 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44179 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44180 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
44181 /* ./parser//parser.nit:16496 */
44182 if (UNTAG_Bool(REGB0)) {
44183 } else {
44184 fprintf(stderr, "Assert failed");
44185 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16496);
44186 nit_exit(1);
44187 }
44188 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
44189 /* ./parser//parser.nit:16498 */
44190 if (UNTAG_Bool(REGB0)) {
44191 } else {
44192 fprintf(stderr, "Assert failed");
44193 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16498);
44194 nit_exit(1);
44195 }
44196 fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]);
44197 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
44198 /* ./parser//parser.nit:16504 */
44199 if (UNTAG_Bool(REGB0)) {
44200 } else {
44201 fprintf(stderr, "Assert failed");
44202 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16504);
44203 nit_exit(1);
44204 }
44205 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
44206 /* ./parser//parser.nit:16506 */
44207 if (UNTAG_Bool(REGB0)) {
44208 } else {
44209 fprintf(stderr, "Assert failed");
44210 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16506);
44211 nit_exit(1);
44212 }
44213 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
44214 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
44215 /* ./parser//parser.nit:16512 */
44216 if (UNTAG_Bool(REGB0)) {
44217 } else {
44218 fprintf(stderr, "Assert failed");
44219 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16512);
44220 nit_exit(1);
44221 }
44222 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
44223 /* ./parser//parser.nit:16514 */
44224 if (UNTAG_Bool(REGB0)) {
44225 } else {
44226 fprintf(stderr, "Assert failed");
44227 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16514);
44228 nit_exit(1);
44229 }
44230 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
44231 /* ./parser//parser.nit:16516 */
44232 if (UNTAG_Bool(REGB0)) {
44233 } else {
44234 fprintf(stderr, "Assert failed");
44235 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16516);
44236 nit_exit(1);
44237 }
44238 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
44239 /* ./parser//parser.nit:16518 */
44240 if (UNTAG_Bool(REGB0)) {
44241 } else {
44242 fprintf(stderr, "Assert failed");
44243 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16518);
44244 nit_exit(1);
44245 }
44246 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
44247 fra.me.REG[0] = fra.me.REG[2];
44248 REGB0 = TAG_Int(12);
44249 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44250 /* ./parser//parser.nit:16531 */
44251 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
44252 stack_frame_head = fra.me.prev;
44253 return;
44254 }
44255 void parser___ReduceAction347___init(val_t p0, int* init_table){
44256 int itpos351 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction347].i;
44257 struct {struct stack_frame_t me;} fra;
44258 val_t tmp;
44259 if (init_table[itpos351]) return;
44260 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44261 fra.me.file = LOCATE_parser;
44262 fra.me.line = 16533;
44263 fra.me.meth = LOCATE_parser___ReduceAction347___init;
44264 fra.me.has_broke = 0;
44265 fra.me.REG_size = 1;
44266 fra.me.REG[0] = NIT_NULL;
44267 fra.me.REG[0] = p0;
44268 /* ./parser//parser.nit:16533 */
44269 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
44270 stack_frame_head = fra.me.prev;
44271 init_table[itpos351] = 1;
44272 return;
44273 }
44274 void parser___ReduceAction348___action(val_t p0, val_t p1){
44275 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
44276 val_t REGB0;
44277 val_t tmp;
44278 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44279 fra.me.file = LOCATE_parser;
44280 fra.me.line = 16537;
44281 fra.me.meth = LOCATE_parser___ReduceAction348___action;
44282 fra.me.has_broke = 0;
44283 fra.me.REG_size = 8;
44284 fra.me.REG[0] = NIT_NULL;
44285 fra.me.REG[1] = NIT_NULL;
44286 fra.me.REG[2] = NIT_NULL;
44287 fra.me.REG[3] = NIT_NULL;
44288 fra.me.REG[4] = NIT_NULL;
44289 fra.me.REG[5] = NIT_NULL;
44290 fra.me.REG[6] = NIT_NULL;
44291 fra.me.REG[7] = NIT_NULL;
44292 fra.me.REG[0] = p0;
44293 fra.me.REG[1] = p1;
44294 fra.me.REG[0] = NIT_NULL;
44295 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44296 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44297 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44298 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44299 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44300 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44301 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44302 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44303 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
44304 /* ./parser//parser.nit:16549 */
44305 if (UNTAG_Bool(REGB0)) {
44306 } else {
44307 fprintf(stderr, "Assert failed");
44308 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16549);
44309 nit_exit(1);
44310 }
44311 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
44312 /* ./parser//parser.nit:16551 */
44313 if (UNTAG_Bool(REGB0)) {
44314 } else {
44315 fprintf(stderr, "Assert failed");
44316 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16551);
44317 nit_exit(1);
44318 }
44319 fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[6]);
44320 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
44321 /* ./parser//parser.nit:16557 */
44322 if (UNTAG_Bool(REGB0)) {
44323 } else {
44324 fprintf(stderr, "Assert failed");
44325 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16557);
44326 nit_exit(1);
44327 }
44328 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
44329 /* ./parser//parser.nit:16559 */
44330 if (UNTAG_Bool(REGB0)) {
44331 } else {
44332 fprintf(stderr, "Assert failed");
44333 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16559);
44334 nit_exit(1);
44335 }
44336 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
44337 /* ./parser//parser.nit:16561 */
44338 if (UNTAG_Bool(REGB0)) {
44339 } else {
44340 fprintf(stderr, "Assert failed");
44341 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16561);
44342 nit_exit(1);
44343 }
44344 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
44345 /* ./parser//parser.nit:16563 */
44346 if (UNTAG_Bool(REGB0)) {
44347 } else {
44348 fprintf(stderr, "Assert failed");
44349 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16563);
44350 nit_exit(1);
44351 }
44352 fra.me.REG[2] = NEW_AAttrPropdef_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, fra.me.REG[2]);
44353 fra.me.REG[0] = fra.me.REG[2];
44354 REGB0 = TAG_Int(12);
44355 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44356 /* ./parser//parser.nit:16576 */
44357 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
44358 stack_frame_head = fra.me.prev;
44359 return;
44360 }
44361 void parser___ReduceAction348___init(val_t p0, int* init_table){
44362 int itpos352 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction348].i;
44363 struct {struct stack_frame_t me;} fra;
44364 val_t tmp;
44365 if (init_table[itpos352]) return;
44366 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44367 fra.me.file = LOCATE_parser;
44368 fra.me.line = 16578;
44369 fra.me.meth = LOCATE_parser___ReduceAction348___init;
44370 fra.me.has_broke = 0;
44371 fra.me.REG_size = 1;
44372 fra.me.REG[0] = NIT_NULL;
44373 fra.me.REG[0] = p0;
44374 /* ./parser//parser.nit:16578 */
44375 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
44376 stack_frame_head = fra.me.prev;
44377 init_table[itpos352] = 1;
44378 return;
44379 }
44380 void parser___ReduceAction349___action(val_t p0, val_t p1){
44381 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
44382 val_t REGB0;
44383 val_t tmp;
44384 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44385 fra.me.file = LOCATE_parser;
44386 fra.me.line = 16582;
44387 fra.me.meth = LOCATE_parser___ReduceAction349___action;
44388 fra.me.has_broke = 0;
44389 fra.me.REG_size = 10;
44390 fra.me.REG[0] = NIT_NULL;
44391 fra.me.REG[1] = NIT_NULL;
44392 fra.me.REG[2] = NIT_NULL;
44393 fra.me.REG[3] = NIT_NULL;
44394 fra.me.REG[4] = NIT_NULL;
44395 fra.me.REG[5] = NIT_NULL;
44396 fra.me.REG[6] = NIT_NULL;
44397 fra.me.REG[7] = NIT_NULL;
44398 fra.me.REG[8] = NIT_NULL;
44399 fra.me.REG[9] = NIT_NULL;
44400 fra.me.REG[0] = p0;
44401 fra.me.REG[1] = p1;
44402 fra.me.REG[0] = NIT_NULL;
44403 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44404 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44405 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44406 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44407 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44408 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44409 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44410 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44411 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44412 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44413 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
44414 /* ./parser//parser.nit:16596 */
44415 if (UNTAG_Bool(REGB0)) {
44416 } else {
44417 fprintf(stderr, "Assert failed");
44418 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16596);
44419 nit_exit(1);
44420 }
44421 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
44422 /* ./parser//parser.nit:16598 */
44423 if (UNTAG_Bool(REGB0)) {
44424 } else {
44425 fprintf(stderr, "Assert failed");
44426 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16598);
44427 nit_exit(1);
44428 }
44429 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
44430 /* ./parser//parser.nit:16600 */
44431 if (UNTAG_Bool(REGB0)) {
44432 } else {
44433 fprintf(stderr, "Assert failed");
44434 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16600);
44435 nit_exit(1);
44436 }
44437 fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]);
44438 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
44439 /* ./parser//parser.nit:16606 */
44440 if (UNTAG_Bool(REGB0)) {
44441 } else {
44442 fprintf(stderr, "Assert failed");
44443 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16606);
44444 nit_exit(1);
44445 }
44446 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
44447 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
44448 /* ./parser//parser.nit:16612 */
44449 if (UNTAG_Bool(REGB0)) {
44450 } else {
44451 fprintf(stderr, "Assert failed");
44452 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16612);
44453 nit_exit(1);
44454 }
44455 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
44456 /* ./parser//parser.nit:16614 */
44457 if (UNTAG_Bool(REGB0)) {
44458 } else {
44459 fprintf(stderr, "Assert failed");
44460 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16614);
44461 nit_exit(1);
44462 }
44463 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
44464 /* ./parser//parser.nit:16616 */
44465 if (UNTAG_Bool(REGB0)) {
44466 } else {
44467 fprintf(stderr, "Assert failed");
44468 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16616);
44469 nit_exit(1);
44470 }
44471 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
44472 /* ./parser//parser.nit:16618 */
44473 if (UNTAG_Bool(REGB0)) {
44474 } else {
44475 fprintf(stderr, "Assert failed");
44476 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16618);
44477 nit_exit(1);
44478 }
44479 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
44480 fra.me.REG[0] = fra.me.REG[2];
44481 REGB0 = TAG_Int(12);
44482 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44483 /* ./parser//parser.nit:16631 */
44484 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
44485 stack_frame_head = fra.me.prev;
44486 return;
44487 }
44488 void parser___ReduceAction349___init(val_t p0, int* init_table){
44489 int itpos353 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction349].i;
44490 struct {struct stack_frame_t me;} fra;
44491 val_t tmp;
44492 if (init_table[itpos353]) return;
44493 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44494 fra.me.file = LOCATE_parser;
44495 fra.me.line = 16633;
44496 fra.me.meth = LOCATE_parser___ReduceAction349___init;
44497 fra.me.has_broke = 0;
44498 fra.me.REG_size = 1;
44499 fra.me.REG[0] = NIT_NULL;
44500 fra.me.REG[0] = p0;
44501 /* ./parser//parser.nit:16633 */
44502 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
44503 stack_frame_head = fra.me.prev;
44504 init_table[itpos353] = 1;
44505 return;
44506 }
44507 void parser___ReduceAction350___action(val_t p0, val_t p1){
44508 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
44509 val_t REGB0;
44510 val_t tmp;
44511 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44512 fra.me.file = LOCATE_parser;
44513 fra.me.line = 16637;
44514 fra.me.meth = LOCATE_parser___ReduceAction350___action;
44515 fra.me.has_broke = 0;
44516 fra.me.REG_size = 11;
44517 fra.me.REG[0] = NIT_NULL;
44518 fra.me.REG[1] = NIT_NULL;
44519 fra.me.REG[2] = NIT_NULL;
44520 fra.me.REG[3] = NIT_NULL;
44521 fra.me.REG[4] = NIT_NULL;
44522 fra.me.REG[5] = NIT_NULL;
44523 fra.me.REG[6] = NIT_NULL;
44524 fra.me.REG[7] = NIT_NULL;
44525 fra.me.REG[8] = NIT_NULL;
44526 fra.me.REG[9] = NIT_NULL;
44527 fra.me.REG[10] = NIT_NULL;
44528 fra.me.REG[0] = p0;
44529 fra.me.REG[1] = p1;
44530 fra.me.REG[0] = NIT_NULL;
44531 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44532 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44533 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44534 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44535 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44536 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44537 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44538 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44539 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44540 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44541 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44542 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
44543 /* ./parser//parser.nit:16652 */
44544 if (UNTAG_Bool(REGB0)) {
44545 } else {
44546 fprintf(stderr, "Assert failed");
44547 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16652);
44548 nit_exit(1);
44549 }
44550 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
44551 /* ./parser//parser.nit:16654 */
44552 if (UNTAG_Bool(REGB0)) {
44553 } else {
44554 fprintf(stderr, "Assert failed");
44555 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16654);
44556 nit_exit(1);
44557 }
44558 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
44559 /* ./parser//parser.nit:16656 */
44560 if (UNTAG_Bool(REGB0)) {
44561 } else {
44562 fprintf(stderr, "Assert failed");
44563 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16656);
44564 nit_exit(1);
44565 }
44566 fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]);
44567 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
44568 /* ./parser//parser.nit:16662 */
44569 if (UNTAG_Bool(REGB0)) {
44570 } else {
44571 fprintf(stderr, "Assert failed");
44572 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16662);
44573 nit_exit(1);
44574 }
44575 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
44576 /* ./parser//parser.nit:16664 */
44577 if (UNTAG_Bool(REGB0)) {
44578 } else {
44579 fprintf(stderr, "Assert failed");
44580 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16664);
44581 nit_exit(1);
44582 }
44583 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
44584 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
44585 /* ./parser//parser.nit:16670 */
44586 if (UNTAG_Bool(REGB0)) {
44587 } else {
44588 fprintf(stderr, "Assert failed");
44589 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16670);
44590 nit_exit(1);
44591 }
44592 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
44593 /* ./parser//parser.nit:16672 */
44594 if (UNTAG_Bool(REGB0)) {
44595 } else {
44596 fprintf(stderr, "Assert failed");
44597 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16672);
44598 nit_exit(1);
44599 }
44600 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
44601 /* ./parser//parser.nit:16674 */
44602 if (UNTAG_Bool(REGB0)) {
44603 } else {
44604 fprintf(stderr, "Assert failed");
44605 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16674);
44606 nit_exit(1);
44607 }
44608 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
44609 /* ./parser//parser.nit:16676 */
44610 if (UNTAG_Bool(REGB0)) {
44611 } else {
44612 fprintf(stderr, "Assert failed");
44613 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16676);
44614 nit_exit(1);
44615 }
44616 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
44617 fra.me.REG[0] = fra.me.REG[2];
44618 REGB0 = TAG_Int(12);
44619 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44620 /* ./parser//parser.nit:16689 */
44621 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
44622 stack_frame_head = fra.me.prev;
44623 return;
44624 }
44625 void parser___ReduceAction350___init(val_t p0, int* init_table){
44626 int itpos354 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction350].i;
44627 struct {struct stack_frame_t me;} fra;
44628 val_t tmp;
44629 if (init_table[itpos354]) return;
44630 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44631 fra.me.file = LOCATE_parser;
44632 fra.me.line = 16691;
44633 fra.me.meth = LOCATE_parser___ReduceAction350___init;
44634 fra.me.has_broke = 0;
44635 fra.me.REG_size = 1;
44636 fra.me.REG[0] = NIT_NULL;
44637 fra.me.REG[0] = p0;
44638 /* ./parser//parser.nit:16691 */
44639 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
44640 stack_frame_head = fra.me.prev;
44641 init_table[itpos354] = 1;
44642 return;
44643 }
44644 void parser___ReduceAction351___action(val_t p0, val_t p1){
44645 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
44646 val_t REGB0;
44647 val_t tmp;
44648 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44649 fra.me.file = LOCATE_parser;
44650 fra.me.line = 16695;
44651 fra.me.meth = LOCATE_parser___ReduceAction351___action;
44652 fra.me.has_broke = 0;
44653 fra.me.REG_size = 9;
44654 fra.me.REG[0] = NIT_NULL;
44655 fra.me.REG[1] = NIT_NULL;
44656 fra.me.REG[2] = NIT_NULL;
44657 fra.me.REG[3] = NIT_NULL;
44658 fra.me.REG[4] = NIT_NULL;
44659 fra.me.REG[5] = NIT_NULL;
44660 fra.me.REG[6] = NIT_NULL;
44661 fra.me.REG[7] = NIT_NULL;
44662 fra.me.REG[8] = NIT_NULL;
44663 fra.me.REG[0] = p0;
44664 fra.me.REG[1] = p1;
44665 fra.me.REG[0] = NIT_NULL;
44666 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44667 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44668 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44669 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44670 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44671 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44672 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44673 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44674 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44675 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
44676 /* ./parser//parser.nit:16708 */
44677 if (UNTAG_Bool(REGB0)) {
44678 } else {
44679 fprintf(stderr, "Assert failed");
44680 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16708);
44681 nit_exit(1);
44682 }
44683 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
44684 /* ./parser//parser.nit:16710 */
44685 if (UNTAG_Bool(REGB0)) {
44686 } else {
44687 fprintf(stderr, "Assert failed");
44688 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16710);
44689 nit_exit(1);
44690 }
44691 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
44692 /* ./parser//parser.nit:16712 */
44693 if (UNTAG_Bool(REGB0)) {
44694 } else {
44695 fprintf(stderr, "Assert failed");
44696 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16712);
44697 nit_exit(1);
44698 }
44699 fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[7], fra.me.REG[6]);
44700 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
44701 /* ./parser//parser.nit:16718 */
44702 if (UNTAG_Bool(REGB0)) {
44703 } else {
44704 fprintf(stderr, "Assert failed");
44705 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16718);
44706 nit_exit(1);
44707 }
44708 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
44709 /* ./parser//parser.nit:16720 */
44710 if (UNTAG_Bool(REGB0)) {
44711 } else {
44712 fprintf(stderr, "Assert failed");
44713 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16720);
44714 nit_exit(1);
44715 }
44716 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
44717 /* ./parser//parser.nit:16722 */
44718 if (UNTAG_Bool(REGB0)) {
44719 } else {
44720 fprintf(stderr, "Assert failed");
44721 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16722);
44722 nit_exit(1);
44723 }
44724 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
44725 /* ./parser//parser.nit:16724 */
44726 if (UNTAG_Bool(REGB0)) {
44727 } else {
44728 fprintf(stderr, "Assert failed");
44729 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16724);
44730 nit_exit(1);
44731 }
44732 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[6], NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
44733 fra.me.REG[0] = fra.me.REG[2];
44734 REGB0 = TAG_Int(12);
44735 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44736 /* ./parser//parser.nit:16737 */
44737 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
44738 stack_frame_head = fra.me.prev;
44739 return;
44740 }
44741 void parser___ReduceAction351___init(val_t p0, int* init_table){
44742 int itpos355 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction351].i;
44743 struct {struct stack_frame_t me;} fra;
44744 val_t tmp;
44745 if (init_table[itpos355]) return;
44746 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44747 fra.me.file = LOCATE_parser;
44748 fra.me.line = 16739;
44749 fra.me.meth = LOCATE_parser___ReduceAction351___init;
44750 fra.me.has_broke = 0;
44751 fra.me.REG_size = 1;
44752 fra.me.REG[0] = NIT_NULL;
44753 fra.me.REG[0] = p0;
44754 /* ./parser//parser.nit:16739 */
44755 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
44756 stack_frame_head = fra.me.prev;
44757 init_table[itpos355] = 1;
44758 return;
44759 }
44760 void parser___ReduceAction352___action(val_t p0, val_t p1){
44761 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
44762 val_t REGB0;
44763 val_t tmp;
44764 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44765 fra.me.file = LOCATE_parser;
44766 fra.me.line = 16743;
44767 fra.me.meth = LOCATE_parser___ReduceAction352___action;
44768 fra.me.has_broke = 0;
44769 fra.me.REG_size = 8;
44770 fra.me.REG[0] = NIT_NULL;
44771 fra.me.REG[1] = NIT_NULL;
44772 fra.me.REG[2] = NIT_NULL;
44773 fra.me.REG[3] = NIT_NULL;
44774 fra.me.REG[4] = NIT_NULL;
44775 fra.me.REG[5] = NIT_NULL;
44776 fra.me.REG[6] = NIT_NULL;
44777 fra.me.REG[7] = NIT_NULL;
44778 fra.me.REG[0] = p0;
44779 fra.me.REG[1] = p1;
44780 fra.me.REG[0] = NIT_NULL;
44781 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44782 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44783 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44784 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44785 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44786 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44787 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44788 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44789 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
44790 /* ./parser//parser.nit:16755 */
44791 if (UNTAG_Bool(REGB0)) {
44792 } else {
44793 fprintf(stderr, "Assert failed");
44794 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16755);
44795 nit_exit(1);
44796 }
44797 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
44798 /* ./parser//parser.nit:16757 */
44799 if (UNTAG_Bool(REGB0)) {
44800 } else {
44801 fprintf(stderr, "Assert failed");
44802 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16757);
44803 nit_exit(1);
44804 }
44805 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]);
44806 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
44807 /* ./parser//parser.nit:16763 */
44808 if (UNTAG_Bool(REGB0)) {
44809 } else {
44810 fprintf(stderr, "Assert failed");
44811 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16763);
44812 nit_exit(1);
44813 }
44814 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
44815 /* ./parser//parser.nit:16765 */
44816 if (UNTAG_Bool(REGB0)) {
44817 } else {
44818 fprintf(stderr, "Assert failed");
44819 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16765);
44820 nit_exit(1);
44821 }
44822 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
44823 /* ./parser//parser.nit:16767 */
44824 if (UNTAG_Bool(REGB0)) {
44825 } else {
44826 fprintf(stderr, "Assert failed");
44827 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16767);
44828 nit_exit(1);
44829 }
44830 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
44831 /* ./parser//parser.nit:16769 */
44832 if (UNTAG_Bool(REGB0)) {
44833 } else {
44834 fprintf(stderr, "Assert failed");
44835 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16769);
44836 nit_exit(1);
44837 }
44838 fra.me.REG[2] = NEW_AAttrPropdef_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, fra.me.REG[2]);
44839 fra.me.REG[0] = fra.me.REG[2];
44840 REGB0 = TAG_Int(12);
44841 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44842 /* ./parser//parser.nit:16782 */
44843 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
44844 stack_frame_head = fra.me.prev;
44845 return;
44846 }
44847 void parser___ReduceAction352___init(val_t p0, int* init_table){
44848 int itpos356 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction352].i;
44849 struct {struct stack_frame_t me;} fra;
44850 val_t tmp;
44851 if (init_table[itpos356]) return;
44852 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44853 fra.me.file = LOCATE_parser;
44854 fra.me.line = 16784;
44855 fra.me.meth = LOCATE_parser___ReduceAction352___init;
44856 fra.me.has_broke = 0;
44857 fra.me.REG_size = 1;
44858 fra.me.REG[0] = NIT_NULL;
44859 fra.me.REG[0] = p0;
44860 /* ./parser//parser.nit:16784 */
44861 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
44862 stack_frame_head = fra.me.prev;
44863 init_table[itpos356] = 1;
44864 return;
44865 }
44866 void parser___ReduceAction353___action(val_t p0, val_t p1){
44867 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
44868 val_t REGB0;
44869 val_t tmp;
44870 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44871 fra.me.file = LOCATE_parser;
44872 fra.me.line = 16788;
44873 fra.me.meth = LOCATE_parser___ReduceAction353___action;
44874 fra.me.has_broke = 0;
44875 fra.me.REG_size = 9;
44876 fra.me.REG[0] = NIT_NULL;
44877 fra.me.REG[1] = NIT_NULL;
44878 fra.me.REG[2] = NIT_NULL;
44879 fra.me.REG[3] = NIT_NULL;
44880 fra.me.REG[4] = NIT_NULL;
44881 fra.me.REG[5] = NIT_NULL;
44882 fra.me.REG[6] = NIT_NULL;
44883 fra.me.REG[7] = NIT_NULL;
44884 fra.me.REG[8] = NIT_NULL;
44885 fra.me.REG[0] = p0;
44886 fra.me.REG[1] = p1;
44887 fra.me.REG[0] = NIT_NULL;
44888 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44889 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44890 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44891 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44892 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44893 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44894 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44895 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44896 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44897 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
44898 /* ./parser//parser.nit:16801 */
44899 if (UNTAG_Bool(REGB0)) {
44900 } else {
44901 fprintf(stderr, "Assert failed");
44902 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16801);
44903 nit_exit(1);
44904 }
44905 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
44906 /* ./parser//parser.nit:16803 */
44907 if (UNTAG_Bool(REGB0)) {
44908 } else {
44909 fprintf(stderr, "Assert failed");
44910 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16803);
44911 nit_exit(1);
44912 }
44913 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
44914 /* ./parser//parser.nit:16805 */
44915 if (UNTAG_Bool(REGB0)) {
44916 } else {
44917 fprintf(stderr, "Assert failed");
44918 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16805);
44919 nit_exit(1);
44920 }
44921 fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]);
44922 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
44923 /* ./parser//parser.nit:16811 */
44924 if (UNTAG_Bool(REGB0)) {
44925 } else {
44926 fprintf(stderr, "Assert failed");
44927 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16811);
44928 nit_exit(1);
44929 }
44930 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
44931 /* ./parser//parser.nit:16813 */
44932 if (UNTAG_Bool(REGB0)) {
44933 } else {
44934 fprintf(stderr, "Assert failed");
44935 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16813);
44936 nit_exit(1);
44937 }
44938 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
44939 /* ./parser//parser.nit:16815 */
44940 if (UNTAG_Bool(REGB0)) {
44941 } else {
44942 fprintf(stderr, "Assert failed");
44943 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16815);
44944 nit_exit(1);
44945 }
44946 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
44947 /* ./parser//parser.nit:16817 */
44948 if (UNTAG_Bool(REGB0)) {
44949 } else {
44950 fprintf(stderr, "Assert failed");
44951 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16817);
44952 nit_exit(1);
44953 }
44954 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
44955 fra.me.REG[0] = fra.me.REG[2];
44956 REGB0 = TAG_Int(12);
44957 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44958 /* ./parser//parser.nit:16830 */
44959 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
44960 stack_frame_head = fra.me.prev;
44961 return;
44962 }
44963 void parser___ReduceAction353___init(val_t p0, int* init_table){
44964 int itpos357 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction353].i;
44965 struct {struct stack_frame_t me;} fra;
44966 val_t tmp;
44967 if (init_table[itpos357]) return;
44968 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44969 fra.me.file = LOCATE_parser;
44970 fra.me.line = 16832;
44971 fra.me.meth = LOCATE_parser___ReduceAction353___init;
44972 fra.me.has_broke = 0;
44973 fra.me.REG_size = 1;
44974 fra.me.REG[0] = NIT_NULL;
44975 fra.me.REG[0] = p0;
44976 /* ./parser//parser.nit:16832 */
44977 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
44978 stack_frame_head = fra.me.prev;
44979 init_table[itpos357] = 1;
44980 return;
44981 }
44982 void parser___ReduceAction354___action(val_t p0, val_t p1){
44983 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
44984 val_t REGB0;
44985 val_t tmp;
44986 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44987 fra.me.file = LOCATE_parser;
44988 fra.me.line = 16836;
44989 fra.me.meth = LOCATE_parser___ReduceAction354___action;
44990 fra.me.has_broke = 0;
44991 fra.me.REG_size = 7;
44992 fra.me.REG[0] = NIT_NULL;
44993 fra.me.REG[1] = NIT_NULL;
44994 fra.me.REG[2] = NIT_NULL;
44995 fra.me.REG[3] = NIT_NULL;
44996 fra.me.REG[4] = NIT_NULL;
44997 fra.me.REG[5] = NIT_NULL;
44998 fra.me.REG[6] = NIT_NULL;
44999 fra.me.REG[0] = p0;
45000 fra.me.REG[1] = p1;
45001 fra.me.REG[0] = NIT_NULL;
45002 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45003 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45004 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45005 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45006 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45007 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45008 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45009 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
45010 /* ./parser//parser.nit:16847 */
45011 if (UNTAG_Bool(REGB0)) {
45012 } else {
45013 fprintf(stderr, "Assert failed");
45014 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16847);
45015 nit_exit(1);
45016 }
45017 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
45018 /* ./parser//parser.nit:16849 */
45019 if (UNTAG_Bool(REGB0)) {
45020 } else {
45021 fprintf(stderr, "Assert failed");
45022 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16849);
45023 nit_exit(1);
45024 }
45025 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
45026 /* ./parser//parser.nit:16851 */
45027 if (UNTAG_Bool(REGB0)) {
45028 } else {
45029 fprintf(stderr, "Assert failed");
45030 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16851);
45031 nit_exit(1);
45032 }
45033 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
45034 /* ./parser//parser.nit:16853 */
45035 if (UNTAG_Bool(REGB0)) {
45036 } else {
45037 fprintf(stderr, "Assert failed");
45038 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16853);
45039 nit_exit(1);
45040 }
45041 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
45042 /* ./parser//parser.nit:16855 */
45043 if (UNTAG_Bool(REGB0)) {
45044 } else {
45045 fprintf(stderr, "Assert failed");
45046 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16855);
45047 nit_exit(1);
45048 }
45049 fra.me.REG[2] = NEW_AAttrPropdef_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, fra.me.REG[2]);
45050 fra.me.REG[0] = fra.me.REG[2];
45051 REGB0 = TAG_Int(12);
45052 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45053 /* ./parser//parser.nit:16868 */
45054 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
45055 stack_frame_head = fra.me.prev;
45056 return;
45057 }
45058 void parser___ReduceAction354___init(val_t p0, int* init_table){
45059 int itpos358 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction354].i;
45060 struct {struct stack_frame_t me;} fra;
45061 val_t tmp;
45062 if (init_table[itpos358]) return;
45063 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45064 fra.me.file = LOCATE_parser;
45065 fra.me.line = 16870;
45066 fra.me.meth = LOCATE_parser___ReduceAction354___init;
45067 fra.me.has_broke = 0;
45068 fra.me.REG_size = 1;
45069 fra.me.REG[0] = NIT_NULL;
45070 fra.me.REG[0] = p0;
45071 /* ./parser//parser.nit:16870 */
45072 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
45073 stack_frame_head = fra.me.prev;
45074 init_table[itpos358] = 1;
45075 return;
45076 }
45077 void parser___ReduceAction355___action(val_t p0, val_t p1){
45078 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
45079 val_t REGB0;
45080 val_t tmp;
45081 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45082 fra.me.file = LOCATE_parser;
45083 fra.me.line = 16874;
45084 fra.me.meth = LOCATE_parser___ReduceAction355___action;
45085 fra.me.has_broke = 0;
45086 fra.me.REG_size = 10;
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[7] = NIT_NULL;
45095 fra.me.REG[8] = NIT_NULL;
45096 fra.me.REG[9] = NIT_NULL;
45097 fra.me.REG[0] = p0;
45098 fra.me.REG[1] = p1;
45099 fra.me.REG[0] = NIT_NULL;
45100 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45101 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45102 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45103 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45104 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45105 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45106 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45107 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45108 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45109 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45110 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
45111 /* ./parser//parser.nit:16888 */
45112 if (UNTAG_Bool(REGB0)) {
45113 } else {
45114 fprintf(stderr, "Assert failed");
45115 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16888);
45116 nit_exit(1);
45117 }
45118 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
45119 /* ./parser//parser.nit:16890 */
45120 if (UNTAG_Bool(REGB0)) {
45121 } else {
45122 fprintf(stderr, "Assert failed");
45123 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16890);
45124 nit_exit(1);
45125 }
45126 fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]);
45127 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
45128 /* ./parser//parser.nit:16896 */
45129 if (UNTAG_Bool(REGB0)) {
45130 } else {
45131 fprintf(stderr, "Assert failed");
45132 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16896);
45133 nit_exit(1);
45134 }
45135 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
45136 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
45137 /* ./parser//parser.nit:16902 */
45138 if (UNTAG_Bool(REGB0)) {
45139 } else {
45140 fprintf(stderr, "Assert failed");
45141 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16902);
45142 nit_exit(1);
45143 }
45144 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
45145 /* ./parser//parser.nit:16904 */
45146 if (UNTAG_Bool(REGB0)) {
45147 } else {
45148 fprintf(stderr, "Assert failed");
45149 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16904);
45150 nit_exit(1);
45151 }
45152 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
45153 /* ./parser//parser.nit:16906 */
45154 if (UNTAG_Bool(REGB0)) {
45155 } else {
45156 fprintf(stderr, "Assert failed");
45157 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16906);
45158 nit_exit(1);
45159 }
45160 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
45161 /* ./parser//parser.nit:16908 */
45162 if (UNTAG_Bool(REGB0)) {
45163 } else {
45164 fprintf(stderr, "Assert failed");
45165 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16908);
45166 nit_exit(1);
45167 }
45168 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
45169 /* ./parser//parser.nit:16910 */
45170 if (UNTAG_Bool(REGB0)) {
45171 } else {
45172 fprintf(stderr, "Assert failed");
45173 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16910);
45174 nit_exit(1);
45175 }
45176 fra.me.REG[2] = NEW_AAttrPropdef_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, fra.me.REG[2]);
45177 fra.me.REG[0] = fra.me.REG[2];
45178 REGB0 = TAG_Int(12);
45179 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45180 /* ./parser//parser.nit:16923 */
45181 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
45182 stack_frame_head = fra.me.prev;
45183 return;
45184 }
45185 void parser___ReduceAction355___init(val_t p0, int* init_table){
45186 int itpos359 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction355].i;
45187 struct {struct stack_frame_t me;} fra;
45188 val_t tmp;
45189 if (init_table[itpos359]) return;
45190 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45191 fra.me.file = LOCATE_parser;
45192 fra.me.line = 16925;
45193 fra.me.meth = LOCATE_parser___ReduceAction355___init;
45194 fra.me.has_broke = 0;
45195 fra.me.REG_size = 1;
45196 fra.me.REG[0] = NIT_NULL;
45197 fra.me.REG[0] = p0;
45198 /* ./parser//parser.nit:16925 */
45199 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
45200 stack_frame_head = fra.me.prev;
45201 init_table[itpos359] = 1;
45202 return;
45203 }
45204 void parser___ReduceAction356___action(val_t p0, val_t p1){
45205 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
45206 val_t REGB0;
45207 val_t tmp;
45208 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45209 fra.me.file = LOCATE_parser;
45210 fra.me.line = 16929;
45211 fra.me.meth = LOCATE_parser___ReduceAction356___action;
45212 fra.me.has_broke = 0;
45213 fra.me.REG_size = 11;
45214 fra.me.REG[0] = NIT_NULL;
45215 fra.me.REG[1] = NIT_NULL;
45216 fra.me.REG[2] = NIT_NULL;
45217 fra.me.REG[3] = NIT_NULL;
45218 fra.me.REG[4] = NIT_NULL;
45219 fra.me.REG[5] = NIT_NULL;
45220 fra.me.REG[6] = NIT_NULL;
45221 fra.me.REG[7] = NIT_NULL;
45222 fra.me.REG[8] = NIT_NULL;
45223 fra.me.REG[9] = NIT_NULL;
45224 fra.me.REG[10] = NIT_NULL;
45225 fra.me.REG[0] = p0;
45226 fra.me.REG[1] = p1;
45227 fra.me.REG[0] = NIT_NULL;
45228 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45229 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45230 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45231 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45232 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45233 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45234 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45235 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45236 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45237 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45238 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45239 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
45240 /* ./parser//parser.nit:16944 */
45241 if (UNTAG_Bool(REGB0)) {
45242 } else {
45243 fprintf(stderr, "Assert failed");
45244 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16944);
45245 nit_exit(1);
45246 }
45247 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
45248 /* ./parser//parser.nit:16946 */
45249 if (UNTAG_Bool(REGB0)) {
45250 } else {
45251 fprintf(stderr, "Assert failed");
45252 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16946);
45253 nit_exit(1);
45254 }
45255 fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[9]);
45256 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
45257 /* ./parser//parser.nit:16952 */
45258 if (UNTAG_Bool(REGB0)) {
45259 } else {
45260 fprintf(stderr, "Assert failed");
45261 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16952);
45262 nit_exit(1);
45263 }
45264 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
45265 /* ./parser//parser.nit:16954 */
45266 if (UNTAG_Bool(REGB0)) {
45267 } else {
45268 fprintf(stderr, "Assert failed");
45269 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16954);
45270 nit_exit(1);
45271 }
45272 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
45273 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
45274 /* ./parser//parser.nit:16960 */
45275 if (UNTAG_Bool(REGB0)) {
45276 } else {
45277 fprintf(stderr, "Assert failed");
45278 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16960);
45279 nit_exit(1);
45280 }
45281 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
45282 /* ./parser//parser.nit:16962 */
45283 if (UNTAG_Bool(REGB0)) {
45284 } else {
45285 fprintf(stderr, "Assert failed");
45286 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16962);
45287 nit_exit(1);
45288 }
45289 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
45290 /* ./parser//parser.nit:16964 */
45291 if (UNTAG_Bool(REGB0)) {
45292 } else {
45293 fprintf(stderr, "Assert failed");
45294 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16964);
45295 nit_exit(1);
45296 }
45297 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
45298 /* ./parser//parser.nit:16966 */
45299 if (UNTAG_Bool(REGB0)) {
45300 } else {
45301 fprintf(stderr, "Assert failed");
45302 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16966);
45303 nit_exit(1);
45304 }
45305 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
45306 /* ./parser//parser.nit:16968 */
45307 if (UNTAG_Bool(REGB0)) {
45308 } else {
45309 fprintf(stderr, "Assert failed");
45310 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16968);
45311 nit_exit(1);
45312 }
45313 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
45314 fra.me.REG[0] = fra.me.REG[2];
45315 REGB0 = TAG_Int(12);
45316 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45317 /* ./parser//parser.nit:16981 */
45318 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
45319 stack_frame_head = fra.me.prev;
45320 return;
45321 }
45322 void parser___ReduceAction356___init(val_t p0, int* init_table){
45323 int itpos360 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction356].i;
45324 struct {struct stack_frame_t me;} fra;
45325 val_t tmp;
45326 if (init_table[itpos360]) return;
45327 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45328 fra.me.file = LOCATE_parser;
45329 fra.me.line = 16983;
45330 fra.me.meth = LOCATE_parser___ReduceAction356___init;
45331 fra.me.has_broke = 0;
45332 fra.me.REG_size = 1;
45333 fra.me.REG[0] = NIT_NULL;
45334 fra.me.REG[0] = p0;
45335 /* ./parser//parser.nit:16983 */
45336 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
45337 stack_frame_head = fra.me.prev;
45338 init_table[itpos360] = 1;
45339 return;
45340 }
45341 void parser___ReduceAction357___action(val_t p0, val_t p1){
45342 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
45343 val_t REGB0;
45344 val_t tmp;
45345 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45346 fra.me.file = LOCATE_parser;
45347 fra.me.line = 16987;
45348 fra.me.meth = LOCATE_parser___ReduceAction357___action;
45349 fra.me.has_broke = 0;
45350 fra.me.REG_size = 9;
45351 fra.me.REG[0] = NIT_NULL;
45352 fra.me.REG[1] = NIT_NULL;
45353 fra.me.REG[2] = NIT_NULL;
45354 fra.me.REG[3] = NIT_NULL;
45355 fra.me.REG[4] = NIT_NULL;
45356 fra.me.REG[5] = NIT_NULL;
45357 fra.me.REG[6] = NIT_NULL;
45358 fra.me.REG[7] = NIT_NULL;
45359 fra.me.REG[8] = NIT_NULL;
45360 fra.me.REG[0] = p0;
45361 fra.me.REG[1] = p1;
45362 fra.me.REG[0] = NIT_NULL;
45363 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45364 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45365 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45366 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45367 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45368 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45369 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45370 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45371 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45372 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
45373 /* ./parser//parser.nit:17000 */
45374 if (UNTAG_Bool(REGB0)) {
45375 } else {
45376 fprintf(stderr, "Assert failed");
45377 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17000);
45378 nit_exit(1);
45379 }
45380 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
45381 /* ./parser//parser.nit:17002 */
45382 if (UNTAG_Bool(REGB0)) {
45383 } else {
45384 fprintf(stderr, "Assert failed");
45385 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17002);
45386 nit_exit(1);
45387 }
45388 fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]);
45389 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
45390 /* ./parser//parser.nit:17008 */
45391 if (UNTAG_Bool(REGB0)) {
45392 } else {
45393 fprintf(stderr, "Assert failed");
45394 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17008);
45395 nit_exit(1);
45396 }
45397 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
45398 /* ./parser//parser.nit:17010 */
45399 if (UNTAG_Bool(REGB0)) {
45400 } else {
45401 fprintf(stderr, "Assert failed");
45402 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17010);
45403 nit_exit(1);
45404 }
45405 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
45406 /* ./parser//parser.nit:17012 */
45407 if (UNTAG_Bool(REGB0)) {
45408 } else {
45409 fprintf(stderr, "Assert failed");
45410 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17012);
45411 nit_exit(1);
45412 }
45413 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
45414 /* ./parser//parser.nit:17014 */
45415 if (UNTAG_Bool(REGB0)) {
45416 } else {
45417 fprintf(stderr, "Assert failed");
45418 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17014);
45419 nit_exit(1);
45420 }
45421 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
45422 /* ./parser//parser.nit:17016 */
45423 if (UNTAG_Bool(REGB0)) {
45424 } else {
45425 fprintf(stderr, "Assert failed");
45426 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17016);
45427 nit_exit(1);
45428 }
45429 fra.me.REG[2] = NEW_AAttrPropdef_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, fra.me.REG[2]);
45430 fra.me.REG[0] = fra.me.REG[2];
45431 REGB0 = TAG_Int(12);
45432 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45433 /* ./parser//parser.nit:17029 */
45434 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
45435 stack_frame_head = fra.me.prev;
45436 return;
45437 }
45438 void parser___ReduceAction357___init(val_t p0, int* init_table){
45439 int itpos361 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction357].i;
45440 struct {struct stack_frame_t me;} fra;
45441 val_t tmp;
45442 if (init_table[itpos361]) return;
45443 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45444 fra.me.file = LOCATE_parser;
45445 fra.me.line = 17031;
45446 fra.me.meth = LOCATE_parser___ReduceAction357___init;
45447 fra.me.has_broke = 0;
45448 fra.me.REG_size = 1;
45449 fra.me.REG[0] = NIT_NULL;
45450 fra.me.REG[0] = p0;
45451 /* ./parser//parser.nit:17031 */
45452 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
45453 stack_frame_head = fra.me.prev;
45454 init_table[itpos361] = 1;
45455 return;
45456 }
45457 void parser___ReduceAction358___action(val_t p0, val_t p1){
45458 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
45459 val_t REGB0;
45460 val_t tmp;
45461 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45462 fra.me.file = LOCATE_parser;
45463 fra.me.line = 17035;
45464 fra.me.meth = LOCATE_parser___ReduceAction358___action;
45465 fra.me.has_broke = 0;
45466 fra.me.REG_size = 11;
45467 fra.me.REG[0] = NIT_NULL;
45468 fra.me.REG[1] = NIT_NULL;
45469 fra.me.REG[2] = NIT_NULL;
45470 fra.me.REG[3] = NIT_NULL;
45471 fra.me.REG[4] = NIT_NULL;
45472 fra.me.REG[5] = NIT_NULL;
45473 fra.me.REG[6] = NIT_NULL;
45474 fra.me.REG[7] = NIT_NULL;
45475 fra.me.REG[8] = NIT_NULL;
45476 fra.me.REG[9] = NIT_NULL;
45477 fra.me.REG[10] = NIT_NULL;
45478 fra.me.REG[0] = p0;
45479 fra.me.REG[1] = p1;
45480 fra.me.REG[0] = NIT_NULL;
45481 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45482 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45483 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45484 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45485 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45486 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45487 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45488 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45489 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45490 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45491 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45492 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
45493 /* ./parser//parser.nit:17050 */
45494 if (UNTAG_Bool(REGB0)) {
45495 } else {
45496 fprintf(stderr, "Assert failed");
45497 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17050);
45498 nit_exit(1);
45499 }
45500 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
45501 /* ./parser//parser.nit:17052 */
45502 if (UNTAG_Bool(REGB0)) {
45503 } else {
45504 fprintf(stderr, "Assert failed");
45505 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17052);
45506 nit_exit(1);
45507 }
45508 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
45509 /* ./parser//parser.nit:17054 */
45510 if (UNTAG_Bool(REGB0)) {
45511 } else {
45512 fprintf(stderr, "Assert failed");
45513 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17054);
45514 nit_exit(1);
45515 }
45516 fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]);
45517 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
45518 /* ./parser//parser.nit:17060 */
45519 if (UNTAG_Bool(REGB0)) {
45520 } else {
45521 fprintf(stderr, "Assert failed");
45522 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17060);
45523 nit_exit(1);
45524 }
45525 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
45526 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
45527 /* ./parser//parser.nit:17066 */
45528 if (UNTAG_Bool(REGB0)) {
45529 } else {
45530 fprintf(stderr, "Assert failed");
45531 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17066);
45532 nit_exit(1);
45533 }
45534 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
45535 /* ./parser//parser.nit:17068 */
45536 if (UNTAG_Bool(REGB0)) {
45537 } else {
45538 fprintf(stderr, "Assert failed");
45539 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17068);
45540 nit_exit(1);
45541 }
45542 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
45543 /* ./parser//parser.nit:17070 */
45544 if (UNTAG_Bool(REGB0)) {
45545 } else {
45546 fprintf(stderr, "Assert failed");
45547 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17070);
45548 nit_exit(1);
45549 }
45550 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
45551 /* ./parser//parser.nit:17072 */
45552 if (UNTAG_Bool(REGB0)) {
45553 } else {
45554 fprintf(stderr, "Assert failed");
45555 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17072);
45556 nit_exit(1);
45557 }
45558 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
45559 /* ./parser//parser.nit:17074 */
45560 if (UNTAG_Bool(REGB0)) {
45561 } else {
45562 fprintf(stderr, "Assert failed");
45563 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17074);
45564 nit_exit(1);
45565 }
45566 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], 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, fra.me.REG[2]);
45567 fra.me.REG[0] = fra.me.REG[2];
45568 REGB0 = TAG_Int(12);
45569 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45570 /* ./parser//parser.nit:17087 */
45571 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
45572 stack_frame_head = fra.me.prev;
45573 return;
45574 }
45575 void parser___ReduceAction358___init(val_t p0, int* init_table){
45576 int itpos362 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction358].i;
45577 struct {struct stack_frame_t me;} fra;
45578 val_t tmp;
45579 if (init_table[itpos362]) return;
45580 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45581 fra.me.file = LOCATE_parser;
45582 fra.me.line = 17089;
45583 fra.me.meth = LOCATE_parser___ReduceAction358___init;
45584 fra.me.has_broke = 0;
45585 fra.me.REG_size = 1;
45586 fra.me.REG[0] = NIT_NULL;
45587 fra.me.REG[0] = p0;
45588 /* ./parser//parser.nit:17089 */
45589 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
45590 stack_frame_head = fra.me.prev;
45591 init_table[itpos362] = 1;
45592 return;
45593 }
45594 void parser___ReduceAction359___action(val_t p0, val_t p1){
45595 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
45596 val_t REGB0;
45597 val_t tmp;
45598 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45599 fra.me.file = LOCATE_parser;
45600 fra.me.line = 17093;
45601 fra.me.meth = LOCATE_parser___ReduceAction359___action;
45602 fra.me.has_broke = 0;
45603 fra.me.REG_size = 12;
45604 fra.me.REG[0] = NIT_NULL;
45605 fra.me.REG[1] = NIT_NULL;
45606 fra.me.REG[2] = NIT_NULL;
45607 fra.me.REG[3] = NIT_NULL;
45608 fra.me.REG[4] = NIT_NULL;
45609 fra.me.REG[5] = NIT_NULL;
45610 fra.me.REG[6] = NIT_NULL;
45611 fra.me.REG[7] = NIT_NULL;
45612 fra.me.REG[8] = NIT_NULL;
45613 fra.me.REG[9] = NIT_NULL;
45614 fra.me.REG[10] = NIT_NULL;
45615 fra.me.REG[11] = NIT_NULL;
45616 fra.me.REG[0] = p0;
45617 fra.me.REG[1] = p1;
45618 fra.me.REG[0] = NIT_NULL;
45619 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45620 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45621 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45622 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45623 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45624 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45625 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45626 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45627 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45628 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45629 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45630 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45631 REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
45632 /* ./parser//parser.nit:17109 */
45633 if (UNTAG_Bool(REGB0)) {
45634 } else {
45635 fprintf(stderr, "Assert failed");
45636 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17109);
45637 nit_exit(1);
45638 }
45639 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
45640 /* ./parser//parser.nit:17111 */
45641 if (UNTAG_Bool(REGB0)) {
45642 } else {
45643 fprintf(stderr, "Assert failed");
45644 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17111);
45645 nit_exit(1);
45646 }
45647 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
45648 /* ./parser//parser.nit:17113 */
45649 if (UNTAG_Bool(REGB0)) {
45650 } else {
45651 fprintf(stderr, "Assert failed");
45652 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17113);
45653 nit_exit(1);
45654 }
45655 fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[10], fra.me.REG[9]);
45656 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
45657 /* ./parser//parser.nit:17119 */
45658 if (UNTAG_Bool(REGB0)) {
45659 } else {
45660 fprintf(stderr, "Assert failed");
45661 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17119);
45662 nit_exit(1);
45663 }
45664 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
45665 /* ./parser//parser.nit:17121 */
45666 if (UNTAG_Bool(REGB0)) {
45667 } else {
45668 fprintf(stderr, "Assert failed");
45669 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17121);
45670 nit_exit(1);
45671 }
45672 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
45673 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
45674 /* ./parser//parser.nit:17127 */
45675 if (UNTAG_Bool(REGB0)) {
45676 } else {
45677 fprintf(stderr, "Assert failed");
45678 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17127);
45679 nit_exit(1);
45680 }
45681 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
45682 /* ./parser//parser.nit:17129 */
45683 if (UNTAG_Bool(REGB0)) {
45684 } else {
45685 fprintf(stderr, "Assert failed");
45686 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17129);
45687 nit_exit(1);
45688 }
45689 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
45690 /* ./parser//parser.nit:17131 */
45691 if (UNTAG_Bool(REGB0)) {
45692 } else {
45693 fprintf(stderr, "Assert failed");
45694 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17131);
45695 nit_exit(1);
45696 }
45697 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
45698 /* ./parser//parser.nit:17133 */
45699 if (UNTAG_Bool(REGB0)) {
45700 } else {
45701 fprintf(stderr, "Assert failed");
45702 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17133);
45703 nit_exit(1);
45704 }
45705 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
45706 /* ./parser//parser.nit:17135 */
45707 if (UNTAG_Bool(REGB0)) {
45708 } else {
45709 fprintf(stderr, "Assert failed");
45710 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17135);
45711 nit_exit(1);
45712 }
45713 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
45714 fra.me.REG[0] = fra.me.REG[2];
45715 REGB0 = TAG_Int(12);
45716 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45717 /* ./parser//parser.nit:17148 */
45718 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
45719 stack_frame_head = fra.me.prev;
45720 return;
45721 }
45722 void parser___ReduceAction359___init(val_t p0, int* init_table){
45723 int itpos363 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction359].i;
45724 struct {struct stack_frame_t me;} fra;
45725 val_t tmp;
45726 if (init_table[itpos363]) return;
45727 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45728 fra.me.file = LOCATE_parser;
45729 fra.me.line = 17150;
45730 fra.me.meth = LOCATE_parser___ReduceAction359___init;
45731 fra.me.has_broke = 0;
45732 fra.me.REG_size = 1;
45733 fra.me.REG[0] = NIT_NULL;
45734 fra.me.REG[0] = p0;
45735 /* ./parser//parser.nit:17150 */
45736 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
45737 stack_frame_head = fra.me.prev;
45738 init_table[itpos363] = 1;
45739 return;
45740 }
45741 void parser___ReduceAction360___action(val_t p0, val_t p1){
45742 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
45743 val_t REGB0;
45744 val_t tmp;
45745 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45746 fra.me.file = LOCATE_parser;
45747 fra.me.line = 17154;
45748 fra.me.meth = LOCATE_parser___ReduceAction360___action;
45749 fra.me.has_broke = 0;
45750 fra.me.REG_size = 10;
45751 fra.me.REG[0] = NIT_NULL;
45752 fra.me.REG[1] = NIT_NULL;
45753 fra.me.REG[2] = NIT_NULL;
45754 fra.me.REG[3] = NIT_NULL;
45755 fra.me.REG[4] = NIT_NULL;
45756 fra.me.REG[5] = NIT_NULL;
45757 fra.me.REG[6] = NIT_NULL;
45758 fra.me.REG[7] = NIT_NULL;
45759 fra.me.REG[8] = NIT_NULL;
45760 fra.me.REG[9] = NIT_NULL;
45761 fra.me.REG[0] = p0;
45762 fra.me.REG[1] = p1;
45763 fra.me.REG[0] = NIT_NULL;
45764 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45765 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45766 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45767 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45768 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45769 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45770 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45771 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45772 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45773 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45774 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
45775 /* ./parser//parser.nit:17168 */
45776 if (UNTAG_Bool(REGB0)) {
45777 } else {
45778 fprintf(stderr, "Assert failed");
45779 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17168);
45780 nit_exit(1);
45781 }
45782 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
45783 /* ./parser//parser.nit:17170 */
45784 if (UNTAG_Bool(REGB0)) {
45785 } else {
45786 fprintf(stderr, "Assert failed");
45787 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17170);
45788 nit_exit(1);
45789 }
45790 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
45791 /* ./parser//parser.nit:17172 */
45792 if (UNTAG_Bool(REGB0)) {
45793 } else {
45794 fprintf(stderr, "Assert failed");
45795 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17172);
45796 nit_exit(1);
45797 }
45798 fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]);
45799 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
45800 /* ./parser//parser.nit:17178 */
45801 if (UNTAG_Bool(REGB0)) {
45802 } else {
45803 fprintf(stderr, "Assert failed");
45804 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17178);
45805 nit_exit(1);
45806 }
45807 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
45808 /* ./parser//parser.nit:17180 */
45809 if (UNTAG_Bool(REGB0)) {
45810 } else {
45811 fprintf(stderr, "Assert failed");
45812 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17180);
45813 nit_exit(1);
45814 }
45815 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
45816 /* ./parser//parser.nit:17182 */
45817 if (UNTAG_Bool(REGB0)) {
45818 } else {
45819 fprintf(stderr, "Assert failed");
45820 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17182);
45821 nit_exit(1);
45822 }
45823 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
45824 /* ./parser//parser.nit:17184 */
45825 if (UNTAG_Bool(REGB0)) {
45826 } else {
45827 fprintf(stderr, "Assert failed");
45828 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17184);
45829 nit_exit(1);
45830 }
45831 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
45832 /* ./parser//parser.nit:17186 */
45833 if (UNTAG_Bool(REGB0)) {
45834 } else {
45835 fprintf(stderr, "Assert failed");
45836 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17186);
45837 nit_exit(1);
45838 }
45839 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
45840 fra.me.REG[0] = fra.me.REG[2];
45841 REGB0 = TAG_Int(12);
45842 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45843 /* ./parser//parser.nit:17199 */
45844 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
45845 stack_frame_head = fra.me.prev;
45846 return;
45847 }
45848 void parser___ReduceAction360___init(val_t p0, int* init_table){
45849 int itpos364 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction360].i;
45850 struct {struct stack_frame_t me;} fra;
45851 val_t tmp;
45852 if (init_table[itpos364]) return;
45853 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45854 fra.me.file = LOCATE_parser;
45855 fra.me.line = 17201;
45856 fra.me.meth = LOCATE_parser___ReduceAction360___init;
45857 fra.me.has_broke = 0;
45858 fra.me.REG_size = 1;
45859 fra.me.REG[0] = NIT_NULL;
45860 fra.me.REG[0] = p0;
45861 /* ./parser//parser.nit:17201 */
45862 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
45863 stack_frame_head = fra.me.prev;
45864 init_table[itpos364] = 1;
45865 return;
45866 }
45867 void parser___ReduceAction361___action(val_t p0, val_t p1){
45868 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
45869 val_t REGB0;
45870 val_t tmp;
45871 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45872 fra.me.file = LOCATE_parser;
45873 fra.me.line = 17205;
45874 fra.me.meth = LOCATE_parser___ReduceAction361___action;
45875 fra.me.has_broke = 0;
45876 fra.me.REG_size = 9;
45877 fra.me.REG[0] = NIT_NULL;
45878 fra.me.REG[1] = NIT_NULL;
45879 fra.me.REG[2] = NIT_NULL;
45880 fra.me.REG[3] = NIT_NULL;
45881 fra.me.REG[4] = NIT_NULL;
45882 fra.me.REG[5] = NIT_NULL;
45883 fra.me.REG[6] = NIT_NULL;
45884 fra.me.REG[7] = NIT_NULL;
45885 fra.me.REG[8] = NIT_NULL;
45886 fra.me.REG[0] = p0;
45887 fra.me.REG[1] = p1;
45888 fra.me.REG[0] = NIT_NULL;
45889 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45890 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45891 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45892 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45893 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45894 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45895 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45896 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45897 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45898 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
45899 /* ./parser//parser.nit:17218 */
45900 if (UNTAG_Bool(REGB0)) {
45901 } else {
45902 fprintf(stderr, "Assert failed");
45903 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17218);
45904 nit_exit(1);
45905 }
45906 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
45907 /* ./parser//parser.nit:17220 */
45908 if (UNTAG_Bool(REGB0)) {
45909 } else {
45910 fprintf(stderr, "Assert failed");
45911 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17220);
45912 nit_exit(1);
45913 }
45914 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
45915 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
45916 /* ./parser//parser.nit:17226 */
45917 if (UNTAG_Bool(REGB0)) {
45918 } else {
45919 fprintf(stderr, "Assert failed");
45920 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17226);
45921 nit_exit(1);
45922 }
45923 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
45924 /* ./parser//parser.nit:17228 */
45925 if (UNTAG_Bool(REGB0)) {
45926 } else {
45927 fprintf(stderr, "Assert failed");
45928 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17228);
45929 nit_exit(1);
45930 }
45931 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
45932 /* ./parser//parser.nit:17230 */
45933 if (UNTAG_Bool(REGB0)) {
45934 } else {
45935 fprintf(stderr, "Assert failed");
45936 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17230);
45937 nit_exit(1);
45938 }
45939 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
45940 /* ./parser//parser.nit:17232 */
45941 if (UNTAG_Bool(REGB0)) {
45942 } else {
45943 fprintf(stderr, "Assert failed");
45944 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17232);
45945 nit_exit(1);
45946 }
45947 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
45948 /* ./parser//parser.nit:17234 */
45949 if (UNTAG_Bool(REGB0)) {
45950 } else {
45951 fprintf(stderr, "Assert failed");
45952 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17234);
45953 nit_exit(1);
45954 }
45955 fra.me.REG[2] = NEW_AAttrPropdef_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, fra.me.REG[2]);
45956 fra.me.REG[0] = fra.me.REG[2];
45957 REGB0 = TAG_Int(12);
45958 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45959 /* ./parser//parser.nit:17247 */
45960 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
45961 stack_frame_head = fra.me.prev;
45962 return;
45963 }
45964 void parser___ReduceAction361___init(val_t p0, int* init_table){
45965 int itpos365 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction361].i;
45966 struct {struct stack_frame_t me;} fra;
45967 val_t tmp;
45968 if (init_table[itpos365]) return;
45969 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45970 fra.me.file = LOCATE_parser;
45971 fra.me.line = 17249;
45972 fra.me.meth = LOCATE_parser___ReduceAction361___init;
45973 fra.me.has_broke = 0;
45974 fra.me.REG_size = 1;
45975 fra.me.REG[0] = NIT_NULL;
45976 fra.me.REG[0] = p0;
45977 /* ./parser//parser.nit:17249 */
45978 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
45979 stack_frame_head = fra.me.prev;
45980 init_table[itpos365] = 1;
45981 return;
45982 }
45983 void parser___ReduceAction362___action(val_t p0, val_t p1){
45984 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
45985 val_t REGB0;
45986 val_t tmp;
45987 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45988 fra.me.file = LOCATE_parser;
45989 fra.me.line = 17253;
45990 fra.me.meth = LOCATE_parser___ReduceAction362___action;
45991 fra.me.has_broke = 0;
45992 fra.me.REG_size = 10;
45993 fra.me.REG[0] = NIT_NULL;
45994 fra.me.REG[1] = NIT_NULL;
45995 fra.me.REG[2] = NIT_NULL;
45996 fra.me.REG[3] = NIT_NULL;
45997 fra.me.REG[4] = NIT_NULL;
45998 fra.me.REG[5] = NIT_NULL;
45999 fra.me.REG[6] = NIT_NULL;
46000 fra.me.REG[7] = NIT_NULL;
46001 fra.me.REG[8] = NIT_NULL;
46002 fra.me.REG[9] = NIT_NULL;
46003 fra.me.REG[0] = p0;
46004 fra.me.REG[1] = p1;
46005 fra.me.REG[0] = NIT_NULL;
46006 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46007 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46008 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46009 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46010 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46011 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46012 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46013 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46014 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46015 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46016 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
46017 /* ./parser//parser.nit:17267 */
46018 if (UNTAG_Bool(REGB0)) {
46019 } else {
46020 fprintf(stderr, "Assert failed");
46021 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17267);
46022 nit_exit(1);
46023 }
46024 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
46025 /* ./parser//parser.nit:17269 */
46026 if (UNTAG_Bool(REGB0)) {
46027 } else {
46028 fprintf(stderr, "Assert failed");
46029 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17269);
46030 nit_exit(1);
46031 }
46032 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
46033 /* ./parser//parser.nit:17271 */
46034 if (UNTAG_Bool(REGB0)) {
46035 } else {
46036 fprintf(stderr, "Assert failed");
46037 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17271);
46038 nit_exit(1);
46039 }
46040 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
46041 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
46042 /* ./parser//parser.nit:17277 */
46043 if (UNTAG_Bool(REGB0)) {
46044 } else {
46045 fprintf(stderr, "Assert failed");
46046 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17277);
46047 nit_exit(1);
46048 }
46049 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
46050 /* ./parser//parser.nit:17279 */
46051 if (UNTAG_Bool(REGB0)) {
46052 } else {
46053 fprintf(stderr, "Assert failed");
46054 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17279);
46055 nit_exit(1);
46056 }
46057 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
46058 /* ./parser//parser.nit:17281 */
46059 if (UNTAG_Bool(REGB0)) {
46060 } else {
46061 fprintf(stderr, "Assert failed");
46062 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17281);
46063 nit_exit(1);
46064 }
46065 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
46066 /* ./parser//parser.nit:17283 */
46067 if (UNTAG_Bool(REGB0)) {
46068 } else {
46069 fprintf(stderr, "Assert failed");
46070 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17283);
46071 nit_exit(1);
46072 }
46073 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
46074 /* ./parser//parser.nit:17285 */
46075 if (UNTAG_Bool(REGB0)) {
46076 } else {
46077 fprintf(stderr, "Assert failed");
46078 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17285);
46079 nit_exit(1);
46080 }
46081 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
46082 fra.me.REG[0] = fra.me.REG[2];
46083 REGB0 = TAG_Int(12);
46084 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46085 /* ./parser//parser.nit:17298 */
46086 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
46087 stack_frame_head = fra.me.prev;
46088 return;
46089 }
46090 void parser___ReduceAction362___init(val_t p0, int* init_table){
46091 int itpos366 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction362].i;
46092 struct {struct stack_frame_t me;} fra;
46093 val_t tmp;
46094 if (init_table[itpos366]) return;
46095 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46096 fra.me.file = LOCATE_parser;
46097 fra.me.line = 17300;
46098 fra.me.meth = LOCATE_parser___ReduceAction362___init;
46099 fra.me.has_broke = 0;
46100 fra.me.REG_size = 1;
46101 fra.me.REG[0] = NIT_NULL;
46102 fra.me.REG[0] = p0;
46103 /* ./parser//parser.nit:17300 */
46104 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
46105 stack_frame_head = fra.me.prev;
46106 init_table[itpos366] = 1;
46107 return;
46108 }
46109 void parser___ReduceAction363___action(val_t p0, val_t p1){
46110 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
46111 val_t REGB0;
46112 val_t tmp;
46113 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46114 fra.me.file = LOCATE_parser;
46115 fra.me.line = 17304;
46116 fra.me.meth = LOCATE_parser___ReduceAction363___action;
46117 fra.me.has_broke = 0;
46118 fra.me.REG_size = 8;
46119 fra.me.REG[0] = NIT_NULL;
46120 fra.me.REG[1] = NIT_NULL;
46121 fra.me.REG[2] = NIT_NULL;
46122 fra.me.REG[3] = NIT_NULL;
46123 fra.me.REG[4] = NIT_NULL;
46124 fra.me.REG[5] = NIT_NULL;
46125 fra.me.REG[6] = NIT_NULL;
46126 fra.me.REG[7] = NIT_NULL;
46127 fra.me.REG[0] = p0;
46128 fra.me.REG[1] = p1;
46129 fra.me.REG[0] = NIT_NULL;
46130 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46131 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46132 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46133 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46134 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46135 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46136 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46137 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46138 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
46139 /* ./parser//parser.nit:17316 */
46140 if (UNTAG_Bool(REGB0)) {
46141 } else {
46142 fprintf(stderr, "Assert failed");
46143 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17316);
46144 nit_exit(1);
46145 }
46146 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
46147 /* ./parser//parser.nit:17318 */
46148 if (UNTAG_Bool(REGB0)) {
46149 } else {
46150 fprintf(stderr, "Assert failed");
46151 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17318);
46152 nit_exit(1);
46153 }
46154 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
46155 /* ./parser//parser.nit:17320 */
46156 if (UNTAG_Bool(REGB0)) {
46157 } else {
46158 fprintf(stderr, "Assert failed");
46159 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17320);
46160 nit_exit(1);
46161 }
46162 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
46163 /* ./parser//parser.nit:17322 */
46164 if (UNTAG_Bool(REGB0)) {
46165 } else {
46166 fprintf(stderr, "Assert failed");
46167 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17322);
46168 nit_exit(1);
46169 }
46170 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
46171 /* ./parser//parser.nit:17324 */
46172 if (UNTAG_Bool(REGB0)) {
46173 } else {
46174 fprintf(stderr, "Assert failed");
46175 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17324);
46176 nit_exit(1);
46177 }
46178 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
46179 /* ./parser//parser.nit:17326 */
46180 if (UNTAG_Bool(REGB0)) {
46181 } else {
46182 fprintf(stderr, "Assert failed");
46183 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17326);
46184 nit_exit(1);
46185 }
46186 fra.me.REG[2] = NEW_AAttrPropdef_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, fra.me.REG[2]);
46187 fra.me.REG[0] = fra.me.REG[2];
46188 REGB0 = TAG_Int(12);
46189 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46190 /* ./parser//parser.nit:17339 */
46191 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
46192 stack_frame_head = fra.me.prev;
46193 return;
46194 }
46195 void parser___ReduceAction363___init(val_t p0, int* init_table){
46196 int itpos367 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction363].i;
46197 struct {struct stack_frame_t me;} fra;
46198 val_t tmp;
46199 if (init_table[itpos367]) return;
46200 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46201 fra.me.file = LOCATE_parser;
46202 fra.me.line = 17341;
46203 fra.me.meth = LOCATE_parser___ReduceAction363___init;
46204 fra.me.has_broke = 0;
46205 fra.me.REG_size = 1;
46206 fra.me.REG[0] = NIT_NULL;
46207 fra.me.REG[0] = p0;
46208 /* ./parser//parser.nit:17341 */
46209 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
46210 stack_frame_head = fra.me.prev;
46211 init_table[itpos367] = 1;
46212 return;
46213 }
46214 void parser___ReduceAction364___action(val_t p0, val_t p1){
46215 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
46216 val_t REGB0;
46217 val_t tmp;
46218 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46219 fra.me.file = LOCATE_parser;
46220 fra.me.line = 17345;
46221 fra.me.meth = LOCATE_parser___ReduceAction364___action;
46222 fra.me.has_broke = 0;
46223 fra.me.REG_size = 10;
46224 fra.me.REG[0] = NIT_NULL;
46225 fra.me.REG[1] = NIT_NULL;
46226 fra.me.REG[2] = NIT_NULL;
46227 fra.me.REG[3] = NIT_NULL;
46228 fra.me.REG[4] = NIT_NULL;
46229 fra.me.REG[5] = NIT_NULL;
46230 fra.me.REG[6] = NIT_NULL;
46231 fra.me.REG[7] = NIT_NULL;
46232 fra.me.REG[8] = NIT_NULL;
46233 fra.me.REG[9] = NIT_NULL;
46234 fra.me.REG[0] = p0;
46235 fra.me.REG[1] = p1;
46236 fra.me.REG[0] = NIT_NULL;
46237 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46238 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46239 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46240 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46241 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46242 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46243 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46244 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46245 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46246 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46247 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
46248 /* ./parser//parser.nit:17359 */
46249 if (UNTAG_Bool(REGB0)) {
46250 } else {
46251 fprintf(stderr, "Assert failed");
46252 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17359);
46253 nit_exit(1);
46254 }
46255 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
46256 /* ./parser//parser.nit:17361 */
46257 if (UNTAG_Bool(REGB0)) {
46258 } else {
46259 fprintf(stderr, "Assert failed");
46260 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17361);
46261 nit_exit(1);
46262 }
46263 fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]);
46264 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
46265 /* ./parser//parser.nit:17367 */
46266 if (UNTAG_Bool(REGB0)) {
46267 } else {
46268 fprintf(stderr, "Assert failed");
46269 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17367);
46270 nit_exit(1);
46271 }
46272 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
46273 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
46274 /* ./parser//parser.nit:17373 */
46275 if (UNTAG_Bool(REGB0)) {
46276 } else {
46277 fprintf(stderr, "Assert failed");
46278 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17373);
46279 nit_exit(1);
46280 }
46281 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
46282 /* ./parser//parser.nit:17375 */
46283 if (UNTAG_Bool(REGB0)) {
46284 } else {
46285 fprintf(stderr, "Assert failed");
46286 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17375);
46287 nit_exit(1);
46288 }
46289 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
46290 /* ./parser//parser.nit:17377 */
46291 if (UNTAG_Bool(REGB0)) {
46292 } else {
46293 fprintf(stderr, "Assert failed");
46294 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17377);
46295 nit_exit(1);
46296 }
46297 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
46298 /* ./parser//parser.nit:17379 */
46299 if (UNTAG_Bool(REGB0)) {
46300 } else {
46301 fprintf(stderr, "Assert failed");
46302 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17379);
46303 nit_exit(1);
46304 }
46305 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
46306 /* ./parser//parser.nit:17381 */
46307 if (UNTAG_Bool(REGB0)) {
46308 } else {
46309 fprintf(stderr, "Assert failed");
46310 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17381);
46311 nit_exit(1);
46312 }
46313 fra.me.REG[2] = NEW_AAttrPropdef_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], fra.me.REG[3], fra.me.REG[2]);
46314 fra.me.REG[0] = fra.me.REG[2];
46315 REGB0 = TAG_Int(12);
46316 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46317 /* ./parser//parser.nit:17394 */
46318 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
46319 stack_frame_head = fra.me.prev;
46320 return;
46321 }
46322 void parser___ReduceAction364___init(val_t p0, int* init_table){
46323 int itpos368 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction364].i;
46324 struct {struct stack_frame_t me;} fra;
46325 val_t tmp;
46326 if (init_table[itpos368]) return;
46327 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46328 fra.me.file = LOCATE_parser;
46329 fra.me.line = 17396;
46330 fra.me.meth = LOCATE_parser___ReduceAction364___init;
46331 fra.me.has_broke = 0;
46332 fra.me.REG_size = 1;
46333 fra.me.REG[0] = NIT_NULL;
46334 fra.me.REG[0] = p0;
46335 /* ./parser//parser.nit:17396 */
46336 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
46337 stack_frame_head = fra.me.prev;
46338 init_table[itpos368] = 1;
46339 return;
46340 }
46341 void parser___ReduceAction365___action(val_t p0, val_t p1){
46342 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
46343 val_t REGB0;
46344 val_t tmp;
46345 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46346 fra.me.file = LOCATE_parser;
46347 fra.me.line = 17400;
46348 fra.me.meth = LOCATE_parser___ReduceAction365___action;
46349 fra.me.has_broke = 0;
46350 fra.me.REG_size = 11;
46351 fra.me.REG[0] = NIT_NULL;
46352 fra.me.REG[1] = NIT_NULL;
46353 fra.me.REG[2] = NIT_NULL;
46354 fra.me.REG[3] = NIT_NULL;
46355 fra.me.REG[4] = NIT_NULL;
46356 fra.me.REG[5] = NIT_NULL;
46357 fra.me.REG[6] = NIT_NULL;
46358 fra.me.REG[7] = NIT_NULL;
46359 fra.me.REG[8] = NIT_NULL;
46360 fra.me.REG[9] = NIT_NULL;
46361 fra.me.REG[10] = NIT_NULL;
46362 fra.me.REG[0] = p0;
46363 fra.me.REG[1] = p1;
46364 fra.me.REG[0] = NIT_NULL;
46365 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46366 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46367 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46368 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46369 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46370 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46371 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46372 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46373 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46374 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46375 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46376 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
46377 /* ./parser//parser.nit:17415 */
46378 if (UNTAG_Bool(REGB0)) {
46379 } else {
46380 fprintf(stderr, "Assert failed");
46381 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17415);
46382 nit_exit(1);
46383 }
46384 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
46385 /* ./parser//parser.nit:17417 */
46386 if (UNTAG_Bool(REGB0)) {
46387 } else {
46388 fprintf(stderr, "Assert failed");
46389 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17417);
46390 nit_exit(1);
46391 }
46392 fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[9]);
46393 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
46394 /* ./parser//parser.nit:17423 */
46395 if (UNTAG_Bool(REGB0)) {
46396 } else {
46397 fprintf(stderr, "Assert failed");
46398 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17423);
46399 nit_exit(1);
46400 }
46401 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
46402 /* ./parser//parser.nit:17425 */
46403 if (UNTAG_Bool(REGB0)) {
46404 } else {
46405 fprintf(stderr, "Assert failed");
46406 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17425);
46407 nit_exit(1);
46408 }
46409 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
46410 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
46411 /* ./parser//parser.nit:17431 */
46412 if (UNTAG_Bool(REGB0)) {
46413 } else {
46414 fprintf(stderr, "Assert failed");
46415 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17431);
46416 nit_exit(1);
46417 }
46418 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
46419 /* ./parser//parser.nit:17433 */
46420 if (UNTAG_Bool(REGB0)) {
46421 } else {
46422 fprintf(stderr, "Assert failed");
46423 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17433);
46424 nit_exit(1);
46425 }
46426 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
46427 /* ./parser//parser.nit:17435 */
46428 if (UNTAG_Bool(REGB0)) {
46429 } else {
46430 fprintf(stderr, "Assert failed");
46431 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17435);
46432 nit_exit(1);
46433 }
46434 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
46435 /* ./parser//parser.nit:17437 */
46436 if (UNTAG_Bool(REGB0)) {
46437 } else {
46438 fprintf(stderr, "Assert failed");
46439 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17437);
46440 nit_exit(1);
46441 }
46442 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
46443 /* ./parser//parser.nit:17439 */
46444 if (UNTAG_Bool(REGB0)) {
46445 } else {
46446 fprintf(stderr, "Assert failed");
46447 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17439);
46448 nit_exit(1);
46449 }
46450 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
46451 fra.me.REG[0] = fra.me.REG[2];
46452 REGB0 = TAG_Int(12);
46453 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46454 /* ./parser//parser.nit:17452 */
46455 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
46456 stack_frame_head = fra.me.prev;
46457 return;
46458 }
46459 void parser___ReduceAction365___init(val_t p0, int* init_table){
46460 int itpos369 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction365].i;
46461 struct {struct stack_frame_t me;} fra;
46462 val_t tmp;
46463 if (init_table[itpos369]) return;
46464 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46465 fra.me.file = LOCATE_parser;
46466 fra.me.line = 17454;
46467 fra.me.meth = LOCATE_parser___ReduceAction365___init;
46468 fra.me.has_broke = 0;
46469 fra.me.REG_size = 1;
46470 fra.me.REG[0] = NIT_NULL;
46471 fra.me.REG[0] = p0;
46472 /* ./parser//parser.nit:17454 */
46473 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
46474 stack_frame_head = fra.me.prev;
46475 init_table[itpos369] = 1;
46476 return;
46477 }
46478 void parser___ReduceAction366___action(val_t p0, val_t p1){
46479 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
46480 val_t REGB0;
46481 val_t tmp;
46482 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46483 fra.me.file = LOCATE_parser;
46484 fra.me.line = 17458;
46485 fra.me.meth = LOCATE_parser___ReduceAction366___action;
46486 fra.me.has_broke = 0;
46487 fra.me.REG_size = 9;
46488 fra.me.REG[0] = NIT_NULL;
46489 fra.me.REG[1] = NIT_NULL;
46490 fra.me.REG[2] = NIT_NULL;
46491 fra.me.REG[3] = NIT_NULL;
46492 fra.me.REG[4] = NIT_NULL;
46493 fra.me.REG[5] = NIT_NULL;
46494 fra.me.REG[6] = NIT_NULL;
46495 fra.me.REG[7] = NIT_NULL;
46496 fra.me.REG[8] = NIT_NULL;
46497 fra.me.REG[0] = p0;
46498 fra.me.REG[1] = p1;
46499 fra.me.REG[0] = NIT_NULL;
46500 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46501 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46502 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46503 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46504 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46505 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46506 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46507 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46508 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46509 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
46510 /* ./parser//parser.nit:17471 */
46511 if (UNTAG_Bool(REGB0)) {
46512 } else {
46513 fprintf(stderr, "Assert failed");
46514 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17471);
46515 nit_exit(1);
46516 }
46517 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
46518 /* ./parser//parser.nit:17473 */
46519 if (UNTAG_Bool(REGB0)) {
46520 } else {
46521 fprintf(stderr, "Assert failed");
46522 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17473);
46523 nit_exit(1);
46524 }
46525 fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]);
46526 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
46527 /* ./parser//parser.nit:17479 */
46528 if (UNTAG_Bool(REGB0)) {
46529 } else {
46530 fprintf(stderr, "Assert failed");
46531 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17479);
46532 nit_exit(1);
46533 }
46534 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
46535 /* ./parser//parser.nit:17481 */
46536 if (UNTAG_Bool(REGB0)) {
46537 } else {
46538 fprintf(stderr, "Assert failed");
46539 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17481);
46540 nit_exit(1);
46541 }
46542 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
46543 /* ./parser//parser.nit:17483 */
46544 if (UNTAG_Bool(REGB0)) {
46545 } else {
46546 fprintf(stderr, "Assert failed");
46547 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17483);
46548 nit_exit(1);
46549 }
46550 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
46551 /* ./parser//parser.nit:17485 */
46552 if (UNTAG_Bool(REGB0)) {
46553 } else {
46554 fprintf(stderr, "Assert failed");
46555 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17485);
46556 nit_exit(1);
46557 }
46558 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
46559 /* ./parser//parser.nit:17487 */
46560 if (UNTAG_Bool(REGB0)) {
46561 } else {
46562 fprintf(stderr, "Assert failed");
46563 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17487);
46564 nit_exit(1);
46565 }
46566 fra.me.REG[2] = NEW_AAttrPropdef_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], fra.me.REG[3], fra.me.REG[2]);
46567 fra.me.REG[0] = fra.me.REG[2];
46568 REGB0 = TAG_Int(12);
46569 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46570 /* ./parser//parser.nit:17500 */
46571 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
46572 stack_frame_head = fra.me.prev;
46573 return;
46574 }
46575 void parser___ReduceAction366___init(val_t p0, int* init_table){
46576 int itpos370 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction366].i;
46577 struct {struct stack_frame_t me;} fra;
46578 val_t tmp;
46579 if (init_table[itpos370]) return;
46580 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46581 fra.me.file = LOCATE_parser;
46582 fra.me.line = 17502;
46583 fra.me.meth = LOCATE_parser___ReduceAction366___init;
46584 fra.me.has_broke = 0;
46585 fra.me.REG_size = 1;
46586 fra.me.REG[0] = NIT_NULL;
46587 fra.me.REG[0] = p0;
46588 /* ./parser//parser.nit:17502 */
46589 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
46590 stack_frame_head = fra.me.prev;
46591 init_table[itpos370] = 1;
46592 return;
46593 }
46594 void parser___ReduceAction367___action(val_t p0, val_t p1){
46595 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
46596 val_t REGB0;
46597 val_t tmp;
46598 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46599 fra.me.file = LOCATE_parser;
46600 fra.me.line = 17506;
46601 fra.me.meth = LOCATE_parser___ReduceAction367___action;
46602 fra.me.has_broke = 0;
46603 fra.me.REG_size = 11;
46604 fra.me.REG[0] = NIT_NULL;
46605 fra.me.REG[1] = NIT_NULL;
46606 fra.me.REG[2] = NIT_NULL;
46607 fra.me.REG[3] = NIT_NULL;
46608 fra.me.REG[4] = NIT_NULL;
46609 fra.me.REG[5] = NIT_NULL;
46610 fra.me.REG[6] = NIT_NULL;
46611 fra.me.REG[7] = NIT_NULL;
46612 fra.me.REG[8] = NIT_NULL;
46613 fra.me.REG[9] = NIT_NULL;
46614 fra.me.REG[10] = NIT_NULL;
46615 fra.me.REG[0] = p0;
46616 fra.me.REG[1] = p1;
46617 fra.me.REG[0] = NIT_NULL;
46618 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46619 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46620 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46621 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46622 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46623 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46624 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46625 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46626 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46627 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46628 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46629 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
46630 /* ./parser//parser.nit:17521 */
46631 if (UNTAG_Bool(REGB0)) {
46632 } else {
46633 fprintf(stderr, "Assert failed");
46634 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17521);
46635 nit_exit(1);
46636 }
46637 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
46638 /* ./parser//parser.nit:17523 */
46639 if (UNTAG_Bool(REGB0)) {
46640 } else {
46641 fprintf(stderr, "Assert failed");
46642 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17523);
46643 nit_exit(1);
46644 }
46645 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
46646 /* ./parser//parser.nit:17525 */
46647 if (UNTAG_Bool(REGB0)) {
46648 } else {
46649 fprintf(stderr, "Assert failed");
46650 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17525);
46651 nit_exit(1);
46652 }
46653 fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]);
46654 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
46655 /* ./parser//parser.nit:17531 */
46656 if (UNTAG_Bool(REGB0)) {
46657 } else {
46658 fprintf(stderr, "Assert failed");
46659 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17531);
46660 nit_exit(1);
46661 }
46662 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
46663 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
46664 /* ./parser//parser.nit:17537 */
46665 if (UNTAG_Bool(REGB0)) {
46666 } else {
46667 fprintf(stderr, "Assert failed");
46668 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17537);
46669 nit_exit(1);
46670 }
46671 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
46672 /* ./parser//parser.nit:17539 */
46673 if (UNTAG_Bool(REGB0)) {
46674 } else {
46675 fprintf(stderr, "Assert failed");
46676 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17539);
46677 nit_exit(1);
46678 }
46679 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
46680 /* ./parser//parser.nit:17541 */
46681 if (UNTAG_Bool(REGB0)) {
46682 } else {
46683 fprintf(stderr, "Assert failed");
46684 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17541);
46685 nit_exit(1);
46686 }
46687 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
46688 /* ./parser//parser.nit:17543 */
46689 if (UNTAG_Bool(REGB0)) {
46690 } else {
46691 fprintf(stderr, "Assert failed");
46692 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17543);
46693 nit_exit(1);
46694 }
46695 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
46696 /* ./parser//parser.nit:17545 */
46697 if (UNTAG_Bool(REGB0)) {
46698 } else {
46699 fprintf(stderr, "Assert failed");
46700 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17545);
46701 nit_exit(1);
46702 }
46703 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], 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], fra.me.REG[2]);
46704 fra.me.REG[0] = fra.me.REG[2];
46705 REGB0 = TAG_Int(12);
46706 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46707 /* ./parser//parser.nit:17558 */
46708 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
46709 stack_frame_head = fra.me.prev;
46710 return;
46711 }
46712 void parser___ReduceAction367___init(val_t p0, int* init_table){
46713 int itpos371 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction367].i;
46714 struct {struct stack_frame_t me;} fra;
46715 val_t tmp;
46716 if (init_table[itpos371]) return;
46717 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46718 fra.me.file = LOCATE_parser;
46719 fra.me.line = 17560;
46720 fra.me.meth = LOCATE_parser___ReduceAction367___init;
46721 fra.me.has_broke = 0;
46722 fra.me.REG_size = 1;
46723 fra.me.REG[0] = NIT_NULL;
46724 fra.me.REG[0] = p0;
46725 /* ./parser//parser.nit:17560 */
46726 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
46727 stack_frame_head = fra.me.prev;
46728 init_table[itpos371] = 1;
46729 return;
46730 }
46731 void parser___ReduceAction368___action(val_t p0, val_t p1){
46732 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
46733 val_t REGB0;
46734 val_t tmp;
46735 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46736 fra.me.file = LOCATE_parser;
46737 fra.me.line = 17564;
46738 fra.me.meth = LOCATE_parser___ReduceAction368___action;
46739 fra.me.has_broke = 0;
46740 fra.me.REG_size = 12;
46741 fra.me.REG[0] = NIT_NULL;
46742 fra.me.REG[1] = NIT_NULL;
46743 fra.me.REG[2] = NIT_NULL;
46744 fra.me.REG[3] = NIT_NULL;
46745 fra.me.REG[4] = NIT_NULL;
46746 fra.me.REG[5] = NIT_NULL;
46747 fra.me.REG[6] = NIT_NULL;
46748 fra.me.REG[7] = NIT_NULL;
46749 fra.me.REG[8] = NIT_NULL;
46750 fra.me.REG[9] = NIT_NULL;
46751 fra.me.REG[10] = NIT_NULL;
46752 fra.me.REG[11] = NIT_NULL;
46753 fra.me.REG[0] = p0;
46754 fra.me.REG[1] = p1;
46755 fra.me.REG[0] = NIT_NULL;
46756 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46757 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46758 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46759 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46760 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46761 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46762 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46763 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46764 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46765 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46766 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46767 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46768 REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
46769 /* ./parser//parser.nit:17580 */
46770 if (UNTAG_Bool(REGB0)) {
46771 } else {
46772 fprintf(stderr, "Assert failed");
46773 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17580);
46774 nit_exit(1);
46775 }
46776 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
46777 /* ./parser//parser.nit:17582 */
46778 if (UNTAG_Bool(REGB0)) {
46779 } else {
46780 fprintf(stderr, "Assert failed");
46781 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17582);
46782 nit_exit(1);
46783 }
46784 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
46785 /* ./parser//parser.nit:17584 */
46786 if (UNTAG_Bool(REGB0)) {
46787 } else {
46788 fprintf(stderr, "Assert failed");
46789 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17584);
46790 nit_exit(1);
46791 }
46792 fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[10], fra.me.REG[9]);
46793 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
46794 /* ./parser//parser.nit:17590 */
46795 if (UNTAG_Bool(REGB0)) {
46796 } else {
46797 fprintf(stderr, "Assert failed");
46798 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17590);
46799 nit_exit(1);
46800 }
46801 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
46802 /* ./parser//parser.nit:17592 */
46803 if (UNTAG_Bool(REGB0)) {
46804 } else {
46805 fprintf(stderr, "Assert failed");
46806 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17592);
46807 nit_exit(1);
46808 }
46809 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
46810 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
46811 /* ./parser//parser.nit:17598 */
46812 if (UNTAG_Bool(REGB0)) {
46813 } else {
46814 fprintf(stderr, "Assert failed");
46815 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17598);
46816 nit_exit(1);
46817 }
46818 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
46819 /* ./parser//parser.nit:17600 */
46820 if (UNTAG_Bool(REGB0)) {
46821 } else {
46822 fprintf(stderr, "Assert failed");
46823 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17600);
46824 nit_exit(1);
46825 }
46826 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
46827 /* ./parser//parser.nit:17602 */
46828 if (UNTAG_Bool(REGB0)) {
46829 } else {
46830 fprintf(stderr, "Assert failed");
46831 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17602);
46832 nit_exit(1);
46833 }
46834 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
46835 /* ./parser//parser.nit:17604 */
46836 if (UNTAG_Bool(REGB0)) {
46837 } else {
46838 fprintf(stderr, "Assert failed");
46839 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17604);
46840 nit_exit(1);
46841 }
46842 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
46843 /* ./parser//parser.nit:17606 */
46844 if (UNTAG_Bool(REGB0)) {
46845 } else {
46846 fprintf(stderr, "Assert failed");
46847 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17606);
46848 nit_exit(1);
46849 }
46850 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], fra.me.REG[9], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
46851 fra.me.REG[0] = fra.me.REG[2];
46852 REGB0 = TAG_Int(12);
46853 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46854 /* ./parser//parser.nit:17619 */
46855 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
46856 stack_frame_head = fra.me.prev;
46857 return;
46858 }
46859 void parser___ReduceAction368___init(val_t p0, int* init_table){
46860 int itpos372 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction368].i;
46861 struct {struct stack_frame_t me;} fra;
46862 val_t tmp;
46863 if (init_table[itpos372]) return;
46864 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46865 fra.me.file = LOCATE_parser;
46866 fra.me.line = 17621;
46867 fra.me.meth = LOCATE_parser___ReduceAction368___init;
46868 fra.me.has_broke = 0;
46869 fra.me.REG_size = 1;
46870 fra.me.REG[0] = NIT_NULL;
46871 fra.me.REG[0] = p0;
46872 /* ./parser//parser.nit:17621 */
46873 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
46874 stack_frame_head = fra.me.prev;
46875 init_table[itpos372] = 1;
46876 return;
46877 }
46878 void parser___ReduceAction369___action(val_t p0, val_t p1){
46879 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
46880 val_t REGB0;
46881 val_t tmp;
46882 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46883 fra.me.file = LOCATE_parser;
46884 fra.me.line = 17625;
46885 fra.me.meth = LOCATE_parser___ReduceAction369___action;
46886 fra.me.has_broke = 0;
46887 fra.me.REG_size = 10;
46888 fra.me.REG[0] = NIT_NULL;
46889 fra.me.REG[1] = NIT_NULL;
46890 fra.me.REG[2] = NIT_NULL;
46891 fra.me.REG[3] = NIT_NULL;
46892 fra.me.REG[4] = NIT_NULL;
46893 fra.me.REG[5] = NIT_NULL;
46894 fra.me.REG[6] = NIT_NULL;
46895 fra.me.REG[7] = NIT_NULL;
46896 fra.me.REG[8] = NIT_NULL;
46897 fra.me.REG[9] = NIT_NULL;
46898 fra.me.REG[0] = p0;
46899 fra.me.REG[1] = p1;
46900 fra.me.REG[0] = NIT_NULL;
46901 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46902 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46903 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46904 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46905 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46906 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46907 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46908 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46909 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46910 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46911 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
46912 /* ./parser//parser.nit:17639 */
46913 if (UNTAG_Bool(REGB0)) {
46914 } else {
46915 fprintf(stderr, "Assert failed");
46916 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17639);
46917 nit_exit(1);
46918 }
46919 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
46920 /* ./parser//parser.nit:17641 */
46921 if (UNTAG_Bool(REGB0)) {
46922 } else {
46923 fprintf(stderr, "Assert failed");
46924 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17641);
46925 nit_exit(1);
46926 }
46927 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
46928 /* ./parser//parser.nit:17643 */
46929 if (UNTAG_Bool(REGB0)) {
46930 } else {
46931 fprintf(stderr, "Assert failed");
46932 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17643);
46933 nit_exit(1);
46934 }
46935 fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]);
46936 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
46937 /* ./parser//parser.nit:17649 */
46938 if (UNTAG_Bool(REGB0)) {
46939 } else {
46940 fprintf(stderr, "Assert failed");
46941 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17649);
46942 nit_exit(1);
46943 }
46944 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
46945 /* ./parser//parser.nit:17651 */
46946 if (UNTAG_Bool(REGB0)) {
46947 } else {
46948 fprintf(stderr, "Assert failed");
46949 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17651);
46950 nit_exit(1);
46951 }
46952 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
46953 /* ./parser//parser.nit:17653 */
46954 if (UNTAG_Bool(REGB0)) {
46955 } else {
46956 fprintf(stderr, "Assert failed");
46957 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17653);
46958 nit_exit(1);
46959 }
46960 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
46961 /* ./parser//parser.nit:17655 */
46962 if (UNTAG_Bool(REGB0)) {
46963 } else {
46964 fprintf(stderr, "Assert failed");
46965 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17655);
46966 nit_exit(1);
46967 }
46968 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
46969 /* ./parser//parser.nit:17657 */
46970 if (UNTAG_Bool(REGB0)) {
46971 } else {
46972 fprintf(stderr, "Assert failed");
46973 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17657);
46974 nit_exit(1);
46975 }
46976 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
46977 fra.me.REG[0] = fra.me.REG[2];
46978 REGB0 = TAG_Int(12);
46979 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46980 /* ./parser//parser.nit:17670 */
46981 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
46982 stack_frame_head = fra.me.prev;
46983 return;
46984 }
46985 void parser___ReduceAction369___init(val_t p0, int* init_table){
46986 int itpos373 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction369].i;
46987 struct {struct stack_frame_t me;} fra;
46988 val_t tmp;
46989 if (init_table[itpos373]) return;
46990 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46991 fra.me.file = LOCATE_parser;
46992 fra.me.line = 17672;
46993 fra.me.meth = LOCATE_parser___ReduceAction369___init;
46994 fra.me.has_broke = 0;
46995 fra.me.REG_size = 1;
46996 fra.me.REG[0] = NIT_NULL;
46997 fra.me.REG[0] = p0;
46998 /* ./parser//parser.nit:17672 */
46999 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
47000 stack_frame_head = fra.me.prev;
47001 init_table[itpos373] = 1;
47002 return;
47003 }
47004 void parser___ReduceAction370___action(val_t p0, val_t p1){
47005 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
47006 val_t REGB0;
47007 val_t tmp;
47008 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47009 fra.me.file = LOCATE_parser;
47010 fra.me.line = 17676;
47011 fra.me.meth = LOCATE_parser___ReduceAction370___action;
47012 fra.me.has_broke = 0;
47013 fra.me.REG_size = 9;
47014 fra.me.REG[0] = NIT_NULL;
47015 fra.me.REG[1] = NIT_NULL;
47016 fra.me.REG[2] = NIT_NULL;
47017 fra.me.REG[3] = NIT_NULL;
47018 fra.me.REG[4] = NIT_NULL;
47019 fra.me.REG[5] = NIT_NULL;
47020 fra.me.REG[6] = NIT_NULL;
47021 fra.me.REG[7] = NIT_NULL;
47022 fra.me.REG[8] = NIT_NULL;
47023 fra.me.REG[0] = p0;
47024 fra.me.REG[1] = p1;
47025 fra.me.REG[0] = NIT_NULL;
47026 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47027 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47028 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47029 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47030 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47031 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47032 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47033 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47034 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47035 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
47036 /* ./parser//parser.nit:17689 */
47037 if (UNTAG_Bool(REGB0)) {
47038 } else {
47039 fprintf(stderr, "Assert failed");
47040 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17689);
47041 nit_exit(1);
47042 }
47043 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
47044 /* ./parser//parser.nit:17691 */
47045 if (UNTAG_Bool(REGB0)) {
47046 } else {
47047 fprintf(stderr, "Assert failed");
47048 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17691);
47049 nit_exit(1);
47050 }
47051 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]);
47052 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
47053 /* ./parser//parser.nit:17697 */
47054 if (UNTAG_Bool(REGB0)) {
47055 } else {
47056 fprintf(stderr, "Assert failed");
47057 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17697);
47058 nit_exit(1);
47059 }
47060 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
47061 /* ./parser//parser.nit:17699 */
47062 if (UNTAG_Bool(REGB0)) {
47063 } else {
47064 fprintf(stderr, "Assert failed");
47065 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17699);
47066 nit_exit(1);
47067 }
47068 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
47069 /* ./parser//parser.nit:17701 */
47070 if (UNTAG_Bool(REGB0)) {
47071 } else {
47072 fprintf(stderr, "Assert failed");
47073 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17701);
47074 nit_exit(1);
47075 }
47076 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
47077 /* ./parser//parser.nit:17703 */
47078 if (UNTAG_Bool(REGB0)) {
47079 } else {
47080 fprintf(stderr, "Assert failed");
47081 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17703);
47082 nit_exit(1);
47083 }
47084 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
47085 /* ./parser//parser.nit:17705 */
47086 if (UNTAG_Bool(REGB0)) {
47087 } else {
47088 fprintf(stderr, "Assert failed");
47089 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17705);
47090 nit_exit(1);
47091 }
47092 fra.me.REG[2] = NEW_AAttrPropdef_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], fra.me.REG[3], fra.me.REG[2]);
47093 fra.me.REG[0] = fra.me.REG[2];
47094 REGB0 = TAG_Int(12);
47095 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47096 /* ./parser//parser.nit:17718 */
47097 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
47098 stack_frame_head = fra.me.prev;
47099 return;
47100 }
47101 void parser___ReduceAction370___init(val_t p0, int* init_table){
47102 int itpos374 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction370].i;
47103 struct {struct stack_frame_t me;} fra;
47104 val_t tmp;
47105 if (init_table[itpos374]) return;
47106 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47107 fra.me.file = LOCATE_parser;
47108 fra.me.line = 17720;
47109 fra.me.meth = LOCATE_parser___ReduceAction370___init;
47110 fra.me.has_broke = 0;
47111 fra.me.REG_size = 1;
47112 fra.me.REG[0] = NIT_NULL;
47113 fra.me.REG[0] = p0;
47114 /* ./parser//parser.nit:17720 */
47115 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
47116 stack_frame_head = fra.me.prev;
47117 init_table[itpos374] = 1;
47118 return;
47119 }
47120 void parser___ReduceAction371___action(val_t p0, val_t p1){
47121 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
47122 val_t REGB0;
47123 val_t tmp;
47124 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47125 fra.me.file = LOCATE_parser;
47126 fra.me.line = 17724;
47127 fra.me.meth = LOCATE_parser___ReduceAction371___action;
47128 fra.me.has_broke = 0;
47129 fra.me.REG_size = 10;
47130 fra.me.REG[0] = NIT_NULL;
47131 fra.me.REG[1] = NIT_NULL;
47132 fra.me.REG[2] = NIT_NULL;
47133 fra.me.REG[3] = NIT_NULL;
47134 fra.me.REG[4] = NIT_NULL;
47135 fra.me.REG[5] = NIT_NULL;
47136 fra.me.REG[6] = NIT_NULL;
47137 fra.me.REG[7] = NIT_NULL;
47138 fra.me.REG[8] = NIT_NULL;
47139 fra.me.REG[9] = NIT_NULL;
47140 fra.me.REG[0] = p0;
47141 fra.me.REG[1] = p1;
47142 fra.me.REG[0] = NIT_NULL;
47143 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47144 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47145 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47146 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47147 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47148 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47149 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47150 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47151 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47152 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47153 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
47154 /* ./parser//parser.nit:17738 */
47155 if (UNTAG_Bool(REGB0)) {
47156 } else {
47157 fprintf(stderr, "Assert failed");
47158 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17738);
47159 nit_exit(1);
47160 }
47161 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
47162 /* ./parser//parser.nit:17740 */
47163 if (UNTAG_Bool(REGB0)) {
47164 } else {
47165 fprintf(stderr, "Assert failed");
47166 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17740);
47167 nit_exit(1);
47168 }
47169 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
47170 /* ./parser//parser.nit:17742 */
47171 if (UNTAG_Bool(REGB0)) {
47172 } else {
47173 fprintf(stderr, "Assert failed");
47174 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17742);
47175 nit_exit(1);
47176 }
47177 fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]);
47178 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
47179 /* ./parser//parser.nit:17748 */
47180 if (UNTAG_Bool(REGB0)) {
47181 } else {
47182 fprintf(stderr, "Assert failed");
47183 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17748);
47184 nit_exit(1);
47185 }
47186 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
47187 /* ./parser//parser.nit:17750 */
47188 if (UNTAG_Bool(REGB0)) {
47189 } else {
47190 fprintf(stderr, "Assert failed");
47191 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17750);
47192 nit_exit(1);
47193 }
47194 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
47195 /* ./parser//parser.nit:17752 */
47196 if (UNTAG_Bool(REGB0)) {
47197 } else {
47198 fprintf(stderr, "Assert failed");
47199 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17752);
47200 nit_exit(1);
47201 }
47202 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
47203 /* ./parser//parser.nit:17754 */
47204 if (UNTAG_Bool(REGB0)) {
47205 } else {
47206 fprintf(stderr, "Assert failed");
47207 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17754);
47208 nit_exit(1);
47209 }
47210 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
47211 /* ./parser//parser.nit:17756 */
47212 if (UNTAG_Bool(REGB0)) {
47213 } else {
47214 fprintf(stderr, "Assert failed");
47215 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17756);
47216 nit_exit(1);
47217 }
47218 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
47219 fra.me.REG[0] = fra.me.REG[2];
47220 REGB0 = TAG_Int(12);
47221 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47222 /* ./parser//parser.nit:17769 */
47223 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
47224 stack_frame_head = fra.me.prev;
47225 return;
47226 }
47227 void parser___ReduceAction371___init(val_t p0, int* init_table){
47228 int itpos375 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction371].i;
47229 struct {struct stack_frame_t me;} fra;
47230 val_t tmp;
47231 if (init_table[itpos375]) return;
47232 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47233 fra.me.file = LOCATE_parser;
47234 fra.me.line = 17771;
47235 fra.me.meth = LOCATE_parser___ReduceAction371___init;
47236 fra.me.has_broke = 0;
47237 fra.me.REG_size = 1;
47238 fra.me.REG[0] = NIT_NULL;
47239 fra.me.REG[0] = p0;
47240 /* ./parser//parser.nit:17771 */
47241 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
47242 stack_frame_head = fra.me.prev;
47243 init_table[itpos375] = 1;
47244 return;
47245 }
47246 void parser___ReduceAction372___action(val_t p0, val_t p1){
47247 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
47248 val_t REGB0;
47249 val_t tmp;
47250 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47251 fra.me.file = LOCATE_parser;
47252 fra.me.line = 17775;
47253 fra.me.meth = LOCATE_parser___ReduceAction372___action;
47254 fra.me.has_broke = 0;
47255 fra.me.REG_size = 8;
47256 fra.me.REG[0] = NIT_NULL;
47257 fra.me.REG[1] = NIT_NULL;
47258 fra.me.REG[2] = NIT_NULL;
47259 fra.me.REG[3] = NIT_NULL;
47260 fra.me.REG[4] = NIT_NULL;
47261 fra.me.REG[5] = NIT_NULL;
47262 fra.me.REG[6] = NIT_NULL;
47263 fra.me.REG[7] = NIT_NULL;
47264 fra.me.REG[0] = p0;
47265 fra.me.REG[1] = p1;
47266 fra.me.REG[0] = NIT_NULL;
47267 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47268 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47269 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47270 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47271 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47272 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47273 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47274 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47275 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
47276 /* ./parser//parser.nit:17787 */
47277 if (UNTAG_Bool(REGB0)) {
47278 } else {
47279 fprintf(stderr, "Assert failed");
47280 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17787);
47281 nit_exit(1);
47282 }
47283 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
47284 /* ./parser//parser.nit:17789 */
47285 if (UNTAG_Bool(REGB0)) {
47286 } else {
47287 fprintf(stderr, "Assert failed");
47288 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17789);
47289 nit_exit(1);
47290 }
47291 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
47292 /* ./parser//parser.nit:17791 */
47293 if (UNTAG_Bool(REGB0)) {
47294 } else {
47295 fprintf(stderr, "Assert failed");
47296 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17791);
47297 nit_exit(1);
47298 }
47299 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
47300 /* ./parser//parser.nit:17793 */
47301 if (UNTAG_Bool(REGB0)) {
47302 } else {
47303 fprintf(stderr, "Assert failed");
47304 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17793);
47305 nit_exit(1);
47306 }
47307 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
47308 /* ./parser//parser.nit:17795 */
47309 if (UNTAG_Bool(REGB0)) {
47310 } else {
47311 fprintf(stderr, "Assert failed");
47312 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17795);
47313 nit_exit(1);
47314 }
47315 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
47316 /* ./parser//parser.nit:17797 */
47317 if (UNTAG_Bool(REGB0)) {
47318 } else {
47319 fprintf(stderr, "Assert failed");
47320 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17797);
47321 nit_exit(1);
47322 }
47323 fra.me.REG[2] = NEW_AAttrPropdef_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], fra.me.REG[3], fra.me.REG[2]);
47324 fra.me.REG[0] = fra.me.REG[2];
47325 REGB0 = TAG_Int(12);
47326 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47327 /* ./parser//parser.nit:17810 */
47328 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
47329 stack_frame_head = fra.me.prev;
47330 return;
47331 }
47332 void parser___ReduceAction372___init(val_t p0, int* init_table){
47333 int itpos376 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction372].i;
47334 struct {struct stack_frame_t me;} fra;
47335 val_t tmp;
47336 if (init_table[itpos376]) return;
47337 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47338 fra.me.file = LOCATE_parser;
47339 fra.me.line = 17812;
47340 fra.me.meth = LOCATE_parser___ReduceAction372___init;
47341 fra.me.has_broke = 0;
47342 fra.me.REG_size = 1;
47343 fra.me.REG[0] = NIT_NULL;
47344 fra.me.REG[0] = p0;
47345 /* ./parser//parser.nit:17812 */
47346 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
47347 stack_frame_head = fra.me.prev;
47348 init_table[itpos376] = 1;
47349 return;
47350 }
47351 void parser___ReduceAction373___action(val_t p0, val_t p1){
47352 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
47353 val_t REGB0;
47354 val_t tmp;
47355 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47356 fra.me.file = LOCATE_parser;
47357 fra.me.line = 17816;
47358 fra.me.meth = LOCATE_parser___ReduceAction373___action;
47359 fra.me.has_broke = 0;
47360 fra.me.REG_size = 11;
47361 fra.me.REG[0] = NIT_NULL;
47362 fra.me.REG[1] = NIT_NULL;
47363 fra.me.REG[2] = NIT_NULL;
47364 fra.me.REG[3] = NIT_NULL;
47365 fra.me.REG[4] = NIT_NULL;
47366 fra.me.REG[5] = NIT_NULL;
47367 fra.me.REG[6] = NIT_NULL;
47368 fra.me.REG[7] = NIT_NULL;
47369 fra.me.REG[8] = NIT_NULL;
47370 fra.me.REG[9] = NIT_NULL;
47371 fra.me.REG[10] = NIT_NULL;
47372 fra.me.REG[0] = p0;
47373 fra.me.REG[1] = p1;
47374 fra.me.REG[0] = NIT_NULL;
47375 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47376 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47377 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47378 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47379 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47380 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47381 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47382 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47383 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47384 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47385 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47386 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
47387 /* ./parser//parser.nit:17831 */
47388 if (UNTAG_Bool(REGB0)) {
47389 } else {
47390 fprintf(stderr, "Assert failed");
47391 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17831);
47392 nit_exit(1);
47393 }
47394 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
47395 /* ./parser//parser.nit:17833 */
47396 if (UNTAG_Bool(REGB0)) {
47397 } else {
47398 fprintf(stderr, "Assert failed");
47399 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17833);
47400 nit_exit(1);
47401 }
47402 fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[9]);
47403 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
47404 /* ./parser//parser.nit:17839 */
47405 if (UNTAG_Bool(REGB0)) {
47406 } else {
47407 fprintf(stderr, "Assert failed");
47408 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17839);
47409 nit_exit(1);
47410 }
47411 fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[8]);
47412 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
47413 /* ./parser//parser.nit:17845 */
47414 if (UNTAG_Bool(REGB0)) {
47415 } else {
47416 fprintf(stderr, "Assert failed");
47417 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17845);
47418 nit_exit(1);
47419 }
47420 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
47421 /* ./parser//parser.nit:17847 */
47422 if (UNTAG_Bool(REGB0)) {
47423 } else {
47424 fprintf(stderr, "Assert failed");
47425 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17847);
47426 nit_exit(1);
47427 }
47428 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
47429 /* ./parser//parser.nit:17849 */
47430 if (UNTAG_Bool(REGB0)) {
47431 } else {
47432 fprintf(stderr, "Assert failed");
47433 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17849);
47434 nit_exit(1);
47435 }
47436 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
47437 /* ./parser//parser.nit:17851 */
47438 if (UNTAG_Bool(REGB0)) {
47439 } else {
47440 fprintf(stderr, "Assert failed");
47441 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17851);
47442 nit_exit(1);
47443 }
47444 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
47445 /* ./parser//parser.nit:17853 */
47446 if (UNTAG_Bool(REGB0)) {
47447 } else {
47448 fprintf(stderr, "Assert failed");
47449 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17853);
47450 nit_exit(1);
47451 }
47452 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
47453 /* ./parser//parser.nit:17855 */
47454 if (UNTAG_Bool(REGB0)) {
47455 } else {
47456 fprintf(stderr, "Assert failed");
47457 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17855);
47458 nit_exit(1);
47459 }
47460 fra.me.REG[2] = NEW_AAttrPropdef_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], fra.me.REG[3], fra.me.REG[2]);
47461 fra.me.REG[0] = fra.me.REG[2];
47462 REGB0 = TAG_Int(12);
47463 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47464 /* ./parser//parser.nit:17868 */
47465 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
47466 stack_frame_head = fra.me.prev;
47467 return;
47468 }
47469 void parser___ReduceAction373___init(val_t p0, int* init_table){
47470 int itpos377 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction373].i;
47471 struct {struct stack_frame_t me;} fra;
47472 val_t tmp;
47473 if (init_table[itpos377]) return;
47474 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47475 fra.me.file = LOCATE_parser;
47476 fra.me.line = 17870;
47477 fra.me.meth = LOCATE_parser___ReduceAction373___init;
47478 fra.me.has_broke = 0;
47479 fra.me.REG_size = 1;
47480 fra.me.REG[0] = NIT_NULL;
47481 fra.me.REG[0] = p0;
47482 /* ./parser//parser.nit:17870 */
47483 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
47484 stack_frame_head = fra.me.prev;
47485 init_table[itpos377] = 1;
47486 return;
47487 }
47488 void parser___ReduceAction374___action(val_t p0, val_t p1){
47489 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
47490 val_t REGB0;
47491 val_t tmp;
47492 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47493 fra.me.file = LOCATE_parser;
47494 fra.me.line = 17874;
47495 fra.me.meth = LOCATE_parser___ReduceAction374___action;
47496 fra.me.has_broke = 0;
47497 fra.me.REG_size = 12;
47498 fra.me.REG[0] = NIT_NULL;
47499 fra.me.REG[1] = NIT_NULL;
47500 fra.me.REG[2] = NIT_NULL;
47501 fra.me.REG[3] = NIT_NULL;
47502 fra.me.REG[4] = NIT_NULL;
47503 fra.me.REG[5] = NIT_NULL;
47504 fra.me.REG[6] = NIT_NULL;
47505 fra.me.REG[7] = NIT_NULL;
47506 fra.me.REG[8] = NIT_NULL;
47507 fra.me.REG[9] = NIT_NULL;
47508 fra.me.REG[10] = NIT_NULL;
47509 fra.me.REG[11] = NIT_NULL;
47510 fra.me.REG[0] = p0;
47511 fra.me.REG[1] = p1;
47512 fra.me.REG[0] = NIT_NULL;
47513 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47514 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47515 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47516 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47517 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47518 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47519 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47520 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47521 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47522 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47523 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47524 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47525 REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
47526 /* ./parser//parser.nit:17890 */
47527 if (UNTAG_Bool(REGB0)) {
47528 } else {
47529 fprintf(stderr, "Assert failed");
47530 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17890);
47531 nit_exit(1);
47532 }
47533 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
47534 /* ./parser//parser.nit:17892 */
47535 if (UNTAG_Bool(REGB0)) {
47536 } else {
47537 fprintf(stderr, "Assert failed");
47538 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17892);
47539 nit_exit(1);
47540 }
47541 fra.me.REG[10] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[10]);
47542 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
47543 /* ./parser//parser.nit:17898 */
47544 if (UNTAG_Bool(REGB0)) {
47545 } else {
47546 fprintf(stderr, "Assert failed");
47547 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17898);
47548 nit_exit(1);
47549 }
47550 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
47551 /* ./parser//parser.nit:17900 */
47552 if (UNTAG_Bool(REGB0)) {
47553 } else {
47554 fprintf(stderr, "Assert failed");
47555 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17900);
47556 nit_exit(1);
47557 }
47558 fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[9], fra.me.REG[8]);
47559 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
47560 /* ./parser//parser.nit:17906 */
47561 if (UNTAG_Bool(REGB0)) {
47562 } else {
47563 fprintf(stderr, "Assert failed");
47564 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17906);
47565 nit_exit(1);
47566 }
47567 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
47568 /* ./parser//parser.nit:17908 */
47569 if (UNTAG_Bool(REGB0)) {
47570 } else {
47571 fprintf(stderr, "Assert failed");
47572 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17908);
47573 nit_exit(1);
47574 }
47575 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
47576 /* ./parser//parser.nit:17910 */
47577 if (UNTAG_Bool(REGB0)) {
47578 } else {
47579 fprintf(stderr, "Assert failed");
47580 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17910);
47581 nit_exit(1);
47582 }
47583 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
47584 /* ./parser//parser.nit:17912 */
47585 if (UNTAG_Bool(REGB0)) {
47586 } else {
47587 fprintf(stderr, "Assert failed");
47588 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17912);
47589 nit_exit(1);
47590 }
47591 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
47592 /* ./parser//parser.nit:17914 */
47593 if (UNTAG_Bool(REGB0)) {
47594 } else {
47595 fprintf(stderr, "Assert failed");
47596 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17914);
47597 nit_exit(1);
47598 }
47599 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
47600 /* ./parser//parser.nit:17916 */
47601 if (UNTAG_Bool(REGB0)) {
47602 } else {
47603 fprintf(stderr, "Assert failed");
47604 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17916);
47605 nit_exit(1);
47606 }
47607 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], fra.me.REG[10], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
47608 fra.me.REG[0] = fra.me.REG[2];
47609 REGB0 = TAG_Int(12);
47610 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47611 /* ./parser//parser.nit:17929 */
47612 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
47613 stack_frame_head = fra.me.prev;
47614 return;
47615 }
47616 void parser___ReduceAction374___init(val_t p0, int* init_table){
47617 int itpos378 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction374].i;
47618 struct {struct stack_frame_t me;} fra;
47619 val_t tmp;
47620 if (init_table[itpos378]) return;
47621 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47622 fra.me.file = LOCATE_parser;
47623 fra.me.line = 17931;
47624 fra.me.meth = LOCATE_parser___ReduceAction374___init;
47625 fra.me.has_broke = 0;
47626 fra.me.REG_size = 1;
47627 fra.me.REG[0] = NIT_NULL;
47628 fra.me.REG[0] = p0;
47629 /* ./parser//parser.nit:17931 */
47630 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
47631 stack_frame_head = fra.me.prev;
47632 init_table[itpos378] = 1;
47633 return;
47634 }
47635 void parser___ReduceAction375___action(val_t p0, val_t p1){
47636 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
47637 val_t REGB0;
47638 val_t tmp;
47639 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47640 fra.me.file = LOCATE_parser;
47641 fra.me.line = 17935;
47642 fra.me.meth = LOCATE_parser___ReduceAction375___action;
47643 fra.me.has_broke = 0;
47644 fra.me.REG_size = 10;
47645 fra.me.REG[0] = NIT_NULL;
47646 fra.me.REG[1] = NIT_NULL;
47647 fra.me.REG[2] = NIT_NULL;
47648 fra.me.REG[3] = NIT_NULL;
47649 fra.me.REG[4] = NIT_NULL;
47650 fra.me.REG[5] = NIT_NULL;
47651 fra.me.REG[6] = NIT_NULL;
47652 fra.me.REG[7] = NIT_NULL;
47653 fra.me.REG[8] = NIT_NULL;
47654 fra.me.REG[9] = NIT_NULL;
47655 fra.me.REG[0] = p0;
47656 fra.me.REG[1] = p1;
47657 fra.me.REG[0] = NIT_NULL;
47658 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47659 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47660 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47661 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47662 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47663 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47664 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47665 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47666 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47667 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47668 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
47669 /* ./parser//parser.nit:17949 */
47670 if (UNTAG_Bool(REGB0)) {
47671 } else {
47672 fprintf(stderr, "Assert failed");
47673 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17949);
47674 nit_exit(1);
47675 }
47676 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
47677 /* ./parser//parser.nit:17951 */
47678 if (UNTAG_Bool(REGB0)) {
47679 } else {
47680 fprintf(stderr, "Assert failed");
47681 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17951);
47682 nit_exit(1);
47683 }
47684 fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]);
47685 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
47686 /* ./parser//parser.nit:17957 */
47687 if (UNTAG_Bool(REGB0)) {
47688 } else {
47689 fprintf(stderr, "Assert failed");
47690 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17957);
47691 nit_exit(1);
47692 }
47693 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
47694 /* ./parser//parser.nit:17959 */
47695 if (UNTAG_Bool(REGB0)) {
47696 } else {
47697 fprintf(stderr, "Assert failed");
47698 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17959);
47699 nit_exit(1);
47700 }
47701 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
47702 /* ./parser//parser.nit:17961 */
47703 if (UNTAG_Bool(REGB0)) {
47704 } else {
47705 fprintf(stderr, "Assert failed");
47706 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17961);
47707 nit_exit(1);
47708 }
47709 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
47710 /* ./parser//parser.nit:17963 */
47711 if (UNTAG_Bool(REGB0)) {
47712 } else {
47713 fprintf(stderr, "Assert failed");
47714 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17963);
47715 nit_exit(1);
47716 }
47717 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
47718 /* ./parser//parser.nit:17965 */
47719 if (UNTAG_Bool(REGB0)) {
47720 } else {
47721 fprintf(stderr, "Assert failed");
47722 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17965);
47723 nit_exit(1);
47724 }
47725 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
47726 /* ./parser//parser.nit:17967 */
47727 if (UNTAG_Bool(REGB0)) {
47728 } else {
47729 fprintf(stderr, "Assert failed");
47730 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17967);
47731 nit_exit(1);
47732 }
47733 fra.me.REG[2] = NEW_AAttrPropdef_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], fra.me.REG[3], fra.me.REG[2]);
47734 fra.me.REG[0] = fra.me.REG[2];
47735 REGB0 = TAG_Int(12);
47736 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47737 /* ./parser//parser.nit:17980 */
47738 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
47739 stack_frame_head = fra.me.prev;
47740 return;
47741 }
47742 void parser___ReduceAction375___init(val_t p0, int* init_table){
47743 int itpos379 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction375].i;
47744 struct {struct stack_frame_t me;} fra;
47745 val_t tmp;
47746 if (init_table[itpos379]) return;
47747 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47748 fra.me.file = LOCATE_parser;
47749 fra.me.line = 17982;
47750 fra.me.meth = LOCATE_parser___ReduceAction375___init;
47751 fra.me.has_broke = 0;
47752 fra.me.REG_size = 1;
47753 fra.me.REG[0] = NIT_NULL;
47754 fra.me.REG[0] = p0;
47755 /* ./parser//parser.nit:17982 */
47756 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
47757 stack_frame_head = fra.me.prev;
47758 init_table[itpos379] = 1;
47759 return;
47760 }
47761 void parser___ReduceAction376___action(val_t p0, val_t p1){
47762 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
47763 val_t REGB0;
47764 val_t tmp;
47765 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47766 fra.me.file = LOCATE_parser;
47767 fra.me.line = 17986;
47768 fra.me.meth = LOCATE_parser___ReduceAction376___action;
47769 fra.me.has_broke = 0;
47770 fra.me.REG_size = 12;
47771 fra.me.REG[0] = NIT_NULL;
47772 fra.me.REG[1] = NIT_NULL;
47773 fra.me.REG[2] = NIT_NULL;
47774 fra.me.REG[3] = NIT_NULL;
47775 fra.me.REG[4] = NIT_NULL;
47776 fra.me.REG[5] = NIT_NULL;
47777 fra.me.REG[6] = NIT_NULL;
47778 fra.me.REG[7] = NIT_NULL;
47779 fra.me.REG[8] = NIT_NULL;
47780 fra.me.REG[9] = NIT_NULL;
47781 fra.me.REG[10] = NIT_NULL;
47782 fra.me.REG[11] = NIT_NULL;
47783 fra.me.REG[0] = p0;
47784 fra.me.REG[1] = p1;
47785 fra.me.REG[0] = NIT_NULL;
47786 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47787 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47788 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47789 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47790 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47791 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47792 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47793 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47794 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47795 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47796 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47797 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47798 REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
47799 /* ./parser//parser.nit:18002 */
47800 if (UNTAG_Bool(REGB0)) {
47801 } else {
47802 fprintf(stderr, "Assert failed");
47803 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18002);
47804 nit_exit(1);
47805 }
47806 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
47807 /* ./parser//parser.nit:18004 */
47808 if (UNTAG_Bool(REGB0)) {
47809 } else {
47810 fprintf(stderr, "Assert failed");
47811 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18004);
47812 nit_exit(1);
47813 }
47814 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
47815 /* ./parser//parser.nit:18006 */
47816 if (UNTAG_Bool(REGB0)) {
47817 } else {
47818 fprintf(stderr, "Assert failed");
47819 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18006);
47820 nit_exit(1);
47821 }
47822 fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[10], fra.me.REG[9]);
47823 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
47824 /* ./parser//parser.nit:18012 */
47825 if (UNTAG_Bool(REGB0)) {
47826 } else {
47827 fprintf(stderr, "Assert failed");
47828 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18012);
47829 nit_exit(1);
47830 }
47831 fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[8]);
47832 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
47833 /* ./parser//parser.nit:18018 */
47834 if (UNTAG_Bool(REGB0)) {
47835 } else {
47836 fprintf(stderr, "Assert failed");
47837 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18018);
47838 nit_exit(1);
47839 }
47840 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
47841 /* ./parser//parser.nit:18020 */
47842 if (UNTAG_Bool(REGB0)) {
47843 } else {
47844 fprintf(stderr, "Assert failed");
47845 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18020);
47846 nit_exit(1);
47847 }
47848 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
47849 /* ./parser//parser.nit:18022 */
47850 if (UNTAG_Bool(REGB0)) {
47851 } else {
47852 fprintf(stderr, "Assert failed");
47853 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18022);
47854 nit_exit(1);
47855 }
47856 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
47857 /* ./parser//parser.nit:18024 */
47858 if (UNTAG_Bool(REGB0)) {
47859 } else {
47860 fprintf(stderr, "Assert failed");
47861 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18024);
47862 nit_exit(1);
47863 }
47864 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
47865 /* ./parser//parser.nit:18026 */
47866 if (UNTAG_Bool(REGB0)) {
47867 } else {
47868 fprintf(stderr, "Assert failed");
47869 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18026);
47870 nit_exit(1);
47871 }
47872 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
47873 /* ./parser//parser.nit:18028 */
47874 if (UNTAG_Bool(REGB0)) {
47875 } else {
47876 fprintf(stderr, "Assert failed");
47877 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18028);
47878 nit_exit(1);
47879 }
47880 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], 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], fra.me.REG[2]);
47881 fra.me.REG[0] = fra.me.REG[2];
47882 REGB0 = TAG_Int(12);
47883 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47884 /* ./parser//parser.nit:18041 */
47885 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
47886 stack_frame_head = fra.me.prev;
47887 return;
47888 }
47889 void parser___ReduceAction376___init(val_t p0, int* init_table){
47890 int itpos380 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction376].i;
47891 struct {struct stack_frame_t me;} fra;
47892 val_t tmp;
47893 if (init_table[itpos380]) return;
47894 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47895 fra.me.file = LOCATE_parser;
47896 fra.me.line = 18043;
47897 fra.me.meth = LOCATE_parser___ReduceAction376___init;
47898 fra.me.has_broke = 0;
47899 fra.me.REG_size = 1;
47900 fra.me.REG[0] = NIT_NULL;
47901 fra.me.REG[0] = p0;
47902 /* ./parser//parser.nit:18043 */
47903 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
47904 stack_frame_head = fra.me.prev;
47905 init_table[itpos380] = 1;
47906 return;
47907 }
47908 void parser___ReduceAction377___action(val_t p0, val_t p1){
47909 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
47910 val_t REGB0;
47911 val_t tmp;
47912 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47913 fra.me.file = LOCATE_parser;
47914 fra.me.line = 18047;
47915 fra.me.meth = LOCATE_parser___ReduceAction377___action;
47916 fra.me.has_broke = 0;
47917 fra.me.REG_size = 13;
47918 fra.me.REG[0] = NIT_NULL;
47919 fra.me.REG[1] = NIT_NULL;
47920 fra.me.REG[2] = NIT_NULL;
47921 fra.me.REG[3] = NIT_NULL;
47922 fra.me.REG[4] = NIT_NULL;
47923 fra.me.REG[5] = NIT_NULL;
47924 fra.me.REG[6] = NIT_NULL;
47925 fra.me.REG[7] = NIT_NULL;
47926 fra.me.REG[8] = NIT_NULL;
47927 fra.me.REG[9] = NIT_NULL;
47928 fra.me.REG[10] = NIT_NULL;
47929 fra.me.REG[11] = NIT_NULL;
47930 fra.me.REG[12] = NIT_NULL;
47931 fra.me.REG[0] = p0;
47932 fra.me.REG[1] = p1;
47933 fra.me.REG[0] = NIT_NULL;
47934 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47935 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47936 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47937 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47938 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47939 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47940 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47941 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47942 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47943 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47944 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47945 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47946 fra.me.REG[12] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47947 REGB0 = TAG_Bool((fra.me.REG[12]==NIT_NULL) || VAL_ISA(fra.me.REG[12], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
47948 /* ./parser//parser.nit:18064 */
47949 if (UNTAG_Bool(REGB0)) {
47950 } else {
47951 fprintf(stderr, "Assert failed");
47952 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18064);
47953 nit_exit(1);
47954 }
47955 REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
47956 /* ./parser//parser.nit:18066 */
47957 if (UNTAG_Bool(REGB0)) {
47958 } else {
47959 fprintf(stderr, "Assert failed");
47960 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18066);
47961 nit_exit(1);
47962 }
47963 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
47964 /* ./parser//parser.nit:18068 */
47965 if (UNTAG_Bool(REGB0)) {
47966 } else {
47967 fprintf(stderr, "Assert failed");
47968 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18068);
47969 nit_exit(1);
47970 }
47971 fra.me.REG[10] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[11], fra.me.REG[10]);
47972 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
47973 /* ./parser//parser.nit:18074 */
47974 if (UNTAG_Bool(REGB0)) {
47975 } else {
47976 fprintf(stderr, "Assert failed");
47977 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18074);
47978 nit_exit(1);
47979 }
47980 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
47981 /* ./parser//parser.nit:18076 */
47982 if (UNTAG_Bool(REGB0)) {
47983 } else {
47984 fprintf(stderr, "Assert failed");
47985 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18076);
47986 nit_exit(1);
47987 }
47988 fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[9], fra.me.REG[8]);
47989 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
47990 /* ./parser//parser.nit:18082 */
47991 if (UNTAG_Bool(REGB0)) {
47992 } else {
47993 fprintf(stderr, "Assert failed");
47994 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18082);
47995 nit_exit(1);
47996 }
47997 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
47998 /* ./parser//parser.nit:18084 */
47999 if (UNTAG_Bool(REGB0)) {
48000 } else {
48001 fprintf(stderr, "Assert failed");
48002 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18084);
48003 nit_exit(1);
48004 }
48005 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
48006 /* ./parser//parser.nit:18086 */
48007 if (UNTAG_Bool(REGB0)) {
48008 } else {
48009 fprintf(stderr, "Assert failed");
48010 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18086);
48011 nit_exit(1);
48012 }
48013 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
48014 /* ./parser//parser.nit:18088 */
48015 if (UNTAG_Bool(REGB0)) {
48016 } else {
48017 fprintf(stderr, "Assert failed");
48018 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18088);
48019 nit_exit(1);
48020 }
48021 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
48022 /* ./parser//parser.nit:18090 */
48023 if (UNTAG_Bool(REGB0)) {
48024 } else {
48025 fprintf(stderr, "Assert failed");
48026 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18090);
48027 nit_exit(1);
48028 }
48029 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
48030 /* ./parser//parser.nit:18092 */
48031 if (UNTAG_Bool(REGB0)) {
48032 } else {
48033 fprintf(stderr, "Assert failed");
48034 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18092);
48035 nit_exit(1);
48036 }
48037 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[12], fra.me.REG[10], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
48038 fra.me.REG[0] = fra.me.REG[2];
48039 REGB0 = TAG_Int(12);
48040 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48041 /* ./parser//parser.nit:18105 */
48042 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
48043 stack_frame_head = fra.me.prev;
48044 return;
48045 }
48046 void parser___ReduceAction377___init(val_t p0, int* init_table){
48047 int itpos381 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction377].i;
48048 struct {struct stack_frame_t me;} fra;
48049 val_t tmp;
48050 if (init_table[itpos381]) return;
48051 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48052 fra.me.file = LOCATE_parser;
48053 fra.me.line = 18107;
48054 fra.me.meth = LOCATE_parser___ReduceAction377___init;
48055 fra.me.has_broke = 0;
48056 fra.me.REG_size = 1;
48057 fra.me.REG[0] = NIT_NULL;
48058 fra.me.REG[0] = p0;
48059 /* ./parser//parser.nit:18107 */
48060 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
48061 stack_frame_head = fra.me.prev;
48062 init_table[itpos381] = 1;
48063 return;
48064 }
48065 void parser___ReduceAction378___action(val_t p0, val_t p1){
48066 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
48067 val_t REGB0;
48068 val_t tmp;
48069 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48070 fra.me.file = LOCATE_parser;
48071 fra.me.line = 18111;
48072 fra.me.meth = LOCATE_parser___ReduceAction378___action;
48073 fra.me.has_broke = 0;
48074 fra.me.REG_size = 11;
48075 fra.me.REG[0] = NIT_NULL;
48076 fra.me.REG[1] = NIT_NULL;
48077 fra.me.REG[2] = NIT_NULL;
48078 fra.me.REG[3] = NIT_NULL;
48079 fra.me.REG[4] = NIT_NULL;
48080 fra.me.REG[5] = NIT_NULL;
48081 fra.me.REG[6] = NIT_NULL;
48082 fra.me.REG[7] = NIT_NULL;
48083 fra.me.REG[8] = NIT_NULL;
48084 fra.me.REG[9] = NIT_NULL;
48085 fra.me.REG[10] = NIT_NULL;
48086 fra.me.REG[0] = p0;
48087 fra.me.REG[1] = p1;
48088 fra.me.REG[0] = NIT_NULL;
48089 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48090 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48091 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48092 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48093 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48094 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48095 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48096 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48097 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48098 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48099 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48100 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
48101 /* ./parser//parser.nit:18126 */
48102 if (UNTAG_Bool(REGB0)) {
48103 } else {
48104 fprintf(stderr, "Assert failed");
48105 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18126);
48106 nit_exit(1);
48107 }
48108 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
48109 /* ./parser//parser.nit:18128 */
48110 if (UNTAG_Bool(REGB0)) {
48111 } else {
48112 fprintf(stderr, "Assert failed");
48113 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18128);
48114 nit_exit(1);
48115 }
48116 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/;
48117 /* ./parser//parser.nit:18130 */
48118 if (UNTAG_Bool(REGB0)) {
48119 } else {
48120 fprintf(stderr, "Assert failed");
48121 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18130);
48122 nit_exit(1);
48123 }
48124 fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]);
48125 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
48126 /* ./parser//parser.nit:18136 */
48127 if (UNTAG_Bool(REGB0)) {
48128 } else {
48129 fprintf(stderr, "Assert failed");
48130 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18136);
48131 nit_exit(1);
48132 }
48133 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
48134 /* ./parser//parser.nit:18138 */
48135 if (UNTAG_Bool(REGB0)) {
48136 } else {
48137 fprintf(stderr, "Assert failed");
48138 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18138);
48139 nit_exit(1);
48140 }
48141 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
48142 /* ./parser//parser.nit:18140 */
48143 if (UNTAG_Bool(REGB0)) {
48144 } else {
48145 fprintf(stderr, "Assert failed");
48146 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18140);
48147 nit_exit(1);
48148 }
48149 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
48150 /* ./parser//parser.nit:18142 */
48151 if (UNTAG_Bool(REGB0)) {
48152 } else {
48153 fprintf(stderr, "Assert failed");
48154 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18142);
48155 nit_exit(1);
48156 }
48157 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
48158 /* ./parser//parser.nit:18144 */
48159 if (UNTAG_Bool(REGB0)) {
48160 } else {
48161 fprintf(stderr, "Assert failed");
48162 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18144);
48163 nit_exit(1);
48164 }
48165 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
48166 /* ./parser//parser.nit:18146 */
48167 if (UNTAG_Bool(REGB0)) {
48168 } else {
48169 fprintf(stderr, "Assert failed");
48170 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18146);
48171 nit_exit(1);
48172 }
48173 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], 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], fra.me.REG[2]);
48174 fra.me.REG[0] = fra.me.REG[2];
48175 REGB0 = TAG_Int(12);
48176 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48177 /* ./parser//parser.nit:18159 */
48178 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
48179 stack_frame_head = fra.me.prev;
48180 return;
48181 }
48182 void parser___ReduceAction378___init(val_t p0, int* init_table){
48183 int itpos382 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction378].i;
48184 struct {struct stack_frame_t me;} fra;
48185 val_t tmp;
48186 if (init_table[itpos382]) return;
48187 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48188 fra.me.file = LOCATE_parser;
48189 fra.me.line = 18161;
48190 fra.me.meth = LOCATE_parser___ReduceAction378___init;
48191 fra.me.has_broke = 0;
48192 fra.me.REG_size = 1;
48193 fra.me.REG[0] = NIT_NULL;
48194 fra.me.REG[0] = p0;
48195 /* ./parser//parser.nit:18161 */
48196 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
48197 stack_frame_head = fra.me.prev;
48198 init_table[itpos382] = 1;
48199 return;
48200 }
48201 void parser___ReduceAction379___action(val_t p0, val_t p1){
48202 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
48203 val_t REGB0;
48204 val_t tmp;
48205 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48206 fra.me.file = LOCATE_parser;
48207 fra.me.line = 18165;
48208 fra.me.meth = LOCATE_parser___ReduceAction379___action;
48209 fra.me.has_broke = 0;
48210 fra.me.REG_size = 10;
48211 fra.me.REG[0] = NIT_NULL;
48212 fra.me.REG[1] = NIT_NULL;
48213 fra.me.REG[2] = NIT_NULL;
48214 fra.me.REG[3] = NIT_NULL;
48215 fra.me.REG[4] = NIT_NULL;
48216 fra.me.REG[5] = NIT_NULL;
48217 fra.me.REG[6] = NIT_NULL;
48218 fra.me.REG[7] = NIT_NULL;
48219 fra.me.REG[8] = NIT_NULL;
48220 fra.me.REG[9] = NIT_NULL;
48221 fra.me.REG[0] = p0;
48222 fra.me.REG[1] = p1;
48223 fra.me.REG[0] = NIT_NULL;
48224 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48225 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48226 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48227 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48228 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48229 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48230 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48231 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48232 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48233 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48234 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
48235 /* ./parser//parser.nit:18179 */
48236 if (UNTAG_Bool(REGB0)) {
48237 } else {
48238 fprintf(stderr, "Assert failed");
48239 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18179);
48240 nit_exit(1);
48241 }
48242 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
48243 /* ./parser//parser.nit:18181 */
48244 if (UNTAG_Bool(REGB0)) {
48245 } else {
48246 fprintf(stderr, "Assert failed");
48247 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18181);
48248 nit_exit(1);
48249 }
48250 fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[8]);
48251 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
48252 /* ./parser//parser.nit:18187 */
48253 if (UNTAG_Bool(REGB0)) {
48254 } else {
48255 fprintf(stderr, "Assert failed");
48256 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18187);
48257 nit_exit(1);
48258 }
48259 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
48260 /* ./parser//parser.nit:18189 */
48261 if (UNTAG_Bool(REGB0)) {
48262 } else {
48263 fprintf(stderr, "Assert failed");
48264 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18189);
48265 nit_exit(1);
48266 }
48267 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
48268 /* ./parser//parser.nit:18191 */
48269 if (UNTAG_Bool(REGB0)) {
48270 } else {
48271 fprintf(stderr, "Assert failed");
48272 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18191);
48273 nit_exit(1);
48274 }
48275 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
48276 /* ./parser//parser.nit:18193 */
48277 if (UNTAG_Bool(REGB0)) {
48278 } else {
48279 fprintf(stderr, "Assert failed");
48280 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18193);
48281 nit_exit(1);
48282 }
48283 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
48284 /* ./parser//parser.nit:18195 */
48285 if (UNTAG_Bool(REGB0)) {
48286 } else {
48287 fprintf(stderr, "Assert failed");
48288 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18195);
48289 nit_exit(1);
48290 }
48291 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
48292 /* ./parser//parser.nit:18197 */
48293 if (UNTAG_Bool(REGB0)) {
48294 } else {
48295 fprintf(stderr, "Assert failed");
48296 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18197);
48297 nit_exit(1);
48298 }
48299 fra.me.REG[2] = NEW_AAttrPropdef_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], fra.me.REG[3], fra.me.REG[2]);
48300 fra.me.REG[0] = fra.me.REG[2];
48301 REGB0 = TAG_Int(12);
48302 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48303 /* ./parser//parser.nit:18210 */
48304 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
48305 stack_frame_head = fra.me.prev;
48306 return;
48307 }
48308 void parser___ReduceAction379___init(val_t p0, int* init_table){
48309 int itpos383 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction379].i;
48310 struct {struct stack_frame_t me;} fra;
48311 val_t tmp;
48312 if (init_table[itpos383]) return;
48313 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48314 fra.me.file = LOCATE_parser;
48315 fra.me.line = 18212;
48316 fra.me.meth = LOCATE_parser___ReduceAction379___init;
48317 fra.me.has_broke = 0;
48318 fra.me.REG_size = 1;
48319 fra.me.REG[0] = NIT_NULL;
48320 fra.me.REG[0] = p0;
48321 /* ./parser//parser.nit:18212 */
48322 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
48323 stack_frame_head = fra.me.prev;
48324 init_table[itpos383] = 1;
48325 return;
48326 }
48327 void parser___ReduceAction380___action(val_t p0, val_t p1){
48328 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
48329 val_t REGB0;
48330 val_t tmp;
48331 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48332 fra.me.file = LOCATE_parser;
48333 fra.me.line = 18216;
48334 fra.me.meth = LOCATE_parser___ReduceAction380___action;
48335 fra.me.has_broke = 0;
48336 fra.me.REG_size = 11;
48337 fra.me.REG[0] = NIT_NULL;
48338 fra.me.REG[1] = NIT_NULL;
48339 fra.me.REG[2] = NIT_NULL;
48340 fra.me.REG[3] = NIT_NULL;
48341 fra.me.REG[4] = NIT_NULL;
48342 fra.me.REG[5] = NIT_NULL;
48343 fra.me.REG[6] = NIT_NULL;
48344 fra.me.REG[7] = NIT_NULL;
48345 fra.me.REG[8] = NIT_NULL;
48346 fra.me.REG[9] = NIT_NULL;
48347 fra.me.REG[10] = NIT_NULL;
48348 fra.me.REG[0] = p0;
48349 fra.me.REG[1] = p1;
48350 fra.me.REG[0] = NIT_NULL;
48351 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48352 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48353 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48354 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48355 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48356 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48357 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48358 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48359 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48360 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48361 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48362 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
48363 /* ./parser//parser.nit:18231 */
48364 if (UNTAG_Bool(REGB0)) {
48365 } else {
48366 fprintf(stderr, "Assert failed");
48367 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18231);
48368 nit_exit(1);
48369 }
48370 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
48371 /* ./parser//parser.nit:18233 */
48372 if (UNTAG_Bool(REGB0)) {
48373 } else {
48374 fprintf(stderr, "Assert failed");
48375 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18233);
48376 nit_exit(1);
48377 }
48378 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/;
48379 /* ./parser//parser.nit:18235 */
48380 if (UNTAG_Bool(REGB0)) {
48381 } else {
48382 fprintf(stderr, "Assert failed");
48383 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18235);
48384 nit_exit(1);
48385 }
48386 fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[9], fra.me.REG[8]);
48387 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
48388 /* ./parser//parser.nit:18241 */
48389 if (UNTAG_Bool(REGB0)) {
48390 } else {
48391 fprintf(stderr, "Assert failed");
48392 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18241);
48393 nit_exit(1);
48394 }
48395 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
48396 /* ./parser//parser.nit:18243 */
48397 if (UNTAG_Bool(REGB0)) {
48398 } else {
48399 fprintf(stderr, "Assert failed");
48400 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18243);
48401 nit_exit(1);
48402 }
48403 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
48404 /* ./parser//parser.nit:18245 */
48405 if (UNTAG_Bool(REGB0)) {
48406 } else {
48407 fprintf(stderr, "Assert failed");
48408 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18245);
48409 nit_exit(1);
48410 }
48411 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
48412 /* ./parser//parser.nit:18247 */
48413 if (UNTAG_Bool(REGB0)) {
48414 } else {
48415 fprintf(stderr, "Assert failed");
48416 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18247);
48417 nit_exit(1);
48418 }
48419 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
48420 /* ./parser//parser.nit:18249 */
48421 if (UNTAG_Bool(REGB0)) {
48422 } else {
48423 fprintf(stderr, "Assert failed");
48424 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18249);
48425 nit_exit(1);
48426 }
48427 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
48428 /* ./parser//parser.nit:18251 */
48429 if (UNTAG_Bool(REGB0)) {
48430 } else {
48431 fprintf(stderr, "Assert failed");
48432 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18251);
48433 nit_exit(1);
48434 }
48435 fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], 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], fra.me.REG[2]);
48436 fra.me.REG[0] = fra.me.REG[2];
48437 REGB0 = TAG_Int(12);
48438 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48439 /* ./parser//parser.nit:18264 */
48440 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
48441 stack_frame_head = fra.me.prev;
48442 return;
48443 }
48444 void parser___ReduceAction380___init(val_t p0, int* init_table){
48445 int itpos384 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction380].i;
48446 struct {struct stack_frame_t me;} fra;
48447 val_t tmp;
48448 if (init_table[itpos384]) return;
48449 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48450 fra.me.file = LOCATE_parser;
48451 fra.me.line = 18266;
48452 fra.me.meth = LOCATE_parser___ReduceAction380___init;
48453 fra.me.has_broke = 0;
48454 fra.me.REG_size = 1;
48455 fra.me.REG[0] = NIT_NULL;
48456 fra.me.REG[0] = p0;
48457 /* ./parser//parser.nit:18266 */
48458 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
48459 stack_frame_head = fra.me.prev;
48460 init_table[itpos384] = 1;
48461 return;
48462 }
48463 void parser___ReduceAction381___action(val_t p0, val_t p1){
48464 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
48465 val_t REGB0;
48466 val_t tmp;
48467 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48468 fra.me.file = LOCATE_parser;
48469 fra.me.line = 18270;
48470 fra.me.meth = LOCATE_parser___ReduceAction381___action;
48471 fra.me.has_broke = 0;
48472 fra.me.REG_size = 9;
48473 fra.me.REG[0] = NIT_NULL;
48474 fra.me.REG[1] = NIT_NULL;
48475 fra.me.REG[2] = NIT_NULL;
48476 fra.me.REG[3] = NIT_NULL;
48477 fra.me.REG[4] = NIT_NULL;
48478 fra.me.REG[5] = NIT_NULL;
48479 fra.me.REG[6] = NIT_NULL;
48480 fra.me.REG[7] = NIT_NULL;
48481 fra.me.REG[8] = NIT_NULL;
48482 fra.me.REG[0] = p0;
48483 fra.me.REG[1] = p1;
48484 fra.me.REG[0] = NIT_NULL;
48485 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48486 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48487 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48488 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48489 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48490 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48491 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48492 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48493 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48494 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
48495 /* ./parser//parser.nit:18283 */
48496 if (UNTAG_Bool(REGB0)) {
48497 } else {
48498 fprintf(stderr, "Assert failed");
48499 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18283);
48500 nit_exit(1);
48501 }
48502 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
48503 /* ./parser//parser.nit:18285 */
48504 if (UNTAG_Bool(REGB0)) {
48505 } else {
48506 fprintf(stderr, "Assert failed");
48507 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18285);
48508 nit_exit(1);
48509 }
48510 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
48511 /* ./parser//parser.nit:18287 */
48512 if (UNTAG_Bool(REGB0)) {
48513 } else {
48514 fprintf(stderr, "Assert failed");
48515 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18287);
48516 nit_exit(1);
48517 }
48518 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
48519 /* ./parser//parser.nit:18289 */
48520 if (UNTAG_Bool(REGB0)) {
48521 } else {
48522 fprintf(stderr, "Assert failed");
48523 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18289);
48524 nit_exit(1);
48525 }
48526 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
48527 /* ./parser//parser.nit:18291 */
48528 if (UNTAG_Bool(REGB0)) {
48529 } else {
48530 fprintf(stderr, "Assert failed");
48531 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18291);
48532 nit_exit(1);
48533 }
48534 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
48535 /* ./parser//parser.nit:18293 */
48536 if (UNTAG_Bool(REGB0)) {
48537 } else {
48538 fprintf(stderr, "Assert failed");
48539 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18293);
48540 nit_exit(1);
48541 }
48542 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
48543 /* ./parser//parser.nit:18295 */
48544 if (UNTAG_Bool(REGB0)) {
48545 } else {
48546 fprintf(stderr, "Assert failed");
48547 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18295);
48548 nit_exit(1);
48549 }
48550 fra.me.REG[2] = NEW_AAttrPropdef_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], fra.me.REG[3], fra.me.REG[2]);
48551 fra.me.REG[0] = fra.me.REG[2];
48552 REGB0 = TAG_Int(12);
48553 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48554 /* ./parser//parser.nit:18308 */
48555 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
48556 stack_frame_head = fra.me.prev;
48557 return;
48558 }
48559 void parser___ReduceAction381___init(val_t p0, int* init_table){
48560 int itpos385 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction381].i;
48561 struct {struct stack_frame_t me;} fra;
48562 val_t tmp;
48563 if (init_table[itpos385]) return;
48564 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48565 fra.me.file = LOCATE_parser;
48566 fra.me.line = 18310;
48567 fra.me.meth = LOCATE_parser___ReduceAction381___init;
48568 fra.me.has_broke = 0;
48569 fra.me.REG_size = 1;
48570 fra.me.REG[0] = NIT_NULL;
48571 fra.me.REG[0] = p0;
48572 /* ./parser//parser.nit:18310 */
48573 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
48574 stack_frame_head = fra.me.prev;
48575 init_table[itpos385] = 1;
48576 return;
48577 }
48578 void parser___ReduceAction382___action(val_t p0, val_t p1){
48579 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
48580 val_t REGB0;
48581 val_t tmp;
48582 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48583 fra.me.file = LOCATE_parser;
48584 fra.me.line = 18314;
48585 fra.me.meth = LOCATE_parser___ReduceAction382___action;
48586 fra.me.has_broke = 0;
48587 fra.me.REG_size = 7;
48588 fra.me.REG[0] = NIT_NULL;
48589 fra.me.REG[1] = NIT_NULL;
48590 fra.me.REG[2] = NIT_NULL;
48591 fra.me.REG[3] = NIT_NULL;
48592 fra.me.REG[4] = NIT_NULL;
48593 fra.me.REG[5] = NIT_NULL;
48594 fra.me.REG[6] = NIT_NULL;
48595 fra.me.REG[0] = p0;
48596 fra.me.REG[1] = p1;
48597 fra.me.REG[0] = NIT_NULL;
48598 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48599 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48600 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48601 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48602 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48603 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48604 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
48605 /* ./parser//parser.nit:18324 */
48606 if (UNTAG_Bool(REGB0)) {
48607 } else {
48608 fprintf(stderr, "Assert failed");
48609 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18324);
48610 nit_exit(1);
48611 }
48612 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
48613 /* ./parser//parser.nit:18326 */
48614 if (UNTAG_Bool(REGB0)) {
48615 } else {
48616 fprintf(stderr, "Assert failed");
48617 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18326);
48618 nit_exit(1);
48619 }
48620 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
48621 /* ./parser//parser.nit:18328 */
48622 if (UNTAG_Bool(REGB0)) {
48623 } else {
48624 fprintf(stderr, "Assert failed");
48625 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18328);
48626 nit_exit(1);
48627 }
48628 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
48629 /* ./parser//parser.nit:18330 */
48630 if (UNTAG_Bool(REGB0)) {
48631 } else {
48632 fprintf(stderr, "Assert failed");
48633 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18330);
48634 nit_exit(1);
48635 }
48636 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
48637 /* ./parser//parser.nit:18332 */
48638 if (UNTAG_Bool(REGB0)) {
48639 } else {
48640 fprintf(stderr, "Assert failed");
48641 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18332);
48642 nit_exit(1);
48643 }
48644 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]);
48645 fra.me.REG[0] = fra.me.REG[2];
48646 REGB0 = TAG_Int(12);
48647 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48648 /* ./parser//parser.nit:18343 */
48649 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
48650 stack_frame_head = fra.me.prev;
48651 return;
48652 }
48653 void parser___ReduceAction382___init(val_t p0, int* init_table){
48654 int itpos386 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction382].i;
48655 struct {struct stack_frame_t me;} fra;
48656 val_t tmp;
48657 if (init_table[itpos386]) return;
48658 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48659 fra.me.file = LOCATE_parser;
48660 fra.me.line = 18345;
48661 fra.me.meth = LOCATE_parser___ReduceAction382___init;
48662 fra.me.has_broke = 0;
48663 fra.me.REG_size = 1;
48664 fra.me.REG[0] = NIT_NULL;
48665 fra.me.REG[0] = p0;
48666 /* ./parser//parser.nit:18345 */
48667 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
48668 stack_frame_head = fra.me.prev;
48669 init_table[itpos386] = 1;
48670 return;
48671 }
48672 void parser___ReduceAction383___action(val_t p0, val_t p1){
48673 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
48674 val_t REGB0;
48675 val_t tmp;
48676 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48677 fra.me.file = LOCATE_parser;
48678 fra.me.line = 18349;
48679 fra.me.meth = LOCATE_parser___ReduceAction383___action;
48680 fra.me.has_broke = 0;
48681 fra.me.REG_size = 8;
48682 fra.me.REG[0] = NIT_NULL;
48683 fra.me.REG[1] = NIT_NULL;
48684 fra.me.REG[2] = NIT_NULL;
48685 fra.me.REG[3] = NIT_NULL;
48686 fra.me.REG[4] = NIT_NULL;
48687 fra.me.REG[5] = NIT_NULL;
48688 fra.me.REG[6] = NIT_NULL;
48689 fra.me.REG[7] = NIT_NULL;
48690 fra.me.REG[0] = p0;
48691 fra.me.REG[1] = p1;
48692 fra.me.REG[0] = NIT_NULL;
48693 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48694 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48695 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48696 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48697 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48698 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48699 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48700 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
48701 /* ./parser//parser.nit:18360 */
48702 if (UNTAG_Bool(REGB0)) {
48703 } else {
48704 fprintf(stderr, "Assert failed");
48705 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18360);
48706 nit_exit(1);
48707 }
48708 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
48709 /* ./parser//parser.nit:18362 */
48710 if (UNTAG_Bool(REGB0)) {
48711 } else {
48712 fprintf(stderr, "Assert failed");
48713 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18362);
48714 nit_exit(1);
48715 }
48716 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
48717 /* ./parser//parser.nit:18364 */
48718 if (UNTAG_Bool(REGB0)) {
48719 } else {
48720 fprintf(stderr, "Assert failed");
48721 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18364);
48722 nit_exit(1);
48723 }
48724 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
48725 /* ./parser//parser.nit:18366 */
48726 if (UNTAG_Bool(REGB0)) {
48727 } else {
48728 fprintf(stderr, "Assert failed");
48729 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18366);
48730 nit_exit(1);
48731 }
48732 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
48733 /* ./parser//parser.nit:18368 */
48734 if (UNTAG_Bool(REGB0)) {
48735 } else {
48736 fprintf(stderr, "Assert failed");
48737 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18368);
48738 nit_exit(1);
48739 }
48740 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
48741 /* ./parser//parser.nit:18370 */
48742 if (UNTAG_Bool(REGB0)) {
48743 } else {
48744 fprintf(stderr, "Assert failed");
48745 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18370);
48746 nit_exit(1);
48747 }
48748 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]);
48749 fra.me.REG[0] = fra.me.REG[2];
48750 REGB0 = TAG_Int(12);
48751 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48752 /* ./parser//parser.nit:18381 */
48753 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
48754 stack_frame_head = fra.me.prev;
48755 return;
48756 }
48757 void parser___ReduceAction383___init(val_t p0, int* init_table){
48758 int itpos387 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction383].i;
48759 struct {struct stack_frame_t me;} fra;
48760 val_t tmp;
48761 if (init_table[itpos387]) return;
48762 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48763 fra.me.file = LOCATE_parser;
48764 fra.me.line = 18383;
48765 fra.me.meth = LOCATE_parser___ReduceAction383___init;
48766 fra.me.has_broke = 0;
48767 fra.me.REG_size = 1;
48768 fra.me.REG[0] = NIT_NULL;
48769 fra.me.REG[0] = p0;
48770 /* ./parser//parser.nit:18383 */
48771 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
48772 stack_frame_head = fra.me.prev;
48773 init_table[itpos387] = 1;
48774 return;
48775 }
48776 void parser___ReduceAction384___action(val_t p0, val_t p1){
48777 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
48778 val_t REGB0;
48779 val_t tmp;
48780 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48781 fra.me.file = LOCATE_parser;
48782 fra.me.line = 18387;
48783 fra.me.meth = LOCATE_parser___ReduceAction384___action;
48784 fra.me.has_broke = 0;
48785 fra.me.REG_size = 8;
48786 fra.me.REG[0] = NIT_NULL;
48787 fra.me.REG[1] = NIT_NULL;
48788 fra.me.REG[2] = NIT_NULL;
48789 fra.me.REG[3] = NIT_NULL;
48790 fra.me.REG[4] = NIT_NULL;
48791 fra.me.REG[5] = NIT_NULL;
48792 fra.me.REG[6] = NIT_NULL;
48793 fra.me.REG[7] = NIT_NULL;
48794 fra.me.REG[0] = p0;
48795 fra.me.REG[1] = p1;
48796 fra.me.REG[0] = NIT_NULL;
48797 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48798 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48799 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48800 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48801 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48802 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48803 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48804 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
48805 /* ./parser//parser.nit:18398 */
48806 if (UNTAG_Bool(REGB0)) {
48807 } else {
48808 fprintf(stderr, "Assert failed");
48809 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18398);
48810 nit_exit(1);
48811 }
48812 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
48813 /* ./parser//parser.nit:18400 */
48814 if (UNTAG_Bool(REGB0)) {
48815 } else {
48816 fprintf(stderr, "Assert failed");
48817 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18400);
48818 nit_exit(1);
48819 }
48820 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
48821 /* ./parser//parser.nit:18402 */
48822 if (UNTAG_Bool(REGB0)) {
48823 } else {
48824 fprintf(stderr, "Assert failed");
48825 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18402);
48826 nit_exit(1);
48827 }
48828 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
48829 /* ./parser//parser.nit:18404 */
48830 if (UNTAG_Bool(REGB0)) {
48831 } else {
48832 fprintf(stderr, "Assert failed");
48833 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18404);
48834 nit_exit(1);
48835 }
48836 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
48837 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
48838 /* ./parser//parser.nit:18409 */
48839 if (UNTAG_Bool(REGB0)) {
48840 } else {
48841 fprintf(stderr, "Assert failed");
48842 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18409);
48843 nit_exit(1);
48844 }
48845 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
48846 /* ./parser//parser.nit:18411 */
48847 if (UNTAG_Bool(REGB0)) {
48848 } else {
48849 fprintf(stderr, "Assert failed");
48850 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18411);
48851 nit_exit(1);
48852 }
48853 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
48854 fra.me.REG[0] = fra.me.REG[2];
48855 REGB0 = TAG_Int(12);
48856 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48857 /* ./parser//parser.nit:18422 */
48858 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
48859 stack_frame_head = fra.me.prev;
48860 return;
48861 }
48862 void parser___ReduceAction384___init(val_t p0, int* init_table){
48863 int itpos388 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction384].i;
48864 struct {struct stack_frame_t me;} fra;
48865 val_t tmp;
48866 if (init_table[itpos388]) return;
48867 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48868 fra.me.file = LOCATE_parser;
48869 fra.me.line = 18424;
48870 fra.me.meth = LOCATE_parser___ReduceAction384___init;
48871 fra.me.has_broke = 0;
48872 fra.me.REG_size = 1;
48873 fra.me.REG[0] = NIT_NULL;
48874 fra.me.REG[0] = p0;
48875 /* ./parser//parser.nit:18424 */
48876 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
48877 stack_frame_head = fra.me.prev;
48878 init_table[itpos388] = 1;
48879 return;
48880 }
48881 void parser___ReduceAction385___action(val_t p0, val_t p1){
48882 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
48883 val_t REGB0;
48884 val_t tmp;
48885 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48886 fra.me.file = LOCATE_parser;
48887 fra.me.line = 18428;
48888 fra.me.meth = LOCATE_parser___ReduceAction385___action;
48889 fra.me.has_broke = 0;
48890 fra.me.REG_size = 8;
48891 fra.me.REG[0] = NIT_NULL;
48892 fra.me.REG[1] = NIT_NULL;
48893 fra.me.REG[2] = NIT_NULL;
48894 fra.me.REG[3] = NIT_NULL;
48895 fra.me.REG[4] = NIT_NULL;
48896 fra.me.REG[5] = NIT_NULL;
48897 fra.me.REG[6] = NIT_NULL;
48898 fra.me.REG[7] = NIT_NULL;
48899 fra.me.REG[0] = p0;
48900 fra.me.REG[1] = p1;
48901 fra.me.REG[0] = NIT_NULL;
48902 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48903 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48904 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48905 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48906 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48907 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48908 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
48909 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
48910 /* ./parser//parser.nit:18439 */
48911 if (UNTAG_Bool(REGB0)) {
48912 } else {
48913 fprintf(stderr, "Assert failed");
48914 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18439);
48915 nit_exit(1);
48916 }
48917 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
48918 /* ./parser//parser.nit:18441 */
48919 if (UNTAG_Bool(REGB0)) {
48920 } else {
48921 fprintf(stderr, "Assert failed");
48922 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18441);
48923 nit_exit(1);
48924 }
48925 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
48926 /* ./parser//parser.nit:18443 */
48927 if (UNTAG_Bool(REGB0)) {
48928 } else {
48929 fprintf(stderr, "Assert failed");
48930 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18443);
48931 nit_exit(1);
48932 }
48933 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
48934 /* ./parser//parser.nit:18445 */
48935 if (UNTAG_Bool(REGB0)) {
48936 } else {
48937 fprintf(stderr, "Assert failed");
48938 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18445);
48939 nit_exit(1);
48940 }
48941 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
48942 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
48943 /* ./parser//parser.nit:18450 */
48944 if (UNTAG_Bool(REGB0)) {
48945 } else {
48946 fprintf(stderr, "Assert failed");
48947 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18450);
48948 nit_exit(1);
48949 }
48950 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
48951 /* ./parser//parser.nit:18452 */
48952 if (UNTAG_Bool(REGB0)) {
48953 } else {
48954 fprintf(stderr, "Assert failed");
48955 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18452);
48956 nit_exit(1);
48957 }
48958 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
48959 fra.me.REG[0] = fra.me.REG[2];
48960 REGB0 = TAG_Int(12);
48961 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
48962 /* ./parser//parser.nit:18463 */
48963 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
48964 stack_frame_head = fra.me.prev;
48965 return;
48966 }
48967 void parser___ReduceAction385___init(val_t p0, int* init_table){
48968 int itpos389 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction385].i;
48969 struct {struct stack_frame_t me;} fra;
48970 val_t tmp;
48971 if (init_table[itpos389]) return;
48972 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48973 fra.me.file = LOCATE_parser;
48974 fra.me.line = 18465;
48975 fra.me.meth = LOCATE_parser___ReduceAction385___init;
48976 fra.me.has_broke = 0;
48977 fra.me.REG_size = 1;
48978 fra.me.REG[0] = NIT_NULL;
48979 fra.me.REG[0] = p0;
48980 /* ./parser//parser.nit:18465 */
48981 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
48982 stack_frame_head = fra.me.prev;
48983 init_table[itpos389] = 1;
48984 return;
48985 }
48986 void parser___ReduceAction386___action(val_t p0, val_t p1){
48987 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
48988 val_t REGB0;
48989 val_t tmp;
48990 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48991 fra.me.file = LOCATE_parser;
48992 fra.me.line = 18469;
48993 fra.me.meth = LOCATE_parser___ReduceAction386___action;
48994 fra.me.has_broke = 0;
48995 fra.me.REG_size = 8;
48996 fra.me.REG[0] = NIT_NULL;
48997 fra.me.REG[1] = NIT_NULL;
48998 fra.me.REG[2] = NIT_NULL;
48999 fra.me.REG[3] = NIT_NULL;
49000 fra.me.REG[4] = NIT_NULL;
49001 fra.me.REG[5] = NIT_NULL;
49002 fra.me.REG[6] = NIT_NULL;
49003 fra.me.REG[7] = NIT_NULL;
49004 fra.me.REG[0] = p0;
49005 fra.me.REG[1] = p1;
49006 fra.me.REG[0] = NIT_NULL;
49007 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49008 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49009 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49010 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49011 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49012 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49013 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49014 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
49015 /* ./parser//parser.nit:18480 */
49016 if (UNTAG_Bool(REGB0)) {
49017 } else {
49018 fprintf(stderr, "Assert failed");
49019 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18480);
49020 nit_exit(1);
49021 }
49022 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
49023 /* ./parser//parser.nit:18482 */
49024 if (UNTAG_Bool(REGB0)) {
49025 } else {
49026 fprintf(stderr, "Assert failed");
49027 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18482);
49028 nit_exit(1);
49029 }
49030 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
49031 /* ./parser//parser.nit:18484 */
49032 if (UNTAG_Bool(REGB0)) {
49033 } else {
49034 fprintf(stderr, "Assert failed");
49035 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18484);
49036 nit_exit(1);
49037 }
49038 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
49039 /* ./parser//parser.nit:18486 */
49040 if (UNTAG_Bool(REGB0)) {
49041 } else {
49042 fprintf(stderr, "Assert failed");
49043 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18486);
49044 nit_exit(1);
49045 }
49046 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
49047 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
49048 /* ./parser//parser.nit:18491 */
49049 if (UNTAG_Bool(REGB0)) {
49050 } else {
49051 fprintf(stderr, "Assert failed");
49052 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18491);
49053 nit_exit(1);
49054 }
49055 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
49056 /* ./parser//parser.nit:18493 */
49057 if (UNTAG_Bool(REGB0)) {
49058 } else {
49059 fprintf(stderr, "Assert failed");
49060 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18493);
49061 nit_exit(1);
49062 }
49063 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
49064 fra.me.REG[0] = fra.me.REG[2];
49065 REGB0 = TAG_Int(12);
49066 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49067 /* ./parser//parser.nit:18504 */
49068 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
49069 stack_frame_head = fra.me.prev;
49070 return;
49071 }
49072 void parser___ReduceAction386___init(val_t p0, int* init_table){
49073 int itpos390 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction386].i;
49074 struct {struct stack_frame_t me;} fra;
49075 val_t tmp;
49076 if (init_table[itpos390]) return;
49077 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49078 fra.me.file = LOCATE_parser;
49079 fra.me.line = 18506;
49080 fra.me.meth = LOCATE_parser___ReduceAction386___init;
49081 fra.me.has_broke = 0;
49082 fra.me.REG_size = 1;
49083 fra.me.REG[0] = NIT_NULL;
49084 fra.me.REG[0] = p0;
49085 /* ./parser//parser.nit:18506 */
49086 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
49087 stack_frame_head = fra.me.prev;
49088 init_table[itpos390] = 1;
49089 return;
49090 }
49091 void parser___ReduceAction387___action(val_t p0, val_t p1){
49092 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
49093 val_t REGB0;
49094 val_t tmp;
49095 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49096 fra.me.file = LOCATE_parser;
49097 fra.me.line = 18510;
49098 fra.me.meth = LOCATE_parser___ReduceAction387___action;
49099 fra.me.has_broke = 0;
49100 fra.me.REG_size = 8;
49101 fra.me.REG[0] = NIT_NULL;
49102 fra.me.REG[1] = NIT_NULL;
49103 fra.me.REG[2] = NIT_NULL;
49104 fra.me.REG[3] = NIT_NULL;
49105 fra.me.REG[4] = NIT_NULL;
49106 fra.me.REG[5] = NIT_NULL;
49107 fra.me.REG[6] = NIT_NULL;
49108 fra.me.REG[7] = NIT_NULL;
49109 fra.me.REG[0] = p0;
49110 fra.me.REG[1] = p1;
49111 fra.me.REG[0] = NIT_NULL;
49112 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49113 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49114 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49115 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49116 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49117 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49118 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49119 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
49120 /* ./parser//parser.nit:18521 */
49121 if (UNTAG_Bool(REGB0)) {
49122 } else {
49123 fprintf(stderr, "Assert failed");
49124 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18521);
49125 nit_exit(1);
49126 }
49127 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
49128 /* ./parser//parser.nit:18523 */
49129 if (UNTAG_Bool(REGB0)) {
49130 } else {
49131 fprintf(stderr, "Assert failed");
49132 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18523);
49133 nit_exit(1);
49134 }
49135 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
49136 /* ./parser//parser.nit:18525 */
49137 if (UNTAG_Bool(REGB0)) {
49138 } else {
49139 fprintf(stderr, "Assert failed");
49140 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18525);
49141 nit_exit(1);
49142 }
49143 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
49144 /* ./parser//parser.nit:18527 */
49145 if (UNTAG_Bool(REGB0)) {
49146 } else {
49147 fprintf(stderr, "Assert failed");
49148 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18527);
49149 nit_exit(1);
49150 }
49151 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
49152 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
49153 /* ./parser//parser.nit:18532 */
49154 if (UNTAG_Bool(REGB0)) {
49155 } else {
49156 fprintf(stderr, "Assert failed");
49157 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18532);
49158 nit_exit(1);
49159 }
49160 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
49161 /* ./parser//parser.nit:18534 */
49162 if (UNTAG_Bool(REGB0)) {
49163 } else {
49164 fprintf(stderr, "Assert failed");
49165 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18534);
49166 nit_exit(1);
49167 }
49168 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
49169 fra.me.REG[0] = fra.me.REG[2];
49170 REGB0 = TAG_Int(12);
49171 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49172 /* ./parser//parser.nit:18545 */
49173 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
49174 stack_frame_head = fra.me.prev;
49175 return;
49176 }
49177 void parser___ReduceAction387___init(val_t p0, int* init_table){
49178 int itpos391 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction387].i;
49179 struct {struct stack_frame_t me;} fra;
49180 val_t tmp;
49181 if (init_table[itpos391]) return;
49182 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49183 fra.me.file = LOCATE_parser;
49184 fra.me.line = 18547;
49185 fra.me.meth = LOCATE_parser___ReduceAction387___init;
49186 fra.me.has_broke = 0;
49187 fra.me.REG_size = 1;
49188 fra.me.REG[0] = NIT_NULL;
49189 fra.me.REG[0] = p0;
49190 /* ./parser//parser.nit:18547 */
49191 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
49192 stack_frame_head = fra.me.prev;
49193 init_table[itpos391] = 1;
49194 return;
49195 }
49196 void parser___ReduceAction388___action(val_t p0, val_t p1){
49197 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
49198 val_t REGB0;
49199 val_t tmp;
49200 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49201 fra.me.file = LOCATE_parser;
49202 fra.me.line = 18551;
49203 fra.me.meth = LOCATE_parser___ReduceAction388___action;
49204 fra.me.has_broke = 0;
49205 fra.me.REG_size = 8;
49206 fra.me.REG[0] = NIT_NULL;
49207 fra.me.REG[1] = NIT_NULL;
49208 fra.me.REG[2] = NIT_NULL;
49209 fra.me.REG[3] = NIT_NULL;
49210 fra.me.REG[4] = NIT_NULL;
49211 fra.me.REG[5] = NIT_NULL;
49212 fra.me.REG[6] = NIT_NULL;
49213 fra.me.REG[7] = NIT_NULL;
49214 fra.me.REG[0] = p0;
49215 fra.me.REG[1] = p1;
49216 fra.me.REG[0] = NIT_NULL;
49217 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49218 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49219 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49220 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49221 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49222 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49223 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49224 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
49225 /* ./parser//parser.nit:18562 */
49226 if (UNTAG_Bool(REGB0)) {
49227 } else {
49228 fprintf(stderr, "Assert failed");
49229 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18562);
49230 nit_exit(1);
49231 }
49232 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
49233 /* ./parser//parser.nit:18564 */
49234 if (UNTAG_Bool(REGB0)) {
49235 } else {
49236 fprintf(stderr, "Assert failed");
49237 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18564);
49238 nit_exit(1);
49239 }
49240 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
49241 /* ./parser//parser.nit:18566 */
49242 if (UNTAG_Bool(REGB0)) {
49243 } else {
49244 fprintf(stderr, "Assert failed");
49245 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18566);
49246 nit_exit(1);
49247 }
49248 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
49249 /* ./parser//parser.nit:18568 */
49250 if (UNTAG_Bool(REGB0)) {
49251 } else {
49252 fprintf(stderr, "Assert failed");
49253 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18568);
49254 nit_exit(1);
49255 }
49256 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
49257 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
49258 /* ./parser//parser.nit:18573 */
49259 if (UNTAG_Bool(REGB0)) {
49260 } else {
49261 fprintf(stderr, "Assert failed");
49262 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18573);
49263 nit_exit(1);
49264 }
49265 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
49266 /* ./parser//parser.nit:18575 */
49267 if (UNTAG_Bool(REGB0)) {
49268 } else {
49269 fprintf(stderr, "Assert failed");
49270 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18575);
49271 nit_exit(1);
49272 }
49273 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
49274 fra.me.REG[0] = fra.me.REG[2];
49275 REGB0 = TAG_Int(12);
49276 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49277 /* ./parser//parser.nit:18586 */
49278 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
49279 stack_frame_head = fra.me.prev;
49280 return;
49281 }
49282 void parser___ReduceAction388___init(val_t p0, int* init_table){
49283 int itpos392 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction388].i;
49284 struct {struct stack_frame_t me;} fra;
49285 val_t tmp;
49286 if (init_table[itpos392]) return;
49287 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49288 fra.me.file = LOCATE_parser;
49289 fra.me.line = 18588;
49290 fra.me.meth = LOCATE_parser___ReduceAction388___init;
49291 fra.me.has_broke = 0;
49292 fra.me.REG_size = 1;
49293 fra.me.REG[0] = NIT_NULL;
49294 fra.me.REG[0] = p0;
49295 /* ./parser//parser.nit:18588 */
49296 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
49297 stack_frame_head = fra.me.prev;
49298 init_table[itpos392] = 1;
49299 return;
49300 }
49301 void parser___ReduceAction389___action(val_t p0, val_t p1){
49302 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
49303 val_t REGB0;
49304 val_t tmp;
49305 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49306 fra.me.file = LOCATE_parser;
49307 fra.me.line = 18592;
49308 fra.me.meth = LOCATE_parser___ReduceAction389___action;
49309 fra.me.has_broke = 0;
49310 fra.me.REG_size = 8;
49311 fra.me.REG[0] = NIT_NULL;
49312 fra.me.REG[1] = NIT_NULL;
49313 fra.me.REG[2] = NIT_NULL;
49314 fra.me.REG[3] = NIT_NULL;
49315 fra.me.REG[4] = NIT_NULL;
49316 fra.me.REG[5] = NIT_NULL;
49317 fra.me.REG[6] = NIT_NULL;
49318 fra.me.REG[7] = NIT_NULL;
49319 fra.me.REG[0] = p0;
49320 fra.me.REG[1] = p1;
49321 fra.me.REG[0] = NIT_NULL;
49322 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49323 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49324 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49325 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49326 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49327 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49328 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49329 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
49330 /* ./parser//parser.nit:18603 */
49331 if (UNTAG_Bool(REGB0)) {
49332 } else {
49333 fprintf(stderr, "Assert failed");
49334 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18603);
49335 nit_exit(1);
49336 }
49337 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
49338 /* ./parser//parser.nit:18605 */
49339 if (UNTAG_Bool(REGB0)) {
49340 } else {
49341 fprintf(stderr, "Assert failed");
49342 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18605);
49343 nit_exit(1);
49344 }
49345 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
49346 /* ./parser//parser.nit:18607 */
49347 if (UNTAG_Bool(REGB0)) {
49348 } else {
49349 fprintf(stderr, "Assert failed");
49350 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18607);
49351 nit_exit(1);
49352 }
49353 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
49354 /* ./parser//parser.nit:18609 */
49355 if (UNTAG_Bool(REGB0)) {
49356 } else {
49357 fprintf(stderr, "Assert failed");
49358 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18609);
49359 nit_exit(1);
49360 }
49361 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
49362 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
49363 /* ./parser//parser.nit:18614 */
49364 if (UNTAG_Bool(REGB0)) {
49365 } else {
49366 fprintf(stderr, "Assert failed");
49367 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18614);
49368 nit_exit(1);
49369 }
49370 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
49371 /* ./parser//parser.nit:18616 */
49372 if (UNTAG_Bool(REGB0)) {
49373 } else {
49374 fprintf(stderr, "Assert failed");
49375 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18616);
49376 nit_exit(1);
49377 }
49378 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
49379 fra.me.REG[0] = fra.me.REG[2];
49380 REGB0 = TAG_Int(12);
49381 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49382 /* ./parser//parser.nit:18627 */
49383 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
49384 stack_frame_head = fra.me.prev;
49385 return;
49386 }
49387 void parser___ReduceAction389___init(val_t p0, int* init_table){
49388 int itpos393 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction389].i;
49389 struct {struct stack_frame_t me;} fra;
49390 val_t tmp;
49391 if (init_table[itpos393]) return;
49392 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49393 fra.me.file = LOCATE_parser;
49394 fra.me.line = 18629;
49395 fra.me.meth = LOCATE_parser___ReduceAction389___init;
49396 fra.me.has_broke = 0;
49397 fra.me.REG_size = 1;
49398 fra.me.REG[0] = NIT_NULL;
49399 fra.me.REG[0] = p0;
49400 /* ./parser//parser.nit:18629 */
49401 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
49402 stack_frame_head = fra.me.prev;
49403 init_table[itpos393] = 1;
49404 return;
49405 }
49406 void parser___ReduceAction390___action(val_t p0, val_t p1){
49407 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
49408 val_t REGB0;
49409 val_t tmp;
49410 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49411 fra.me.file = LOCATE_parser;
49412 fra.me.line = 18633;
49413 fra.me.meth = LOCATE_parser___ReduceAction390___action;
49414 fra.me.has_broke = 0;
49415 fra.me.REG_size = 8;
49416 fra.me.REG[0] = NIT_NULL;
49417 fra.me.REG[1] = NIT_NULL;
49418 fra.me.REG[2] = NIT_NULL;
49419 fra.me.REG[3] = NIT_NULL;
49420 fra.me.REG[4] = NIT_NULL;
49421 fra.me.REG[5] = NIT_NULL;
49422 fra.me.REG[6] = NIT_NULL;
49423 fra.me.REG[7] = NIT_NULL;
49424 fra.me.REG[0] = p0;
49425 fra.me.REG[1] = p1;
49426 fra.me.REG[0] = NIT_NULL;
49427 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49428 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49429 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49430 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49431 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49432 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49433 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49434 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
49435 /* ./parser//parser.nit:18644 */
49436 if (UNTAG_Bool(REGB0)) {
49437 } else {
49438 fprintf(stderr, "Assert failed");
49439 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18644);
49440 nit_exit(1);
49441 }
49442 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
49443 /* ./parser//parser.nit:18646 */
49444 if (UNTAG_Bool(REGB0)) {
49445 } else {
49446 fprintf(stderr, "Assert failed");
49447 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18646);
49448 nit_exit(1);
49449 }
49450 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
49451 /* ./parser//parser.nit:18648 */
49452 if (UNTAG_Bool(REGB0)) {
49453 } else {
49454 fprintf(stderr, "Assert failed");
49455 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18648);
49456 nit_exit(1);
49457 }
49458 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
49459 /* ./parser//parser.nit:18650 */
49460 if (UNTAG_Bool(REGB0)) {
49461 } else {
49462 fprintf(stderr, "Assert failed");
49463 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18650);
49464 nit_exit(1);
49465 }
49466 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
49467 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
49468 /* ./parser//parser.nit:18655 */
49469 if (UNTAG_Bool(REGB0)) {
49470 } else {
49471 fprintf(stderr, "Assert failed");
49472 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18655);
49473 nit_exit(1);
49474 }
49475 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
49476 /* ./parser//parser.nit:18657 */
49477 if (UNTAG_Bool(REGB0)) {
49478 } else {
49479 fprintf(stderr, "Assert failed");
49480 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18657);
49481 nit_exit(1);
49482 }
49483 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
49484 fra.me.REG[0] = fra.me.REG[2];
49485 REGB0 = TAG_Int(12);
49486 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49487 /* ./parser//parser.nit:18668 */
49488 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
49489 stack_frame_head = fra.me.prev;
49490 return;
49491 }
49492 void parser___ReduceAction390___init(val_t p0, int* init_table){
49493 int itpos394 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction390].i;
49494 struct {struct stack_frame_t me;} fra;
49495 val_t tmp;
49496 if (init_table[itpos394]) return;
49497 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49498 fra.me.file = LOCATE_parser;
49499 fra.me.line = 18670;
49500 fra.me.meth = LOCATE_parser___ReduceAction390___init;
49501 fra.me.has_broke = 0;
49502 fra.me.REG_size = 1;
49503 fra.me.REG[0] = NIT_NULL;
49504 fra.me.REG[0] = p0;
49505 /* ./parser//parser.nit:18670 */
49506 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
49507 stack_frame_head = fra.me.prev;
49508 init_table[itpos394] = 1;
49509 return;
49510 }
49511 void parser___ReduceAction391___action(val_t p0, val_t p1){
49512 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
49513 val_t REGB0;
49514 val_t tmp;
49515 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49516 fra.me.file = LOCATE_parser;
49517 fra.me.line = 18674;
49518 fra.me.meth = LOCATE_parser___ReduceAction391___action;
49519 fra.me.has_broke = 0;
49520 fra.me.REG_size = 8;
49521 fra.me.REG[0] = NIT_NULL;
49522 fra.me.REG[1] = NIT_NULL;
49523 fra.me.REG[2] = NIT_NULL;
49524 fra.me.REG[3] = NIT_NULL;
49525 fra.me.REG[4] = NIT_NULL;
49526 fra.me.REG[5] = NIT_NULL;
49527 fra.me.REG[6] = NIT_NULL;
49528 fra.me.REG[7] = NIT_NULL;
49529 fra.me.REG[0] = p0;
49530 fra.me.REG[1] = p1;
49531 fra.me.REG[0] = NIT_NULL;
49532 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49533 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49534 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49535 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49536 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49537 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49538 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49539 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
49540 /* ./parser//parser.nit:18685 */
49541 if (UNTAG_Bool(REGB0)) {
49542 } else {
49543 fprintf(stderr, "Assert failed");
49544 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18685);
49545 nit_exit(1);
49546 }
49547 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
49548 /* ./parser//parser.nit:18687 */
49549 if (UNTAG_Bool(REGB0)) {
49550 } else {
49551 fprintf(stderr, "Assert failed");
49552 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18687);
49553 nit_exit(1);
49554 }
49555 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
49556 /* ./parser//parser.nit:18689 */
49557 if (UNTAG_Bool(REGB0)) {
49558 } else {
49559 fprintf(stderr, "Assert failed");
49560 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18689);
49561 nit_exit(1);
49562 }
49563 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
49564 /* ./parser//parser.nit:18691 */
49565 if (UNTAG_Bool(REGB0)) {
49566 } else {
49567 fprintf(stderr, "Assert failed");
49568 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18691);
49569 nit_exit(1);
49570 }
49571 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
49572 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
49573 /* ./parser//parser.nit:18696 */
49574 if (UNTAG_Bool(REGB0)) {
49575 } else {
49576 fprintf(stderr, "Assert failed");
49577 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18696);
49578 nit_exit(1);
49579 }
49580 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
49581 /* ./parser//parser.nit:18698 */
49582 if (UNTAG_Bool(REGB0)) {
49583 } else {
49584 fprintf(stderr, "Assert failed");
49585 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18698);
49586 nit_exit(1);
49587 }
49588 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
49589 fra.me.REG[0] = fra.me.REG[2];
49590 REGB0 = TAG_Int(12);
49591 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49592 /* ./parser//parser.nit:18709 */
49593 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
49594 stack_frame_head = fra.me.prev;
49595 return;
49596 }
49597 void parser___ReduceAction391___init(val_t p0, int* init_table){
49598 int itpos395 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction391].i;
49599 struct {struct stack_frame_t me;} fra;
49600 val_t tmp;
49601 if (init_table[itpos395]) return;
49602 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49603 fra.me.file = LOCATE_parser;
49604 fra.me.line = 18711;
49605 fra.me.meth = LOCATE_parser___ReduceAction391___init;
49606 fra.me.has_broke = 0;
49607 fra.me.REG_size = 1;
49608 fra.me.REG[0] = NIT_NULL;
49609 fra.me.REG[0] = p0;
49610 /* ./parser//parser.nit:18711 */
49611 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
49612 stack_frame_head = fra.me.prev;
49613 init_table[itpos395] = 1;
49614 return;
49615 }
49616 void parser___ReduceAction392___action(val_t p0, val_t p1){
49617 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
49618 val_t REGB0;
49619 val_t tmp;
49620 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49621 fra.me.file = LOCATE_parser;
49622 fra.me.line = 18715;
49623 fra.me.meth = LOCATE_parser___ReduceAction392___action;
49624 fra.me.has_broke = 0;
49625 fra.me.REG_size = 8;
49626 fra.me.REG[0] = NIT_NULL;
49627 fra.me.REG[1] = NIT_NULL;
49628 fra.me.REG[2] = NIT_NULL;
49629 fra.me.REG[3] = NIT_NULL;
49630 fra.me.REG[4] = NIT_NULL;
49631 fra.me.REG[5] = NIT_NULL;
49632 fra.me.REG[6] = NIT_NULL;
49633 fra.me.REG[7] = NIT_NULL;
49634 fra.me.REG[0] = p0;
49635 fra.me.REG[1] = p1;
49636 fra.me.REG[0] = NIT_NULL;
49637 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49638 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49639 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49640 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49641 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49642 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49643 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49644 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
49645 /* ./parser//parser.nit:18726 */
49646 if (UNTAG_Bool(REGB0)) {
49647 } else {
49648 fprintf(stderr, "Assert failed");
49649 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18726);
49650 nit_exit(1);
49651 }
49652 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
49653 /* ./parser//parser.nit:18728 */
49654 if (UNTAG_Bool(REGB0)) {
49655 } else {
49656 fprintf(stderr, "Assert failed");
49657 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18728);
49658 nit_exit(1);
49659 }
49660 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
49661 /* ./parser//parser.nit:18730 */
49662 if (UNTAG_Bool(REGB0)) {
49663 } else {
49664 fprintf(stderr, "Assert failed");
49665 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18730);
49666 nit_exit(1);
49667 }
49668 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
49669 /* ./parser//parser.nit:18732 */
49670 if (UNTAG_Bool(REGB0)) {
49671 } else {
49672 fprintf(stderr, "Assert failed");
49673 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18732);
49674 nit_exit(1);
49675 }
49676 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
49677 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
49678 /* ./parser//parser.nit:18737 */
49679 if (UNTAG_Bool(REGB0)) {
49680 } else {
49681 fprintf(stderr, "Assert failed");
49682 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18737);
49683 nit_exit(1);
49684 }
49685 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
49686 /* ./parser//parser.nit:18739 */
49687 if (UNTAG_Bool(REGB0)) {
49688 } else {
49689 fprintf(stderr, "Assert failed");
49690 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18739);
49691 nit_exit(1);
49692 }
49693 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
49694 fra.me.REG[0] = fra.me.REG[2];
49695 REGB0 = TAG_Int(12);
49696 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49697 /* ./parser//parser.nit:18750 */
49698 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
49699 stack_frame_head = fra.me.prev;
49700 return;
49701 }
49702 void parser___ReduceAction392___init(val_t p0, int* init_table){
49703 int itpos396 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction392].i;
49704 struct {struct stack_frame_t me;} fra;
49705 val_t tmp;
49706 if (init_table[itpos396]) return;
49707 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49708 fra.me.file = LOCATE_parser;
49709 fra.me.line = 18752;
49710 fra.me.meth = LOCATE_parser___ReduceAction392___init;
49711 fra.me.has_broke = 0;
49712 fra.me.REG_size = 1;
49713 fra.me.REG[0] = NIT_NULL;
49714 fra.me.REG[0] = p0;
49715 /* ./parser//parser.nit:18752 */
49716 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
49717 stack_frame_head = fra.me.prev;
49718 init_table[itpos396] = 1;
49719 return;
49720 }
49721 void parser___ReduceAction393___action(val_t p0, val_t p1){
49722 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
49723 val_t REGB0;
49724 val_t tmp;
49725 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49726 fra.me.file = LOCATE_parser;
49727 fra.me.line = 18756;
49728 fra.me.meth = LOCATE_parser___ReduceAction393___action;
49729 fra.me.has_broke = 0;
49730 fra.me.REG_size = 8;
49731 fra.me.REG[0] = NIT_NULL;
49732 fra.me.REG[1] = NIT_NULL;
49733 fra.me.REG[2] = NIT_NULL;
49734 fra.me.REG[3] = NIT_NULL;
49735 fra.me.REG[4] = NIT_NULL;
49736 fra.me.REG[5] = NIT_NULL;
49737 fra.me.REG[6] = NIT_NULL;
49738 fra.me.REG[7] = NIT_NULL;
49739 fra.me.REG[0] = p0;
49740 fra.me.REG[1] = p1;
49741 fra.me.REG[0] = NIT_NULL;
49742 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49743 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49744 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49745 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49746 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49747 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49748 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49749 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
49750 /* ./parser//parser.nit:18767 */
49751 if (UNTAG_Bool(REGB0)) {
49752 } else {
49753 fprintf(stderr, "Assert failed");
49754 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18767);
49755 nit_exit(1);
49756 }
49757 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
49758 /* ./parser//parser.nit:18769 */
49759 if (UNTAG_Bool(REGB0)) {
49760 } else {
49761 fprintf(stderr, "Assert failed");
49762 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18769);
49763 nit_exit(1);
49764 }
49765 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
49766 /* ./parser//parser.nit:18771 */
49767 if (UNTAG_Bool(REGB0)) {
49768 } else {
49769 fprintf(stderr, "Assert failed");
49770 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18771);
49771 nit_exit(1);
49772 }
49773 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
49774 /* ./parser//parser.nit:18773 */
49775 if (UNTAG_Bool(REGB0)) {
49776 } else {
49777 fprintf(stderr, "Assert failed");
49778 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18773);
49779 nit_exit(1);
49780 }
49781 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
49782 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
49783 /* ./parser//parser.nit:18778 */
49784 if (UNTAG_Bool(REGB0)) {
49785 } else {
49786 fprintf(stderr, "Assert failed");
49787 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18778);
49788 nit_exit(1);
49789 }
49790 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
49791 /* ./parser//parser.nit:18780 */
49792 if (UNTAG_Bool(REGB0)) {
49793 } else {
49794 fprintf(stderr, "Assert failed");
49795 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18780);
49796 nit_exit(1);
49797 }
49798 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
49799 fra.me.REG[0] = fra.me.REG[2];
49800 REGB0 = TAG_Int(12);
49801 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49802 /* ./parser//parser.nit:18791 */
49803 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
49804 stack_frame_head = fra.me.prev;
49805 return;
49806 }
49807 void parser___ReduceAction393___init(val_t p0, int* init_table){
49808 int itpos397 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction393].i;
49809 struct {struct stack_frame_t me;} fra;
49810 val_t tmp;
49811 if (init_table[itpos397]) return;
49812 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49813 fra.me.file = LOCATE_parser;
49814 fra.me.line = 18793;
49815 fra.me.meth = LOCATE_parser___ReduceAction393___init;
49816 fra.me.has_broke = 0;
49817 fra.me.REG_size = 1;
49818 fra.me.REG[0] = NIT_NULL;
49819 fra.me.REG[0] = p0;
49820 /* ./parser//parser.nit:18793 */
49821 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
49822 stack_frame_head = fra.me.prev;
49823 init_table[itpos397] = 1;
49824 return;
49825 }
49826 void parser___ReduceAction394___action(val_t p0, val_t p1){
49827 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
49828 val_t REGB0;
49829 val_t tmp;
49830 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49831 fra.me.file = LOCATE_parser;
49832 fra.me.line = 18797;
49833 fra.me.meth = LOCATE_parser___ReduceAction394___action;
49834 fra.me.has_broke = 0;
49835 fra.me.REG_size = 8;
49836 fra.me.REG[0] = NIT_NULL;
49837 fra.me.REG[1] = NIT_NULL;
49838 fra.me.REG[2] = NIT_NULL;
49839 fra.me.REG[3] = NIT_NULL;
49840 fra.me.REG[4] = NIT_NULL;
49841 fra.me.REG[5] = NIT_NULL;
49842 fra.me.REG[6] = NIT_NULL;
49843 fra.me.REG[7] = NIT_NULL;
49844 fra.me.REG[0] = p0;
49845 fra.me.REG[1] = p1;
49846 fra.me.REG[0] = NIT_NULL;
49847 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49848 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49849 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49850 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49851 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49852 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49853 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49854 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
49855 /* ./parser//parser.nit:18808 */
49856 if (UNTAG_Bool(REGB0)) {
49857 } else {
49858 fprintf(stderr, "Assert failed");
49859 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18808);
49860 nit_exit(1);
49861 }
49862 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
49863 /* ./parser//parser.nit:18810 */
49864 if (UNTAG_Bool(REGB0)) {
49865 } else {
49866 fprintf(stderr, "Assert failed");
49867 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18810);
49868 nit_exit(1);
49869 }
49870 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
49871 /* ./parser//parser.nit:18812 */
49872 if (UNTAG_Bool(REGB0)) {
49873 } else {
49874 fprintf(stderr, "Assert failed");
49875 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18812);
49876 nit_exit(1);
49877 }
49878 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
49879 /* ./parser//parser.nit:18814 */
49880 if (UNTAG_Bool(REGB0)) {
49881 } else {
49882 fprintf(stderr, "Assert failed");
49883 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18814);
49884 nit_exit(1);
49885 }
49886 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
49887 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
49888 /* ./parser//parser.nit:18819 */
49889 if (UNTAG_Bool(REGB0)) {
49890 } else {
49891 fprintf(stderr, "Assert failed");
49892 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18819);
49893 nit_exit(1);
49894 }
49895 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
49896 /* ./parser//parser.nit:18821 */
49897 if (UNTAG_Bool(REGB0)) {
49898 } else {
49899 fprintf(stderr, "Assert failed");
49900 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18821);
49901 nit_exit(1);
49902 }
49903 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
49904 fra.me.REG[0] = fra.me.REG[2];
49905 REGB0 = TAG_Int(12);
49906 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
49907 /* ./parser//parser.nit:18832 */
49908 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
49909 stack_frame_head = fra.me.prev;
49910 return;
49911 }
49912 void parser___ReduceAction394___init(val_t p0, int* init_table){
49913 int itpos398 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction394].i;
49914 struct {struct stack_frame_t me;} fra;
49915 val_t tmp;
49916 if (init_table[itpos398]) return;
49917 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49918 fra.me.file = LOCATE_parser;
49919 fra.me.line = 18834;
49920 fra.me.meth = LOCATE_parser___ReduceAction394___init;
49921 fra.me.has_broke = 0;
49922 fra.me.REG_size = 1;
49923 fra.me.REG[0] = NIT_NULL;
49924 fra.me.REG[0] = p0;
49925 /* ./parser//parser.nit:18834 */
49926 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
49927 stack_frame_head = fra.me.prev;
49928 init_table[itpos398] = 1;
49929 return;
49930 }
49931 void parser___ReduceAction395___action(val_t p0, val_t p1){
49932 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
49933 val_t REGB0;
49934 val_t tmp;
49935 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49936 fra.me.file = LOCATE_parser;
49937 fra.me.line = 18838;
49938 fra.me.meth = LOCATE_parser___ReduceAction395___action;
49939 fra.me.has_broke = 0;
49940 fra.me.REG_size = 8;
49941 fra.me.REG[0] = NIT_NULL;
49942 fra.me.REG[1] = NIT_NULL;
49943 fra.me.REG[2] = NIT_NULL;
49944 fra.me.REG[3] = NIT_NULL;
49945 fra.me.REG[4] = NIT_NULL;
49946 fra.me.REG[5] = NIT_NULL;
49947 fra.me.REG[6] = NIT_NULL;
49948 fra.me.REG[7] = NIT_NULL;
49949 fra.me.REG[0] = p0;
49950 fra.me.REG[1] = p1;
49951 fra.me.REG[0] = NIT_NULL;
49952 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49953 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49954 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49955 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49956 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49957 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49958 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
49959 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
49960 /* ./parser//parser.nit:18849 */
49961 if (UNTAG_Bool(REGB0)) {
49962 } else {
49963 fprintf(stderr, "Assert failed");
49964 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18849);
49965 nit_exit(1);
49966 }
49967 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
49968 /* ./parser//parser.nit:18851 */
49969 if (UNTAG_Bool(REGB0)) {
49970 } else {
49971 fprintf(stderr, "Assert failed");
49972 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18851);
49973 nit_exit(1);
49974 }
49975 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
49976 /* ./parser//parser.nit:18853 */
49977 if (UNTAG_Bool(REGB0)) {
49978 } else {
49979 fprintf(stderr, "Assert failed");
49980 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18853);
49981 nit_exit(1);
49982 }
49983 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
49984 /* ./parser//parser.nit:18855 */
49985 if (UNTAG_Bool(REGB0)) {
49986 } else {
49987 fprintf(stderr, "Assert failed");
49988 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18855);
49989 nit_exit(1);
49990 }
49991 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
49992 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
49993 /* ./parser//parser.nit:18860 */
49994 if (UNTAG_Bool(REGB0)) {
49995 } else {
49996 fprintf(stderr, "Assert failed");
49997 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18860);
49998 nit_exit(1);
49999 }
50000 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
50001 /* ./parser//parser.nit:18862 */
50002 if (UNTAG_Bool(REGB0)) {
50003 } else {
50004 fprintf(stderr, "Assert failed");
50005 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18862);
50006 nit_exit(1);
50007 }
50008 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
50009 fra.me.REG[0] = fra.me.REG[2];
50010 REGB0 = TAG_Int(12);
50011 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50012 /* ./parser//parser.nit:18873 */
50013 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
50014 stack_frame_head = fra.me.prev;
50015 return;
50016 }
50017 void parser___ReduceAction395___init(val_t p0, int* init_table){
50018 int itpos399 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction395].i;
50019 struct {struct stack_frame_t me;} fra;
50020 val_t tmp;
50021 if (init_table[itpos399]) return;
50022 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50023 fra.me.file = LOCATE_parser;
50024 fra.me.line = 18875;
50025 fra.me.meth = LOCATE_parser___ReduceAction395___init;
50026 fra.me.has_broke = 0;
50027 fra.me.REG_size = 1;
50028 fra.me.REG[0] = NIT_NULL;
50029 fra.me.REG[0] = p0;
50030 /* ./parser//parser.nit:18875 */
50031 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
50032 stack_frame_head = fra.me.prev;
50033 init_table[itpos399] = 1;
50034 return;
50035 }
50036 void parser___ReduceAction396___action(val_t p0, val_t p1){
50037 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
50038 val_t REGB0;
50039 val_t tmp;
50040 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50041 fra.me.file = LOCATE_parser;
50042 fra.me.line = 18879;
50043 fra.me.meth = LOCATE_parser___ReduceAction396___action;
50044 fra.me.has_broke = 0;
50045 fra.me.REG_size = 9;
50046 fra.me.REG[0] = NIT_NULL;
50047 fra.me.REG[1] = NIT_NULL;
50048 fra.me.REG[2] = NIT_NULL;
50049 fra.me.REG[3] = NIT_NULL;
50050 fra.me.REG[4] = NIT_NULL;
50051 fra.me.REG[5] = NIT_NULL;
50052 fra.me.REG[6] = NIT_NULL;
50053 fra.me.REG[7] = NIT_NULL;
50054 fra.me.REG[8] = NIT_NULL;
50055 fra.me.REG[0] = p0;
50056 fra.me.REG[1] = p1;
50057 fra.me.REG[0] = NIT_NULL;
50058 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50059 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50060 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50061 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50062 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50063 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50064 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50065 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50066 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
50067 /* ./parser//parser.nit:18891 */
50068 if (UNTAG_Bool(REGB0)) {
50069 } else {
50070 fprintf(stderr, "Assert failed");
50071 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18891);
50072 nit_exit(1);
50073 }
50074 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
50075 /* ./parser//parser.nit:18893 */
50076 if (UNTAG_Bool(REGB0)) {
50077 } else {
50078 fprintf(stderr, "Assert failed");
50079 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18893);
50080 nit_exit(1);
50081 }
50082 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
50083 /* ./parser//parser.nit:18895 */
50084 if (UNTAG_Bool(REGB0)) {
50085 } else {
50086 fprintf(stderr, "Assert failed");
50087 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18895);
50088 nit_exit(1);
50089 }
50090 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
50091 /* ./parser//parser.nit:18897 */
50092 if (UNTAG_Bool(REGB0)) {
50093 } else {
50094 fprintf(stderr, "Assert failed");
50095 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18897);
50096 nit_exit(1);
50097 }
50098 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
50099 /* ./parser//parser.nit:18899 */
50100 if (UNTAG_Bool(REGB0)) {
50101 } else {
50102 fprintf(stderr, "Assert failed");
50103 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18899);
50104 nit_exit(1);
50105 }
50106 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
50107 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
50108 /* ./parser//parser.nit:18905 */
50109 if (UNTAG_Bool(REGB0)) {
50110 } else {
50111 fprintf(stderr, "Assert failed");
50112 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18905);
50113 nit_exit(1);
50114 }
50115 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
50116 /* ./parser//parser.nit:18907 */
50117 if (UNTAG_Bool(REGB0)) {
50118 } else {
50119 fprintf(stderr, "Assert failed");
50120 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18907);
50121 nit_exit(1);
50122 }
50123 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
50124 fra.me.REG[0] = fra.me.REG[2];
50125 REGB0 = TAG_Int(12);
50126 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50127 /* ./parser//parser.nit:18918 */
50128 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
50129 stack_frame_head = fra.me.prev;
50130 return;
50131 }
50132 void parser___ReduceAction396___init(val_t p0, int* init_table){
50133 int itpos400 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction396].i;
50134 struct {struct stack_frame_t me;} fra;
50135 val_t tmp;
50136 if (init_table[itpos400]) return;
50137 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50138 fra.me.file = LOCATE_parser;
50139 fra.me.line = 18920;
50140 fra.me.meth = LOCATE_parser___ReduceAction396___init;
50141 fra.me.has_broke = 0;
50142 fra.me.REG_size = 1;
50143 fra.me.REG[0] = NIT_NULL;
50144 fra.me.REG[0] = p0;
50145 /* ./parser//parser.nit:18920 */
50146 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
50147 stack_frame_head = fra.me.prev;
50148 init_table[itpos400] = 1;
50149 return;
50150 }
50151 void parser___ReduceAction397___action(val_t p0, val_t p1){
50152 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
50153 val_t REGB0;
50154 val_t tmp;
50155 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50156 fra.me.file = LOCATE_parser;
50157 fra.me.line = 18924;
50158 fra.me.meth = LOCATE_parser___ReduceAction397___action;
50159 fra.me.has_broke = 0;
50160 fra.me.REG_size = 8;
50161 fra.me.REG[0] = NIT_NULL;
50162 fra.me.REG[1] = NIT_NULL;
50163 fra.me.REG[2] = NIT_NULL;
50164 fra.me.REG[3] = NIT_NULL;
50165 fra.me.REG[4] = NIT_NULL;
50166 fra.me.REG[5] = NIT_NULL;
50167 fra.me.REG[6] = NIT_NULL;
50168 fra.me.REG[7] = NIT_NULL;
50169 fra.me.REG[0] = p0;
50170 fra.me.REG[1] = p1;
50171 fra.me.REG[0] = NIT_NULL;
50172 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50173 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50174 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50175 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50176 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50177 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50178 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50179 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
50180 /* ./parser//parser.nit:18935 */
50181 if (UNTAG_Bool(REGB0)) {
50182 } else {
50183 fprintf(stderr, "Assert failed");
50184 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18935);
50185 nit_exit(1);
50186 }
50187 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
50188 /* ./parser//parser.nit:18937 */
50189 if (UNTAG_Bool(REGB0)) {
50190 } else {
50191 fprintf(stderr, "Assert failed");
50192 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18937);
50193 nit_exit(1);
50194 }
50195 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
50196 /* ./parser//parser.nit:18939 */
50197 if (UNTAG_Bool(REGB0)) {
50198 } else {
50199 fprintf(stderr, "Assert failed");
50200 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18939);
50201 nit_exit(1);
50202 }
50203 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
50204 /* ./parser//parser.nit:18941 */
50205 if (UNTAG_Bool(REGB0)) {
50206 } else {
50207 fprintf(stderr, "Assert failed");
50208 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18941);
50209 nit_exit(1);
50210 }
50211 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
50212 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
50213 /* ./parser//parser.nit:18946 */
50214 if (UNTAG_Bool(REGB0)) {
50215 } else {
50216 fprintf(stderr, "Assert failed");
50217 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18946);
50218 nit_exit(1);
50219 }
50220 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
50221 /* ./parser//parser.nit:18948 */
50222 if (UNTAG_Bool(REGB0)) {
50223 } else {
50224 fprintf(stderr, "Assert failed");
50225 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18948);
50226 nit_exit(1);
50227 }
50228 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
50229 fra.me.REG[0] = fra.me.REG[2];
50230 REGB0 = TAG_Int(12);
50231 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50232 /* ./parser//parser.nit:18959 */
50233 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
50234 stack_frame_head = fra.me.prev;
50235 return;
50236 }
50237 void parser___ReduceAction397___init(val_t p0, int* init_table){
50238 int itpos401 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction397].i;
50239 struct {struct stack_frame_t me;} fra;
50240 val_t tmp;
50241 if (init_table[itpos401]) return;
50242 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50243 fra.me.file = LOCATE_parser;
50244 fra.me.line = 18961;
50245 fra.me.meth = LOCATE_parser___ReduceAction397___init;
50246 fra.me.has_broke = 0;
50247 fra.me.REG_size = 1;
50248 fra.me.REG[0] = NIT_NULL;
50249 fra.me.REG[0] = p0;
50250 /* ./parser//parser.nit:18961 */
50251 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
50252 stack_frame_head = fra.me.prev;
50253 init_table[itpos401] = 1;
50254 return;
50255 }
50256 void parser___ReduceAction398___action(val_t p0, val_t p1){
50257 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
50258 val_t REGB0;
50259 val_t tmp;
50260 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50261 fra.me.file = LOCATE_parser;
50262 fra.me.line = 18965;
50263 fra.me.meth = LOCATE_parser___ReduceAction398___action;
50264 fra.me.has_broke = 0;
50265 fra.me.REG_size = 9;
50266 fra.me.REG[0] = NIT_NULL;
50267 fra.me.REG[1] = NIT_NULL;
50268 fra.me.REG[2] = NIT_NULL;
50269 fra.me.REG[3] = NIT_NULL;
50270 fra.me.REG[4] = NIT_NULL;
50271 fra.me.REG[5] = NIT_NULL;
50272 fra.me.REG[6] = NIT_NULL;
50273 fra.me.REG[7] = NIT_NULL;
50274 fra.me.REG[8] = NIT_NULL;
50275 fra.me.REG[0] = p0;
50276 fra.me.REG[1] = p1;
50277 fra.me.REG[0] = NIT_NULL;
50278 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50279 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50280 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50281 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50282 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50283 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50284 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50285 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50286 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
50287 /* ./parser//parser.nit:18977 */
50288 if (UNTAG_Bool(REGB0)) {
50289 } else {
50290 fprintf(stderr, "Assert failed");
50291 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18977);
50292 nit_exit(1);
50293 }
50294 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
50295 /* ./parser//parser.nit:18979 */
50296 if (UNTAG_Bool(REGB0)) {
50297 } else {
50298 fprintf(stderr, "Assert failed");
50299 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18979);
50300 nit_exit(1);
50301 }
50302 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
50303 /* ./parser//parser.nit:18981 */
50304 if (UNTAG_Bool(REGB0)) {
50305 } else {
50306 fprintf(stderr, "Assert failed");
50307 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18981);
50308 nit_exit(1);
50309 }
50310 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
50311 /* ./parser//parser.nit:18983 */
50312 if (UNTAG_Bool(REGB0)) {
50313 } else {
50314 fprintf(stderr, "Assert failed");
50315 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18983);
50316 nit_exit(1);
50317 }
50318 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
50319 /* ./parser//parser.nit:18985 */
50320 if (UNTAG_Bool(REGB0)) {
50321 } else {
50322 fprintf(stderr, "Assert failed");
50323 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18985);
50324 nit_exit(1);
50325 }
50326 fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
50327 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
50328 /* ./parser//parser.nit:18991 */
50329 if (UNTAG_Bool(REGB0)) {
50330 } else {
50331 fprintf(stderr, "Assert failed");
50332 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18991);
50333 nit_exit(1);
50334 }
50335 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
50336 /* ./parser//parser.nit:18993 */
50337 if (UNTAG_Bool(REGB0)) {
50338 } else {
50339 fprintf(stderr, "Assert failed");
50340 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18993);
50341 nit_exit(1);
50342 }
50343 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
50344 fra.me.REG[0] = fra.me.REG[2];
50345 REGB0 = TAG_Int(12);
50346 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50347 /* ./parser//parser.nit:19004 */
50348 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
50349 stack_frame_head = fra.me.prev;
50350 return;
50351 }
50352 void parser___ReduceAction398___init(val_t p0, int* init_table){
50353 int itpos402 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction398].i;
50354 struct {struct stack_frame_t me;} fra;
50355 val_t tmp;
50356 if (init_table[itpos402]) return;
50357 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50358 fra.me.file = LOCATE_parser;
50359 fra.me.line = 19006;
50360 fra.me.meth = LOCATE_parser___ReduceAction398___init;
50361 fra.me.has_broke = 0;
50362 fra.me.REG_size = 1;
50363 fra.me.REG[0] = NIT_NULL;
50364 fra.me.REG[0] = p0;
50365 /* ./parser//parser.nit:19006 */
50366 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
50367 stack_frame_head = fra.me.prev;
50368 init_table[itpos402] = 1;
50369 return;
50370 }
50371 void parser___ReduceAction399___action(val_t p0, val_t p1){
50372 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
50373 val_t REGB0;
50374 val_t tmp;
50375 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50376 fra.me.file = LOCATE_parser;
50377 fra.me.line = 19010;
50378 fra.me.meth = LOCATE_parser___ReduceAction399___action;
50379 fra.me.has_broke = 0;
50380 fra.me.REG_size = 10;
50381 fra.me.REG[0] = NIT_NULL;
50382 fra.me.REG[1] = NIT_NULL;
50383 fra.me.REG[2] = NIT_NULL;
50384 fra.me.REG[3] = NIT_NULL;
50385 fra.me.REG[4] = NIT_NULL;
50386 fra.me.REG[5] = NIT_NULL;
50387 fra.me.REG[6] = NIT_NULL;
50388 fra.me.REG[7] = NIT_NULL;
50389 fra.me.REG[8] = NIT_NULL;
50390 fra.me.REG[9] = NIT_NULL;
50391 fra.me.REG[0] = p0;
50392 fra.me.REG[1] = p1;
50393 fra.me.REG[0] = NIT_NULL;
50394 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50395 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50396 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50397 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50398 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50399 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50400 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50401 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50402 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50403 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
50404 /* ./parser//parser.nit:19023 */
50405 if (UNTAG_Bool(REGB0)) {
50406 } else {
50407 fprintf(stderr, "Assert failed");
50408 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19023);
50409 nit_exit(1);
50410 }
50411 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
50412 /* ./parser//parser.nit:19025 */
50413 if (UNTAG_Bool(REGB0)) {
50414 } else {
50415 fprintf(stderr, "Assert failed");
50416 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19025);
50417 nit_exit(1);
50418 }
50419 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
50420 /* ./parser//parser.nit:19027 */
50421 if (UNTAG_Bool(REGB0)) {
50422 } else {
50423 fprintf(stderr, "Assert failed");
50424 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19027);
50425 nit_exit(1);
50426 }
50427 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
50428 /* ./parser//parser.nit:19029 */
50429 if (UNTAG_Bool(REGB0)) {
50430 } else {
50431 fprintf(stderr, "Assert failed");
50432 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19029);
50433 nit_exit(1);
50434 }
50435 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
50436 /* ./parser//parser.nit:19031 */
50437 if (UNTAG_Bool(REGB0)) {
50438 } else {
50439 fprintf(stderr, "Assert failed");
50440 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19031);
50441 nit_exit(1);
50442 }
50443 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
50444 /* ./parser//parser.nit:19033 */
50445 if (UNTAG_Bool(REGB0)) {
50446 } else {
50447 fprintf(stderr, "Assert failed");
50448 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19033);
50449 nit_exit(1);
50450 }
50451 fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
50452 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
50453 /* ./parser//parser.nit:19040 */
50454 if (UNTAG_Bool(REGB0)) {
50455 } else {
50456 fprintf(stderr, "Assert failed");
50457 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19040);
50458 nit_exit(1);
50459 }
50460 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
50461 /* ./parser//parser.nit:19042 */
50462 if (UNTAG_Bool(REGB0)) {
50463 } else {
50464 fprintf(stderr, "Assert failed");
50465 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19042);
50466 nit_exit(1);
50467 }
50468 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
50469 fra.me.REG[0] = fra.me.REG[2];
50470 REGB0 = TAG_Int(12);
50471 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50472 /* ./parser//parser.nit:19053 */
50473 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
50474 stack_frame_head = fra.me.prev;
50475 return;
50476 }
50477 void parser___ReduceAction399___init(val_t p0, int* init_table){
50478 int itpos403 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction399].i;
50479 struct {struct stack_frame_t me;} fra;
50480 val_t tmp;
50481 if (init_table[itpos403]) return;
50482 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50483 fra.me.file = LOCATE_parser;
50484 fra.me.line = 19055;
50485 fra.me.meth = LOCATE_parser___ReduceAction399___init;
50486 fra.me.has_broke = 0;
50487 fra.me.REG_size = 1;
50488 fra.me.REG[0] = NIT_NULL;
50489 fra.me.REG[0] = p0;
50490 /* ./parser//parser.nit:19055 */
50491 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
50492 stack_frame_head = fra.me.prev;
50493 init_table[itpos403] = 1;
50494 return;
50495 }
50496 void parser___ReduceAction400___action(val_t p0, val_t p1){
50497 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
50498 val_t REGB0;
50499 val_t tmp;
50500 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50501 fra.me.file = LOCATE_parser;
50502 fra.me.line = 19059;
50503 fra.me.meth = LOCATE_parser___ReduceAction400___action;
50504 fra.me.has_broke = 0;
50505 fra.me.REG_size = 9;
50506 fra.me.REG[0] = NIT_NULL;
50507 fra.me.REG[1] = NIT_NULL;
50508 fra.me.REG[2] = NIT_NULL;
50509 fra.me.REG[3] = NIT_NULL;
50510 fra.me.REG[4] = NIT_NULL;
50511 fra.me.REG[5] = NIT_NULL;
50512 fra.me.REG[6] = NIT_NULL;
50513 fra.me.REG[7] = NIT_NULL;
50514 fra.me.REG[8] = NIT_NULL;
50515 fra.me.REG[0] = p0;
50516 fra.me.REG[1] = p1;
50517 fra.me.REG[0] = NIT_NULL;
50518 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50519 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50520 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50521 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50522 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50523 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50524 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50525 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50526 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
50527 /* ./parser//parser.nit:19071 */
50528 if (UNTAG_Bool(REGB0)) {
50529 } else {
50530 fprintf(stderr, "Assert failed");
50531 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19071);
50532 nit_exit(1);
50533 }
50534 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
50535 /* ./parser//parser.nit:19073 */
50536 if (UNTAG_Bool(REGB0)) {
50537 } else {
50538 fprintf(stderr, "Assert failed");
50539 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19073);
50540 nit_exit(1);
50541 }
50542 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
50543 /* ./parser//parser.nit:19075 */
50544 if (UNTAG_Bool(REGB0)) {
50545 } else {
50546 fprintf(stderr, "Assert failed");
50547 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19075);
50548 nit_exit(1);
50549 }
50550 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
50551 /* ./parser//parser.nit:19077 */
50552 if (UNTAG_Bool(REGB0)) {
50553 } else {
50554 fprintf(stderr, "Assert failed");
50555 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19077);
50556 nit_exit(1);
50557 }
50558 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
50559 /* ./parser//parser.nit:19079 */
50560 if (UNTAG_Bool(REGB0)) {
50561 } else {
50562 fprintf(stderr, "Assert failed");
50563 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19079);
50564 nit_exit(1);
50565 }
50566 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
50567 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
50568 /* ./parser//parser.nit:19084 */
50569 if (UNTAG_Bool(REGB0)) {
50570 } else {
50571 fprintf(stderr, "Assert failed");
50572 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19084);
50573 nit_exit(1);
50574 }
50575 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
50576 /* ./parser//parser.nit:19086 */
50577 if (UNTAG_Bool(REGB0)) {
50578 } else {
50579 fprintf(stderr, "Assert failed");
50580 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19086);
50581 nit_exit(1);
50582 }
50583 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
50584 fra.me.REG[0] = fra.me.REG[2];
50585 REGB0 = TAG_Int(12);
50586 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50587 /* ./parser//parser.nit:19097 */
50588 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
50589 stack_frame_head = fra.me.prev;
50590 return;
50591 }
50592 void parser___ReduceAction400___init(val_t p0, int* init_table){
50593 int itpos404 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction400].i;
50594 struct {struct stack_frame_t me;} fra;
50595 val_t tmp;
50596 if (init_table[itpos404]) return;
50597 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50598 fra.me.file = LOCATE_parser;
50599 fra.me.line = 19099;
50600 fra.me.meth = LOCATE_parser___ReduceAction400___init;
50601 fra.me.has_broke = 0;
50602 fra.me.REG_size = 1;
50603 fra.me.REG[0] = NIT_NULL;
50604 fra.me.REG[0] = p0;
50605 /* ./parser//parser.nit:19099 */
50606 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
50607 stack_frame_head = fra.me.prev;
50608 init_table[itpos404] = 1;
50609 return;
50610 }
50611 void parser___ReduceAction401___action(val_t p0, val_t p1){
50612 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
50613 val_t REGB0;
50614 val_t tmp;
50615 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50616 fra.me.file = LOCATE_parser;
50617 fra.me.line = 19103;
50618 fra.me.meth = LOCATE_parser___ReduceAction401___action;
50619 fra.me.has_broke = 0;
50620 fra.me.REG_size = 9;
50621 fra.me.REG[0] = NIT_NULL;
50622 fra.me.REG[1] = NIT_NULL;
50623 fra.me.REG[2] = NIT_NULL;
50624 fra.me.REG[3] = NIT_NULL;
50625 fra.me.REG[4] = NIT_NULL;
50626 fra.me.REG[5] = NIT_NULL;
50627 fra.me.REG[6] = NIT_NULL;
50628 fra.me.REG[7] = NIT_NULL;
50629 fra.me.REG[8] = NIT_NULL;
50630 fra.me.REG[0] = p0;
50631 fra.me.REG[1] = p1;
50632 fra.me.REG[0] = NIT_NULL;
50633 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50634 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50635 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50636 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50637 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50638 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50639 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50640 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50641 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
50642 /* ./parser//parser.nit:19115 */
50643 if (UNTAG_Bool(REGB0)) {
50644 } else {
50645 fprintf(stderr, "Assert failed");
50646 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19115);
50647 nit_exit(1);
50648 }
50649 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
50650 /* ./parser//parser.nit:19117 */
50651 if (UNTAG_Bool(REGB0)) {
50652 } else {
50653 fprintf(stderr, "Assert failed");
50654 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19117);
50655 nit_exit(1);
50656 }
50657 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
50658 /* ./parser//parser.nit:19119 */
50659 if (UNTAG_Bool(REGB0)) {
50660 } else {
50661 fprintf(stderr, "Assert failed");
50662 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19119);
50663 nit_exit(1);
50664 }
50665 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
50666 /* ./parser//parser.nit:19121 */
50667 if (UNTAG_Bool(REGB0)) {
50668 } else {
50669 fprintf(stderr, "Assert failed");
50670 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19121);
50671 nit_exit(1);
50672 }
50673 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
50674 /* ./parser//parser.nit:19123 */
50675 if (UNTAG_Bool(REGB0)) {
50676 } else {
50677 fprintf(stderr, "Assert failed");
50678 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19123);
50679 nit_exit(1);
50680 }
50681 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
50682 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
50683 /* ./parser//parser.nit:19128 */
50684 if (UNTAG_Bool(REGB0)) {
50685 } else {
50686 fprintf(stderr, "Assert failed");
50687 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19128);
50688 nit_exit(1);
50689 }
50690 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
50691 /* ./parser//parser.nit:19130 */
50692 if (UNTAG_Bool(REGB0)) {
50693 } else {
50694 fprintf(stderr, "Assert failed");
50695 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19130);
50696 nit_exit(1);
50697 }
50698 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
50699 fra.me.REG[0] = fra.me.REG[2];
50700 REGB0 = TAG_Int(12);
50701 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50702 /* ./parser//parser.nit:19141 */
50703 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
50704 stack_frame_head = fra.me.prev;
50705 return;
50706 }
50707 void parser___ReduceAction401___init(val_t p0, int* init_table){
50708 int itpos405 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction401].i;
50709 struct {struct stack_frame_t me;} fra;
50710 val_t tmp;
50711 if (init_table[itpos405]) return;
50712 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50713 fra.me.file = LOCATE_parser;
50714 fra.me.line = 19143;
50715 fra.me.meth = LOCATE_parser___ReduceAction401___init;
50716 fra.me.has_broke = 0;
50717 fra.me.REG_size = 1;
50718 fra.me.REG[0] = NIT_NULL;
50719 fra.me.REG[0] = p0;
50720 /* ./parser//parser.nit:19143 */
50721 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
50722 stack_frame_head = fra.me.prev;
50723 init_table[itpos405] = 1;
50724 return;
50725 }
50726 void parser___ReduceAction402___action(val_t p0, val_t p1){
50727 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
50728 val_t REGB0;
50729 val_t tmp;
50730 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50731 fra.me.file = LOCATE_parser;
50732 fra.me.line = 19147;
50733 fra.me.meth = LOCATE_parser___ReduceAction402___action;
50734 fra.me.has_broke = 0;
50735 fra.me.REG_size = 9;
50736 fra.me.REG[0] = NIT_NULL;
50737 fra.me.REG[1] = NIT_NULL;
50738 fra.me.REG[2] = NIT_NULL;
50739 fra.me.REG[3] = NIT_NULL;
50740 fra.me.REG[4] = NIT_NULL;
50741 fra.me.REG[5] = NIT_NULL;
50742 fra.me.REG[6] = NIT_NULL;
50743 fra.me.REG[7] = NIT_NULL;
50744 fra.me.REG[8] = NIT_NULL;
50745 fra.me.REG[0] = p0;
50746 fra.me.REG[1] = p1;
50747 fra.me.REG[0] = NIT_NULL;
50748 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50749 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50750 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50751 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50752 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50753 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50754 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50755 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50756 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
50757 /* ./parser//parser.nit:19159 */
50758 if (UNTAG_Bool(REGB0)) {
50759 } else {
50760 fprintf(stderr, "Assert failed");
50761 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19159);
50762 nit_exit(1);
50763 }
50764 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
50765 /* ./parser//parser.nit:19161 */
50766 if (UNTAG_Bool(REGB0)) {
50767 } else {
50768 fprintf(stderr, "Assert failed");
50769 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19161);
50770 nit_exit(1);
50771 }
50772 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
50773 /* ./parser//parser.nit:19163 */
50774 if (UNTAG_Bool(REGB0)) {
50775 } else {
50776 fprintf(stderr, "Assert failed");
50777 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19163);
50778 nit_exit(1);
50779 }
50780 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
50781 /* ./parser//parser.nit:19165 */
50782 if (UNTAG_Bool(REGB0)) {
50783 } else {
50784 fprintf(stderr, "Assert failed");
50785 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19165);
50786 nit_exit(1);
50787 }
50788 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
50789 /* ./parser//parser.nit:19167 */
50790 if (UNTAG_Bool(REGB0)) {
50791 } else {
50792 fprintf(stderr, "Assert failed");
50793 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19167);
50794 nit_exit(1);
50795 }
50796 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
50797 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
50798 /* ./parser//parser.nit:19172 */
50799 if (UNTAG_Bool(REGB0)) {
50800 } else {
50801 fprintf(stderr, "Assert failed");
50802 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19172);
50803 nit_exit(1);
50804 }
50805 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
50806 /* ./parser//parser.nit:19174 */
50807 if (UNTAG_Bool(REGB0)) {
50808 } else {
50809 fprintf(stderr, "Assert failed");
50810 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19174);
50811 nit_exit(1);
50812 }
50813 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
50814 fra.me.REG[0] = fra.me.REG[2];
50815 REGB0 = TAG_Int(12);
50816 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50817 /* ./parser//parser.nit:19185 */
50818 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
50819 stack_frame_head = fra.me.prev;
50820 return;
50821 }
50822 void parser___ReduceAction402___init(val_t p0, int* init_table){
50823 int itpos406 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction402].i;
50824 struct {struct stack_frame_t me;} fra;
50825 val_t tmp;
50826 if (init_table[itpos406]) return;
50827 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50828 fra.me.file = LOCATE_parser;
50829 fra.me.line = 19187;
50830 fra.me.meth = LOCATE_parser___ReduceAction402___init;
50831 fra.me.has_broke = 0;
50832 fra.me.REG_size = 1;
50833 fra.me.REG[0] = NIT_NULL;
50834 fra.me.REG[0] = p0;
50835 /* ./parser//parser.nit:19187 */
50836 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
50837 stack_frame_head = fra.me.prev;
50838 init_table[itpos406] = 1;
50839 return;
50840 }
50841 void parser___ReduceAction403___action(val_t p0, val_t p1){
50842 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
50843 val_t REGB0;
50844 val_t tmp;
50845 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50846 fra.me.file = LOCATE_parser;
50847 fra.me.line = 19191;
50848 fra.me.meth = LOCATE_parser___ReduceAction403___action;
50849 fra.me.has_broke = 0;
50850 fra.me.REG_size = 9;
50851 fra.me.REG[0] = NIT_NULL;
50852 fra.me.REG[1] = NIT_NULL;
50853 fra.me.REG[2] = NIT_NULL;
50854 fra.me.REG[3] = NIT_NULL;
50855 fra.me.REG[4] = NIT_NULL;
50856 fra.me.REG[5] = NIT_NULL;
50857 fra.me.REG[6] = NIT_NULL;
50858 fra.me.REG[7] = NIT_NULL;
50859 fra.me.REG[8] = NIT_NULL;
50860 fra.me.REG[0] = p0;
50861 fra.me.REG[1] = p1;
50862 fra.me.REG[0] = NIT_NULL;
50863 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50864 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50865 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50866 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50867 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50868 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50869 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50870 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50871 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
50872 /* ./parser//parser.nit:19203 */
50873 if (UNTAG_Bool(REGB0)) {
50874 } else {
50875 fprintf(stderr, "Assert failed");
50876 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19203);
50877 nit_exit(1);
50878 }
50879 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
50880 /* ./parser//parser.nit:19205 */
50881 if (UNTAG_Bool(REGB0)) {
50882 } else {
50883 fprintf(stderr, "Assert failed");
50884 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19205);
50885 nit_exit(1);
50886 }
50887 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
50888 /* ./parser//parser.nit:19207 */
50889 if (UNTAG_Bool(REGB0)) {
50890 } else {
50891 fprintf(stderr, "Assert failed");
50892 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19207);
50893 nit_exit(1);
50894 }
50895 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
50896 /* ./parser//parser.nit:19209 */
50897 if (UNTAG_Bool(REGB0)) {
50898 } else {
50899 fprintf(stderr, "Assert failed");
50900 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19209);
50901 nit_exit(1);
50902 }
50903 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
50904 /* ./parser//parser.nit:19211 */
50905 if (UNTAG_Bool(REGB0)) {
50906 } else {
50907 fprintf(stderr, "Assert failed");
50908 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19211);
50909 nit_exit(1);
50910 }
50911 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
50912 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
50913 /* ./parser//parser.nit:19216 */
50914 if (UNTAG_Bool(REGB0)) {
50915 } else {
50916 fprintf(stderr, "Assert failed");
50917 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19216);
50918 nit_exit(1);
50919 }
50920 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
50921 /* ./parser//parser.nit:19218 */
50922 if (UNTAG_Bool(REGB0)) {
50923 } else {
50924 fprintf(stderr, "Assert failed");
50925 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19218);
50926 nit_exit(1);
50927 }
50928 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
50929 fra.me.REG[0] = fra.me.REG[2];
50930 REGB0 = TAG_Int(12);
50931 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
50932 /* ./parser//parser.nit:19229 */
50933 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
50934 stack_frame_head = fra.me.prev;
50935 return;
50936 }
50937 void parser___ReduceAction403___init(val_t p0, int* init_table){
50938 int itpos407 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction403].i;
50939 struct {struct stack_frame_t me;} fra;
50940 val_t tmp;
50941 if (init_table[itpos407]) return;
50942 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50943 fra.me.file = LOCATE_parser;
50944 fra.me.line = 19231;
50945 fra.me.meth = LOCATE_parser___ReduceAction403___init;
50946 fra.me.has_broke = 0;
50947 fra.me.REG_size = 1;
50948 fra.me.REG[0] = NIT_NULL;
50949 fra.me.REG[0] = p0;
50950 /* ./parser//parser.nit:19231 */
50951 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
50952 stack_frame_head = fra.me.prev;
50953 init_table[itpos407] = 1;
50954 return;
50955 }
50956 void parser___ReduceAction404___action(val_t p0, val_t p1){
50957 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
50958 val_t REGB0;
50959 val_t tmp;
50960 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50961 fra.me.file = LOCATE_parser;
50962 fra.me.line = 19235;
50963 fra.me.meth = LOCATE_parser___ReduceAction404___action;
50964 fra.me.has_broke = 0;
50965 fra.me.REG_size = 9;
50966 fra.me.REG[0] = NIT_NULL;
50967 fra.me.REG[1] = NIT_NULL;
50968 fra.me.REG[2] = NIT_NULL;
50969 fra.me.REG[3] = NIT_NULL;
50970 fra.me.REG[4] = NIT_NULL;
50971 fra.me.REG[5] = NIT_NULL;
50972 fra.me.REG[6] = NIT_NULL;
50973 fra.me.REG[7] = NIT_NULL;
50974 fra.me.REG[8] = NIT_NULL;
50975 fra.me.REG[0] = p0;
50976 fra.me.REG[1] = p1;
50977 fra.me.REG[0] = NIT_NULL;
50978 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50979 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50980 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50981 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50982 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50983 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50984 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50985 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
50986 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
50987 /* ./parser//parser.nit:19247 */
50988 if (UNTAG_Bool(REGB0)) {
50989 } else {
50990 fprintf(stderr, "Assert failed");
50991 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19247);
50992 nit_exit(1);
50993 }
50994 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
50995 /* ./parser//parser.nit:19249 */
50996 if (UNTAG_Bool(REGB0)) {
50997 } else {
50998 fprintf(stderr, "Assert failed");
50999 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19249);
51000 nit_exit(1);
51001 }
51002 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
51003 /* ./parser//parser.nit:19251 */
51004 if (UNTAG_Bool(REGB0)) {
51005 } else {
51006 fprintf(stderr, "Assert failed");
51007 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19251);
51008 nit_exit(1);
51009 }
51010 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
51011 /* ./parser//parser.nit:19253 */
51012 if (UNTAG_Bool(REGB0)) {
51013 } else {
51014 fprintf(stderr, "Assert failed");
51015 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19253);
51016 nit_exit(1);
51017 }
51018 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
51019 /* ./parser//parser.nit:19255 */
51020 if (UNTAG_Bool(REGB0)) {
51021 } else {
51022 fprintf(stderr, "Assert failed");
51023 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19255);
51024 nit_exit(1);
51025 }
51026 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
51027 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
51028 /* ./parser//parser.nit:19260 */
51029 if (UNTAG_Bool(REGB0)) {
51030 } else {
51031 fprintf(stderr, "Assert failed");
51032 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19260);
51033 nit_exit(1);
51034 }
51035 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
51036 /* ./parser//parser.nit:19262 */
51037 if (UNTAG_Bool(REGB0)) {
51038 } else {
51039 fprintf(stderr, "Assert failed");
51040 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19262);
51041 nit_exit(1);
51042 }
51043 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
51044 fra.me.REG[0] = fra.me.REG[2];
51045 REGB0 = TAG_Int(12);
51046 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51047 /* ./parser//parser.nit:19273 */
51048 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
51049 stack_frame_head = fra.me.prev;
51050 return;
51051 }
51052 void parser___ReduceAction404___init(val_t p0, int* init_table){
51053 int itpos408 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction404].i;
51054 struct {struct stack_frame_t me;} fra;
51055 val_t tmp;
51056 if (init_table[itpos408]) return;
51057 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51058 fra.me.file = LOCATE_parser;
51059 fra.me.line = 19275;
51060 fra.me.meth = LOCATE_parser___ReduceAction404___init;
51061 fra.me.has_broke = 0;
51062 fra.me.REG_size = 1;
51063 fra.me.REG[0] = NIT_NULL;
51064 fra.me.REG[0] = p0;
51065 /* ./parser//parser.nit:19275 */
51066 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
51067 stack_frame_head = fra.me.prev;
51068 init_table[itpos408] = 1;
51069 return;
51070 }
51071 void parser___ReduceAction405___action(val_t p0, val_t p1){
51072 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
51073 val_t REGB0;
51074 val_t tmp;
51075 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51076 fra.me.file = LOCATE_parser;
51077 fra.me.line = 19279;
51078 fra.me.meth = LOCATE_parser___ReduceAction405___action;
51079 fra.me.has_broke = 0;
51080 fra.me.REG_size = 9;
51081 fra.me.REG[0] = NIT_NULL;
51082 fra.me.REG[1] = NIT_NULL;
51083 fra.me.REG[2] = NIT_NULL;
51084 fra.me.REG[3] = NIT_NULL;
51085 fra.me.REG[4] = NIT_NULL;
51086 fra.me.REG[5] = NIT_NULL;
51087 fra.me.REG[6] = NIT_NULL;
51088 fra.me.REG[7] = NIT_NULL;
51089 fra.me.REG[8] = NIT_NULL;
51090 fra.me.REG[0] = p0;
51091 fra.me.REG[1] = p1;
51092 fra.me.REG[0] = NIT_NULL;
51093 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51094 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51095 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51096 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51097 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51098 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51099 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51100 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51101 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
51102 /* ./parser//parser.nit:19291 */
51103 if (UNTAG_Bool(REGB0)) {
51104 } else {
51105 fprintf(stderr, "Assert failed");
51106 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19291);
51107 nit_exit(1);
51108 }
51109 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
51110 /* ./parser//parser.nit:19293 */
51111 if (UNTAG_Bool(REGB0)) {
51112 } else {
51113 fprintf(stderr, "Assert failed");
51114 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19293);
51115 nit_exit(1);
51116 }
51117 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
51118 /* ./parser//parser.nit:19295 */
51119 if (UNTAG_Bool(REGB0)) {
51120 } else {
51121 fprintf(stderr, "Assert failed");
51122 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19295);
51123 nit_exit(1);
51124 }
51125 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
51126 /* ./parser//parser.nit:19297 */
51127 if (UNTAG_Bool(REGB0)) {
51128 } else {
51129 fprintf(stderr, "Assert failed");
51130 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19297);
51131 nit_exit(1);
51132 }
51133 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
51134 /* ./parser//parser.nit:19299 */
51135 if (UNTAG_Bool(REGB0)) {
51136 } else {
51137 fprintf(stderr, "Assert failed");
51138 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19299);
51139 nit_exit(1);
51140 }
51141 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
51142 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
51143 /* ./parser//parser.nit:19304 */
51144 if (UNTAG_Bool(REGB0)) {
51145 } else {
51146 fprintf(stderr, "Assert failed");
51147 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19304);
51148 nit_exit(1);
51149 }
51150 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
51151 /* ./parser//parser.nit:19306 */
51152 if (UNTAG_Bool(REGB0)) {
51153 } else {
51154 fprintf(stderr, "Assert failed");
51155 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19306);
51156 nit_exit(1);
51157 }
51158 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
51159 fra.me.REG[0] = fra.me.REG[2];
51160 REGB0 = TAG_Int(12);
51161 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51162 /* ./parser//parser.nit:19317 */
51163 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
51164 stack_frame_head = fra.me.prev;
51165 return;
51166 }
51167 void parser___ReduceAction405___init(val_t p0, int* init_table){
51168 int itpos409 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction405].i;
51169 struct {struct stack_frame_t me;} fra;
51170 val_t tmp;
51171 if (init_table[itpos409]) return;
51172 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51173 fra.me.file = LOCATE_parser;
51174 fra.me.line = 19319;
51175 fra.me.meth = LOCATE_parser___ReduceAction405___init;
51176 fra.me.has_broke = 0;
51177 fra.me.REG_size = 1;
51178 fra.me.REG[0] = NIT_NULL;
51179 fra.me.REG[0] = p0;
51180 /* ./parser//parser.nit:19319 */
51181 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
51182 stack_frame_head = fra.me.prev;
51183 init_table[itpos409] = 1;
51184 return;
51185 }
51186 void parser___ReduceAction406___action(val_t p0, val_t p1){
51187 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
51188 val_t REGB0;
51189 val_t tmp;
51190 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51191 fra.me.file = LOCATE_parser;
51192 fra.me.line = 19323;
51193 fra.me.meth = LOCATE_parser___ReduceAction406___action;
51194 fra.me.has_broke = 0;
51195 fra.me.REG_size = 9;
51196 fra.me.REG[0] = NIT_NULL;
51197 fra.me.REG[1] = NIT_NULL;
51198 fra.me.REG[2] = NIT_NULL;
51199 fra.me.REG[3] = NIT_NULL;
51200 fra.me.REG[4] = NIT_NULL;
51201 fra.me.REG[5] = NIT_NULL;
51202 fra.me.REG[6] = NIT_NULL;
51203 fra.me.REG[7] = NIT_NULL;
51204 fra.me.REG[8] = NIT_NULL;
51205 fra.me.REG[0] = p0;
51206 fra.me.REG[1] = p1;
51207 fra.me.REG[0] = NIT_NULL;
51208 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51209 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51210 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51211 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51212 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51213 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51214 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51215 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51216 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
51217 /* ./parser//parser.nit:19335 */
51218 if (UNTAG_Bool(REGB0)) {
51219 } else {
51220 fprintf(stderr, "Assert failed");
51221 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19335);
51222 nit_exit(1);
51223 }
51224 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
51225 /* ./parser//parser.nit:19337 */
51226 if (UNTAG_Bool(REGB0)) {
51227 } else {
51228 fprintf(stderr, "Assert failed");
51229 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19337);
51230 nit_exit(1);
51231 }
51232 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
51233 /* ./parser//parser.nit:19339 */
51234 if (UNTAG_Bool(REGB0)) {
51235 } else {
51236 fprintf(stderr, "Assert failed");
51237 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19339);
51238 nit_exit(1);
51239 }
51240 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
51241 /* ./parser//parser.nit:19341 */
51242 if (UNTAG_Bool(REGB0)) {
51243 } else {
51244 fprintf(stderr, "Assert failed");
51245 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19341);
51246 nit_exit(1);
51247 }
51248 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
51249 /* ./parser//parser.nit:19343 */
51250 if (UNTAG_Bool(REGB0)) {
51251 } else {
51252 fprintf(stderr, "Assert failed");
51253 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19343);
51254 nit_exit(1);
51255 }
51256 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
51257 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
51258 /* ./parser//parser.nit:19348 */
51259 if (UNTAG_Bool(REGB0)) {
51260 } else {
51261 fprintf(stderr, "Assert failed");
51262 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19348);
51263 nit_exit(1);
51264 }
51265 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
51266 /* ./parser//parser.nit:19350 */
51267 if (UNTAG_Bool(REGB0)) {
51268 } else {
51269 fprintf(stderr, "Assert failed");
51270 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19350);
51271 nit_exit(1);
51272 }
51273 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
51274 fra.me.REG[0] = fra.me.REG[2];
51275 REGB0 = TAG_Int(12);
51276 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51277 /* ./parser//parser.nit:19361 */
51278 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
51279 stack_frame_head = fra.me.prev;
51280 return;
51281 }
51282 void parser___ReduceAction406___init(val_t p0, int* init_table){
51283 int itpos410 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction406].i;
51284 struct {struct stack_frame_t me;} fra;
51285 val_t tmp;
51286 if (init_table[itpos410]) return;
51287 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51288 fra.me.file = LOCATE_parser;
51289 fra.me.line = 19363;
51290 fra.me.meth = LOCATE_parser___ReduceAction406___init;
51291 fra.me.has_broke = 0;
51292 fra.me.REG_size = 1;
51293 fra.me.REG[0] = NIT_NULL;
51294 fra.me.REG[0] = p0;
51295 /* ./parser//parser.nit:19363 */
51296 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
51297 stack_frame_head = fra.me.prev;
51298 init_table[itpos410] = 1;
51299 return;
51300 }
51301 void parser___ReduceAction407___action(val_t p0, val_t p1){
51302 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
51303 val_t REGB0;
51304 val_t tmp;
51305 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51306 fra.me.file = LOCATE_parser;
51307 fra.me.line = 19367;
51308 fra.me.meth = LOCATE_parser___ReduceAction407___action;
51309 fra.me.has_broke = 0;
51310 fra.me.REG_size = 9;
51311 fra.me.REG[0] = NIT_NULL;
51312 fra.me.REG[1] = NIT_NULL;
51313 fra.me.REG[2] = NIT_NULL;
51314 fra.me.REG[3] = NIT_NULL;
51315 fra.me.REG[4] = NIT_NULL;
51316 fra.me.REG[5] = NIT_NULL;
51317 fra.me.REG[6] = NIT_NULL;
51318 fra.me.REG[7] = NIT_NULL;
51319 fra.me.REG[8] = NIT_NULL;
51320 fra.me.REG[0] = p0;
51321 fra.me.REG[1] = p1;
51322 fra.me.REG[0] = NIT_NULL;
51323 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51324 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51325 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51326 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51327 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51328 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51329 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51330 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51331 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
51332 /* ./parser//parser.nit:19379 */
51333 if (UNTAG_Bool(REGB0)) {
51334 } else {
51335 fprintf(stderr, "Assert failed");
51336 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19379);
51337 nit_exit(1);
51338 }
51339 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
51340 /* ./parser//parser.nit:19381 */
51341 if (UNTAG_Bool(REGB0)) {
51342 } else {
51343 fprintf(stderr, "Assert failed");
51344 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19381);
51345 nit_exit(1);
51346 }
51347 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
51348 /* ./parser//parser.nit:19383 */
51349 if (UNTAG_Bool(REGB0)) {
51350 } else {
51351 fprintf(stderr, "Assert failed");
51352 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19383);
51353 nit_exit(1);
51354 }
51355 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
51356 /* ./parser//parser.nit:19385 */
51357 if (UNTAG_Bool(REGB0)) {
51358 } else {
51359 fprintf(stderr, "Assert failed");
51360 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19385);
51361 nit_exit(1);
51362 }
51363 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
51364 /* ./parser//parser.nit:19387 */
51365 if (UNTAG_Bool(REGB0)) {
51366 } else {
51367 fprintf(stderr, "Assert failed");
51368 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19387);
51369 nit_exit(1);
51370 }
51371 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
51372 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
51373 /* ./parser//parser.nit:19392 */
51374 if (UNTAG_Bool(REGB0)) {
51375 } else {
51376 fprintf(stderr, "Assert failed");
51377 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19392);
51378 nit_exit(1);
51379 }
51380 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
51381 /* ./parser//parser.nit:19394 */
51382 if (UNTAG_Bool(REGB0)) {
51383 } else {
51384 fprintf(stderr, "Assert failed");
51385 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19394);
51386 nit_exit(1);
51387 }
51388 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
51389 fra.me.REG[0] = fra.me.REG[2];
51390 REGB0 = TAG_Int(12);
51391 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51392 /* ./parser//parser.nit:19405 */
51393 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
51394 stack_frame_head = fra.me.prev;
51395 return;
51396 }
51397 void parser___ReduceAction407___init(val_t p0, int* init_table){
51398 int itpos411 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction407].i;
51399 struct {struct stack_frame_t me;} fra;
51400 val_t tmp;
51401 if (init_table[itpos411]) return;
51402 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51403 fra.me.file = LOCATE_parser;
51404 fra.me.line = 19407;
51405 fra.me.meth = LOCATE_parser___ReduceAction407___init;
51406 fra.me.has_broke = 0;
51407 fra.me.REG_size = 1;
51408 fra.me.REG[0] = NIT_NULL;
51409 fra.me.REG[0] = p0;
51410 /* ./parser//parser.nit:19407 */
51411 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
51412 stack_frame_head = fra.me.prev;
51413 init_table[itpos411] = 1;
51414 return;
51415 }
51416 void parser___ReduceAction408___action(val_t p0, val_t p1){
51417 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
51418 val_t REGB0;
51419 val_t tmp;
51420 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51421 fra.me.file = LOCATE_parser;
51422 fra.me.line = 19411;
51423 fra.me.meth = LOCATE_parser___ReduceAction408___action;
51424 fra.me.has_broke = 0;
51425 fra.me.REG_size = 9;
51426 fra.me.REG[0] = NIT_NULL;
51427 fra.me.REG[1] = NIT_NULL;
51428 fra.me.REG[2] = NIT_NULL;
51429 fra.me.REG[3] = NIT_NULL;
51430 fra.me.REG[4] = NIT_NULL;
51431 fra.me.REG[5] = NIT_NULL;
51432 fra.me.REG[6] = NIT_NULL;
51433 fra.me.REG[7] = NIT_NULL;
51434 fra.me.REG[8] = NIT_NULL;
51435 fra.me.REG[0] = p0;
51436 fra.me.REG[1] = p1;
51437 fra.me.REG[0] = NIT_NULL;
51438 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51439 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51440 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51441 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51442 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51443 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51444 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51445 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51446 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
51447 /* ./parser//parser.nit:19423 */
51448 if (UNTAG_Bool(REGB0)) {
51449 } else {
51450 fprintf(stderr, "Assert failed");
51451 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19423);
51452 nit_exit(1);
51453 }
51454 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
51455 /* ./parser//parser.nit:19425 */
51456 if (UNTAG_Bool(REGB0)) {
51457 } else {
51458 fprintf(stderr, "Assert failed");
51459 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19425);
51460 nit_exit(1);
51461 }
51462 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
51463 /* ./parser//parser.nit:19427 */
51464 if (UNTAG_Bool(REGB0)) {
51465 } else {
51466 fprintf(stderr, "Assert failed");
51467 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19427);
51468 nit_exit(1);
51469 }
51470 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
51471 /* ./parser//parser.nit:19429 */
51472 if (UNTAG_Bool(REGB0)) {
51473 } else {
51474 fprintf(stderr, "Assert failed");
51475 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19429);
51476 nit_exit(1);
51477 }
51478 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
51479 /* ./parser//parser.nit:19431 */
51480 if (UNTAG_Bool(REGB0)) {
51481 } else {
51482 fprintf(stderr, "Assert failed");
51483 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19431);
51484 nit_exit(1);
51485 }
51486 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
51487 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
51488 /* ./parser//parser.nit:19436 */
51489 if (UNTAG_Bool(REGB0)) {
51490 } else {
51491 fprintf(stderr, "Assert failed");
51492 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19436);
51493 nit_exit(1);
51494 }
51495 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
51496 /* ./parser//parser.nit:19438 */
51497 if (UNTAG_Bool(REGB0)) {
51498 } else {
51499 fprintf(stderr, "Assert failed");
51500 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19438);
51501 nit_exit(1);
51502 }
51503 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
51504 fra.me.REG[0] = fra.me.REG[2];
51505 REGB0 = TAG_Int(12);
51506 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51507 /* ./parser//parser.nit:19449 */
51508 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
51509 stack_frame_head = fra.me.prev;
51510 return;
51511 }
51512 void parser___ReduceAction408___init(val_t p0, int* init_table){
51513 int itpos412 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction408].i;
51514 struct {struct stack_frame_t me;} fra;
51515 val_t tmp;
51516 if (init_table[itpos412]) return;
51517 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51518 fra.me.file = LOCATE_parser;
51519 fra.me.line = 19451;
51520 fra.me.meth = LOCATE_parser___ReduceAction408___init;
51521 fra.me.has_broke = 0;
51522 fra.me.REG_size = 1;
51523 fra.me.REG[0] = NIT_NULL;
51524 fra.me.REG[0] = p0;
51525 /* ./parser//parser.nit:19451 */
51526 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
51527 stack_frame_head = fra.me.prev;
51528 init_table[itpos412] = 1;
51529 return;
51530 }
51531 void parser___ReduceAction409___action(val_t p0, val_t p1){
51532 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
51533 val_t REGB0;
51534 val_t tmp;
51535 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51536 fra.me.file = LOCATE_parser;
51537 fra.me.line = 19455;
51538 fra.me.meth = LOCATE_parser___ReduceAction409___action;
51539 fra.me.has_broke = 0;
51540 fra.me.REG_size = 9;
51541 fra.me.REG[0] = NIT_NULL;
51542 fra.me.REG[1] = NIT_NULL;
51543 fra.me.REG[2] = NIT_NULL;
51544 fra.me.REG[3] = NIT_NULL;
51545 fra.me.REG[4] = NIT_NULL;
51546 fra.me.REG[5] = NIT_NULL;
51547 fra.me.REG[6] = NIT_NULL;
51548 fra.me.REG[7] = NIT_NULL;
51549 fra.me.REG[8] = NIT_NULL;
51550 fra.me.REG[0] = p0;
51551 fra.me.REG[1] = p1;
51552 fra.me.REG[0] = NIT_NULL;
51553 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51554 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51555 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51556 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51557 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51558 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51559 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51560 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51561 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
51562 /* ./parser//parser.nit:19467 */
51563 if (UNTAG_Bool(REGB0)) {
51564 } else {
51565 fprintf(stderr, "Assert failed");
51566 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19467);
51567 nit_exit(1);
51568 }
51569 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
51570 /* ./parser//parser.nit:19469 */
51571 if (UNTAG_Bool(REGB0)) {
51572 } else {
51573 fprintf(stderr, "Assert failed");
51574 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19469);
51575 nit_exit(1);
51576 }
51577 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
51578 /* ./parser//parser.nit:19471 */
51579 if (UNTAG_Bool(REGB0)) {
51580 } else {
51581 fprintf(stderr, "Assert failed");
51582 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19471);
51583 nit_exit(1);
51584 }
51585 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
51586 /* ./parser//parser.nit:19473 */
51587 if (UNTAG_Bool(REGB0)) {
51588 } else {
51589 fprintf(stderr, "Assert failed");
51590 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19473);
51591 nit_exit(1);
51592 }
51593 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
51594 /* ./parser//parser.nit:19475 */
51595 if (UNTAG_Bool(REGB0)) {
51596 } else {
51597 fprintf(stderr, "Assert failed");
51598 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19475);
51599 nit_exit(1);
51600 }
51601 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
51602 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
51603 /* ./parser//parser.nit:19480 */
51604 if (UNTAG_Bool(REGB0)) {
51605 } else {
51606 fprintf(stderr, "Assert failed");
51607 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19480);
51608 nit_exit(1);
51609 }
51610 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
51611 /* ./parser//parser.nit:19482 */
51612 if (UNTAG_Bool(REGB0)) {
51613 } else {
51614 fprintf(stderr, "Assert failed");
51615 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19482);
51616 nit_exit(1);
51617 }
51618 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
51619 fra.me.REG[0] = fra.me.REG[2];
51620 REGB0 = TAG_Int(12);
51621 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51622 /* ./parser//parser.nit:19493 */
51623 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
51624 stack_frame_head = fra.me.prev;
51625 return;
51626 }
51627 void parser___ReduceAction409___init(val_t p0, int* init_table){
51628 int itpos413 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction409].i;
51629 struct {struct stack_frame_t me;} fra;
51630 val_t tmp;
51631 if (init_table[itpos413]) return;
51632 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51633 fra.me.file = LOCATE_parser;
51634 fra.me.line = 19495;
51635 fra.me.meth = LOCATE_parser___ReduceAction409___init;
51636 fra.me.has_broke = 0;
51637 fra.me.REG_size = 1;
51638 fra.me.REG[0] = NIT_NULL;
51639 fra.me.REG[0] = p0;
51640 /* ./parser//parser.nit:19495 */
51641 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
51642 stack_frame_head = fra.me.prev;
51643 init_table[itpos413] = 1;
51644 return;
51645 }
51646 void parser___ReduceAction410___action(val_t p0, val_t p1){
51647 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
51648 val_t REGB0;
51649 val_t tmp;
51650 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51651 fra.me.file = LOCATE_parser;
51652 fra.me.line = 19499;
51653 fra.me.meth = LOCATE_parser___ReduceAction410___action;
51654 fra.me.has_broke = 0;
51655 fra.me.REG_size = 9;
51656 fra.me.REG[0] = NIT_NULL;
51657 fra.me.REG[1] = NIT_NULL;
51658 fra.me.REG[2] = NIT_NULL;
51659 fra.me.REG[3] = NIT_NULL;
51660 fra.me.REG[4] = NIT_NULL;
51661 fra.me.REG[5] = NIT_NULL;
51662 fra.me.REG[6] = NIT_NULL;
51663 fra.me.REG[7] = NIT_NULL;
51664 fra.me.REG[8] = NIT_NULL;
51665 fra.me.REG[0] = p0;
51666 fra.me.REG[1] = p1;
51667 fra.me.REG[0] = NIT_NULL;
51668 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51669 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51670 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51671 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51672 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51673 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51674 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51675 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51676 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
51677 /* ./parser//parser.nit:19511 */
51678 if (UNTAG_Bool(REGB0)) {
51679 } else {
51680 fprintf(stderr, "Assert failed");
51681 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19511);
51682 nit_exit(1);
51683 }
51684 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
51685 /* ./parser//parser.nit:19513 */
51686 if (UNTAG_Bool(REGB0)) {
51687 } else {
51688 fprintf(stderr, "Assert failed");
51689 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19513);
51690 nit_exit(1);
51691 }
51692 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
51693 /* ./parser//parser.nit:19515 */
51694 if (UNTAG_Bool(REGB0)) {
51695 } else {
51696 fprintf(stderr, "Assert failed");
51697 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19515);
51698 nit_exit(1);
51699 }
51700 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
51701 /* ./parser//parser.nit:19517 */
51702 if (UNTAG_Bool(REGB0)) {
51703 } else {
51704 fprintf(stderr, "Assert failed");
51705 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19517);
51706 nit_exit(1);
51707 }
51708 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
51709 /* ./parser//parser.nit:19519 */
51710 if (UNTAG_Bool(REGB0)) {
51711 } else {
51712 fprintf(stderr, "Assert failed");
51713 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19519);
51714 nit_exit(1);
51715 }
51716 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
51717 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
51718 /* ./parser//parser.nit:19524 */
51719 if (UNTAG_Bool(REGB0)) {
51720 } else {
51721 fprintf(stderr, "Assert failed");
51722 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19524);
51723 nit_exit(1);
51724 }
51725 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
51726 /* ./parser//parser.nit:19526 */
51727 if (UNTAG_Bool(REGB0)) {
51728 } else {
51729 fprintf(stderr, "Assert failed");
51730 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19526);
51731 nit_exit(1);
51732 }
51733 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
51734 fra.me.REG[0] = fra.me.REG[2];
51735 REGB0 = TAG_Int(12);
51736 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51737 /* ./parser//parser.nit:19537 */
51738 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
51739 stack_frame_head = fra.me.prev;
51740 return;
51741 }
51742 void parser___ReduceAction410___init(val_t p0, int* init_table){
51743 int itpos414 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction410].i;
51744 struct {struct stack_frame_t me;} fra;
51745 val_t tmp;
51746 if (init_table[itpos414]) return;
51747 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51748 fra.me.file = LOCATE_parser;
51749 fra.me.line = 19539;
51750 fra.me.meth = LOCATE_parser___ReduceAction410___init;
51751 fra.me.has_broke = 0;
51752 fra.me.REG_size = 1;
51753 fra.me.REG[0] = NIT_NULL;
51754 fra.me.REG[0] = p0;
51755 /* ./parser//parser.nit:19539 */
51756 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
51757 stack_frame_head = fra.me.prev;
51758 init_table[itpos414] = 1;
51759 return;
51760 }
51761 void parser___ReduceAction411___action(val_t p0, val_t p1){
51762 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
51763 val_t REGB0;
51764 val_t tmp;
51765 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51766 fra.me.file = LOCATE_parser;
51767 fra.me.line = 19543;
51768 fra.me.meth = LOCATE_parser___ReduceAction411___action;
51769 fra.me.has_broke = 0;
51770 fra.me.REG_size = 9;
51771 fra.me.REG[0] = NIT_NULL;
51772 fra.me.REG[1] = NIT_NULL;
51773 fra.me.REG[2] = NIT_NULL;
51774 fra.me.REG[3] = NIT_NULL;
51775 fra.me.REG[4] = NIT_NULL;
51776 fra.me.REG[5] = NIT_NULL;
51777 fra.me.REG[6] = NIT_NULL;
51778 fra.me.REG[7] = NIT_NULL;
51779 fra.me.REG[8] = NIT_NULL;
51780 fra.me.REG[0] = p0;
51781 fra.me.REG[1] = p1;
51782 fra.me.REG[0] = NIT_NULL;
51783 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51784 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51785 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51786 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51787 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51788 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51789 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51790 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51791 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
51792 /* ./parser//parser.nit:19555 */
51793 if (UNTAG_Bool(REGB0)) {
51794 } else {
51795 fprintf(stderr, "Assert failed");
51796 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19555);
51797 nit_exit(1);
51798 }
51799 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
51800 /* ./parser//parser.nit:19557 */
51801 if (UNTAG_Bool(REGB0)) {
51802 } else {
51803 fprintf(stderr, "Assert failed");
51804 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19557);
51805 nit_exit(1);
51806 }
51807 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
51808 /* ./parser//parser.nit:19559 */
51809 if (UNTAG_Bool(REGB0)) {
51810 } else {
51811 fprintf(stderr, "Assert failed");
51812 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19559);
51813 nit_exit(1);
51814 }
51815 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
51816 /* ./parser//parser.nit:19561 */
51817 if (UNTAG_Bool(REGB0)) {
51818 } else {
51819 fprintf(stderr, "Assert failed");
51820 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19561);
51821 nit_exit(1);
51822 }
51823 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
51824 /* ./parser//parser.nit:19563 */
51825 if (UNTAG_Bool(REGB0)) {
51826 } else {
51827 fprintf(stderr, "Assert failed");
51828 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19563);
51829 nit_exit(1);
51830 }
51831 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
51832 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
51833 /* ./parser//parser.nit:19568 */
51834 if (UNTAG_Bool(REGB0)) {
51835 } else {
51836 fprintf(stderr, "Assert failed");
51837 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19568);
51838 nit_exit(1);
51839 }
51840 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
51841 /* ./parser//parser.nit:19570 */
51842 if (UNTAG_Bool(REGB0)) {
51843 } else {
51844 fprintf(stderr, "Assert failed");
51845 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19570);
51846 nit_exit(1);
51847 }
51848 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
51849 fra.me.REG[0] = fra.me.REG[2];
51850 REGB0 = TAG_Int(12);
51851 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51852 /* ./parser//parser.nit:19581 */
51853 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
51854 stack_frame_head = fra.me.prev;
51855 return;
51856 }
51857 void parser___ReduceAction411___init(val_t p0, int* init_table){
51858 int itpos415 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction411].i;
51859 struct {struct stack_frame_t me;} fra;
51860 val_t tmp;
51861 if (init_table[itpos415]) return;
51862 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51863 fra.me.file = LOCATE_parser;
51864 fra.me.line = 19583;
51865 fra.me.meth = LOCATE_parser___ReduceAction411___init;
51866 fra.me.has_broke = 0;
51867 fra.me.REG_size = 1;
51868 fra.me.REG[0] = NIT_NULL;
51869 fra.me.REG[0] = p0;
51870 /* ./parser//parser.nit:19583 */
51871 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
51872 stack_frame_head = fra.me.prev;
51873 init_table[itpos415] = 1;
51874 return;
51875 }
51876 void parser___ReduceAction412___action(val_t p0, val_t p1){
51877 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
51878 val_t REGB0;
51879 val_t tmp;
51880 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51881 fra.me.file = LOCATE_parser;
51882 fra.me.line = 19587;
51883 fra.me.meth = LOCATE_parser___ReduceAction412___action;
51884 fra.me.has_broke = 0;
51885 fra.me.REG_size = 10;
51886 fra.me.REG[0] = NIT_NULL;
51887 fra.me.REG[1] = NIT_NULL;
51888 fra.me.REG[2] = NIT_NULL;
51889 fra.me.REG[3] = NIT_NULL;
51890 fra.me.REG[4] = NIT_NULL;
51891 fra.me.REG[5] = NIT_NULL;
51892 fra.me.REG[6] = NIT_NULL;
51893 fra.me.REG[7] = NIT_NULL;
51894 fra.me.REG[8] = NIT_NULL;
51895 fra.me.REG[9] = NIT_NULL;
51896 fra.me.REG[0] = p0;
51897 fra.me.REG[1] = p1;
51898 fra.me.REG[0] = NIT_NULL;
51899 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51900 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51901 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51902 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51903 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51904 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51905 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51906 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51907 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
51908 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
51909 /* ./parser//parser.nit:19600 */
51910 if (UNTAG_Bool(REGB0)) {
51911 } else {
51912 fprintf(stderr, "Assert failed");
51913 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19600);
51914 nit_exit(1);
51915 }
51916 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
51917 /* ./parser//parser.nit:19602 */
51918 if (UNTAG_Bool(REGB0)) {
51919 } else {
51920 fprintf(stderr, "Assert failed");
51921 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19602);
51922 nit_exit(1);
51923 }
51924 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
51925 /* ./parser//parser.nit:19604 */
51926 if (UNTAG_Bool(REGB0)) {
51927 } else {
51928 fprintf(stderr, "Assert failed");
51929 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19604);
51930 nit_exit(1);
51931 }
51932 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
51933 /* ./parser//parser.nit:19606 */
51934 if (UNTAG_Bool(REGB0)) {
51935 } else {
51936 fprintf(stderr, "Assert failed");
51937 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19606);
51938 nit_exit(1);
51939 }
51940 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
51941 /* ./parser//parser.nit:19608 */
51942 if (UNTAG_Bool(REGB0)) {
51943 } else {
51944 fprintf(stderr, "Assert failed");
51945 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19608);
51946 nit_exit(1);
51947 }
51948 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
51949 /* ./parser//parser.nit:19610 */
51950 if (UNTAG_Bool(REGB0)) {
51951 } else {
51952 fprintf(stderr, "Assert failed");
51953 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19610);
51954 nit_exit(1);
51955 }
51956 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
51957 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
51958 /* ./parser//parser.nit:19616 */
51959 if (UNTAG_Bool(REGB0)) {
51960 } else {
51961 fprintf(stderr, "Assert failed");
51962 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19616);
51963 nit_exit(1);
51964 }
51965 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
51966 /* ./parser//parser.nit:19618 */
51967 if (UNTAG_Bool(REGB0)) {
51968 } else {
51969 fprintf(stderr, "Assert failed");
51970 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19618);
51971 nit_exit(1);
51972 }
51973 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
51974 fra.me.REG[0] = fra.me.REG[2];
51975 REGB0 = TAG_Int(12);
51976 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
51977 /* ./parser//parser.nit:19629 */
51978 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
51979 stack_frame_head = fra.me.prev;
51980 return;
51981 }
51982 void parser___ReduceAction412___init(val_t p0, int* init_table){
51983 int itpos416 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction412].i;
51984 struct {struct stack_frame_t me;} fra;
51985 val_t tmp;
51986 if (init_table[itpos416]) return;
51987 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51988 fra.me.file = LOCATE_parser;
51989 fra.me.line = 19631;
51990 fra.me.meth = LOCATE_parser___ReduceAction412___init;
51991 fra.me.has_broke = 0;
51992 fra.me.REG_size = 1;
51993 fra.me.REG[0] = NIT_NULL;
51994 fra.me.REG[0] = p0;
51995 /* ./parser//parser.nit:19631 */
51996 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
51997 stack_frame_head = fra.me.prev;
51998 init_table[itpos416] = 1;
51999 return;
52000 }
52001 void parser___ReduceAction413___action(val_t p0, val_t p1){
52002 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
52003 val_t REGB0;
52004 val_t tmp;
52005 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52006 fra.me.file = LOCATE_parser;
52007 fra.me.line = 19635;
52008 fra.me.meth = LOCATE_parser___ReduceAction413___action;
52009 fra.me.has_broke = 0;
52010 fra.me.REG_size = 9;
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[5] = NIT_NULL;
52017 fra.me.REG[6] = NIT_NULL;
52018 fra.me.REG[7] = NIT_NULL;
52019 fra.me.REG[8] = NIT_NULL;
52020 fra.me.REG[0] = p0;
52021 fra.me.REG[1] = p1;
52022 fra.me.REG[0] = NIT_NULL;
52023 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52024 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52025 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52026 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52027 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52028 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52029 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52030 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52031 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
52032 /* ./parser//parser.nit:19647 */
52033 if (UNTAG_Bool(REGB0)) {
52034 } else {
52035 fprintf(stderr, "Assert failed");
52036 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19647);
52037 nit_exit(1);
52038 }
52039 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
52040 /* ./parser//parser.nit:19649 */
52041 if (UNTAG_Bool(REGB0)) {
52042 } else {
52043 fprintf(stderr, "Assert failed");
52044 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19649);
52045 nit_exit(1);
52046 }
52047 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
52048 /* ./parser//parser.nit:19651 */
52049 if (UNTAG_Bool(REGB0)) {
52050 } else {
52051 fprintf(stderr, "Assert failed");
52052 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19651);
52053 nit_exit(1);
52054 }
52055 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
52056 /* ./parser//parser.nit:19653 */
52057 if (UNTAG_Bool(REGB0)) {
52058 } else {
52059 fprintf(stderr, "Assert failed");
52060 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19653);
52061 nit_exit(1);
52062 }
52063 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
52064 /* ./parser//parser.nit:19655 */
52065 if (UNTAG_Bool(REGB0)) {
52066 } else {
52067 fprintf(stderr, "Assert failed");
52068 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19655);
52069 nit_exit(1);
52070 }
52071 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
52072 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
52073 /* ./parser//parser.nit:19660 */
52074 if (UNTAG_Bool(REGB0)) {
52075 } else {
52076 fprintf(stderr, "Assert failed");
52077 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19660);
52078 nit_exit(1);
52079 }
52080 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
52081 /* ./parser//parser.nit:19662 */
52082 if (UNTAG_Bool(REGB0)) {
52083 } else {
52084 fprintf(stderr, "Assert failed");
52085 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19662);
52086 nit_exit(1);
52087 }
52088 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
52089 fra.me.REG[0] = fra.me.REG[2];
52090 REGB0 = TAG_Int(12);
52091 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52092 /* ./parser//parser.nit:19673 */
52093 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
52094 stack_frame_head = fra.me.prev;
52095 return;
52096 }
52097 void parser___ReduceAction413___init(val_t p0, int* init_table){
52098 int itpos417 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction413].i;
52099 struct {struct stack_frame_t me;} fra;
52100 val_t tmp;
52101 if (init_table[itpos417]) return;
52102 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52103 fra.me.file = LOCATE_parser;
52104 fra.me.line = 19675;
52105 fra.me.meth = LOCATE_parser___ReduceAction413___init;
52106 fra.me.has_broke = 0;
52107 fra.me.REG_size = 1;
52108 fra.me.REG[0] = NIT_NULL;
52109 fra.me.REG[0] = p0;
52110 /* ./parser//parser.nit:19675 */
52111 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
52112 stack_frame_head = fra.me.prev;
52113 init_table[itpos417] = 1;
52114 return;
52115 }
52116 void parser___ReduceAction414___action(val_t p0, val_t p1){
52117 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
52118 val_t REGB0;
52119 val_t tmp;
52120 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52121 fra.me.file = LOCATE_parser;
52122 fra.me.line = 19679;
52123 fra.me.meth = LOCATE_parser___ReduceAction414___action;
52124 fra.me.has_broke = 0;
52125 fra.me.REG_size = 10;
52126 fra.me.REG[0] = NIT_NULL;
52127 fra.me.REG[1] = NIT_NULL;
52128 fra.me.REG[2] = NIT_NULL;
52129 fra.me.REG[3] = NIT_NULL;
52130 fra.me.REG[4] = NIT_NULL;
52131 fra.me.REG[5] = NIT_NULL;
52132 fra.me.REG[6] = NIT_NULL;
52133 fra.me.REG[7] = NIT_NULL;
52134 fra.me.REG[8] = NIT_NULL;
52135 fra.me.REG[9] = NIT_NULL;
52136 fra.me.REG[0] = p0;
52137 fra.me.REG[1] = p1;
52138 fra.me.REG[0] = NIT_NULL;
52139 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52140 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52141 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52142 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52143 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52144 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52145 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52146 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52147 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52148 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
52149 /* ./parser//parser.nit:19692 */
52150 if (UNTAG_Bool(REGB0)) {
52151 } else {
52152 fprintf(stderr, "Assert failed");
52153 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19692);
52154 nit_exit(1);
52155 }
52156 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
52157 /* ./parser//parser.nit:19694 */
52158 if (UNTAG_Bool(REGB0)) {
52159 } else {
52160 fprintf(stderr, "Assert failed");
52161 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19694);
52162 nit_exit(1);
52163 }
52164 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
52165 /* ./parser//parser.nit:19696 */
52166 if (UNTAG_Bool(REGB0)) {
52167 } else {
52168 fprintf(stderr, "Assert failed");
52169 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19696);
52170 nit_exit(1);
52171 }
52172 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
52173 /* ./parser//parser.nit:19698 */
52174 if (UNTAG_Bool(REGB0)) {
52175 } else {
52176 fprintf(stderr, "Assert failed");
52177 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19698);
52178 nit_exit(1);
52179 }
52180 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
52181 /* ./parser//parser.nit:19700 */
52182 if (UNTAG_Bool(REGB0)) {
52183 } else {
52184 fprintf(stderr, "Assert failed");
52185 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19700);
52186 nit_exit(1);
52187 }
52188 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
52189 /* ./parser//parser.nit:19702 */
52190 if (UNTAG_Bool(REGB0)) {
52191 } else {
52192 fprintf(stderr, "Assert failed");
52193 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19702);
52194 nit_exit(1);
52195 }
52196 fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
52197 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
52198 /* ./parser//parser.nit:19708 */
52199 if (UNTAG_Bool(REGB0)) {
52200 } else {
52201 fprintf(stderr, "Assert failed");
52202 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19708);
52203 nit_exit(1);
52204 }
52205 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
52206 /* ./parser//parser.nit:19710 */
52207 if (UNTAG_Bool(REGB0)) {
52208 } else {
52209 fprintf(stderr, "Assert failed");
52210 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19710);
52211 nit_exit(1);
52212 }
52213 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
52214 fra.me.REG[0] = fra.me.REG[2];
52215 REGB0 = TAG_Int(12);
52216 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52217 /* ./parser//parser.nit:19721 */
52218 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
52219 stack_frame_head = fra.me.prev;
52220 return;
52221 }
52222 void parser___ReduceAction414___init(val_t p0, int* init_table){
52223 int itpos418 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction414].i;
52224 struct {struct stack_frame_t me;} fra;
52225 val_t tmp;
52226 if (init_table[itpos418]) return;
52227 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52228 fra.me.file = LOCATE_parser;
52229 fra.me.line = 19723;
52230 fra.me.meth = LOCATE_parser___ReduceAction414___init;
52231 fra.me.has_broke = 0;
52232 fra.me.REG_size = 1;
52233 fra.me.REG[0] = NIT_NULL;
52234 fra.me.REG[0] = p0;
52235 /* ./parser//parser.nit:19723 */
52236 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
52237 stack_frame_head = fra.me.prev;
52238 init_table[itpos418] = 1;
52239 return;
52240 }
52241 void parser___ReduceAction415___action(val_t p0, val_t p1){
52242 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
52243 val_t REGB0;
52244 val_t tmp;
52245 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52246 fra.me.file = LOCATE_parser;
52247 fra.me.line = 19727;
52248 fra.me.meth = LOCATE_parser___ReduceAction415___action;
52249 fra.me.has_broke = 0;
52250 fra.me.REG_size = 11;
52251 fra.me.REG[0] = NIT_NULL;
52252 fra.me.REG[1] = NIT_NULL;
52253 fra.me.REG[2] = NIT_NULL;
52254 fra.me.REG[3] = NIT_NULL;
52255 fra.me.REG[4] = NIT_NULL;
52256 fra.me.REG[5] = NIT_NULL;
52257 fra.me.REG[6] = NIT_NULL;
52258 fra.me.REG[7] = NIT_NULL;
52259 fra.me.REG[8] = NIT_NULL;
52260 fra.me.REG[9] = NIT_NULL;
52261 fra.me.REG[10] = NIT_NULL;
52262 fra.me.REG[0] = p0;
52263 fra.me.REG[1] = p1;
52264 fra.me.REG[0] = NIT_NULL;
52265 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52266 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52267 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52268 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52269 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52270 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52271 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52272 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52273 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52274 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52275 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
52276 /* ./parser//parser.nit:19741 */
52277 if (UNTAG_Bool(REGB0)) {
52278 } else {
52279 fprintf(stderr, "Assert failed");
52280 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19741);
52281 nit_exit(1);
52282 }
52283 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
52284 /* ./parser//parser.nit:19743 */
52285 if (UNTAG_Bool(REGB0)) {
52286 } else {
52287 fprintf(stderr, "Assert failed");
52288 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19743);
52289 nit_exit(1);
52290 }
52291 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
52292 /* ./parser//parser.nit:19745 */
52293 if (UNTAG_Bool(REGB0)) {
52294 } else {
52295 fprintf(stderr, "Assert failed");
52296 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19745);
52297 nit_exit(1);
52298 }
52299 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
52300 /* ./parser//parser.nit:19747 */
52301 if (UNTAG_Bool(REGB0)) {
52302 } else {
52303 fprintf(stderr, "Assert failed");
52304 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19747);
52305 nit_exit(1);
52306 }
52307 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
52308 /* ./parser//parser.nit:19749 */
52309 if (UNTAG_Bool(REGB0)) {
52310 } else {
52311 fprintf(stderr, "Assert failed");
52312 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19749);
52313 nit_exit(1);
52314 }
52315 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
52316 /* ./parser//parser.nit:19751 */
52317 if (UNTAG_Bool(REGB0)) {
52318 } else {
52319 fprintf(stderr, "Assert failed");
52320 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19751);
52321 nit_exit(1);
52322 }
52323 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
52324 /* ./parser//parser.nit:19753 */
52325 if (UNTAG_Bool(REGB0)) {
52326 } else {
52327 fprintf(stderr, "Assert failed");
52328 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19753);
52329 nit_exit(1);
52330 }
52331 fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
52332 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
52333 /* ./parser//parser.nit:19760 */
52334 if (UNTAG_Bool(REGB0)) {
52335 } else {
52336 fprintf(stderr, "Assert failed");
52337 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19760);
52338 nit_exit(1);
52339 }
52340 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
52341 /* ./parser//parser.nit:19762 */
52342 if (UNTAG_Bool(REGB0)) {
52343 } else {
52344 fprintf(stderr, "Assert failed");
52345 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19762);
52346 nit_exit(1);
52347 }
52348 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
52349 fra.me.REG[0] = fra.me.REG[2];
52350 REGB0 = TAG_Int(12);
52351 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52352 /* ./parser//parser.nit:19773 */
52353 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
52354 stack_frame_head = fra.me.prev;
52355 return;
52356 }
52357 void parser___ReduceAction415___init(val_t p0, int* init_table){
52358 int itpos419 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction415].i;
52359 struct {struct stack_frame_t me;} fra;
52360 val_t tmp;
52361 if (init_table[itpos419]) return;
52362 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52363 fra.me.file = LOCATE_parser;
52364 fra.me.line = 19775;
52365 fra.me.meth = LOCATE_parser___ReduceAction415___init;
52366 fra.me.has_broke = 0;
52367 fra.me.REG_size = 1;
52368 fra.me.REG[0] = NIT_NULL;
52369 fra.me.REG[0] = p0;
52370 /* ./parser//parser.nit:19775 */
52371 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
52372 stack_frame_head = fra.me.prev;
52373 init_table[itpos419] = 1;
52374 return;
52375 }
52376 void parser___ReduceAction416___action(val_t p0, val_t p1){
52377 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
52378 val_t REGB0;
52379 val_t tmp;
52380 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52381 fra.me.file = LOCATE_parser;
52382 fra.me.line = 19779;
52383 fra.me.meth = LOCATE_parser___ReduceAction416___action;
52384 fra.me.has_broke = 0;
52385 fra.me.REG_size = 7;
52386 fra.me.REG[0] = NIT_NULL;
52387 fra.me.REG[1] = NIT_NULL;
52388 fra.me.REG[2] = NIT_NULL;
52389 fra.me.REG[3] = NIT_NULL;
52390 fra.me.REG[4] = NIT_NULL;
52391 fra.me.REG[5] = NIT_NULL;
52392 fra.me.REG[6] = NIT_NULL;
52393 fra.me.REG[0] = p0;
52394 fra.me.REG[1] = p1;
52395 fra.me.REG[0] = NIT_NULL;
52396 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52397 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52398 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52399 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52400 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52401 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52402 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52403 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
52404 /* ./parser//parser.nit:19790 */
52405 if (UNTAG_Bool(REGB0)) {
52406 } else {
52407 fprintf(stderr, "Assert failed");
52408 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19790);
52409 nit_exit(1);
52410 }
52411 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
52412 /* ./parser//parser.nit:19792 */
52413 if (UNTAG_Bool(REGB0)) {
52414 } else {
52415 fprintf(stderr, "Assert failed");
52416 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19792);
52417 nit_exit(1);
52418 }
52419 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
52420 /* ./parser//parser.nit:19794 */
52421 if (UNTAG_Bool(REGB0)) {
52422 } else {
52423 fprintf(stderr, "Assert failed");
52424 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19794);
52425 nit_exit(1);
52426 }
52427 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
52428 /* ./parser//parser.nit:19796 */
52429 if (UNTAG_Bool(REGB0)) {
52430 } else {
52431 fprintf(stderr, "Assert failed");
52432 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19796);
52433 nit_exit(1);
52434 }
52435 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
52436 /* ./parser//parser.nit:19798 */
52437 if (UNTAG_Bool(REGB0)) {
52438 } else {
52439 fprintf(stderr, "Assert failed");
52440 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19798);
52441 nit_exit(1);
52442 }
52443 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]);
52444 fra.me.REG[0] = fra.me.REG[2];
52445 REGB0 = TAG_Int(12);
52446 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52447 /* ./parser//parser.nit:19809 */
52448 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
52449 stack_frame_head = fra.me.prev;
52450 return;
52451 }
52452 void parser___ReduceAction416___init(val_t p0, int* init_table){
52453 int itpos420 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction416].i;
52454 struct {struct stack_frame_t me;} fra;
52455 val_t tmp;
52456 if (init_table[itpos420]) return;
52457 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52458 fra.me.file = LOCATE_parser;
52459 fra.me.line = 19811;
52460 fra.me.meth = LOCATE_parser___ReduceAction416___init;
52461 fra.me.has_broke = 0;
52462 fra.me.REG_size = 1;
52463 fra.me.REG[0] = NIT_NULL;
52464 fra.me.REG[0] = p0;
52465 /* ./parser//parser.nit:19811 */
52466 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
52467 stack_frame_head = fra.me.prev;
52468 init_table[itpos420] = 1;
52469 return;
52470 }
52471 void parser___ReduceAction417___action(val_t p0, val_t p1){
52472 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
52473 val_t REGB0;
52474 val_t tmp;
52475 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52476 fra.me.file = LOCATE_parser;
52477 fra.me.line = 19815;
52478 fra.me.meth = LOCATE_parser___ReduceAction417___action;
52479 fra.me.has_broke = 0;
52480 fra.me.REG_size = 8;
52481 fra.me.REG[0] = NIT_NULL;
52482 fra.me.REG[1] = NIT_NULL;
52483 fra.me.REG[2] = NIT_NULL;
52484 fra.me.REG[3] = NIT_NULL;
52485 fra.me.REG[4] = NIT_NULL;
52486 fra.me.REG[5] = NIT_NULL;
52487 fra.me.REG[6] = NIT_NULL;
52488 fra.me.REG[7] = NIT_NULL;
52489 fra.me.REG[0] = p0;
52490 fra.me.REG[1] = p1;
52491 fra.me.REG[0] = NIT_NULL;
52492 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52493 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52494 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52495 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52496 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52497 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52498 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52499 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52500 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
52501 /* ./parser//parser.nit:19827 */
52502 if (UNTAG_Bool(REGB0)) {
52503 } else {
52504 fprintf(stderr, "Assert failed");
52505 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19827);
52506 nit_exit(1);
52507 }
52508 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
52509 /* ./parser//parser.nit:19829 */
52510 if (UNTAG_Bool(REGB0)) {
52511 } else {
52512 fprintf(stderr, "Assert failed");
52513 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19829);
52514 nit_exit(1);
52515 }
52516 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
52517 /* ./parser//parser.nit:19831 */
52518 if (UNTAG_Bool(REGB0)) {
52519 } else {
52520 fprintf(stderr, "Assert failed");
52521 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19831);
52522 nit_exit(1);
52523 }
52524 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
52525 /* ./parser//parser.nit:19833 */
52526 if (UNTAG_Bool(REGB0)) {
52527 } else {
52528 fprintf(stderr, "Assert failed");
52529 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19833);
52530 nit_exit(1);
52531 }
52532 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
52533 /* ./parser//parser.nit:19835 */
52534 if (UNTAG_Bool(REGB0)) {
52535 } else {
52536 fprintf(stderr, "Assert failed");
52537 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19835);
52538 nit_exit(1);
52539 }
52540 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
52541 /* ./parser//parser.nit:19837 */
52542 if (UNTAG_Bool(REGB0)) {
52543 } else {
52544 fprintf(stderr, "Assert failed");
52545 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19837);
52546 nit_exit(1);
52547 }
52548 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]);
52549 fra.me.REG[0] = fra.me.REG[2];
52550 REGB0 = TAG_Int(12);
52551 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52552 /* ./parser//parser.nit:19848 */
52553 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
52554 stack_frame_head = fra.me.prev;
52555 return;
52556 }
52557 void parser___ReduceAction417___init(val_t p0, int* init_table){
52558 int itpos421 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction417].i;
52559 struct {struct stack_frame_t me;} fra;
52560 val_t tmp;
52561 if (init_table[itpos421]) return;
52562 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52563 fra.me.file = LOCATE_parser;
52564 fra.me.line = 19850;
52565 fra.me.meth = LOCATE_parser___ReduceAction417___init;
52566 fra.me.has_broke = 0;
52567 fra.me.REG_size = 1;
52568 fra.me.REG[0] = NIT_NULL;
52569 fra.me.REG[0] = p0;
52570 /* ./parser//parser.nit:19850 */
52571 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
52572 stack_frame_head = fra.me.prev;
52573 init_table[itpos421] = 1;
52574 return;
52575 }
52576 void parser___ReduceAction418___action(val_t p0, val_t p1){
52577 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
52578 val_t REGB0;
52579 val_t tmp;
52580 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52581 fra.me.file = LOCATE_parser;
52582 fra.me.line = 19854;
52583 fra.me.meth = LOCATE_parser___ReduceAction418___action;
52584 fra.me.has_broke = 0;
52585 fra.me.REG_size = 8;
52586 fra.me.REG[0] = NIT_NULL;
52587 fra.me.REG[1] = NIT_NULL;
52588 fra.me.REG[2] = NIT_NULL;
52589 fra.me.REG[3] = NIT_NULL;
52590 fra.me.REG[4] = NIT_NULL;
52591 fra.me.REG[5] = NIT_NULL;
52592 fra.me.REG[6] = NIT_NULL;
52593 fra.me.REG[7] = NIT_NULL;
52594 fra.me.REG[0] = p0;
52595 fra.me.REG[1] = p1;
52596 fra.me.REG[0] = NIT_NULL;
52597 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52598 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52599 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52600 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52601 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52602 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52603 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52604 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52605 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
52606 /* ./parser//parser.nit:19866 */
52607 if (UNTAG_Bool(REGB0)) {
52608 } else {
52609 fprintf(stderr, "Assert failed");
52610 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19866);
52611 nit_exit(1);
52612 }
52613 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
52614 /* ./parser//parser.nit:19868 */
52615 if (UNTAG_Bool(REGB0)) {
52616 } else {
52617 fprintf(stderr, "Assert failed");
52618 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19868);
52619 nit_exit(1);
52620 }
52621 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
52622 /* ./parser//parser.nit:19870 */
52623 if (UNTAG_Bool(REGB0)) {
52624 } else {
52625 fprintf(stderr, "Assert failed");
52626 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19870);
52627 nit_exit(1);
52628 }
52629 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
52630 /* ./parser//parser.nit:19872 */
52631 if (UNTAG_Bool(REGB0)) {
52632 } else {
52633 fprintf(stderr, "Assert failed");
52634 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19872);
52635 nit_exit(1);
52636 }
52637 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
52638 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
52639 /* ./parser//parser.nit:19877 */
52640 if (UNTAG_Bool(REGB0)) {
52641 } else {
52642 fprintf(stderr, "Assert failed");
52643 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19877);
52644 nit_exit(1);
52645 }
52646 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
52647 /* ./parser//parser.nit:19879 */
52648 if (UNTAG_Bool(REGB0)) {
52649 } else {
52650 fprintf(stderr, "Assert failed");
52651 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19879);
52652 nit_exit(1);
52653 }
52654 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
52655 fra.me.REG[0] = fra.me.REG[2];
52656 REGB0 = TAG_Int(12);
52657 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52658 /* ./parser//parser.nit:19890 */
52659 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
52660 stack_frame_head = fra.me.prev;
52661 return;
52662 }
52663 void parser___ReduceAction418___init(val_t p0, int* init_table){
52664 int itpos422 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction418].i;
52665 struct {struct stack_frame_t me;} fra;
52666 val_t tmp;
52667 if (init_table[itpos422]) return;
52668 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52669 fra.me.file = LOCATE_parser;
52670 fra.me.line = 19892;
52671 fra.me.meth = LOCATE_parser___ReduceAction418___init;
52672 fra.me.has_broke = 0;
52673 fra.me.REG_size = 1;
52674 fra.me.REG[0] = NIT_NULL;
52675 fra.me.REG[0] = p0;
52676 /* ./parser//parser.nit:19892 */
52677 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
52678 stack_frame_head = fra.me.prev;
52679 init_table[itpos422] = 1;
52680 return;
52681 }
52682 void parser___ReduceAction419___action(val_t p0, val_t p1){
52683 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
52684 val_t REGB0;
52685 val_t tmp;
52686 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52687 fra.me.file = LOCATE_parser;
52688 fra.me.line = 19896;
52689 fra.me.meth = LOCATE_parser___ReduceAction419___action;
52690 fra.me.has_broke = 0;
52691 fra.me.REG_size = 8;
52692 fra.me.REG[0] = NIT_NULL;
52693 fra.me.REG[1] = NIT_NULL;
52694 fra.me.REG[2] = NIT_NULL;
52695 fra.me.REG[3] = NIT_NULL;
52696 fra.me.REG[4] = NIT_NULL;
52697 fra.me.REG[5] = NIT_NULL;
52698 fra.me.REG[6] = NIT_NULL;
52699 fra.me.REG[7] = NIT_NULL;
52700 fra.me.REG[0] = p0;
52701 fra.me.REG[1] = p1;
52702 fra.me.REG[0] = NIT_NULL;
52703 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52704 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52705 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52706 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52707 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52708 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52709 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52710 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52711 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
52712 /* ./parser//parser.nit:19908 */
52713 if (UNTAG_Bool(REGB0)) {
52714 } else {
52715 fprintf(stderr, "Assert failed");
52716 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19908);
52717 nit_exit(1);
52718 }
52719 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
52720 /* ./parser//parser.nit:19910 */
52721 if (UNTAG_Bool(REGB0)) {
52722 } else {
52723 fprintf(stderr, "Assert failed");
52724 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19910);
52725 nit_exit(1);
52726 }
52727 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
52728 /* ./parser//parser.nit:19912 */
52729 if (UNTAG_Bool(REGB0)) {
52730 } else {
52731 fprintf(stderr, "Assert failed");
52732 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19912);
52733 nit_exit(1);
52734 }
52735 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
52736 /* ./parser//parser.nit:19914 */
52737 if (UNTAG_Bool(REGB0)) {
52738 } else {
52739 fprintf(stderr, "Assert failed");
52740 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19914);
52741 nit_exit(1);
52742 }
52743 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
52744 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
52745 /* ./parser//parser.nit:19919 */
52746 if (UNTAG_Bool(REGB0)) {
52747 } else {
52748 fprintf(stderr, "Assert failed");
52749 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19919);
52750 nit_exit(1);
52751 }
52752 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
52753 /* ./parser//parser.nit:19921 */
52754 if (UNTAG_Bool(REGB0)) {
52755 } else {
52756 fprintf(stderr, "Assert failed");
52757 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19921);
52758 nit_exit(1);
52759 }
52760 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
52761 fra.me.REG[0] = fra.me.REG[2];
52762 REGB0 = TAG_Int(12);
52763 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52764 /* ./parser//parser.nit:19932 */
52765 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
52766 stack_frame_head = fra.me.prev;
52767 return;
52768 }
52769 void parser___ReduceAction419___init(val_t p0, int* init_table){
52770 int itpos423 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction419].i;
52771 struct {struct stack_frame_t me;} fra;
52772 val_t tmp;
52773 if (init_table[itpos423]) return;
52774 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52775 fra.me.file = LOCATE_parser;
52776 fra.me.line = 19934;
52777 fra.me.meth = LOCATE_parser___ReduceAction419___init;
52778 fra.me.has_broke = 0;
52779 fra.me.REG_size = 1;
52780 fra.me.REG[0] = NIT_NULL;
52781 fra.me.REG[0] = p0;
52782 /* ./parser//parser.nit:19934 */
52783 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
52784 stack_frame_head = fra.me.prev;
52785 init_table[itpos423] = 1;
52786 return;
52787 }
52788 void parser___ReduceAction420___action(val_t p0, val_t p1){
52789 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
52790 val_t REGB0;
52791 val_t tmp;
52792 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52793 fra.me.file = LOCATE_parser;
52794 fra.me.line = 19938;
52795 fra.me.meth = LOCATE_parser___ReduceAction420___action;
52796 fra.me.has_broke = 0;
52797 fra.me.REG_size = 8;
52798 fra.me.REG[0] = NIT_NULL;
52799 fra.me.REG[1] = NIT_NULL;
52800 fra.me.REG[2] = NIT_NULL;
52801 fra.me.REG[3] = NIT_NULL;
52802 fra.me.REG[4] = NIT_NULL;
52803 fra.me.REG[5] = NIT_NULL;
52804 fra.me.REG[6] = NIT_NULL;
52805 fra.me.REG[7] = NIT_NULL;
52806 fra.me.REG[0] = p0;
52807 fra.me.REG[1] = p1;
52808 fra.me.REG[0] = NIT_NULL;
52809 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52810 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52811 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52812 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52813 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52814 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52815 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52816 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52817 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
52818 /* ./parser//parser.nit:19950 */
52819 if (UNTAG_Bool(REGB0)) {
52820 } else {
52821 fprintf(stderr, "Assert failed");
52822 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19950);
52823 nit_exit(1);
52824 }
52825 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
52826 /* ./parser//parser.nit:19952 */
52827 if (UNTAG_Bool(REGB0)) {
52828 } else {
52829 fprintf(stderr, "Assert failed");
52830 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19952);
52831 nit_exit(1);
52832 }
52833 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
52834 /* ./parser//parser.nit:19954 */
52835 if (UNTAG_Bool(REGB0)) {
52836 } else {
52837 fprintf(stderr, "Assert failed");
52838 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19954);
52839 nit_exit(1);
52840 }
52841 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
52842 /* ./parser//parser.nit:19956 */
52843 if (UNTAG_Bool(REGB0)) {
52844 } else {
52845 fprintf(stderr, "Assert failed");
52846 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19956);
52847 nit_exit(1);
52848 }
52849 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
52850 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
52851 /* ./parser//parser.nit:19961 */
52852 if (UNTAG_Bool(REGB0)) {
52853 } else {
52854 fprintf(stderr, "Assert failed");
52855 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19961);
52856 nit_exit(1);
52857 }
52858 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
52859 /* ./parser//parser.nit:19963 */
52860 if (UNTAG_Bool(REGB0)) {
52861 } else {
52862 fprintf(stderr, "Assert failed");
52863 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19963);
52864 nit_exit(1);
52865 }
52866 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
52867 fra.me.REG[0] = fra.me.REG[2];
52868 REGB0 = TAG_Int(12);
52869 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52870 /* ./parser//parser.nit:19974 */
52871 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
52872 stack_frame_head = fra.me.prev;
52873 return;
52874 }
52875 void parser___ReduceAction420___init(val_t p0, int* init_table){
52876 int itpos424 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction420].i;
52877 struct {struct stack_frame_t me;} fra;
52878 val_t tmp;
52879 if (init_table[itpos424]) return;
52880 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52881 fra.me.file = LOCATE_parser;
52882 fra.me.line = 19976;
52883 fra.me.meth = LOCATE_parser___ReduceAction420___init;
52884 fra.me.has_broke = 0;
52885 fra.me.REG_size = 1;
52886 fra.me.REG[0] = NIT_NULL;
52887 fra.me.REG[0] = p0;
52888 /* ./parser//parser.nit:19976 */
52889 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
52890 stack_frame_head = fra.me.prev;
52891 init_table[itpos424] = 1;
52892 return;
52893 }
52894 void parser___ReduceAction421___action(val_t p0, val_t p1){
52895 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
52896 val_t REGB0;
52897 val_t tmp;
52898 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52899 fra.me.file = LOCATE_parser;
52900 fra.me.line = 19980;
52901 fra.me.meth = LOCATE_parser___ReduceAction421___action;
52902 fra.me.has_broke = 0;
52903 fra.me.REG_size = 8;
52904 fra.me.REG[0] = NIT_NULL;
52905 fra.me.REG[1] = NIT_NULL;
52906 fra.me.REG[2] = NIT_NULL;
52907 fra.me.REG[3] = NIT_NULL;
52908 fra.me.REG[4] = NIT_NULL;
52909 fra.me.REG[5] = NIT_NULL;
52910 fra.me.REG[6] = NIT_NULL;
52911 fra.me.REG[7] = NIT_NULL;
52912 fra.me.REG[0] = p0;
52913 fra.me.REG[1] = p1;
52914 fra.me.REG[0] = NIT_NULL;
52915 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52916 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52917 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52918 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52919 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52920 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52921 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52922 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
52923 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
52924 /* ./parser//parser.nit:19992 */
52925 if (UNTAG_Bool(REGB0)) {
52926 } else {
52927 fprintf(stderr, "Assert failed");
52928 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19992);
52929 nit_exit(1);
52930 }
52931 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
52932 /* ./parser//parser.nit:19994 */
52933 if (UNTAG_Bool(REGB0)) {
52934 } else {
52935 fprintf(stderr, "Assert failed");
52936 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19994);
52937 nit_exit(1);
52938 }
52939 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
52940 /* ./parser//parser.nit:19996 */
52941 if (UNTAG_Bool(REGB0)) {
52942 } else {
52943 fprintf(stderr, "Assert failed");
52944 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19996);
52945 nit_exit(1);
52946 }
52947 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
52948 /* ./parser//parser.nit:19998 */
52949 if (UNTAG_Bool(REGB0)) {
52950 } else {
52951 fprintf(stderr, "Assert failed");
52952 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19998);
52953 nit_exit(1);
52954 }
52955 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
52956 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
52957 /* ./parser//parser.nit:20003 */
52958 if (UNTAG_Bool(REGB0)) {
52959 } else {
52960 fprintf(stderr, "Assert failed");
52961 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20003);
52962 nit_exit(1);
52963 }
52964 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
52965 /* ./parser//parser.nit:20005 */
52966 if (UNTAG_Bool(REGB0)) {
52967 } else {
52968 fprintf(stderr, "Assert failed");
52969 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20005);
52970 nit_exit(1);
52971 }
52972 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
52973 fra.me.REG[0] = fra.me.REG[2];
52974 REGB0 = TAG_Int(12);
52975 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
52976 /* ./parser//parser.nit:20016 */
52977 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
52978 stack_frame_head = fra.me.prev;
52979 return;
52980 }
52981 void parser___ReduceAction421___init(val_t p0, int* init_table){
52982 int itpos425 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction421].i;
52983 struct {struct stack_frame_t me;} fra;
52984 val_t tmp;
52985 if (init_table[itpos425]) return;
52986 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52987 fra.me.file = LOCATE_parser;
52988 fra.me.line = 20018;
52989 fra.me.meth = LOCATE_parser___ReduceAction421___init;
52990 fra.me.has_broke = 0;
52991 fra.me.REG_size = 1;
52992 fra.me.REG[0] = NIT_NULL;
52993 fra.me.REG[0] = p0;
52994 /* ./parser//parser.nit:20018 */
52995 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
52996 stack_frame_head = fra.me.prev;
52997 init_table[itpos425] = 1;
52998 return;
52999 }
53000 void parser___ReduceAction422___action(val_t p0, val_t p1){
53001 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
53002 val_t REGB0;
53003 val_t tmp;
53004 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53005 fra.me.file = LOCATE_parser;
53006 fra.me.line = 20022;
53007 fra.me.meth = LOCATE_parser___ReduceAction422___action;
53008 fra.me.has_broke = 0;
53009 fra.me.REG_size = 8;
53010 fra.me.REG[0] = NIT_NULL;
53011 fra.me.REG[1] = NIT_NULL;
53012 fra.me.REG[2] = NIT_NULL;
53013 fra.me.REG[3] = NIT_NULL;
53014 fra.me.REG[4] = NIT_NULL;
53015 fra.me.REG[5] = NIT_NULL;
53016 fra.me.REG[6] = NIT_NULL;
53017 fra.me.REG[7] = NIT_NULL;
53018 fra.me.REG[0] = p0;
53019 fra.me.REG[1] = p1;
53020 fra.me.REG[0] = NIT_NULL;
53021 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53022 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53023 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53024 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53025 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53026 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53027 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53028 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53029 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
53030 /* ./parser//parser.nit:20034 */
53031 if (UNTAG_Bool(REGB0)) {
53032 } else {
53033 fprintf(stderr, "Assert failed");
53034 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20034);
53035 nit_exit(1);
53036 }
53037 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
53038 /* ./parser//parser.nit:20036 */
53039 if (UNTAG_Bool(REGB0)) {
53040 } else {
53041 fprintf(stderr, "Assert failed");
53042 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20036);
53043 nit_exit(1);
53044 }
53045 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
53046 /* ./parser//parser.nit:20038 */
53047 if (UNTAG_Bool(REGB0)) {
53048 } else {
53049 fprintf(stderr, "Assert failed");
53050 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20038);
53051 nit_exit(1);
53052 }
53053 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
53054 /* ./parser//parser.nit:20040 */
53055 if (UNTAG_Bool(REGB0)) {
53056 } else {
53057 fprintf(stderr, "Assert failed");
53058 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20040);
53059 nit_exit(1);
53060 }
53061 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
53062 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
53063 /* ./parser//parser.nit:20045 */
53064 if (UNTAG_Bool(REGB0)) {
53065 } else {
53066 fprintf(stderr, "Assert failed");
53067 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20045);
53068 nit_exit(1);
53069 }
53070 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
53071 /* ./parser//parser.nit:20047 */
53072 if (UNTAG_Bool(REGB0)) {
53073 } else {
53074 fprintf(stderr, "Assert failed");
53075 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20047);
53076 nit_exit(1);
53077 }
53078 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
53079 fra.me.REG[0] = fra.me.REG[2];
53080 REGB0 = TAG_Int(12);
53081 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53082 /* ./parser//parser.nit:20058 */
53083 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
53084 stack_frame_head = fra.me.prev;
53085 return;
53086 }
53087 void parser___ReduceAction422___init(val_t p0, int* init_table){
53088 int itpos426 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction422].i;
53089 struct {struct stack_frame_t me;} fra;
53090 val_t tmp;
53091 if (init_table[itpos426]) return;
53092 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53093 fra.me.file = LOCATE_parser;
53094 fra.me.line = 20060;
53095 fra.me.meth = LOCATE_parser___ReduceAction422___init;
53096 fra.me.has_broke = 0;
53097 fra.me.REG_size = 1;
53098 fra.me.REG[0] = NIT_NULL;
53099 fra.me.REG[0] = p0;
53100 /* ./parser//parser.nit:20060 */
53101 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
53102 stack_frame_head = fra.me.prev;
53103 init_table[itpos426] = 1;
53104 return;
53105 }
53106 void parser___ReduceAction423___action(val_t p0, val_t p1){
53107 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
53108 val_t REGB0;
53109 val_t tmp;
53110 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53111 fra.me.file = LOCATE_parser;
53112 fra.me.line = 20064;
53113 fra.me.meth = LOCATE_parser___ReduceAction423___action;
53114 fra.me.has_broke = 0;
53115 fra.me.REG_size = 8;
53116 fra.me.REG[0] = NIT_NULL;
53117 fra.me.REG[1] = NIT_NULL;
53118 fra.me.REG[2] = NIT_NULL;
53119 fra.me.REG[3] = NIT_NULL;
53120 fra.me.REG[4] = NIT_NULL;
53121 fra.me.REG[5] = NIT_NULL;
53122 fra.me.REG[6] = NIT_NULL;
53123 fra.me.REG[7] = NIT_NULL;
53124 fra.me.REG[0] = p0;
53125 fra.me.REG[1] = p1;
53126 fra.me.REG[0] = NIT_NULL;
53127 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53128 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53129 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53130 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53131 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53132 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53133 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53134 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53135 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
53136 /* ./parser//parser.nit:20076 */
53137 if (UNTAG_Bool(REGB0)) {
53138 } else {
53139 fprintf(stderr, "Assert failed");
53140 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20076);
53141 nit_exit(1);
53142 }
53143 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
53144 /* ./parser//parser.nit:20078 */
53145 if (UNTAG_Bool(REGB0)) {
53146 } else {
53147 fprintf(stderr, "Assert failed");
53148 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20078);
53149 nit_exit(1);
53150 }
53151 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
53152 /* ./parser//parser.nit:20080 */
53153 if (UNTAG_Bool(REGB0)) {
53154 } else {
53155 fprintf(stderr, "Assert failed");
53156 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20080);
53157 nit_exit(1);
53158 }
53159 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
53160 /* ./parser//parser.nit:20082 */
53161 if (UNTAG_Bool(REGB0)) {
53162 } else {
53163 fprintf(stderr, "Assert failed");
53164 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20082);
53165 nit_exit(1);
53166 }
53167 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
53168 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
53169 /* ./parser//parser.nit:20087 */
53170 if (UNTAG_Bool(REGB0)) {
53171 } else {
53172 fprintf(stderr, "Assert failed");
53173 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20087);
53174 nit_exit(1);
53175 }
53176 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
53177 /* ./parser//parser.nit:20089 */
53178 if (UNTAG_Bool(REGB0)) {
53179 } else {
53180 fprintf(stderr, "Assert failed");
53181 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20089);
53182 nit_exit(1);
53183 }
53184 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
53185 fra.me.REG[0] = fra.me.REG[2];
53186 REGB0 = TAG_Int(12);
53187 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53188 /* ./parser//parser.nit:20100 */
53189 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
53190 stack_frame_head = fra.me.prev;
53191 return;
53192 }
53193 void parser___ReduceAction423___init(val_t p0, int* init_table){
53194 int itpos427 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction423].i;
53195 struct {struct stack_frame_t me;} fra;
53196 val_t tmp;
53197 if (init_table[itpos427]) return;
53198 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53199 fra.me.file = LOCATE_parser;
53200 fra.me.line = 20102;
53201 fra.me.meth = LOCATE_parser___ReduceAction423___init;
53202 fra.me.has_broke = 0;
53203 fra.me.REG_size = 1;
53204 fra.me.REG[0] = NIT_NULL;
53205 fra.me.REG[0] = p0;
53206 /* ./parser//parser.nit:20102 */
53207 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
53208 stack_frame_head = fra.me.prev;
53209 init_table[itpos427] = 1;
53210 return;
53211 }
53212 void parser___ReduceAction424___action(val_t p0, val_t p1){
53213 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
53214 val_t REGB0;
53215 val_t tmp;
53216 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53217 fra.me.file = LOCATE_parser;
53218 fra.me.line = 20106;
53219 fra.me.meth = LOCATE_parser___ReduceAction424___action;
53220 fra.me.has_broke = 0;
53221 fra.me.REG_size = 8;
53222 fra.me.REG[0] = NIT_NULL;
53223 fra.me.REG[1] = NIT_NULL;
53224 fra.me.REG[2] = NIT_NULL;
53225 fra.me.REG[3] = NIT_NULL;
53226 fra.me.REG[4] = NIT_NULL;
53227 fra.me.REG[5] = NIT_NULL;
53228 fra.me.REG[6] = NIT_NULL;
53229 fra.me.REG[7] = NIT_NULL;
53230 fra.me.REG[0] = p0;
53231 fra.me.REG[1] = p1;
53232 fra.me.REG[0] = NIT_NULL;
53233 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53234 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53235 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53236 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53237 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53238 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53239 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53240 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53241 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
53242 /* ./parser//parser.nit:20118 */
53243 if (UNTAG_Bool(REGB0)) {
53244 } else {
53245 fprintf(stderr, "Assert failed");
53246 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20118);
53247 nit_exit(1);
53248 }
53249 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
53250 /* ./parser//parser.nit:20120 */
53251 if (UNTAG_Bool(REGB0)) {
53252 } else {
53253 fprintf(stderr, "Assert failed");
53254 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20120);
53255 nit_exit(1);
53256 }
53257 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
53258 /* ./parser//parser.nit:20122 */
53259 if (UNTAG_Bool(REGB0)) {
53260 } else {
53261 fprintf(stderr, "Assert failed");
53262 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20122);
53263 nit_exit(1);
53264 }
53265 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
53266 /* ./parser//parser.nit:20124 */
53267 if (UNTAG_Bool(REGB0)) {
53268 } else {
53269 fprintf(stderr, "Assert failed");
53270 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20124);
53271 nit_exit(1);
53272 }
53273 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
53274 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
53275 /* ./parser//parser.nit:20129 */
53276 if (UNTAG_Bool(REGB0)) {
53277 } else {
53278 fprintf(stderr, "Assert failed");
53279 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20129);
53280 nit_exit(1);
53281 }
53282 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
53283 /* ./parser//parser.nit:20131 */
53284 if (UNTAG_Bool(REGB0)) {
53285 } else {
53286 fprintf(stderr, "Assert failed");
53287 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20131);
53288 nit_exit(1);
53289 }
53290 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
53291 fra.me.REG[0] = fra.me.REG[2];
53292 REGB0 = TAG_Int(12);
53293 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53294 /* ./parser//parser.nit:20142 */
53295 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
53296 stack_frame_head = fra.me.prev;
53297 return;
53298 }
53299 void parser___ReduceAction424___init(val_t p0, int* init_table){
53300 int itpos428 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction424].i;
53301 struct {struct stack_frame_t me;} fra;
53302 val_t tmp;
53303 if (init_table[itpos428]) return;
53304 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53305 fra.me.file = LOCATE_parser;
53306 fra.me.line = 20144;
53307 fra.me.meth = LOCATE_parser___ReduceAction424___init;
53308 fra.me.has_broke = 0;
53309 fra.me.REG_size = 1;
53310 fra.me.REG[0] = NIT_NULL;
53311 fra.me.REG[0] = p0;
53312 /* ./parser//parser.nit:20144 */
53313 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
53314 stack_frame_head = fra.me.prev;
53315 init_table[itpos428] = 1;
53316 return;
53317 }
53318 void parser___ReduceAction425___action(val_t p0, val_t p1){
53319 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
53320 val_t REGB0;
53321 val_t tmp;
53322 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53323 fra.me.file = LOCATE_parser;
53324 fra.me.line = 20148;
53325 fra.me.meth = LOCATE_parser___ReduceAction425___action;
53326 fra.me.has_broke = 0;
53327 fra.me.REG_size = 8;
53328 fra.me.REG[0] = NIT_NULL;
53329 fra.me.REG[1] = NIT_NULL;
53330 fra.me.REG[2] = NIT_NULL;
53331 fra.me.REG[3] = NIT_NULL;
53332 fra.me.REG[4] = NIT_NULL;
53333 fra.me.REG[5] = NIT_NULL;
53334 fra.me.REG[6] = NIT_NULL;
53335 fra.me.REG[7] = NIT_NULL;
53336 fra.me.REG[0] = p0;
53337 fra.me.REG[1] = p1;
53338 fra.me.REG[0] = NIT_NULL;
53339 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53340 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53341 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53342 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53343 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53344 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53345 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53346 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53347 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
53348 /* ./parser//parser.nit:20160 */
53349 if (UNTAG_Bool(REGB0)) {
53350 } else {
53351 fprintf(stderr, "Assert failed");
53352 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20160);
53353 nit_exit(1);
53354 }
53355 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
53356 /* ./parser//parser.nit:20162 */
53357 if (UNTAG_Bool(REGB0)) {
53358 } else {
53359 fprintf(stderr, "Assert failed");
53360 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20162);
53361 nit_exit(1);
53362 }
53363 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
53364 /* ./parser//parser.nit:20164 */
53365 if (UNTAG_Bool(REGB0)) {
53366 } else {
53367 fprintf(stderr, "Assert failed");
53368 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20164);
53369 nit_exit(1);
53370 }
53371 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
53372 /* ./parser//parser.nit:20166 */
53373 if (UNTAG_Bool(REGB0)) {
53374 } else {
53375 fprintf(stderr, "Assert failed");
53376 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20166);
53377 nit_exit(1);
53378 }
53379 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
53380 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
53381 /* ./parser//parser.nit:20171 */
53382 if (UNTAG_Bool(REGB0)) {
53383 } else {
53384 fprintf(stderr, "Assert failed");
53385 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20171);
53386 nit_exit(1);
53387 }
53388 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
53389 /* ./parser//parser.nit:20173 */
53390 if (UNTAG_Bool(REGB0)) {
53391 } else {
53392 fprintf(stderr, "Assert failed");
53393 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20173);
53394 nit_exit(1);
53395 }
53396 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
53397 fra.me.REG[0] = fra.me.REG[2];
53398 REGB0 = TAG_Int(12);
53399 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53400 /* ./parser//parser.nit:20184 */
53401 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
53402 stack_frame_head = fra.me.prev;
53403 return;
53404 }
53405 void parser___ReduceAction425___init(val_t p0, int* init_table){
53406 int itpos429 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction425].i;
53407 struct {struct stack_frame_t me;} fra;
53408 val_t tmp;
53409 if (init_table[itpos429]) return;
53410 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53411 fra.me.file = LOCATE_parser;
53412 fra.me.line = 20186;
53413 fra.me.meth = LOCATE_parser___ReduceAction425___init;
53414 fra.me.has_broke = 0;
53415 fra.me.REG_size = 1;
53416 fra.me.REG[0] = NIT_NULL;
53417 fra.me.REG[0] = p0;
53418 /* ./parser//parser.nit:20186 */
53419 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
53420 stack_frame_head = fra.me.prev;
53421 init_table[itpos429] = 1;
53422 return;
53423 }
53424 void parser___ReduceAction426___action(val_t p0, val_t p1){
53425 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
53426 val_t REGB0;
53427 val_t tmp;
53428 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53429 fra.me.file = LOCATE_parser;
53430 fra.me.line = 20190;
53431 fra.me.meth = LOCATE_parser___ReduceAction426___action;
53432 fra.me.has_broke = 0;
53433 fra.me.REG_size = 8;
53434 fra.me.REG[0] = NIT_NULL;
53435 fra.me.REG[1] = NIT_NULL;
53436 fra.me.REG[2] = NIT_NULL;
53437 fra.me.REG[3] = NIT_NULL;
53438 fra.me.REG[4] = NIT_NULL;
53439 fra.me.REG[5] = NIT_NULL;
53440 fra.me.REG[6] = NIT_NULL;
53441 fra.me.REG[7] = NIT_NULL;
53442 fra.me.REG[0] = p0;
53443 fra.me.REG[1] = p1;
53444 fra.me.REG[0] = NIT_NULL;
53445 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53446 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53447 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53448 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53449 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53450 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53451 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53452 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53453 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
53454 /* ./parser//parser.nit:20202 */
53455 if (UNTAG_Bool(REGB0)) {
53456 } else {
53457 fprintf(stderr, "Assert failed");
53458 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20202);
53459 nit_exit(1);
53460 }
53461 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
53462 /* ./parser//parser.nit:20204 */
53463 if (UNTAG_Bool(REGB0)) {
53464 } else {
53465 fprintf(stderr, "Assert failed");
53466 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20204);
53467 nit_exit(1);
53468 }
53469 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
53470 /* ./parser//parser.nit:20206 */
53471 if (UNTAG_Bool(REGB0)) {
53472 } else {
53473 fprintf(stderr, "Assert failed");
53474 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20206);
53475 nit_exit(1);
53476 }
53477 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
53478 /* ./parser//parser.nit:20208 */
53479 if (UNTAG_Bool(REGB0)) {
53480 } else {
53481 fprintf(stderr, "Assert failed");
53482 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20208);
53483 nit_exit(1);
53484 }
53485 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
53486 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
53487 /* ./parser//parser.nit:20213 */
53488 if (UNTAG_Bool(REGB0)) {
53489 } else {
53490 fprintf(stderr, "Assert failed");
53491 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20213);
53492 nit_exit(1);
53493 }
53494 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
53495 /* ./parser//parser.nit:20215 */
53496 if (UNTAG_Bool(REGB0)) {
53497 } else {
53498 fprintf(stderr, "Assert failed");
53499 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20215);
53500 nit_exit(1);
53501 }
53502 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
53503 fra.me.REG[0] = fra.me.REG[2];
53504 REGB0 = TAG_Int(12);
53505 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53506 /* ./parser//parser.nit:20226 */
53507 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
53508 stack_frame_head = fra.me.prev;
53509 return;
53510 }
53511 void parser___ReduceAction426___init(val_t p0, int* init_table){
53512 int itpos430 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction426].i;
53513 struct {struct stack_frame_t me;} fra;
53514 val_t tmp;
53515 if (init_table[itpos430]) return;
53516 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53517 fra.me.file = LOCATE_parser;
53518 fra.me.line = 20228;
53519 fra.me.meth = LOCATE_parser___ReduceAction426___init;
53520 fra.me.has_broke = 0;
53521 fra.me.REG_size = 1;
53522 fra.me.REG[0] = NIT_NULL;
53523 fra.me.REG[0] = p0;
53524 /* ./parser//parser.nit:20228 */
53525 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
53526 stack_frame_head = fra.me.prev;
53527 init_table[itpos430] = 1;
53528 return;
53529 }
53530 void parser___ReduceAction427___action(val_t p0, val_t p1){
53531 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
53532 val_t REGB0;
53533 val_t tmp;
53534 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53535 fra.me.file = LOCATE_parser;
53536 fra.me.line = 20232;
53537 fra.me.meth = LOCATE_parser___ReduceAction427___action;
53538 fra.me.has_broke = 0;
53539 fra.me.REG_size = 8;
53540 fra.me.REG[0] = NIT_NULL;
53541 fra.me.REG[1] = NIT_NULL;
53542 fra.me.REG[2] = NIT_NULL;
53543 fra.me.REG[3] = NIT_NULL;
53544 fra.me.REG[4] = NIT_NULL;
53545 fra.me.REG[5] = NIT_NULL;
53546 fra.me.REG[6] = NIT_NULL;
53547 fra.me.REG[7] = NIT_NULL;
53548 fra.me.REG[0] = p0;
53549 fra.me.REG[1] = p1;
53550 fra.me.REG[0] = NIT_NULL;
53551 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53552 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53553 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53554 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53555 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53556 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53557 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53558 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53559 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
53560 /* ./parser//parser.nit:20244 */
53561 if (UNTAG_Bool(REGB0)) {
53562 } else {
53563 fprintf(stderr, "Assert failed");
53564 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20244);
53565 nit_exit(1);
53566 }
53567 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
53568 /* ./parser//parser.nit:20246 */
53569 if (UNTAG_Bool(REGB0)) {
53570 } else {
53571 fprintf(stderr, "Assert failed");
53572 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20246);
53573 nit_exit(1);
53574 }
53575 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
53576 /* ./parser//parser.nit:20248 */
53577 if (UNTAG_Bool(REGB0)) {
53578 } else {
53579 fprintf(stderr, "Assert failed");
53580 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20248);
53581 nit_exit(1);
53582 }
53583 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
53584 /* ./parser//parser.nit:20250 */
53585 if (UNTAG_Bool(REGB0)) {
53586 } else {
53587 fprintf(stderr, "Assert failed");
53588 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20250);
53589 nit_exit(1);
53590 }
53591 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
53592 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
53593 /* ./parser//parser.nit:20255 */
53594 if (UNTAG_Bool(REGB0)) {
53595 } else {
53596 fprintf(stderr, "Assert failed");
53597 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20255);
53598 nit_exit(1);
53599 }
53600 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
53601 /* ./parser//parser.nit:20257 */
53602 if (UNTAG_Bool(REGB0)) {
53603 } else {
53604 fprintf(stderr, "Assert failed");
53605 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20257);
53606 nit_exit(1);
53607 }
53608 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
53609 fra.me.REG[0] = fra.me.REG[2];
53610 REGB0 = TAG_Int(12);
53611 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53612 /* ./parser//parser.nit:20268 */
53613 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
53614 stack_frame_head = fra.me.prev;
53615 return;
53616 }
53617 void parser___ReduceAction427___init(val_t p0, int* init_table){
53618 int itpos431 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction427].i;
53619 struct {struct stack_frame_t me;} fra;
53620 val_t tmp;
53621 if (init_table[itpos431]) return;
53622 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53623 fra.me.file = LOCATE_parser;
53624 fra.me.line = 20270;
53625 fra.me.meth = LOCATE_parser___ReduceAction427___init;
53626 fra.me.has_broke = 0;
53627 fra.me.REG_size = 1;
53628 fra.me.REG[0] = NIT_NULL;
53629 fra.me.REG[0] = p0;
53630 /* ./parser//parser.nit:20270 */
53631 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
53632 stack_frame_head = fra.me.prev;
53633 init_table[itpos431] = 1;
53634 return;
53635 }
53636 void parser___ReduceAction428___action(val_t p0, val_t p1){
53637 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
53638 val_t REGB0;
53639 val_t tmp;
53640 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53641 fra.me.file = LOCATE_parser;
53642 fra.me.line = 20274;
53643 fra.me.meth = LOCATE_parser___ReduceAction428___action;
53644 fra.me.has_broke = 0;
53645 fra.me.REG_size = 8;
53646 fra.me.REG[0] = NIT_NULL;
53647 fra.me.REG[1] = NIT_NULL;
53648 fra.me.REG[2] = NIT_NULL;
53649 fra.me.REG[3] = NIT_NULL;
53650 fra.me.REG[4] = NIT_NULL;
53651 fra.me.REG[5] = NIT_NULL;
53652 fra.me.REG[6] = NIT_NULL;
53653 fra.me.REG[7] = NIT_NULL;
53654 fra.me.REG[0] = p0;
53655 fra.me.REG[1] = p1;
53656 fra.me.REG[0] = NIT_NULL;
53657 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53658 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53659 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53660 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53661 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53662 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53663 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53664 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53665 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
53666 /* ./parser//parser.nit:20286 */
53667 if (UNTAG_Bool(REGB0)) {
53668 } else {
53669 fprintf(stderr, "Assert failed");
53670 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20286);
53671 nit_exit(1);
53672 }
53673 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
53674 /* ./parser//parser.nit:20288 */
53675 if (UNTAG_Bool(REGB0)) {
53676 } else {
53677 fprintf(stderr, "Assert failed");
53678 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20288);
53679 nit_exit(1);
53680 }
53681 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
53682 /* ./parser//parser.nit:20290 */
53683 if (UNTAG_Bool(REGB0)) {
53684 } else {
53685 fprintf(stderr, "Assert failed");
53686 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20290);
53687 nit_exit(1);
53688 }
53689 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
53690 /* ./parser//parser.nit:20292 */
53691 if (UNTAG_Bool(REGB0)) {
53692 } else {
53693 fprintf(stderr, "Assert failed");
53694 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20292);
53695 nit_exit(1);
53696 }
53697 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
53698 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
53699 /* ./parser//parser.nit:20297 */
53700 if (UNTAG_Bool(REGB0)) {
53701 } else {
53702 fprintf(stderr, "Assert failed");
53703 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20297);
53704 nit_exit(1);
53705 }
53706 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
53707 /* ./parser//parser.nit:20299 */
53708 if (UNTAG_Bool(REGB0)) {
53709 } else {
53710 fprintf(stderr, "Assert failed");
53711 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20299);
53712 nit_exit(1);
53713 }
53714 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
53715 fra.me.REG[0] = fra.me.REG[2];
53716 REGB0 = TAG_Int(12);
53717 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53718 /* ./parser//parser.nit:20310 */
53719 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
53720 stack_frame_head = fra.me.prev;
53721 return;
53722 }
53723 void parser___ReduceAction428___init(val_t p0, int* init_table){
53724 int itpos432 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction428].i;
53725 struct {struct stack_frame_t me;} fra;
53726 val_t tmp;
53727 if (init_table[itpos432]) return;
53728 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53729 fra.me.file = LOCATE_parser;
53730 fra.me.line = 20312;
53731 fra.me.meth = LOCATE_parser___ReduceAction428___init;
53732 fra.me.has_broke = 0;
53733 fra.me.REG_size = 1;
53734 fra.me.REG[0] = NIT_NULL;
53735 fra.me.REG[0] = p0;
53736 /* ./parser//parser.nit:20312 */
53737 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
53738 stack_frame_head = fra.me.prev;
53739 init_table[itpos432] = 1;
53740 return;
53741 }
53742 void parser___ReduceAction429___action(val_t p0, val_t p1){
53743 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
53744 val_t REGB0;
53745 val_t tmp;
53746 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53747 fra.me.file = LOCATE_parser;
53748 fra.me.line = 20316;
53749 fra.me.meth = LOCATE_parser___ReduceAction429___action;
53750 fra.me.has_broke = 0;
53751 fra.me.REG_size = 8;
53752 fra.me.REG[0] = NIT_NULL;
53753 fra.me.REG[1] = NIT_NULL;
53754 fra.me.REG[2] = NIT_NULL;
53755 fra.me.REG[3] = NIT_NULL;
53756 fra.me.REG[4] = NIT_NULL;
53757 fra.me.REG[5] = NIT_NULL;
53758 fra.me.REG[6] = NIT_NULL;
53759 fra.me.REG[7] = NIT_NULL;
53760 fra.me.REG[0] = p0;
53761 fra.me.REG[1] = p1;
53762 fra.me.REG[0] = NIT_NULL;
53763 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53764 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53765 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53766 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53767 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53768 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53769 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53770 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53771 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
53772 /* ./parser//parser.nit:20328 */
53773 if (UNTAG_Bool(REGB0)) {
53774 } else {
53775 fprintf(stderr, "Assert failed");
53776 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20328);
53777 nit_exit(1);
53778 }
53779 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
53780 /* ./parser//parser.nit:20330 */
53781 if (UNTAG_Bool(REGB0)) {
53782 } else {
53783 fprintf(stderr, "Assert failed");
53784 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20330);
53785 nit_exit(1);
53786 }
53787 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
53788 /* ./parser//parser.nit:20332 */
53789 if (UNTAG_Bool(REGB0)) {
53790 } else {
53791 fprintf(stderr, "Assert failed");
53792 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20332);
53793 nit_exit(1);
53794 }
53795 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
53796 /* ./parser//parser.nit:20334 */
53797 if (UNTAG_Bool(REGB0)) {
53798 } else {
53799 fprintf(stderr, "Assert failed");
53800 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20334);
53801 nit_exit(1);
53802 }
53803 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
53804 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
53805 /* ./parser//parser.nit:20339 */
53806 if (UNTAG_Bool(REGB0)) {
53807 } else {
53808 fprintf(stderr, "Assert failed");
53809 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20339);
53810 nit_exit(1);
53811 }
53812 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
53813 /* ./parser//parser.nit:20341 */
53814 if (UNTAG_Bool(REGB0)) {
53815 } else {
53816 fprintf(stderr, "Assert failed");
53817 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20341);
53818 nit_exit(1);
53819 }
53820 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
53821 fra.me.REG[0] = fra.me.REG[2];
53822 REGB0 = TAG_Int(12);
53823 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53824 /* ./parser//parser.nit:20352 */
53825 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
53826 stack_frame_head = fra.me.prev;
53827 return;
53828 }
53829 void parser___ReduceAction429___init(val_t p0, int* init_table){
53830 int itpos433 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction429].i;
53831 struct {struct stack_frame_t me;} fra;
53832 val_t tmp;
53833 if (init_table[itpos433]) return;
53834 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53835 fra.me.file = LOCATE_parser;
53836 fra.me.line = 20354;
53837 fra.me.meth = LOCATE_parser___ReduceAction429___init;
53838 fra.me.has_broke = 0;
53839 fra.me.REG_size = 1;
53840 fra.me.REG[0] = NIT_NULL;
53841 fra.me.REG[0] = p0;
53842 /* ./parser//parser.nit:20354 */
53843 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
53844 stack_frame_head = fra.me.prev;
53845 init_table[itpos433] = 1;
53846 return;
53847 }
53848 void parser___ReduceAction430___action(val_t p0, val_t p1){
53849 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
53850 val_t REGB0;
53851 val_t tmp;
53852 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53853 fra.me.file = LOCATE_parser;
53854 fra.me.line = 20358;
53855 fra.me.meth = LOCATE_parser___ReduceAction430___action;
53856 fra.me.has_broke = 0;
53857 fra.me.REG_size = 9;
53858 fra.me.REG[0] = NIT_NULL;
53859 fra.me.REG[1] = NIT_NULL;
53860 fra.me.REG[2] = NIT_NULL;
53861 fra.me.REG[3] = NIT_NULL;
53862 fra.me.REG[4] = NIT_NULL;
53863 fra.me.REG[5] = NIT_NULL;
53864 fra.me.REG[6] = NIT_NULL;
53865 fra.me.REG[7] = NIT_NULL;
53866 fra.me.REG[8] = NIT_NULL;
53867 fra.me.REG[0] = p0;
53868 fra.me.REG[1] = p1;
53869 fra.me.REG[0] = NIT_NULL;
53870 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53871 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53872 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53873 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53874 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53875 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53876 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53877 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53878 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53879 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
53880 /* ./parser//parser.nit:20371 */
53881 if (UNTAG_Bool(REGB0)) {
53882 } else {
53883 fprintf(stderr, "Assert failed");
53884 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20371);
53885 nit_exit(1);
53886 }
53887 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
53888 /* ./parser//parser.nit:20373 */
53889 if (UNTAG_Bool(REGB0)) {
53890 } else {
53891 fprintf(stderr, "Assert failed");
53892 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20373);
53893 nit_exit(1);
53894 }
53895 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
53896 /* ./parser//parser.nit:20375 */
53897 if (UNTAG_Bool(REGB0)) {
53898 } else {
53899 fprintf(stderr, "Assert failed");
53900 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20375);
53901 nit_exit(1);
53902 }
53903 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
53904 /* ./parser//parser.nit:20377 */
53905 if (UNTAG_Bool(REGB0)) {
53906 } else {
53907 fprintf(stderr, "Assert failed");
53908 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20377);
53909 nit_exit(1);
53910 }
53911 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
53912 /* ./parser//parser.nit:20379 */
53913 if (UNTAG_Bool(REGB0)) {
53914 } else {
53915 fprintf(stderr, "Assert failed");
53916 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20379);
53917 nit_exit(1);
53918 }
53919 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
53920 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
53921 /* ./parser//parser.nit:20385 */
53922 if (UNTAG_Bool(REGB0)) {
53923 } else {
53924 fprintf(stderr, "Assert failed");
53925 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20385);
53926 nit_exit(1);
53927 }
53928 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
53929 /* ./parser//parser.nit:20387 */
53930 if (UNTAG_Bool(REGB0)) {
53931 } else {
53932 fprintf(stderr, "Assert failed");
53933 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20387);
53934 nit_exit(1);
53935 }
53936 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
53937 fra.me.REG[0] = fra.me.REG[2];
53938 REGB0 = TAG_Int(12);
53939 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
53940 /* ./parser//parser.nit:20398 */
53941 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
53942 stack_frame_head = fra.me.prev;
53943 return;
53944 }
53945 void parser___ReduceAction430___init(val_t p0, int* init_table){
53946 int itpos434 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction430].i;
53947 struct {struct stack_frame_t me;} fra;
53948 val_t tmp;
53949 if (init_table[itpos434]) return;
53950 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53951 fra.me.file = LOCATE_parser;
53952 fra.me.line = 20400;
53953 fra.me.meth = LOCATE_parser___ReduceAction430___init;
53954 fra.me.has_broke = 0;
53955 fra.me.REG_size = 1;
53956 fra.me.REG[0] = NIT_NULL;
53957 fra.me.REG[0] = p0;
53958 /* ./parser//parser.nit:20400 */
53959 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
53960 stack_frame_head = fra.me.prev;
53961 init_table[itpos434] = 1;
53962 return;
53963 }
53964 void parser___ReduceAction431___action(val_t p0, val_t p1){
53965 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
53966 val_t REGB0;
53967 val_t tmp;
53968 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53969 fra.me.file = LOCATE_parser;
53970 fra.me.line = 20404;
53971 fra.me.meth = LOCATE_parser___ReduceAction431___action;
53972 fra.me.has_broke = 0;
53973 fra.me.REG_size = 8;
53974 fra.me.REG[0] = NIT_NULL;
53975 fra.me.REG[1] = NIT_NULL;
53976 fra.me.REG[2] = NIT_NULL;
53977 fra.me.REG[3] = NIT_NULL;
53978 fra.me.REG[4] = NIT_NULL;
53979 fra.me.REG[5] = NIT_NULL;
53980 fra.me.REG[6] = NIT_NULL;
53981 fra.me.REG[7] = NIT_NULL;
53982 fra.me.REG[0] = p0;
53983 fra.me.REG[1] = p1;
53984 fra.me.REG[0] = NIT_NULL;
53985 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53986 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53987 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53988 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53989 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53990 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53991 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53992 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
53993 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
53994 /* ./parser//parser.nit:20416 */
53995 if (UNTAG_Bool(REGB0)) {
53996 } else {
53997 fprintf(stderr, "Assert failed");
53998 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20416);
53999 nit_exit(1);
54000 }
54001 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
54002 /* ./parser//parser.nit:20418 */
54003 if (UNTAG_Bool(REGB0)) {
54004 } else {
54005 fprintf(stderr, "Assert failed");
54006 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20418);
54007 nit_exit(1);
54008 }
54009 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
54010 /* ./parser//parser.nit:20420 */
54011 if (UNTAG_Bool(REGB0)) {
54012 } else {
54013 fprintf(stderr, "Assert failed");
54014 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20420);
54015 nit_exit(1);
54016 }
54017 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
54018 /* ./parser//parser.nit:20422 */
54019 if (UNTAG_Bool(REGB0)) {
54020 } else {
54021 fprintf(stderr, "Assert failed");
54022 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20422);
54023 nit_exit(1);
54024 }
54025 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
54026 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
54027 /* ./parser//parser.nit:20427 */
54028 if (UNTAG_Bool(REGB0)) {
54029 } else {
54030 fprintf(stderr, "Assert failed");
54031 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20427);
54032 nit_exit(1);
54033 }
54034 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
54035 /* ./parser//parser.nit:20429 */
54036 if (UNTAG_Bool(REGB0)) {
54037 } else {
54038 fprintf(stderr, "Assert failed");
54039 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20429);
54040 nit_exit(1);
54041 }
54042 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
54043 fra.me.REG[0] = fra.me.REG[2];
54044 REGB0 = TAG_Int(12);
54045 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54046 /* ./parser//parser.nit:20440 */
54047 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
54048 stack_frame_head = fra.me.prev;
54049 return;
54050 }
54051 void parser___ReduceAction431___init(val_t p0, int* init_table){
54052 int itpos435 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction431].i;
54053 struct {struct stack_frame_t me;} fra;
54054 val_t tmp;
54055 if (init_table[itpos435]) return;
54056 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54057 fra.me.file = LOCATE_parser;
54058 fra.me.line = 20442;
54059 fra.me.meth = LOCATE_parser___ReduceAction431___init;
54060 fra.me.has_broke = 0;
54061 fra.me.REG_size = 1;
54062 fra.me.REG[0] = NIT_NULL;
54063 fra.me.REG[0] = p0;
54064 /* ./parser//parser.nit:20442 */
54065 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
54066 stack_frame_head = fra.me.prev;
54067 init_table[itpos435] = 1;
54068 return;
54069 }
54070 void parser___ReduceAction432___action(val_t p0, val_t p1){
54071 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
54072 val_t REGB0;
54073 val_t tmp;
54074 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54075 fra.me.file = LOCATE_parser;
54076 fra.me.line = 20446;
54077 fra.me.meth = LOCATE_parser___ReduceAction432___action;
54078 fra.me.has_broke = 0;
54079 fra.me.REG_size = 9;
54080 fra.me.REG[0] = NIT_NULL;
54081 fra.me.REG[1] = NIT_NULL;
54082 fra.me.REG[2] = NIT_NULL;
54083 fra.me.REG[3] = NIT_NULL;
54084 fra.me.REG[4] = NIT_NULL;
54085 fra.me.REG[5] = NIT_NULL;
54086 fra.me.REG[6] = NIT_NULL;
54087 fra.me.REG[7] = NIT_NULL;
54088 fra.me.REG[8] = NIT_NULL;
54089 fra.me.REG[0] = p0;
54090 fra.me.REG[1] = p1;
54091 fra.me.REG[0] = NIT_NULL;
54092 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54093 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54094 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54095 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54096 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54097 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54098 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54099 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54100 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54101 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
54102 /* ./parser//parser.nit:20459 */
54103 if (UNTAG_Bool(REGB0)) {
54104 } else {
54105 fprintf(stderr, "Assert failed");
54106 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20459);
54107 nit_exit(1);
54108 }
54109 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
54110 /* ./parser//parser.nit:20461 */
54111 if (UNTAG_Bool(REGB0)) {
54112 } else {
54113 fprintf(stderr, "Assert failed");
54114 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20461);
54115 nit_exit(1);
54116 }
54117 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
54118 /* ./parser//parser.nit:20463 */
54119 if (UNTAG_Bool(REGB0)) {
54120 } else {
54121 fprintf(stderr, "Assert failed");
54122 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20463);
54123 nit_exit(1);
54124 }
54125 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
54126 /* ./parser//parser.nit:20465 */
54127 if (UNTAG_Bool(REGB0)) {
54128 } else {
54129 fprintf(stderr, "Assert failed");
54130 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20465);
54131 nit_exit(1);
54132 }
54133 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
54134 /* ./parser//parser.nit:20467 */
54135 if (UNTAG_Bool(REGB0)) {
54136 } else {
54137 fprintf(stderr, "Assert failed");
54138 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20467);
54139 nit_exit(1);
54140 }
54141 fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
54142 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
54143 /* ./parser//parser.nit:20473 */
54144 if (UNTAG_Bool(REGB0)) {
54145 } else {
54146 fprintf(stderr, "Assert failed");
54147 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20473);
54148 nit_exit(1);
54149 }
54150 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
54151 /* ./parser//parser.nit:20475 */
54152 if (UNTAG_Bool(REGB0)) {
54153 } else {
54154 fprintf(stderr, "Assert failed");
54155 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20475);
54156 nit_exit(1);
54157 }
54158 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
54159 fra.me.REG[0] = fra.me.REG[2];
54160 REGB0 = TAG_Int(12);
54161 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54162 /* ./parser//parser.nit:20486 */
54163 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
54164 stack_frame_head = fra.me.prev;
54165 return;
54166 }
54167 void parser___ReduceAction432___init(val_t p0, int* init_table){
54168 int itpos436 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction432].i;
54169 struct {struct stack_frame_t me;} fra;
54170 val_t tmp;
54171 if (init_table[itpos436]) return;
54172 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54173 fra.me.file = LOCATE_parser;
54174 fra.me.line = 20488;
54175 fra.me.meth = LOCATE_parser___ReduceAction432___init;
54176 fra.me.has_broke = 0;
54177 fra.me.REG_size = 1;
54178 fra.me.REG[0] = NIT_NULL;
54179 fra.me.REG[0] = p0;
54180 /* ./parser//parser.nit:20488 */
54181 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
54182 stack_frame_head = fra.me.prev;
54183 init_table[itpos436] = 1;
54184 return;
54185 }
54186 void parser___ReduceAction433___action(val_t p0, val_t p1){
54187 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
54188 val_t REGB0;
54189 val_t tmp;
54190 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54191 fra.me.file = LOCATE_parser;
54192 fra.me.line = 20492;
54193 fra.me.meth = LOCATE_parser___ReduceAction433___action;
54194 fra.me.has_broke = 0;
54195 fra.me.REG_size = 10;
54196 fra.me.REG[0] = NIT_NULL;
54197 fra.me.REG[1] = NIT_NULL;
54198 fra.me.REG[2] = NIT_NULL;
54199 fra.me.REG[3] = NIT_NULL;
54200 fra.me.REG[4] = NIT_NULL;
54201 fra.me.REG[5] = NIT_NULL;
54202 fra.me.REG[6] = NIT_NULL;
54203 fra.me.REG[7] = NIT_NULL;
54204 fra.me.REG[8] = NIT_NULL;
54205 fra.me.REG[9] = NIT_NULL;
54206 fra.me.REG[0] = p0;
54207 fra.me.REG[1] = p1;
54208 fra.me.REG[0] = NIT_NULL;
54209 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54210 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54211 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54212 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54213 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54214 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54215 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54216 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54217 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54218 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54219 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
54220 /* ./parser//parser.nit:20506 */
54221 if (UNTAG_Bool(REGB0)) {
54222 } else {
54223 fprintf(stderr, "Assert failed");
54224 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20506);
54225 nit_exit(1);
54226 }
54227 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
54228 /* ./parser//parser.nit:20508 */
54229 if (UNTAG_Bool(REGB0)) {
54230 } else {
54231 fprintf(stderr, "Assert failed");
54232 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20508);
54233 nit_exit(1);
54234 }
54235 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
54236 /* ./parser//parser.nit:20510 */
54237 if (UNTAG_Bool(REGB0)) {
54238 } else {
54239 fprintf(stderr, "Assert failed");
54240 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20510);
54241 nit_exit(1);
54242 }
54243 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
54244 /* ./parser//parser.nit:20512 */
54245 if (UNTAG_Bool(REGB0)) {
54246 } else {
54247 fprintf(stderr, "Assert failed");
54248 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20512);
54249 nit_exit(1);
54250 }
54251 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
54252 /* ./parser//parser.nit:20514 */
54253 if (UNTAG_Bool(REGB0)) {
54254 } else {
54255 fprintf(stderr, "Assert failed");
54256 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20514);
54257 nit_exit(1);
54258 }
54259 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
54260 /* ./parser//parser.nit:20516 */
54261 if (UNTAG_Bool(REGB0)) {
54262 } else {
54263 fprintf(stderr, "Assert failed");
54264 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20516);
54265 nit_exit(1);
54266 }
54267 fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
54268 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
54269 /* ./parser//parser.nit:20523 */
54270 if (UNTAG_Bool(REGB0)) {
54271 } else {
54272 fprintf(stderr, "Assert failed");
54273 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20523);
54274 nit_exit(1);
54275 }
54276 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
54277 /* ./parser//parser.nit:20525 */
54278 if (UNTAG_Bool(REGB0)) {
54279 } else {
54280 fprintf(stderr, "Assert failed");
54281 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20525);
54282 nit_exit(1);
54283 }
54284 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
54285 fra.me.REG[0] = fra.me.REG[2];
54286 REGB0 = TAG_Int(12);
54287 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54288 /* ./parser//parser.nit:20536 */
54289 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
54290 stack_frame_head = fra.me.prev;
54291 return;
54292 }
54293 void parser___ReduceAction433___init(val_t p0, int* init_table){
54294 int itpos437 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction433].i;
54295 struct {struct stack_frame_t me;} fra;
54296 val_t tmp;
54297 if (init_table[itpos437]) return;
54298 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54299 fra.me.file = LOCATE_parser;
54300 fra.me.line = 20538;
54301 fra.me.meth = LOCATE_parser___ReduceAction433___init;
54302 fra.me.has_broke = 0;
54303 fra.me.REG_size = 1;
54304 fra.me.REG[0] = NIT_NULL;
54305 fra.me.REG[0] = p0;
54306 /* ./parser//parser.nit:20538 */
54307 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
54308 stack_frame_head = fra.me.prev;
54309 init_table[itpos437] = 1;
54310 return;
54311 }
54312 void parser___ReduceAction434___action(val_t p0, val_t p1){
54313 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
54314 val_t REGB0;
54315 val_t tmp;
54316 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54317 fra.me.file = LOCATE_parser;
54318 fra.me.line = 20542;
54319 fra.me.meth = LOCATE_parser___ReduceAction434___action;
54320 fra.me.has_broke = 0;
54321 fra.me.REG_size = 9;
54322 fra.me.REG[0] = NIT_NULL;
54323 fra.me.REG[1] = NIT_NULL;
54324 fra.me.REG[2] = NIT_NULL;
54325 fra.me.REG[3] = NIT_NULL;
54326 fra.me.REG[4] = NIT_NULL;
54327 fra.me.REG[5] = NIT_NULL;
54328 fra.me.REG[6] = NIT_NULL;
54329 fra.me.REG[7] = NIT_NULL;
54330 fra.me.REG[8] = NIT_NULL;
54331 fra.me.REG[0] = p0;
54332 fra.me.REG[1] = p1;
54333 fra.me.REG[0] = NIT_NULL;
54334 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54335 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54336 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54337 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54338 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54339 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54340 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54341 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54342 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54343 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
54344 /* ./parser//parser.nit:20555 */
54345 if (UNTAG_Bool(REGB0)) {
54346 } else {
54347 fprintf(stderr, "Assert failed");
54348 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20555);
54349 nit_exit(1);
54350 }
54351 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
54352 /* ./parser//parser.nit:20557 */
54353 if (UNTAG_Bool(REGB0)) {
54354 } else {
54355 fprintf(stderr, "Assert failed");
54356 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20557);
54357 nit_exit(1);
54358 }
54359 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
54360 /* ./parser//parser.nit:20559 */
54361 if (UNTAG_Bool(REGB0)) {
54362 } else {
54363 fprintf(stderr, "Assert failed");
54364 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20559);
54365 nit_exit(1);
54366 }
54367 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
54368 /* ./parser//parser.nit:20561 */
54369 if (UNTAG_Bool(REGB0)) {
54370 } else {
54371 fprintf(stderr, "Assert failed");
54372 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20561);
54373 nit_exit(1);
54374 }
54375 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
54376 /* ./parser//parser.nit:20563 */
54377 if (UNTAG_Bool(REGB0)) {
54378 } else {
54379 fprintf(stderr, "Assert failed");
54380 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20563);
54381 nit_exit(1);
54382 }
54383 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
54384 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
54385 /* ./parser//parser.nit:20568 */
54386 if (UNTAG_Bool(REGB0)) {
54387 } else {
54388 fprintf(stderr, "Assert failed");
54389 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20568);
54390 nit_exit(1);
54391 }
54392 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
54393 /* ./parser//parser.nit:20570 */
54394 if (UNTAG_Bool(REGB0)) {
54395 } else {
54396 fprintf(stderr, "Assert failed");
54397 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20570);
54398 nit_exit(1);
54399 }
54400 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
54401 fra.me.REG[0] = fra.me.REG[2];
54402 REGB0 = TAG_Int(12);
54403 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54404 /* ./parser//parser.nit:20581 */
54405 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
54406 stack_frame_head = fra.me.prev;
54407 return;
54408 }
54409 void parser___ReduceAction434___init(val_t p0, int* init_table){
54410 int itpos438 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction434].i;
54411 struct {struct stack_frame_t me;} fra;
54412 val_t tmp;
54413 if (init_table[itpos438]) return;
54414 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54415 fra.me.file = LOCATE_parser;
54416 fra.me.line = 20583;
54417 fra.me.meth = LOCATE_parser___ReduceAction434___init;
54418 fra.me.has_broke = 0;
54419 fra.me.REG_size = 1;
54420 fra.me.REG[0] = NIT_NULL;
54421 fra.me.REG[0] = p0;
54422 /* ./parser//parser.nit:20583 */
54423 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
54424 stack_frame_head = fra.me.prev;
54425 init_table[itpos438] = 1;
54426 return;
54427 }
54428 void parser___ReduceAction435___action(val_t p0, val_t p1){
54429 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
54430 val_t REGB0;
54431 val_t tmp;
54432 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54433 fra.me.file = LOCATE_parser;
54434 fra.me.line = 20587;
54435 fra.me.meth = LOCATE_parser___ReduceAction435___action;
54436 fra.me.has_broke = 0;
54437 fra.me.REG_size = 9;
54438 fra.me.REG[0] = NIT_NULL;
54439 fra.me.REG[1] = NIT_NULL;
54440 fra.me.REG[2] = NIT_NULL;
54441 fra.me.REG[3] = NIT_NULL;
54442 fra.me.REG[4] = NIT_NULL;
54443 fra.me.REG[5] = NIT_NULL;
54444 fra.me.REG[6] = NIT_NULL;
54445 fra.me.REG[7] = NIT_NULL;
54446 fra.me.REG[8] = NIT_NULL;
54447 fra.me.REG[0] = p0;
54448 fra.me.REG[1] = p1;
54449 fra.me.REG[0] = NIT_NULL;
54450 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54451 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54452 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54453 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54454 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54455 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54456 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54457 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54458 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54459 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
54460 /* ./parser//parser.nit:20600 */
54461 if (UNTAG_Bool(REGB0)) {
54462 } else {
54463 fprintf(stderr, "Assert failed");
54464 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20600);
54465 nit_exit(1);
54466 }
54467 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
54468 /* ./parser//parser.nit:20602 */
54469 if (UNTAG_Bool(REGB0)) {
54470 } else {
54471 fprintf(stderr, "Assert failed");
54472 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20602);
54473 nit_exit(1);
54474 }
54475 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
54476 /* ./parser//parser.nit:20604 */
54477 if (UNTAG_Bool(REGB0)) {
54478 } else {
54479 fprintf(stderr, "Assert failed");
54480 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20604);
54481 nit_exit(1);
54482 }
54483 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
54484 /* ./parser//parser.nit:20606 */
54485 if (UNTAG_Bool(REGB0)) {
54486 } else {
54487 fprintf(stderr, "Assert failed");
54488 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20606);
54489 nit_exit(1);
54490 }
54491 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
54492 /* ./parser//parser.nit:20608 */
54493 if (UNTAG_Bool(REGB0)) {
54494 } else {
54495 fprintf(stderr, "Assert failed");
54496 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20608);
54497 nit_exit(1);
54498 }
54499 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
54500 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
54501 /* ./parser//parser.nit:20613 */
54502 if (UNTAG_Bool(REGB0)) {
54503 } else {
54504 fprintf(stderr, "Assert failed");
54505 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20613);
54506 nit_exit(1);
54507 }
54508 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
54509 /* ./parser//parser.nit:20615 */
54510 if (UNTAG_Bool(REGB0)) {
54511 } else {
54512 fprintf(stderr, "Assert failed");
54513 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20615);
54514 nit_exit(1);
54515 }
54516 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
54517 fra.me.REG[0] = fra.me.REG[2];
54518 REGB0 = TAG_Int(12);
54519 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54520 /* ./parser//parser.nit:20626 */
54521 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
54522 stack_frame_head = fra.me.prev;
54523 return;
54524 }
54525 void parser___ReduceAction435___init(val_t p0, int* init_table){
54526 int itpos439 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction435].i;
54527 struct {struct stack_frame_t me;} fra;
54528 val_t tmp;
54529 if (init_table[itpos439]) return;
54530 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54531 fra.me.file = LOCATE_parser;
54532 fra.me.line = 20628;
54533 fra.me.meth = LOCATE_parser___ReduceAction435___init;
54534 fra.me.has_broke = 0;
54535 fra.me.REG_size = 1;
54536 fra.me.REG[0] = NIT_NULL;
54537 fra.me.REG[0] = p0;
54538 /* ./parser//parser.nit:20628 */
54539 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
54540 stack_frame_head = fra.me.prev;
54541 init_table[itpos439] = 1;
54542 return;
54543 }
54544 void parser___ReduceAction436___action(val_t p0, val_t p1){
54545 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
54546 val_t REGB0;
54547 val_t tmp;
54548 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54549 fra.me.file = LOCATE_parser;
54550 fra.me.line = 20632;
54551 fra.me.meth = LOCATE_parser___ReduceAction436___action;
54552 fra.me.has_broke = 0;
54553 fra.me.REG_size = 9;
54554 fra.me.REG[0] = NIT_NULL;
54555 fra.me.REG[1] = NIT_NULL;
54556 fra.me.REG[2] = NIT_NULL;
54557 fra.me.REG[3] = NIT_NULL;
54558 fra.me.REG[4] = NIT_NULL;
54559 fra.me.REG[5] = NIT_NULL;
54560 fra.me.REG[6] = NIT_NULL;
54561 fra.me.REG[7] = NIT_NULL;
54562 fra.me.REG[8] = NIT_NULL;
54563 fra.me.REG[0] = p0;
54564 fra.me.REG[1] = p1;
54565 fra.me.REG[0] = NIT_NULL;
54566 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54567 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54568 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54569 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54570 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54571 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54572 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54573 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54574 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54575 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
54576 /* ./parser//parser.nit:20645 */
54577 if (UNTAG_Bool(REGB0)) {
54578 } else {
54579 fprintf(stderr, "Assert failed");
54580 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20645);
54581 nit_exit(1);
54582 }
54583 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
54584 /* ./parser//parser.nit:20647 */
54585 if (UNTAG_Bool(REGB0)) {
54586 } else {
54587 fprintf(stderr, "Assert failed");
54588 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20647);
54589 nit_exit(1);
54590 }
54591 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
54592 /* ./parser//parser.nit:20649 */
54593 if (UNTAG_Bool(REGB0)) {
54594 } else {
54595 fprintf(stderr, "Assert failed");
54596 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20649);
54597 nit_exit(1);
54598 }
54599 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
54600 /* ./parser//parser.nit:20651 */
54601 if (UNTAG_Bool(REGB0)) {
54602 } else {
54603 fprintf(stderr, "Assert failed");
54604 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20651);
54605 nit_exit(1);
54606 }
54607 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
54608 /* ./parser//parser.nit:20653 */
54609 if (UNTAG_Bool(REGB0)) {
54610 } else {
54611 fprintf(stderr, "Assert failed");
54612 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20653);
54613 nit_exit(1);
54614 }
54615 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
54616 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
54617 /* ./parser//parser.nit:20658 */
54618 if (UNTAG_Bool(REGB0)) {
54619 } else {
54620 fprintf(stderr, "Assert failed");
54621 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20658);
54622 nit_exit(1);
54623 }
54624 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
54625 /* ./parser//parser.nit:20660 */
54626 if (UNTAG_Bool(REGB0)) {
54627 } else {
54628 fprintf(stderr, "Assert failed");
54629 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20660);
54630 nit_exit(1);
54631 }
54632 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
54633 fra.me.REG[0] = fra.me.REG[2];
54634 REGB0 = TAG_Int(12);
54635 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54636 /* ./parser//parser.nit:20671 */
54637 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
54638 stack_frame_head = fra.me.prev;
54639 return;
54640 }
54641 void parser___ReduceAction436___init(val_t p0, int* init_table){
54642 int itpos440 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction436].i;
54643 struct {struct stack_frame_t me;} fra;
54644 val_t tmp;
54645 if (init_table[itpos440]) return;
54646 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54647 fra.me.file = LOCATE_parser;
54648 fra.me.line = 20673;
54649 fra.me.meth = LOCATE_parser___ReduceAction436___init;
54650 fra.me.has_broke = 0;
54651 fra.me.REG_size = 1;
54652 fra.me.REG[0] = NIT_NULL;
54653 fra.me.REG[0] = p0;
54654 /* ./parser//parser.nit:20673 */
54655 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
54656 stack_frame_head = fra.me.prev;
54657 init_table[itpos440] = 1;
54658 return;
54659 }
54660 void parser___ReduceAction437___action(val_t p0, val_t p1){
54661 struct {struct stack_frame_t me; val_t MORE_REG[8];} 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 = 20677;
54667 fra.me.meth = LOCATE_parser___ReduceAction437___action;
54668 fra.me.has_broke = 0;
54669 fra.me.REG_size = 9;
54670 fra.me.REG[0] = NIT_NULL;
54671 fra.me.REG[1] = NIT_NULL;
54672 fra.me.REG[2] = NIT_NULL;
54673 fra.me.REG[3] = NIT_NULL;
54674 fra.me.REG[4] = NIT_NULL;
54675 fra.me.REG[5] = NIT_NULL;
54676 fra.me.REG[6] = NIT_NULL;
54677 fra.me.REG[7] = NIT_NULL;
54678 fra.me.REG[8] = NIT_NULL;
54679 fra.me.REG[0] = p0;
54680 fra.me.REG[1] = p1;
54681 fra.me.REG[0] = NIT_NULL;
54682 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54683 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54684 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54685 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54686 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54687 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54688 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54689 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54690 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54691 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
54692 /* ./parser//parser.nit:20690 */
54693 if (UNTAG_Bool(REGB0)) {
54694 } else {
54695 fprintf(stderr, "Assert failed");
54696 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20690);
54697 nit_exit(1);
54698 }
54699 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
54700 /* ./parser//parser.nit:20692 */
54701 if (UNTAG_Bool(REGB0)) {
54702 } else {
54703 fprintf(stderr, "Assert failed");
54704 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20692);
54705 nit_exit(1);
54706 }
54707 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
54708 /* ./parser//parser.nit:20694 */
54709 if (UNTAG_Bool(REGB0)) {
54710 } else {
54711 fprintf(stderr, "Assert failed");
54712 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20694);
54713 nit_exit(1);
54714 }
54715 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
54716 /* ./parser//parser.nit:20696 */
54717 if (UNTAG_Bool(REGB0)) {
54718 } else {
54719 fprintf(stderr, "Assert failed");
54720 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20696);
54721 nit_exit(1);
54722 }
54723 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
54724 /* ./parser//parser.nit:20698 */
54725 if (UNTAG_Bool(REGB0)) {
54726 } else {
54727 fprintf(stderr, "Assert failed");
54728 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20698);
54729 nit_exit(1);
54730 }
54731 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
54732 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
54733 /* ./parser//parser.nit:20703 */
54734 if (UNTAG_Bool(REGB0)) {
54735 } else {
54736 fprintf(stderr, "Assert failed");
54737 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20703);
54738 nit_exit(1);
54739 }
54740 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
54741 /* ./parser//parser.nit:20705 */
54742 if (UNTAG_Bool(REGB0)) {
54743 } else {
54744 fprintf(stderr, "Assert failed");
54745 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20705);
54746 nit_exit(1);
54747 }
54748 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
54749 fra.me.REG[0] = fra.me.REG[2];
54750 REGB0 = TAG_Int(12);
54751 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54752 /* ./parser//parser.nit:20716 */
54753 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
54754 stack_frame_head = fra.me.prev;
54755 return;
54756 }
54757 void parser___ReduceAction437___init(val_t p0, int* init_table){
54758 int itpos441 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction437].i;
54759 struct {struct stack_frame_t me;} fra;
54760 val_t tmp;
54761 if (init_table[itpos441]) return;
54762 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54763 fra.me.file = LOCATE_parser;
54764 fra.me.line = 20718;
54765 fra.me.meth = LOCATE_parser___ReduceAction437___init;
54766 fra.me.has_broke = 0;
54767 fra.me.REG_size = 1;
54768 fra.me.REG[0] = NIT_NULL;
54769 fra.me.REG[0] = p0;
54770 /* ./parser//parser.nit:20718 */
54771 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
54772 stack_frame_head = fra.me.prev;
54773 init_table[itpos441] = 1;
54774 return;
54775 }
54776 void parser___ReduceAction438___action(val_t p0, val_t p1){
54777 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
54778 val_t REGB0;
54779 val_t tmp;
54780 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54781 fra.me.file = LOCATE_parser;
54782 fra.me.line = 20722;
54783 fra.me.meth = LOCATE_parser___ReduceAction438___action;
54784 fra.me.has_broke = 0;
54785 fra.me.REG_size = 9;
54786 fra.me.REG[0] = NIT_NULL;
54787 fra.me.REG[1] = NIT_NULL;
54788 fra.me.REG[2] = NIT_NULL;
54789 fra.me.REG[3] = NIT_NULL;
54790 fra.me.REG[4] = NIT_NULL;
54791 fra.me.REG[5] = NIT_NULL;
54792 fra.me.REG[6] = NIT_NULL;
54793 fra.me.REG[7] = NIT_NULL;
54794 fra.me.REG[8] = NIT_NULL;
54795 fra.me.REG[0] = p0;
54796 fra.me.REG[1] = p1;
54797 fra.me.REG[0] = NIT_NULL;
54798 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54799 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54800 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54801 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54802 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54803 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54804 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54805 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54806 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54807 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
54808 /* ./parser//parser.nit:20735 */
54809 if (UNTAG_Bool(REGB0)) {
54810 } else {
54811 fprintf(stderr, "Assert failed");
54812 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20735);
54813 nit_exit(1);
54814 }
54815 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
54816 /* ./parser//parser.nit:20737 */
54817 if (UNTAG_Bool(REGB0)) {
54818 } else {
54819 fprintf(stderr, "Assert failed");
54820 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20737);
54821 nit_exit(1);
54822 }
54823 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
54824 /* ./parser//parser.nit:20739 */
54825 if (UNTAG_Bool(REGB0)) {
54826 } else {
54827 fprintf(stderr, "Assert failed");
54828 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20739);
54829 nit_exit(1);
54830 }
54831 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
54832 /* ./parser//parser.nit:20741 */
54833 if (UNTAG_Bool(REGB0)) {
54834 } else {
54835 fprintf(stderr, "Assert failed");
54836 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20741);
54837 nit_exit(1);
54838 }
54839 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
54840 /* ./parser//parser.nit:20743 */
54841 if (UNTAG_Bool(REGB0)) {
54842 } else {
54843 fprintf(stderr, "Assert failed");
54844 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20743);
54845 nit_exit(1);
54846 }
54847 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
54848 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
54849 /* ./parser//parser.nit:20748 */
54850 if (UNTAG_Bool(REGB0)) {
54851 } else {
54852 fprintf(stderr, "Assert failed");
54853 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20748);
54854 nit_exit(1);
54855 }
54856 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
54857 /* ./parser//parser.nit:20750 */
54858 if (UNTAG_Bool(REGB0)) {
54859 } else {
54860 fprintf(stderr, "Assert failed");
54861 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20750);
54862 nit_exit(1);
54863 }
54864 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
54865 fra.me.REG[0] = fra.me.REG[2];
54866 REGB0 = TAG_Int(12);
54867 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54868 /* ./parser//parser.nit:20761 */
54869 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
54870 stack_frame_head = fra.me.prev;
54871 return;
54872 }
54873 void parser___ReduceAction438___init(val_t p0, int* init_table){
54874 int itpos442 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction438].i;
54875 struct {struct stack_frame_t me;} fra;
54876 val_t tmp;
54877 if (init_table[itpos442]) return;
54878 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54879 fra.me.file = LOCATE_parser;
54880 fra.me.line = 20763;
54881 fra.me.meth = LOCATE_parser___ReduceAction438___init;
54882 fra.me.has_broke = 0;
54883 fra.me.REG_size = 1;
54884 fra.me.REG[0] = NIT_NULL;
54885 fra.me.REG[0] = p0;
54886 /* ./parser//parser.nit:20763 */
54887 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
54888 stack_frame_head = fra.me.prev;
54889 init_table[itpos442] = 1;
54890 return;
54891 }
54892 void parser___ReduceAction439___action(val_t p0, val_t p1){
54893 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
54894 val_t REGB0;
54895 val_t tmp;
54896 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54897 fra.me.file = LOCATE_parser;
54898 fra.me.line = 20767;
54899 fra.me.meth = LOCATE_parser___ReduceAction439___action;
54900 fra.me.has_broke = 0;
54901 fra.me.REG_size = 9;
54902 fra.me.REG[0] = NIT_NULL;
54903 fra.me.REG[1] = NIT_NULL;
54904 fra.me.REG[2] = NIT_NULL;
54905 fra.me.REG[3] = NIT_NULL;
54906 fra.me.REG[4] = NIT_NULL;
54907 fra.me.REG[5] = NIT_NULL;
54908 fra.me.REG[6] = NIT_NULL;
54909 fra.me.REG[7] = NIT_NULL;
54910 fra.me.REG[8] = NIT_NULL;
54911 fra.me.REG[0] = p0;
54912 fra.me.REG[1] = p1;
54913 fra.me.REG[0] = NIT_NULL;
54914 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54915 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54916 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54917 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54918 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54919 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54920 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54921 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54922 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
54923 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
54924 /* ./parser//parser.nit:20780 */
54925 if (UNTAG_Bool(REGB0)) {
54926 } else {
54927 fprintf(stderr, "Assert failed");
54928 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20780);
54929 nit_exit(1);
54930 }
54931 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
54932 /* ./parser//parser.nit:20782 */
54933 if (UNTAG_Bool(REGB0)) {
54934 } else {
54935 fprintf(stderr, "Assert failed");
54936 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20782);
54937 nit_exit(1);
54938 }
54939 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
54940 /* ./parser//parser.nit:20784 */
54941 if (UNTAG_Bool(REGB0)) {
54942 } else {
54943 fprintf(stderr, "Assert failed");
54944 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20784);
54945 nit_exit(1);
54946 }
54947 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
54948 /* ./parser//parser.nit:20786 */
54949 if (UNTAG_Bool(REGB0)) {
54950 } else {
54951 fprintf(stderr, "Assert failed");
54952 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20786);
54953 nit_exit(1);
54954 }
54955 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
54956 /* ./parser//parser.nit:20788 */
54957 if (UNTAG_Bool(REGB0)) {
54958 } else {
54959 fprintf(stderr, "Assert failed");
54960 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20788);
54961 nit_exit(1);
54962 }
54963 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
54964 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
54965 /* ./parser//parser.nit:20793 */
54966 if (UNTAG_Bool(REGB0)) {
54967 } else {
54968 fprintf(stderr, "Assert failed");
54969 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20793);
54970 nit_exit(1);
54971 }
54972 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
54973 /* ./parser//parser.nit:20795 */
54974 if (UNTAG_Bool(REGB0)) {
54975 } else {
54976 fprintf(stderr, "Assert failed");
54977 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20795);
54978 nit_exit(1);
54979 }
54980 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
54981 fra.me.REG[0] = fra.me.REG[2];
54982 REGB0 = TAG_Int(12);
54983 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
54984 /* ./parser//parser.nit:20806 */
54985 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
54986 stack_frame_head = fra.me.prev;
54987 return;
54988 }
54989 void parser___ReduceAction439___init(val_t p0, int* init_table){
54990 int itpos443 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction439].i;
54991 struct {struct stack_frame_t me;} fra;
54992 val_t tmp;
54993 if (init_table[itpos443]) return;
54994 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54995 fra.me.file = LOCATE_parser;
54996 fra.me.line = 20808;
54997 fra.me.meth = LOCATE_parser___ReduceAction439___init;
54998 fra.me.has_broke = 0;
54999 fra.me.REG_size = 1;
55000 fra.me.REG[0] = NIT_NULL;
55001 fra.me.REG[0] = p0;
55002 /* ./parser//parser.nit:20808 */
55003 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
55004 stack_frame_head = fra.me.prev;
55005 init_table[itpos443] = 1;
55006 return;
55007 }
55008 void parser___ReduceAction440___action(val_t p0, val_t p1){
55009 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
55010 val_t REGB0;
55011 val_t tmp;
55012 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55013 fra.me.file = LOCATE_parser;
55014 fra.me.line = 20812;
55015 fra.me.meth = LOCATE_parser___ReduceAction440___action;
55016 fra.me.has_broke = 0;
55017 fra.me.REG_size = 9;
55018 fra.me.REG[0] = NIT_NULL;
55019 fra.me.REG[1] = NIT_NULL;
55020 fra.me.REG[2] = NIT_NULL;
55021 fra.me.REG[3] = NIT_NULL;
55022 fra.me.REG[4] = NIT_NULL;
55023 fra.me.REG[5] = NIT_NULL;
55024 fra.me.REG[6] = NIT_NULL;
55025 fra.me.REG[7] = NIT_NULL;
55026 fra.me.REG[8] = NIT_NULL;
55027 fra.me.REG[0] = p0;
55028 fra.me.REG[1] = p1;
55029 fra.me.REG[0] = NIT_NULL;
55030 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55031 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55032 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55033 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55034 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55035 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55036 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55037 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55038 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55039 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
55040 /* ./parser//parser.nit:20825 */
55041 if (UNTAG_Bool(REGB0)) {
55042 } else {
55043 fprintf(stderr, "Assert failed");
55044 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20825);
55045 nit_exit(1);
55046 }
55047 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
55048 /* ./parser//parser.nit:20827 */
55049 if (UNTAG_Bool(REGB0)) {
55050 } else {
55051 fprintf(stderr, "Assert failed");
55052 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20827);
55053 nit_exit(1);
55054 }
55055 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
55056 /* ./parser//parser.nit:20829 */
55057 if (UNTAG_Bool(REGB0)) {
55058 } else {
55059 fprintf(stderr, "Assert failed");
55060 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20829);
55061 nit_exit(1);
55062 }
55063 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
55064 /* ./parser//parser.nit:20831 */
55065 if (UNTAG_Bool(REGB0)) {
55066 } else {
55067 fprintf(stderr, "Assert failed");
55068 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20831);
55069 nit_exit(1);
55070 }
55071 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
55072 /* ./parser//parser.nit:20833 */
55073 if (UNTAG_Bool(REGB0)) {
55074 } else {
55075 fprintf(stderr, "Assert failed");
55076 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20833);
55077 nit_exit(1);
55078 }
55079 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
55080 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
55081 /* ./parser//parser.nit:20838 */
55082 if (UNTAG_Bool(REGB0)) {
55083 } else {
55084 fprintf(stderr, "Assert failed");
55085 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20838);
55086 nit_exit(1);
55087 }
55088 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
55089 /* ./parser//parser.nit:20840 */
55090 if (UNTAG_Bool(REGB0)) {
55091 } else {
55092 fprintf(stderr, "Assert failed");
55093 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20840);
55094 nit_exit(1);
55095 }
55096 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
55097 fra.me.REG[0] = fra.me.REG[2];
55098 REGB0 = TAG_Int(12);
55099 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55100 /* ./parser//parser.nit:20851 */
55101 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
55102 stack_frame_head = fra.me.prev;
55103 return;
55104 }
55105 void parser___ReduceAction440___init(val_t p0, int* init_table){
55106 int itpos444 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction440].i;
55107 struct {struct stack_frame_t me;} fra;
55108 val_t tmp;
55109 if (init_table[itpos444]) return;
55110 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55111 fra.me.file = LOCATE_parser;
55112 fra.me.line = 20853;
55113 fra.me.meth = LOCATE_parser___ReduceAction440___init;
55114 fra.me.has_broke = 0;
55115 fra.me.REG_size = 1;
55116 fra.me.REG[0] = NIT_NULL;
55117 fra.me.REG[0] = p0;
55118 /* ./parser//parser.nit:20853 */
55119 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
55120 stack_frame_head = fra.me.prev;
55121 init_table[itpos444] = 1;
55122 return;
55123 }
55124 void parser___ReduceAction441___action(val_t p0, val_t p1){
55125 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
55126 val_t REGB0;
55127 val_t tmp;
55128 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55129 fra.me.file = LOCATE_parser;
55130 fra.me.line = 20857;
55131 fra.me.meth = LOCATE_parser___ReduceAction441___action;
55132 fra.me.has_broke = 0;
55133 fra.me.REG_size = 9;
55134 fra.me.REG[0] = NIT_NULL;
55135 fra.me.REG[1] = NIT_NULL;
55136 fra.me.REG[2] = NIT_NULL;
55137 fra.me.REG[3] = NIT_NULL;
55138 fra.me.REG[4] = NIT_NULL;
55139 fra.me.REG[5] = NIT_NULL;
55140 fra.me.REG[6] = NIT_NULL;
55141 fra.me.REG[7] = NIT_NULL;
55142 fra.me.REG[8] = NIT_NULL;
55143 fra.me.REG[0] = p0;
55144 fra.me.REG[1] = p1;
55145 fra.me.REG[0] = NIT_NULL;
55146 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55147 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55148 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55149 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55150 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55151 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55152 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55153 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55154 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55155 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
55156 /* ./parser//parser.nit:20870 */
55157 if (UNTAG_Bool(REGB0)) {
55158 } else {
55159 fprintf(stderr, "Assert failed");
55160 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20870);
55161 nit_exit(1);
55162 }
55163 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
55164 /* ./parser//parser.nit:20872 */
55165 if (UNTAG_Bool(REGB0)) {
55166 } else {
55167 fprintf(stderr, "Assert failed");
55168 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20872);
55169 nit_exit(1);
55170 }
55171 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
55172 /* ./parser//parser.nit:20874 */
55173 if (UNTAG_Bool(REGB0)) {
55174 } else {
55175 fprintf(stderr, "Assert failed");
55176 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20874);
55177 nit_exit(1);
55178 }
55179 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
55180 /* ./parser//parser.nit:20876 */
55181 if (UNTAG_Bool(REGB0)) {
55182 } else {
55183 fprintf(stderr, "Assert failed");
55184 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20876);
55185 nit_exit(1);
55186 }
55187 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
55188 /* ./parser//parser.nit:20878 */
55189 if (UNTAG_Bool(REGB0)) {
55190 } else {
55191 fprintf(stderr, "Assert failed");
55192 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20878);
55193 nit_exit(1);
55194 }
55195 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
55196 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
55197 /* ./parser//parser.nit:20883 */
55198 if (UNTAG_Bool(REGB0)) {
55199 } else {
55200 fprintf(stderr, "Assert failed");
55201 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20883);
55202 nit_exit(1);
55203 }
55204 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
55205 /* ./parser//parser.nit:20885 */
55206 if (UNTAG_Bool(REGB0)) {
55207 } else {
55208 fprintf(stderr, "Assert failed");
55209 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20885);
55210 nit_exit(1);
55211 }
55212 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
55213 fra.me.REG[0] = fra.me.REG[2];
55214 REGB0 = TAG_Int(12);
55215 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55216 /* ./parser//parser.nit:20896 */
55217 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
55218 stack_frame_head = fra.me.prev;
55219 return;
55220 }
55221 void parser___ReduceAction441___init(val_t p0, int* init_table){
55222 int itpos445 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction441].i;
55223 struct {struct stack_frame_t me;} fra;
55224 val_t tmp;
55225 if (init_table[itpos445]) return;
55226 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55227 fra.me.file = LOCATE_parser;
55228 fra.me.line = 20898;
55229 fra.me.meth = LOCATE_parser___ReduceAction441___init;
55230 fra.me.has_broke = 0;
55231 fra.me.REG_size = 1;
55232 fra.me.REG[0] = NIT_NULL;
55233 fra.me.REG[0] = p0;
55234 /* ./parser//parser.nit:20898 */
55235 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
55236 stack_frame_head = fra.me.prev;
55237 init_table[itpos445] = 1;
55238 return;
55239 }
55240 void parser___ReduceAction442___action(val_t p0, val_t p1){
55241 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
55242 val_t REGB0;
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 = 20902;
55247 fra.me.meth = LOCATE_parser___ReduceAction442___action;
55248 fra.me.has_broke = 0;
55249 fra.me.REG_size = 9;
55250 fra.me.REG[0] = NIT_NULL;
55251 fra.me.REG[1] = NIT_NULL;
55252 fra.me.REG[2] = NIT_NULL;
55253 fra.me.REG[3] = NIT_NULL;
55254 fra.me.REG[4] = NIT_NULL;
55255 fra.me.REG[5] = NIT_NULL;
55256 fra.me.REG[6] = NIT_NULL;
55257 fra.me.REG[7] = NIT_NULL;
55258 fra.me.REG[8] = NIT_NULL;
55259 fra.me.REG[0] = p0;
55260 fra.me.REG[1] = p1;
55261 fra.me.REG[0] = NIT_NULL;
55262 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55263 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55264 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55265 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55266 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55267 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55268 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55269 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55270 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55271 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
55272 /* ./parser//parser.nit:20915 */
55273 if (UNTAG_Bool(REGB0)) {
55274 } else {
55275 fprintf(stderr, "Assert failed");
55276 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20915);
55277 nit_exit(1);
55278 }
55279 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
55280 /* ./parser//parser.nit:20917 */
55281 if (UNTAG_Bool(REGB0)) {
55282 } else {
55283 fprintf(stderr, "Assert failed");
55284 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20917);
55285 nit_exit(1);
55286 }
55287 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
55288 /* ./parser//parser.nit:20919 */
55289 if (UNTAG_Bool(REGB0)) {
55290 } else {
55291 fprintf(stderr, "Assert failed");
55292 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20919);
55293 nit_exit(1);
55294 }
55295 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
55296 /* ./parser//parser.nit:20921 */
55297 if (UNTAG_Bool(REGB0)) {
55298 } else {
55299 fprintf(stderr, "Assert failed");
55300 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20921);
55301 nit_exit(1);
55302 }
55303 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
55304 /* ./parser//parser.nit:20923 */
55305 if (UNTAG_Bool(REGB0)) {
55306 } else {
55307 fprintf(stderr, "Assert failed");
55308 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20923);
55309 nit_exit(1);
55310 }
55311 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
55312 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
55313 /* ./parser//parser.nit:20928 */
55314 if (UNTAG_Bool(REGB0)) {
55315 } else {
55316 fprintf(stderr, "Assert failed");
55317 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20928);
55318 nit_exit(1);
55319 }
55320 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
55321 /* ./parser//parser.nit:20930 */
55322 if (UNTAG_Bool(REGB0)) {
55323 } else {
55324 fprintf(stderr, "Assert failed");
55325 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20930);
55326 nit_exit(1);
55327 }
55328 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
55329 fra.me.REG[0] = fra.me.REG[2];
55330 REGB0 = TAG_Int(12);
55331 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55332 /* ./parser//parser.nit:20941 */
55333 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
55334 stack_frame_head = fra.me.prev;
55335 return;
55336 }
55337 void parser___ReduceAction442___init(val_t p0, int* init_table){
55338 int itpos446 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction442].i;
55339 struct {struct stack_frame_t me;} fra;
55340 val_t tmp;
55341 if (init_table[itpos446]) return;
55342 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55343 fra.me.file = LOCATE_parser;
55344 fra.me.line = 20943;
55345 fra.me.meth = LOCATE_parser___ReduceAction442___init;
55346 fra.me.has_broke = 0;
55347 fra.me.REG_size = 1;
55348 fra.me.REG[0] = NIT_NULL;
55349 fra.me.REG[0] = p0;
55350 /* ./parser//parser.nit:20943 */
55351 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
55352 stack_frame_head = fra.me.prev;
55353 init_table[itpos446] = 1;
55354 return;
55355 }
55356 void parser___ReduceAction443___action(val_t p0, val_t p1){
55357 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
55358 val_t REGB0;
55359 val_t tmp;
55360 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55361 fra.me.file = LOCATE_parser;
55362 fra.me.line = 20947;
55363 fra.me.meth = LOCATE_parser___ReduceAction443___action;
55364 fra.me.has_broke = 0;
55365 fra.me.REG_size = 9;
55366 fra.me.REG[0] = NIT_NULL;
55367 fra.me.REG[1] = NIT_NULL;
55368 fra.me.REG[2] = NIT_NULL;
55369 fra.me.REG[3] = NIT_NULL;
55370 fra.me.REG[4] = NIT_NULL;
55371 fra.me.REG[5] = NIT_NULL;
55372 fra.me.REG[6] = NIT_NULL;
55373 fra.me.REG[7] = NIT_NULL;
55374 fra.me.REG[8] = NIT_NULL;
55375 fra.me.REG[0] = p0;
55376 fra.me.REG[1] = p1;
55377 fra.me.REG[0] = NIT_NULL;
55378 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55379 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55380 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55381 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55382 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55383 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55384 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55385 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55386 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55387 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
55388 /* ./parser//parser.nit:20960 */
55389 if (UNTAG_Bool(REGB0)) {
55390 } else {
55391 fprintf(stderr, "Assert failed");
55392 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20960);
55393 nit_exit(1);
55394 }
55395 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
55396 /* ./parser//parser.nit:20962 */
55397 if (UNTAG_Bool(REGB0)) {
55398 } else {
55399 fprintf(stderr, "Assert failed");
55400 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20962);
55401 nit_exit(1);
55402 }
55403 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
55404 /* ./parser//parser.nit:20964 */
55405 if (UNTAG_Bool(REGB0)) {
55406 } else {
55407 fprintf(stderr, "Assert failed");
55408 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20964);
55409 nit_exit(1);
55410 }
55411 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
55412 /* ./parser//parser.nit:20966 */
55413 if (UNTAG_Bool(REGB0)) {
55414 } else {
55415 fprintf(stderr, "Assert failed");
55416 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20966);
55417 nit_exit(1);
55418 }
55419 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
55420 /* ./parser//parser.nit:20968 */
55421 if (UNTAG_Bool(REGB0)) {
55422 } else {
55423 fprintf(stderr, "Assert failed");
55424 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20968);
55425 nit_exit(1);
55426 }
55427 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
55428 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
55429 /* ./parser//parser.nit:20973 */
55430 if (UNTAG_Bool(REGB0)) {
55431 } else {
55432 fprintf(stderr, "Assert failed");
55433 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20973);
55434 nit_exit(1);
55435 }
55436 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
55437 /* ./parser//parser.nit:20975 */
55438 if (UNTAG_Bool(REGB0)) {
55439 } else {
55440 fprintf(stderr, "Assert failed");
55441 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20975);
55442 nit_exit(1);
55443 }
55444 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
55445 fra.me.REG[0] = fra.me.REG[2];
55446 REGB0 = TAG_Int(12);
55447 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55448 /* ./parser//parser.nit:20986 */
55449 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
55450 stack_frame_head = fra.me.prev;
55451 return;
55452 }
55453 void parser___ReduceAction443___init(val_t p0, int* init_table){
55454 int itpos447 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction443].i;
55455 struct {struct stack_frame_t me;} fra;
55456 val_t tmp;
55457 if (init_table[itpos447]) return;
55458 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55459 fra.me.file = LOCATE_parser;
55460 fra.me.line = 20988;
55461 fra.me.meth = LOCATE_parser___ReduceAction443___init;
55462 fra.me.has_broke = 0;
55463 fra.me.REG_size = 1;
55464 fra.me.REG[0] = NIT_NULL;
55465 fra.me.REG[0] = p0;
55466 /* ./parser//parser.nit:20988 */
55467 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
55468 stack_frame_head = fra.me.prev;
55469 init_table[itpos447] = 1;
55470 return;
55471 }
55472 void parser___ReduceAction444___action(val_t p0, val_t p1){
55473 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
55474 val_t REGB0;
55475 val_t tmp;
55476 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55477 fra.me.file = LOCATE_parser;
55478 fra.me.line = 20992;
55479 fra.me.meth = LOCATE_parser___ReduceAction444___action;
55480 fra.me.has_broke = 0;
55481 fra.me.REG_size = 9;
55482 fra.me.REG[0] = NIT_NULL;
55483 fra.me.REG[1] = NIT_NULL;
55484 fra.me.REG[2] = NIT_NULL;
55485 fra.me.REG[3] = NIT_NULL;
55486 fra.me.REG[4] = NIT_NULL;
55487 fra.me.REG[5] = NIT_NULL;
55488 fra.me.REG[6] = NIT_NULL;
55489 fra.me.REG[7] = NIT_NULL;
55490 fra.me.REG[8] = NIT_NULL;
55491 fra.me.REG[0] = p0;
55492 fra.me.REG[1] = p1;
55493 fra.me.REG[0] = NIT_NULL;
55494 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55495 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55496 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55497 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55498 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55499 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55500 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55501 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55502 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55503 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
55504 /* ./parser//parser.nit:21005 */
55505 if (UNTAG_Bool(REGB0)) {
55506 } else {
55507 fprintf(stderr, "Assert failed");
55508 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21005);
55509 nit_exit(1);
55510 }
55511 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
55512 /* ./parser//parser.nit:21007 */
55513 if (UNTAG_Bool(REGB0)) {
55514 } else {
55515 fprintf(stderr, "Assert failed");
55516 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21007);
55517 nit_exit(1);
55518 }
55519 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
55520 /* ./parser//parser.nit:21009 */
55521 if (UNTAG_Bool(REGB0)) {
55522 } else {
55523 fprintf(stderr, "Assert failed");
55524 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21009);
55525 nit_exit(1);
55526 }
55527 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
55528 /* ./parser//parser.nit:21011 */
55529 if (UNTAG_Bool(REGB0)) {
55530 } else {
55531 fprintf(stderr, "Assert failed");
55532 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21011);
55533 nit_exit(1);
55534 }
55535 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
55536 /* ./parser//parser.nit:21013 */
55537 if (UNTAG_Bool(REGB0)) {
55538 } else {
55539 fprintf(stderr, "Assert failed");
55540 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21013);
55541 nit_exit(1);
55542 }
55543 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
55544 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
55545 /* ./parser//parser.nit:21018 */
55546 if (UNTAG_Bool(REGB0)) {
55547 } else {
55548 fprintf(stderr, "Assert failed");
55549 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21018);
55550 nit_exit(1);
55551 }
55552 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
55553 /* ./parser//parser.nit:21020 */
55554 if (UNTAG_Bool(REGB0)) {
55555 } else {
55556 fprintf(stderr, "Assert failed");
55557 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21020);
55558 nit_exit(1);
55559 }
55560 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
55561 fra.me.REG[0] = fra.me.REG[2];
55562 REGB0 = TAG_Int(12);
55563 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55564 /* ./parser//parser.nit:21031 */
55565 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
55566 stack_frame_head = fra.me.prev;
55567 return;
55568 }
55569 void parser___ReduceAction444___init(val_t p0, int* init_table){
55570 int itpos448 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction444].i;
55571 struct {struct stack_frame_t me;} fra;
55572 val_t tmp;
55573 if (init_table[itpos448]) return;
55574 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55575 fra.me.file = LOCATE_parser;
55576 fra.me.line = 21033;
55577 fra.me.meth = LOCATE_parser___ReduceAction444___init;
55578 fra.me.has_broke = 0;
55579 fra.me.REG_size = 1;
55580 fra.me.REG[0] = NIT_NULL;
55581 fra.me.REG[0] = p0;
55582 /* ./parser//parser.nit:21033 */
55583 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
55584 stack_frame_head = fra.me.prev;
55585 init_table[itpos448] = 1;
55586 return;
55587 }
55588 void parser___ReduceAction445___action(val_t p0, val_t p1){
55589 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
55590 val_t REGB0;
55591 val_t tmp;
55592 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55593 fra.me.file = LOCATE_parser;
55594 fra.me.line = 21037;
55595 fra.me.meth = LOCATE_parser___ReduceAction445___action;
55596 fra.me.has_broke = 0;
55597 fra.me.REG_size = 9;
55598 fra.me.REG[0] = NIT_NULL;
55599 fra.me.REG[1] = NIT_NULL;
55600 fra.me.REG[2] = NIT_NULL;
55601 fra.me.REG[3] = NIT_NULL;
55602 fra.me.REG[4] = NIT_NULL;
55603 fra.me.REG[5] = NIT_NULL;
55604 fra.me.REG[6] = NIT_NULL;
55605 fra.me.REG[7] = NIT_NULL;
55606 fra.me.REG[8] = NIT_NULL;
55607 fra.me.REG[0] = p0;
55608 fra.me.REG[1] = p1;
55609 fra.me.REG[0] = NIT_NULL;
55610 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55611 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55612 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55613 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55614 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55615 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55616 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55617 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55618 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55619 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
55620 /* ./parser//parser.nit:21050 */
55621 if (UNTAG_Bool(REGB0)) {
55622 } else {
55623 fprintf(stderr, "Assert failed");
55624 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21050);
55625 nit_exit(1);
55626 }
55627 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
55628 /* ./parser//parser.nit:21052 */
55629 if (UNTAG_Bool(REGB0)) {
55630 } else {
55631 fprintf(stderr, "Assert failed");
55632 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21052);
55633 nit_exit(1);
55634 }
55635 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
55636 /* ./parser//parser.nit:21054 */
55637 if (UNTAG_Bool(REGB0)) {
55638 } else {
55639 fprintf(stderr, "Assert failed");
55640 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21054);
55641 nit_exit(1);
55642 }
55643 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
55644 /* ./parser//parser.nit:21056 */
55645 if (UNTAG_Bool(REGB0)) {
55646 } else {
55647 fprintf(stderr, "Assert failed");
55648 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21056);
55649 nit_exit(1);
55650 }
55651 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
55652 /* ./parser//parser.nit:21058 */
55653 if (UNTAG_Bool(REGB0)) {
55654 } else {
55655 fprintf(stderr, "Assert failed");
55656 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21058);
55657 nit_exit(1);
55658 }
55659 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
55660 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
55661 /* ./parser//parser.nit:21063 */
55662 if (UNTAG_Bool(REGB0)) {
55663 } else {
55664 fprintf(stderr, "Assert failed");
55665 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21063);
55666 nit_exit(1);
55667 }
55668 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
55669 /* ./parser//parser.nit:21065 */
55670 if (UNTAG_Bool(REGB0)) {
55671 } else {
55672 fprintf(stderr, "Assert failed");
55673 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21065);
55674 nit_exit(1);
55675 }
55676 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
55677 fra.me.REG[0] = fra.me.REG[2];
55678 REGB0 = TAG_Int(12);
55679 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55680 /* ./parser//parser.nit:21076 */
55681 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
55682 stack_frame_head = fra.me.prev;
55683 return;
55684 }
55685 void parser___ReduceAction445___init(val_t p0, int* init_table){
55686 int itpos449 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction445].i;
55687 struct {struct stack_frame_t me;} fra;
55688 val_t tmp;
55689 if (init_table[itpos449]) return;
55690 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55691 fra.me.file = LOCATE_parser;
55692 fra.me.line = 21078;
55693 fra.me.meth = LOCATE_parser___ReduceAction445___init;
55694 fra.me.has_broke = 0;
55695 fra.me.REG_size = 1;
55696 fra.me.REG[0] = NIT_NULL;
55697 fra.me.REG[0] = p0;
55698 /* ./parser//parser.nit:21078 */
55699 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
55700 stack_frame_head = fra.me.prev;
55701 init_table[itpos449] = 1;
55702 return;
55703 }
55704 void parser___ReduceAction446___action(val_t p0, val_t p1){
55705 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
55706 val_t REGB0;
55707 val_t tmp;
55708 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55709 fra.me.file = LOCATE_parser;
55710 fra.me.line = 21082;
55711 fra.me.meth = LOCATE_parser___ReduceAction446___action;
55712 fra.me.has_broke = 0;
55713 fra.me.REG_size = 10;
55714 fra.me.REG[0] = NIT_NULL;
55715 fra.me.REG[1] = NIT_NULL;
55716 fra.me.REG[2] = NIT_NULL;
55717 fra.me.REG[3] = NIT_NULL;
55718 fra.me.REG[4] = NIT_NULL;
55719 fra.me.REG[5] = NIT_NULL;
55720 fra.me.REG[6] = NIT_NULL;
55721 fra.me.REG[7] = NIT_NULL;
55722 fra.me.REG[8] = NIT_NULL;
55723 fra.me.REG[9] = NIT_NULL;
55724 fra.me.REG[0] = p0;
55725 fra.me.REG[1] = p1;
55726 fra.me.REG[0] = NIT_NULL;
55727 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55728 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55729 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55730 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55731 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55732 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55733 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55734 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55735 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55736 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55737 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
55738 /* ./parser//parser.nit:21096 */
55739 if (UNTAG_Bool(REGB0)) {
55740 } else {
55741 fprintf(stderr, "Assert failed");
55742 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21096);
55743 nit_exit(1);
55744 }
55745 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
55746 /* ./parser//parser.nit:21098 */
55747 if (UNTAG_Bool(REGB0)) {
55748 } else {
55749 fprintf(stderr, "Assert failed");
55750 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21098);
55751 nit_exit(1);
55752 }
55753 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
55754 /* ./parser//parser.nit:21100 */
55755 if (UNTAG_Bool(REGB0)) {
55756 } else {
55757 fprintf(stderr, "Assert failed");
55758 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21100);
55759 nit_exit(1);
55760 }
55761 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
55762 /* ./parser//parser.nit:21102 */
55763 if (UNTAG_Bool(REGB0)) {
55764 } else {
55765 fprintf(stderr, "Assert failed");
55766 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21102);
55767 nit_exit(1);
55768 }
55769 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
55770 /* ./parser//parser.nit:21104 */
55771 if (UNTAG_Bool(REGB0)) {
55772 } else {
55773 fprintf(stderr, "Assert failed");
55774 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21104);
55775 nit_exit(1);
55776 }
55777 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
55778 /* ./parser//parser.nit:21106 */
55779 if (UNTAG_Bool(REGB0)) {
55780 } else {
55781 fprintf(stderr, "Assert failed");
55782 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21106);
55783 nit_exit(1);
55784 }
55785 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
55786 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
55787 /* ./parser//parser.nit:21112 */
55788 if (UNTAG_Bool(REGB0)) {
55789 } else {
55790 fprintf(stderr, "Assert failed");
55791 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21112);
55792 nit_exit(1);
55793 }
55794 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
55795 /* ./parser//parser.nit:21114 */
55796 if (UNTAG_Bool(REGB0)) {
55797 } else {
55798 fprintf(stderr, "Assert failed");
55799 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21114);
55800 nit_exit(1);
55801 }
55802 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
55803 fra.me.REG[0] = fra.me.REG[2];
55804 REGB0 = TAG_Int(12);
55805 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55806 /* ./parser//parser.nit:21125 */
55807 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
55808 stack_frame_head = fra.me.prev;
55809 return;
55810 }
55811 void parser___ReduceAction446___init(val_t p0, int* init_table){
55812 int itpos450 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction446].i;
55813 struct {struct stack_frame_t me;} fra;
55814 val_t tmp;
55815 if (init_table[itpos450]) return;
55816 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55817 fra.me.file = LOCATE_parser;
55818 fra.me.line = 21127;
55819 fra.me.meth = LOCATE_parser___ReduceAction446___init;
55820 fra.me.has_broke = 0;
55821 fra.me.REG_size = 1;
55822 fra.me.REG[0] = NIT_NULL;
55823 fra.me.REG[0] = p0;
55824 /* ./parser//parser.nit:21127 */
55825 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
55826 stack_frame_head = fra.me.prev;
55827 init_table[itpos450] = 1;
55828 return;
55829 }
55830 void parser___ReduceAction447___action(val_t p0, val_t p1){
55831 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
55832 val_t REGB0;
55833 val_t tmp;
55834 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55835 fra.me.file = LOCATE_parser;
55836 fra.me.line = 21131;
55837 fra.me.meth = LOCATE_parser___ReduceAction447___action;
55838 fra.me.has_broke = 0;
55839 fra.me.REG_size = 9;
55840 fra.me.REG[0] = NIT_NULL;
55841 fra.me.REG[1] = NIT_NULL;
55842 fra.me.REG[2] = NIT_NULL;
55843 fra.me.REG[3] = NIT_NULL;
55844 fra.me.REG[4] = NIT_NULL;
55845 fra.me.REG[5] = NIT_NULL;
55846 fra.me.REG[6] = NIT_NULL;
55847 fra.me.REG[7] = NIT_NULL;
55848 fra.me.REG[8] = NIT_NULL;
55849 fra.me.REG[0] = p0;
55850 fra.me.REG[1] = p1;
55851 fra.me.REG[0] = NIT_NULL;
55852 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55853 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55854 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55855 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55856 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55857 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55858 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55859 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55860 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55861 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
55862 /* ./parser//parser.nit:21144 */
55863 if (UNTAG_Bool(REGB0)) {
55864 } else {
55865 fprintf(stderr, "Assert failed");
55866 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21144);
55867 nit_exit(1);
55868 }
55869 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
55870 /* ./parser//parser.nit:21146 */
55871 if (UNTAG_Bool(REGB0)) {
55872 } else {
55873 fprintf(stderr, "Assert failed");
55874 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21146);
55875 nit_exit(1);
55876 }
55877 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
55878 /* ./parser//parser.nit:21148 */
55879 if (UNTAG_Bool(REGB0)) {
55880 } else {
55881 fprintf(stderr, "Assert failed");
55882 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21148);
55883 nit_exit(1);
55884 }
55885 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
55886 /* ./parser//parser.nit:21150 */
55887 if (UNTAG_Bool(REGB0)) {
55888 } else {
55889 fprintf(stderr, "Assert failed");
55890 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21150);
55891 nit_exit(1);
55892 }
55893 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
55894 /* ./parser//parser.nit:21152 */
55895 if (UNTAG_Bool(REGB0)) {
55896 } else {
55897 fprintf(stderr, "Assert failed");
55898 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21152);
55899 nit_exit(1);
55900 }
55901 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
55902 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
55903 /* ./parser//parser.nit:21157 */
55904 if (UNTAG_Bool(REGB0)) {
55905 } else {
55906 fprintf(stderr, "Assert failed");
55907 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21157);
55908 nit_exit(1);
55909 }
55910 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
55911 /* ./parser//parser.nit:21159 */
55912 if (UNTAG_Bool(REGB0)) {
55913 } else {
55914 fprintf(stderr, "Assert failed");
55915 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21159);
55916 nit_exit(1);
55917 }
55918 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
55919 fra.me.REG[0] = fra.me.REG[2];
55920 REGB0 = TAG_Int(12);
55921 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
55922 /* ./parser//parser.nit:21170 */
55923 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
55924 stack_frame_head = fra.me.prev;
55925 return;
55926 }
55927 void parser___ReduceAction447___init(val_t p0, int* init_table){
55928 int itpos451 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction447].i;
55929 struct {struct stack_frame_t me;} fra;
55930 val_t tmp;
55931 if (init_table[itpos451]) return;
55932 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55933 fra.me.file = LOCATE_parser;
55934 fra.me.line = 21172;
55935 fra.me.meth = LOCATE_parser___ReduceAction447___init;
55936 fra.me.has_broke = 0;
55937 fra.me.REG_size = 1;
55938 fra.me.REG[0] = NIT_NULL;
55939 fra.me.REG[0] = p0;
55940 /* ./parser//parser.nit:21172 */
55941 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
55942 stack_frame_head = fra.me.prev;
55943 init_table[itpos451] = 1;
55944 return;
55945 }
55946 void parser___ReduceAction448___action(val_t p0, val_t p1){
55947 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
55948 val_t REGB0;
55949 val_t tmp;
55950 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55951 fra.me.file = LOCATE_parser;
55952 fra.me.line = 21176;
55953 fra.me.meth = LOCATE_parser___ReduceAction448___action;
55954 fra.me.has_broke = 0;
55955 fra.me.REG_size = 10;
55956 fra.me.REG[0] = NIT_NULL;
55957 fra.me.REG[1] = NIT_NULL;
55958 fra.me.REG[2] = NIT_NULL;
55959 fra.me.REG[3] = NIT_NULL;
55960 fra.me.REG[4] = NIT_NULL;
55961 fra.me.REG[5] = NIT_NULL;
55962 fra.me.REG[6] = NIT_NULL;
55963 fra.me.REG[7] = NIT_NULL;
55964 fra.me.REG[8] = NIT_NULL;
55965 fra.me.REG[9] = NIT_NULL;
55966 fra.me.REG[0] = p0;
55967 fra.me.REG[1] = p1;
55968 fra.me.REG[0] = NIT_NULL;
55969 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55970 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55971 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55972 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55973 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55974 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55975 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55976 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55977 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55978 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
55979 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
55980 /* ./parser//parser.nit:21190 */
55981 if (UNTAG_Bool(REGB0)) {
55982 } else {
55983 fprintf(stderr, "Assert failed");
55984 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21190);
55985 nit_exit(1);
55986 }
55987 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
55988 /* ./parser//parser.nit:21192 */
55989 if (UNTAG_Bool(REGB0)) {
55990 } else {
55991 fprintf(stderr, "Assert failed");
55992 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21192);
55993 nit_exit(1);
55994 }
55995 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
55996 /* ./parser//parser.nit:21194 */
55997 if (UNTAG_Bool(REGB0)) {
55998 } else {
55999 fprintf(stderr, "Assert failed");
56000 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21194);
56001 nit_exit(1);
56002 }
56003 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
56004 /* ./parser//parser.nit:21196 */
56005 if (UNTAG_Bool(REGB0)) {
56006 } else {
56007 fprintf(stderr, "Assert failed");
56008 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21196);
56009 nit_exit(1);
56010 }
56011 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
56012 /* ./parser//parser.nit:21198 */
56013 if (UNTAG_Bool(REGB0)) {
56014 } else {
56015 fprintf(stderr, "Assert failed");
56016 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21198);
56017 nit_exit(1);
56018 }
56019 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
56020 /* ./parser//parser.nit:21200 */
56021 if (UNTAG_Bool(REGB0)) {
56022 } else {
56023 fprintf(stderr, "Assert failed");
56024 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21200);
56025 nit_exit(1);
56026 }
56027 fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
56028 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
56029 /* ./parser//parser.nit:21206 */
56030 if (UNTAG_Bool(REGB0)) {
56031 } else {
56032 fprintf(stderr, "Assert failed");
56033 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21206);
56034 nit_exit(1);
56035 }
56036 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
56037 /* ./parser//parser.nit:21208 */
56038 if (UNTAG_Bool(REGB0)) {
56039 } else {
56040 fprintf(stderr, "Assert failed");
56041 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21208);
56042 nit_exit(1);
56043 }
56044 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
56045 fra.me.REG[0] = fra.me.REG[2];
56046 REGB0 = TAG_Int(12);
56047 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56048 /* ./parser//parser.nit:21219 */
56049 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
56050 stack_frame_head = fra.me.prev;
56051 return;
56052 }
56053 void parser___ReduceAction448___init(val_t p0, int* init_table){
56054 int itpos452 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction448].i;
56055 struct {struct stack_frame_t me;} fra;
56056 val_t tmp;
56057 if (init_table[itpos452]) return;
56058 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56059 fra.me.file = LOCATE_parser;
56060 fra.me.line = 21221;
56061 fra.me.meth = LOCATE_parser___ReduceAction448___init;
56062 fra.me.has_broke = 0;
56063 fra.me.REG_size = 1;
56064 fra.me.REG[0] = NIT_NULL;
56065 fra.me.REG[0] = p0;
56066 /* ./parser//parser.nit:21221 */
56067 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
56068 stack_frame_head = fra.me.prev;
56069 init_table[itpos452] = 1;
56070 return;
56071 }
56072 void parser___ReduceAction449___action(val_t p0, val_t p1){
56073 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
56074 val_t REGB0;
56075 val_t tmp;
56076 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56077 fra.me.file = LOCATE_parser;
56078 fra.me.line = 21225;
56079 fra.me.meth = LOCATE_parser___ReduceAction449___action;
56080 fra.me.has_broke = 0;
56081 fra.me.REG_size = 11;
56082 fra.me.REG[0] = NIT_NULL;
56083 fra.me.REG[1] = NIT_NULL;
56084 fra.me.REG[2] = NIT_NULL;
56085 fra.me.REG[3] = NIT_NULL;
56086 fra.me.REG[4] = NIT_NULL;
56087 fra.me.REG[5] = NIT_NULL;
56088 fra.me.REG[6] = NIT_NULL;
56089 fra.me.REG[7] = NIT_NULL;
56090 fra.me.REG[8] = NIT_NULL;
56091 fra.me.REG[9] = NIT_NULL;
56092 fra.me.REG[10] = NIT_NULL;
56093 fra.me.REG[0] = p0;
56094 fra.me.REG[1] = p1;
56095 fra.me.REG[0] = NIT_NULL;
56096 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56097 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56098 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56099 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56100 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56101 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56102 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56103 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56104 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56105 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56106 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56107 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
56108 /* ./parser//parser.nit:21240 */
56109 if (UNTAG_Bool(REGB0)) {
56110 } else {
56111 fprintf(stderr, "Assert failed");
56112 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21240);
56113 nit_exit(1);
56114 }
56115 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
56116 /* ./parser//parser.nit:21242 */
56117 if (UNTAG_Bool(REGB0)) {
56118 } else {
56119 fprintf(stderr, "Assert failed");
56120 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21242);
56121 nit_exit(1);
56122 }
56123 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
56124 /* ./parser//parser.nit:21244 */
56125 if (UNTAG_Bool(REGB0)) {
56126 } else {
56127 fprintf(stderr, "Assert failed");
56128 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21244);
56129 nit_exit(1);
56130 }
56131 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
56132 /* ./parser//parser.nit:21246 */
56133 if (UNTAG_Bool(REGB0)) {
56134 } else {
56135 fprintf(stderr, "Assert failed");
56136 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21246);
56137 nit_exit(1);
56138 }
56139 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
56140 /* ./parser//parser.nit:21248 */
56141 if (UNTAG_Bool(REGB0)) {
56142 } else {
56143 fprintf(stderr, "Assert failed");
56144 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21248);
56145 nit_exit(1);
56146 }
56147 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
56148 /* ./parser//parser.nit:21250 */
56149 if (UNTAG_Bool(REGB0)) {
56150 } else {
56151 fprintf(stderr, "Assert failed");
56152 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21250);
56153 nit_exit(1);
56154 }
56155 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
56156 /* ./parser//parser.nit:21252 */
56157 if (UNTAG_Bool(REGB0)) {
56158 } else {
56159 fprintf(stderr, "Assert failed");
56160 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21252);
56161 nit_exit(1);
56162 }
56163 fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
56164 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
56165 /* ./parser//parser.nit:21259 */
56166 if (UNTAG_Bool(REGB0)) {
56167 } else {
56168 fprintf(stderr, "Assert failed");
56169 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21259);
56170 nit_exit(1);
56171 }
56172 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
56173 /* ./parser//parser.nit:21261 */
56174 if (UNTAG_Bool(REGB0)) {
56175 } else {
56176 fprintf(stderr, "Assert failed");
56177 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21261);
56178 nit_exit(1);
56179 }
56180 fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
56181 fra.me.REG[0] = fra.me.REG[2];
56182 REGB0 = TAG_Int(12);
56183 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56184 /* ./parser//parser.nit:21272 */
56185 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
56186 stack_frame_head = fra.me.prev;
56187 return;
56188 }
56189 void parser___ReduceAction449___init(val_t p0, int* init_table){
56190 int itpos453 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction449].i;
56191 struct {struct stack_frame_t me;} fra;
56192 val_t tmp;
56193 if (init_table[itpos453]) return;
56194 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56195 fra.me.file = LOCATE_parser;
56196 fra.me.line = 21274;
56197 fra.me.meth = LOCATE_parser___ReduceAction449___init;
56198 fra.me.has_broke = 0;
56199 fra.me.REG_size = 1;
56200 fra.me.REG[0] = NIT_NULL;
56201 fra.me.REG[0] = p0;
56202 /* ./parser//parser.nit:21274 */
56203 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
56204 stack_frame_head = fra.me.prev;
56205 init_table[itpos453] = 1;
56206 return;
56207 }
56208 void parser___ReduceAction450___action(val_t p0, val_t p1){
56209 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
56210 val_t REGB0;
56211 val_t tmp;
56212 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56213 fra.me.file = LOCATE_parser;
56214 fra.me.line = 21278;
56215 fra.me.meth = LOCATE_parser___ReduceAction450___action;
56216 fra.me.has_broke = 0;
56217 fra.me.REG_size = 7;
56218 fra.me.REG[0] = NIT_NULL;
56219 fra.me.REG[1] = NIT_NULL;
56220 fra.me.REG[2] = NIT_NULL;
56221 fra.me.REG[3] = NIT_NULL;
56222 fra.me.REG[4] = NIT_NULL;
56223 fra.me.REG[5] = NIT_NULL;
56224 fra.me.REG[6] = NIT_NULL;
56225 fra.me.REG[0] = p0;
56226 fra.me.REG[1] = p1;
56227 fra.me.REG[0] = NIT_NULL;
56228 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56229 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56230 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56231 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56232 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56233 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
56234 /* ./parser//parser.nit:21287 */
56235 if (UNTAG_Bool(REGB0)) {
56236 } else {
56237 fprintf(stderr, "Assert failed");
56238 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21287);
56239 nit_exit(1);
56240 }
56241 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
56242 /* ./parser//parser.nit:21289 */
56243 if (UNTAG_Bool(REGB0)) {
56244 } else {
56245 fprintf(stderr, "Assert failed");
56246 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21289);
56247 nit_exit(1);
56248 }
56249 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwtype, ID_TKwtype)) /*cast nullable TKwtype*/;
56250 /* ./parser//parser.nit:21291 */
56251 if (UNTAG_Bool(REGB0)) {
56252 } else {
56253 fprintf(stderr, "Assert failed");
56254 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21291);
56255 nit_exit(1);
56256 }
56257 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
56258 /* ./parser//parser.nit:21293 */
56259 if (UNTAG_Bool(REGB0)) {
56260 } else {
56261 fprintf(stderr, "Assert failed");
56262 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21293);
56263 nit_exit(1);
56264 }
56265 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
56266 /* ./parser//parser.nit:21295 */
56267 if (UNTAG_Bool(REGB0)) {
56268 } else {
56269 fprintf(stderr, "Assert failed");
56270 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21295);
56271 nit_exit(1);
56272 }
56273 fra.me.REG[2] = NEW_ATypePropdef_parser_prod___ATypePropdef___init_atypepropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
56274 fra.me.REG[0] = fra.me.REG[2];
56275 REGB0 = TAG_Int(12);
56276 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56277 /* ./parser//parser.nit:21305 */
56278 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
56279 stack_frame_head = fra.me.prev;
56280 return;
56281 }
56282 void parser___ReduceAction450___init(val_t p0, int* init_table){
56283 int itpos454 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction450].i;
56284 struct {struct stack_frame_t me;} fra;
56285 val_t tmp;
56286 if (init_table[itpos454]) return;
56287 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56288 fra.me.file = LOCATE_parser;
56289 fra.me.line = 21307;
56290 fra.me.meth = LOCATE_parser___ReduceAction450___init;
56291 fra.me.has_broke = 0;
56292 fra.me.REG_size = 1;
56293 fra.me.REG[0] = NIT_NULL;
56294 fra.me.REG[0] = p0;
56295 /* ./parser//parser.nit:21307 */
56296 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
56297 stack_frame_head = fra.me.prev;
56298 init_table[itpos454] = 1;
56299 return;
56300 }
56301 void parser___ReduceAction451___action(val_t p0, val_t p1){
56302 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
56303 val_t REGB0;
56304 val_t tmp;
56305 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56306 fra.me.file = LOCATE_parser;
56307 fra.me.line = 21311;
56308 fra.me.meth = LOCATE_parser___ReduceAction451___action;
56309 fra.me.has_broke = 0;
56310 fra.me.REG_size = 8;
56311 fra.me.REG[0] = NIT_NULL;
56312 fra.me.REG[1] = NIT_NULL;
56313 fra.me.REG[2] = NIT_NULL;
56314 fra.me.REG[3] = NIT_NULL;
56315 fra.me.REG[4] = NIT_NULL;
56316 fra.me.REG[5] = NIT_NULL;
56317 fra.me.REG[6] = NIT_NULL;
56318 fra.me.REG[7] = NIT_NULL;
56319 fra.me.REG[0] = p0;
56320 fra.me.REG[1] = p1;
56321 fra.me.REG[0] = NIT_NULL;
56322 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56323 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56324 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56325 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56326 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56327 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56328 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
56329 /* ./parser//parser.nit:21321 */
56330 if (UNTAG_Bool(REGB0)) {
56331 } else {
56332 fprintf(stderr, "Assert failed");
56333 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21321);
56334 nit_exit(1);
56335 }
56336 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
56337 /* ./parser//parser.nit:21323 */
56338 if (UNTAG_Bool(REGB0)) {
56339 } else {
56340 fprintf(stderr, "Assert failed");
56341 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21323);
56342 nit_exit(1);
56343 }
56344 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
56345 /* ./parser//parser.nit:21325 */
56346 if (UNTAG_Bool(REGB0)) {
56347 } else {
56348 fprintf(stderr, "Assert failed");
56349 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21325);
56350 nit_exit(1);
56351 }
56352 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwtype, ID_TKwtype)) /*cast nullable TKwtype*/;
56353 /* ./parser//parser.nit:21327 */
56354 if (UNTAG_Bool(REGB0)) {
56355 } else {
56356 fprintf(stderr, "Assert failed");
56357 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21327);
56358 nit_exit(1);
56359 }
56360 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
56361 /* ./parser//parser.nit:21329 */
56362 if (UNTAG_Bool(REGB0)) {
56363 } else {
56364 fprintf(stderr, "Assert failed");
56365 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21329);
56366 nit_exit(1);
56367 }
56368 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
56369 /* ./parser//parser.nit:21331 */
56370 if (UNTAG_Bool(REGB0)) {
56371 } else {
56372 fprintf(stderr, "Assert failed");
56373 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21331);
56374 nit_exit(1);
56375 }
56376 fra.me.REG[2] = NEW_ATypePropdef_parser_prod___ATypePropdef___init_atypepropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
56377 fra.me.REG[0] = fra.me.REG[2];
56378 REGB0 = TAG_Int(12);
56379 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56380 /* ./parser//parser.nit:21341 */
56381 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
56382 stack_frame_head = fra.me.prev;
56383 return;
56384 }
56385 void parser___ReduceAction451___init(val_t p0, int* init_table){
56386 int itpos455 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction451].i;
56387 struct {struct stack_frame_t me;} fra;
56388 val_t tmp;
56389 if (init_table[itpos455]) return;
56390 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56391 fra.me.file = LOCATE_parser;
56392 fra.me.line = 21343;
56393 fra.me.meth = LOCATE_parser___ReduceAction451___init;
56394 fra.me.has_broke = 0;
56395 fra.me.REG_size = 1;
56396 fra.me.REG[0] = NIT_NULL;
56397 fra.me.REG[0] = p0;
56398 /* ./parser//parser.nit:21343 */
56399 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
56400 stack_frame_head = fra.me.prev;
56401 init_table[itpos455] = 1;
56402 return;
56403 }
56404 void parser___ReduceAction452___action(val_t p0, val_t p1){
56405 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
56406 val_t REGB0;
56407 val_t tmp;
56408 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56409 fra.me.file = LOCATE_parser;
56410 fra.me.line = 21347;
56411 fra.me.meth = LOCATE_parser___ReduceAction452___action;
56412 fra.me.has_broke = 0;
56413 fra.me.REG_size = 3;
56414 fra.me.REG[0] = NIT_NULL;
56415 fra.me.REG[1] = NIT_NULL;
56416 fra.me.REG[2] = NIT_NULL;
56417 fra.me.REG[0] = p0;
56418 fra.me.REG[1] = p1;
56419 fra.me.REG[0] = NIT_NULL;
56420 fra.me.REG[2] = NEW_APublicVisibility_parser_prod___APublicVisibility___init_apublicvisibility();
56421 fra.me.REG[0] = fra.me.REG[2];
56422 REGB0 = TAG_Int(13);
56423 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56424 /* ./parser//parser.nit:21353 */
56425 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
56426 stack_frame_head = fra.me.prev;
56427 return;
56428 }
56429 void parser___ReduceAction452___init(val_t p0, int* init_table){
56430 int itpos456 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction452].i;
56431 struct {struct stack_frame_t me;} fra;
56432 val_t tmp;
56433 if (init_table[itpos456]) return;
56434 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56435 fra.me.file = LOCATE_parser;
56436 fra.me.line = 21355;
56437 fra.me.meth = LOCATE_parser___ReduceAction452___init;
56438 fra.me.has_broke = 0;
56439 fra.me.REG_size = 1;
56440 fra.me.REG[0] = NIT_NULL;
56441 fra.me.REG[0] = p0;
56442 /* ./parser//parser.nit:21355 */
56443 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
56444 stack_frame_head = fra.me.prev;
56445 init_table[itpos456] = 1;
56446 return;
56447 }
56448 void parser___ReduceAction453___action(val_t p0, val_t p1){
56449 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
56450 val_t REGB0;
56451 val_t tmp;
56452 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56453 fra.me.file = LOCATE_parser;
56454 fra.me.line = 21359;
56455 fra.me.meth = LOCATE_parser___ReduceAction453___action;
56456 fra.me.has_broke = 0;
56457 fra.me.REG_size = 3;
56458 fra.me.REG[0] = NIT_NULL;
56459 fra.me.REG[1] = NIT_NULL;
56460 fra.me.REG[2] = NIT_NULL;
56461 fra.me.REG[0] = p0;
56462 fra.me.REG[1] = p1;
56463 fra.me.REG[0] = NIT_NULL;
56464 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56465 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56466 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwprivate, ID_TKwprivate)) /*cast nullable TKwprivate*/;
56467 /* ./parser//parser.nit:21365 */
56468 if (UNTAG_Bool(REGB0)) {
56469 } else {
56470 fprintf(stderr, "Assert failed");
56471 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21365);
56472 nit_exit(1);
56473 }
56474 fra.me.REG[2] = NEW_APrivateVisibility_parser_prod___APrivateVisibility___init_aprivatevisibility(fra.me.REG[2]);
56475 fra.me.REG[0] = fra.me.REG[2];
56476 REGB0 = TAG_Int(13);
56477 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56478 /* ./parser//parser.nit:21370 */
56479 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
56480 stack_frame_head = fra.me.prev;
56481 return;
56482 }
56483 void parser___ReduceAction453___init(val_t p0, int* init_table){
56484 int itpos457 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction453].i;
56485 struct {struct stack_frame_t me;} fra;
56486 val_t tmp;
56487 if (init_table[itpos457]) return;
56488 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56489 fra.me.file = LOCATE_parser;
56490 fra.me.line = 21372;
56491 fra.me.meth = LOCATE_parser___ReduceAction453___init;
56492 fra.me.has_broke = 0;
56493 fra.me.REG_size = 1;
56494 fra.me.REG[0] = NIT_NULL;
56495 fra.me.REG[0] = p0;
56496 /* ./parser//parser.nit:21372 */
56497 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
56498 stack_frame_head = fra.me.prev;
56499 init_table[itpos457] = 1;
56500 return;
56501 }
56502 void parser___ReduceAction454___action(val_t p0, val_t p1){
56503 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
56504 val_t REGB0;
56505 val_t tmp;
56506 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56507 fra.me.file = LOCATE_parser;
56508 fra.me.line = 21376;
56509 fra.me.meth = LOCATE_parser___ReduceAction454___action;
56510 fra.me.has_broke = 0;
56511 fra.me.REG_size = 3;
56512 fra.me.REG[0] = NIT_NULL;
56513 fra.me.REG[1] = NIT_NULL;
56514 fra.me.REG[2] = NIT_NULL;
56515 fra.me.REG[0] = p0;
56516 fra.me.REG[1] = p1;
56517 fra.me.REG[0] = NIT_NULL;
56518 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56519 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56520 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwprotected, ID_TKwprotected)) /*cast nullable TKwprotected*/;
56521 /* ./parser//parser.nit:21382 */
56522 if (UNTAG_Bool(REGB0)) {
56523 } else {
56524 fprintf(stderr, "Assert failed");
56525 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21382);
56526 nit_exit(1);
56527 }
56528 fra.me.REG[2] = NEW_AProtectedVisibility_parser_prod___AProtectedVisibility___init_aprotectedvisibility(fra.me.REG[2]);
56529 fra.me.REG[0] = fra.me.REG[2];
56530 REGB0 = TAG_Int(13);
56531 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56532 /* ./parser//parser.nit:21387 */
56533 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
56534 stack_frame_head = fra.me.prev;
56535 return;
56536 }
56537 void parser___ReduceAction454___init(val_t p0, int* init_table){
56538 int itpos458 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction454].i;
56539 struct {struct stack_frame_t me;} fra;
56540 val_t tmp;
56541 if (init_table[itpos458]) return;
56542 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56543 fra.me.file = LOCATE_parser;
56544 fra.me.line = 21389;
56545 fra.me.meth = LOCATE_parser___ReduceAction454___init;
56546 fra.me.has_broke = 0;
56547 fra.me.REG_size = 1;
56548 fra.me.REG[0] = NIT_NULL;
56549 fra.me.REG[0] = p0;
56550 /* ./parser//parser.nit:21389 */
56551 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
56552 stack_frame_head = fra.me.prev;
56553 init_table[itpos458] = 1;
56554 return;
56555 }
56556 void parser___ReduceAction455___action(val_t p0, val_t p1){
56557 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
56558 val_t REGB0;
56559 val_t tmp;
56560 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56561 fra.me.file = LOCATE_parser;
56562 fra.me.line = 21393;
56563 fra.me.meth = LOCATE_parser___ReduceAction455___action;
56564 fra.me.has_broke = 0;
56565 fra.me.REG_size = 3;
56566 fra.me.REG[0] = NIT_NULL;
56567 fra.me.REG[1] = NIT_NULL;
56568 fra.me.REG[2] = NIT_NULL;
56569 fra.me.REG[0] = p0;
56570 fra.me.REG[1] = p1;
56571 fra.me.REG[0] = NIT_NULL;
56572 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56573 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56574 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwintrude, ID_TKwintrude)) /*cast nullable TKwintrude*/;
56575 /* ./parser//parser.nit:21399 */
56576 if (UNTAG_Bool(REGB0)) {
56577 } else {
56578 fprintf(stderr, "Assert failed");
56579 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21399);
56580 nit_exit(1);
56581 }
56582 fra.me.REG[2] = NEW_AIntrudeVisibility_parser_prod___AIntrudeVisibility___init_aintrudevisibility(fra.me.REG[2]);
56583 fra.me.REG[0] = fra.me.REG[2];
56584 REGB0 = TAG_Int(13);
56585 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56586 /* ./parser//parser.nit:21404 */
56587 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
56588 stack_frame_head = fra.me.prev;
56589 return;
56590 }
56591 void parser___ReduceAction455___init(val_t p0, int* init_table){
56592 int itpos459 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction455].i;
56593 struct {struct stack_frame_t me;} fra;
56594 val_t tmp;
56595 if (init_table[itpos459]) return;
56596 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56597 fra.me.file = LOCATE_parser;
56598 fra.me.line = 21406;
56599 fra.me.meth = LOCATE_parser___ReduceAction455___init;
56600 fra.me.has_broke = 0;
56601 fra.me.REG_size = 1;
56602 fra.me.REG[0] = NIT_NULL;
56603 fra.me.REG[0] = p0;
56604 /* ./parser//parser.nit:21406 */
56605 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
56606 stack_frame_head = fra.me.prev;
56607 init_table[itpos459] = 1;
56608 return;
56609 }
56610 void parser___ReduceAction456___action(val_t p0, val_t p1){
56611 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
56612 val_t REGB0;
56613 val_t tmp;
56614 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56615 fra.me.file = LOCATE_parser;
56616 fra.me.line = 21410;
56617 fra.me.meth = LOCATE_parser___ReduceAction456___action;
56618 fra.me.has_broke = 0;
56619 fra.me.REG_size = 6;
56620 fra.me.REG[0] = NIT_NULL;
56621 fra.me.REG[1] = NIT_NULL;
56622 fra.me.REG[2] = NIT_NULL;
56623 fra.me.REG[3] = NIT_NULL;
56624 fra.me.REG[4] = NIT_NULL;
56625 fra.me.REG[5] = NIT_NULL;
56626 fra.me.REG[0] = p0;
56627 fra.me.REG[1] = p1;
56628 fra.me.REG[0] = NIT_NULL;
56629 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56630 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56631 fra.me.REG[4] = NEW_Array_array___Array___init();
56632 fra.me.REG[5] = NEW_Array_array___Array___init();
56633 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
56634 /* ./parser//parser.nit:21418 */
56635 if (UNTAG_Bool(REGB0)) {
56636 } else {
56637 fprintf(stderr, "Assert failed");
56638 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21418);
56639 nit_exit(1);
56640 }
56641 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
56642 /* ./parser//parser.nit:21420 */
56643 if (UNTAG_Bool(REGB0)) {
56644 } else {
56645 fprintf(stderr, "Assert failed");
56646 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21420);
56647 nit_exit(1);
56648 }
56649 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
56650 /* ./parser//parser.nit:21422 */
56651 if (UNTAG_Bool(REGB0)) {
56652 fra.me.REG[5] = fra.me.REG[2];
56653 /* ./parser//parser.nit:21423 */
56654 } else {
56655 /* ./parser//parser.nit:21425 */
56656 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
56657 }
56658 fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
56659 fra.me.REG[0] = fra.me.REG[5];
56660 REGB0 = TAG_Int(14);
56661 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56662 /* ./parser//parser.nit:21434 */
56663 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
56664 stack_frame_head = fra.me.prev;
56665 return;
56666 }
56667 void parser___ReduceAction456___init(val_t p0, int* init_table){
56668 int itpos460 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction456].i;
56669 struct {struct stack_frame_t me;} fra;
56670 val_t tmp;
56671 if (init_table[itpos460]) return;
56672 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56673 fra.me.file = LOCATE_parser;
56674 fra.me.line = 21436;
56675 fra.me.meth = LOCATE_parser___ReduceAction456___init;
56676 fra.me.has_broke = 0;
56677 fra.me.REG_size = 1;
56678 fra.me.REG[0] = NIT_NULL;
56679 fra.me.REG[0] = p0;
56680 /* ./parser//parser.nit:21436 */
56681 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
56682 stack_frame_head = fra.me.prev;
56683 init_table[itpos460] = 1;
56684 return;
56685 }
56686 void parser___ReduceAction457___action(val_t p0, val_t p1){
56687 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
56688 val_t REGB0;
56689 val_t tmp;
56690 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56691 fra.me.file = LOCATE_parser;
56692 fra.me.line = 21440;
56693 fra.me.meth = LOCATE_parser___ReduceAction457___action;
56694 fra.me.has_broke = 0;
56695 fra.me.REG_size = 7;
56696 fra.me.REG[0] = NIT_NULL;
56697 fra.me.REG[1] = NIT_NULL;
56698 fra.me.REG[2] = NIT_NULL;
56699 fra.me.REG[3] = NIT_NULL;
56700 fra.me.REG[4] = NIT_NULL;
56701 fra.me.REG[5] = NIT_NULL;
56702 fra.me.REG[6] = NIT_NULL;
56703 fra.me.REG[0] = p0;
56704 fra.me.REG[1] = p1;
56705 fra.me.REG[0] = NIT_NULL;
56706 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56707 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56708 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56709 fra.me.REG[5] = NEW_Array_array___Array___init();
56710 fra.me.REG[6] = NEW_Array_array___Array___init();
56711 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
56712 /* ./parser//parser.nit:21449 */
56713 if (UNTAG_Bool(REGB0)) {
56714 } else {
56715 fprintf(stderr, "Assert failed");
56716 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21449);
56717 nit_exit(1);
56718 }
56719 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
56720 /* ./parser//parser.nit:21451 */
56721 if (UNTAG_Bool(REGB0)) {
56722 fra.me.REG[5] = fra.me.REG[4];
56723 /* ./parser//parser.nit:21452 */
56724 } else {
56725 /* ./parser//parser.nit:21454 */
56726 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
56727 }
56728 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
56729 /* ./parser//parser.nit:21458 */
56730 if (UNTAG_Bool(REGB0)) {
56731 } else {
56732 fprintf(stderr, "Assert failed");
56733 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21458);
56734 nit_exit(1);
56735 }
56736 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
56737 /* ./parser//parser.nit:21460 */
56738 if (UNTAG_Bool(REGB0)) {
56739 } else {
56740 fprintf(stderr, "Assert failed");
56741 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21460);
56742 nit_exit(1);
56743 }
56744 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
56745 /* ./parser//parser.nit:21462 */
56746 if (UNTAG_Bool(REGB0)) {
56747 fra.me.REG[6] = fra.me.REG[2];
56748 /* ./parser//parser.nit:21463 */
56749 } else {
56750 /* ./parser//parser.nit:21465 */
56751 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
56752 }
56753 fra.me.REG[6] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[3], fra.me.REG[6]);
56754 fra.me.REG[0] = fra.me.REG[6];
56755 REGB0 = TAG_Int(14);
56756 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56757 /* ./parser//parser.nit:21474 */
56758 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
56759 stack_frame_head = fra.me.prev;
56760 return;
56761 }
56762 void parser___ReduceAction457___init(val_t p0, int* init_table){
56763 int itpos461 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction457].i;
56764 struct {struct stack_frame_t me;} fra;
56765 val_t tmp;
56766 if (init_table[itpos461]) return;
56767 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56768 fra.me.file = LOCATE_parser;
56769 fra.me.line = 21476;
56770 fra.me.meth = LOCATE_parser___ReduceAction457___init;
56771 fra.me.has_broke = 0;
56772 fra.me.REG_size = 1;
56773 fra.me.REG[0] = NIT_NULL;
56774 fra.me.REG[0] = p0;
56775 /* ./parser//parser.nit:21476 */
56776 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
56777 stack_frame_head = fra.me.prev;
56778 init_table[itpos461] = 1;
56779 return;
56780 }
56781 void parser___ReduceAction458___action(val_t p0, val_t p1){
56782 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
56783 val_t REGB0;
56784 val_t tmp;
56785 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56786 fra.me.file = LOCATE_parser;
56787 fra.me.line = 21480;
56788 fra.me.meth = LOCATE_parser___ReduceAction458___action;
56789 fra.me.has_broke = 0;
56790 fra.me.REG_size = 5;
56791 fra.me.REG[0] = NIT_NULL;
56792 fra.me.REG[1] = NIT_NULL;
56793 fra.me.REG[2] = NIT_NULL;
56794 fra.me.REG[3] = NIT_NULL;
56795 fra.me.REG[4] = NIT_NULL;
56796 fra.me.REG[0] = p0;
56797 fra.me.REG[1] = p1;
56798 fra.me.REG[0] = NIT_NULL;
56799 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56800 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56801 fra.me.REG[3] = NEW_Array_array___Array___init();
56802 fra.me.REG[4] = NEW_Array_array___Array___init();
56803 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
56804 /* ./parser//parser.nit:21488 */
56805 if (UNTAG_Bool(REGB0)) {
56806 } else {
56807 fprintf(stderr, "Assert failed");
56808 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21488);
56809 nit_exit(1);
56810 }
56811 fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], fra.me.REG[2], fra.me.REG[4]);
56812 fra.me.REG[0] = fra.me.REG[4];
56813 REGB0 = TAG_Int(14);
56814 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56815 /* ./parser//parser.nit:21495 */
56816 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
56817 stack_frame_head = fra.me.prev;
56818 return;
56819 }
56820 void parser___ReduceAction458___init(val_t p0, int* init_table){
56821 int itpos462 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction458].i;
56822 struct {struct stack_frame_t me;} fra;
56823 val_t tmp;
56824 if (init_table[itpos462]) return;
56825 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56826 fra.me.file = LOCATE_parser;
56827 fra.me.line = 21497;
56828 fra.me.meth = LOCATE_parser___ReduceAction458___init;
56829 fra.me.has_broke = 0;
56830 fra.me.REG_size = 1;
56831 fra.me.REG[0] = NIT_NULL;
56832 fra.me.REG[0] = p0;
56833 /* ./parser//parser.nit:21497 */
56834 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
56835 stack_frame_head = fra.me.prev;
56836 init_table[itpos462] = 1;
56837 return;
56838 }
56839 void parser___ReduceAction459___action(val_t p0, val_t p1){
56840 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
56841 val_t REGB0;
56842 val_t tmp;
56843 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56844 fra.me.file = LOCATE_parser;
56845 fra.me.line = 21501;
56846 fra.me.meth = LOCATE_parser___ReduceAction459___action;
56847 fra.me.has_broke = 0;
56848 fra.me.REG_size = 6;
56849 fra.me.REG[0] = NIT_NULL;
56850 fra.me.REG[1] = NIT_NULL;
56851 fra.me.REG[2] = NIT_NULL;
56852 fra.me.REG[3] = NIT_NULL;
56853 fra.me.REG[4] = NIT_NULL;
56854 fra.me.REG[5] = NIT_NULL;
56855 fra.me.REG[0] = p0;
56856 fra.me.REG[1] = p1;
56857 fra.me.REG[0] = NIT_NULL;
56858 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56859 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56860 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56861 fra.me.REG[4] = NEW_Array_array___Array___init();
56862 fra.me.REG[5] = NEW_Array_array___Array___init();
56863 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
56864 /* ./parser//parser.nit:21510 */
56865 if (UNTAG_Bool(REGB0)) {
56866 } else {
56867 fprintf(stderr, "Assert failed");
56868 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21510);
56869 nit_exit(1);
56870 }
56871 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
56872 /* ./parser//parser.nit:21512 */
56873 if (UNTAG_Bool(REGB0)) {
56874 fra.me.REG[4] = fra.me.REG[3];
56875 /* ./parser//parser.nit:21513 */
56876 } else {
56877 /* ./parser//parser.nit:21515 */
56878 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
56879 }
56880 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
56881 /* ./parser//parser.nit:21519 */
56882 if (UNTAG_Bool(REGB0)) {
56883 } else {
56884 fprintf(stderr, "Assert failed");
56885 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21519);
56886 nit_exit(1);
56887 }
56888 fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[2], fra.me.REG[5]);
56889 fra.me.REG[0] = fra.me.REG[5];
56890 REGB0 = TAG_Int(14);
56891 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56892 /* ./parser//parser.nit:21526 */
56893 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
56894 stack_frame_head = fra.me.prev;
56895 return;
56896 }
56897 void parser___ReduceAction459___init(val_t p0, int* init_table){
56898 int itpos463 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction459].i;
56899 struct {struct stack_frame_t me;} fra;
56900 val_t tmp;
56901 if (init_table[itpos463]) return;
56902 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56903 fra.me.file = LOCATE_parser;
56904 fra.me.line = 21528;
56905 fra.me.meth = LOCATE_parser___ReduceAction459___init;
56906 fra.me.has_broke = 0;
56907 fra.me.REG_size = 1;
56908 fra.me.REG[0] = NIT_NULL;
56909 fra.me.REG[0] = p0;
56910 /* ./parser//parser.nit:21528 */
56911 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
56912 stack_frame_head = fra.me.prev;
56913 init_table[itpos463] = 1;
56914 return;
56915 }
56916 void parser___ReduceAction460___action(val_t p0, val_t p1){
56917 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
56918 val_t REGB0;
56919 val_t tmp;
56920 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56921 fra.me.file = LOCATE_parser;
56922 fra.me.line = 21532;
56923 fra.me.meth = LOCATE_parser___ReduceAction460___action;
56924 fra.me.has_broke = 0;
56925 fra.me.REG_size = 5;
56926 fra.me.REG[0] = NIT_NULL;
56927 fra.me.REG[1] = NIT_NULL;
56928 fra.me.REG[2] = NIT_NULL;
56929 fra.me.REG[3] = NIT_NULL;
56930 fra.me.REG[4] = NIT_NULL;
56931 fra.me.REG[0] = p0;
56932 fra.me.REG[1] = p1;
56933 fra.me.REG[0] = NIT_NULL;
56934 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
56935 fra.me.REG[3] = NEW_Array_array___Array___init();
56936 fra.me.REG[4] = NEW_Array_array___Array___init();
56937 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
56938 /* ./parser//parser.nit:21539 */
56939 if (UNTAG_Bool(REGB0)) {
56940 } else {
56941 fprintf(stderr, "Assert failed");
56942 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21539);
56943 nit_exit(1);
56944 }
56945 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
56946 /* ./parser//parser.nit:21541 */
56947 if (UNTAG_Bool(REGB0)) {
56948 fra.me.REG[4] = fra.me.REG[2];
56949 /* ./parser//parser.nit:21542 */
56950 } else {
56951 /* ./parser//parser.nit:21544 */
56952 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
56953 }
56954 fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], NIT_NULL, fra.me.REG[4]);
56955 fra.me.REG[0] = fra.me.REG[4];
56956 REGB0 = TAG_Int(14);
56957 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
56958 /* ./parser//parser.nit:21553 */
56959 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
56960 stack_frame_head = fra.me.prev;
56961 return;
56962 }
56963 void parser___ReduceAction460___init(val_t p0, int* init_table){
56964 int itpos464 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction460].i;
56965 struct {struct stack_frame_t me;} fra;
56966 val_t tmp;
56967 if (init_table[itpos464]) return;
56968 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56969 fra.me.file = LOCATE_parser;
56970 fra.me.line = 21555;
56971 fra.me.meth = LOCATE_parser___ReduceAction460___init;
56972 fra.me.has_broke = 0;
56973 fra.me.REG_size = 1;
56974 fra.me.REG[0] = NIT_NULL;
56975 fra.me.REG[0] = p0;
56976 /* ./parser//parser.nit:21555 */
56977 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
56978 stack_frame_head = fra.me.prev;
56979 init_table[itpos464] = 1;
56980 return;
56981 }
56982 void parser___ReduceAction461___action(val_t p0, val_t p1){
56983 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
56984 val_t REGB0;
56985 val_t tmp;
56986 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56987 fra.me.file = LOCATE_parser;
56988 fra.me.line = 21559;
56989 fra.me.meth = LOCATE_parser___ReduceAction461___action;
56990 fra.me.has_broke = 0;
56991 fra.me.REG_size = 6;
56992 fra.me.REG[0] = NIT_NULL;
56993 fra.me.REG[1] = NIT_NULL;
56994 fra.me.REG[2] = NIT_NULL;
56995 fra.me.REG[3] = NIT_NULL;
56996 fra.me.REG[4] = NIT_NULL;
56997 fra.me.REG[5] = NIT_NULL;
56998 fra.me.REG[0] = p0;
56999 fra.me.REG[1] = p1;
57000 fra.me.REG[0] = NIT_NULL;
57001 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57002 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57003 fra.me.REG[4] = NEW_Array_array___Array___init();
57004 fra.me.REG[5] = NEW_Array_array___Array___init();
57005 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
57006 /* ./parser//parser.nit:21567 */
57007 if (UNTAG_Bool(REGB0)) {
57008 } else {
57009 fprintf(stderr, "Assert failed");
57010 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21567);
57011 nit_exit(1);
57012 }
57013 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
57014 /* ./parser//parser.nit:21569 */
57015 if (UNTAG_Bool(REGB0)) {
57016 fra.me.REG[4] = fra.me.REG[3];
57017 /* ./parser//parser.nit:21570 */
57018 } else {
57019 /* ./parser//parser.nit:21572 */
57020 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
57021 }
57022 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
57023 /* ./parser//parser.nit:21576 */
57024 if (UNTAG_Bool(REGB0)) {
57025 } else {
57026 fprintf(stderr, "Assert failed");
57027 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21576);
57028 nit_exit(1);
57029 }
57030 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
57031 /* ./parser//parser.nit:21578 */
57032 if (UNTAG_Bool(REGB0)) {
57033 fra.me.REG[5] = fra.me.REG[2];
57034 /* ./parser//parser.nit:21579 */
57035 } else {
57036 /* ./parser//parser.nit:21581 */
57037 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
57038 }
57039 fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], NIT_NULL, fra.me.REG[5]);
57040 fra.me.REG[0] = fra.me.REG[5];
57041 REGB0 = TAG_Int(14);
57042 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57043 /* ./parser//parser.nit:21590 */
57044 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
57045 stack_frame_head = fra.me.prev;
57046 return;
57047 }
57048 void parser___ReduceAction461___init(val_t p0, int* init_table){
57049 int itpos465 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction461].i;
57050 struct {struct stack_frame_t me;} fra;
57051 val_t tmp;
57052 if (init_table[itpos465]) return;
57053 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57054 fra.me.file = LOCATE_parser;
57055 fra.me.line = 21592;
57056 fra.me.meth = LOCATE_parser___ReduceAction461___init;
57057 fra.me.has_broke = 0;
57058 fra.me.REG_size = 1;
57059 fra.me.REG[0] = NIT_NULL;
57060 fra.me.REG[0] = p0;
57061 /* ./parser//parser.nit:21592 */
57062 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
57063 stack_frame_head = fra.me.prev;
57064 init_table[itpos465] = 1;
57065 return;
57066 }
57067 void parser___ReduceAction462___action(val_t p0, val_t p1){
57068 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
57069 val_t REGB0;
57070 val_t tmp;
57071 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57072 fra.me.file = LOCATE_parser;
57073 fra.me.line = 21596;
57074 fra.me.meth = LOCATE_parser___ReduceAction462___action;
57075 fra.me.has_broke = 0;
57076 fra.me.REG_size = 4;
57077 fra.me.REG[0] = NIT_NULL;
57078 fra.me.REG[1] = NIT_NULL;
57079 fra.me.REG[2] = NIT_NULL;
57080 fra.me.REG[3] = NIT_NULL;
57081 fra.me.REG[0] = p0;
57082 fra.me.REG[1] = p1;
57083 fra.me.REG[0] = NIT_NULL;
57084 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57085 fra.me.REG[2] = NEW_Array_array___Array___init();
57086 fra.me.REG[3] = NEW_Array_array___Array___init();
57087 fra.me.REG[3] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[2], NIT_NULL, fra.me.REG[3]);
57088 fra.me.REG[0] = fra.me.REG[3];
57089 REGB0 = TAG_Int(14);
57090 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57091 /* ./parser//parser.nit:21608 */
57092 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
57093 stack_frame_head = fra.me.prev;
57094 return;
57095 }
57096 void parser___ReduceAction462___init(val_t p0, int* init_table){
57097 int itpos466 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction462].i;
57098 struct {struct stack_frame_t me;} fra;
57099 val_t tmp;
57100 if (init_table[itpos466]) return;
57101 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57102 fra.me.file = LOCATE_parser;
57103 fra.me.line = 21610;
57104 fra.me.meth = LOCATE_parser___ReduceAction462___init;
57105 fra.me.has_broke = 0;
57106 fra.me.REG_size = 1;
57107 fra.me.REG[0] = NIT_NULL;
57108 fra.me.REG[0] = p0;
57109 /* ./parser//parser.nit:21610 */
57110 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
57111 stack_frame_head = fra.me.prev;
57112 init_table[itpos466] = 1;
57113 return;
57114 }
57115 void parser___ReduceAction463___action(val_t p0, val_t p1){
57116 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
57117 val_t REGB0;
57118 val_t tmp;
57119 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57120 fra.me.file = LOCATE_parser;
57121 fra.me.line = 21614;
57122 fra.me.meth = LOCATE_parser___ReduceAction463___action;
57123 fra.me.has_broke = 0;
57124 fra.me.REG_size = 5;
57125 fra.me.REG[0] = NIT_NULL;
57126 fra.me.REG[1] = NIT_NULL;
57127 fra.me.REG[2] = NIT_NULL;
57128 fra.me.REG[3] = NIT_NULL;
57129 fra.me.REG[4] = NIT_NULL;
57130 fra.me.REG[0] = p0;
57131 fra.me.REG[1] = p1;
57132 fra.me.REG[0] = NIT_NULL;
57133 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57134 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57135 fra.me.REG[3] = NEW_Array_array___Array___init();
57136 fra.me.REG[4] = NEW_Array_array___Array___init();
57137 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
57138 /* ./parser//parser.nit:21622 */
57139 if (UNTAG_Bool(REGB0)) {
57140 } else {
57141 fprintf(stderr, "Assert failed");
57142 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21622);
57143 nit_exit(1);
57144 }
57145 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
57146 /* ./parser//parser.nit:21624 */
57147 if (UNTAG_Bool(REGB0)) {
57148 fra.me.REG[3] = fra.me.REG[2];
57149 /* ./parser//parser.nit:21625 */
57150 } else {
57151 /* ./parser//parser.nit:21627 */
57152 CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
57153 }
57154 fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], NIT_NULL, fra.me.REG[4]);
57155 fra.me.REG[0] = fra.me.REG[4];
57156 REGB0 = TAG_Int(14);
57157 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57158 /* ./parser//parser.nit:21636 */
57159 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
57160 stack_frame_head = fra.me.prev;
57161 return;
57162 }
57163 void parser___ReduceAction463___init(val_t p0, int* init_table){
57164 int itpos467 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction463].i;
57165 struct {struct stack_frame_t me;} fra;
57166 val_t tmp;
57167 if (init_table[itpos467]) return;
57168 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57169 fra.me.file = LOCATE_parser;
57170 fra.me.line = 21638;
57171 fra.me.meth = LOCATE_parser___ReduceAction463___init;
57172 fra.me.has_broke = 0;
57173 fra.me.REG_size = 1;
57174 fra.me.REG[0] = NIT_NULL;
57175 fra.me.REG[0] = p0;
57176 /* ./parser//parser.nit:21638 */
57177 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
57178 stack_frame_head = fra.me.prev;
57179 init_table[itpos467] = 1;
57180 return;
57181 }
57182 void parser___ReduceAction464___action(val_t p0, val_t p1){
57183 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
57184 val_t REGB0;
57185 val_t tmp;
57186 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57187 fra.me.file = LOCATE_parser;
57188 fra.me.line = 21642;
57189 fra.me.meth = LOCATE_parser___ReduceAction464___action;
57190 fra.me.has_broke = 0;
57191 fra.me.REG_size = 4;
57192 fra.me.REG[0] = NIT_NULL;
57193 fra.me.REG[1] = NIT_NULL;
57194 fra.me.REG[2] = NIT_NULL;
57195 fra.me.REG[3] = NIT_NULL;
57196 fra.me.REG[0] = p0;
57197 fra.me.REG[1] = p1;
57198 fra.me.REG[0] = NIT_NULL;
57199 fra.me.REG[2] = NEW_Array_array___Array___init();
57200 fra.me.REG[3] = NEW_Array_array___Array___init();
57201 fra.me.REG[3] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[2], NIT_NULL, fra.me.REG[3]);
57202 fra.me.REG[0] = fra.me.REG[3];
57203 REGB0 = TAG_Int(15);
57204 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57205 /* ./parser//parser.nit:21653 */
57206 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
57207 stack_frame_head = fra.me.prev;
57208 return;
57209 }
57210 void parser___ReduceAction464___init(val_t p0, int* init_table){
57211 int itpos468 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction464].i;
57212 struct {struct stack_frame_t me;} fra;
57213 val_t tmp;
57214 if (init_table[itpos468]) return;
57215 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57216 fra.me.file = LOCATE_parser;
57217 fra.me.line = 21655;
57218 fra.me.meth = LOCATE_parser___ReduceAction464___init;
57219 fra.me.has_broke = 0;
57220 fra.me.REG_size = 1;
57221 fra.me.REG[0] = NIT_NULL;
57222 fra.me.REG[0] = p0;
57223 /* ./parser//parser.nit:21655 */
57224 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
57225 stack_frame_head = fra.me.prev;
57226 init_table[itpos468] = 1;
57227 return;
57228 }
57229 void parser___ReduceAction465___action(val_t p0, val_t p1){
57230 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
57231 val_t REGB0;
57232 val_t tmp;
57233 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57234 fra.me.file = LOCATE_parser;
57235 fra.me.line = 21659;
57236 fra.me.meth = LOCATE_parser___ReduceAction465___action;
57237 fra.me.has_broke = 0;
57238 fra.me.REG_size = 5;
57239 fra.me.REG[0] = NIT_NULL;
57240 fra.me.REG[1] = NIT_NULL;
57241 fra.me.REG[2] = NIT_NULL;
57242 fra.me.REG[3] = NIT_NULL;
57243 fra.me.REG[4] = NIT_NULL;
57244 fra.me.REG[0] = p0;
57245 fra.me.REG[1] = p1;
57246 fra.me.REG[0] = NIT_NULL;
57247 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57248 fra.me.REG[3] = NEW_Array_array___Array___init();
57249 fra.me.REG[4] = NEW_Array_array___Array___init();
57250 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
57251 /* ./parser//parser.nit:21666 */
57252 if (UNTAG_Bool(REGB0)) {
57253 } else {
57254 fprintf(stderr, "Assert failed");
57255 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21666);
57256 nit_exit(1);
57257 }
57258 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
57259 /* ./parser//parser.nit:21668 */
57260 if (UNTAG_Bool(REGB0)) {
57261 fra.me.REG[3] = fra.me.REG[2];
57262 /* ./parser//parser.nit:21669 */
57263 } else {
57264 /* ./parser//parser.nit:21671 */
57265 CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
57266 }
57267 fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], NIT_NULL, fra.me.REG[4]);
57268 fra.me.REG[0] = fra.me.REG[4];
57269 REGB0 = TAG_Int(15);
57270 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57271 /* ./parser//parser.nit:21680 */
57272 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
57273 stack_frame_head = fra.me.prev;
57274 return;
57275 }
57276 void parser___ReduceAction465___init(val_t p0, int* init_table){
57277 int itpos469 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction465].i;
57278 struct {struct stack_frame_t me;} fra;
57279 val_t tmp;
57280 if (init_table[itpos469]) return;
57281 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57282 fra.me.file = LOCATE_parser;
57283 fra.me.line = 21682;
57284 fra.me.meth = LOCATE_parser___ReduceAction465___init;
57285 fra.me.has_broke = 0;
57286 fra.me.REG_size = 1;
57287 fra.me.REG[0] = NIT_NULL;
57288 fra.me.REG[0] = p0;
57289 /* ./parser//parser.nit:21682 */
57290 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
57291 stack_frame_head = fra.me.prev;
57292 init_table[itpos469] = 1;
57293 return;
57294 }
57295 void parser___ReduceAction466___action(val_t p0, val_t p1){
57296 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
57297 val_t REGB0;
57298 val_t tmp;
57299 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57300 fra.me.file = LOCATE_parser;
57301 fra.me.line = 21686;
57302 fra.me.meth = LOCATE_parser___ReduceAction466___action;
57303 fra.me.has_broke = 0;
57304 fra.me.REG_size = 5;
57305 fra.me.REG[0] = NIT_NULL;
57306 fra.me.REG[1] = NIT_NULL;
57307 fra.me.REG[2] = NIT_NULL;
57308 fra.me.REG[3] = NIT_NULL;
57309 fra.me.REG[4] = NIT_NULL;
57310 fra.me.REG[0] = p0;
57311 fra.me.REG[1] = p1;
57312 fra.me.REG[0] = NIT_NULL;
57313 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57314 fra.me.REG[3] = NEW_Array_array___Array___init();
57315 fra.me.REG[4] = NEW_Array_array___Array___init();
57316 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
57317 /* ./parser//parser.nit:21693 */
57318 if (UNTAG_Bool(REGB0)) {
57319 } else {
57320 fprintf(stderr, "Assert failed");
57321 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21693);
57322 nit_exit(1);
57323 }
57324 fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], fra.me.REG[2], fra.me.REG[4]);
57325 fra.me.REG[0] = fra.me.REG[4];
57326 REGB0 = TAG_Int(15);
57327 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57328 /* ./parser//parser.nit:21700 */
57329 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
57330 stack_frame_head = fra.me.prev;
57331 return;
57332 }
57333 void parser___ReduceAction466___init(val_t p0, int* init_table){
57334 int itpos470 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction466].i;
57335 struct {struct stack_frame_t me;} fra;
57336 val_t tmp;
57337 if (init_table[itpos470]) return;
57338 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57339 fra.me.file = LOCATE_parser;
57340 fra.me.line = 21702;
57341 fra.me.meth = LOCATE_parser___ReduceAction466___init;
57342 fra.me.has_broke = 0;
57343 fra.me.REG_size = 1;
57344 fra.me.REG[0] = NIT_NULL;
57345 fra.me.REG[0] = p0;
57346 /* ./parser//parser.nit:21702 */
57347 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
57348 stack_frame_head = fra.me.prev;
57349 init_table[itpos470] = 1;
57350 return;
57351 }
57352 void parser___ReduceAction467___action(val_t p0, val_t p1){
57353 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
57354 val_t REGB0;
57355 val_t tmp;
57356 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57357 fra.me.file = LOCATE_parser;
57358 fra.me.line = 21706;
57359 fra.me.meth = LOCATE_parser___ReduceAction467___action;
57360 fra.me.has_broke = 0;
57361 fra.me.REG_size = 6;
57362 fra.me.REG[0] = NIT_NULL;
57363 fra.me.REG[1] = NIT_NULL;
57364 fra.me.REG[2] = NIT_NULL;
57365 fra.me.REG[3] = NIT_NULL;
57366 fra.me.REG[4] = NIT_NULL;
57367 fra.me.REG[5] = NIT_NULL;
57368 fra.me.REG[0] = p0;
57369 fra.me.REG[1] = p1;
57370 fra.me.REG[0] = NIT_NULL;
57371 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57372 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57373 fra.me.REG[4] = NEW_Array_array___Array___init();
57374 fra.me.REG[5] = NEW_Array_array___Array___init();
57375 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
57376 /* ./parser//parser.nit:21714 */
57377 if (UNTAG_Bool(REGB0)) {
57378 } else {
57379 fprintf(stderr, "Assert failed");
57380 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21714);
57381 nit_exit(1);
57382 }
57383 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
57384 /* ./parser//parser.nit:21716 */
57385 if (UNTAG_Bool(REGB0)) {
57386 fra.me.REG[4] = fra.me.REG[3];
57387 /* ./parser//parser.nit:21717 */
57388 } else {
57389 /* ./parser//parser.nit:21719 */
57390 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
57391 }
57392 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
57393 /* ./parser//parser.nit:21723 */
57394 if (UNTAG_Bool(REGB0)) {
57395 } else {
57396 fprintf(stderr, "Assert failed");
57397 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21723);
57398 nit_exit(1);
57399 }
57400 fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[2], fra.me.REG[5]);
57401 fra.me.REG[0] = fra.me.REG[5];
57402 REGB0 = TAG_Int(15);
57403 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57404 /* ./parser//parser.nit:21730 */
57405 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
57406 stack_frame_head = fra.me.prev;
57407 return;
57408 }
57409 void parser___ReduceAction467___init(val_t p0, int* init_table){
57410 int itpos471 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction467].i;
57411 struct {struct stack_frame_t me;} fra;
57412 val_t tmp;
57413 if (init_table[itpos471]) return;
57414 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57415 fra.me.file = LOCATE_parser;
57416 fra.me.line = 21732;
57417 fra.me.meth = LOCATE_parser___ReduceAction467___init;
57418 fra.me.has_broke = 0;
57419 fra.me.REG_size = 1;
57420 fra.me.REG[0] = NIT_NULL;
57421 fra.me.REG[0] = p0;
57422 /* ./parser//parser.nit:21732 */
57423 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
57424 stack_frame_head = fra.me.prev;
57425 init_table[itpos471] = 1;
57426 return;
57427 }
57428 void parser___ReduceAction468___action(val_t p0, val_t p1){
57429 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
57430 val_t REGB0;
57431 val_t REGB1;
57432 val_t tmp;
57433 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57434 fra.me.file = LOCATE_parser;
57435 fra.me.line = 21736;
57436 fra.me.meth = LOCATE_parser___ReduceAction468___action;
57437 fra.me.has_broke = 0;
57438 fra.me.REG_size = 4;
57439 fra.me.REG[0] = NIT_NULL;
57440 fra.me.REG[1] = NIT_NULL;
57441 fra.me.REG[2] = NIT_NULL;
57442 fra.me.REG[3] = NIT_NULL;
57443 fra.me.REG[0] = p0;
57444 fra.me.REG[1] = p1;
57445 fra.me.REG[0] = NIT_NULL;
57446 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57447 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57448 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57449 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57450 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57451 fra.me.REG[3] = NEW_Array_array___Array___init();
57452 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AParam, ID_AParam)) /*cast nullable AParam*/;
57453 /* ./parser//parser.nit:21746 */
57454 if (UNTAG_Bool(REGB0)) {
57455 } else {
57456 fprintf(stderr, "Assert failed");
57457 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21746);
57458 nit_exit(1);
57459 }
57460 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
57461 /* ./parser//parser.nit:21747 */
57462 if (UNTAG_Bool(REGB0)) {
57463 } else {
57464 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
57465 if (UNTAG_Bool(REGB1)) {
57466 REGB1 = TAG_Bool(false);
57467 REGB0 = REGB1;
57468 } else {
57469 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
57470 REGB0 = REGB1;
57471 }
57472 }
57473 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
57474 if (UNTAG_Bool(REGB0)) {
57475 /* ./parser//parser.nit:21748 */
57476 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
57477 }
57478 fra.me.REG[0] = fra.me.REG[3];
57479 REGB0 = TAG_Int(16);
57480 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57481 /* ./parser//parser.nit:21751 */
57482 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
57483 stack_frame_head = fra.me.prev;
57484 return;
57485 }
57486 void parser___ReduceAction468___init(val_t p0, int* init_table){
57487 int itpos472 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction468].i;
57488 struct {struct stack_frame_t me;} fra;
57489 val_t tmp;
57490 if (init_table[itpos472]) return;
57491 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57492 fra.me.file = LOCATE_parser;
57493 fra.me.line = 21753;
57494 fra.me.meth = LOCATE_parser___ReduceAction468___init;
57495 fra.me.has_broke = 0;
57496 fra.me.REG_size = 1;
57497 fra.me.REG[0] = NIT_NULL;
57498 fra.me.REG[0] = p0;
57499 /* ./parser//parser.nit:21753 */
57500 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
57501 stack_frame_head = fra.me.prev;
57502 init_table[itpos472] = 1;
57503 return;
57504 }
57505 void parser___ReduceAction469___action(val_t p0, val_t p1){
57506 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
57507 val_t REGB0;
57508 val_t REGB1;
57509 val_t tmp;
57510 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57511 fra.me.file = LOCATE_parser;
57512 fra.me.line = 21757;
57513 fra.me.meth = LOCATE_parser___ReduceAction469___action;
57514 fra.me.has_broke = 0;
57515 fra.me.REG_size = 5;
57516 fra.me.REG[0] = NIT_NULL;
57517 fra.me.REG[1] = NIT_NULL;
57518 fra.me.REG[2] = NIT_NULL;
57519 fra.me.REG[3] = NIT_NULL;
57520 fra.me.REG[4] = NIT_NULL;
57521 fra.me.REG[0] = p0;
57522 fra.me.REG[1] = p1;
57523 fra.me.REG[0] = NIT_NULL;
57524 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57525 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57526 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57527 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57528 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57529 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57530 fra.me.REG[4] = NEW_Array_array___Array___init();
57531 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AParam, ID_AParam)) /*cast nullable AParam*/;
57532 /* ./parser//parser.nit:21768 */
57533 if (UNTAG_Bool(REGB0)) {
57534 } else {
57535 fprintf(stderr, "Assert failed");
57536 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21768);
57537 nit_exit(1);
57538 }
57539 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
57540 /* ./parser//parser.nit:21770 */
57541 if (UNTAG_Bool(REGB0)) {
57542 } else {
57543 fprintf(stderr, "Assert failed");
57544 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21770);
57545 nit_exit(1);
57546 }
57547 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
57548 /* ./parser//parser.nit:21771 */
57549 if (UNTAG_Bool(REGB0)) {
57550 } else {
57551 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
57552 if (UNTAG_Bool(REGB1)) {
57553 REGB1 = TAG_Bool(false);
57554 REGB0 = REGB1;
57555 } else {
57556 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
57557 REGB0 = REGB1;
57558 }
57559 }
57560 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
57561 if (UNTAG_Bool(REGB0)) {
57562 /* ./parser//parser.nit:21772 */
57563 array___Array___add(fra.me.REG[4], fra.me.REG[3]);
57564 }
57565 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
57566 /* ./parser//parser.nit:21775 */
57567 if (UNTAG_Bool(REGB0)) {
57568 fra.me.REG[4] = fra.me.REG[2];
57569 /* ./parser//parser.nit:21776 */
57570 } else {
57571 /* ./parser//parser.nit:21778 */
57572 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
57573 }
57574 fra.me.REG[0] = fra.me.REG[4];
57575 REGB0 = TAG_Int(16);
57576 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57577 /* ./parser//parser.nit:21782 */
57578 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
57579 stack_frame_head = fra.me.prev;
57580 return;
57581 }
57582 void parser___ReduceAction469___init(val_t p0, int* init_table){
57583 int itpos473 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction469].i;
57584 struct {struct stack_frame_t me;} fra;
57585 val_t tmp;
57586 if (init_table[itpos473]) return;
57587 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57588 fra.me.file = LOCATE_parser;
57589 fra.me.line = 21784;
57590 fra.me.meth = LOCATE_parser___ReduceAction469___init;
57591 fra.me.has_broke = 0;
57592 fra.me.REG_size = 1;
57593 fra.me.REG[0] = NIT_NULL;
57594 fra.me.REG[0] = p0;
57595 /* ./parser//parser.nit:21784 */
57596 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
57597 stack_frame_head = fra.me.prev;
57598 init_table[itpos473] = 1;
57599 return;
57600 }
57601 void parser___ReduceAction470___action(val_t p0, val_t p1){
57602 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
57603 val_t REGB0;
57604 val_t tmp;
57605 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57606 fra.me.file = LOCATE_parser;
57607 fra.me.line = 21788;
57608 fra.me.meth = LOCATE_parser___ReduceAction470___action;
57609 fra.me.has_broke = 0;
57610 fra.me.REG_size = 3;
57611 fra.me.REG[0] = NIT_NULL;
57612 fra.me.REG[1] = NIT_NULL;
57613 fra.me.REG[2] = NIT_NULL;
57614 fra.me.REG[0] = p0;
57615 fra.me.REG[1] = p1;
57616 fra.me.REG[0] = NIT_NULL;
57617 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57618 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57619 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57620 fra.me.REG[2] = NEW_Array_array___Array___init();
57621 fra.me.REG[0] = fra.me.REG[2];
57622 REGB0 = TAG_Int(16);
57623 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57624 /* ./parser//parser.nit:21796 */
57625 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
57626 stack_frame_head = fra.me.prev;
57627 return;
57628 }
57629 void parser___ReduceAction470___init(val_t p0, int* init_table){
57630 int itpos474 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction470].i;
57631 struct {struct stack_frame_t me;} fra;
57632 val_t tmp;
57633 if (init_table[itpos474]) return;
57634 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57635 fra.me.file = LOCATE_parser;
57636 fra.me.line = 21798;
57637 fra.me.meth = LOCATE_parser___ReduceAction470___init;
57638 fra.me.has_broke = 0;
57639 fra.me.REG_size = 1;
57640 fra.me.REG[0] = NIT_NULL;
57641 fra.me.REG[0] = p0;
57642 /* ./parser//parser.nit:21798 */
57643 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
57644 stack_frame_head = fra.me.prev;
57645 init_table[itpos474] = 1;
57646 return;
57647 }
57648 void parser___ReduceAction471___action(val_t p0, val_t p1){
57649 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
57650 val_t REGB0;
57651 val_t tmp;
57652 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57653 fra.me.file = LOCATE_parser;
57654 fra.me.line = 21802;
57655 fra.me.meth = LOCATE_parser___ReduceAction471___action;
57656 fra.me.has_broke = 0;
57657 fra.me.REG_size = 4;
57658 fra.me.REG[0] = NIT_NULL;
57659 fra.me.REG[1] = NIT_NULL;
57660 fra.me.REG[2] = NIT_NULL;
57661 fra.me.REG[3] = NIT_NULL;
57662 fra.me.REG[0] = p0;
57663 fra.me.REG[1] = p1;
57664 fra.me.REG[0] = NIT_NULL;
57665 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57666 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57667 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57668 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AParam, ID_AParam)) /*cast nullable AParam*/;
57669 /* ./parser//parser.nit:21809 */
57670 if (UNTAG_Bool(REGB0)) {
57671 } else {
57672 fprintf(stderr, "Assert failed");
57673 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21809);
57674 nit_exit(1);
57675 }
57676 fra.me.REG[0] = fra.me.REG[2];
57677 REGB0 = TAG_Int(17);
57678 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57679 /* ./parser//parser.nit:21811 */
57680 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
57681 stack_frame_head = fra.me.prev;
57682 return;
57683 }
57684 void parser___ReduceAction471___init(val_t p0, int* init_table){
57685 int itpos475 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction471].i;
57686 struct {struct stack_frame_t me;} fra;
57687 val_t tmp;
57688 if (init_table[itpos475]) return;
57689 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57690 fra.me.file = LOCATE_parser;
57691 fra.me.line = 21813;
57692 fra.me.meth = LOCATE_parser___ReduceAction471___init;
57693 fra.me.has_broke = 0;
57694 fra.me.REG_size = 1;
57695 fra.me.REG[0] = NIT_NULL;
57696 fra.me.REG[0] = p0;
57697 /* ./parser//parser.nit:21813 */
57698 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
57699 stack_frame_head = fra.me.prev;
57700 init_table[itpos475] = 1;
57701 return;
57702 }
57703 void parser___ReduceAction472___action(val_t p0, val_t p1){
57704 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
57705 val_t REGB0;
57706 val_t tmp;
57707 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57708 fra.me.file = LOCATE_parser;
57709 fra.me.line = 21817;
57710 fra.me.meth = LOCATE_parser___ReduceAction472___action;
57711 fra.me.has_broke = 0;
57712 fra.me.REG_size = 3;
57713 fra.me.REG[0] = NIT_NULL;
57714 fra.me.REG[1] = NIT_NULL;
57715 fra.me.REG[2] = NIT_NULL;
57716 fra.me.REG[0] = p0;
57717 fra.me.REG[1] = p1;
57718 fra.me.REG[0] = NIT_NULL;
57719 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57720 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/;
57721 /* ./parser//parser.nit:21822 */
57722 if (UNTAG_Bool(REGB0)) {
57723 } else {
57724 fprintf(stderr, "Assert failed");
57725 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21822);
57726 nit_exit(1);
57727 }
57728 fra.me.REG[2] = NEW_AParam_parser_prod___AParam___init_aparam(fra.me.REG[2], NIT_NULL, NIT_NULL);
57729 fra.me.REG[0] = fra.me.REG[2];
57730 REGB0 = TAG_Int(18);
57731 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57732 /* ./parser//parser.nit:21829 */
57733 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
57734 stack_frame_head = fra.me.prev;
57735 return;
57736 }
57737 void parser___ReduceAction472___init(val_t p0, int* init_table){
57738 int itpos476 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction472].i;
57739 struct {struct stack_frame_t me;} fra;
57740 val_t tmp;
57741 if (init_table[itpos476]) return;
57742 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57743 fra.me.file = LOCATE_parser;
57744 fra.me.line = 21831;
57745 fra.me.meth = LOCATE_parser___ReduceAction472___init;
57746 fra.me.has_broke = 0;
57747 fra.me.REG_size = 1;
57748 fra.me.REG[0] = NIT_NULL;
57749 fra.me.REG[0] = p0;
57750 /* ./parser//parser.nit:21831 */
57751 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
57752 stack_frame_head = fra.me.prev;
57753 init_table[itpos476] = 1;
57754 return;
57755 }
57756 void parser___ReduceAction473___action(val_t p0, val_t p1){
57757 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
57758 val_t REGB0;
57759 val_t tmp;
57760 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57761 fra.me.file = LOCATE_parser;
57762 fra.me.line = 21835;
57763 fra.me.meth = LOCATE_parser___ReduceAction473___action;
57764 fra.me.has_broke = 0;
57765 fra.me.REG_size = 4;
57766 fra.me.REG[0] = NIT_NULL;
57767 fra.me.REG[1] = NIT_NULL;
57768 fra.me.REG[2] = NIT_NULL;
57769 fra.me.REG[3] = NIT_NULL;
57770 fra.me.REG[0] = p0;
57771 fra.me.REG[1] = p1;
57772 fra.me.REG[0] = NIT_NULL;
57773 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57774 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57775 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
57776 /* ./parser//parser.nit:21841 */
57777 if (UNTAG_Bool(REGB0)) {
57778 } else {
57779 fprintf(stderr, "Assert failed");
57780 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21841);
57781 nit_exit(1);
57782 }
57783 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
57784 /* ./parser//parser.nit:21843 */
57785 if (UNTAG_Bool(REGB0)) {
57786 } else {
57787 fprintf(stderr, "Assert failed");
57788 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21843);
57789 nit_exit(1);
57790 }
57791 fra.me.REG[2] = NEW_AParam_parser_prod___AParam___init_aparam(fra.me.REG[3], fra.me.REG[2], NIT_NULL);
57792 fra.me.REG[0] = fra.me.REG[2];
57793 REGB0 = TAG_Int(18);
57794 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57795 /* ./parser//parser.nit:21850 */
57796 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
57797 stack_frame_head = fra.me.prev;
57798 return;
57799 }
57800 void parser___ReduceAction473___init(val_t p0, int* init_table){
57801 int itpos477 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction473].i;
57802 struct {struct stack_frame_t me;} fra;
57803 val_t tmp;
57804 if (init_table[itpos477]) return;
57805 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57806 fra.me.file = LOCATE_parser;
57807 fra.me.line = 21852;
57808 fra.me.meth = LOCATE_parser___ReduceAction473___init;
57809 fra.me.has_broke = 0;
57810 fra.me.REG_size = 1;
57811 fra.me.REG[0] = NIT_NULL;
57812 fra.me.REG[0] = p0;
57813 /* ./parser//parser.nit:21852 */
57814 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
57815 stack_frame_head = fra.me.prev;
57816 init_table[itpos477] = 1;
57817 return;
57818 }
57819 void parser___ReduceAction474___action(val_t p0, val_t p1){
57820 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
57821 val_t REGB0;
57822 val_t tmp;
57823 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57824 fra.me.file = LOCATE_parser;
57825 fra.me.line = 21856;
57826 fra.me.meth = LOCATE_parser___ReduceAction474___action;
57827 fra.me.has_broke = 0;
57828 fra.me.REG_size = 5;
57829 fra.me.REG[0] = NIT_NULL;
57830 fra.me.REG[1] = NIT_NULL;
57831 fra.me.REG[2] = NIT_NULL;
57832 fra.me.REG[3] = NIT_NULL;
57833 fra.me.REG[4] = NIT_NULL;
57834 fra.me.REG[0] = p0;
57835 fra.me.REG[1] = p1;
57836 fra.me.REG[0] = NIT_NULL;
57837 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57838 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57839 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57840 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
57841 /* ./parser//parser.nit:21863 */
57842 if (UNTAG_Bool(REGB0)) {
57843 } else {
57844 fprintf(stderr, "Assert failed");
57845 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21863);
57846 nit_exit(1);
57847 }
57848 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
57849 /* ./parser//parser.nit:21865 */
57850 if (UNTAG_Bool(REGB0)) {
57851 } else {
57852 fprintf(stderr, "Assert failed");
57853 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21865);
57854 nit_exit(1);
57855 }
57856 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TDotdotdot, ID_TDotdotdot)) /*cast nullable TDotdotdot*/;
57857 /* ./parser//parser.nit:21867 */
57858 if (UNTAG_Bool(REGB0)) {
57859 } else {
57860 fprintf(stderr, "Assert failed");
57861 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21867);
57862 nit_exit(1);
57863 }
57864 fra.me.REG[2] = NEW_AParam_parser_prod___AParam___init_aparam(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
57865 fra.me.REG[0] = fra.me.REG[2];
57866 REGB0 = TAG_Int(18);
57867 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57868 /* ./parser//parser.nit:21874 */
57869 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
57870 stack_frame_head = fra.me.prev;
57871 return;
57872 }
57873 void parser___ReduceAction474___init(val_t p0, int* init_table){
57874 int itpos478 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction474].i;
57875 struct {struct stack_frame_t me;} fra;
57876 val_t tmp;
57877 if (init_table[itpos478]) return;
57878 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57879 fra.me.file = LOCATE_parser;
57880 fra.me.line = 21876;
57881 fra.me.meth = LOCATE_parser___ReduceAction474___init;
57882 fra.me.has_broke = 0;
57883 fra.me.REG_size = 1;
57884 fra.me.REG[0] = NIT_NULL;
57885 fra.me.REG[0] = p0;
57886 /* ./parser//parser.nit:21876 */
57887 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
57888 stack_frame_head = fra.me.prev;
57889 init_table[itpos478] = 1;
57890 return;
57891 }
57892 void parser___ReduceAction475___action(val_t p0, val_t p1){
57893 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
57894 val_t REGB0;
57895 val_t tmp;
57896 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57897 fra.me.file = LOCATE_parser;
57898 fra.me.line = 21880;
57899 fra.me.meth = LOCATE_parser___ReduceAction475___action;
57900 fra.me.has_broke = 0;
57901 fra.me.REG_size = 4;
57902 fra.me.REG[0] = NIT_NULL;
57903 fra.me.REG[1] = NIT_NULL;
57904 fra.me.REG[2] = NIT_NULL;
57905 fra.me.REG[3] = NIT_NULL;
57906 fra.me.REG[0] = p0;
57907 fra.me.REG[1] = p1;
57908 fra.me.REG[0] = NIT_NULL;
57909 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57910 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57911 fra.me.REG[3] = NEW_Array_array___Array___init();
57912 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
57913 /* ./parser//parser.nit:21887 */
57914 if (UNTAG_Bool(REGB0)) {
57915 } else {
57916 fprintf(stderr, "Assert failed");
57917 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21887);
57918 nit_exit(1);
57919 }
57920 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
57921 /* ./parser//parser.nit:21889 */
57922 if (UNTAG_Bool(REGB0)) {
57923 fra.me.REG[3] = fra.me.REG[2];
57924 /* ./parser//parser.nit:21890 */
57925 } else {
57926 /* ./parser//parser.nit:21892 */
57927 CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
57928 }
57929 fra.me.REG[0] = fra.me.REG[3];
57930 REGB0 = TAG_Int(19);
57931 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
57932 /* ./parser//parser.nit:21896 */
57933 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
57934 stack_frame_head = fra.me.prev;
57935 return;
57936 }
57937 void parser___ReduceAction475___init(val_t p0, int* init_table){
57938 int itpos479 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction475].i;
57939 struct {struct stack_frame_t me;} fra;
57940 val_t tmp;
57941 if (init_table[itpos479]) return;
57942 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57943 fra.me.file = LOCATE_parser;
57944 fra.me.line = 21898;
57945 fra.me.meth = LOCATE_parser___ReduceAction475___init;
57946 fra.me.has_broke = 0;
57947 fra.me.REG_size = 1;
57948 fra.me.REG[0] = NIT_NULL;
57949 fra.me.REG[0] = p0;
57950 /* ./parser//parser.nit:21898 */
57951 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
57952 stack_frame_head = fra.me.prev;
57953 init_table[itpos479] = 1;
57954 return;
57955 }
57956 void parser___ReduceAction476___action(val_t p0, val_t p1){
57957 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
57958 val_t REGB0;
57959 val_t tmp;
57960 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57961 fra.me.file = LOCATE_parser;
57962 fra.me.line = 21902;
57963 fra.me.meth = LOCATE_parser___ReduceAction476___action;
57964 fra.me.has_broke = 0;
57965 fra.me.REG_size = 5;
57966 fra.me.REG[0] = NIT_NULL;
57967 fra.me.REG[1] = NIT_NULL;
57968 fra.me.REG[2] = NIT_NULL;
57969 fra.me.REG[3] = NIT_NULL;
57970 fra.me.REG[4] = NIT_NULL;
57971 fra.me.REG[0] = p0;
57972 fra.me.REG[1] = p1;
57973 fra.me.REG[0] = NIT_NULL;
57974 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57975 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57976 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57977 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
57978 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
57979 /* ./parser//parser.nit:21910 */
57980 if (UNTAG_Bool(REGB0)) {
57981 } else {
57982 fprintf(stderr, "Assert failed");
57983 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21910);
57984 nit_exit(1);
57985 }
57986 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
57987 /* ./parser//parser.nit:21912 */
57988 if (UNTAG_Bool(REGB0)) {
57989 } else {
57990 fprintf(stderr, "Assert failed");
57991 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21912);
57992 nit_exit(1);
57993 }
57994 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
57995 /* ./parser//parser.nit:21914 */
57996 if (UNTAG_Bool(REGB0)) {
57997 } else {
57998 fprintf(stderr, "Assert failed");
57999 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21914);
58000 nit_exit(1);
58001 }
58002 fra.me.REG[2] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl(NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
58003 fra.me.REG[0] = fra.me.REG[2];
58004 REGB0 = TAG_Int(20);
58005 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58006 /* ./parser//parser.nit:21923 */
58007 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
58008 stack_frame_head = fra.me.prev;
58009 return;
58010 }
58011 void parser___ReduceAction476___init(val_t p0, int* init_table){
58012 int itpos480 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction476].i;
58013 struct {struct stack_frame_t me;} fra;
58014 val_t tmp;
58015 if (init_table[itpos480]) return;
58016 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58017 fra.me.file = LOCATE_parser;
58018 fra.me.line = 21925;
58019 fra.me.meth = LOCATE_parser___ReduceAction476___init;
58020 fra.me.has_broke = 0;
58021 fra.me.REG_size = 1;
58022 fra.me.REG[0] = NIT_NULL;
58023 fra.me.REG[0] = p0;
58024 /* ./parser//parser.nit:21925 */
58025 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
58026 stack_frame_head = fra.me.prev;
58027 init_table[itpos480] = 1;
58028 return;
58029 }
58030 void parser___ReduceAction477___action(val_t p0, val_t p1){
58031 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
58032 val_t REGB0;
58033 val_t tmp;
58034 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58035 fra.me.file = LOCATE_parser;
58036 fra.me.line = 21929;
58037 fra.me.meth = LOCATE_parser___ReduceAction477___action;
58038 fra.me.has_broke = 0;
58039 fra.me.REG_size = 6;
58040 fra.me.REG[0] = NIT_NULL;
58041 fra.me.REG[1] = NIT_NULL;
58042 fra.me.REG[2] = NIT_NULL;
58043 fra.me.REG[3] = NIT_NULL;
58044 fra.me.REG[4] = NIT_NULL;
58045 fra.me.REG[5] = NIT_NULL;
58046 fra.me.REG[0] = p0;
58047 fra.me.REG[1] = p1;
58048 fra.me.REG[0] = NIT_NULL;
58049 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58050 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58051 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58052 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58053 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58054 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/;
58055 /* ./parser//parser.nit:21938 */
58056 if (UNTAG_Bool(REGB0)) {
58057 } else {
58058 fprintf(stderr, "Assert failed");
58059 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21938);
58060 nit_exit(1);
58061 }
58062 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
58063 /* ./parser//parser.nit:21940 */
58064 if (UNTAG_Bool(REGB0)) {
58065 } else {
58066 fprintf(stderr, "Assert failed");
58067 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21940);
58068 nit_exit(1);
58069 }
58070 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
58071 /* ./parser//parser.nit:21942 */
58072 if (UNTAG_Bool(REGB0)) {
58073 } else {
58074 fprintf(stderr, "Assert failed");
58075 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21942);
58076 nit_exit(1);
58077 }
58078 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
58079 /* ./parser//parser.nit:21944 */
58080 if (UNTAG_Bool(REGB0)) {
58081 } else {
58082 fprintf(stderr, "Assert failed");
58083 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21944);
58084 nit_exit(1);
58085 }
58086 fra.me.REG[2] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
58087 fra.me.REG[0] = fra.me.REG[2];
58088 REGB0 = TAG_Int(20);
58089 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58090 /* ./parser//parser.nit:21953 */
58091 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
58092 stack_frame_head = fra.me.prev;
58093 return;
58094 }
58095 void parser___ReduceAction477___init(val_t p0, int* init_table){
58096 int itpos481 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction477].i;
58097 struct {struct stack_frame_t me;} fra;
58098 val_t tmp;
58099 if (init_table[itpos481]) return;
58100 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58101 fra.me.file = LOCATE_parser;
58102 fra.me.line = 21955;
58103 fra.me.meth = LOCATE_parser___ReduceAction477___init;
58104 fra.me.has_broke = 0;
58105 fra.me.REG_size = 1;
58106 fra.me.REG[0] = NIT_NULL;
58107 fra.me.REG[0] = p0;
58108 /* ./parser//parser.nit:21955 */
58109 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
58110 stack_frame_head = fra.me.prev;
58111 init_table[itpos481] = 1;
58112 return;
58113 }
58114 void parser___ReduceAction478___action(val_t p0, val_t p1){
58115 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
58116 val_t REGB0;
58117 val_t tmp;
58118 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58119 fra.me.file = LOCATE_parser;
58120 fra.me.line = 21959;
58121 fra.me.meth = LOCATE_parser___ReduceAction478___action;
58122 fra.me.has_broke = 0;
58123 fra.me.REG_size = 6;
58124 fra.me.REG[0] = NIT_NULL;
58125 fra.me.REG[1] = NIT_NULL;
58126 fra.me.REG[2] = NIT_NULL;
58127 fra.me.REG[3] = NIT_NULL;
58128 fra.me.REG[4] = NIT_NULL;
58129 fra.me.REG[5] = NIT_NULL;
58130 fra.me.REG[0] = p0;
58131 fra.me.REG[1] = p1;
58132 fra.me.REG[0] = NIT_NULL;
58133 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58134 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58135 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58136 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58137 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58138 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58139 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
58140 /* ./parser//parser.nit:21969 */
58141 if (UNTAG_Bool(REGB0)) {
58142 } else {
58143 fprintf(stderr, "Assert failed");
58144 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21969);
58145 nit_exit(1);
58146 }
58147 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
58148 /* ./parser//parser.nit:21971 */
58149 if (UNTAG_Bool(REGB0)) {
58150 } else {
58151 fprintf(stderr, "Assert failed");
58152 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21971);
58153 nit_exit(1);
58154 }
58155 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
58156 /* ./parser//parser.nit:21973 */
58157 if (UNTAG_Bool(REGB0)) {
58158 } else {
58159 fprintf(stderr, "Assert failed");
58160 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21973);
58161 nit_exit(1);
58162 }
58163 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
58164 /* ./parser//parser.nit:21975 */
58165 if (UNTAG_Bool(REGB0)) {
58166 } else {
58167 fprintf(stderr, "Assert failed");
58168 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21975);
58169 nit_exit(1);
58170 }
58171 fra.me.REG[2] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl(NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
58172 fra.me.REG[0] = fra.me.REG[2];
58173 REGB0 = TAG_Int(20);
58174 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58175 /* ./parser//parser.nit:21984 */
58176 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
58177 stack_frame_head = fra.me.prev;
58178 return;
58179 }
58180 void parser___ReduceAction478___init(val_t p0, int* init_table){
58181 int itpos482 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction478].i;
58182 struct {struct stack_frame_t me;} fra;
58183 val_t tmp;
58184 if (init_table[itpos482]) return;
58185 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58186 fra.me.file = LOCATE_parser;
58187 fra.me.line = 21986;
58188 fra.me.meth = LOCATE_parser___ReduceAction478___init;
58189 fra.me.has_broke = 0;
58190 fra.me.REG_size = 1;
58191 fra.me.REG[0] = NIT_NULL;
58192 fra.me.REG[0] = p0;
58193 /* ./parser//parser.nit:21986 */
58194 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
58195 stack_frame_head = fra.me.prev;
58196 init_table[itpos482] = 1;
58197 return;
58198 }
58199 void parser___ReduceAction479___action(val_t p0, val_t p1){
58200 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
58201 val_t REGB0;
58202 val_t tmp;
58203 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58204 fra.me.file = LOCATE_parser;
58205 fra.me.line = 21990;
58206 fra.me.meth = LOCATE_parser___ReduceAction479___action;
58207 fra.me.has_broke = 0;
58208 fra.me.REG_size = 7;
58209 fra.me.REG[0] = NIT_NULL;
58210 fra.me.REG[1] = NIT_NULL;
58211 fra.me.REG[2] = NIT_NULL;
58212 fra.me.REG[3] = NIT_NULL;
58213 fra.me.REG[4] = NIT_NULL;
58214 fra.me.REG[5] = NIT_NULL;
58215 fra.me.REG[6] = NIT_NULL;
58216 fra.me.REG[0] = p0;
58217 fra.me.REG[1] = p1;
58218 fra.me.REG[0] = NIT_NULL;
58219 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58220 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58221 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58222 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58223 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58224 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58225 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58226 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/;
58227 /* ./parser//parser.nit:22001 */
58228 if (UNTAG_Bool(REGB0)) {
58229 } else {
58230 fprintf(stderr, "Assert failed");
58231 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22001);
58232 nit_exit(1);
58233 }
58234 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
58235 /* ./parser//parser.nit:22003 */
58236 if (UNTAG_Bool(REGB0)) {
58237 } else {
58238 fprintf(stderr, "Assert failed");
58239 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22003);
58240 nit_exit(1);
58241 }
58242 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
58243 /* ./parser//parser.nit:22005 */
58244 if (UNTAG_Bool(REGB0)) {
58245 } else {
58246 fprintf(stderr, "Assert failed");
58247 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22005);
58248 nit_exit(1);
58249 }
58250 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
58251 /* ./parser//parser.nit:22007 */
58252 if (UNTAG_Bool(REGB0)) {
58253 } else {
58254 fprintf(stderr, "Assert failed");
58255 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22007);
58256 nit_exit(1);
58257 }
58258 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
58259 /* ./parser//parser.nit:22009 */
58260 if (UNTAG_Bool(REGB0)) {
58261 } else {
58262 fprintf(stderr, "Assert failed");
58263 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22009);
58264 nit_exit(1);
58265 }
58266 fra.me.REG[2] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
58267 fra.me.REG[0] = fra.me.REG[2];
58268 REGB0 = TAG_Int(20);
58269 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58270 /* ./parser//parser.nit:22018 */
58271 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
58272 stack_frame_head = fra.me.prev;
58273 return;
58274 }
58275 void parser___ReduceAction479___init(val_t p0, int* init_table){
58276 int itpos483 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction479].i;
58277 struct {struct stack_frame_t me;} fra;
58278 val_t tmp;
58279 if (init_table[itpos483]) return;
58280 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58281 fra.me.file = LOCATE_parser;
58282 fra.me.line = 22020;
58283 fra.me.meth = LOCATE_parser___ReduceAction479___init;
58284 fra.me.has_broke = 0;
58285 fra.me.REG_size = 1;
58286 fra.me.REG[0] = NIT_NULL;
58287 fra.me.REG[0] = p0;
58288 /* ./parser//parser.nit:22020 */
58289 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
58290 stack_frame_head = fra.me.prev;
58291 init_table[itpos483] = 1;
58292 return;
58293 }
58294 void parser___ReduceAction480___action(val_t p0, val_t p1){
58295 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
58296 val_t REGB0;
58297 val_t tmp;
58298 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58299 fra.me.file = LOCATE_parser;
58300 fra.me.line = 22024;
58301 fra.me.meth = LOCATE_parser___ReduceAction480___action;
58302 fra.me.has_broke = 0;
58303 fra.me.REG_size = 6;
58304 fra.me.REG[0] = NIT_NULL;
58305 fra.me.REG[1] = NIT_NULL;
58306 fra.me.REG[2] = NIT_NULL;
58307 fra.me.REG[3] = NIT_NULL;
58308 fra.me.REG[4] = NIT_NULL;
58309 fra.me.REG[5] = NIT_NULL;
58310 fra.me.REG[0] = p0;
58311 fra.me.REG[1] = p1;
58312 fra.me.REG[0] = NIT_NULL;
58313 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58314 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58315 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58316 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58317 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58318 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58319 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58320 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
58321 /* ./parser//parser.nit:22035 */
58322 if (UNTAG_Bool(REGB0)) {
58323 } else {
58324 fprintf(stderr, "Assert failed");
58325 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22035);
58326 nit_exit(1);
58327 }
58328 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
58329 /* ./parser//parser.nit:22037 */
58330 if (UNTAG_Bool(REGB0)) {
58331 } else {
58332 fprintf(stderr, "Assert failed");
58333 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22037);
58334 nit_exit(1);
58335 }
58336 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
58337 /* ./parser//parser.nit:22039 */
58338 if (UNTAG_Bool(REGB0)) {
58339 } else {
58340 fprintf(stderr, "Assert failed");
58341 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22039);
58342 nit_exit(1);
58343 }
58344 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
58345 /* ./parser//parser.nit:22041 */
58346 if (UNTAG_Bool(REGB0)) {
58347 } else {
58348 fprintf(stderr, "Assert failed");
58349 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22041);
58350 nit_exit(1);
58351 }
58352 fra.me.REG[2] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl(NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
58353 fra.me.REG[0] = fra.me.REG[2];
58354 REGB0 = TAG_Int(20);
58355 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58356 /* ./parser//parser.nit:22050 */
58357 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
58358 stack_frame_head = fra.me.prev;
58359 return;
58360 }
58361 void parser___ReduceAction480___init(val_t p0, int* init_table){
58362 int itpos484 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction480].i;
58363 struct {struct stack_frame_t me;} fra;
58364 val_t tmp;
58365 if (init_table[itpos484]) return;
58366 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58367 fra.me.file = LOCATE_parser;
58368 fra.me.line = 22052;
58369 fra.me.meth = LOCATE_parser___ReduceAction480___init;
58370 fra.me.has_broke = 0;
58371 fra.me.REG_size = 1;
58372 fra.me.REG[0] = NIT_NULL;
58373 fra.me.REG[0] = p0;
58374 /* ./parser//parser.nit:22052 */
58375 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
58376 stack_frame_head = fra.me.prev;
58377 init_table[itpos484] = 1;
58378 return;
58379 }
58380 void parser___ReduceAction481___action(val_t p0, val_t p1){
58381 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
58382 val_t REGB0;
58383 val_t tmp;
58384 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58385 fra.me.file = LOCATE_parser;
58386 fra.me.line = 22056;
58387 fra.me.meth = LOCATE_parser___ReduceAction481___action;
58388 fra.me.has_broke = 0;
58389 fra.me.REG_size = 7;
58390 fra.me.REG[0] = NIT_NULL;
58391 fra.me.REG[1] = NIT_NULL;
58392 fra.me.REG[2] = NIT_NULL;
58393 fra.me.REG[3] = NIT_NULL;
58394 fra.me.REG[4] = NIT_NULL;
58395 fra.me.REG[5] = NIT_NULL;
58396 fra.me.REG[6] = NIT_NULL;
58397 fra.me.REG[0] = p0;
58398 fra.me.REG[1] = p1;
58399 fra.me.REG[0] = NIT_NULL;
58400 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58401 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58402 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58403 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58404 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58405 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58406 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58407 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58408 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/;
58409 /* ./parser//parser.nit:22068 */
58410 if (UNTAG_Bool(REGB0)) {
58411 } else {
58412 fprintf(stderr, "Assert failed");
58413 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22068);
58414 nit_exit(1);
58415 }
58416 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
58417 /* ./parser//parser.nit:22070 */
58418 if (UNTAG_Bool(REGB0)) {
58419 } else {
58420 fprintf(stderr, "Assert failed");
58421 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22070);
58422 nit_exit(1);
58423 }
58424 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
58425 /* ./parser//parser.nit:22072 */
58426 if (UNTAG_Bool(REGB0)) {
58427 } else {
58428 fprintf(stderr, "Assert failed");
58429 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22072);
58430 nit_exit(1);
58431 }
58432 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
58433 /* ./parser//parser.nit:22074 */
58434 if (UNTAG_Bool(REGB0)) {
58435 } else {
58436 fprintf(stderr, "Assert failed");
58437 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22074);
58438 nit_exit(1);
58439 }
58440 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
58441 /* ./parser//parser.nit:22076 */
58442 if (UNTAG_Bool(REGB0)) {
58443 } else {
58444 fprintf(stderr, "Assert failed");
58445 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22076);
58446 nit_exit(1);
58447 }
58448 fra.me.REG[2] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
58449 fra.me.REG[0] = fra.me.REG[2];
58450 REGB0 = TAG_Int(20);
58451 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58452 /* ./parser//parser.nit:22085 */
58453 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
58454 stack_frame_head = fra.me.prev;
58455 return;
58456 }
58457 void parser___ReduceAction481___init(val_t p0, int* init_table){
58458 int itpos485 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction481].i;
58459 struct {struct stack_frame_t me;} fra;
58460 val_t tmp;
58461 if (init_table[itpos485]) return;
58462 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58463 fra.me.file = LOCATE_parser;
58464 fra.me.line = 22087;
58465 fra.me.meth = LOCATE_parser___ReduceAction481___init;
58466 fra.me.has_broke = 0;
58467 fra.me.REG_size = 1;
58468 fra.me.REG[0] = NIT_NULL;
58469 fra.me.REG[0] = p0;
58470 /* ./parser//parser.nit:22087 */
58471 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
58472 stack_frame_head = fra.me.prev;
58473 init_table[itpos485] = 1;
58474 return;
58475 }
58476 void parser___ReduceAction482___action(val_t p0, val_t p1){
58477 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
58478 val_t REGB0;
58479 val_t tmp;
58480 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58481 fra.me.file = LOCATE_parser;
58482 fra.me.line = 22091;
58483 fra.me.meth = LOCATE_parser___ReduceAction482___action;
58484 fra.me.has_broke = 0;
58485 fra.me.REG_size = 3;
58486 fra.me.REG[0] = NIT_NULL;
58487 fra.me.REG[1] = NIT_NULL;
58488 fra.me.REG[2] = NIT_NULL;
58489 fra.me.REG[0] = p0;
58490 fra.me.REG[1] = p1;
58491 fra.me.REG[0] = NIT_NULL;
58492 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58493 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
58494 /* ./parser//parser.nit:22096 */
58495 if (UNTAG_Bool(REGB0)) {
58496 } else {
58497 fprintf(stderr, "Assert failed");
58498 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22096);
58499 nit_exit(1);
58500 }
58501 fra.me.REG[2] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr(NIT_NULL, fra.me.REG[2]);
58502 fra.me.REG[0] = fra.me.REG[2];
58503 REGB0 = TAG_Int(21);
58504 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58505 /* ./parser//parser.nit:22102 */
58506 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
58507 stack_frame_head = fra.me.prev;
58508 return;
58509 }
58510 void parser___ReduceAction482___init(val_t p0, int* init_table){
58511 int itpos486 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction482].i;
58512 struct {struct stack_frame_t me;} fra;
58513 val_t tmp;
58514 if (init_table[itpos486]) return;
58515 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58516 fra.me.file = LOCATE_parser;
58517 fra.me.line = 22104;
58518 fra.me.meth = LOCATE_parser___ReduceAction482___init;
58519 fra.me.has_broke = 0;
58520 fra.me.REG_size = 1;
58521 fra.me.REG[0] = NIT_NULL;
58522 fra.me.REG[0] = p0;
58523 /* ./parser//parser.nit:22104 */
58524 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
58525 stack_frame_head = fra.me.prev;
58526 init_table[itpos486] = 1;
58527 return;
58528 }
58529 void parser___ReduceAction483___action(val_t p0, val_t p1){
58530 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
58531 val_t REGB0;
58532 val_t tmp;
58533 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58534 fra.me.file = LOCATE_parser;
58535 fra.me.line = 22108;
58536 fra.me.meth = LOCATE_parser___ReduceAction483___action;
58537 fra.me.has_broke = 0;
58538 fra.me.REG_size = 4;
58539 fra.me.REG[0] = NIT_NULL;
58540 fra.me.REG[1] = NIT_NULL;
58541 fra.me.REG[2] = NIT_NULL;
58542 fra.me.REG[3] = NIT_NULL;
58543 fra.me.REG[0] = p0;
58544 fra.me.REG[1] = p1;
58545 fra.me.REG[0] = NIT_NULL;
58546 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58547 fra.me.REG[3] = NEW_Array_array___Array___init();
58548 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
58549 /* ./parser//parser.nit:22114 */
58550 if (UNTAG_Bool(REGB0)) {
58551 } else {
58552 fprintf(stderr, "Assert failed");
58553 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22114);
58554 nit_exit(1);
58555 }
58556 fra.me.REG[3] = NEW_AType_parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[2], fra.me.REG[3]);
58557 fra.me.REG[0] = fra.me.REG[3];
58558 REGB0 = TAG_Int(22);
58559 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58560 /* ./parser//parser.nit:22121 */
58561 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
58562 stack_frame_head = fra.me.prev;
58563 return;
58564 }
58565 void parser___ReduceAction483___init(val_t p0, int* init_table){
58566 int itpos487 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction483].i;
58567 struct {struct stack_frame_t me;} fra;
58568 val_t tmp;
58569 if (init_table[itpos487]) return;
58570 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58571 fra.me.file = LOCATE_parser;
58572 fra.me.line = 22123;
58573 fra.me.meth = LOCATE_parser___ReduceAction483___init;
58574 fra.me.has_broke = 0;
58575 fra.me.REG_size = 1;
58576 fra.me.REG[0] = NIT_NULL;
58577 fra.me.REG[0] = p0;
58578 /* ./parser//parser.nit:22123 */
58579 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
58580 stack_frame_head = fra.me.prev;
58581 init_table[itpos487] = 1;
58582 return;
58583 }
58584 void parser___ReduceAction484___action(val_t p0, val_t p1){
58585 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
58586 val_t REGB0;
58587 val_t tmp;
58588 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58589 fra.me.file = LOCATE_parser;
58590 fra.me.line = 22127;
58591 fra.me.meth = LOCATE_parser___ReduceAction484___action;
58592 fra.me.has_broke = 0;
58593 fra.me.REG_size = 5;
58594 fra.me.REG[0] = NIT_NULL;
58595 fra.me.REG[1] = NIT_NULL;
58596 fra.me.REG[2] = NIT_NULL;
58597 fra.me.REG[3] = NIT_NULL;
58598 fra.me.REG[4] = NIT_NULL;
58599 fra.me.REG[0] = p0;
58600 fra.me.REG[1] = p1;
58601 fra.me.REG[0] = NIT_NULL;
58602 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58603 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58604 fra.me.REG[4] = NEW_Array_array___Array___init();
58605 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnullable, ID_TKwnullable)) /*cast nullable TKwnullable*/;
58606 /* ./parser//parser.nit:22134 */
58607 if (UNTAG_Bool(REGB0)) {
58608 } else {
58609 fprintf(stderr, "Assert failed");
58610 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22134);
58611 nit_exit(1);
58612 }
58613 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
58614 /* ./parser//parser.nit:22136 */
58615 if (UNTAG_Bool(REGB0)) {
58616 } else {
58617 fprintf(stderr, "Assert failed");
58618 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22136);
58619 nit_exit(1);
58620 }
58621 fra.me.REG[4] = NEW_AType_parser_prod___AType___init_atype(fra.me.REG[3], fra.me.REG[2], fra.me.REG[4]);
58622 fra.me.REG[0] = fra.me.REG[4];
58623 REGB0 = TAG_Int(22);
58624 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58625 /* ./parser//parser.nit:22143 */
58626 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
58627 stack_frame_head = fra.me.prev;
58628 return;
58629 }
58630 void parser___ReduceAction484___init(val_t p0, int* init_table){
58631 int itpos488 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction484].i;
58632 struct {struct stack_frame_t me;} fra;
58633 val_t tmp;
58634 if (init_table[itpos488]) return;
58635 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58636 fra.me.file = LOCATE_parser;
58637 fra.me.line = 22145;
58638 fra.me.meth = LOCATE_parser___ReduceAction484___init;
58639 fra.me.has_broke = 0;
58640 fra.me.REG_size = 1;
58641 fra.me.REG[0] = NIT_NULL;
58642 fra.me.REG[0] = p0;
58643 /* ./parser//parser.nit:22145 */
58644 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
58645 stack_frame_head = fra.me.prev;
58646 init_table[itpos488] = 1;
58647 return;
58648 }
58649 void parser___ReduceAction485___action(val_t p0, val_t p1){
58650 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
58651 val_t REGB0;
58652 val_t tmp;
58653 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58654 fra.me.file = LOCATE_parser;
58655 fra.me.line = 22149;
58656 fra.me.meth = LOCATE_parser___ReduceAction485___action;
58657 fra.me.has_broke = 0;
58658 fra.me.REG_size = 5;
58659 fra.me.REG[0] = NIT_NULL;
58660 fra.me.REG[1] = NIT_NULL;
58661 fra.me.REG[2] = NIT_NULL;
58662 fra.me.REG[3] = NIT_NULL;
58663 fra.me.REG[4] = NIT_NULL;
58664 fra.me.REG[0] = p0;
58665 fra.me.REG[1] = p1;
58666 fra.me.REG[0] = NIT_NULL;
58667 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58668 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58669 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58670 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58671 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58672 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58673 fra.me.REG[4] = NEW_Array_array___Array___init();
58674 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
58675 /* ./parser//parser.nit:22160 */
58676 if (UNTAG_Bool(REGB0)) {
58677 } else {
58678 fprintf(stderr, "Assert failed");
58679 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22160);
58680 nit_exit(1);
58681 }
58682 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
58683 /* ./parser//parser.nit:22162 */
58684 if (UNTAG_Bool(REGB0)) {
58685 } else {
58686 fprintf(stderr, "Assert failed");
58687 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22162);
58688 nit_exit(1);
58689 }
58690 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
58691 /* ./parser//parser.nit:22164 */
58692 if (UNTAG_Bool(REGB0)) {
58693 fra.me.REG[4] = fra.me.REG[2];
58694 /* ./parser//parser.nit:22165 */
58695 } else {
58696 /* ./parser//parser.nit:22167 */
58697 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
58698 }
58699 fra.me.REG[4] = NEW_AType_parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
58700 fra.me.REG[0] = fra.me.REG[4];
58701 REGB0 = TAG_Int(22);
58702 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58703 /* ./parser//parser.nit:22176 */
58704 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
58705 stack_frame_head = fra.me.prev;
58706 return;
58707 }
58708 void parser___ReduceAction485___init(val_t p0, int* init_table){
58709 int itpos489 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction485].i;
58710 struct {struct stack_frame_t me;} fra;
58711 val_t tmp;
58712 if (init_table[itpos489]) return;
58713 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58714 fra.me.file = LOCATE_parser;
58715 fra.me.line = 22178;
58716 fra.me.meth = LOCATE_parser___ReduceAction485___init;
58717 fra.me.has_broke = 0;
58718 fra.me.REG_size = 1;
58719 fra.me.REG[0] = NIT_NULL;
58720 fra.me.REG[0] = p0;
58721 /* ./parser//parser.nit:22178 */
58722 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
58723 stack_frame_head = fra.me.prev;
58724 init_table[itpos489] = 1;
58725 return;
58726 }
58727 void parser___ReduceAction486___action(val_t p0, val_t p1){
58728 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
58729 val_t REGB0;
58730 val_t tmp;
58731 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58732 fra.me.file = LOCATE_parser;
58733 fra.me.line = 22182;
58734 fra.me.meth = LOCATE_parser___ReduceAction486___action;
58735 fra.me.has_broke = 0;
58736 fra.me.REG_size = 6;
58737 fra.me.REG[0] = NIT_NULL;
58738 fra.me.REG[1] = NIT_NULL;
58739 fra.me.REG[2] = NIT_NULL;
58740 fra.me.REG[3] = NIT_NULL;
58741 fra.me.REG[4] = NIT_NULL;
58742 fra.me.REG[5] = NIT_NULL;
58743 fra.me.REG[0] = p0;
58744 fra.me.REG[1] = p1;
58745 fra.me.REG[0] = NIT_NULL;
58746 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58747 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58748 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58749 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58750 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58751 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58752 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58753 fra.me.REG[5] = NEW_Array_array___Array___init();
58754 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwnullable, ID_TKwnullable)) /*cast nullable TKwnullable*/;
58755 /* ./parser//parser.nit:22194 */
58756 if (UNTAG_Bool(REGB0)) {
58757 } else {
58758 fprintf(stderr, "Assert failed");
58759 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22194);
58760 nit_exit(1);
58761 }
58762 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
58763 /* ./parser//parser.nit:22196 */
58764 if (UNTAG_Bool(REGB0)) {
58765 } else {
58766 fprintf(stderr, "Assert failed");
58767 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22196);
58768 nit_exit(1);
58769 }
58770 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
58771 /* ./parser//parser.nit:22198 */
58772 if (UNTAG_Bool(REGB0)) {
58773 } else {
58774 fprintf(stderr, "Assert failed");
58775 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22198);
58776 nit_exit(1);
58777 }
58778 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
58779 /* ./parser//parser.nit:22200 */
58780 if (UNTAG_Bool(REGB0)) {
58781 fra.me.REG[5] = fra.me.REG[2];
58782 /* ./parser//parser.nit:22201 */
58783 } else {
58784 /* ./parser//parser.nit:22203 */
58785 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
58786 }
58787 fra.me.REG[5] = NEW_AType_parser_prod___AType___init_atype(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
58788 fra.me.REG[0] = fra.me.REG[5];
58789 REGB0 = TAG_Int(22);
58790 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58791 /* ./parser//parser.nit:22212 */
58792 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
58793 stack_frame_head = fra.me.prev;
58794 return;
58795 }
58796 void parser___ReduceAction486___init(val_t p0, int* init_table){
58797 int itpos490 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction486].i;
58798 struct {struct stack_frame_t me;} fra;
58799 val_t tmp;
58800 if (init_table[itpos490]) return;
58801 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58802 fra.me.file = LOCATE_parser;
58803 fra.me.line = 22214;
58804 fra.me.meth = LOCATE_parser___ReduceAction486___init;
58805 fra.me.has_broke = 0;
58806 fra.me.REG_size = 1;
58807 fra.me.REG[0] = NIT_NULL;
58808 fra.me.REG[0] = p0;
58809 /* ./parser//parser.nit:22214 */
58810 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
58811 stack_frame_head = fra.me.prev;
58812 init_table[itpos490] = 1;
58813 return;
58814 }
58815 void parser___ReduceAction487___action(val_t p0, val_t p1){
58816 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
58817 val_t REGB0;
58818 val_t REGB1;
58819 val_t tmp;
58820 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58821 fra.me.file = LOCATE_parser;
58822 fra.me.line = 22218;
58823 fra.me.meth = LOCATE_parser___ReduceAction487___action;
58824 fra.me.has_broke = 0;
58825 fra.me.REG_size = 4;
58826 fra.me.REG[0] = NIT_NULL;
58827 fra.me.REG[1] = NIT_NULL;
58828 fra.me.REG[2] = NIT_NULL;
58829 fra.me.REG[3] = NIT_NULL;
58830 fra.me.REG[0] = p0;
58831 fra.me.REG[1] = p1;
58832 fra.me.REG[0] = NIT_NULL;
58833 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58834 fra.me.REG[3] = NEW_Array_array___Array___init();
58835 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
58836 /* ./parser//parser.nit:22224 */
58837 if (UNTAG_Bool(REGB0)) {
58838 } else {
58839 fprintf(stderr, "Assert failed");
58840 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22224);
58841 nit_exit(1);
58842 }
58843 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
58844 /* ./parser//parser.nit:22225 */
58845 if (UNTAG_Bool(REGB0)) {
58846 } else {
58847 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
58848 if (UNTAG_Bool(REGB1)) {
58849 REGB1 = TAG_Bool(false);
58850 REGB0 = REGB1;
58851 } else {
58852 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
58853 REGB0 = REGB1;
58854 }
58855 }
58856 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
58857 if (UNTAG_Bool(REGB0)) {
58858 /* ./parser//parser.nit:22226 */
58859 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
58860 }
58861 fra.me.REG[0] = fra.me.REG[3];
58862 REGB0 = TAG_Int(23);
58863 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58864 /* ./parser//parser.nit:22229 */
58865 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
58866 stack_frame_head = fra.me.prev;
58867 return;
58868 }
58869 void parser___ReduceAction487___init(val_t p0, int* init_table){
58870 int itpos491 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction487].i;
58871 struct {struct stack_frame_t me;} fra;
58872 val_t tmp;
58873 if (init_table[itpos491]) return;
58874 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58875 fra.me.file = LOCATE_parser;
58876 fra.me.line = 22231;
58877 fra.me.meth = LOCATE_parser___ReduceAction487___init;
58878 fra.me.has_broke = 0;
58879 fra.me.REG_size = 1;
58880 fra.me.REG[0] = NIT_NULL;
58881 fra.me.REG[0] = p0;
58882 /* ./parser//parser.nit:22231 */
58883 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
58884 stack_frame_head = fra.me.prev;
58885 init_table[itpos491] = 1;
58886 return;
58887 }
58888 void parser___ReduceAction488___action(val_t p0, val_t p1){
58889 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
58890 val_t REGB0;
58891 val_t REGB1;
58892 val_t tmp;
58893 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58894 fra.me.file = LOCATE_parser;
58895 fra.me.line = 22235;
58896 fra.me.meth = LOCATE_parser___ReduceAction488___action;
58897 fra.me.has_broke = 0;
58898 fra.me.REG_size = 5;
58899 fra.me.REG[0] = NIT_NULL;
58900 fra.me.REG[1] = NIT_NULL;
58901 fra.me.REG[2] = NIT_NULL;
58902 fra.me.REG[3] = NIT_NULL;
58903 fra.me.REG[4] = NIT_NULL;
58904 fra.me.REG[0] = p0;
58905 fra.me.REG[1] = p1;
58906 fra.me.REG[0] = NIT_NULL;
58907 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58908 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58909 fra.me.REG[4] = NEW_Array_array___Array___init();
58910 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
58911 /* ./parser//parser.nit:22242 */
58912 if (UNTAG_Bool(REGB0)) {
58913 } else {
58914 fprintf(stderr, "Assert failed");
58915 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22242);
58916 nit_exit(1);
58917 }
58918 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
58919 /* ./parser//parser.nit:22244 */
58920 if (UNTAG_Bool(REGB0)) {
58921 } else {
58922 fprintf(stderr, "Assert failed");
58923 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22244);
58924 nit_exit(1);
58925 }
58926 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
58927 /* ./parser//parser.nit:22245 */
58928 if (UNTAG_Bool(REGB0)) {
58929 } else {
58930 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
58931 if (UNTAG_Bool(REGB1)) {
58932 REGB1 = TAG_Bool(false);
58933 REGB0 = REGB1;
58934 } else {
58935 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
58936 REGB0 = REGB1;
58937 }
58938 }
58939 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
58940 if (UNTAG_Bool(REGB0)) {
58941 /* ./parser//parser.nit:22246 */
58942 array___Array___add(fra.me.REG[4], fra.me.REG[3]);
58943 }
58944 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
58945 /* ./parser//parser.nit:22249 */
58946 if (UNTAG_Bool(REGB0)) {
58947 fra.me.REG[4] = fra.me.REG[2];
58948 /* ./parser//parser.nit:22250 */
58949 } else {
58950 /* ./parser//parser.nit:22252 */
58951 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
58952 }
58953 fra.me.REG[0] = fra.me.REG[4];
58954 REGB0 = TAG_Int(23);
58955 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
58956 /* ./parser//parser.nit:22256 */
58957 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
58958 stack_frame_head = fra.me.prev;
58959 return;
58960 }
58961 void parser___ReduceAction488___init(val_t p0, int* init_table){
58962 int itpos492 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction488].i;
58963 struct {struct stack_frame_t me;} fra;
58964 val_t tmp;
58965 if (init_table[itpos492]) return;
58966 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58967 fra.me.file = LOCATE_parser;
58968 fra.me.line = 22258;
58969 fra.me.meth = LOCATE_parser___ReduceAction488___init;
58970 fra.me.has_broke = 0;
58971 fra.me.REG_size = 1;
58972 fra.me.REG[0] = NIT_NULL;
58973 fra.me.REG[0] = p0;
58974 /* ./parser//parser.nit:22258 */
58975 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
58976 stack_frame_head = fra.me.prev;
58977 init_table[itpos492] = 1;
58978 return;
58979 }
58980 void parser___ReduceAction489___action(val_t p0, val_t p1){
58981 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
58982 val_t REGB0;
58983 val_t tmp;
58984 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
58985 fra.me.file = LOCATE_parser;
58986 fra.me.line = 22262;
58987 fra.me.meth = LOCATE_parser___ReduceAction489___action;
58988 fra.me.has_broke = 0;
58989 fra.me.REG_size = 4;
58990 fra.me.REG[0] = NIT_NULL;
58991 fra.me.REG[1] = NIT_NULL;
58992 fra.me.REG[2] = NIT_NULL;
58993 fra.me.REG[3] = NIT_NULL;
58994 fra.me.REG[0] = p0;
58995 fra.me.REG[1] = p1;
58996 fra.me.REG[0] = NIT_NULL;
58997 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58998 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
58999 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59000 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
59001 /* ./parser//parser.nit:22269 */
59002 if (UNTAG_Bool(REGB0)) {
59003 } else {
59004 fprintf(stderr, "Assert failed");
59005 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22269);
59006 nit_exit(1);
59007 }
59008 fra.me.REG[0] = fra.me.REG[2];
59009 REGB0 = TAG_Int(24);
59010 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59011 /* ./parser//parser.nit:22271 */
59012 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
59013 stack_frame_head = fra.me.prev;
59014 return;
59015 }
59016 void parser___ReduceAction489___init(val_t p0, int* init_table){
59017 int itpos493 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction489].i;
59018 struct {struct stack_frame_t me;} fra;
59019 val_t tmp;
59020 if (init_table[itpos493]) return;
59021 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59022 fra.me.file = LOCATE_parser;
59023 fra.me.line = 22273;
59024 fra.me.meth = LOCATE_parser___ReduceAction489___init;
59025 fra.me.has_broke = 0;
59026 fra.me.REG_size = 1;
59027 fra.me.REG[0] = NIT_NULL;
59028 fra.me.REG[0] = p0;
59029 /* ./parser//parser.nit:22273 */
59030 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
59031 stack_frame_head = fra.me.prev;
59032 init_table[itpos493] = 1;
59033 return;
59034 }
59035 void parser___ReduceAction490___action(val_t p0, val_t p1){
59036 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
59037 val_t REGB0;
59038 val_t tmp;
59039 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59040 fra.me.file = LOCATE_parser;
59041 fra.me.line = 22277;
59042 fra.me.meth = LOCATE_parser___ReduceAction490___action;
59043 fra.me.has_broke = 0;
59044 fra.me.REG_size = 4;
59045 fra.me.REG[0] = NIT_NULL;
59046 fra.me.REG[1] = NIT_NULL;
59047 fra.me.REG[2] = NIT_NULL;
59048 fra.me.REG[3] = NIT_NULL;
59049 fra.me.REG[0] = p0;
59050 fra.me.REG[1] = p1;
59051 fra.me.REG[0] = NIT_NULL;
59052 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59053 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59054 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59055 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
59056 /* ./parser//parser.nit:22284 */
59057 if (UNTAG_Bool(REGB0)) {
59058 } else {
59059 fprintf(stderr, "Assert failed");
59060 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22284);
59061 nit_exit(1);
59062 }
59063 fra.me.REG[0] = fra.me.REG[2];
59064 REGB0 = TAG_Int(25);
59065 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59066 /* ./parser//parser.nit:22286 */
59067 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
59068 stack_frame_head = fra.me.prev;
59069 return;
59070 }
59071 void parser___ReduceAction490___init(val_t p0, int* init_table){
59072 int itpos494 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction490].i;
59073 struct {struct stack_frame_t me;} fra;
59074 val_t tmp;
59075 if (init_table[itpos494]) return;
59076 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59077 fra.me.file = LOCATE_parser;
59078 fra.me.line = 22288;
59079 fra.me.meth = LOCATE_parser___ReduceAction490___init;
59080 fra.me.has_broke = 0;
59081 fra.me.REG_size = 1;
59082 fra.me.REG[0] = NIT_NULL;
59083 fra.me.REG[0] = p0;
59084 /* ./parser//parser.nit:22288 */
59085 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
59086 stack_frame_head = fra.me.prev;
59087 init_table[itpos494] = 1;
59088 return;
59089 }
59090 void parser___ReduceAction491___action(val_t p0, val_t p1){
59091 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
59092 val_t REGB0;
59093 val_t REGB1;
59094 val_t tmp;
59095 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59096 fra.me.file = LOCATE_parser;
59097 fra.me.line = 22292;
59098 fra.me.meth = LOCATE_parser___ReduceAction491___action;
59099 fra.me.has_broke = 0;
59100 fra.me.REG_size = 4;
59101 fra.me.REG[0] = NIT_NULL;
59102 fra.me.REG[1] = NIT_NULL;
59103 fra.me.REG[2] = NIT_NULL;
59104 fra.me.REG[3] = NIT_NULL;
59105 fra.me.REG[0] = p0;
59106 fra.me.REG[1] = p1;
59107 fra.me.REG[0] = NIT_NULL;
59108 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59109 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59110 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59111 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59112 fra.me.REG[3] = NEW_Array_array___Array___init();
59113 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
59114 /* ./parser//parser.nit:22301 */
59115 if (UNTAG_Bool(REGB0)) {
59116 } else {
59117 fprintf(stderr, "Assert failed");
59118 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22301);
59119 nit_exit(1);
59120 }
59121 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
59122 /* ./parser//parser.nit:22302 */
59123 if (UNTAG_Bool(REGB0)) {
59124 } else {
59125 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
59126 if (UNTAG_Bool(REGB1)) {
59127 REGB1 = TAG_Bool(false);
59128 REGB0 = REGB1;
59129 } else {
59130 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
59131 REGB0 = REGB1;
59132 }
59133 }
59134 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
59135 if (UNTAG_Bool(REGB0)) {
59136 /* ./parser//parser.nit:22303 */
59137 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
59138 }
59139 fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]);
59140 fra.me.REG[0] = fra.me.REG[3];
59141 REGB0 = TAG_Int(26);
59142 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59143 /* ./parser//parser.nit:22309 */
59144 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
59145 stack_frame_head = fra.me.prev;
59146 return;
59147 }
59148 void parser___ReduceAction491___init(val_t p0, int* init_table){
59149 int itpos495 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction491].i;
59150 struct {struct stack_frame_t me;} fra;
59151 val_t tmp;
59152 if (init_table[itpos495]) return;
59153 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59154 fra.me.file = LOCATE_parser;
59155 fra.me.line = 22311;
59156 fra.me.meth = LOCATE_parser___ReduceAction491___init;
59157 fra.me.has_broke = 0;
59158 fra.me.REG_size = 1;
59159 fra.me.REG[0] = NIT_NULL;
59160 fra.me.REG[0] = p0;
59161 /* ./parser//parser.nit:22311 */
59162 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
59163 stack_frame_head = fra.me.prev;
59164 init_table[itpos495] = 1;
59165 return;
59166 }
59167 void parser___ReduceAction492___action(val_t p0, val_t p1){
59168 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
59169 val_t REGB0;
59170 val_t REGB1;
59171 val_t tmp;
59172 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59173 fra.me.file = LOCATE_parser;
59174 fra.me.line = 22315;
59175 fra.me.meth = LOCATE_parser___ReduceAction492___action;
59176 fra.me.has_broke = 0;
59177 fra.me.REG_size = 5;
59178 fra.me.REG[0] = NIT_NULL;
59179 fra.me.REG[1] = NIT_NULL;
59180 fra.me.REG[2] = NIT_NULL;
59181 fra.me.REG[3] = NIT_NULL;
59182 fra.me.REG[4] = NIT_NULL;
59183 fra.me.REG[0] = p0;
59184 fra.me.REG[1] = p1;
59185 fra.me.REG[0] = NIT_NULL;
59186 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59187 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59188 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59189 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59190 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59191 fra.me.REG[4] = NEW_Array_array___Array___init();
59192 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
59193 /* ./parser//parser.nit:22325 */
59194 if (UNTAG_Bool(REGB0)) {
59195 } else {
59196 fprintf(stderr, "Assert failed");
59197 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22325);
59198 nit_exit(1);
59199 }
59200 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
59201 /* ./parser//parser.nit:22327 */
59202 if (UNTAG_Bool(REGB0)) {
59203 } else {
59204 fprintf(stderr, "Assert failed");
59205 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22327);
59206 nit_exit(1);
59207 }
59208 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59209 /* ./parser//parser.nit:22328 */
59210 if (UNTAG_Bool(REGB0)) {
59211 } else {
59212 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
59213 if (UNTAG_Bool(REGB1)) {
59214 REGB1 = TAG_Bool(false);
59215 REGB0 = REGB1;
59216 } else {
59217 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
59218 REGB0 = REGB1;
59219 }
59220 }
59221 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
59222 if (UNTAG_Bool(REGB0)) {
59223 /* ./parser//parser.nit:22329 */
59224 array___Array___add(fra.me.REG[4], fra.me.REG[3]);
59225 }
59226 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
59227 /* ./parser//parser.nit:22332 */
59228 if (UNTAG_Bool(REGB0)) {
59229 fra.me.REG[4] = fra.me.REG[2];
59230 /* ./parser//parser.nit:22333 */
59231 } else {
59232 /* ./parser//parser.nit:22335 */
59233 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
59234 }
59235 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
59236 fra.me.REG[0] = fra.me.REG[4];
59237 REGB0 = TAG_Int(26);
59238 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59239 /* ./parser//parser.nit:22342 */
59240 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
59241 stack_frame_head = fra.me.prev;
59242 return;
59243 }
59244 void parser___ReduceAction492___init(val_t p0, int* init_table){
59245 int itpos496 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction492].i;
59246 struct {struct stack_frame_t me;} fra;
59247 val_t tmp;
59248 if (init_table[itpos496]) return;
59249 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59250 fra.me.file = LOCATE_parser;
59251 fra.me.line = 22344;
59252 fra.me.meth = LOCATE_parser___ReduceAction492___init;
59253 fra.me.has_broke = 0;
59254 fra.me.REG_size = 1;
59255 fra.me.REG[0] = NIT_NULL;
59256 fra.me.REG[0] = p0;
59257 /* ./parser//parser.nit:22344 */
59258 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
59259 stack_frame_head = fra.me.prev;
59260 init_table[itpos496] = 1;
59261 return;
59262 }
59263 void parser___ReduceAction493___action(val_t p0, val_t p1){
59264 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
59265 val_t REGB0;
59266 val_t tmp;
59267 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59268 fra.me.file = LOCATE_parser;
59269 fra.me.line = 22348;
59270 fra.me.meth = LOCATE_parser___ReduceAction493___action;
59271 fra.me.has_broke = 0;
59272 fra.me.REG_size = 3;
59273 fra.me.REG[0] = NIT_NULL;
59274 fra.me.REG[1] = NIT_NULL;
59275 fra.me.REG[2] = NIT_NULL;
59276 fra.me.REG[0] = p0;
59277 fra.me.REG[1] = p1;
59278 fra.me.REG[0] = NIT_NULL;
59279 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59280 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59281 fra.me.REG[2] = NEW_Array_array___Array___init();
59282 fra.me.REG[2] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[2]);
59283 fra.me.REG[0] = fra.me.REG[2];
59284 REGB0 = TAG_Int(26);
59285 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59286 /* ./parser//parser.nit:22358 */
59287 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
59288 stack_frame_head = fra.me.prev;
59289 return;
59290 }
59291 void parser___ReduceAction493___init(val_t p0, int* init_table){
59292 int itpos497 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction493].i;
59293 struct {struct stack_frame_t me;} fra;
59294 val_t tmp;
59295 if (init_table[itpos497]) return;
59296 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59297 fra.me.file = LOCATE_parser;
59298 fra.me.line = 22360;
59299 fra.me.meth = LOCATE_parser___ReduceAction493___init;
59300 fra.me.has_broke = 0;
59301 fra.me.REG_size = 1;
59302 fra.me.REG[0] = NIT_NULL;
59303 fra.me.REG[0] = p0;
59304 /* ./parser//parser.nit:22360 */
59305 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
59306 stack_frame_head = fra.me.prev;
59307 init_table[itpos497] = 1;
59308 return;
59309 }
59310 void parser___ReduceAction494___action(val_t p0, val_t p1){
59311 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
59312 val_t REGB0;
59313 val_t tmp;
59314 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59315 fra.me.file = LOCATE_parser;
59316 fra.me.line = 22364;
59317 fra.me.meth = LOCATE_parser___ReduceAction494___action;
59318 fra.me.has_broke = 0;
59319 fra.me.REG_size = 3;
59320 fra.me.REG[0] = NIT_NULL;
59321 fra.me.REG[1] = NIT_NULL;
59322 fra.me.REG[2] = NIT_NULL;
59323 fra.me.REG[0] = p0;
59324 fra.me.REG[1] = p1;
59325 fra.me.REG[0] = NIT_NULL;
59326 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59327 fra.me.REG[2] = NEW_Array_array___Array___init();
59328 fra.me.REG[2] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[2]);
59329 fra.me.REG[0] = fra.me.REG[2];
59330 REGB0 = TAG_Int(26);
59331 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59332 /* ./parser//parser.nit:22373 */
59333 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
59334 stack_frame_head = fra.me.prev;
59335 return;
59336 }
59337 void parser___ReduceAction494___init(val_t p0, int* init_table){
59338 int itpos498 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction494].i;
59339 struct {struct stack_frame_t me;} fra;
59340 val_t tmp;
59341 if (init_table[itpos498]) return;
59342 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59343 fra.me.file = LOCATE_parser;
59344 fra.me.line = 22375;
59345 fra.me.meth = LOCATE_parser___ReduceAction494___init;
59346 fra.me.has_broke = 0;
59347 fra.me.REG_size = 1;
59348 fra.me.REG[0] = NIT_NULL;
59349 fra.me.REG[0] = p0;
59350 /* ./parser//parser.nit:22375 */
59351 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
59352 stack_frame_head = fra.me.prev;
59353 init_table[itpos498] = 1;
59354 return;
59355 }
59356 void parser___ReduceAction495___action(val_t p0, val_t p1){
59357 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
59358 val_t REGB0;
59359 val_t tmp;
59360 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59361 fra.me.file = LOCATE_parser;
59362 fra.me.line = 22379;
59363 fra.me.meth = LOCATE_parser___ReduceAction495___action;
59364 fra.me.has_broke = 0;
59365 fra.me.REG_size = 3;
59366 fra.me.REG[0] = NIT_NULL;
59367 fra.me.REG[1] = NIT_NULL;
59368 fra.me.REG[2] = NIT_NULL;
59369 fra.me.REG[0] = p0;
59370 fra.me.REG[1] = p1;
59371 fra.me.REG[0] = NIT_NULL;
59372 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59373 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
59374 /* ./parser//parser.nit:22384 */
59375 if (UNTAG_Bool(REGB0)) {
59376 } else {
59377 fprintf(stderr, "Assert failed");
59378 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22384);
59379 nit_exit(1);
59380 }
59381 fra.me.REG[0] = fra.me.REG[2];
59382 REGB0 = TAG_Int(26);
59383 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59384 /* ./parser//parser.nit:22386 */
59385 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
59386 stack_frame_head = fra.me.prev;
59387 return;
59388 }
59389 void parser___ReduceAction495___init(val_t p0, int* init_table){
59390 int itpos499 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction495].i;
59391 struct {struct stack_frame_t me;} fra;
59392 val_t tmp;
59393 if (init_table[itpos499]) return;
59394 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59395 fra.me.file = LOCATE_parser;
59396 fra.me.line = 22388;
59397 fra.me.meth = LOCATE_parser___ReduceAction495___init;
59398 fra.me.has_broke = 0;
59399 fra.me.REG_size = 1;
59400 fra.me.REG[0] = NIT_NULL;
59401 fra.me.REG[0] = p0;
59402 /* ./parser//parser.nit:22388 */
59403 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
59404 stack_frame_head = fra.me.prev;
59405 init_table[itpos499] = 1;
59406 return;
59407 }
59408 void parser___ReduceAction496___action(val_t p0, val_t p1){
59409 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
59410 val_t REGB0;
59411 val_t tmp;
59412 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59413 fra.me.file = LOCATE_parser;
59414 fra.me.line = 22392;
59415 fra.me.meth = LOCATE_parser___ReduceAction496___action;
59416 fra.me.has_broke = 0;
59417 fra.me.REG_size = 4;
59418 fra.me.REG[0] = NIT_NULL;
59419 fra.me.REG[1] = NIT_NULL;
59420 fra.me.REG[2] = NIT_NULL;
59421 fra.me.REG[3] = NIT_NULL;
59422 fra.me.REG[0] = p0;
59423 fra.me.REG[1] = p1;
59424 fra.me.REG[0] = NIT_NULL;
59425 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59426 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59427 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
59428 /* ./parser//parser.nit:22398 */
59429 if (UNTAG_Bool(REGB0)) {
59430 } else {
59431 fprintf(stderr, "Assert failed");
59432 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22398);
59433 nit_exit(1);
59434 }
59435 fra.me.REG[0] = fra.me.REG[2];
59436 REGB0 = TAG_Int(27);
59437 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59438 /* ./parser//parser.nit:22400 */
59439 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
59440 stack_frame_head = fra.me.prev;
59441 return;
59442 }
59443 void parser___ReduceAction496___init(val_t p0, int* init_table){
59444 int itpos500 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction496].i;
59445 struct {struct stack_frame_t me;} fra;
59446 val_t tmp;
59447 if (init_table[itpos500]) return;
59448 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59449 fra.me.file = LOCATE_parser;
59450 fra.me.line = 22402;
59451 fra.me.meth = LOCATE_parser___ReduceAction496___init;
59452 fra.me.has_broke = 0;
59453 fra.me.REG_size = 1;
59454 fra.me.REG[0] = NIT_NULL;
59455 fra.me.REG[0] = p0;
59456 /* ./parser//parser.nit:22402 */
59457 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
59458 stack_frame_head = fra.me.prev;
59459 init_table[itpos500] = 1;
59460 return;
59461 }
59462 void parser___ReduceAction497___action(val_t p0, val_t p1){
59463 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
59464 val_t REGB0;
59465 val_t tmp;
59466 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59467 fra.me.file = LOCATE_parser;
59468 fra.me.line = 22406;
59469 fra.me.meth = LOCATE_parser___ReduceAction497___action;
59470 fra.me.has_broke = 0;
59471 fra.me.REG_size = 3;
59472 fra.me.REG[0] = NIT_NULL;
59473 fra.me.REG[1] = NIT_NULL;
59474 fra.me.REG[2] = NIT_NULL;
59475 fra.me.REG[0] = p0;
59476 fra.me.REG[1] = p1;
59477 fra.me.REG[0] = NIT_NULL;
59478 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59479 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
59480 /* ./parser//parser.nit:22411 */
59481 if (UNTAG_Bool(REGB0)) {
59482 } else {
59483 fprintf(stderr, "Assert failed");
59484 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22411);
59485 nit_exit(1);
59486 }
59487 fra.me.REG[0] = fra.me.REG[2];
59488 REGB0 = TAG_Int(28);
59489 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59490 /* ./parser//parser.nit:22413 */
59491 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
59492 stack_frame_head = fra.me.prev;
59493 return;
59494 }
59495 void parser___ReduceAction497___init(val_t p0, int* init_table){
59496 int itpos501 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction497].i;
59497 struct {struct stack_frame_t me;} fra;
59498 val_t tmp;
59499 if (init_table[itpos501]) return;
59500 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59501 fra.me.file = LOCATE_parser;
59502 fra.me.line = 22415;
59503 fra.me.meth = LOCATE_parser___ReduceAction497___init;
59504 fra.me.has_broke = 0;
59505 fra.me.REG_size = 1;
59506 fra.me.REG[0] = NIT_NULL;
59507 fra.me.REG[0] = p0;
59508 /* ./parser//parser.nit:22415 */
59509 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
59510 stack_frame_head = fra.me.prev;
59511 init_table[itpos501] = 1;
59512 return;
59513 }
59514 void parser___ReduceAction498___action(val_t p0, val_t p1){
59515 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
59516 val_t REGB0;
59517 val_t tmp;
59518 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59519 fra.me.file = LOCATE_parser;
59520 fra.me.line = 22419;
59521 fra.me.meth = LOCATE_parser___ReduceAction498___action;
59522 fra.me.has_broke = 0;
59523 fra.me.REG_size = 3;
59524 fra.me.REG[0] = NIT_NULL;
59525 fra.me.REG[1] = NIT_NULL;
59526 fra.me.REG[2] = NIT_NULL;
59527 fra.me.REG[0] = p0;
59528 fra.me.REG[1] = p1;
59529 fra.me.REG[0] = NIT_NULL;
59530 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59531 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
59532 /* ./parser//parser.nit:22424 */
59533 if (UNTAG_Bool(REGB0)) {
59534 } else {
59535 fprintf(stderr, "Assert failed");
59536 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22424);
59537 nit_exit(1);
59538 }
59539 fra.me.REG[0] = fra.me.REG[2];
59540 REGB0 = TAG_Int(28);
59541 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59542 /* ./parser//parser.nit:22426 */
59543 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
59544 stack_frame_head = fra.me.prev;
59545 return;
59546 }
59547 void parser___ReduceAction498___init(val_t p0, int* init_table){
59548 int itpos502 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction498].i;
59549 struct {struct stack_frame_t me;} fra;
59550 val_t tmp;
59551 if (init_table[itpos502]) return;
59552 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59553 fra.me.file = LOCATE_parser;
59554 fra.me.line = 22428;
59555 fra.me.meth = LOCATE_parser___ReduceAction498___init;
59556 fra.me.has_broke = 0;
59557 fra.me.REG_size = 1;
59558 fra.me.REG[0] = NIT_NULL;
59559 fra.me.REG[0] = p0;
59560 /* ./parser//parser.nit:22428 */
59561 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
59562 stack_frame_head = fra.me.prev;
59563 init_table[itpos502] = 1;
59564 return;
59565 }
59566 void parser___ReduceAction499___action(val_t p0, val_t p1){
59567 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
59568 val_t REGB0;
59569 val_t tmp;
59570 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59571 fra.me.file = LOCATE_parser;
59572 fra.me.line = 22432;
59573 fra.me.meth = LOCATE_parser___ReduceAction499___action;
59574 fra.me.has_broke = 0;
59575 fra.me.REG_size = 3;
59576 fra.me.REG[0] = NIT_NULL;
59577 fra.me.REG[1] = NIT_NULL;
59578 fra.me.REG[2] = NIT_NULL;
59579 fra.me.REG[0] = p0;
59580 fra.me.REG[1] = p1;
59581 fra.me.REG[0] = NIT_NULL;
59582 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59583 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwreturn, ID_TKwreturn)) /*cast nullable TKwreturn*/;
59584 /* ./parser//parser.nit:22437 */
59585 if (UNTAG_Bool(REGB0)) {
59586 } else {
59587 fprintf(stderr, "Assert failed");
59588 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22437);
59589 nit_exit(1);
59590 }
59591 fra.me.REG[2] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[2], NIT_NULL);
59592 fra.me.REG[0] = fra.me.REG[2];
59593 REGB0 = TAG_Int(28);
59594 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59595 /* ./parser//parser.nit:22443 */
59596 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
59597 stack_frame_head = fra.me.prev;
59598 return;
59599 }
59600 void parser___ReduceAction499___init(val_t p0, int* init_table){
59601 int itpos503 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction499].i;
59602 struct {struct stack_frame_t me;} fra;
59603 val_t tmp;
59604 if (init_table[itpos503]) return;
59605 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59606 fra.me.file = LOCATE_parser;
59607 fra.me.line = 22445;
59608 fra.me.meth = LOCATE_parser___ReduceAction499___init;
59609 fra.me.has_broke = 0;
59610 fra.me.REG_size = 1;
59611 fra.me.REG[0] = NIT_NULL;
59612 fra.me.REG[0] = p0;
59613 /* ./parser//parser.nit:22445 */
59614 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
59615 stack_frame_head = fra.me.prev;
59616 init_table[itpos503] = 1;
59617 return;
59618 }
59619 void parser___ReduceAction500___action(val_t p0, val_t p1){
59620 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
59621 val_t REGB0;
59622 val_t tmp;
59623 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59624 fra.me.file = LOCATE_parser;
59625 fra.me.line = 22449;
59626 fra.me.meth = LOCATE_parser___ReduceAction500___action;
59627 fra.me.has_broke = 0;
59628 fra.me.REG_size = 4;
59629 fra.me.REG[0] = NIT_NULL;
59630 fra.me.REG[1] = NIT_NULL;
59631 fra.me.REG[2] = NIT_NULL;
59632 fra.me.REG[3] = NIT_NULL;
59633 fra.me.REG[0] = p0;
59634 fra.me.REG[1] = p1;
59635 fra.me.REG[0] = NIT_NULL;
59636 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59637 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59638 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwreturn, ID_TKwreturn)) /*cast nullable TKwreturn*/;
59639 /* ./parser//parser.nit:22455 */
59640 if (UNTAG_Bool(REGB0)) {
59641 } else {
59642 fprintf(stderr, "Assert failed");
59643 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22455);
59644 nit_exit(1);
59645 }
59646 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
59647 /* ./parser//parser.nit:22457 */
59648 if (UNTAG_Bool(REGB0)) {
59649 } else {
59650 fprintf(stderr, "Assert failed");
59651 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22457);
59652 nit_exit(1);
59653 }
59654 fra.me.REG[2] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[3], fra.me.REG[2]);
59655 fra.me.REG[0] = fra.me.REG[2];
59656 REGB0 = TAG_Int(28);
59657 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59658 /* ./parser//parser.nit:22463 */
59659 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
59660 stack_frame_head = fra.me.prev;
59661 return;
59662 }
59663 void parser___ReduceAction500___init(val_t p0, int* init_table){
59664 int itpos504 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction500].i;
59665 struct {struct stack_frame_t me;} fra;
59666 val_t tmp;
59667 if (init_table[itpos504]) return;
59668 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59669 fra.me.file = LOCATE_parser;
59670 fra.me.line = 22465;
59671 fra.me.meth = LOCATE_parser___ReduceAction500___init;
59672 fra.me.has_broke = 0;
59673 fra.me.REG_size = 1;
59674 fra.me.REG[0] = NIT_NULL;
59675 fra.me.REG[0] = p0;
59676 /* ./parser//parser.nit:22465 */
59677 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
59678 stack_frame_head = fra.me.prev;
59679 init_table[itpos504] = 1;
59680 return;
59681 }
59682 void parser___ReduceAction501___action(val_t p0, val_t p1){
59683 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
59684 val_t REGB0;
59685 val_t tmp;
59686 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59687 fra.me.file = LOCATE_parser;
59688 fra.me.line = 22469;
59689 fra.me.meth = LOCATE_parser___ReduceAction501___action;
59690 fra.me.has_broke = 0;
59691 fra.me.REG_size = 3;
59692 fra.me.REG[0] = NIT_NULL;
59693 fra.me.REG[1] = NIT_NULL;
59694 fra.me.REG[2] = NIT_NULL;
59695 fra.me.REG[0] = p0;
59696 fra.me.REG[1] = p1;
59697 fra.me.REG[0] = NIT_NULL;
59698 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59699 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/;
59700 /* ./parser//parser.nit:22474 */
59701 if (UNTAG_Bool(REGB0)) {
59702 } else {
59703 fprintf(stderr, "Assert failed");
59704 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22474);
59705 nit_exit(1);
59706 }
59707 fra.me.REG[2] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[2], NIT_NULL, NIT_NULL);
59708 fra.me.REG[0] = fra.me.REG[2];
59709 REGB0 = TAG_Int(28);
59710 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59711 /* ./parser//parser.nit:22481 */
59712 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
59713 stack_frame_head = fra.me.prev;
59714 return;
59715 }
59716 void parser___ReduceAction501___init(val_t p0, int* init_table){
59717 int itpos505 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction501].i;
59718 struct {struct stack_frame_t me;} fra;
59719 val_t tmp;
59720 if (init_table[itpos505]) return;
59721 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59722 fra.me.file = LOCATE_parser;
59723 fra.me.line = 22483;
59724 fra.me.meth = LOCATE_parser___ReduceAction501___init;
59725 fra.me.has_broke = 0;
59726 fra.me.REG_size = 1;
59727 fra.me.REG[0] = NIT_NULL;
59728 fra.me.REG[0] = p0;
59729 /* ./parser//parser.nit:22483 */
59730 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
59731 stack_frame_head = fra.me.prev;
59732 init_table[itpos505] = 1;
59733 return;
59734 }
59735 void parser___ReduceAction502___action(val_t p0, val_t p1){
59736 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
59737 val_t REGB0;
59738 val_t tmp;
59739 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59740 fra.me.file = LOCATE_parser;
59741 fra.me.line = 22487;
59742 fra.me.meth = LOCATE_parser___ReduceAction502___action;
59743 fra.me.has_broke = 0;
59744 fra.me.REG_size = 4;
59745 fra.me.REG[0] = NIT_NULL;
59746 fra.me.REG[1] = NIT_NULL;
59747 fra.me.REG[2] = NIT_NULL;
59748 fra.me.REG[3] = NIT_NULL;
59749 fra.me.REG[0] = p0;
59750 fra.me.REG[1] = p1;
59751 fra.me.REG[0] = NIT_NULL;
59752 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59753 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59754 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/;
59755 /* ./parser//parser.nit:22493 */
59756 if (UNTAG_Bool(REGB0)) {
59757 } else {
59758 fprintf(stderr, "Assert failed");
59759 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22493);
59760 nit_exit(1);
59761 }
59762 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
59763 /* ./parser//parser.nit:22495 */
59764 if (UNTAG_Bool(REGB0)) {
59765 } else {
59766 fprintf(stderr, "Assert failed");
59767 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22495);
59768 nit_exit(1);
59769 }
59770 fra.me.REG[2] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL);
59771 fra.me.REG[0] = fra.me.REG[2];
59772 REGB0 = TAG_Int(28);
59773 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59774 /* ./parser//parser.nit:22502 */
59775 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
59776 stack_frame_head = fra.me.prev;
59777 return;
59778 }
59779 void parser___ReduceAction502___init(val_t p0, int* init_table){
59780 int itpos506 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction502].i;
59781 struct {struct stack_frame_t me;} fra;
59782 val_t tmp;
59783 if (init_table[itpos506]) return;
59784 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59785 fra.me.file = LOCATE_parser;
59786 fra.me.line = 22504;
59787 fra.me.meth = LOCATE_parser___ReduceAction502___init;
59788 fra.me.has_broke = 0;
59789 fra.me.REG_size = 1;
59790 fra.me.REG[0] = NIT_NULL;
59791 fra.me.REG[0] = p0;
59792 /* ./parser//parser.nit:22504 */
59793 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
59794 stack_frame_head = fra.me.prev;
59795 init_table[itpos506] = 1;
59796 return;
59797 }
59798 void parser___ReduceAction503___action(val_t p0, val_t p1){
59799 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
59800 val_t REGB0;
59801 val_t tmp;
59802 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59803 fra.me.file = LOCATE_parser;
59804 fra.me.line = 22508;
59805 fra.me.meth = LOCATE_parser___ReduceAction503___action;
59806 fra.me.has_broke = 0;
59807 fra.me.REG_size = 4;
59808 fra.me.REG[0] = NIT_NULL;
59809 fra.me.REG[1] = NIT_NULL;
59810 fra.me.REG[2] = NIT_NULL;
59811 fra.me.REG[3] = NIT_NULL;
59812 fra.me.REG[0] = p0;
59813 fra.me.REG[1] = p1;
59814 fra.me.REG[0] = NIT_NULL;
59815 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59816 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59817 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/;
59818 /* ./parser//parser.nit:22514 */
59819 if (UNTAG_Bool(REGB0)) {
59820 } else {
59821 fprintf(stderr, "Assert failed");
59822 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22514);
59823 nit_exit(1);
59824 }
59825 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
59826 /* ./parser//parser.nit:22516 */
59827 if (UNTAG_Bool(REGB0)) {
59828 } else {
59829 fprintf(stderr, "Assert failed");
59830 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22516);
59831 nit_exit(1);
59832 }
59833 fra.me.REG[2] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
59834 fra.me.REG[0] = fra.me.REG[2];
59835 REGB0 = TAG_Int(28);
59836 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59837 /* ./parser//parser.nit:22523 */
59838 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
59839 stack_frame_head = fra.me.prev;
59840 return;
59841 }
59842 void parser___ReduceAction503___init(val_t p0, int* init_table){
59843 int itpos507 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction503].i;
59844 struct {struct stack_frame_t me;} fra;
59845 val_t tmp;
59846 if (init_table[itpos507]) return;
59847 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59848 fra.me.file = LOCATE_parser;
59849 fra.me.line = 22525;
59850 fra.me.meth = LOCATE_parser___ReduceAction503___init;
59851 fra.me.has_broke = 0;
59852 fra.me.REG_size = 1;
59853 fra.me.REG[0] = NIT_NULL;
59854 fra.me.REG[0] = p0;
59855 /* ./parser//parser.nit:22525 */
59856 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
59857 stack_frame_head = fra.me.prev;
59858 init_table[itpos507] = 1;
59859 return;
59860 }
59861 void parser___ReduceAction504___action(val_t p0, val_t p1){
59862 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
59863 val_t REGB0;
59864 val_t tmp;
59865 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59866 fra.me.file = LOCATE_parser;
59867 fra.me.line = 22529;
59868 fra.me.meth = LOCATE_parser___ReduceAction504___action;
59869 fra.me.has_broke = 0;
59870 fra.me.REG_size = 5;
59871 fra.me.REG[0] = NIT_NULL;
59872 fra.me.REG[1] = NIT_NULL;
59873 fra.me.REG[2] = NIT_NULL;
59874 fra.me.REG[3] = NIT_NULL;
59875 fra.me.REG[4] = NIT_NULL;
59876 fra.me.REG[0] = p0;
59877 fra.me.REG[1] = p1;
59878 fra.me.REG[0] = NIT_NULL;
59879 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59880 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59881 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59882 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/;
59883 /* ./parser//parser.nit:22536 */
59884 if (UNTAG_Bool(REGB0)) {
59885 } else {
59886 fprintf(stderr, "Assert failed");
59887 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22536);
59888 nit_exit(1);
59889 }
59890 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
59891 /* ./parser//parser.nit:22538 */
59892 if (UNTAG_Bool(REGB0)) {
59893 } else {
59894 fprintf(stderr, "Assert failed");
59895 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22538);
59896 nit_exit(1);
59897 }
59898 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
59899 /* ./parser//parser.nit:22540 */
59900 if (UNTAG_Bool(REGB0)) {
59901 } else {
59902 fprintf(stderr, "Assert failed");
59903 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22540);
59904 nit_exit(1);
59905 }
59906 fra.me.REG[2] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
59907 fra.me.REG[0] = fra.me.REG[2];
59908 REGB0 = TAG_Int(28);
59909 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59910 /* ./parser//parser.nit:22547 */
59911 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
59912 stack_frame_head = fra.me.prev;
59913 return;
59914 }
59915 void parser___ReduceAction504___init(val_t p0, int* init_table){
59916 int itpos508 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction504].i;
59917 struct {struct stack_frame_t me;} fra;
59918 val_t tmp;
59919 if (init_table[itpos508]) return;
59920 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59921 fra.me.file = LOCATE_parser;
59922 fra.me.line = 22549;
59923 fra.me.meth = LOCATE_parser___ReduceAction504___init;
59924 fra.me.has_broke = 0;
59925 fra.me.REG_size = 1;
59926 fra.me.REG[0] = NIT_NULL;
59927 fra.me.REG[0] = p0;
59928 /* ./parser//parser.nit:22549 */
59929 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
59930 stack_frame_head = fra.me.prev;
59931 init_table[itpos508] = 1;
59932 return;
59933 }
59934 void parser___ReduceAction505___action(val_t p0, val_t p1){
59935 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
59936 val_t REGB0;
59937 val_t tmp;
59938 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59939 fra.me.file = LOCATE_parser;
59940 fra.me.line = 22553;
59941 fra.me.meth = LOCATE_parser___ReduceAction505___action;
59942 fra.me.has_broke = 0;
59943 fra.me.REG_size = 3;
59944 fra.me.REG[0] = NIT_NULL;
59945 fra.me.REG[1] = NIT_NULL;
59946 fra.me.REG[2] = NIT_NULL;
59947 fra.me.REG[0] = p0;
59948 fra.me.REG[1] = p1;
59949 fra.me.REG[0] = NIT_NULL;
59950 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
59951 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwabort, ID_TKwabort)) /*cast nullable TKwabort*/;
59952 /* ./parser//parser.nit:22558 */
59953 if (UNTAG_Bool(REGB0)) {
59954 } else {
59955 fprintf(stderr, "Assert failed");
59956 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22558);
59957 nit_exit(1);
59958 }
59959 fra.me.REG[2] = NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr(fra.me.REG[2]);
59960 fra.me.REG[0] = fra.me.REG[2];
59961 REGB0 = TAG_Int(28);
59962 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
59963 /* ./parser//parser.nit:22563 */
59964 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
59965 stack_frame_head = fra.me.prev;
59966 return;
59967 }
59968 void parser___ReduceAction505___init(val_t p0, int* init_table){
59969 int itpos509 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction505].i;
59970 struct {struct stack_frame_t me;} fra;
59971 val_t tmp;
59972 if (init_table[itpos509]) return;
59973 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59974 fra.me.file = LOCATE_parser;
59975 fra.me.line = 22565;
59976 fra.me.meth = LOCATE_parser___ReduceAction505___init;
59977 fra.me.has_broke = 0;
59978 fra.me.REG_size = 1;
59979 fra.me.REG[0] = NIT_NULL;
59980 fra.me.REG[0] = p0;
59981 /* ./parser//parser.nit:22565 */
59982 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
59983 stack_frame_head = fra.me.prev;
59984 init_table[itpos509] = 1;
59985 return;
59986 }
59987 void parser___ReduceAction506___action(val_t p0, val_t p1){
59988 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
59989 val_t REGB0;
59990 val_t tmp;
59991 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59992 fra.me.file = LOCATE_parser;
59993 fra.me.line = 22569;
59994 fra.me.meth = LOCATE_parser___ReduceAction506___action;
59995 fra.me.has_broke = 0;
59996 fra.me.REG_size = 3;
59997 fra.me.REG[0] = NIT_NULL;
59998 fra.me.REG[1] = NIT_NULL;
59999 fra.me.REG[2] = NIT_NULL;
60000 fra.me.REG[0] = p0;
60001 fra.me.REG[1] = p1;
60002 fra.me.REG[0] = NIT_NULL;
60003 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60004 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast nullable TKwcontinue*/;
60005 /* ./parser//parser.nit:22574 */
60006 if (UNTAG_Bool(REGB0)) {
60007 } else {
60008 fprintf(stderr, "Assert failed");
60009 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22574);
60010 nit_exit(1);
60011 }
60012 fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[2], NIT_NULL, NIT_NULL);
60013 fra.me.REG[0] = fra.me.REG[2];
60014 REGB0 = TAG_Int(28);
60015 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60016 /* ./parser//parser.nit:22581 */
60017 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
60018 stack_frame_head = fra.me.prev;
60019 return;
60020 }
60021 void parser___ReduceAction506___init(val_t p0, int* init_table){
60022 int itpos510 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction506].i;
60023 struct {struct stack_frame_t me;} fra;
60024 val_t tmp;
60025 if (init_table[itpos510]) return;
60026 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60027 fra.me.file = LOCATE_parser;
60028 fra.me.line = 22583;
60029 fra.me.meth = LOCATE_parser___ReduceAction506___init;
60030 fra.me.has_broke = 0;
60031 fra.me.REG_size = 1;
60032 fra.me.REG[0] = NIT_NULL;
60033 fra.me.REG[0] = p0;
60034 /* ./parser//parser.nit:22583 */
60035 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
60036 stack_frame_head = fra.me.prev;
60037 init_table[itpos510] = 1;
60038 return;
60039 }
60040 void parser___ReduceAction507___action(val_t p0, val_t p1){
60041 struct {struct stack_frame_t me; val_t MORE_REG[3];} 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 = 22587;
60047 fra.me.meth = LOCATE_parser___ReduceAction507___action;
60048 fra.me.has_broke = 0;
60049 fra.me.REG_size = 4;
60050 fra.me.REG[0] = NIT_NULL;
60051 fra.me.REG[1] = NIT_NULL;
60052 fra.me.REG[2] = NIT_NULL;
60053 fra.me.REG[3] = NIT_NULL;
60054 fra.me.REG[0] = p0;
60055 fra.me.REG[1] = p1;
60056 fra.me.REG[0] = NIT_NULL;
60057 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60058 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60059 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast nullable TKwcontinue*/;
60060 /* ./parser//parser.nit:22593 */
60061 if (UNTAG_Bool(REGB0)) {
60062 } else {
60063 fprintf(stderr, "Assert failed");
60064 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22593);
60065 nit_exit(1);
60066 }
60067 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
60068 /* ./parser//parser.nit:22595 */
60069 if (UNTAG_Bool(REGB0)) {
60070 } else {
60071 fprintf(stderr, "Assert failed");
60072 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22595);
60073 nit_exit(1);
60074 }
60075 fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL);
60076 fra.me.REG[0] = fra.me.REG[2];
60077 REGB0 = TAG_Int(28);
60078 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60079 /* ./parser//parser.nit:22602 */
60080 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
60081 stack_frame_head = fra.me.prev;
60082 return;
60083 }
60084 void parser___ReduceAction507___init(val_t p0, int* init_table){
60085 int itpos511 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction507].i;
60086 struct {struct stack_frame_t me;} fra;
60087 val_t tmp;
60088 if (init_table[itpos511]) return;
60089 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60090 fra.me.file = LOCATE_parser;
60091 fra.me.line = 22604;
60092 fra.me.meth = LOCATE_parser___ReduceAction507___init;
60093 fra.me.has_broke = 0;
60094 fra.me.REG_size = 1;
60095 fra.me.REG[0] = NIT_NULL;
60096 fra.me.REG[0] = p0;
60097 /* ./parser//parser.nit:22604 */
60098 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
60099 stack_frame_head = fra.me.prev;
60100 init_table[itpos511] = 1;
60101 return;
60102 }
60103 void parser___ReduceAction508___action(val_t p0, val_t p1){
60104 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
60105 val_t REGB0;
60106 val_t tmp;
60107 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60108 fra.me.file = LOCATE_parser;
60109 fra.me.line = 22608;
60110 fra.me.meth = LOCATE_parser___ReduceAction508___action;
60111 fra.me.has_broke = 0;
60112 fra.me.REG_size = 4;
60113 fra.me.REG[0] = NIT_NULL;
60114 fra.me.REG[1] = NIT_NULL;
60115 fra.me.REG[2] = NIT_NULL;
60116 fra.me.REG[3] = NIT_NULL;
60117 fra.me.REG[0] = p0;
60118 fra.me.REG[1] = p1;
60119 fra.me.REG[0] = NIT_NULL;
60120 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60121 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60122 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast nullable TKwcontinue*/;
60123 /* ./parser//parser.nit:22614 */
60124 if (UNTAG_Bool(REGB0)) {
60125 } else {
60126 fprintf(stderr, "Assert failed");
60127 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22614);
60128 nit_exit(1);
60129 }
60130 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
60131 /* ./parser//parser.nit:22616 */
60132 if (UNTAG_Bool(REGB0)) {
60133 } else {
60134 fprintf(stderr, "Assert failed");
60135 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22616);
60136 nit_exit(1);
60137 }
60138 fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
60139 fra.me.REG[0] = fra.me.REG[2];
60140 REGB0 = TAG_Int(28);
60141 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60142 /* ./parser//parser.nit:22623 */
60143 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
60144 stack_frame_head = fra.me.prev;
60145 return;
60146 }
60147 void parser___ReduceAction508___init(val_t p0, int* init_table){
60148 int itpos512 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction508].i;
60149 struct {struct stack_frame_t me;} fra;
60150 val_t tmp;
60151 if (init_table[itpos512]) return;
60152 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60153 fra.me.file = LOCATE_parser;
60154 fra.me.line = 22625;
60155 fra.me.meth = LOCATE_parser___ReduceAction508___init;
60156 fra.me.has_broke = 0;
60157 fra.me.REG_size = 1;
60158 fra.me.REG[0] = NIT_NULL;
60159 fra.me.REG[0] = p0;
60160 /* ./parser//parser.nit:22625 */
60161 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
60162 stack_frame_head = fra.me.prev;
60163 init_table[itpos512] = 1;
60164 return;
60165 }
60166 void parser___ReduceAction509___action(val_t p0, val_t p1){
60167 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
60168 val_t REGB0;
60169 val_t tmp;
60170 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60171 fra.me.file = LOCATE_parser;
60172 fra.me.line = 22629;
60173 fra.me.meth = LOCATE_parser___ReduceAction509___action;
60174 fra.me.has_broke = 0;
60175 fra.me.REG_size = 5;
60176 fra.me.REG[0] = NIT_NULL;
60177 fra.me.REG[1] = NIT_NULL;
60178 fra.me.REG[2] = NIT_NULL;
60179 fra.me.REG[3] = NIT_NULL;
60180 fra.me.REG[4] = NIT_NULL;
60181 fra.me.REG[0] = p0;
60182 fra.me.REG[1] = p1;
60183 fra.me.REG[0] = NIT_NULL;
60184 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60185 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60186 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60187 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast nullable TKwcontinue*/;
60188 /* ./parser//parser.nit:22636 */
60189 if (UNTAG_Bool(REGB0)) {
60190 } else {
60191 fprintf(stderr, "Assert failed");
60192 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22636);
60193 nit_exit(1);
60194 }
60195 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
60196 /* ./parser//parser.nit:22638 */
60197 if (UNTAG_Bool(REGB0)) {
60198 } else {
60199 fprintf(stderr, "Assert failed");
60200 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22638);
60201 nit_exit(1);
60202 }
60203 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
60204 /* ./parser//parser.nit:22640 */
60205 if (UNTAG_Bool(REGB0)) {
60206 } else {
60207 fprintf(stderr, "Assert failed");
60208 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22640);
60209 nit_exit(1);
60210 }
60211 fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
60212 fra.me.REG[0] = fra.me.REG[2];
60213 REGB0 = TAG_Int(28);
60214 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60215 /* ./parser//parser.nit:22647 */
60216 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
60217 stack_frame_head = fra.me.prev;
60218 return;
60219 }
60220 void parser___ReduceAction509___init(val_t p0, int* init_table){
60221 int itpos513 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction509].i;
60222 struct {struct stack_frame_t me;} fra;
60223 val_t tmp;
60224 if (init_table[itpos513]) return;
60225 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60226 fra.me.file = LOCATE_parser;
60227 fra.me.line = 22649;
60228 fra.me.meth = LOCATE_parser___ReduceAction509___init;
60229 fra.me.has_broke = 0;
60230 fra.me.REG_size = 1;
60231 fra.me.REG[0] = NIT_NULL;
60232 fra.me.REG[0] = p0;
60233 /* ./parser//parser.nit:22649 */
60234 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
60235 stack_frame_head = fra.me.prev;
60236 init_table[itpos513] = 1;
60237 return;
60238 }
60239 void parser___ReduceAction510___action(val_t p0, val_t p1){
60240 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
60241 val_t REGB0;
60242 val_t tmp;
60243 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60244 fra.me.file = LOCATE_parser;
60245 fra.me.line = 22653;
60246 fra.me.meth = LOCATE_parser___ReduceAction510___action;
60247 fra.me.has_broke = 0;
60248 fra.me.REG_size = 3;
60249 fra.me.REG[0] = NIT_NULL;
60250 fra.me.REG[1] = NIT_NULL;
60251 fra.me.REG[2] = NIT_NULL;
60252 fra.me.REG[0] = p0;
60253 fra.me.REG[1] = p1;
60254 fra.me.REG[0] = NIT_NULL;
60255 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60256 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
60257 /* ./parser//parser.nit:22658 */
60258 if (UNTAG_Bool(REGB0)) {
60259 } else {
60260 fprintf(stderr, "Assert failed");
60261 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22658);
60262 nit_exit(1);
60263 }
60264 fra.me.REG[0] = fra.me.REG[2];
60265 REGB0 = TAG_Int(28);
60266 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60267 /* ./parser//parser.nit:22660 */
60268 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
60269 stack_frame_head = fra.me.prev;
60270 return;
60271 }
60272 void parser___ReduceAction510___init(val_t p0, int* init_table){
60273 int itpos514 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction510].i;
60274 struct {struct stack_frame_t me;} fra;
60275 val_t tmp;
60276 if (init_table[itpos514]) return;
60277 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60278 fra.me.file = LOCATE_parser;
60279 fra.me.line = 22662;
60280 fra.me.meth = LOCATE_parser___ReduceAction510___init;
60281 fra.me.has_broke = 0;
60282 fra.me.REG_size = 1;
60283 fra.me.REG[0] = NIT_NULL;
60284 fra.me.REG[0] = p0;
60285 /* ./parser//parser.nit:22662 */
60286 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
60287 stack_frame_head = fra.me.prev;
60288 init_table[itpos514] = 1;
60289 return;
60290 }
60291 void parser___ReduceAction511___action(val_t p0, val_t p1){
60292 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
60293 val_t REGB0;
60294 val_t tmp;
60295 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60296 fra.me.file = LOCATE_parser;
60297 fra.me.line = 22666;
60298 fra.me.meth = LOCATE_parser___ReduceAction511___action;
60299 fra.me.has_broke = 0;
60300 fra.me.REG_size = 3;
60301 fra.me.REG[0] = NIT_NULL;
60302 fra.me.REG[1] = NIT_NULL;
60303 fra.me.REG[2] = NIT_NULL;
60304 fra.me.REG[0] = p0;
60305 fra.me.REG[1] = p1;
60306 fra.me.REG[0] = NIT_NULL;
60307 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60308 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
60309 /* ./parser//parser.nit:22671 */
60310 if (UNTAG_Bool(REGB0)) {
60311 } else {
60312 fprintf(stderr, "Assert failed");
60313 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22671);
60314 nit_exit(1);
60315 }
60316 fra.me.REG[0] = fra.me.REG[2];
60317 REGB0 = TAG_Int(28);
60318 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60319 /* ./parser//parser.nit:22673 */
60320 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
60321 stack_frame_head = fra.me.prev;
60322 return;
60323 }
60324 void parser___ReduceAction511___init(val_t p0, int* init_table){
60325 int itpos515 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction511].i;
60326 struct {struct stack_frame_t me;} fra;
60327 val_t tmp;
60328 if (init_table[itpos515]) return;
60329 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60330 fra.me.file = LOCATE_parser;
60331 fra.me.line = 22675;
60332 fra.me.meth = LOCATE_parser___ReduceAction511___init;
60333 fra.me.has_broke = 0;
60334 fra.me.REG_size = 1;
60335 fra.me.REG[0] = NIT_NULL;
60336 fra.me.REG[0] = p0;
60337 /* ./parser//parser.nit:22675 */
60338 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
60339 stack_frame_head = fra.me.prev;
60340 init_table[itpos515] = 1;
60341 return;
60342 }
60343 void parser___ReduceAction512___action(val_t p0, val_t p1){
60344 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
60345 val_t REGB0;
60346 val_t tmp;
60347 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60348 fra.me.file = LOCATE_parser;
60349 fra.me.line = 22679;
60350 fra.me.meth = LOCATE_parser___ReduceAction512___action;
60351 fra.me.has_broke = 0;
60352 fra.me.REG_size = 3;
60353 fra.me.REG[0] = NIT_NULL;
60354 fra.me.REG[1] = NIT_NULL;
60355 fra.me.REG[2] = NIT_NULL;
60356 fra.me.REG[0] = p0;
60357 fra.me.REG[1] = p1;
60358 fra.me.REG[0] = NIT_NULL;
60359 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60360 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
60361 /* ./parser//parser.nit:22684 */
60362 if (UNTAG_Bool(REGB0)) {
60363 } else {
60364 fprintf(stderr, "Assert failed");
60365 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22684);
60366 nit_exit(1);
60367 }
60368 fra.me.REG[0] = fra.me.REG[2];
60369 REGB0 = TAG_Int(28);
60370 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60371 /* ./parser//parser.nit:22686 */
60372 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
60373 stack_frame_head = fra.me.prev;
60374 return;
60375 }
60376 void parser___ReduceAction512___init(val_t p0, int* init_table){
60377 int itpos516 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction512].i;
60378 struct {struct stack_frame_t me;} fra;
60379 val_t tmp;
60380 if (init_table[itpos516]) return;
60381 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60382 fra.me.file = LOCATE_parser;
60383 fra.me.line = 22688;
60384 fra.me.meth = LOCATE_parser___ReduceAction512___init;
60385 fra.me.has_broke = 0;
60386 fra.me.REG_size = 1;
60387 fra.me.REG[0] = NIT_NULL;
60388 fra.me.REG[0] = p0;
60389 /* ./parser//parser.nit:22688 */
60390 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
60391 stack_frame_head = fra.me.prev;
60392 init_table[itpos516] = 1;
60393 return;
60394 }
60395 void parser___ReduceAction513___action(val_t p0, val_t p1){
60396 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
60397 val_t REGB0;
60398 val_t tmp;
60399 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60400 fra.me.file = LOCATE_parser;
60401 fra.me.line = 22692;
60402 fra.me.meth = LOCATE_parser___ReduceAction513___action;
60403 fra.me.has_broke = 0;
60404 fra.me.REG_size = 3;
60405 fra.me.REG[0] = NIT_NULL;
60406 fra.me.REG[1] = NIT_NULL;
60407 fra.me.REG[2] = NIT_NULL;
60408 fra.me.REG[0] = p0;
60409 fra.me.REG[1] = p1;
60410 fra.me.REG[0] = NIT_NULL;
60411 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60412 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
60413 /* ./parser//parser.nit:22697 */
60414 if (UNTAG_Bool(REGB0)) {
60415 } else {
60416 fprintf(stderr, "Assert failed");
60417 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22697);
60418 nit_exit(1);
60419 }
60420 fra.me.REG[0] = fra.me.REG[2];
60421 REGB0 = TAG_Int(28);
60422 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60423 /* ./parser//parser.nit:22699 */
60424 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
60425 stack_frame_head = fra.me.prev;
60426 return;
60427 }
60428 void parser___ReduceAction513___init(val_t p0, int* init_table){
60429 int itpos517 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction513].i;
60430 struct {struct stack_frame_t me;} fra;
60431 val_t tmp;
60432 if (init_table[itpos517]) return;
60433 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60434 fra.me.file = LOCATE_parser;
60435 fra.me.line = 22701;
60436 fra.me.meth = LOCATE_parser___ReduceAction513___init;
60437 fra.me.has_broke = 0;
60438 fra.me.REG_size = 1;
60439 fra.me.REG[0] = NIT_NULL;
60440 fra.me.REG[0] = p0;
60441 /* ./parser//parser.nit:22701 */
60442 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
60443 stack_frame_head = fra.me.prev;
60444 init_table[itpos517] = 1;
60445 return;
60446 }
60447 void parser___ReduceAction514___action(val_t p0, val_t p1){
60448 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
60449 val_t REGB0;
60450 val_t tmp;
60451 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60452 fra.me.file = LOCATE_parser;
60453 fra.me.line = 22705;
60454 fra.me.meth = LOCATE_parser___ReduceAction514___action;
60455 fra.me.has_broke = 0;
60456 fra.me.REG_size = 3;
60457 fra.me.REG[0] = NIT_NULL;
60458 fra.me.REG[1] = NIT_NULL;
60459 fra.me.REG[2] = NIT_NULL;
60460 fra.me.REG[0] = p0;
60461 fra.me.REG[1] = p1;
60462 fra.me.REG[0] = NIT_NULL;
60463 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60464 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
60465 /* ./parser//parser.nit:22710 */
60466 if (UNTAG_Bool(REGB0)) {
60467 } else {
60468 fprintf(stderr, "Assert failed");
60469 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22710);
60470 nit_exit(1);
60471 }
60472 fra.me.REG[0] = fra.me.REG[2];
60473 REGB0 = TAG_Int(28);
60474 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60475 /* ./parser//parser.nit:22712 */
60476 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
60477 stack_frame_head = fra.me.prev;
60478 return;
60479 }
60480 void parser___ReduceAction514___init(val_t p0, int* init_table){
60481 int itpos518 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction514].i;
60482 struct {struct stack_frame_t me;} fra;
60483 val_t tmp;
60484 if (init_table[itpos518]) return;
60485 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60486 fra.me.file = LOCATE_parser;
60487 fra.me.line = 22714;
60488 fra.me.meth = LOCATE_parser___ReduceAction514___init;
60489 fra.me.has_broke = 0;
60490 fra.me.REG_size = 1;
60491 fra.me.REG[0] = NIT_NULL;
60492 fra.me.REG[0] = p0;
60493 /* ./parser//parser.nit:22714 */
60494 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
60495 stack_frame_head = fra.me.prev;
60496 init_table[itpos518] = 1;
60497 return;
60498 }
60499 void parser___ReduceAction515___action(val_t p0, val_t p1){
60500 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
60501 val_t REGB0;
60502 val_t tmp;
60503 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60504 fra.me.file = LOCATE_parser;
60505 fra.me.line = 22718;
60506 fra.me.meth = LOCATE_parser___ReduceAction515___action;
60507 fra.me.has_broke = 0;
60508 fra.me.REG_size = 3;
60509 fra.me.REG[0] = NIT_NULL;
60510 fra.me.REG[1] = NIT_NULL;
60511 fra.me.REG[2] = NIT_NULL;
60512 fra.me.REG[0] = p0;
60513 fra.me.REG[1] = p1;
60514 fra.me.REG[0] = NIT_NULL;
60515 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60516 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
60517 /* ./parser//parser.nit:22723 */
60518 if (UNTAG_Bool(REGB0)) {
60519 } else {
60520 fprintf(stderr, "Assert failed");
60521 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22723);
60522 nit_exit(1);
60523 }
60524 fra.me.REG[0] = fra.me.REG[2];
60525 REGB0 = TAG_Int(28);
60526 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60527 /* ./parser//parser.nit:22725 */
60528 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
60529 stack_frame_head = fra.me.prev;
60530 return;
60531 }
60532 void parser___ReduceAction515___init(val_t p0, int* init_table){
60533 int itpos519 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction515].i;
60534 struct {struct stack_frame_t me;} fra;
60535 val_t tmp;
60536 if (init_table[itpos519]) return;
60537 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60538 fra.me.file = LOCATE_parser;
60539 fra.me.line = 22727;
60540 fra.me.meth = LOCATE_parser___ReduceAction515___init;
60541 fra.me.has_broke = 0;
60542 fra.me.REG_size = 1;
60543 fra.me.REG[0] = NIT_NULL;
60544 fra.me.REG[0] = p0;
60545 /* ./parser//parser.nit:22727 */
60546 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
60547 stack_frame_head = fra.me.prev;
60548 init_table[itpos519] = 1;
60549 return;
60550 }
60551 void parser___ReduceAction516___action(val_t p0, val_t p1){
60552 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
60553 val_t REGB0;
60554 val_t tmp;
60555 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60556 fra.me.file = LOCATE_parser;
60557 fra.me.line = 22731;
60558 fra.me.meth = LOCATE_parser___ReduceAction516___action;
60559 fra.me.has_broke = 0;
60560 fra.me.REG_size = 7;
60561 fra.me.REG[0] = NIT_NULL;
60562 fra.me.REG[1] = NIT_NULL;
60563 fra.me.REG[2] = NIT_NULL;
60564 fra.me.REG[3] = NIT_NULL;
60565 fra.me.REG[4] = NIT_NULL;
60566 fra.me.REG[5] = NIT_NULL;
60567 fra.me.REG[6] = NIT_NULL;
60568 fra.me.REG[0] = p0;
60569 fra.me.REG[1] = p1;
60570 fra.me.REG[0] = NIT_NULL;
60571 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60572 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60573 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60574 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60575 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60576 fra.me.REG[5] = NEW_Array_array___Array___init();
60577 fra.me.REG[6] = NEW_Array_array___Array___init();
60578 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
60579 /* ./parser//parser.nit:22742 */
60580 if (UNTAG_Bool(REGB0)) {
60581 } else {
60582 fprintf(stderr, "Assert failed");
60583 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22742);
60584 nit_exit(1);
60585 }
60586 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
60587 /* ./parser//parser.nit:22744 */
60588 if (UNTAG_Bool(REGB0)) {
60589 } else {
60590 fprintf(stderr, "Assert failed");
60591 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22744);
60592 nit_exit(1);
60593 }
60594 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
60595 /* ./parser//parser.nit:22746 */
60596 if (UNTAG_Bool(REGB0)) {
60597 } else {
60598 fprintf(stderr, "Assert failed");
60599 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22746);
60600 nit_exit(1);
60601 }
60602 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
60603 /* ./parser//parser.nit:22748 */
60604 if (UNTAG_Bool(REGB0)) {
60605 fra.me.REG[5] = fra.me.REG[2];
60606 /* ./parser//parser.nit:22749 */
60607 } else {
60608 /* ./parser//parser.nit:22751 */
60609 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
60610 }
60611 fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[6]);
60612 fra.me.REG[0] = fra.me.REG[6];
60613 REGB0 = TAG_Int(28);
60614 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60615 /* ./parser//parser.nit:22761 */
60616 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
60617 stack_frame_head = fra.me.prev;
60618 return;
60619 }
60620 void parser___ReduceAction516___init(val_t p0, int* init_table){
60621 int itpos520 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction516].i;
60622 struct {struct stack_frame_t me;} fra;
60623 val_t tmp;
60624 if (init_table[itpos520]) return;
60625 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60626 fra.me.file = LOCATE_parser;
60627 fra.me.line = 22763;
60628 fra.me.meth = LOCATE_parser___ReduceAction516___init;
60629 fra.me.has_broke = 0;
60630 fra.me.REG_size = 1;
60631 fra.me.REG[0] = NIT_NULL;
60632 fra.me.REG[0] = p0;
60633 /* ./parser//parser.nit:22763 */
60634 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
60635 stack_frame_head = fra.me.prev;
60636 init_table[itpos520] = 1;
60637 return;
60638 }
60639 void parser___ReduceAction517___action(val_t p0, val_t p1){
60640 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
60641 val_t REGB0;
60642 val_t tmp;
60643 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60644 fra.me.file = LOCATE_parser;
60645 fra.me.line = 22767;
60646 fra.me.meth = LOCATE_parser___ReduceAction517___action;
60647 fra.me.has_broke = 0;
60648 fra.me.REG_size = 7;
60649 fra.me.REG[0] = NIT_NULL;
60650 fra.me.REG[1] = NIT_NULL;
60651 fra.me.REG[2] = NIT_NULL;
60652 fra.me.REG[3] = NIT_NULL;
60653 fra.me.REG[4] = NIT_NULL;
60654 fra.me.REG[5] = NIT_NULL;
60655 fra.me.REG[6] = NIT_NULL;
60656 fra.me.REG[0] = p0;
60657 fra.me.REG[1] = p1;
60658 fra.me.REG[0] = NIT_NULL;
60659 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60660 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60661 fra.me.REG[4] = NEW_Array_array___Array___init();
60662 fra.me.REG[5] = NEW_Array_array___Array___init();
60663 fra.me.REG[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
60664 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
60665 /* ./parser//parser.nit:22777 */
60666 if (UNTAG_Bool(REGB0)) {
60667 } else {
60668 fprintf(stderr, "Assert failed");
60669 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22777);
60670 nit_exit(1);
60671 }
60672 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
60673 /* ./parser//parser.nit:22779 */
60674 if (UNTAG_Bool(REGB0)) {
60675 } else {
60676 fprintf(stderr, "Assert failed");
60677 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22779);
60678 nit_exit(1);
60679 }
60680 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
60681 /* ./parser//parser.nit:22781 */
60682 if (UNTAG_Bool(REGB0)) {
60683 fra.me.REG[4] = fra.me.REG[2];
60684 /* ./parser//parser.nit:22782 */
60685 } else {
60686 /* ./parser//parser.nit:22784 */
60687 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
60688 }
60689 fra.me.REG[5] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[6], fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]);
60690 fra.me.REG[0] = fra.me.REG[5];
60691 REGB0 = TAG_Int(28);
60692 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60693 /* ./parser//parser.nit:22794 */
60694 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
60695 stack_frame_head = fra.me.prev;
60696 return;
60697 }
60698 void parser___ReduceAction517___init(val_t p0, int* init_table){
60699 int itpos521 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction517].i;
60700 struct {struct stack_frame_t me;} fra;
60701 val_t tmp;
60702 if (init_table[itpos521]) return;
60703 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60704 fra.me.file = LOCATE_parser;
60705 fra.me.line = 22796;
60706 fra.me.meth = LOCATE_parser___ReduceAction517___init;
60707 fra.me.has_broke = 0;
60708 fra.me.REG_size = 1;
60709 fra.me.REG[0] = NIT_NULL;
60710 fra.me.REG[0] = p0;
60711 /* ./parser//parser.nit:22796 */
60712 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
60713 stack_frame_head = fra.me.prev;
60714 init_table[itpos521] = 1;
60715 return;
60716 }
60717 void parser___ReduceAction518___action(val_t p0, val_t p1){
60718 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
60719 val_t REGB0;
60720 val_t tmp;
60721 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60722 fra.me.file = LOCATE_parser;
60723 fra.me.line = 22800;
60724 fra.me.meth = LOCATE_parser___ReduceAction518___action;
60725 fra.me.has_broke = 0;
60726 fra.me.REG_size = 8;
60727 fra.me.REG[0] = NIT_NULL;
60728 fra.me.REG[1] = NIT_NULL;
60729 fra.me.REG[2] = NIT_NULL;
60730 fra.me.REG[3] = NIT_NULL;
60731 fra.me.REG[4] = NIT_NULL;
60732 fra.me.REG[5] = NIT_NULL;
60733 fra.me.REG[6] = NIT_NULL;
60734 fra.me.REG[7] = NIT_NULL;
60735 fra.me.REG[0] = p0;
60736 fra.me.REG[1] = p1;
60737 fra.me.REG[0] = NIT_NULL;
60738 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60739 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60740 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60741 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60742 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60743 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60744 fra.me.REG[6] = NEW_Array_array___Array___init();
60745 fra.me.REG[7] = NEW_Array_array___Array___init();
60746 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
60747 /* ./parser//parser.nit:22812 */
60748 if (UNTAG_Bool(REGB0)) {
60749 } else {
60750 fprintf(stderr, "Assert failed");
60751 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22812);
60752 nit_exit(1);
60753 }
60754 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
60755 /* ./parser//parser.nit:22814 */
60756 if (UNTAG_Bool(REGB0)) {
60757 } else {
60758 fprintf(stderr, "Assert failed");
60759 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22814);
60760 nit_exit(1);
60761 }
60762 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
60763 /* ./parser//parser.nit:22816 */
60764 if (UNTAG_Bool(REGB0)) {
60765 } else {
60766 fprintf(stderr, "Assert failed");
60767 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22816);
60768 nit_exit(1);
60769 }
60770 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
60771 /* ./parser//parser.nit:22818 */
60772 if (UNTAG_Bool(REGB0)) {
60773 fra.me.REG[6] = fra.me.REG[3];
60774 /* ./parser//parser.nit:22819 */
60775 } else {
60776 /* ./parser//parser.nit:22821 */
60777 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
60778 }
60779 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
60780 /* ./parser//parser.nit:22825 */
60781 if (UNTAG_Bool(REGB0)) {
60782 } else {
60783 fprintf(stderr, "Assert failed");
60784 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22825);
60785 nit_exit(1);
60786 }
60787 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
60788 /* ./parser//parser.nit:22827 */
60789 if (UNTAG_Bool(REGB0)) {
60790 fra.me.REG[7] = fra.me.REG[2];
60791 /* ./parser//parser.nit:22828 */
60792 } else {
60793 /* ./parser//parser.nit:22830 */
60794 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]);
60795 }
60796 fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]);
60797 fra.me.REG[0] = fra.me.REG[7];
60798 REGB0 = TAG_Int(28);
60799 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60800 /* ./parser//parser.nit:22840 */
60801 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
60802 stack_frame_head = fra.me.prev;
60803 return;
60804 }
60805 void parser___ReduceAction518___init(val_t p0, int* init_table){
60806 int itpos522 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction518].i;
60807 struct {struct stack_frame_t me;} fra;
60808 val_t tmp;
60809 if (init_table[itpos522]) return;
60810 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60811 fra.me.file = LOCATE_parser;
60812 fra.me.line = 22842;
60813 fra.me.meth = LOCATE_parser___ReduceAction518___init;
60814 fra.me.has_broke = 0;
60815 fra.me.REG_size = 1;
60816 fra.me.REG[0] = NIT_NULL;
60817 fra.me.REG[0] = p0;
60818 /* ./parser//parser.nit:22842 */
60819 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
60820 stack_frame_head = fra.me.prev;
60821 init_table[itpos522] = 1;
60822 return;
60823 }
60824 void parser___ReduceAction519___action(val_t p0, val_t p1){
60825 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
60826 val_t REGB0;
60827 val_t tmp;
60828 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60829 fra.me.file = LOCATE_parser;
60830 fra.me.line = 22846;
60831 fra.me.meth = LOCATE_parser___ReduceAction519___action;
60832 fra.me.has_broke = 0;
60833 fra.me.REG_size = 8;
60834 fra.me.REG[0] = NIT_NULL;
60835 fra.me.REG[1] = NIT_NULL;
60836 fra.me.REG[2] = NIT_NULL;
60837 fra.me.REG[3] = NIT_NULL;
60838 fra.me.REG[4] = NIT_NULL;
60839 fra.me.REG[5] = NIT_NULL;
60840 fra.me.REG[6] = NIT_NULL;
60841 fra.me.REG[7] = NIT_NULL;
60842 fra.me.REG[0] = p0;
60843 fra.me.REG[1] = p1;
60844 fra.me.REG[0] = NIT_NULL;
60845 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60846 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60847 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60848 fra.me.REG[5] = NEW_Array_array___Array___init();
60849 fra.me.REG[6] = NEW_Array_array___Array___init();
60850 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
60851 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
60852 /* ./parser//parser.nit:22857 */
60853 if (UNTAG_Bool(REGB0)) {
60854 } else {
60855 fprintf(stderr, "Assert failed");
60856 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22857);
60857 nit_exit(1);
60858 }
60859 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
60860 /* ./parser//parser.nit:22859 */
60861 if (UNTAG_Bool(REGB0)) {
60862 } else {
60863 fprintf(stderr, "Assert failed");
60864 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22859);
60865 nit_exit(1);
60866 }
60867 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
60868 /* ./parser//parser.nit:22861 */
60869 if (UNTAG_Bool(REGB0)) {
60870 fra.me.REG[5] = fra.me.REG[3];
60871 /* ./parser//parser.nit:22862 */
60872 } else {
60873 /* ./parser//parser.nit:22864 */
60874 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
60875 }
60876 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
60877 /* ./parser//parser.nit:22868 */
60878 if (UNTAG_Bool(REGB0)) {
60879 } else {
60880 fprintf(stderr, "Assert failed");
60881 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22868);
60882 nit_exit(1);
60883 }
60884 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
60885 /* ./parser//parser.nit:22870 */
60886 if (UNTAG_Bool(REGB0)) {
60887 fra.me.REG[6] = fra.me.REG[2];
60888 /* ./parser//parser.nit:22871 */
60889 } else {
60890 /* ./parser//parser.nit:22873 */
60891 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
60892 }
60893 fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
60894 fra.me.REG[0] = fra.me.REG[6];
60895 REGB0 = TAG_Int(28);
60896 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60897 /* ./parser//parser.nit:22883 */
60898 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
60899 stack_frame_head = fra.me.prev;
60900 return;
60901 }
60902 void parser___ReduceAction519___init(val_t p0, int* init_table){
60903 int itpos523 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction519].i;
60904 struct {struct stack_frame_t me;} fra;
60905 val_t tmp;
60906 if (init_table[itpos523]) return;
60907 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60908 fra.me.file = LOCATE_parser;
60909 fra.me.line = 22885;
60910 fra.me.meth = LOCATE_parser___ReduceAction519___init;
60911 fra.me.has_broke = 0;
60912 fra.me.REG_size = 1;
60913 fra.me.REG[0] = NIT_NULL;
60914 fra.me.REG[0] = p0;
60915 /* ./parser//parser.nit:22885 */
60916 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
60917 stack_frame_head = fra.me.prev;
60918 init_table[itpos523] = 1;
60919 return;
60920 }
60921 void parser___ReduceAction520___action(val_t p0, val_t p1){
60922 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
60923 val_t REGB0;
60924 val_t tmp;
60925 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60926 fra.me.file = LOCATE_parser;
60927 fra.me.line = 22889;
60928 fra.me.meth = LOCATE_parser___ReduceAction520___action;
60929 fra.me.has_broke = 0;
60930 fra.me.REG_size = 5;
60931 fra.me.REG[0] = NIT_NULL;
60932 fra.me.REG[1] = NIT_NULL;
60933 fra.me.REG[2] = NIT_NULL;
60934 fra.me.REG[3] = NIT_NULL;
60935 fra.me.REG[4] = NIT_NULL;
60936 fra.me.REG[0] = p0;
60937 fra.me.REG[1] = p1;
60938 fra.me.REG[0] = NIT_NULL;
60939 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60940 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
60941 fra.me.REG[4] = NEW_Array_array___Array___init();
60942 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/;
60943 /* ./parser//parser.nit:22896 */
60944 if (UNTAG_Bool(REGB0)) {
60945 } else {
60946 fprintf(stderr, "Assert failed");
60947 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22896);
60948 nit_exit(1);
60949 }
60950 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
60951 /* ./parser//parser.nit:22898 */
60952 if (UNTAG_Bool(REGB0)) {
60953 } else {
60954 fprintf(stderr, "Assert failed");
60955 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22898);
60956 nit_exit(1);
60957 }
60958 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
60959 /* ./parser//parser.nit:22900 */
60960 if (UNTAG_Bool(REGB0)) {
60961 fra.me.REG[4] = fra.me.REG[2];
60962 /* ./parser//parser.nit:22901 */
60963 } else {
60964 /* ./parser//parser.nit:22903 */
60965 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
60966 }
60967 fra.me.REG[4] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
60968 fra.me.REG[0] = fra.me.REG[4];
60969 REGB0 = TAG_Int(28);
60970 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
60971 /* ./parser//parser.nit:22912 */
60972 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
60973 stack_frame_head = fra.me.prev;
60974 return;
60975 }
60976 void parser___ReduceAction520___init(val_t p0, int* init_table){
60977 int itpos524 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction520].i;
60978 struct {struct stack_frame_t me;} fra;
60979 val_t tmp;
60980 if (init_table[itpos524]) return;
60981 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
60982 fra.me.file = LOCATE_parser;
60983 fra.me.line = 22914;
60984 fra.me.meth = LOCATE_parser___ReduceAction520___init;
60985 fra.me.has_broke = 0;
60986 fra.me.REG_size = 1;
60987 fra.me.REG[0] = NIT_NULL;
60988 fra.me.REG[0] = p0;
60989 /* ./parser//parser.nit:22914 */
60990 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
60991 stack_frame_head = fra.me.prev;
60992 init_table[itpos524] = 1;
60993 return;
60994 }
60995 void parser___ReduceAction521___action(val_t p0, val_t p1){
60996 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
60997 val_t REGB0;
60998 val_t tmp;
60999 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61000 fra.me.file = LOCATE_parser;
61001 fra.me.line = 22918;
61002 fra.me.meth = LOCATE_parser___ReduceAction521___action;
61003 fra.me.has_broke = 0;
61004 fra.me.REG_size = 6;
61005 fra.me.REG[0] = NIT_NULL;
61006 fra.me.REG[1] = NIT_NULL;
61007 fra.me.REG[2] = NIT_NULL;
61008 fra.me.REG[3] = NIT_NULL;
61009 fra.me.REG[4] = NIT_NULL;
61010 fra.me.REG[5] = NIT_NULL;
61011 fra.me.REG[0] = p0;
61012 fra.me.REG[1] = p1;
61013 fra.me.REG[0] = NIT_NULL;
61014 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61015 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61016 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61017 fra.me.REG[5] = NEW_Array_array___Array___init();
61018 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AQualified, ID_AQualified)) /*cast nullable AQualified*/;
61019 /* ./parser//parser.nit:22926 */
61020 if (UNTAG_Bool(REGB0)) {
61021 } else {
61022 fprintf(stderr, "Assert failed");
61023 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22926);
61024 nit_exit(1);
61025 }
61026 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/;
61027 /* ./parser//parser.nit:22928 */
61028 if (UNTAG_Bool(REGB0)) {
61029 } else {
61030 fprintf(stderr, "Assert failed");
61031 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22928);
61032 nit_exit(1);
61033 }
61034 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
61035 /* ./parser//parser.nit:22930 */
61036 if (UNTAG_Bool(REGB0)) {
61037 } else {
61038 fprintf(stderr, "Assert failed");
61039 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22930);
61040 nit_exit(1);
61041 }
61042 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
61043 /* ./parser//parser.nit:22932 */
61044 if (UNTAG_Bool(REGB0)) {
61045 fra.me.REG[5] = fra.me.REG[2];
61046 /* ./parser//parser.nit:22933 */
61047 } else {
61048 /* ./parser//parser.nit:22935 */
61049 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
61050 }
61051 fra.me.REG[5] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
61052 fra.me.REG[0] = fra.me.REG[5];
61053 REGB0 = TAG_Int(28);
61054 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
61055 /* ./parser//parser.nit:22944 */
61056 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
61057 stack_frame_head = fra.me.prev;
61058 return;
61059 }
61060 void parser___ReduceAction521___init(val_t p0, int* init_table){
61061 int itpos525 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction521].i;
61062 struct {struct stack_frame_t me;} fra;
61063 val_t tmp;
61064 if (init_table[itpos525]) return;
61065 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61066 fra.me.file = LOCATE_parser;
61067 fra.me.line = 22946;
61068 fra.me.meth = LOCATE_parser___ReduceAction521___init;
61069 fra.me.has_broke = 0;
61070 fra.me.REG_size = 1;
61071 fra.me.REG[0] = NIT_NULL;
61072 fra.me.REG[0] = p0;
61073 /* ./parser//parser.nit:22946 */
61074 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
61075 stack_frame_head = fra.me.prev;
61076 init_table[itpos525] = 1;
61077 return;
61078 }
61079 void parser___ReduceAction522___action(val_t p0, val_t p1){
61080 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
61081 val_t REGB0;
61082 val_t tmp;
61083 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61084 fra.me.file = LOCATE_parser;
61085 fra.me.line = 22950;
61086 fra.me.meth = LOCATE_parser___ReduceAction522___action;
61087 fra.me.has_broke = 0;
61088 fra.me.REG_size = 6;
61089 fra.me.REG[0] = NIT_NULL;
61090 fra.me.REG[1] = NIT_NULL;
61091 fra.me.REG[2] = NIT_NULL;
61092 fra.me.REG[3] = NIT_NULL;
61093 fra.me.REG[4] = NIT_NULL;
61094 fra.me.REG[5] = NIT_NULL;
61095 fra.me.REG[0] = p0;
61096 fra.me.REG[1] = p1;
61097 fra.me.REG[0] = NIT_NULL;
61098 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61099 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61100 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61101 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61102 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61103 fra.me.REG[5] = NEW_Array_array___Array___init();
61104 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
61105 /* ./parser//parser.nit:22960 */
61106 if (UNTAG_Bool(REGB0)) {
61107 } else {
61108 fprintf(stderr, "Assert failed");
61109 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22960);
61110 nit_exit(1);
61111 }
61112 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
61113 /* ./parser//parser.nit:22962 */
61114 if (UNTAG_Bool(REGB0)) {
61115 } else {
61116 fprintf(stderr, "Assert failed");
61117 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22962);
61118 nit_exit(1);
61119 }
61120 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
61121 /* ./parser//parser.nit:22964 */
61122 if (UNTAG_Bool(REGB0)) {
61123 } else {
61124 fprintf(stderr, "Assert failed");
61125 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22964);
61126 nit_exit(1);
61127 }
61128 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
61129 /* ./parser//parser.nit:22966 */
61130 if (UNTAG_Bool(REGB0)) {
61131 fra.me.REG[5] = fra.me.REG[2];
61132 /* ./parser//parser.nit:22967 */
61133 } else {
61134 /* ./parser//parser.nit:22969 */
61135 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
61136 }
61137 fra.me.REG[5] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
61138 fra.me.REG[0] = fra.me.REG[5];
61139 REGB0 = TAG_Int(28);
61140 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
61141 /* ./parser//parser.nit:22978 */
61142 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
61143 stack_frame_head = fra.me.prev;
61144 return;
61145 }
61146 void parser___ReduceAction522___init(val_t p0, int* init_table){
61147 int itpos526 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction522].i;
61148 struct {struct stack_frame_t me;} fra;
61149 val_t tmp;
61150 if (init_table[itpos526]) return;
61151 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61152 fra.me.file = LOCATE_parser;
61153 fra.me.line = 22980;
61154 fra.me.meth = LOCATE_parser___ReduceAction522___init;
61155 fra.me.has_broke = 0;
61156 fra.me.REG_size = 1;
61157 fra.me.REG[0] = NIT_NULL;
61158 fra.me.REG[0] = p0;
61159 /* ./parser//parser.nit:22980 */
61160 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
61161 stack_frame_head = fra.me.prev;
61162 init_table[itpos526] = 1;
61163 return;
61164 }
61165 void parser___ReduceAction523___action(val_t p0, val_t p1){
61166 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
61167 val_t REGB0;
61168 val_t tmp;
61169 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61170 fra.me.file = LOCATE_parser;
61171 fra.me.line = 22984;
61172 fra.me.meth = LOCATE_parser___ReduceAction523___action;
61173 fra.me.has_broke = 0;
61174 fra.me.REG_size = 6;
61175 fra.me.REG[0] = NIT_NULL;
61176 fra.me.REG[1] = NIT_NULL;
61177 fra.me.REG[2] = NIT_NULL;
61178 fra.me.REG[3] = NIT_NULL;
61179 fra.me.REG[4] = NIT_NULL;
61180 fra.me.REG[5] = NIT_NULL;
61181 fra.me.REG[0] = p0;
61182 fra.me.REG[1] = p1;
61183 fra.me.REG[0] = NIT_NULL;
61184 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61185 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61186 fra.me.REG[4] = NEW_Array_array___Array___init();
61187 fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
61188 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
61189 /* ./parser//parser.nit:22993 */
61190 if (UNTAG_Bool(REGB0)) {
61191 } else {
61192 fprintf(stderr, "Assert failed");
61193 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22993);
61194 nit_exit(1);
61195 }
61196 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
61197 /* ./parser//parser.nit:22995 */
61198 if (UNTAG_Bool(REGB0)) {
61199 } else {
61200 fprintf(stderr, "Assert failed");
61201 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22995);
61202 nit_exit(1);
61203 }
61204 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
61205 /* ./parser//parser.nit:22997 */
61206 if (UNTAG_Bool(REGB0)) {
61207 fra.me.REG[4] = fra.me.REG[2];
61208 /* ./parser//parser.nit:22998 */
61209 } else {
61210 /* ./parser//parser.nit:23000 */
61211 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
61212 }
61213 fra.me.REG[4] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[3], fra.me.REG[4]);
61214 fra.me.REG[0] = fra.me.REG[4];
61215 REGB0 = TAG_Int(28);
61216 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
61217 /* ./parser//parser.nit:23009 */
61218 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
61219 stack_frame_head = fra.me.prev;
61220 return;
61221 }
61222 void parser___ReduceAction523___init(val_t p0, int* init_table){
61223 int itpos527 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction523].i;
61224 struct {struct stack_frame_t me;} fra;
61225 val_t tmp;
61226 if (init_table[itpos527]) return;
61227 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61228 fra.me.file = LOCATE_parser;
61229 fra.me.line = 23011;
61230 fra.me.meth = LOCATE_parser___ReduceAction523___init;
61231 fra.me.has_broke = 0;
61232 fra.me.REG_size = 1;
61233 fra.me.REG[0] = NIT_NULL;
61234 fra.me.REG[0] = p0;
61235 /* ./parser//parser.nit:23011 */
61236 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
61237 stack_frame_head = fra.me.prev;
61238 init_table[itpos527] = 1;
61239 return;
61240 }
61241 void parser___ReduceAction524___action(val_t p0, val_t p1){
61242 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
61243 val_t REGB0;
61244 val_t tmp;
61245 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61246 fra.me.file = LOCATE_parser;
61247 fra.me.line = 23015;
61248 fra.me.meth = LOCATE_parser___ReduceAction524___action;
61249 fra.me.has_broke = 0;
61250 fra.me.REG_size = 4;
61251 fra.me.REG[0] = NIT_NULL;
61252 fra.me.REG[1] = NIT_NULL;
61253 fra.me.REG[2] = NIT_NULL;
61254 fra.me.REG[3] = NIT_NULL;
61255 fra.me.REG[0] = p0;
61256 fra.me.REG[1] = p1;
61257 fra.me.REG[0] = NIT_NULL;
61258 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61259 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61260 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwlabel, ID_TKwlabel)) /*cast nullable TKwlabel*/;
61261 /* ./parser//parser.nit:23021 */
61262 if (UNTAG_Bool(REGB0)) {
61263 } else {
61264 fprintf(stderr, "Assert failed");
61265 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23021);
61266 nit_exit(1);
61267 }
61268 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/;
61269 /* ./parser//parser.nit:23023 */
61270 if (UNTAG_Bool(REGB0)) {
61271 } else {
61272 fprintf(stderr, "Assert failed");
61273 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23023);
61274 nit_exit(1);
61275 }
61276 fra.me.REG[2] = NEW_ALabel_parser_prod___ALabel___init_alabel(fra.me.REG[3], fra.me.REG[2]);
61277 fra.me.REG[0] = fra.me.REG[2];
61278 REGB0 = TAG_Int(29);
61279 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
61280 /* ./parser//parser.nit:23029 */
61281 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
61282 stack_frame_head = fra.me.prev;
61283 return;
61284 }
61285 void parser___ReduceAction524___init(val_t p0, int* init_table){
61286 int itpos528 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction524].i;
61287 struct {struct stack_frame_t me;} fra;
61288 val_t tmp;
61289 if (init_table[itpos528]) return;
61290 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61291 fra.me.file = LOCATE_parser;
61292 fra.me.line = 23031;
61293 fra.me.meth = LOCATE_parser___ReduceAction524___init;
61294 fra.me.has_broke = 0;
61295 fra.me.REG_size = 1;
61296 fra.me.REG[0] = NIT_NULL;
61297 fra.me.REG[0] = p0;
61298 /* ./parser//parser.nit:23031 */
61299 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
61300 stack_frame_head = fra.me.prev;
61301 init_table[itpos528] = 1;
61302 return;
61303 }
61304 void parser___ReduceAction525___action(val_t p0, val_t p1){
61305 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
61306 val_t REGB0;
61307 val_t REGB1;
61308 val_t tmp;
61309 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61310 fra.me.file = LOCATE_parser;
61311 fra.me.line = 23035;
61312 fra.me.meth = LOCATE_parser___ReduceAction525___action;
61313 fra.me.has_broke = 0;
61314 fra.me.REG_size = 4;
61315 fra.me.REG[0] = NIT_NULL;
61316 fra.me.REG[1] = NIT_NULL;
61317 fra.me.REG[2] = NIT_NULL;
61318 fra.me.REG[3] = NIT_NULL;
61319 fra.me.REG[0] = p0;
61320 fra.me.REG[1] = p1;
61321 fra.me.REG[0] = NIT_NULL;
61322 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61323 fra.me.REG[3] = NEW_Array_array___Array___init();
61324 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClosureDef, ID_AClosureDef)) /*cast nullable AClosureDef*/;
61325 /* ./parser//parser.nit:23041 */
61326 if (UNTAG_Bool(REGB0)) {
61327 } else {
61328 fprintf(stderr, "Assert failed");
61329 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23041);
61330 nit_exit(1);
61331 }
61332 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
61333 /* ./parser//parser.nit:23042 */
61334 if (UNTAG_Bool(REGB0)) {
61335 } else {
61336 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
61337 if (UNTAG_Bool(REGB1)) {
61338 REGB1 = TAG_Bool(false);
61339 REGB0 = REGB1;
61340 } else {
61341 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
61342 REGB0 = REGB1;
61343 }
61344 }
61345 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
61346 if (UNTAG_Bool(REGB0)) {
61347 /* ./parser//parser.nit:23043 */
61348 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
61349 }
61350 fra.me.REG[0] = fra.me.REG[3];
61351 REGB0 = TAG_Int(30);
61352 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
61353 /* ./parser//parser.nit:23046 */
61354 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
61355 stack_frame_head = fra.me.prev;
61356 return;
61357 }
61358 void parser___ReduceAction525___init(val_t p0, int* init_table){
61359 int itpos529 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction525].i;
61360 struct {struct stack_frame_t me;} fra;
61361 val_t tmp;
61362 if (init_table[itpos529]) return;
61363 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61364 fra.me.file = LOCATE_parser;
61365 fra.me.line = 23048;
61366 fra.me.meth = LOCATE_parser___ReduceAction525___init;
61367 fra.me.has_broke = 0;
61368 fra.me.REG_size = 1;
61369 fra.me.REG[0] = NIT_NULL;
61370 fra.me.REG[0] = p0;
61371 /* ./parser//parser.nit:23048 */
61372 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
61373 stack_frame_head = fra.me.prev;
61374 init_table[itpos529] = 1;
61375 return;
61376 }
61377 void parser___ReduceAction526___action(val_t p0, val_t p1){
61378 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
61379 val_t REGB0;
61380 val_t REGB1;
61381 val_t tmp;
61382 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61383 fra.me.file = LOCATE_parser;
61384 fra.me.line = 23052;
61385 fra.me.meth = LOCATE_parser___ReduceAction526___action;
61386 fra.me.has_broke = 0;
61387 fra.me.REG_size = 5;
61388 fra.me.REG[0] = NIT_NULL;
61389 fra.me.REG[1] = NIT_NULL;
61390 fra.me.REG[2] = NIT_NULL;
61391 fra.me.REG[3] = NIT_NULL;
61392 fra.me.REG[4] = NIT_NULL;
61393 fra.me.REG[0] = p0;
61394 fra.me.REG[1] = p1;
61395 fra.me.REG[0] = NIT_NULL;
61396 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61397 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61398 fra.me.REG[4] = NEW_Array_array___Array___init();
61399 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureDef, ID_AClosureDef)) /*cast nullable AClosureDef*/;
61400 /* ./parser//parser.nit:23059 */
61401 if (UNTAG_Bool(REGB0)) {
61402 } else {
61403 fprintf(stderr, "Assert failed");
61404 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23059);
61405 nit_exit(1);
61406 }
61407 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
61408 /* ./parser//parser.nit:23061 */
61409 if (UNTAG_Bool(REGB0)) {
61410 } else {
61411 fprintf(stderr, "Assert failed");
61412 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23061);
61413 nit_exit(1);
61414 }
61415 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
61416 /* ./parser//parser.nit:23062 */
61417 if (UNTAG_Bool(REGB0)) {
61418 } else {
61419 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
61420 if (UNTAG_Bool(REGB1)) {
61421 REGB1 = TAG_Bool(false);
61422 REGB0 = REGB1;
61423 } else {
61424 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
61425 REGB0 = REGB1;
61426 }
61427 }
61428 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
61429 if (UNTAG_Bool(REGB0)) {
61430 /* ./parser//parser.nit:23063 */
61431 array___Array___add(fra.me.REG[4], fra.me.REG[3]);
61432 }
61433 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
61434 /* ./parser//parser.nit:23066 */
61435 if (UNTAG_Bool(REGB0)) {
61436 fra.me.REG[4] = fra.me.REG[2];
61437 /* ./parser//parser.nit:23067 */
61438 } else {
61439 /* ./parser//parser.nit:23069 */
61440 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
61441 }
61442 fra.me.REG[0] = fra.me.REG[4];
61443 REGB0 = TAG_Int(30);
61444 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
61445 /* ./parser//parser.nit:23073 */
61446 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
61447 stack_frame_head = fra.me.prev;
61448 return;
61449 }
61450 void parser___ReduceAction526___init(val_t p0, int* init_table){
61451 int itpos530 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction526].i;
61452 struct {struct stack_frame_t me;} fra;
61453 val_t tmp;
61454 if (init_table[itpos530]) return;
61455 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61456 fra.me.file = LOCATE_parser;
61457 fra.me.line = 23075;
61458 fra.me.meth = LOCATE_parser___ReduceAction526___init;
61459 fra.me.has_broke = 0;
61460 fra.me.REG_size = 1;
61461 fra.me.REG[0] = NIT_NULL;
61462 fra.me.REG[0] = p0;
61463 /* ./parser//parser.nit:23075 */
61464 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
61465 stack_frame_head = fra.me.prev;
61466 init_table[itpos530] = 1;
61467 return;
61468 }
61469 void parser___ReduceAction527___action(val_t p0, val_t p1){
61470 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
61471 val_t REGB0;
61472 val_t REGB1;
61473 val_t tmp;
61474 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61475 fra.me.file = LOCATE_parser;
61476 fra.me.line = 23079;
61477 fra.me.meth = LOCATE_parser___ReduceAction527___action;
61478 fra.me.has_broke = 0;
61479 fra.me.REG_size = 8;
61480 fra.me.REG[0] = NIT_NULL;
61481 fra.me.REG[1] = NIT_NULL;
61482 fra.me.REG[2] = NIT_NULL;
61483 fra.me.REG[3] = NIT_NULL;
61484 fra.me.REG[4] = NIT_NULL;
61485 fra.me.REG[5] = NIT_NULL;
61486 fra.me.REG[6] = NIT_NULL;
61487 fra.me.REG[7] = NIT_NULL;
61488 fra.me.REG[0] = p0;
61489 fra.me.REG[1] = p1;
61490 fra.me.REG[0] = NIT_NULL;
61491 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61492 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61493 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61494 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61495 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61496 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61497 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61498 fra.me.REG[6] = NEW_Array_array___Array___init();
61499 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
61500 /* ./parser//parser.nit:23091 */
61501 if (UNTAG_Bool(REGB0)) {
61502 } else {
61503 fprintf(stderr, "Assert failed");
61504 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23091);
61505 nit_exit(1);
61506 }
61507 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
61508 /* ./parser//parser.nit:23093 */
61509 if (UNTAG_Bool(REGB0)) {
61510 } else {
61511 fprintf(stderr, "Assert failed");
61512 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23093);
61513 nit_exit(1);
61514 }
61515 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
61516 /* ./parser//parser.nit:23095 */
61517 if (UNTAG_Bool(REGB0)) {
61518 } else {
61519 fprintf(stderr, "Assert failed");
61520 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23095);
61521 nit_exit(1);
61522 }
61523 fra.me.REG[7] = NEW_Array_array___Array___init();
61524 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
61525 /* ./parser//parser.nit:23098 */
61526 if (UNTAG_Bool(REGB0)) {
61527 } else {
61528 fprintf(stderr, "Assert failed");
61529 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23098);
61530 nit_exit(1);
61531 }
61532 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
61533 /* ./parser//parser.nit:23099 */
61534 if (UNTAG_Bool(REGB0)) {
61535 } else {
61536 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
61537 if (UNTAG_Bool(REGB1)) {
61538 REGB1 = TAG_Bool(false);
61539 REGB0 = REGB1;
61540 } else {
61541 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
61542 REGB0 = REGB1;
61543 }
61544 }
61545 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
61546 if (UNTAG_Bool(REGB0)) {
61547 /* ./parser//parser.nit:23100 */
61548 array___Array___add(fra.me.REG[7], fra.me.REG[2]);
61549 }
61550 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
61551 fra.me.REG[7] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[7], NIT_NULL);
61552 fra.me.REG[0] = fra.me.REG[7];
61553 REGB0 = TAG_Int(31);
61554 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
61555 /* ./parser//parser.nit:23114 */
61556 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
61557 stack_frame_head = fra.me.prev;
61558 return;
61559 }
61560 void parser___ReduceAction527___init(val_t p0, int* init_table){
61561 int itpos531 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction527].i;
61562 struct {struct stack_frame_t me;} fra;
61563 val_t tmp;
61564 if (init_table[itpos531]) return;
61565 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61566 fra.me.file = LOCATE_parser;
61567 fra.me.line = 23116;
61568 fra.me.meth = LOCATE_parser___ReduceAction527___init;
61569 fra.me.has_broke = 0;
61570 fra.me.REG_size = 1;
61571 fra.me.REG[0] = NIT_NULL;
61572 fra.me.REG[0] = p0;
61573 /* ./parser//parser.nit:23116 */
61574 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
61575 stack_frame_head = fra.me.prev;
61576 init_table[itpos531] = 1;
61577 return;
61578 }
61579 void parser___ReduceAction528___action(val_t p0, val_t p1){
61580 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
61581 val_t REGB0;
61582 val_t REGB1;
61583 val_t tmp;
61584 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61585 fra.me.file = LOCATE_parser;
61586 fra.me.line = 23120;
61587 fra.me.meth = LOCATE_parser___ReduceAction528___action;
61588 fra.me.has_broke = 0;
61589 fra.me.REG_size = 9;
61590 fra.me.REG[0] = NIT_NULL;
61591 fra.me.REG[1] = NIT_NULL;
61592 fra.me.REG[2] = NIT_NULL;
61593 fra.me.REG[3] = NIT_NULL;
61594 fra.me.REG[4] = NIT_NULL;
61595 fra.me.REG[5] = NIT_NULL;
61596 fra.me.REG[6] = NIT_NULL;
61597 fra.me.REG[7] = NIT_NULL;
61598 fra.me.REG[8] = NIT_NULL;
61599 fra.me.REG[0] = p0;
61600 fra.me.REG[1] = p1;
61601 fra.me.REG[0] = NIT_NULL;
61602 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61603 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61604 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61605 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61606 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61607 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61608 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61609 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61610 fra.me.REG[7] = NEW_Array_array___Array___init();
61611 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
61612 /* ./parser//parser.nit:23133 */
61613 if (UNTAG_Bool(REGB0)) {
61614 } else {
61615 fprintf(stderr, "Assert failed");
61616 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23133);
61617 nit_exit(1);
61618 }
61619 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
61620 /* ./parser//parser.nit:23135 */
61621 if (UNTAG_Bool(REGB0)) {
61622 } else {
61623 fprintf(stderr, "Assert failed");
61624 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23135);
61625 nit_exit(1);
61626 }
61627 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
61628 /* ./parser//parser.nit:23137 */
61629 if (UNTAG_Bool(REGB0)) {
61630 } else {
61631 fprintf(stderr, "Assert failed");
61632 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23137);
61633 nit_exit(1);
61634 }
61635 fra.me.REG[8] = NEW_Array_array___Array___init();
61636 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
61637 /* ./parser//parser.nit:23140 */
61638 if (UNTAG_Bool(REGB0)) {
61639 } else {
61640 fprintf(stderr, "Assert failed");
61641 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23140);
61642 nit_exit(1);
61643 }
61644 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
61645 /* ./parser//parser.nit:23142 */
61646 if (UNTAG_Bool(REGB0)) {
61647 } else {
61648 fprintf(stderr, "Assert failed");
61649 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23142);
61650 nit_exit(1);
61651 }
61652 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
61653 /* ./parser//parser.nit:23143 */
61654 if (UNTAG_Bool(REGB0)) {
61655 } else {
61656 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
61657 if (UNTAG_Bool(REGB1)) {
61658 REGB1 = TAG_Bool(false);
61659 REGB0 = REGB1;
61660 } else {
61661 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
61662 REGB0 = REGB1;
61663 }
61664 }
61665 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
61666 if (UNTAG_Bool(REGB0)) {
61667 /* ./parser//parser.nit:23144 */
61668 array___Array___add(fra.me.REG[8], fra.me.REG[3]);
61669 }
61670 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
61671 /* ./parser//parser.nit:23147 */
61672 if (UNTAG_Bool(REGB0)) {
61673 fra.me.REG[8] = fra.me.REG[2];
61674 /* ./parser//parser.nit:23148 */
61675 } else {
61676 /* ./parser//parser.nit:23150 */
61677 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[2]);
61678 }
61679 fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]);
61680 fra.me.REG[8] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[4], fra.me.REG[8], NIT_NULL);
61681 fra.me.REG[0] = fra.me.REG[8];
61682 REGB0 = TAG_Int(31);
61683 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
61684 /* ./parser//parser.nit:23165 */
61685 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
61686 stack_frame_head = fra.me.prev;
61687 return;
61688 }
61689 void parser___ReduceAction528___init(val_t p0, int* init_table){
61690 int itpos532 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction528].i;
61691 struct {struct stack_frame_t me;} fra;
61692 val_t tmp;
61693 if (init_table[itpos532]) return;
61694 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61695 fra.me.file = LOCATE_parser;
61696 fra.me.line = 23167;
61697 fra.me.meth = LOCATE_parser___ReduceAction528___init;
61698 fra.me.has_broke = 0;
61699 fra.me.REG_size = 1;
61700 fra.me.REG[0] = NIT_NULL;
61701 fra.me.REG[0] = p0;
61702 /* ./parser//parser.nit:23167 */
61703 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
61704 stack_frame_head = fra.me.prev;
61705 init_table[itpos532] = 1;
61706 return;
61707 }
61708 void parser___ReduceAction529___action(val_t p0, val_t p1){
61709 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
61710 val_t REGB0;
61711 val_t tmp;
61712 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61713 fra.me.file = LOCATE_parser;
61714 fra.me.line = 23171;
61715 fra.me.meth = LOCATE_parser___ReduceAction529___action;
61716 fra.me.has_broke = 0;
61717 fra.me.REG_size = 7;
61718 fra.me.REG[0] = NIT_NULL;
61719 fra.me.REG[1] = NIT_NULL;
61720 fra.me.REG[2] = NIT_NULL;
61721 fra.me.REG[3] = NIT_NULL;
61722 fra.me.REG[4] = NIT_NULL;
61723 fra.me.REG[5] = NIT_NULL;
61724 fra.me.REG[6] = NIT_NULL;
61725 fra.me.REG[0] = p0;
61726 fra.me.REG[1] = p1;
61727 fra.me.REG[0] = NIT_NULL;
61728 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61729 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61730 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61731 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61732 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61733 fra.me.REG[5] = NEW_Array_array___Array___init();
61734 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
61735 /* ./parser//parser.nit:23181 */
61736 if (UNTAG_Bool(REGB0)) {
61737 } else {
61738 fprintf(stderr, "Assert failed");
61739 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23181);
61740 nit_exit(1);
61741 }
61742 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
61743 /* ./parser//parser.nit:23183 */
61744 if (UNTAG_Bool(REGB0)) {
61745 } else {
61746 fprintf(stderr, "Assert failed");
61747 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23183);
61748 nit_exit(1);
61749 }
61750 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
61751 /* ./parser//parser.nit:23185 */
61752 if (UNTAG_Bool(REGB0)) {
61753 } else {
61754 fprintf(stderr, "Assert failed");
61755 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23185);
61756 nit_exit(1);
61757 }
61758 fra.me.REG[6] = NEW_Array_array___Array___init();
61759 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
61760 fra.me.REG[6] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[2], fra.me.REG[6], NIT_NULL);
61761 fra.me.REG[0] = fra.me.REG[6];
61762 REGB0 = TAG_Int(31);
61763 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
61764 /* ./parser//parser.nit:23199 */
61765 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
61766 stack_frame_head = fra.me.prev;
61767 return;
61768 }
61769 void parser___ReduceAction529___init(val_t p0, int* init_table){
61770 int itpos533 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction529].i;
61771 struct {struct stack_frame_t me;} fra;
61772 val_t tmp;
61773 if (init_table[itpos533]) return;
61774 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61775 fra.me.file = LOCATE_parser;
61776 fra.me.line = 23201;
61777 fra.me.meth = LOCATE_parser___ReduceAction529___init;
61778 fra.me.has_broke = 0;
61779 fra.me.REG_size = 1;
61780 fra.me.REG[0] = NIT_NULL;
61781 fra.me.REG[0] = p0;
61782 /* ./parser//parser.nit:23201 */
61783 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
61784 stack_frame_head = fra.me.prev;
61785 init_table[itpos533] = 1;
61786 return;
61787 }
61788 void parser___ReduceAction530___action(val_t p0, val_t p1){
61789 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
61790 val_t REGB0;
61791 val_t tmp;
61792 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61793 fra.me.file = LOCATE_parser;
61794 fra.me.line = 23205;
61795 fra.me.meth = LOCATE_parser___ReduceAction530___action;
61796 fra.me.has_broke = 0;
61797 fra.me.REG_size = 7;
61798 fra.me.REG[0] = NIT_NULL;
61799 fra.me.REG[1] = NIT_NULL;
61800 fra.me.REG[2] = NIT_NULL;
61801 fra.me.REG[3] = NIT_NULL;
61802 fra.me.REG[4] = NIT_NULL;
61803 fra.me.REG[5] = NIT_NULL;
61804 fra.me.REG[6] = NIT_NULL;
61805 fra.me.REG[0] = p0;
61806 fra.me.REG[1] = p1;
61807 fra.me.REG[0] = NIT_NULL;
61808 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61809 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61810 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61811 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61812 fra.me.REG[5] = NEW_Array_array___Array___init();
61813 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
61814 /* ./parser//parser.nit:23214 */
61815 if (UNTAG_Bool(REGB0)) {
61816 } else {
61817 fprintf(stderr, "Assert failed");
61818 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23214);
61819 nit_exit(1);
61820 }
61821 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
61822 /* ./parser//parser.nit:23216 */
61823 if (UNTAG_Bool(REGB0)) {
61824 } else {
61825 fprintf(stderr, "Assert failed");
61826 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23216);
61827 nit_exit(1);
61828 }
61829 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
61830 /* ./parser//parser.nit:23218 */
61831 if (UNTAG_Bool(REGB0)) {
61832 } else {
61833 fprintf(stderr, "Assert failed");
61834 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23218);
61835 nit_exit(1);
61836 }
61837 fra.me.REG[6] = NEW_Array_array___Array___init();
61838 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
61839 fra.me.REG[6] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[2], fra.me.REG[6], NIT_NULL);
61840 fra.me.REG[0] = fra.me.REG[6];
61841 REGB0 = TAG_Int(31);
61842 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
61843 /* ./parser//parser.nit:23232 */
61844 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
61845 stack_frame_head = fra.me.prev;
61846 return;
61847 }
61848 void parser___ReduceAction530___init(val_t p0, int* init_table){
61849 int itpos534 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction530].i;
61850 struct {struct stack_frame_t me;} fra;
61851 val_t tmp;
61852 if (init_table[itpos534]) return;
61853 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61854 fra.me.file = LOCATE_parser;
61855 fra.me.line = 23234;
61856 fra.me.meth = LOCATE_parser___ReduceAction530___init;
61857 fra.me.has_broke = 0;
61858 fra.me.REG_size = 1;
61859 fra.me.REG[0] = NIT_NULL;
61860 fra.me.REG[0] = p0;
61861 /* ./parser//parser.nit:23234 */
61862 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
61863 stack_frame_head = fra.me.prev;
61864 init_table[itpos534] = 1;
61865 return;
61866 }
61867 void parser___ReduceAction531___action(val_t p0, val_t p1){
61868 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
61869 val_t REGB0;
61870 val_t REGB1;
61871 val_t tmp;
61872 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61873 fra.me.file = LOCATE_parser;
61874 fra.me.line = 23238;
61875 fra.me.meth = LOCATE_parser___ReduceAction531___action;
61876 fra.me.has_broke = 0;
61877 fra.me.REG_size = 8;
61878 fra.me.REG[0] = NIT_NULL;
61879 fra.me.REG[1] = NIT_NULL;
61880 fra.me.REG[2] = NIT_NULL;
61881 fra.me.REG[3] = NIT_NULL;
61882 fra.me.REG[4] = NIT_NULL;
61883 fra.me.REG[5] = NIT_NULL;
61884 fra.me.REG[6] = NIT_NULL;
61885 fra.me.REG[7] = NIT_NULL;
61886 fra.me.REG[0] = p0;
61887 fra.me.REG[1] = p1;
61888 fra.me.REG[0] = NIT_NULL;
61889 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61890 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61891 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61892 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61893 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61894 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61895 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61896 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
61897 fra.me.REG[7] = NEW_Array_array___Array___init();
61898 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
61899 /* ./parser//parser.nit:23251 */
61900 if (UNTAG_Bool(REGB0)) {
61901 } else {
61902 fprintf(stderr, "Assert failed");
61903 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23251);
61904 nit_exit(1);
61905 }
61906 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
61907 /* ./parser//parser.nit:23253 */
61908 if (UNTAG_Bool(REGB0)) {
61909 } else {
61910 fprintf(stderr, "Assert failed");
61911 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23253);
61912 nit_exit(1);
61913 }
61914 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
61915 /* ./parser//parser.nit:23255 */
61916 if (UNTAG_Bool(REGB0)) {
61917 } else {
61918 fprintf(stderr, "Assert failed");
61919 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23255);
61920 nit_exit(1);
61921 }
61922 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
61923 /* ./parser//parser.nit:23257 */
61924 if (UNTAG_Bool(REGB0)) {
61925 fra.me.REG[7] = fra.me.REG[4];
61926 /* ./parser//parser.nit:23258 */
61927 } else {
61928 /* ./parser//parser.nit:23260 */
61929 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
61930 }
61931 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
61932 /* ./parser//parser.nit:23264 */
61933 if (UNTAG_Bool(REGB0)) {
61934 } else {
61935 fprintf(stderr, "Assert failed");
61936 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23264);
61937 nit_exit(1);
61938 }
61939 fra.me.REG[4] = NEW_Array_array___Array___init();
61940 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
61941 /* ./parser//parser.nit:23267 */
61942 if (UNTAG_Bool(REGB0)) {
61943 } else {
61944 fprintf(stderr, "Assert failed");
61945 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23267);
61946 nit_exit(1);
61947 }
61948 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
61949 /* ./parser//parser.nit:23268 */
61950 if (UNTAG_Bool(REGB0)) {
61951 } else {
61952 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
61953 if (UNTAG_Bool(REGB1)) {
61954 REGB1 = TAG_Bool(false);
61955 REGB0 = REGB1;
61956 } else {
61957 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
61958 REGB0 = REGB1;
61959 }
61960 }
61961 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
61962 if (UNTAG_Bool(REGB0)) {
61963 /* ./parser//parser.nit:23269 */
61964 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
61965 }
61966 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
61967 fra.me.REG[4] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[4], NIT_NULL);
61968 fra.me.REG[0] = fra.me.REG[4];
61969 REGB0 = TAG_Int(31);
61970 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
61971 /* ./parser//parser.nit:23283 */
61972 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
61973 stack_frame_head = fra.me.prev;
61974 return;
61975 }
61976 void parser___ReduceAction531___init(val_t p0, int* init_table){
61977 int itpos535 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction531].i;
61978 struct {struct stack_frame_t me;} fra;
61979 val_t tmp;
61980 if (init_table[itpos535]) return;
61981 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
61982 fra.me.file = LOCATE_parser;
61983 fra.me.line = 23285;
61984 fra.me.meth = LOCATE_parser___ReduceAction531___init;
61985 fra.me.has_broke = 0;
61986 fra.me.REG_size = 1;
61987 fra.me.REG[0] = NIT_NULL;
61988 fra.me.REG[0] = p0;
61989 /* ./parser//parser.nit:23285 */
61990 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
61991 stack_frame_head = fra.me.prev;
61992 init_table[itpos535] = 1;
61993 return;
61994 }
61995 void parser___ReduceAction532___action(val_t p0, val_t p1){
61996 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
61997 val_t REGB0;
61998 val_t REGB1;
61999 val_t tmp;
62000 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62001 fra.me.file = LOCATE_parser;
62002 fra.me.line = 23289;
62003 fra.me.meth = LOCATE_parser___ReduceAction532___action;
62004 fra.me.has_broke = 0;
62005 fra.me.REG_size = 9;
62006 fra.me.REG[0] = NIT_NULL;
62007 fra.me.REG[1] = NIT_NULL;
62008 fra.me.REG[2] = NIT_NULL;
62009 fra.me.REG[3] = NIT_NULL;
62010 fra.me.REG[4] = NIT_NULL;
62011 fra.me.REG[5] = NIT_NULL;
62012 fra.me.REG[6] = NIT_NULL;
62013 fra.me.REG[7] = NIT_NULL;
62014 fra.me.REG[8] = NIT_NULL;
62015 fra.me.REG[0] = p0;
62016 fra.me.REG[1] = p1;
62017 fra.me.REG[0] = NIT_NULL;
62018 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62019 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62020 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62021 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62022 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62023 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62024 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62025 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62026 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62027 fra.me.REG[8] = NEW_Array_array___Array___init();
62028 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
62029 /* ./parser//parser.nit:23303 */
62030 if (UNTAG_Bool(REGB0)) {
62031 } else {
62032 fprintf(stderr, "Assert failed");
62033 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23303);
62034 nit_exit(1);
62035 }
62036 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
62037 /* ./parser//parser.nit:23305 */
62038 if (UNTAG_Bool(REGB0)) {
62039 } else {
62040 fprintf(stderr, "Assert failed");
62041 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23305);
62042 nit_exit(1);
62043 }
62044 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62045 /* ./parser//parser.nit:23307 */
62046 if (UNTAG_Bool(REGB0)) {
62047 } else {
62048 fprintf(stderr, "Assert failed");
62049 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23307);
62050 nit_exit(1);
62051 }
62052 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
62053 /* ./parser//parser.nit:23309 */
62054 if (UNTAG_Bool(REGB0)) {
62055 fra.me.REG[8] = fra.me.REG[5];
62056 /* ./parser//parser.nit:23310 */
62057 } else {
62058 /* ./parser//parser.nit:23312 */
62059 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
62060 }
62061 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
62062 /* ./parser//parser.nit:23316 */
62063 if (UNTAG_Bool(REGB0)) {
62064 } else {
62065 fprintf(stderr, "Assert failed");
62066 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23316);
62067 nit_exit(1);
62068 }
62069 fra.me.REG[5] = NEW_Array_array___Array___init();
62070 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
62071 /* ./parser//parser.nit:23319 */
62072 if (UNTAG_Bool(REGB0)) {
62073 } else {
62074 fprintf(stderr, "Assert failed");
62075 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23319);
62076 nit_exit(1);
62077 }
62078 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62079 /* ./parser//parser.nit:23321 */
62080 if (UNTAG_Bool(REGB0)) {
62081 } else {
62082 fprintf(stderr, "Assert failed");
62083 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23321);
62084 nit_exit(1);
62085 }
62086 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
62087 /* ./parser//parser.nit:23322 */
62088 if (UNTAG_Bool(REGB0)) {
62089 } else {
62090 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
62091 if (UNTAG_Bool(REGB1)) {
62092 REGB1 = TAG_Bool(false);
62093 REGB0 = REGB1;
62094 } else {
62095 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
62096 REGB0 = REGB1;
62097 }
62098 }
62099 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
62100 if (UNTAG_Bool(REGB0)) {
62101 /* ./parser//parser.nit:23323 */
62102 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
62103 }
62104 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
62105 /* ./parser//parser.nit:23326 */
62106 if (UNTAG_Bool(REGB0)) {
62107 fra.me.REG[5] = fra.me.REG[2];
62108 /* ./parser//parser.nit:23327 */
62109 } else {
62110 /* ./parser//parser.nit:23329 */
62111 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
62112 }
62113 fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
62114 fra.me.REG[5] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[5], NIT_NULL);
62115 fra.me.REG[0] = fra.me.REG[5];
62116 REGB0 = TAG_Int(31);
62117 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
62118 /* ./parser//parser.nit:23344 */
62119 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
62120 stack_frame_head = fra.me.prev;
62121 return;
62122 }
62123 void parser___ReduceAction532___init(val_t p0, int* init_table){
62124 int itpos536 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction532].i;
62125 struct {struct stack_frame_t me;} fra;
62126 val_t tmp;
62127 if (init_table[itpos536]) return;
62128 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62129 fra.me.file = LOCATE_parser;
62130 fra.me.line = 23346;
62131 fra.me.meth = LOCATE_parser___ReduceAction532___init;
62132 fra.me.has_broke = 0;
62133 fra.me.REG_size = 1;
62134 fra.me.REG[0] = NIT_NULL;
62135 fra.me.REG[0] = p0;
62136 /* ./parser//parser.nit:23346 */
62137 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
62138 stack_frame_head = fra.me.prev;
62139 init_table[itpos536] = 1;
62140 return;
62141 }
62142 void parser___ReduceAction533___action(val_t p0, val_t p1){
62143 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
62144 val_t REGB0;
62145 val_t tmp;
62146 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62147 fra.me.file = LOCATE_parser;
62148 fra.me.line = 23350;
62149 fra.me.meth = LOCATE_parser___ReduceAction533___action;
62150 fra.me.has_broke = 0;
62151 fra.me.REG_size = 7;
62152 fra.me.REG[0] = NIT_NULL;
62153 fra.me.REG[1] = NIT_NULL;
62154 fra.me.REG[2] = NIT_NULL;
62155 fra.me.REG[3] = NIT_NULL;
62156 fra.me.REG[4] = NIT_NULL;
62157 fra.me.REG[5] = NIT_NULL;
62158 fra.me.REG[6] = NIT_NULL;
62159 fra.me.REG[0] = p0;
62160 fra.me.REG[1] = p1;
62161 fra.me.REG[0] = NIT_NULL;
62162 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62163 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62164 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62165 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62166 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62167 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62168 fra.me.REG[6] = NEW_Array_array___Array___init();
62169 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
62170 /* ./parser//parser.nit:23361 */
62171 if (UNTAG_Bool(REGB0)) {
62172 } else {
62173 fprintf(stderr, "Assert failed");
62174 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23361);
62175 nit_exit(1);
62176 }
62177 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
62178 /* ./parser//parser.nit:23363 */
62179 if (UNTAG_Bool(REGB0)) {
62180 } else {
62181 fprintf(stderr, "Assert failed");
62182 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23363);
62183 nit_exit(1);
62184 }
62185 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62186 /* ./parser//parser.nit:23365 */
62187 if (UNTAG_Bool(REGB0)) {
62188 } else {
62189 fprintf(stderr, "Assert failed");
62190 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23365);
62191 nit_exit(1);
62192 }
62193 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
62194 /* ./parser//parser.nit:23367 */
62195 if (UNTAG_Bool(REGB0)) {
62196 fra.me.REG[6] = fra.me.REG[3];
62197 /* ./parser//parser.nit:23368 */
62198 } else {
62199 /* ./parser//parser.nit:23370 */
62200 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
62201 }
62202 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
62203 /* ./parser//parser.nit:23374 */
62204 if (UNTAG_Bool(REGB0)) {
62205 } else {
62206 fprintf(stderr, "Assert failed");
62207 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23374);
62208 nit_exit(1);
62209 }
62210 fra.me.REG[3] = NEW_Array_array___Array___init();
62211 fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]);
62212 fra.me.REG[3] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[2], fra.me.REG[3], NIT_NULL);
62213 fra.me.REG[0] = fra.me.REG[3];
62214 REGB0 = TAG_Int(31);
62215 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
62216 /* ./parser//parser.nit:23388 */
62217 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
62218 stack_frame_head = fra.me.prev;
62219 return;
62220 }
62221 void parser___ReduceAction533___init(val_t p0, int* init_table){
62222 int itpos537 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction533].i;
62223 struct {struct stack_frame_t me;} fra;
62224 val_t tmp;
62225 if (init_table[itpos537]) return;
62226 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62227 fra.me.file = LOCATE_parser;
62228 fra.me.line = 23390;
62229 fra.me.meth = LOCATE_parser___ReduceAction533___init;
62230 fra.me.has_broke = 0;
62231 fra.me.REG_size = 1;
62232 fra.me.REG[0] = NIT_NULL;
62233 fra.me.REG[0] = p0;
62234 /* ./parser//parser.nit:23390 */
62235 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
62236 stack_frame_head = fra.me.prev;
62237 init_table[itpos537] = 1;
62238 return;
62239 }
62240 void parser___ReduceAction534___action(val_t p0, val_t p1){
62241 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
62242 val_t REGB0;
62243 val_t tmp;
62244 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62245 fra.me.file = LOCATE_parser;
62246 fra.me.line = 23394;
62247 fra.me.meth = LOCATE_parser___ReduceAction534___action;
62248 fra.me.has_broke = 0;
62249 fra.me.REG_size = 7;
62250 fra.me.REG[0] = NIT_NULL;
62251 fra.me.REG[1] = NIT_NULL;
62252 fra.me.REG[2] = NIT_NULL;
62253 fra.me.REG[3] = NIT_NULL;
62254 fra.me.REG[4] = NIT_NULL;
62255 fra.me.REG[5] = NIT_NULL;
62256 fra.me.REG[6] = NIT_NULL;
62257 fra.me.REG[0] = p0;
62258 fra.me.REG[1] = p1;
62259 fra.me.REG[0] = NIT_NULL;
62260 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62261 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62262 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62263 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62264 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62265 fra.me.REG[6] = NEW_Array_array___Array___init();
62266 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
62267 /* ./parser//parser.nit:23404 */
62268 if (UNTAG_Bool(REGB0)) {
62269 } else {
62270 fprintf(stderr, "Assert failed");
62271 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23404);
62272 nit_exit(1);
62273 }
62274 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
62275 /* ./parser//parser.nit:23406 */
62276 if (UNTAG_Bool(REGB0)) {
62277 } else {
62278 fprintf(stderr, "Assert failed");
62279 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23406);
62280 nit_exit(1);
62281 }
62282 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62283 /* ./parser//parser.nit:23408 */
62284 if (UNTAG_Bool(REGB0)) {
62285 } else {
62286 fprintf(stderr, "Assert failed");
62287 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23408);
62288 nit_exit(1);
62289 }
62290 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
62291 /* ./parser//parser.nit:23410 */
62292 if (UNTAG_Bool(REGB0)) {
62293 fra.me.REG[6] = fra.me.REG[3];
62294 /* ./parser//parser.nit:23411 */
62295 } else {
62296 /* ./parser//parser.nit:23413 */
62297 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
62298 }
62299 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
62300 /* ./parser//parser.nit:23417 */
62301 if (UNTAG_Bool(REGB0)) {
62302 } else {
62303 fprintf(stderr, "Assert failed");
62304 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23417);
62305 nit_exit(1);
62306 }
62307 fra.me.REG[3] = NEW_Array_array___Array___init();
62308 fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]);
62309 fra.me.REG[3] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[2], fra.me.REG[3], NIT_NULL);
62310 fra.me.REG[0] = fra.me.REG[3];
62311 REGB0 = TAG_Int(31);
62312 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
62313 /* ./parser//parser.nit:23431 */
62314 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
62315 stack_frame_head = fra.me.prev;
62316 return;
62317 }
62318 void parser___ReduceAction534___init(val_t p0, int* init_table){
62319 int itpos538 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction534].i;
62320 struct {struct stack_frame_t me;} fra;
62321 val_t tmp;
62322 if (init_table[itpos538]) return;
62323 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62324 fra.me.file = LOCATE_parser;
62325 fra.me.line = 23433;
62326 fra.me.meth = LOCATE_parser___ReduceAction534___init;
62327 fra.me.has_broke = 0;
62328 fra.me.REG_size = 1;
62329 fra.me.REG[0] = NIT_NULL;
62330 fra.me.REG[0] = p0;
62331 /* ./parser//parser.nit:23433 */
62332 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
62333 stack_frame_head = fra.me.prev;
62334 init_table[itpos538] = 1;
62335 return;
62336 }
62337 void parser___ReduceAction535___action(val_t p0, val_t p1){
62338 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
62339 val_t REGB0;
62340 val_t REGB1;
62341 val_t tmp;
62342 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62343 fra.me.file = LOCATE_parser;
62344 fra.me.line = 23437;
62345 fra.me.meth = LOCATE_parser___ReduceAction535___action;
62346 fra.me.has_broke = 0;
62347 fra.me.REG_size = 9;
62348 fra.me.REG[0] = NIT_NULL;
62349 fra.me.REG[1] = NIT_NULL;
62350 fra.me.REG[2] = NIT_NULL;
62351 fra.me.REG[3] = NIT_NULL;
62352 fra.me.REG[4] = NIT_NULL;
62353 fra.me.REG[5] = NIT_NULL;
62354 fra.me.REG[6] = NIT_NULL;
62355 fra.me.REG[7] = NIT_NULL;
62356 fra.me.REG[8] = NIT_NULL;
62357 fra.me.REG[0] = p0;
62358 fra.me.REG[1] = p1;
62359 fra.me.REG[0] = NIT_NULL;
62360 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62361 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62362 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62363 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62364 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62365 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62366 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62367 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62368 fra.me.REG[7] = NEW_Array_array___Array___init();
62369 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
62370 /* ./parser//parser.nit:23450 */
62371 if (UNTAG_Bool(REGB0)) {
62372 } else {
62373 fprintf(stderr, "Assert failed");
62374 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23450);
62375 nit_exit(1);
62376 }
62377 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
62378 /* ./parser//parser.nit:23452 */
62379 if (UNTAG_Bool(REGB0)) {
62380 } else {
62381 fprintf(stderr, "Assert failed");
62382 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23452);
62383 nit_exit(1);
62384 }
62385 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
62386 /* ./parser//parser.nit:23454 */
62387 if (UNTAG_Bool(REGB0)) {
62388 } else {
62389 fprintf(stderr, "Assert failed");
62390 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23454);
62391 nit_exit(1);
62392 }
62393 fra.me.REG[8] = NEW_Array_array___Array___init();
62394 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
62395 /* ./parser//parser.nit:23457 */
62396 if (UNTAG_Bool(REGB0)) {
62397 } else {
62398 fprintf(stderr, "Assert failed");
62399 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23457);
62400 nit_exit(1);
62401 }
62402 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
62403 /* ./parser//parser.nit:23458 */
62404 if (UNTAG_Bool(REGB0)) {
62405 } else {
62406 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
62407 if (UNTAG_Bool(REGB1)) {
62408 REGB1 = TAG_Bool(false);
62409 REGB0 = REGB1;
62410 } else {
62411 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
62412 REGB0 = REGB1;
62413 }
62414 }
62415 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
62416 if (UNTAG_Bool(REGB0)) {
62417 /* ./parser//parser.nit:23459 */
62418 array___Array___add(fra.me.REG[8], fra.me.REG[3]);
62419 }
62420 fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]);
62421 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
62422 /* ./parser//parser.nit:23465 */
62423 if (UNTAG_Bool(REGB0)) {
62424 } else {
62425 fprintf(stderr, "Assert failed");
62426 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23465);
62427 nit_exit(1);
62428 }
62429 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[4], fra.me.REG[8], fra.me.REG[2]);
62430 fra.me.REG[0] = fra.me.REG[2];
62431 REGB0 = TAG_Int(31);
62432 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
62433 /* ./parser//parser.nit:23475 */
62434 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
62435 stack_frame_head = fra.me.prev;
62436 return;
62437 }
62438 void parser___ReduceAction535___init(val_t p0, int* init_table){
62439 int itpos539 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction535].i;
62440 struct {struct stack_frame_t me;} fra;
62441 val_t tmp;
62442 if (init_table[itpos539]) return;
62443 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62444 fra.me.file = LOCATE_parser;
62445 fra.me.line = 23477;
62446 fra.me.meth = LOCATE_parser___ReduceAction535___init;
62447 fra.me.has_broke = 0;
62448 fra.me.REG_size = 1;
62449 fra.me.REG[0] = NIT_NULL;
62450 fra.me.REG[0] = p0;
62451 /* ./parser//parser.nit:23477 */
62452 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
62453 stack_frame_head = fra.me.prev;
62454 init_table[itpos539] = 1;
62455 return;
62456 }
62457 void parser___ReduceAction536___action(val_t p0, val_t p1){
62458 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
62459 val_t REGB0;
62460 val_t REGB1;
62461 val_t tmp;
62462 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62463 fra.me.file = LOCATE_parser;
62464 fra.me.line = 23481;
62465 fra.me.meth = LOCATE_parser___ReduceAction536___action;
62466 fra.me.has_broke = 0;
62467 fra.me.REG_size = 10;
62468 fra.me.REG[0] = NIT_NULL;
62469 fra.me.REG[1] = NIT_NULL;
62470 fra.me.REG[2] = NIT_NULL;
62471 fra.me.REG[3] = NIT_NULL;
62472 fra.me.REG[4] = NIT_NULL;
62473 fra.me.REG[5] = NIT_NULL;
62474 fra.me.REG[6] = NIT_NULL;
62475 fra.me.REG[7] = NIT_NULL;
62476 fra.me.REG[8] = NIT_NULL;
62477 fra.me.REG[9] = NIT_NULL;
62478 fra.me.REG[0] = p0;
62479 fra.me.REG[1] = p1;
62480 fra.me.REG[0] = NIT_NULL;
62481 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62482 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62483 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62484 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62485 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62486 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62487 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62488 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62489 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62490 fra.me.REG[8] = NEW_Array_array___Array___init();
62491 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
62492 /* ./parser//parser.nit:23495 */
62493 if (UNTAG_Bool(REGB0)) {
62494 } else {
62495 fprintf(stderr, "Assert failed");
62496 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23495);
62497 nit_exit(1);
62498 }
62499 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
62500 /* ./parser//parser.nit:23497 */
62501 if (UNTAG_Bool(REGB0)) {
62502 } else {
62503 fprintf(stderr, "Assert failed");
62504 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23497);
62505 nit_exit(1);
62506 }
62507 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
62508 /* ./parser//parser.nit:23499 */
62509 if (UNTAG_Bool(REGB0)) {
62510 } else {
62511 fprintf(stderr, "Assert failed");
62512 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23499);
62513 nit_exit(1);
62514 }
62515 fra.me.REG[9] = NEW_Array_array___Array___init();
62516 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
62517 /* ./parser//parser.nit:23502 */
62518 if (UNTAG_Bool(REGB0)) {
62519 } else {
62520 fprintf(stderr, "Assert failed");
62521 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23502);
62522 nit_exit(1);
62523 }
62524 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62525 /* ./parser//parser.nit:23504 */
62526 if (UNTAG_Bool(REGB0)) {
62527 } else {
62528 fprintf(stderr, "Assert failed");
62529 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23504);
62530 nit_exit(1);
62531 }
62532 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
62533 /* ./parser//parser.nit:23505 */
62534 if (UNTAG_Bool(REGB0)) {
62535 } else {
62536 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
62537 if (UNTAG_Bool(REGB1)) {
62538 REGB1 = TAG_Bool(false);
62539 REGB0 = REGB1;
62540 } else {
62541 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
62542 REGB0 = REGB1;
62543 }
62544 }
62545 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
62546 if (UNTAG_Bool(REGB0)) {
62547 /* ./parser//parser.nit:23506 */
62548 array___Array___add(fra.me.REG[9], fra.me.REG[4]);
62549 }
62550 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]);
62551 /* ./parser//parser.nit:23509 */
62552 if (UNTAG_Bool(REGB0)) {
62553 fra.me.REG[9] = fra.me.REG[3];
62554 /* ./parser//parser.nit:23510 */
62555 } else {
62556 /* ./parser//parser.nit:23512 */
62557 CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
62558 }
62559 fra.me.REG[9] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[9]);
62560 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
62561 /* ./parser//parser.nit:23519 */
62562 if (UNTAG_Bool(REGB0)) {
62563 } else {
62564 fprintf(stderr, "Assert failed");
62565 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23519);
62566 nit_exit(1);
62567 }
62568 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[5], fra.me.REG[9], fra.me.REG[2]);
62569 fra.me.REG[0] = fra.me.REG[2];
62570 REGB0 = TAG_Int(31);
62571 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
62572 /* ./parser//parser.nit:23529 */
62573 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
62574 stack_frame_head = fra.me.prev;
62575 return;
62576 }
62577 void parser___ReduceAction536___init(val_t p0, int* init_table){
62578 int itpos540 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction536].i;
62579 struct {struct stack_frame_t me;} fra;
62580 val_t tmp;
62581 if (init_table[itpos540]) return;
62582 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62583 fra.me.file = LOCATE_parser;
62584 fra.me.line = 23531;
62585 fra.me.meth = LOCATE_parser___ReduceAction536___init;
62586 fra.me.has_broke = 0;
62587 fra.me.REG_size = 1;
62588 fra.me.REG[0] = NIT_NULL;
62589 fra.me.REG[0] = p0;
62590 /* ./parser//parser.nit:23531 */
62591 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
62592 stack_frame_head = fra.me.prev;
62593 init_table[itpos540] = 1;
62594 return;
62595 }
62596 void parser___ReduceAction537___action(val_t p0, val_t p1){
62597 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
62598 val_t REGB0;
62599 val_t tmp;
62600 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62601 fra.me.file = LOCATE_parser;
62602 fra.me.line = 23535;
62603 fra.me.meth = LOCATE_parser___ReduceAction537___action;
62604 fra.me.has_broke = 0;
62605 fra.me.REG_size = 8;
62606 fra.me.REG[0] = NIT_NULL;
62607 fra.me.REG[1] = NIT_NULL;
62608 fra.me.REG[2] = NIT_NULL;
62609 fra.me.REG[3] = NIT_NULL;
62610 fra.me.REG[4] = NIT_NULL;
62611 fra.me.REG[5] = NIT_NULL;
62612 fra.me.REG[6] = NIT_NULL;
62613 fra.me.REG[7] = NIT_NULL;
62614 fra.me.REG[0] = p0;
62615 fra.me.REG[1] = p1;
62616 fra.me.REG[0] = NIT_NULL;
62617 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62618 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62619 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62620 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62621 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62622 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62623 fra.me.REG[6] = NEW_Array_array___Array___init();
62624 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
62625 /* ./parser//parser.nit:23546 */
62626 if (UNTAG_Bool(REGB0)) {
62627 } else {
62628 fprintf(stderr, "Assert failed");
62629 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23546);
62630 nit_exit(1);
62631 }
62632 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
62633 /* ./parser//parser.nit:23548 */
62634 if (UNTAG_Bool(REGB0)) {
62635 } else {
62636 fprintf(stderr, "Assert failed");
62637 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23548);
62638 nit_exit(1);
62639 }
62640 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
62641 /* ./parser//parser.nit:23550 */
62642 if (UNTAG_Bool(REGB0)) {
62643 } else {
62644 fprintf(stderr, "Assert failed");
62645 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23550);
62646 nit_exit(1);
62647 }
62648 fra.me.REG[7] = NEW_Array_array___Array___init();
62649 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
62650 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
62651 /* ./parser//parser.nit:23556 */
62652 if (UNTAG_Bool(REGB0)) {
62653 } else {
62654 fprintf(stderr, "Assert failed");
62655 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23556);
62656 nit_exit(1);
62657 }
62658 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[7], fra.me.REG[2]);
62659 fra.me.REG[0] = fra.me.REG[2];
62660 REGB0 = TAG_Int(31);
62661 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
62662 /* ./parser//parser.nit:23566 */
62663 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
62664 stack_frame_head = fra.me.prev;
62665 return;
62666 }
62667 void parser___ReduceAction537___init(val_t p0, int* init_table){
62668 int itpos541 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction537].i;
62669 struct {struct stack_frame_t me;} fra;
62670 val_t tmp;
62671 if (init_table[itpos541]) return;
62672 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62673 fra.me.file = LOCATE_parser;
62674 fra.me.line = 23568;
62675 fra.me.meth = LOCATE_parser___ReduceAction537___init;
62676 fra.me.has_broke = 0;
62677 fra.me.REG_size = 1;
62678 fra.me.REG[0] = NIT_NULL;
62679 fra.me.REG[0] = p0;
62680 /* ./parser//parser.nit:23568 */
62681 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
62682 stack_frame_head = fra.me.prev;
62683 init_table[itpos541] = 1;
62684 return;
62685 }
62686 void parser___ReduceAction538___action(val_t p0, val_t p1){
62687 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
62688 val_t REGB0;
62689 val_t tmp;
62690 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62691 fra.me.file = LOCATE_parser;
62692 fra.me.line = 23572;
62693 fra.me.meth = LOCATE_parser___ReduceAction538___action;
62694 fra.me.has_broke = 0;
62695 fra.me.REG_size = 8;
62696 fra.me.REG[0] = NIT_NULL;
62697 fra.me.REG[1] = NIT_NULL;
62698 fra.me.REG[2] = NIT_NULL;
62699 fra.me.REG[3] = NIT_NULL;
62700 fra.me.REG[4] = NIT_NULL;
62701 fra.me.REG[5] = NIT_NULL;
62702 fra.me.REG[6] = NIT_NULL;
62703 fra.me.REG[7] = NIT_NULL;
62704 fra.me.REG[0] = p0;
62705 fra.me.REG[1] = p1;
62706 fra.me.REG[0] = NIT_NULL;
62707 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62708 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62709 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62710 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62711 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62712 fra.me.REG[6] = NEW_Array_array___Array___init();
62713 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
62714 /* ./parser//parser.nit:23582 */
62715 if (UNTAG_Bool(REGB0)) {
62716 } else {
62717 fprintf(stderr, "Assert failed");
62718 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23582);
62719 nit_exit(1);
62720 }
62721 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
62722 /* ./parser//parser.nit:23584 */
62723 if (UNTAG_Bool(REGB0)) {
62724 } else {
62725 fprintf(stderr, "Assert failed");
62726 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23584);
62727 nit_exit(1);
62728 }
62729 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
62730 /* ./parser//parser.nit:23586 */
62731 if (UNTAG_Bool(REGB0)) {
62732 } else {
62733 fprintf(stderr, "Assert failed");
62734 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23586);
62735 nit_exit(1);
62736 }
62737 fra.me.REG[7] = NEW_Array_array___Array___init();
62738 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
62739 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
62740 /* ./parser//parser.nit:23592 */
62741 if (UNTAG_Bool(REGB0)) {
62742 } else {
62743 fprintf(stderr, "Assert failed");
62744 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23592);
62745 nit_exit(1);
62746 }
62747 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[7], fra.me.REG[2]);
62748 fra.me.REG[0] = fra.me.REG[2];
62749 REGB0 = TAG_Int(31);
62750 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
62751 /* ./parser//parser.nit:23602 */
62752 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
62753 stack_frame_head = fra.me.prev;
62754 return;
62755 }
62756 void parser___ReduceAction538___init(val_t p0, int* init_table){
62757 int itpos542 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction538].i;
62758 struct {struct stack_frame_t me;} fra;
62759 val_t tmp;
62760 if (init_table[itpos542]) return;
62761 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62762 fra.me.file = LOCATE_parser;
62763 fra.me.line = 23604;
62764 fra.me.meth = LOCATE_parser___ReduceAction538___init;
62765 fra.me.has_broke = 0;
62766 fra.me.REG_size = 1;
62767 fra.me.REG[0] = NIT_NULL;
62768 fra.me.REG[0] = p0;
62769 /* ./parser//parser.nit:23604 */
62770 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
62771 stack_frame_head = fra.me.prev;
62772 init_table[itpos542] = 1;
62773 return;
62774 }
62775 void parser___ReduceAction539___action(val_t p0, val_t p1){
62776 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
62777 val_t REGB0;
62778 val_t REGB1;
62779 val_t tmp;
62780 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62781 fra.me.file = LOCATE_parser;
62782 fra.me.line = 23608;
62783 fra.me.meth = LOCATE_parser___ReduceAction539___action;
62784 fra.me.has_broke = 0;
62785 fra.me.REG_size = 9;
62786 fra.me.REG[0] = NIT_NULL;
62787 fra.me.REG[1] = NIT_NULL;
62788 fra.me.REG[2] = NIT_NULL;
62789 fra.me.REG[3] = NIT_NULL;
62790 fra.me.REG[4] = NIT_NULL;
62791 fra.me.REG[5] = NIT_NULL;
62792 fra.me.REG[6] = NIT_NULL;
62793 fra.me.REG[7] = NIT_NULL;
62794 fra.me.REG[8] = NIT_NULL;
62795 fra.me.REG[0] = p0;
62796 fra.me.REG[1] = p1;
62797 fra.me.REG[0] = NIT_NULL;
62798 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62799 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62800 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62801 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62802 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62803 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62804 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62805 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62806 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62807 fra.me.REG[8] = NEW_Array_array___Array___init();
62808 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
62809 /* ./parser//parser.nit:23622 */
62810 if (UNTAG_Bool(REGB0)) {
62811 } else {
62812 fprintf(stderr, "Assert failed");
62813 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23622);
62814 nit_exit(1);
62815 }
62816 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
62817 /* ./parser//parser.nit:23624 */
62818 if (UNTAG_Bool(REGB0)) {
62819 } else {
62820 fprintf(stderr, "Assert failed");
62821 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23624);
62822 nit_exit(1);
62823 }
62824 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62825 /* ./parser//parser.nit:23626 */
62826 if (UNTAG_Bool(REGB0)) {
62827 } else {
62828 fprintf(stderr, "Assert failed");
62829 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23626);
62830 nit_exit(1);
62831 }
62832 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
62833 /* ./parser//parser.nit:23628 */
62834 if (UNTAG_Bool(REGB0)) {
62835 fra.me.REG[8] = fra.me.REG[5];
62836 /* ./parser//parser.nit:23629 */
62837 } else {
62838 /* ./parser//parser.nit:23631 */
62839 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
62840 }
62841 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
62842 /* ./parser//parser.nit:23635 */
62843 if (UNTAG_Bool(REGB0)) {
62844 } else {
62845 fprintf(stderr, "Assert failed");
62846 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23635);
62847 nit_exit(1);
62848 }
62849 fra.me.REG[5] = NEW_Array_array___Array___init();
62850 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
62851 /* ./parser//parser.nit:23638 */
62852 if (UNTAG_Bool(REGB0)) {
62853 } else {
62854 fprintf(stderr, "Assert failed");
62855 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23638);
62856 nit_exit(1);
62857 }
62858 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
62859 /* ./parser//parser.nit:23639 */
62860 if (UNTAG_Bool(REGB0)) {
62861 } else {
62862 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
62863 if (UNTAG_Bool(REGB1)) {
62864 REGB1 = TAG_Bool(false);
62865 REGB0 = REGB1;
62866 } else {
62867 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
62868 REGB0 = REGB1;
62869 }
62870 }
62871 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
62872 if (UNTAG_Bool(REGB0)) {
62873 /* ./parser//parser.nit:23640 */
62874 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
62875 }
62876 fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
62877 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
62878 /* ./parser//parser.nit:23646 */
62879 if (UNTAG_Bool(REGB0)) {
62880 } else {
62881 fprintf(stderr, "Assert failed");
62882 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23646);
62883 nit_exit(1);
62884 }
62885 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[5], fra.me.REG[2]);
62886 fra.me.REG[0] = fra.me.REG[2];
62887 REGB0 = TAG_Int(31);
62888 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
62889 /* ./parser//parser.nit:23656 */
62890 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
62891 stack_frame_head = fra.me.prev;
62892 return;
62893 }
62894 void parser___ReduceAction539___init(val_t p0, int* init_table){
62895 int itpos543 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction539].i;
62896 struct {struct stack_frame_t me;} fra;
62897 val_t tmp;
62898 if (init_table[itpos543]) return;
62899 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62900 fra.me.file = LOCATE_parser;
62901 fra.me.line = 23658;
62902 fra.me.meth = LOCATE_parser___ReduceAction539___init;
62903 fra.me.has_broke = 0;
62904 fra.me.REG_size = 1;
62905 fra.me.REG[0] = NIT_NULL;
62906 fra.me.REG[0] = p0;
62907 /* ./parser//parser.nit:23658 */
62908 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
62909 stack_frame_head = fra.me.prev;
62910 init_table[itpos543] = 1;
62911 return;
62912 }
62913 void parser___ReduceAction540___action(val_t p0, val_t p1){
62914 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
62915 val_t REGB0;
62916 val_t REGB1;
62917 val_t tmp;
62918 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
62919 fra.me.file = LOCATE_parser;
62920 fra.me.line = 23662;
62921 fra.me.meth = LOCATE_parser___ReduceAction540___action;
62922 fra.me.has_broke = 0;
62923 fra.me.REG_size = 10;
62924 fra.me.REG[0] = NIT_NULL;
62925 fra.me.REG[1] = NIT_NULL;
62926 fra.me.REG[2] = NIT_NULL;
62927 fra.me.REG[3] = NIT_NULL;
62928 fra.me.REG[4] = NIT_NULL;
62929 fra.me.REG[5] = NIT_NULL;
62930 fra.me.REG[6] = NIT_NULL;
62931 fra.me.REG[7] = NIT_NULL;
62932 fra.me.REG[8] = NIT_NULL;
62933 fra.me.REG[9] = NIT_NULL;
62934 fra.me.REG[0] = p0;
62935 fra.me.REG[1] = p1;
62936 fra.me.REG[0] = NIT_NULL;
62937 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62938 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62939 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62940 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62941 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62942 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62943 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62944 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62945 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62946 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
62947 fra.me.REG[9] = NEW_Array_array___Array___init();
62948 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
62949 /* ./parser//parser.nit:23677 */
62950 if (UNTAG_Bool(REGB0)) {
62951 } else {
62952 fprintf(stderr, "Assert failed");
62953 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23677);
62954 nit_exit(1);
62955 }
62956 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
62957 /* ./parser//parser.nit:23679 */
62958 if (UNTAG_Bool(REGB0)) {
62959 } else {
62960 fprintf(stderr, "Assert failed");
62961 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23679);
62962 nit_exit(1);
62963 }
62964 REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62965 /* ./parser//parser.nit:23681 */
62966 if (UNTAG_Bool(REGB0)) {
62967 } else {
62968 fprintf(stderr, "Assert failed");
62969 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23681);
62970 nit_exit(1);
62971 }
62972 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]);
62973 /* ./parser//parser.nit:23683 */
62974 if (UNTAG_Bool(REGB0)) {
62975 fra.me.REG[9] = fra.me.REG[6];
62976 /* ./parser//parser.nit:23684 */
62977 } else {
62978 /* ./parser//parser.nit:23686 */
62979 CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[6]);
62980 }
62981 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
62982 /* ./parser//parser.nit:23690 */
62983 if (UNTAG_Bool(REGB0)) {
62984 } else {
62985 fprintf(stderr, "Assert failed");
62986 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23690);
62987 nit_exit(1);
62988 }
62989 fra.me.REG[6] = NEW_Array_array___Array___init();
62990 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
62991 /* ./parser//parser.nit:23693 */
62992 if (UNTAG_Bool(REGB0)) {
62993 } else {
62994 fprintf(stderr, "Assert failed");
62995 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23693);
62996 nit_exit(1);
62997 }
62998 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62999 /* ./parser//parser.nit:23695 */
63000 if (UNTAG_Bool(REGB0)) {
63001 } else {
63002 fprintf(stderr, "Assert failed");
63003 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23695);
63004 nit_exit(1);
63005 }
63006 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
63007 /* ./parser//parser.nit:23696 */
63008 if (UNTAG_Bool(REGB0)) {
63009 } else {
63010 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
63011 if (UNTAG_Bool(REGB1)) {
63012 REGB1 = TAG_Bool(false);
63013 REGB0 = REGB1;
63014 } else {
63015 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
63016 REGB0 = REGB1;
63017 }
63018 }
63019 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
63020 if (UNTAG_Bool(REGB0)) {
63021 /* ./parser//parser.nit:23697 */
63022 array___Array___add(fra.me.REG[6], fra.me.REG[4]);
63023 }
63024 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
63025 /* ./parser//parser.nit:23700 */
63026 if (UNTAG_Bool(REGB0)) {
63027 fra.me.REG[6] = fra.me.REG[3];
63028 /* ./parser//parser.nit:23701 */
63029 } else {
63030 /* ./parser//parser.nit:23703 */
63031 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
63032 }
63033 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
63034 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
63035 /* ./parser//parser.nit:23710 */
63036 if (UNTAG_Bool(REGB0)) {
63037 } else {
63038 fprintf(stderr, "Assert failed");
63039 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23710);
63040 nit_exit(1);
63041 }
63042 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[9], fra.me.REG[5], fra.me.REG[6], fra.me.REG[2]);
63043 fra.me.REG[0] = fra.me.REG[2];
63044 REGB0 = TAG_Int(31);
63045 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
63046 /* ./parser//parser.nit:23720 */
63047 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
63048 stack_frame_head = fra.me.prev;
63049 return;
63050 }
63051 void parser___ReduceAction540___init(val_t p0, int* init_table){
63052 int itpos544 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction540].i;
63053 struct {struct stack_frame_t me;} fra;
63054 val_t tmp;
63055 if (init_table[itpos544]) return;
63056 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63057 fra.me.file = LOCATE_parser;
63058 fra.me.line = 23722;
63059 fra.me.meth = LOCATE_parser___ReduceAction540___init;
63060 fra.me.has_broke = 0;
63061 fra.me.REG_size = 1;
63062 fra.me.REG[0] = NIT_NULL;
63063 fra.me.REG[0] = p0;
63064 /* ./parser//parser.nit:23722 */
63065 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
63066 stack_frame_head = fra.me.prev;
63067 init_table[itpos544] = 1;
63068 return;
63069 }
63070 void parser___ReduceAction541___action(val_t p0, val_t p1){
63071 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
63072 val_t REGB0;
63073 val_t tmp;
63074 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63075 fra.me.file = LOCATE_parser;
63076 fra.me.line = 23726;
63077 fra.me.meth = LOCATE_parser___ReduceAction541___action;
63078 fra.me.has_broke = 0;
63079 fra.me.REG_size = 8;
63080 fra.me.REG[0] = NIT_NULL;
63081 fra.me.REG[1] = NIT_NULL;
63082 fra.me.REG[2] = NIT_NULL;
63083 fra.me.REG[3] = NIT_NULL;
63084 fra.me.REG[4] = NIT_NULL;
63085 fra.me.REG[5] = NIT_NULL;
63086 fra.me.REG[6] = NIT_NULL;
63087 fra.me.REG[7] = NIT_NULL;
63088 fra.me.REG[0] = p0;
63089 fra.me.REG[1] = p1;
63090 fra.me.REG[0] = NIT_NULL;
63091 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63092 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63093 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63094 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63095 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63096 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63097 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63098 fra.me.REG[7] = NEW_Array_array___Array___init();
63099 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
63100 /* ./parser//parser.nit:23738 */
63101 if (UNTAG_Bool(REGB0)) {
63102 } else {
63103 fprintf(stderr, "Assert failed");
63104 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23738);
63105 nit_exit(1);
63106 }
63107 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
63108 /* ./parser//parser.nit:23740 */
63109 if (UNTAG_Bool(REGB0)) {
63110 } else {
63111 fprintf(stderr, "Assert failed");
63112 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23740);
63113 nit_exit(1);
63114 }
63115 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
63116 /* ./parser//parser.nit:23742 */
63117 if (UNTAG_Bool(REGB0)) {
63118 } else {
63119 fprintf(stderr, "Assert failed");
63120 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23742);
63121 nit_exit(1);
63122 }
63123 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
63124 /* ./parser//parser.nit:23744 */
63125 if (UNTAG_Bool(REGB0)) {
63126 fra.me.REG[7] = fra.me.REG[4];
63127 /* ./parser//parser.nit:23745 */
63128 } else {
63129 /* ./parser//parser.nit:23747 */
63130 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
63131 }
63132 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
63133 /* ./parser//parser.nit:23751 */
63134 if (UNTAG_Bool(REGB0)) {
63135 } else {
63136 fprintf(stderr, "Assert failed");
63137 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23751);
63138 nit_exit(1);
63139 }
63140 fra.me.REG[4] = NEW_Array_array___Array___init();
63141 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
63142 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
63143 /* ./parser//parser.nit:23757 */
63144 if (UNTAG_Bool(REGB0)) {
63145 } else {
63146 fprintf(stderr, "Assert failed");
63147 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23757);
63148 nit_exit(1);
63149 }
63150 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]);
63151 fra.me.REG[0] = fra.me.REG[2];
63152 REGB0 = TAG_Int(31);
63153 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
63154 /* ./parser//parser.nit:23767 */
63155 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
63156 stack_frame_head = fra.me.prev;
63157 return;
63158 }
63159 void parser___ReduceAction541___init(val_t p0, int* init_table){
63160 int itpos545 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction541].i;
63161 struct {struct stack_frame_t me;} fra;
63162 val_t tmp;
63163 if (init_table[itpos545]) return;
63164 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63165 fra.me.file = LOCATE_parser;
63166 fra.me.line = 23769;
63167 fra.me.meth = LOCATE_parser___ReduceAction541___init;
63168 fra.me.has_broke = 0;
63169 fra.me.REG_size = 1;
63170 fra.me.REG[0] = NIT_NULL;
63171 fra.me.REG[0] = p0;
63172 /* ./parser//parser.nit:23769 */
63173 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
63174 stack_frame_head = fra.me.prev;
63175 init_table[itpos545] = 1;
63176 return;
63177 }
63178 void parser___ReduceAction542___action(val_t p0, val_t p1){
63179 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
63180 val_t REGB0;
63181 val_t tmp;
63182 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63183 fra.me.file = LOCATE_parser;
63184 fra.me.line = 23773;
63185 fra.me.meth = LOCATE_parser___ReduceAction542___action;
63186 fra.me.has_broke = 0;
63187 fra.me.REG_size = 8;
63188 fra.me.REG[0] = NIT_NULL;
63189 fra.me.REG[1] = NIT_NULL;
63190 fra.me.REG[2] = NIT_NULL;
63191 fra.me.REG[3] = NIT_NULL;
63192 fra.me.REG[4] = NIT_NULL;
63193 fra.me.REG[5] = NIT_NULL;
63194 fra.me.REG[6] = NIT_NULL;
63195 fra.me.REG[7] = NIT_NULL;
63196 fra.me.REG[0] = p0;
63197 fra.me.REG[1] = p1;
63198 fra.me.REG[0] = NIT_NULL;
63199 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63200 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63201 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63202 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63203 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63204 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63205 fra.me.REG[7] = NEW_Array_array___Array___init();
63206 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
63207 /* ./parser//parser.nit:23784 */
63208 if (UNTAG_Bool(REGB0)) {
63209 } else {
63210 fprintf(stderr, "Assert failed");
63211 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23784);
63212 nit_exit(1);
63213 }
63214 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
63215 /* ./parser//parser.nit:23786 */
63216 if (UNTAG_Bool(REGB0)) {
63217 } else {
63218 fprintf(stderr, "Assert failed");
63219 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23786);
63220 nit_exit(1);
63221 }
63222 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
63223 /* ./parser//parser.nit:23788 */
63224 if (UNTAG_Bool(REGB0)) {
63225 } else {
63226 fprintf(stderr, "Assert failed");
63227 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23788);
63228 nit_exit(1);
63229 }
63230 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
63231 /* ./parser//parser.nit:23790 */
63232 if (UNTAG_Bool(REGB0)) {
63233 fra.me.REG[7] = fra.me.REG[4];
63234 /* ./parser//parser.nit:23791 */
63235 } else {
63236 /* ./parser//parser.nit:23793 */
63237 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
63238 }
63239 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
63240 /* ./parser//parser.nit:23797 */
63241 if (UNTAG_Bool(REGB0)) {
63242 } else {
63243 fprintf(stderr, "Assert failed");
63244 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23797);
63245 nit_exit(1);
63246 }
63247 fra.me.REG[4] = NEW_Array_array___Array___init();
63248 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
63249 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
63250 /* ./parser//parser.nit:23803 */
63251 if (UNTAG_Bool(REGB0)) {
63252 } else {
63253 fprintf(stderr, "Assert failed");
63254 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23803);
63255 nit_exit(1);
63256 }
63257 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]);
63258 fra.me.REG[0] = fra.me.REG[2];
63259 REGB0 = TAG_Int(31);
63260 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
63261 /* ./parser//parser.nit:23813 */
63262 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
63263 stack_frame_head = fra.me.prev;
63264 return;
63265 }
63266 void parser___ReduceAction542___init(val_t p0, int* init_table){
63267 int itpos546 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction542].i;
63268 struct {struct stack_frame_t me;} fra;
63269 val_t tmp;
63270 if (init_table[itpos546]) return;
63271 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63272 fra.me.file = LOCATE_parser;
63273 fra.me.line = 23815;
63274 fra.me.meth = LOCATE_parser___ReduceAction542___init;
63275 fra.me.has_broke = 0;
63276 fra.me.REG_size = 1;
63277 fra.me.REG[0] = NIT_NULL;
63278 fra.me.REG[0] = p0;
63279 /* ./parser//parser.nit:23815 */
63280 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
63281 stack_frame_head = fra.me.prev;
63282 init_table[itpos546] = 1;
63283 return;
63284 }
63285 void parser___ReduceAction543___action(val_t p0, val_t p1){
63286 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
63287 val_t REGB0;
63288 val_t tmp;
63289 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63290 fra.me.file = LOCATE_parser;
63291 fra.me.line = 23819;
63292 fra.me.meth = LOCATE_parser___ReduceAction543___action;
63293 fra.me.has_broke = 0;
63294 fra.me.REG_size = 7;
63295 fra.me.REG[0] = NIT_NULL;
63296 fra.me.REG[1] = NIT_NULL;
63297 fra.me.REG[2] = NIT_NULL;
63298 fra.me.REG[3] = NIT_NULL;
63299 fra.me.REG[4] = NIT_NULL;
63300 fra.me.REG[5] = NIT_NULL;
63301 fra.me.REG[6] = NIT_NULL;
63302 fra.me.REG[0] = p0;
63303 fra.me.REG[1] = p1;
63304 fra.me.REG[0] = NIT_NULL;
63305 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63306 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63307 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63308 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63309 fra.me.REG[6] = NEW_Array_array___Array___init();
63310 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
63311 /* ./parser//parser.nit:23828 */
63312 if (UNTAG_Bool(REGB0)) {
63313 } else {
63314 fprintf(stderr, "Assert failed");
63315 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23828);
63316 nit_exit(1);
63317 }
63318 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
63319 /* ./parser//parser.nit:23830 */
63320 if (UNTAG_Bool(REGB0)) {
63321 } else {
63322 fprintf(stderr, "Assert failed");
63323 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23830);
63324 nit_exit(1);
63325 }
63326 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
63327 /* ./parser//parser.nit:23832 */
63328 if (UNTAG_Bool(REGB0)) {
63329 } else {
63330 fprintf(stderr, "Assert failed");
63331 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23832);
63332 nit_exit(1);
63333 }
63334 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
63335 /* ./parser//parser.nit:23834 */
63336 if (UNTAG_Bool(REGB0)) {
63337 } else {
63338 fprintf(stderr, "Assert failed");
63339 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23834);
63340 nit_exit(1);
63341 }
63342 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
63343 fra.me.REG[0] = fra.me.REG[2];
63344 REGB0 = TAG_Int(31);
63345 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
63346 /* ./parser//parser.nit:23844 */
63347 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
63348 stack_frame_head = fra.me.prev;
63349 return;
63350 }
63351 void parser___ReduceAction543___init(val_t p0, int* init_table){
63352 int itpos547 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction543].i;
63353 struct {struct stack_frame_t me;} fra;
63354 val_t tmp;
63355 if (init_table[itpos547]) return;
63356 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63357 fra.me.file = LOCATE_parser;
63358 fra.me.line = 23846;
63359 fra.me.meth = LOCATE_parser___ReduceAction543___init;
63360 fra.me.has_broke = 0;
63361 fra.me.REG_size = 1;
63362 fra.me.REG[0] = NIT_NULL;
63363 fra.me.REG[0] = p0;
63364 /* ./parser//parser.nit:23846 */
63365 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
63366 stack_frame_head = fra.me.prev;
63367 init_table[itpos547] = 1;
63368 return;
63369 }
63370 void parser___ReduceAction544___action(val_t p0, val_t p1){
63371 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
63372 val_t REGB0;
63373 val_t tmp;
63374 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63375 fra.me.file = LOCATE_parser;
63376 fra.me.line = 23850;
63377 fra.me.meth = LOCATE_parser___ReduceAction544___action;
63378 fra.me.has_broke = 0;
63379 fra.me.REG_size = 8;
63380 fra.me.REG[0] = NIT_NULL;
63381 fra.me.REG[1] = NIT_NULL;
63382 fra.me.REG[2] = NIT_NULL;
63383 fra.me.REG[3] = NIT_NULL;
63384 fra.me.REG[4] = NIT_NULL;
63385 fra.me.REG[5] = NIT_NULL;
63386 fra.me.REG[6] = NIT_NULL;
63387 fra.me.REG[7] = NIT_NULL;
63388 fra.me.REG[0] = p0;
63389 fra.me.REG[1] = p1;
63390 fra.me.REG[0] = NIT_NULL;
63391 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63392 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63393 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63394 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63395 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63396 fra.me.REG[7] = NEW_Array_array___Array___init();
63397 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
63398 /* ./parser//parser.nit:23860 */
63399 if (UNTAG_Bool(REGB0)) {
63400 } else {
63401 fprintf(stderr, "Assert failed");
63402 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23860);
63403 nit_exit(1);
63404 }
63405 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
63406 /* ./parser//parser.nit:23862 */
63407 if (UNTAG_Bool(REGB0)) {
63408 } else {
63409 fprintf(stderr, "Assert failed");
63410 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23862);
63411 nit_exit(1);
63412 }
63413 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
63414 /* ./parser//parser.nit:23864 */
63415 if (UNTAG_Bool(REGB0)) {
63416 } else {
63417 fprintf(stderr, "Assert failed");
63418 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23864);
63419 nit_exit(1);
63420 }
63421 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
63422 /* ./parser//parser.nit:23866 */
63423 if (UNTAG_Bool(REGB0)) {
63424 fra.me.REG[7] = fra.me.REG[4];
63425 /* ./parser//parser.nit:23867 */
63426 } else {
63427 /* ./parser//parser.nit:23869 */
63428 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
63429 }
63430 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
63431 /* ./parser//parser.nit:23873 */
63432 if (UNTAG_Bool(REGB0)) {
63433 } else {
63434 fprintf(stderr, "Assert failed");
63435 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23873);
63436 nit_exit(1);
63437 }
63438 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
63439 /* ./parser//parser.nit:23875 */
63440 if (UNTAG_Bool(REGB0)) {
63441 } else {
63442 fprintf(stderr, "Assert failed");
63443 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23875);
63444 nit_exit(1);
63445 }
63446 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
63447 fra.me.REG[0] = fra.me.REG[2];
63448 REGB0 = TAG_Int(31);
63449 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
63450 /* ./parser//parser.nit:23885 */
63451 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
63452 stack_frame_head = fra.me.prev;
63453 return;
63454 }
63455 void parser___ReduceAction544___init(val_t p0, int* init_table){
63456 int itpos548 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction544].i;
63457 struct {struct stack_frame_t me;} fra;
63458 val_t tmp;
63459 if (init_table[itpos548]) return;
63460 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63461 fra.me.file = LOCATE_parser;
63462 fra.me.line = 23887;
63463 fra.me.meth = LOCATE_parser___ReduceAction544___init;
63464 fra.me.has_broke = 0;
63465 fra.me.REG_size = 1;
63466 fra.me.REG[0] = NIT_NULL;
63467 fra.me.REG[0] = p0;
63468 /* ./parser//parser.nit:23887 */
63469 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
63470 stack_frame_head = fra.me.prev;
63471 init_table[itpos548] = 1;
63472 return;
63473 }
63474 void parser___ReduceAction545___action(val_t p0, val_t p1){
63475 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
63476 val_t REGB0;
63477 val_t tmp;
63478 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63479 fra.me.file = LOCATE_parser;
63480 fra.me.line = 23891;
63481 fra.me.meth = LOCATE_parser___ReduceAction545___action;
63482 fra.me.has_broke = 0;
63483 fra.me.REG_size = 6;
63484 fra.me.REG[0] = NIT_NULL;
63485 fra.me.REG[1] = NIT_NULL;
63486 fra.me.REG[2] = NIT_NULL;
63487 fra.me.REG[3] = NIT_NULL;
63488 fra.me.REG[4] = NIT_NULL;
63489 fra.me.REG[5] = NIT_NULL;
63490 fra.me.REG[0] = p0;
63491 fra.me.REG[1] = p1;
63492 fra.me.REG[0] = NIT_NULL;
63493 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63494 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63495 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63496 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63497 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63498 fra.me.REG[5] = NEW_Array_array___Array___init();
63499 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
63500 /* ./parser//parser.nit:23901 */
63501 if (UNTAG_Bool(REGB0)) {
63502 } else {
63503 fprintf(stderr, "Assert failed");
63504 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23901);
63505 nit_exit(1);
63506 }
63507 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
63508 /* ./parser//parser.nit:23903 */
63509 if (UNTAG_Bool(REGB0)) {
63510 } else {
63511 fprintf(stderr, "Assert failed");
63512 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23903);
63513 nit_exit(1);
63514 }
63515 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
63516 /* ./parser//parser.nit:23905 */
63517 if (UNTAG_Bool(REGB0)) {
63518 } else {
63519 fprintf(stderr, "Assert failed");
63520 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23905);
63521 nit_exit(1);
63522 }
63523 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], NIT_NULL, fra.me.REG[2], NIT_NULL);
63524 fra.me.REG[0] = fra.me.REG[2];
63525 REGB0 = TAG_Int(31);
63526 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
63527 /* ./parser//parser.nit:23915 */
63528 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
63529 stack_frame_head = fra.me.prev;
63530 return;
63531 }
63532 void parser___ReduceAction545___init(val_t p0, int* init_table){
63533 int itpos549 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction545].i;
63534 struct {struct stack_frame_t me;} fra;
63535 val_t tmp;
63536 if (init_table[itpos549]) return;
63537 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63538 fra.me.file = LOCATE_parser;
63539 fra.me.line = 23917;
63540 fra.me.meth = LOCATE_parser___ReduceAction545___init;
63541 fra.me.has_broke = 0;
63542 fra.me.REG_size = 1;
63543 fra.me.REG[0] = NIT_NULL;
63544 fra.me.REG[0] = p0;
63545 /* ./parser//parser.nit:23917 */
63546 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
63547 stack_frame_head = fra.me.prev;
63548 init_table[itpos549] = 1;
63549 return;
63550 }
63551 void parser___ReduceAction546___action(val_t p0, val_t p1){
63552 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
63553 val_t REGB0;
63554 val_t tmp;
63555 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63556 fra.me.file = LOCATE_parser;
63557 fra.me.line = 23921;
63558 fra.me.meth = LOCATE_parser___ReduceAction546___action;
63559 fra.me.has_broke = 0;
63560 fra.me.REG_size = 7;
63561 fra.me.REG[0] = NIT_NULL;
63562 fra.me.REG[1] = NIT_NULL;
63563 fra.me.REG[2] = NIT_NULL;
63564 fra.me.REG[3] = NIT_NULL;
63565 fra.me.REG[4] = NIT_NULL;
63566 fra.me.REG[5] = NIT_NULL;
63567 fra.me.REG[6] = NIT_NULL;
63568 fra.me.REG[0] = p0;
63569 fra.me.REG[1] = p1;
63570 fra.me.REG[0] = NIT_NULL;
63571 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63572 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63573 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63574 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63575 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63576 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63577 fra.me.REG[6] = NEW_Array_array___Array___init();
63578 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
63579 /* ./parser//parser.nit:23932 */
63580 if (UNTAG_Bool(REGB0)) {
63581 } else {
63582 fprintf(stderr, "Assert failed");
63583 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23932);
63584 nit_exit(1);
63585 }
63586 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
63587 /* ./parser//parser.nit:23934 */
63588 if (UNTAG_Bool(REGB0)) {
63589 } else {
63590 fprintf(stderr, "Assert failed");
63591 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23934);
63592 nit_exit(1);
63593 }
63594 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
63595 /* ./parser//parser.nit:23936 */
63596 if (UNTAG_Bool(REGB0)) {
63597 } else {
63598 fprintf(stderr, "Assert failed");
63599 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23936);
63600 nit_exit(1);
63601 }
63602 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
63603 /* ./parser//parser.nit:23938 */
63604 if (UNTAG_Bool(REGB0)) {
63605 fra.me.REG[6] = fra.me.REG[3];
63606 /* ./parser//parser.nit:23939 */
63607 } else {
63608 /* ./parser//parser.nit:23941 */
63609 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
63610 }
63611 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
63612 /* ./parser//parser.nit:23945 */
63613 if (UNTAG_Bool(REGB0)) {
63614 } else {
63615 fprintf(stderr, "Assert failed");
63616 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23945);
63617 nit_exit(1);
63618 }
63619 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], NIT_NULL, fra.me.REG[2], NIT_NULL);
63620 fra.me.REG[0] = fra.me.REG[2];
63621 REGB0 = TAG_Int(31);
63622 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
63623 /* ./parser//parser.nit:23955 */
63624 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
63625 stack_frame_head = fra.me.prev;
63626 return;
63627 }
63628 void parser___ReduceAction546___init(val_t p0, int* init_table){
63629 int itpos550 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction546].i;
63630 struct {struct stack_frame_t me;} fra;
63631 val_t tmp;
63632 if (init_table[itpos550]) return;
63633 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63634 fra.me.file = LOCATE_parser;
63635 fra.me.line = 23957;
63636 fra.me.meth = LOCATE_parser___ReduceAction546___init;
63637 fra.me.has_broke = 0;
63638 fra.me.REG_size = 1;
63639 fra.me.REG[0] = NIT_NULL;
63640 fra.me.REG[0] = p0;
63641 /* ./parser//parser.nit:23957 */
63642 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
63643 stack_frame_head = fra.me.prev;
63644 init_table[itpos550] = 1;
63645 return;
63646 }
63647 void parser___ReduceAction547___action(val_t p0, val_t p1){
63648 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
63649 val_t REGB0;
63650 val_t REGB1;
63651 val_t tmp;
63652 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63653 fra.me.file = LOCATE_parser;
63654 fra.me.line = 23961;
63655 fra.me.meth = LOCATE_parser___ReduceAction547___action;
63656 fra.me.has_broke = 0;
63657 fra.me.REG_size = 8;
63658 fra.me.REG[0] = NIT_NULL;
63659 fra.me.REG[1] = NIT_NULL;
63660 fra.me.REG[2] = NIT_NULL;
63661 fra.me.REG[3] = NIT_NULL;
63662 fra.me.REG[4] = NIT_NULL;
63663 fra.me.REG[5] = NIT_NULL;
63664 fra.me.REG[6] = NIT_NULL;
63665 fra.me.REG[7] = NIT_NULL;
63666 fra.me.REG[0] = p0;
63667 fra.me.REG[1] = p1;
63668 fra.me.REG[0] = NIT_NULL;
63669 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63670 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63671 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63672 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63673 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63674 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63675 fra.me.REG[6] = NEW_Array_array___Array___init();
63676 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
63677 /* ./parser//parser.nit:23972 */
63678 if (UNTAG_Bool(REGB0)) {
63679 } else {
63680 fprintf(stderr, "Assert failed");
63681 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23972);
63682 nit_exit(1);
63683 }
63684 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
63685 /* ./parser//parser.nit:23974 */
63686 if (UNTAG_Bool(REGB0)) {
63687 } else {
63688 fprintf(stderr, "Assert failed");
63689 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23974);
63690 nit_exit(1);
63691 }
63692 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
63693 /* ./parser//parser.nit:23976 */
63694 if (UNTAG_Bool(REGB0)) {
63695 } else {
63696 fprintf(stderr, "Assert failed");
63697 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23976);
63698 nit_exit(1);
63699 }
63700 fra.me.REG[7] = NEW_Array_array___Array___init();
63701 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
63702 /* ./parser//parser.nit:23979 */
63703 if (UNTAG_Bool(REGB0)) {
63704 } else {
63705 fprintf(stderr, "Assert failed");
63706 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23979);
63707 nit_exit(1);
63708 }
63709 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
63710 /* ./parser//parser.nit:23980 */
63711 if (UNTAG_Bool(REGB0)) {
63712 } else {
63713 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
63714 if (UNTAG_Bool(REGB1)) {
63715 REGB1 = TAG_Bool(false);
63716 REGB0 = REGB1;
63717 } else {
63718 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
63719 REGB0 = REGB1;
63720 }
63721 }
63722 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
63723 if (UNTAG_Bool(REGB0)) {
63724 /* ./parser//parser.nit:23981 */
63725 array___Array___add(fra.me.REG[7], fra.me.REG[2]);
63726 }
63727 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
63728 fra.me.REG[7] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[7], NIT_NULL);
63729 fra.me.REG[0] = fra.me.REG[7];
63730 REGB0 = TAG_Int(32);
63731 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
63732 /* ./parser//parser.nit:23995 */
63733 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
63734 stack_frame_head = fra.me.prev;
63735 return;
63736 }
63737 void parser___ReduceAction547___init(val_t p0, int* init_table){
63738 int itpos551 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction547].i;
63739 struct {struct stack_frame_t me;} fra;
63740 val_t tmp;
63741 if (init_table[itpos551]) return;
63742 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63743 fra.me.file = LOCATE_parser;
63744 fra.me.line = 23997;
63745 fra.me.meth = LOCATE_parser___ReduceAction547___init;
63746 fra.me.has_broke = 0;
63747 fra.me.REG_size = 1;
63748 fra.me.REG[0] = NIT_NULL;
63749 fra.me.REG[0] = p0;
63750 /* ./parser//parser.nit:23997 */
63751 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
63752 stack_frame_head = fra.me.prev;
63753 init_table[itpos551] = 1;
63754 return;
63755 }
63756 void parser___ReduceAction548___action(val_t p0, val_t p1){
63757 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
63758 val_t REGB0;
63759 val_t REGB1;
63760 val_t tmp;
63761 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63762 fra.me.file = LOCATE_parser;
63763 fra.me.line = 24001;
63764 fra.me.meth = LOCATE_parser___ReduceAction548___action;
63765 fra.me.has_broke = 0;
63766 fra.me.REG_size = 9;
63767 fra.me.REG[0] = NIT_NULL;
63768 fra.me.REG[1] = NIT_NULL;
63769 fra.me.REG[2] = NIT_NULL;
63770 fra.me.REG[3] = NIT_NULL;
63771 fra.me.REG[4] = NIT_NULL;
63772 fra.me.REG[5] = NIT_NULL;
63773 fra.me.REG[6] = NIT_NULL;
63774 fra.me.REG[7] = NIT_NULL;
63775 fra.me.REG[8] = NIT_NULL;
63776 fra.me.REG[0] = p0;
63777 fra.me.REG[1] = p1;
63778 fra.me.REG[0] = NIT_NULL;
63779 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63780 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63781 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63782 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63783 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63784 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63785 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63786 fra.me.REG[7] = NEW_Array_array___Array___init();
63787 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
63788 /* ./parser//parser.nit:24013 */
63789 if (UNTAG_Bool(REGB0)) {
63790 } else {
63791 fprintf(stderr, "Assert failed");
63792 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24013);
63793 nit_exit(1);
63794 }
63795 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
63796 /* ./parser//parser.nit:24015 */
63797 if (UNTAG_Bool(REGB0)) {
63798 } else {
63799 fprintf(stderr, "Assert failed");
63800 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24015);
63801 nit_exit(1);
63802 }
63803 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
63804 /* ./parser//parser.nit:24017 */
63805 if (UNTAG_Bool(REGB0)) {
63806 } else {
63807 fprintf(stderr, "Assert failed");
63808 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24017);
63809 nit_exit(1);
63810 }
63811 fra.me.REG[8] = NEW_Array_array___Array___init();
63812 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
63813 /* ./parser//parser.nit:24020 */
63814 if (UNTAG_Bool(REGB0)) {
63815 } else {
63816 fprintf(stderr, "Assert failed");
63817 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24020);
63818 nit_exit(1);
63819 }
63820 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
63821 /* ./parser//parser.nit:24022 */
63822 if (UNTAG_Bool(REGB0)) {
63823 } else {
63824 fprintf(stderr, "Assert failed");
63825 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24022);
63826 nit_exit(1);
63827 }
63828 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
63829 /* ./parser//parser.nit:24023 */
63830 if (UNTAG_Bool(REGB0)) {
63831 } else {
63832 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
63833 if (UNTAG_Bool(REGB1)) {
63834 REGB1 = TAG_Bool(false);
63835 REGB0 = REGB1;
63836 } else {
63837 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
63838 REGB0 = REGB1;
63839 }
63840 }
63841 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
63842 if (UNTAG_Bool(REGB0)) {
63843 /* ./parser//parser.nit:24024 */
63844 array___Array___add(fra.me.REG[8], fra.me.REG[3]);
63845 }
63846 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
63847 /* ./parser//parser.nit:24027 */
63848 if (UNTAG_Bool(REGB0)) {
63849 fra.me.REG[8] = fra.me.REG[2];
63850 /* ./parser//parser.nit:24028 */
63851 } else {
63852 /* ./parser//parser.nit:24030 */
63853 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[2]);
63854 }
63855 fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]);
63856 fra.me.REG[8] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[4], fra.me.REG[8], NIT_NULL);
63857 fra.me.REG[0] = fra.me.REG[8];
63858 REGB0 = TAG_Int(32);
63859 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
63860 /* ./parser//parser.nit:24045 */
63861 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
63862 stack_frame_head = fra.me.prev;
63863 return;
63864 }
63865 void parser___ReduceAction548___init(val_t p0, int* init_table){
63866 int itpos552 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction548].i;
63867 struct {struct stack_frame_t me;} fra;
63868 val_t tmp;
63869 if (init_table[itpos552]) return;
63870 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63871 fra.me.file = LOCATE_parser;
63872 fra.me.line = 24047;
63873 fra.me.meth = LOCATE_parser___ReduceAction548___init;
63874 fra.me.has_broke = 0;
63875 fra.me.REG_size = 1;
63876 fra.me.REG[0] = NIT_NULL;
63877 fra.me.REG[0] = p0;
63878 /* ./parser//parser.nit:24047 */
63879 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
63880 stack_frame_head = fra.me.prev;
63881 init_table[itpos552] = 1;
63882 return;
63883 }
63884 void parser___ReduceAction549___action(val_t p0, val_t p1){
63885 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
63886 val_t REGB0;
63887 val_t REGB1;
63888 val_t tmp;
63889 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63890 fra.me.file = LOCATE_parser;
63891 fra.me.line = 24051;
63892 fra.me.meth = LOCATE_parser___ReduceAction549___action;
63893 fra.me.has_broke = 0;
63894 fra.me.REG_size = 8;
63895 fra.me.REG[0] = NIT_NULL;
63896 fra.me.REG[1] = NIT_NULL;
63897 fra.me.REG[2] = NIT_NULL;
63898 fra.me.REG[3] = NIT_NULL;
63899 fra.me.REG[4] = NIT_NULL;
63900 fra.me.REG[5] = NIT_NULL;
63901 fra.me.REG[6] = NIT_NULL;
63902 fra.me.REG[7] = NIT_NULL;
63903 fra.me.REG[0] = p0;
63904 fra.me.REG[1] = p1;
63905 fra.me.REG[0] = NIT_NULL;
63906 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63907 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63908 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63909 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63910 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63911 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63912 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
63913 fra.me.REG[7] = NEW_Array_array___Array___init();
63914 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
63915 /* ./parser//parser.nit:24063 */
63916 if (UNTAG_Bool(REGB0)) {
63917 } else {
63918 fprintf(stderr, "Assert failed");
63919 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24063);
63920 nit_exit(1);
63921 }
63922 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
63923 /* ./parser//parser.nit:24065 */
63924 if (UNTAG_Bool(REGB0)) {
63925 } else {
63926 fprintf(stderr, "Assert failed");
63927 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24065);
63928 nit_exit(1);
63929 }
63930 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
63931 /* ./parser//parser.nit:24067 */
63932 if (UNTAG_Bool(REGB0)) {
63933 } else {
63934 fprintf(stderr, "Assert failed");
63935 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24067);
63936 nit_exit(1);
63937 }
63938 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
63939 /* ./parser//parser.nit:24069 */
63940 if (UNTAG_Bool(REGB0)) {
63941 fra.me.REG[7] = fra.me.REG[4];
63942 /* ./parser//parser.nit:24070 */
63943 } else {
63944 /* ./parser//parser.nit:24072 */
63945 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
63946 }
63947 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
63948 /* ./parser//parser.nit:24076 */
63949 if (UNTAG_Bool(REGB0)) {
63950 } else {
63951 fprintf(stderr, "Assert failed");
63952 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24076);
63953 nit_exit(1);
63954 }
63955 fra.me.REG[4] = NEW_Array_array___Array___init();
63956 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
63957 /* ./parser//parser.nit:24079 */
63958 if (UNTAG_Bool(REGB0)) {
63959 } else {
63960 fprintf(stderr, "Assert failed");
63961 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24079);
63962 nit_exit(1);
63963 }
63964 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
63965 /* ./parser//parser.nit:24080 */
63966 if (UNTAG_Bool(REGB0)) {
63967 } else {
63968 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
63969 if (UNTAG_Bool(REGB1)) {
63970 REGB1 = TAG_Bool(false);
63971 REGB0 = REGB1;
63972 } else {
63973 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
63974 REGB0 = REGB1;
63975 }
63976 }
63977 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
63978 if (UNTAG_Bool(REGB0)) {
63979 /* ./parser//parser.nit:24081 */
63980 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
63981 }
63982 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
63983 fra.me.REG[4] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[4], NIT_NULL);
63984 fra.me.REG[0] = fra.me.REG[4];
63985 REGB0 = TAG_Int(32);
63986 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
63987 /* ./parser//parser.nit:24095 */
63988 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
63989 stack_frame_head = fra.me.prev;
63990 return;
63991 }
63992 void parser___ReduceAction549___init(val_t p0, int* init_table){
63993 int itpos553 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction549].i;
63994 struct {struct stack_frame_t me;} fra;
63995 val_t tmp;
63996 if (init_table[itpos553]) return;
63997 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63998 fra.me.file = LOCATE_parser;
63999 fra.me.line = 24097;
64000 fra.me.meth = LOCATE_parser___ReduceAction549___init;
64001 fra.me.has_broke = 0;
64002 fra.me.REG_size = 1;
64003 fra.me.REG[0] = NIT_NULL;
64004 fra.me.REG[0] = p0;
64005 /* ./parser//parser.nit:24097 */
64006 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
64007 stack_frame_head = fra.me.prev;
64008 init_table[itpos553] = 1;
64009 return;
64010 }
64011 void parser___ReduceAction550___action(val_t p0, val_t p1){
64012 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
64013 val_t REGB0;
64014 val_t REGB1;
64015 val_t tmp;
64016 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64017 fra.me.file = LOCATE_parser;
64018 fra.me.line = 24101;
64019 fra.me.meth = LOCATE_parser___ReduceAction550___action;
64020 fra.me.has_broke = 0;
64021 fra.me.REG_size = 9;
64022 fra.me.REG[0] = NIT_NULL;
64023 fra.me.REG[1] = NIT_NULL;
64024 fra.me.REG[2] = NIT_NULL;
64025 fra.me.REG[3] = NIT_NULL;
64026 fra.me.REG[4] = NIT_NULL;
64027 fra.me.REG[5] = NIT_NULL;
64028 fra.me.REG[6] = NIT_NULL;
64029 fra.me.REG[7] = NIT_NULL;
64030 fra.me.REG[8] = NIT_NULL;
64031 fra.me.REG[0] = p0;
64032 fra.me.REG[1] = p1;
64033 fra.me.REG[0] = NIT_NULL;
64034 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64035 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64036 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64037 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64038 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64039 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64040 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64041 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64042 fra.me.REG[8] = NEW_Array_array___Array___init();
64043 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
64044 /* ./parser//parser.nit:24114 */
64045 if (UNTAG_Bool(REGB0)) {
64046 } else {
64047 fprintf(stderr, "Assert failed");
64048 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24114);
64049 nit_exit(1);
64050 }
64051 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
64052 /* ./parser//parser.nit:24116 */
64053 if (UNTAG_Bool(REGB0)) {
64054 } else {
64055 fprintf(stderr, "Assert failed");
64056 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24116);
64057 nit_exit(1);
64058 }
64059 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
64060 /* ./parser//parser.nit:24118 */
64061 if (UNTAG_Bool(REGB0)) {
64062 } else {
64063 fprintf(stderr, "Assert failed");
64064 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24118);
64065 nit_exit(1);
64066 }
64067 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
64068 /* ./parser//parser.nit:24120 */
64069 if (UNTAG_Bool(REGB0)) {
64070 fra.me.REG[8] = fra.me.REG[5];
64071 /* ./parser//parser.nit:24121 */
64072 } else {
64073 /* ./parser//parser.nit:24123 */
64074 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
64075 }
64076 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
64077 /* ./parser//parser.nit:24127 */
64078 if (UNTAG_Bool(REGB0)) {
64079 } else {
64080 fprintf(stderr, "Assert failed");
64081 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24127);
64082 nit_exit(1);
64083 }
64084 fra.me.REG[5] = NEW_Array_array___Array___init();
64085 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
64086 /* ./parser//parser.nit:24130 */
64087 if (UNTAG_Bool(REGB0)) {
64088 } else {
64089 fprintf(stderr, "Assert failed");
64090 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24130);
64091 nit_exit(1);
64092 }
64093 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
64094 /* ./parser//parser.nit:24132 */
64095 if (UNTAG_Bool(REGB0)) {
64096 } else {
64097 fprintf(stderr, "Assert failed");
64098 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24132);
64099 nit_exit(1);
64100 }
64101 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
64102 /* ./parser//parser.nit:24133 */
64103 if (UNTAG_Bool(REGB0)) {
64104 } else {
64105 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
64106 if (UNTAG_Bool(REGB1)) {
64107 REGB1 = TAG_Bool(false);
64108 REGB0 = REGB1;
64109 } else {
64110 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
64111 REGB0 = REGB1;
64112 }
64113 }
64114 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
64115 if (UNTAG_Bool(REGB0)) {
64116 /* ./parser//parser.nit:24134 */
64117 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
64118 }
64119 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
64120 /* ./parser//parser.nit:24137 */
64121 if (UNTAG_Bool(REGB0)) {
64122 fra.me.REG[5] = fra.me.REG[2];
64123 /* ./parser//parser.nit:24138 */
64124 } else {
64125 /* ./parser//parser.nit:24140 */
64126 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
64127 }
64128 fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
64129 fra.me.REG[5] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[5], NIT_NULL);
64130 fra.me.REG[0] = fra.me.REG[5];
64131 REGB0 = TAG_Int(32);
64132 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
64133 /* ./parser//parser.nit:24155 */
64134 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
64135 stack_frame_head = fra.me.prev;
64136 return;
64137 }
64138 void parser___ReduceAction550___init(val_t p0, int* init_table){
64139 int itpos554 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction550].i;
64140 struct {struct stack_frame_t me;} fra;
64141 val_t tmp;
64142 if (init_table[itpos554]) return;
64143 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64144 fra.me.file = LOCATE_parser;
64145 fra.me.line = 24157;
64146 fra.me.meth = LOCATE_parser___ReduceAction550___init;
64147 fra.me.has_broke = 0;
64148 fra.me.REG_size = 1;
64149 fra.me.REG[0] = NIT_NULL;
64150 fra.me.REG[0] = p0;
64151 /* ./parser//parser.nit:24157 */
64152 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
64153 stack_frame_head = fra.me.prev;
64154 init_table[itpos554] = 1;
64155 return;
64156 }
64157 void parser___ReduceAction551___action(val_t p0, val_t p1){
64158 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
64159 val_t REGB0;
64160 val_t tmp;
64161 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64162 fra.me.file = LOCATE_parser;
64163 fra.me.line = 24161;
64164 fra.me.meth = LOCATE_parser___ReduceAction551___action;
64165 fra.me.has_broke = 0;
64166 fra.me.REG_size = 6;
64167 fra.me.REG[0] = NIT_NULL;
64168 fra.me.REG[1] = NIT_NULL;
64169 fra.me.REG[2] = NIT_NULL;
64170 fra.me.REG[3] = NIT_NULL;
64171 fra.me.REG[4] = NIT_NULL;
64172 fra.me.REG[5] = NIT_NULL;
64173 fra.me.REG[0] = p0;
64174 fra.me.REG[1] = p1;
64175 fra.me.REG[0] = NIT_NULL;
64176 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64177 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64178 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64179 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64180 fra.me.REG[5] = NEW_Array_array___Array___init();
64181 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
64182 /* ./parser//parser.nit:24170 */
64183 if (UNTAG_Bool(REGB0)) {
64184 } else {
64185 fprintf(stderr, "Assert failed");
64186 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24170);
64187 nit_exit(1);
64188 }
64189 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
64190 /* ./parser//parser.nit:24172 */
64191 if (UNTAG_Bool(REGB0)) {
64192 } else {
64193 fprintf(stderr, "Assert failed");
64194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24172);
64195 nit_exit(1);
64196 }
64197 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
64198 /* ./parser//parser.nit:24174 */
64199 if (UNTAG_Bool(REGB0)) {
64200 } else {
64201 fprintf(stderr, "Assert failed");
64202 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24174);
64203 nit_exit(1);
64204 }
64205 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[2], NIT_NULL, NIT_NULL);
64206 fra.me.REG[0] = fra.me.REG[2];
64207 REGB0 = TAG_Int(32);
64208 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
64209 /* ./parser//parser.nit:24184 */
64210 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
64211 stack_frame_head = fra.me.prev;
64212 return;
64213 }
64214 void parser___ReduceAction551___init(val_t p0, int* init_table){
64215 int itpos555 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction551].i;
64216 struct {struct stack_frame_t me;} fra;
64217 val_t tmp;
64218 if (init_table[itpos555]) return;
64219 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64220 fra.me.file = LOCATE_parser;
64221 fra.me.line = 24186;
64222 fra.me.meth = LOCATE_parser___ReduceAction551___init;
64223 fra.me.has_broke = 0;
64224 fra.me.REG_size = 1;
64225 fra.me.REG[0] = NIT_NULL;
64226 fra.me.REG[0] = p0;
64227 /* ./parser//parser.nit:24186 */
64228 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
64229 stack_frame_head = fra.me.prev;
64230 init_table[itpos555] = 1;
64231 return;
64232 }
64233 void parser___ReduceAction552___action(val_t p0, val_t p1){
64234 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
64235 val_t REGB0;
64236 val_t tmp;
64237 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64238 fra.me.file = LOCATE_parser;
64239 fra.me.line = 24190;
64240 fra.me.meth = LOCATE_parser___ReduceAction552___action;
64241 fra.me.has_broke = 0;
64242 fra.me.REG_size = 7;
64243 fra.me.REG[0] = NIT_NULL;
64244 fra.me.REG[1] = NIT_NULL;
64245 fra.me.REG[2] = NIT_NULL;
64246 fra.me.REG[3] = NIT_NULL;
64247 fra.me.REG[4] = NIT_NULL;
64248 fra.me.REG[5] = NIT_NULL;
64249 fra.me.REG[6] = NIT_NULL;
64250 fra.me.REG[0] = p0;
64251 fra.me.REG[1] = p1;
64252 fra.me.REG[0] = NIT_NULL;
64253 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64254 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64255 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64256 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64257 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64258 fra.me.REG[6] = NEW_Array_array___Array___init();
64259 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
64260 /* ./parser//parser.nit:24200 */
64261 if (UNTAG_Bool(REGB0)) {
64262 } else {
64263 fprintf(stderr, "Assert failed");
64264 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24200);
64265 nit_exit(1);
64266 }
64267 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
64268 /* ./parser//parser.nit:24202 */
64269 if (UNTAG_Bool(REGB0)) {
64270 } else {
64271 fprintf(stderr, "Assert failed");
64272 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24202);
64273 nit_exit(1);
64274 }
64275 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
64276 /* ./parser//parser.nit:24204 */
64277 if (UNTAG_Bool(REGB0)) {
64278 } else {
64279 fprintf(stderr, "Assert failed");
64280 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24204);
64281 nit_exit(1);
64282 }
64283 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
64284 /* ./parser//parser.nit:24206 */
64285 if (UNTAG_Bool(REGB0)) {
64286 fra.me.REG[6] = fra.me.REG[3];
64287 /* ./parser//parser.nit:24207 */
64288 } else {
64289 /* ./parser//parser.nit:24209 */
64290 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
64291 }
64292 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
64293 /* ./parser//parser.nit:24213 */
64294 if (UNTAG_Bool(REGB0)) {
64295 } else {
64296 fprintf(stderr, "Assert failed");
64297 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24213);
64298 nit_exit(1);
64299 }
64300 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[2], NIT_NULL, NIT_NULL);
64301 fra.me.REG[0] = fra.me.REG[2];
64302 REGB0 = TAG_Int(32);
64303 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
64304 /* ./parser//parser.nit:24223 */
64305 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
64306 stack_frame_head = fra.me.prev;
64307 return;
64308 }
64309 void parser___ReduceAction552___init(val_t p0, int* init_table){
64310 int itpos556 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction552].i;
64311 struct {struct stack_frame_t me;} fra;
64312 val_t tmp;
64313 if (init_table[itpos556]) return;
64314 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64315 fra.me.file = LOCATE_parser;
64316 fra.me.line = 24225;
64317 fra.me.meth = LOCATE_parser___ReduceAction552___init;
64318 fra.me.has_broke = 0;
64319 fra.me.REG_size = 1;
64320 fra.me.REG[0] = NIT_NULL;
64321 fra.me.REG[0] = p0;
64322 /* ./parser//parser.nit:24225 */
64323 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
64324 stack_frame_head = fra.me.prev;
64325 init_table[itpos556] = 1;
64326 return;
64327 }
64328 void parser___ReduceAction553___action(val_t p0, val_t p1){
64329 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
64330 val_t REGB0;
64331 val_t tmp;
64332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64333 fra.me.file = LOCATE_parser;
64334 fra.me.line = 24229;
64335 fra.me.meth = LOCATE_parser___ReduceAction553___action;
64336 fra.me.has_broke = 0;
64337 fra.me.REG_size = 3;
64338 fra.me.REG[0] = NIT_NULL;
64339 fra.me.REG[1] = NIT_NULL;
64340 fra.me.REG[2] = NIT_NULL;
64341 fra.me.REG[0] = p0;
64342 fra.me.REG[1] = p1;
64343 fra.me.REG[0] = NIT_NULL;
64344 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64345 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/;
64346 /* ./parser//parser.nit:24234 */
64347 if (UNTAG_Bool(REGB0)) {
64348 } else {
64349 fprintf(stderr, "Assert failed");
64350 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24234);
64351 nit_exit(1);
64352 }
64353 fra.me.REG[2] = NEW_ASimpleClosureId_parser_prod___ASimpleClosureId___init_asimpleclosureid(fra.me.REG[2]);
64354 fra.me.REG[0] = fra.me.REG[2];
64355 REGB0 = TAG_Int(33);
64356 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
64357 /* ./parser//parser.nit:24239 */
64358 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
64359 stack_frame_head = fra.me.prev;
64360 return;
64361 }
64362 void parser___ReduceAction553___init(val_t p0, int* init_table){
64363 int itpos557 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction553].i;
64364 struct {struct stack_frame_t me;} fra;
64365 val_t tmp;
64366 if (init_table[itpos557]) return;
64367 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64368 fra.me.file = LOCATE_parser;
64369 fra.me.line = 24241;
64370 fra.me.meth = LOCATE_parser___ReduceAction553___init;
64371 fra.me.has_broke = 0;
64372 fra.me.REG_size = 1;
64373 fra.me.REG[0] = NIT_NULL;
64374 fra.me.REG[0] = p0;
64375 /* ./parser//parser.nit:24241 */
64376 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
64377 stack_frame_head = fra.me.prev;
64378 init_table[itpos557] = 1;
64379 return;
64380 }
64381 void parser___ReduceAction554___action(val_t p0, val_t p1){
64382 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
64383 val_t REGB0;
64384 val_t tmp;
64385 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64386 fra.me.file = LOCATE_parser;
64387 fra.me.line = 24245;
64388 fra.me.meth = LOCATE_parser___ReduceAction554___action;
64389 fra.me.has_broke = 0;
64390 fra.me.REG_size = 3;
64391 fra.me.REG[0] = NIT_NULL;
64392 fra.me.REG[1] = NIT_NULL;
64393 fra.me.REG[2] = NIT_NULL;
64394 fra.me.REG[0] = p0;
64395 fra.me.REG[1] = p1;
64396 fra.me.REG[0] = NIT_NULL;
64397 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64398 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/;
64399 /* ./parser//parser.nit:24250 */
64400 if (UNTAG_Bool(REGB0)) {
64401 } else {
64402 fprintf(stderr, "Assert failed");
64403 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24250);
64404 nit_exit(1);
64405 }
64406 fra.me.REG[2] = NEW_ABreakClosureId_parser_prod___ABreakClosureId___init_abreakclosureid(fra.me.REG[2]);
64407 fra.me.REG[0] = fra.me.REG[2];
64408 REGB0 = TAG_Int(33);
64409 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
64410 /* ./parser//parser.nit:24255 */
64411 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
64412 stack_frame_head = fra.me.prev;
64413 return;
64414 }
64415 void parser___ReduceAction554___init(val_t p0, int* init_table){
64416 int itpos558 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction554].i;
64417 struct {struct stack_frame_t me;} fra;
64418 val_t tmp;
64419 if (init_table[itpos558]) return;
64420 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64421 fra.me.file = LOCATE_parser;
64422 fra.me.line = 24257;
64423 fra.me.meth = LOCATE_parser___ReduceAction554___init;
64424 fra.me.has_broke = 0;
64425 fra.me.REG_size = 1;
64426 fra.me.REG[0] = NIT_NULL;
64427 fra.me.REG[0] = p0;
64428 /* ./parser//parser.nit:24257 */
64429 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
64430 stack_frame_head = fra.me.prev;
64431 init_table[itpos558] = 1;
64432 return;
64433 }
64434 void parser___ReduceAction555___action(val_t p0, val_t p1){
64435 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
64436 val_t REGB0;
64437 val_t tmp;
64438 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64439 fra.me.file = LOCATE_parser;
64440 fra.me.line = 24261;
64441 fra.me.meth = LOCATE_parser___ReduceAction555___action;
64442 fra.me.has_broke = 0;
64443 fra.me.REG_size = 3;
64444 fra.me.REG[0] = NIT_NULL;
64445 fra.me.REG[1] = NIT_NULL;
64446 fra.me.REG[2] = NIT_NULL;
64447 fra.me.REG[0] = p0;
64448 fra.me.REG[1] = p1;
64449 fra.me.REG[0] = NIT_NULL;
64450 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64451 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
64452 /* ./parser//parser.nit:24266 */
64453 if (UNTAG_Bool(REGB0)) {
64454 } else {
64455 fprintf(stderr, "Assert failed");
64456 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24266);
64457 nit_exit(1);
64458 }
64459 fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(NIT_NULL, NIT_NULL, fra.me.REG[2]);
64460 fra.me.REG[0] = fra.me.REG[2];
64461 REGB0 = TAG_Int(34);
64462 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
64463 /* ./parser//parser.nit:24273 */
64464 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
64465 stack_frame_head = fra.me.prev;
64466 return;
64467 }
64468 void parser___ReduceAction555___init(val_t p0, int* init_table){
64469 int itpos559 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction555].i;
64470 struct {struct stack_frame_t me;} fra;
64471 val_t tmp;
64472 if (init_table[itpos559]) return;
64473 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64474 fra.me.file = LOCATE_parser;
64475 fra.me.line = 24275;
64476 fra.me.meth = LOCATE_parser___ReduceAction555___init;
64477 fra.me.has_broke = 0;
64478 fra.me.REG_size = 1;
64479 fra.me.REG[0] = NIT_NULL;
64480 fra.me.REG[0] = p0;
64481 /* ./parser//parser.nit:24275 */
64482 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
64483 stack_frame_head = fra.me.prev;
64484 init_table[itpos559] = 1;
64485 return;
64486 }
64487 void parser___ReduceAction556___action(val_t p0, val_t p1){
64488 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
64489 val_t REGB0;
64490 val_t tmp;
64491 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64492 fra.me.file = LOCATE_parser;
64493 fra.me.line = 24279;
64494 fra.me.meth = LOCATE_parser___ReduceAction556___action;
64495 fra.me.has_broke = 0;
64496 fra.me.REG_size = 4;
64497 fra.me.REG[0] = NIT_NULL;
64498 fra.me.REG[1] = NIT_NULL;
64499 fra.me.REG[2] = NIT_NULL;
64500 fra.me.REG[3] = NIT_NULL;
64501 fra.me.REG[0] = p0;
64502 fra.me.REG[1] = p1;
64503 fra.me.REG[0] = NIT_NULL;
64504 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64505 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64506 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
64507 /* ./parser//parser.nit:24285 */
64508 if (UNTAG_Bool(REGB0)) {
64509 } else {
64510 fprintf(stderr, "Assert failed");
64511 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24285);
64512 nit_exit(1);
64513 }
64514 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/;
64515 /* ./parser//parser.nit:24287 */
64516 if (UNTAG_Bool(REGB0)) {
64517 } else {
64518 fprintf(stderr, "Assert failed");
64519 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24287);
64520 nit_exit(1);
64521 }
64522 fra.me.REG[2] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL, NIT_NULL);
64523 fra.me.REG[0] = fra.me.REG[2];
64524 REGB0 = TAG_Int(35);
64525 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
64526 /* ./parser//parser.nit:24296 */
64527 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
64528 stack_frame_head = fra.me.prev;
64529 return;
64530 }
64531 void parser___ReduceAction556___init(val_t p0, int* init_table){
64532 int itpos560 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction556].i;
64533 struct {struct stack_frame_t me;} fra;
64534 val_t tmp;
64535 if (init_table[itpos560]) return;
64536 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64537 fra.me.file = LOCATE_parser;
64538 fra.me.line = 24298;
64539 fra.me.meth = LOCATE_parser___ReduceAction556___init;
64540 fra.me.has_broke = 0;
64541 fra.me.REG_size = 1;
64542 fra.me.REG[0] = NIT_NULL;
64543 fra.me.REG[0] = p0;
64544 /* ./parser//parser.nit:24298 */
64545 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
64546 stack_frame_head = fra.me.prev;
64547 init_table[itpos560] = 1;
64548 return;
64549 }
64550 void parser___ReduceAction557___action(val_t p0, val_t p1){
64551 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
64552 val_t REGB0;
64553 val_t tmp;
64554 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64555 fra.me.file = LOCATE_parser;
64556 fra.me.line = 24302;
64557 fra.me.meth = LOCATE_parser___ReduceAction557___action;
64558 fra.me.has_broke = 0;
64559 fra.me.REG_size = 5;
64560 fra.me.REG[0] = NIT_NULL;
64561 fra.me.REG[1] = NIT_NULL;
64562 fra.me.REG[2] = NIT_NULL;
64563 fra.me.REG[3] = NIT_NULL;
64564 fra.me.REG[4] = NIT_NULL;
64565 fra.me.REG[0] = p0;
64566 fra.me.REG[1] = p1;
64567 fra.me.REG[0] = NIT_NULL;
64568 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64569 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64570 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64571 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
64572 /* ./parser//parser.nit:24309 */
64573 if (UNTAG_Bool(REGB0)) {
64574 } else {
64575 fprintf(stderr, "Assert failed");
64576 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24309);
64577 nit_exit(1);
64578 }
64579 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
64580 /* ./parser//parser.nit:24311 */
64581 if (UNTAG_Bool(REGB0)) {
64582 } else {
64583 fprintf(stderr, "Assert failed");
64584 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24311);
64585 nit_exit(1);
64586 }
64587 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
64588 /* ./parser//parser.nit:24313 */
64589 if (UNTAG_Bool(REGB0)) {
64590 } else {
64591 fprintf(stderr, "Assert failed");
64592 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24313);
64593 nit_exit(1);
64594 }
64595 fra.me.REG[2] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
64596 fra.me.REG[0] = fra.me.REG[2];
64597 REGB0 = TAG_Int(35);
64598 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
64599 /* ./parser//parser.nit:24322 */
64600 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
64601 stack_frame_head = fra.me.prev;
64602 return;
64603 }
64604 void parser___ReduceAction557___init(val_t p0, int* init_table){
64605 int itpos561 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction557].i;
64606 struct {struct stack_frame_t me;} fra;
64607 val_t tmp;
64608 if (init_table[itpos561]) return;
64609 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64610 fra.me.file = LOCATE_parser;
64611 fra.me.line = 24324;
64612 fra.me.meth = LOCATE_parser___ReduceAction557___init;
64613 fra.me.has_broke = 0;
64614 fra.me.REG_size = 1;
64615 fra.me.REG[0] = NIT_NULL;
64616 fra.me.REG[0] = p0;
64617 /* ./parser//parser.nit:24324 */
64618 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
64619 stack_frame_head = fra.me.prev;
64620 init_table[itpos561] = 1;
64621 return;
64622 }
64623 void parser___ReduceAction558___action(val_t p0, val_t p1){
64624 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
64625 val_t REGB0;
64626 val_t tmp;
64627 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64628 fra.me.file = LOCATE_parser;
64629 fra.me.line = 24328;
64630 fra.me.meth = LOCATE_parser___ReduceAction558___action;
64631 fra.me.has_broke = 0;
64632 fra.me.REG_size = 6;
64633 fra.me.REG[0] = NIT_NULL;
64634 fra.me.REG[1] = NIT_NULL;
64635 fra.me.REG[2] = NIT_NULL;
64636 fra.me.REG[3] = NIT_NULL;
64637 fra.me.REG[4] = NIT_NULL;
64638 fra.me.REG[5] = NIT_NULL;
64639 fra.me.REG[0] = p0;
64640 fra.me.REG[1] = p1;
64641 fra.me.REG[0] = NIT_NULL;
64642 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64643 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64644 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64645 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64646 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64647 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
64648 /* ./parser//parser.nit:24337 */
64649 if (UNTAG_Bool(REGB0)) {
64650 } else {
64651 fprintf(stderr, "Assert failed");
64652 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24337);
64653 nit_exit(1);
64654 }
64655 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
64656 /* ./parser//parser.nit:24339 */
64657 if (UNTAG_Bool(REGB0)) {
64658 } else {
64659 fprintf(stderr, "Assert failed");
64660 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24339);
64661 nit_exit(1);
64662 }
64663 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
64664 /* ./parser//parser.nit:24341 */
64665 if (UNTAG_Bool(REGB0)) {
64666 } else {
64667 fprintf(stderr, "Assert failed");
64668 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24341);
64669 nit_exit(1);
64670 }
64671 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
64672 /* ./parser//parser.nit:24343 */
64673 if (UNTAG_Bool(REGB0)) {
64674 } else {
64675 fprintf(stderr, "Assert failed");
64676 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24343);
64677 nit_exit(1);
64678 }
64679 fra.me.REG[2] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]);
64680 fra.me.REG[0] = fra.me.REG[2];
64681 REGB0 = TAG_Int(35);
64682 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
64683 /* ./parser//parser.nit:24352 */
64684 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
64685 stack_frame_head = fra.me.prev;
64686 return;
64687 }
64688 void parser___ReduceAction558___init(val_t p0, int* init_table){
64689 int itpos562 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction558].i;
64690 struct {struct stack_frame_t me;} fra;
64691 val_t tmp;
64692 if (init_table[itpos562]) return;
64693 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64694 fra.me.file = LOCATE_parser;
64695 fra.me.line = 24354;
64696 fra.me.meth = LOCATE_parser___ReduceAction558___init;
64697 fra.me.has_broke = 0;
64698 fra.me.REG_size = 1;
64699 fra.me.REG[0] = NIT_NULL;
64700 fra.me.REG[0] = p0;
64701 /* ./parser//parser.nit:24354 */
64702 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
64703 stack_frame_head = fra.me.prev;
64704 init_table[itpos562] = 1;
64705 return;
64706 }
64707 void parser___ReduceAction559___action(val_t p0, val_t p1){
64708 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
64709 val_t REGB0;
64710 val_t tmp;
64711 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64712 fra.me.file = LOCATE_parser;
64713 fra.me.line = 24358;
64714 fra.me.meth = LOCATE_parser___ReduceAction559___action;
64715 fra.me.has_broke = 0;
64716 fra.me.REG_size = 7;
64717 fra.me.REG[0] = NIT_NULL;
64718 fra.me.REG[1] = NIT_NULL;
64719 fra.me.REG[2] = NIT_NULL;
64720 fra.me.REG[3] = NIT_NULL;
64721 fra.me.REG[4] = NIT_NULL;
64722 fra.me.REG[5] = NIT_NULL;
64723 fra.me.REG[6] = NIT_NULL;
64724 fra.me.REG[0] = p0;
64725 fra.me.REG[1] = p1;
64726 fra.me.REG[0] = NIT_NULL;
64727 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64728 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64729 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64730 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64731 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64732 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64733 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
64734 /* ./parser//parser.nit:24368 */
64735 if (UNTAG_Bool(REGB0)) {
64736 } else {
64737 fprintf(stderr, "Assert failed");
64738 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24368);
64739 nit_exit(1);
64740 }
64741 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
64742 /* ./parser//parser.nit:24370 */
64743 if (UNTAG_Bool(REGB0)) {
64744 } else {
64745 fprintf(stderr, "Assert failed");
64746 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24370);
64747 nit_exit(1);
64748 }
64749 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
64750 /* ./parser//parser.nit:24372 */
64751 if (UNTAG_Bool(REGB0)) {
64752 } else {
64753 fprintf(stderr, "Assert failed");
64754 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24372);
64755 nit_exit(1);
64756 }
64757 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
64758 /* ./parser//parser.nit:24374 */
64759 if (UNTAG_Bool(REGB0)) {
64760 } else {
64761 fprintf(stderr, "Assert failed");
64762 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24374);
64763 nit_exit(1);
64764 }
64765 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
64766 /* ./parser//parser.nit:24376 */
64767 if (UNTAG_Bool(REGB0)) {
64768 } else {
64769 fprintf(stderr, "Assert failed");
64770 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24376);
64771 nit_exit(1);
64772 }
64773 fra.me.REG[2] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
64774 fra.me.REG[0] = fra.me.REG[2];
64775 REGB0 = TAG_Int(35);
64776 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
64777 /* ./parser//parser.nit:24385 */
64778 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
64779 stack_frame_head = fra.me.prev;
64780 return;
64781 }
64782 void parser___ReduceAction559___init(val_t p0, int* init_table){
64783 int itpos563 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction559].i;
64784 struct {struct stack_frame_t me;} fra;
64785 val_t tmp;
64786 if (init_table[itpos563]) return;
64787 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64788 fra.me.file = LOCATE_parser;
64789 fra.me.line = 24387;
64790 fra.me.meth = LOCATE_parser___ReduceAction559___init;
64791 fra.me.has_broke = 0;
64792 fra.me.REG_size = 1;
64793 fra.me.REG[0] = NIT_NULL;
64794 fra.me.REG[0] = p0;
64795 /* ./parser//parser.nit:24387 */
64796 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
64797 stack_frame_head = fra.me.prev;
64798 init_table[itpos563] = 1;
64799 return;
64800 }
64801 void parser___ReduceAction560___action(val_t p0, val_t p1){
64802 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
64803 val_t REGB0;
64804 val_t tmp;
64805 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64806 fra.me.file = LOCATE_parser;
64807 fra.me.line = 24391;
64808 fra.me.meth = LOCATE_parser___ReduceAction560___action;
64809 fra.me.has_broke = 0;
64810 fra.me.REG_size = 6;
64811 fra.me.REG[0] = NIT_NULL;
64812 fra.me.REG[1] = NIT_NULL;
64813 fra.me.REG[2] = NIT_NULL;
64814 fra.me.REG[3] = NIT_NULL;
64815 fra.me.REG[4] = NIT_NULL;
64816 fra.me.REG[5] = NIT_NULL;
64817 fra.me.REG[0] = p0;
64818 fra.me.REG[1] = p1;
64819 fra.me.REG[0] = NIT_NULL;
64820 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64821 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64822 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64823 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64824 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64825 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64826 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
64827 /* ./parser//parser.nit:24401 */
64828 if (UNTAG_Bool(REGB0)) {
64829 } else {
64830 fprintf(stderr, "Assert failed");
64831 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24401);
64832 nit_exit(1);
64833 }
64834 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
64835 /* ./parser//parser.nit:24403 */
64836 if (UNTAG_Bool(REGB0)) {
64837 } else {
64838 fprintf(stderr, "Assert failed");
64839 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24403);
64840 nit_exit(1);
64841 }
64842 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
64843 /* ./parser//parser.nit:24405 */
64844 if (UNTAG_Bool(REGB0)) {
64845 } else {
64846 fprintf(stderr, "Assert failed");
64847 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24405);
64848 nit_exit(1);
64849 }
64850 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
64851 /* ./parser//parser.nit:24407 */
64852 if (UNTAG_Bool(REGB0)) {
64853 } else {
64854 fprintf(stderr, "Assert failed");
64855 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24407);
64856 nit_exit(1);
64857 }
64858 fra.me.REG[2] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
64859 fra.me.REG[0] = fra.me.REG[2];
64860 REGB0 = TAG_Int(36);
64861 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
64862 /* ./parser//parser.nit:24415 */
64863 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
64864 stack_frame_head = fra.me.prev;
64865 return;
64866 }
64867 void parser___ReduceAction560___init(val_t p0, int* init_table){
64868 int itpos564 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction560].i;
64869 struct {struct stack_frame_t me;} fra;
64870 val_t tmp;
64871 if (init_table[itpos564]) return;
64872 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64873 fra.me.file = LOCATE_parser;
64874 fra.me.line = 24417;
64875 fra.me.meth = LOCATE_parser___ReduceAction560___init;
64876 fra.me.has_broke = 0;
64877 fra.me.REG_size = 1;
64878 fra.me.REG[0] = NIT_NULL;
64879 fra.me.REG[0] = p0;
64880 /* ./parser//parser.nit:24417 */
64881 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
64882 stack_frame_head = fra.me.prev;
64883 init_table[itpos564] = 1;
64884 return;
64885 }
64886 void parser___ReduceAction561___action(val_t p0, val_t p1){
64887 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
64888 val_t REGB0;
64889 val_t tmp;
64890 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64891 fra.me.file = LOCATE_parser;
64892 fra.me.line = 24421;
64893 fra.me.meth = LOCATE_parser___ReduceAction561___action;
64894 fra.me.has_broke = 0;
64895 fra.me.REG_size = 6;
64896 fra.me.REG[0] = NIT_NULL;
64897 fra.me.REG[1] = NIT_NULL;
64898 fra.me.REG[2] = NIT_NULL;
64899 fra.me.REG[3] = NIT_NULL;
64900 fra.me.REG[4] = NIT_NULL;
64901 fra.me.REG[5] = NIT_NULL;
64902 fra.me.REG[0] = p0;
64903 fra.me.REG[1] = p1;
64904 fra.me.REG[0] = NIT_NULL;
64905 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64906 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64907 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64908 fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
64909 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
64910 /* ./parser//parser.nit:24430 */
64911 if (UNTAG_Bool(REGB0)) {
64912 } else {
64913 fprintf(stderr, "Assert failed");
64914 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24430);
64915 nit_exit(1);
64916 }
64917 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
64918 /* ./parser//parser.nit:24432 */
64919 if (UNTAG_Bool(REGB0)) {
64920 } else {
64921 fprintf(stderr, "Assert failed");
64922 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24432);
64923 nit_exit(1);
64924 }
64925 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
64926 /* ./parser//parser.nit:24434 */
64927 if (UNTAG_Bool(REGB0)) {
64928 } else {
64929 fprintf(stderr, "Assert failed");
64930 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24434);
64931 nit_exit(1);
64932 }
64933 fra.me.REG[2] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
64934 fra.me.REG[0] = fra.me.REG[2];
64935 REGB0 = TAG_Int(36);
64936 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
64937 /* ./parser//parser.nit:24442 */
64938 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
64939 stack_frame_head = fra.me.prev;
64940 return;
64941 }
64942 void parser___ReduceAction561___init(val_t p0, int* init_table){
64943 int itpos565 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction561].i;
64944 struct {struct stack_frame_t me;} fra;
64945 val_t tmp;
64946 if (init_table[itpos565]) return;
64947 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64948 fra.me.file = LOCATE_parser;
64949 fra.me.line = 24444;
64950 fra.me.meth = LOCATE_parser___ReduceAction561___init;
64951 fra.me.has_broke = 0;
64952 fra.me.REG_size = 1;
64953 fra.me.REG[0] = NIT_NULL;
64954 fra.me.REG[0] = p0;
64955 /* ./parser//parser.nit:24444 */
64956 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
64957 stack_frame_head = fra.me.prev;
64958 init_table[itpos565] = 1;
64959 return;
64960 }
64961 void parser___ReduceAction562___action(val_t p0, val_t p1){
64962 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
64963 val_t REGB0;
64964 val_t tmp;
64965 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
64966 fra.me.file = LOCATE_parser;
64967 fra.me.line = 24448;
64968 fra.me.meth = LOCATE_parser___ReduceAction562___action;
64969 fra.me.has_broke = 0;
64970 fra.me.REG_size = 8;
64971 fra.me.REG[0] = NIT_NULL;
64972 fra.me.REG[1] = NIT_NULL;
64973 fra.me.REG[2] = NIT_NULL;
64974 fra.me.REG[3] = NIT_NULL;
64975 fra.me.REG[4] = NIT_NULL;
64976 fra.me.REG[5] = NIT_NULL;
64977 fra.me.REG[6] = NIT_NULL;
64978 fra.me.REG[7] = NIT_NULL;
64979 fra.me.REG[0] = p0;
64980 fra.me.REG[1] = p1;
64981 fra.me.REG[0] = NIT_NULL;
64982 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64983 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64984 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64985 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64986 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64987 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64988 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
64989 fra.me.REG[7] = NEW_Array_array___Array___init();
64990 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
64991 /* ./parser//parser.nit:24460 */
64992 if (UNTAG_Bool(REGB0)) {
64993 } else {
64994 fprintf(stderr, "Assert failed");
64995 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24460);
64996 nit_exit(1);
64997 }
64998 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
64999 /* ./parser//parser.nit:24462 */
65000 if (UNTAG_Bool(REGB0)) {
65001 } else {
65002 fprintf(stderr, "Assert failed");
65003 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24462);
65004 nit_exit(1);
65005 }
65006 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
65007 /* ./parser//parser.nit:24464 */
65008 if (UNTAG_Bool(REGB0)) {
65009 } else {
65010 fprintf(stderr, "Assert failed");
65011 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24464);
65012 nit_exit(1);
65013 }
65014 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
65015 /* ./parser//parser.nit:24466 */
65016 if (UNTAG_Bool(REGB0)) {
65017 fra.me.REG[7] = fra.me.REG[4];
65018 /* ./parser//parser.nit:24467 */
65019 } else {
65020 /* ./parser//parser.nit:24469 */
65021 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
65022 }
65023 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
65024 /* ./parser//parser.nit:24473 */
65025 if (UNTAG_Bool(REGB0)) {
65026 } else {
65027 fprintf(stderr, "Assert failed");
65028 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24473);
65029 nit_exit(1);
65030 }
65031 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
65032 /* ./parser//parser.nit:24475 */
65033 if (UNTAG_Bool(REGB0)) {
65034 } else {
65035 fprintf(stderr, "Assert failed");
65036 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24475);
65037 nit_exit(1);
65038 }
65039 fra.me.REG[2] = NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___init_acallassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[2]);
65040 fra.me.REG[0] = fra.me.REG[2];
65041 REGB0 = TAG_Int(36);
65042 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
65043 /* ./parser//parser.nit:24484 */
65044 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
65045 stack_frame_head = fra.me.prev;
65046 return;
65047 }
65048 void parser___ReduceAction562___init(val_t p0, int* init_table){
65049 int itpos566 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction562].i;
65050 struct {struct stack_frame_t me;} fra;
65051 val_t tmp;
65052 if (init_table[itpos566]) return;
65053 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65054 fra.me.file = LOCATE_parser;
65055 fra.me.line = 24486;
65056 fra.me.meth = LOCATE_parser___ReduceAction562___init;
65057 fra.me.has_broke = 0;
65058 fra.me.REG_size = 1;
65059 fra.me.REG[0] = NIT_NULL;
65060 fra.me.REG[0] = p0;
65061 /* ./parser//parser.nit:24486 */
65062 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
65063 stack_frame_head = fra.me.prev;
65064 init_table[itpos566] = 1;
65065 return;
65066 }
65067 void parser___ReduceAction563___action(val_t p0, val_t p1){
65068 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
65069 val_t REGB0;
65070 val_t tmp;
65071 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65072 fra.me.file = LOCATE_parser;
65073 fra.me.line = 24490;
65074 fra.me.meth = LOCATE_parser___ReduceAction563___action;
65075 fra.me.has_broke = 0;
65076 fra.me.REG_size = 8;
65077 fra.me.REG[0] = NIT_NULL;
65078 fra.me.REG[1] = NIT_NULL;
65079 fra.me.REG[2] = NIT_NULL;
65080 fra.me.REG[3] = NIT_NULL;
65081 fra.me.REG[4] = NIT_NULL;
65082 fra.me.REG[5] = NIT_NULL;
65083 fra.me.REG[6] = NIT_NULL;
65084 fra.me.REG[7] = NIT_NULL;
65085 fra.me.REG[0] = p0;
65086 fra.me.REG[1] = p1;
65087 fra.me.REG[0] = NIT_NULL;
65088 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65089 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65090 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65091 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65092 fra.me.REG[6] = NEW_Array_array___Array___init();
65093 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
65094 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
65095 /* ./parser//parser.nit:24501 */
65096 if (UNTAG_Bool(REGB0)) {
65097 } else {
65098 fprintf(stderr, "Assert failed");
65099 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24501);
65100 nit_exit(1);
65101 }
65102 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
65103 /* ./parser//parser.nit:24503 */
65104 if (UNTAG_Bool(REGB0)) {
65105 } else {
65106 fprintf(stderr, "Assert failed");
65107 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24503);
65108 nit_exit(1);
65109 }
65110 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
65111 /* ./parser//parser.nit:24505 */
65112 if (UNTAG_Bool(REGB0)) {
65113 fra.me.REG[6] = fra.me.REG[4];
65114 /* ./parser//parser.nit:24506 */
65115 } else {
65116 /* ./parser//parser.nit:24508 */
65117 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
65118 }
65119 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
65120 /* ./parser//parser.nit:24512 */
65121 if (UNTAG_Bool(REGB0)) {
65122 } else {
65123 fprintf(stderr, "Assert failed");
65124 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24512);
65125 nit_exit(1);
65126 }
65127 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
65128 /* ./parser//parser.nit:24514 */
65129 if (UNTAG_Bool(REGB0)) {
65130 } else {
65131 fprintf(stderr, "Assert failed");
65132 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24514);
65133 nit_exit(1);
65134 }
65135 fra.me.REG[2] = NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___init_acallassignexpr(fra.me.REG[7], fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]);
65136 fra.me.REG[0] = fra.me.REG[2];
65137 REGB0 = TAG_Int(36);
65138 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
65139 /* ./parser//parser.nit:24523 */
65140 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
65141 stack_frame_head = fra.me.prev;
65142 return;
65143 }
65144 void parser___ReduceAction563___init(val_t p0, int* init_table){
65145 int itpos567 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction563].i;
65146 struct {struct stack_frame_t me;} fra;
65147 val_t tmp;
65148 if (init_table[itpos567]) return;
65149 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65150 fra.me.file = LOCATE_parser;
65151 fra.me.line = 24525;
65152 fra.me.meth = LOCATE_parser___ReduceAction563___init;
65153 fra.me.has_broke = 0;
65154 fra.me.REG_size = 1;
65155 fra.me.REG[0] = NIT_NULL;
65156 fra.me.REG[0] = p0;
65157 /* ./parser//parser.nit:24525 */
65158 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
65159 stack_frame_head = fra.me.prev;
65160 init_table[itpos567] = 1;
65161 return;
65162 }
65163 void parser___ReduceAction564___action(val_t p0, val_t p1){
65164 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
65165 val_t REGB0;
65166 val_t tmp;
65167 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65168 fra.me.file = LOCATE_parser;
65169 fra.me.line = 24529;
65170 fra.me.meth = LOCATE_parser___ReduceAction564___action;
65171 fra.me.has_broke = 0;
65172 fra.me.REG_size = 7;
65173 fra.me.REG[0] = NIT_NULL;
65174 fra.me.REG[1] = NIT_NULL;
65175 fra.me.REG[2] = NIT_NULL;
65176 fra.me.REG[3] = NIT_NULL;
65177 fra.me.REG[4] = NIT_NULL;
65178 fra.me.REG[5] = NIT_NULL;
65179 fra.me.REG[6] = NIT_NULL;
65180 fra.me.REG[0] = p0;
65181 fra.me.REG[1] = p1;
65182 fra.me.REG[0] = NIT_NULL;
65183 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65184 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65185 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65186 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65187 fra.me.REG[6] = NEW_Array_array___Array___init();
65188 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
65189 /* ./parser//parser.nit:24538 */
65190 if (UNTAG_Bool(REGB0)) {
65191 } else {
65192 fprintf(stderr, "Assert failed");
65193 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24538);
65194 nit_exit(1);
65195 }
65196 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
65197 /* ./parser//parser.nit:24540 */
65198 if (UNTAG_Bool(REGB0)) {
65199 } else {
65200 fprintf(stderr, "Assert failed");
65201 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24540);
65202 nit_exit(1);
65203 }
65204 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
65205 /* ./parser//parser.nit:24542 */
65206 if (UNTAG_Bool(REGB0)) {
65207 fra.me.REG[6] = fra.me.REG[4];
65208 /* ./parser//parser.nit:24543 */
65209 } else {
65210 /* ./parser//parser.nit:24545 */
65211 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
65212 }
65213 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
65214 /* ./parser//parser.nit:24549 */
65215 if (UNTAG_Bool(REGB0)) {
65216 } else {
65217 fprintf(stderr, "Assert failed");
65218 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24549);
65219 nit_exit(1);
65220 }
65221 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
65222 /* ./parser//parser.nit:24551 */
65223 if (UNTAG_Bool(REGB0)) {
65224 } else {
65225 fprintf(stderr, "Assert failed");
65226 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24551);
65227 nit_exit(1);
65228 }
65229 fra.me.REG[2] = NEW_ABraAssignExpr_parser_prod___ABraAssignExpr___init_abraassignexpr(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]);
65230 fra.me.REG[0] = fra.me.REG[2];
65231 REGB0 = TAG_Int(36);
65232 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
65233 /* ./parser//parser.nit:24559 */
65234 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
65235 stack_frame_head = fra.me.prev;
65236 return;
65237 }
65238 void parser___ReduceAction564___init(val_t p0, int* init_table){
65239 int itpos568 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction564].i;
65240 struct {struct stack_frame_t me;} fra;
65241 val_t tmp;
65242 if (init_table[itpos568]) return;
65243 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65244 fra.me.file = LOCATE_parser;
65245 fra.me.line = 24561;
65246 fra.me.meth = LOCATE_parser___ReduceAction564___init;
65247 fra.me.has_broke = 0;
65248 fra.me.REG_size = 1;
65249 fra.me.REG[0] = NIT_NULL;
65250 fra.me.REG[0] = p0;
65251 /* ./parser//parser.nit:24561 */
65252 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
65253 stack_frame_head = fra.me.prev;
65254 init_table[itpos568] = 1;
65255 return;
65256 }
65257 void parser___ReduceAction565___action(val_t p0, val_t p1){
65258 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
65259 val_t REGB0;
65260 val_t tmp;
65261 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65262 fra.me.file = LOCATE_parser;
65263 fra.me.line = 24565;
65264 fra.me.meth = LOCATE_parser___ReduceAction565___action;
65265 fra.me.has_broke = 0;
65266 fra.me.REG_size = 6;
65267 fra.me.REG[0] = NIT_NULL;
65268 fra.me.REG[1] = NIT_NULL;
65269 fra.me.REG[2] = NIT_NULL;
65270 fra.me.REG[3] = NIT_NULL;
65271 fra.me.REG[4] = NIT_NULL;
65272 fra.me.REG[5] = NIT_NULL;
65273 fra.me.REG[0] = p0;
65274 fra.me.REG[1] = p1;
65275 fra.me.REG[0] = NIT_NULL;
65276 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65277 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65278 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65279 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65280 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65281 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65282 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
65283 /* ./parser//parser.nit:24575 */
65284 if (UNTAG_Bool(REGB0)) {
65285 } else {
65286 fprintf(stderr, "Assert failed");
65287 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24575);
65288 nit_exit(1);
65289 }
65290 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
65291 /* ./parser//parser.nit:24577 */
65292 if (UNTAG_Bool(REGB0)) {
65293 } else {
65294 fprintf(stderr, "Assert failed");
65295 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24577);
65296 nit_exit(1);
65297 }
65298 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/;
65299 /* ./parser//parser.nit:24579 */
65300 if (UNTAG_Bool(REGB0)) {
65301 } else {
65302 fprintf(stderr, "Assert failed");
65303 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24579);
65304 nit_exit(1);
65305 }
65306 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
65307 /* ./parser//parser.nit:24581 */
65308 if (UNTAG_Bool(REGB0)) {
65309 } else {
65310 fprintf(stderr, "Assert failed");
65311 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24581);
65312 nit_exit(1);
65313 }
65314 fra.me.REG[2] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
65315 fra.me.REG[0] = fra.me.REG[2];
65316 REGB0 = TAG_Int(36);
65317 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
65318 /* ./parser//parser.nit:24589 */
65319 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
65320 stack_frame_head = fra.me.prev;
65321 return;
65322 }
65323 void parser___ReduceAction565___init(val_t p0, int* init_table){
65324 int itpos569 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction565].i;
65325 struct {struct stack_frame_t me;} fra;
65326 val_t tmp;
65327 if (init_table[itpos569]) return;
65328 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65329 fra.me.file = LOCATE_parser;
65330 fra.me.line = 24591;
65331 fra.me.meth = LOCATE_parser___ReduceAction565___init;
65332 fra.me.has_broke = 0;
65333 fra.me.REG_size = 1;
65334 fra.me.REG[0] = NIT_NULL;
65335 fra.me.REG[0] = p0;
65336 /* ./parser//parser.nit:24591 */
65337 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
65338 stack_frame_head = fra.me.prev;
65339 init_table[itpos569] = 1;
65340 return;
65341 }
65342 void parser___ReduceAction566___action(val_t p0, val_t p1){
65343 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
65344 val_t REGB0;
65345 val_t tmp;
65346 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65347 fra.me.file = LOCATE_parser;
65348 fra.me.line = 24595;
65349 fra.me.meth = LOCATE_parser___ReduceAction566___action;
65350 fra.me.has_broke = 0;
65351 fra.me.REG_size = 6;
65352 fra.me.REG[0] = NIT_NULL;
65353 fra.me.REG[1] = NIT_NULL;
65354 fra.me.REG[2] = NIT_NULL;
65355 fra.me.REG[3] = NIT_NULL;
65356 fra.me.REG[4] = NIT_NULL;
65357 fra.me.REG[5] = NIT_NULL;
65358 fra.me.REG[0] = p0;
65359 fra.me.REG[1] = p1;
65360 fra.me.REG[0] = NIT_NULL;
65361 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65362 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65363 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65364 fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
65365 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
65366 /* ./parser//parser.nit:24604 */
65367 if (UNTAG_Bool(REGB0)) {
65368 } else {
65369 fprintf(stderr, "Assert failed");
65370 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24604);
65371 nit_exit(1);
65372 }
65373 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/;
65374 /* ./parser//parser.nit:24606 */
65375 if (UNTAG_Bool(REGB0)) {
65376 } else {
65377 fprintf(stderr, "Assert failed");
65378 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24606);
65379 nit_exit(1);
65380 }
65381 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
65382 /* ./parser//parser.nit:24608 */
65383 if (UNTAG_Bool(REGB0)) {
65384 } else {
65385 fprintf(stderr, "Assert failed");
65386 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24608);
65387 nit_exit(1);
65388 }
65389 fra.me.REG[2] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
65390 fra.me.REG[0] = fra.me.REG[2];
65391 REGB0 = TAG_Int(36);
65392 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
65393 /* ./parser//parser.nit:24616 */
65394 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
65395 stack_frame_head = fra.me.prev;
65396 return;
65397 }
65398 void parser___ReduceAction566___init(val_t p0, int* init_table){
65399 int itpos570 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction566].i;
65400 struct {struct stack_frame_t me;} fra;
65401 val_t tmp;
65402 if (init_table[itpos570]) return;
65403 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65404 fra.me.file = LOCATE_parser;
65405 fra.me.line = 24618;
65406 fra.me.meth = LOCATE_parser___ReduceAction566___init;
65407 fra.me.has_broke = 0;
65408 fra.me.REG_size = 1;
65409 fra.me.REG[0] = NIT_NULL;
65410 fra.me.REG[0] = p0;
65411 /* ./parser//parser.nit:24618 */
65412 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
65413 stack_frame_head = fra.me.prev;
65414 init_table[itpos570] = 1;
65415 return;
65416 }
65417 void parser___ReduceAction567___action(val_t p0, val_t p1){
65418 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
65419 val_t REGB0;
65420 val_t tmp;
65421 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65422 fra.me.file = LOCATE_parser;
65423 fra.me.line = 24622;
65424 fra.me.meth = LOCATE_parser___ReduceAction567___action;
65425 fra.me.has_broke = 0;
65426 fra.me.REG_size = 8;
65427 fra.me.REG[0] = NIT_NULL;
65428 fra.me.REG[1] = NIT_NULL;
65429 fra.me.REG[2] = NIT_NULL;
65430 fra.me.REG[3] = NIT_NULL;
65431 fra.me.REG[4] = NIT_NULL;
65432 fra.me.REG[5] = NIT_NULL;
65433 fra.me.REG[6] = NIT_NULL;
65434 fra.me.REG[7] = NIT_NULL;
65435 fra.me.REG[0] = p0;
65436 fra.me.REG[1] = p1;
65437 fra.me.REG[0] = NIT_NULL;
65438 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65439 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65440 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65441 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65442 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65443 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65444 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65445 fra.me.REG[7] = NEW_Array_array___Array___init();
65446 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
65447 /* ./parser//parser.nit:24634 */
65448 if (UNTAG_Bool(REGB0)) {
65449 } else {
65450 fprintf(stderr, "Assert failed");
65451 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24634);
65452 nit_exit(1);
65453 }
65454 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
65455 /* ./parser//parser.nit:24636 */
65456 if (UNTAG_Bool(REGB0)) {
65457 } else {
65458 fprintf(stderr, "Assert failed");
65459 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24636);
65460 nit_exit(1);
65461 }
65462 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
65463 /* ./parser//parser.nit:24638 */
65464 if (UNTAG_Bool(REGB0)) {
65465 } else {
65466 fprintf(stderr, "Assert failed");
65467 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24638);
65468 nit_exit(1);
65469 }
65470 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
65471 /* ./parser//parser.nit:24640 */
65472 if (UNTAG_Bool(REGB0)) {
65473 fra.me.REG[7] = fra.me.REG[4];
65474 /* ./parser//parser.nit:24641 */
65475 } else {
65476 /* ./parser//parser.nit:24643 */
65477 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
65478 }
65479 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/;
65480 /* ./parser//parser.nit:24647 */
65481 if (UNTAG_Bool(REGB0)) {
65482 } else {
65483 fprintf(stderr, "Assert failed");
65484 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24647);
65485 nit_exit(1);
65486 }
65487 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
65488 /* ./parser//parser.nit:24649 */
65489 if (UNTAG_Bool(REGB0)) {
65490 } else {
65491 fprintf(stderr, "Assert failed");
65492 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24649);
65493 nit_exit(1);
65494 }
65495 fra.me.REG[2] = NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___init_acallreassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[2]);
65496 fra.me.REG[0] = fra.me.REG[2];
65497 REGB0 = TAG_Int(36);
65498 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
65499 /* ./parser//parser.nit:24658 */
65500 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
65501 stack_frame_head = fra.me.prev;
65502 return;
65503 }
65504 void parser___ReduceAction567___init(val_t p0, int* init_table){
65505 int itpos571 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction567].i;
65506 struct {struct stack_frame_t me;} fra;
65507 val_t tmp;
65508 if (init_table[itpos571]) return;
65509 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65510 fra.me.file = LOCATE_parser;
65511 fra.me.line = 24660;
65512 fra.me.meth = LOCATE_parser___ReduceAction567___init;
65513 fra.me.has_broke = 0;
65514 fra.me.REG_size = 1;
65515 fra.me.REG[0] = NIT_NULL;
65516 fra.me.REG[0] = p0;
65517 /* ./parser//parser.nit:24660 */
65518 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
65519 stack_frame_head = fra.me.prev;
65520 init_table[itpos571] = 1;
65521 return;
65522 }
65523 void parser___ReduceAction568___action(val_t p0, val_t p1){
65524 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
65525 val_t REGB0;
65526 val_t tmp;
65527 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65528 fra.me.file = LOCATE_parser;
65529 fra.me.line = 24664;
65530 fra.me.meth = LOCATE_parser___ReduceAction568___action;
65531 fra.me.has_broke = 0;
65532 fra.me.REG_size = 8;
65533 fra.me.REG[0] = NIT_NULL;
65534 fra.me.REG[1] = NIT_NULL;
65535 fra.me.REG[2] = NIT_NULL;
65536 fra.me.REG[3] = NIT_NULL;
65537 fra.me.REG[4] = NIT_NULL;
65538 fra.me.REG[5] = NIT_NULL;
65539 fra.me.REG[6] = NIT_NULL;
65540 fra.me.REG[7] = NIT_NULL;
65541 fra.me.REG[0] = p0;
65542 fra.me.REG[1] = p1;
65543 fra.me.REG[0] = NIT_NULL;
65544 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65545 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65546 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65547 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65548 fra.me.REG[6] = NEW_Array_array___Array___init();
65549 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
65550 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
65551 /* ./parser//parser.nit:24675 */
65552 if (UNTAG_Bool(REGB0)) {
65553 } else {
65554 fprintf(stderr, "Assert failed");
65555 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24675);
65556 nit_exit(1);
65557 }
65558 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
65559 /* ./parser//parser.nit:24677 */
65560 if (UNTAG_Bool(REGB0)) {
65561 } else {
65562 fprintf(stderr, "Assert failed");
65563 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24677);
65564 nit_exit(1);
65565 }
65566 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
65567 /* ./parser//parser.nit:24679 */
65568 if (UNTAG_Bool(REGB0)) {
65569 fra.me.REG[6] = fra.me.REG[4];
65570 /* ./parser//parser.nit:24680 */
65571 } else {
65572 /* ./parser//parser.nit:24682 */
65573 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
65574 }
65575 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/;
65576 /* ./parser//parser.nit:24686 */
65577 if (UNTAG_Bool(REGB0)) {
65578 } else {
65579 fprintf(stderr, "Assert failed");
65580 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24686);
65581 nit_exit(1);
65582 }
65583 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
65584 /* ./parser//parser.nit:24688 */
65585 if (UNTAG_Bool(REGB0)) {
65586 } else {
65587 fprintf(stderr, "Assert failed");
65588 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24688);
65589 nit_exit(1);
65590 }
65591 fra.me.REG[2] = NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___init_acallreassignexpr(fra.me.REG[7], fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]);
65592 fra.me.REG[0] = fra.me.REG[2];
65593 REGB0 = TAG_Int(36);
65594 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
65595 /* ./parser//parser.nit:24697 */
65596 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
65597 stack_frame_head = fra.me.prev;
65598 return;
65599 }
65600 void parser___ReduceAction568___init(val_t p0, int* init_table){
65601 int itpos572 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction568].i;
65602 struct {struct stack_frame_t me;} fra;
65603 val_t tmp;
65604 if (init_table[itpos572]) return;
65605 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65606 fra.me.file = LOCATE_parser;
65607 fra.me.line = 24699;
65608 fra.me.meth = LOCATE_parser___ReduceAction568___init;
65609 fra.me.has_broke = 0;
65610 fra.me.REG_size = 1;
65611 fra.me.REG[0] = NIT_NULL;
65612 fra.me.REG[0] = p0;
65613 /* ./parser//parser.nit:24699 */
65614 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
65615 stack_frame_head = fra.me.prev;
65616 init_table[itpos572] = 1;
65617 return;
65618 }
65619 void parser___ReduceAction569___action(val_t p0, val_t p1){
65620 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
65621 val_t REGB0;
65622 val_t tmp;
65623 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65624 fra.me.file = LOCATE_parser;
65625 fra.me.line = 24703;
65626 fra.me.meth = LOCATE_parser___ReduceAction569___action;
65627 fra.me.has_broke = 0;
65628 fra.me.REG_size = 7;
65629 fra.me.REG[0] = NIT_NULL;
65630 fra.me.REG[1] = NIT_NULL;
65631 fra.me.REG[2] = NIT_NULL;
65632 fra.me.REG[3] = NIT_NULL;
65633 fra.me.REG[4] = NIT_NULL;
65634 fra.me.REG[5] = NIT_NULL;
65635 fra.me.REG[6] = NIT_NULL;
65636 fra.me.REG[0] = p0;
65637 fra.me.REG[1] = p1;
65638 fra.me.REG[0] = NIT_NULL;
65639 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65640 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65641 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65642 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65643 fra.me.REG[6] = NEW_Array_array___Array___init();
65644 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
65645 /* ./parser//parser.nit:24712 */
65646 if (UNTAG_Bool(REGB0)) {
65647 } else {
65648 fprintf(stderr, "Assert failed");
65649 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24712);
65650 nit_exit(1);
65651 }
65652 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
65653 /* ./parser//parser.nit:24714 */
65654 if (UNTAG_Bool(REGB0)) {
65655 } else {
65656 fprintf(stderr, "Assert failed");
65657 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24714);
65658 nit_exit(1);
65659 }
65660 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
65661 /* ./parser//parser.nit:24716 */
65662 if (UNTAG_Bool(REGB0)) {
65663 fra.me.REG[6] = fra.me.REG[4];
65664 /* ./parser//parser.nit:24717 */
65665 } else {
65666 /* ./parser//parser.nit:24719 */
65667 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
65668 }
65669 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/;
65670 /* ./parser//parser.nit:24723 */
65671 if (UNTAG_Bool(REGB0)) {
65672 } else {
65673 fprintf(stderr, "Assert failed");
65674 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24723);
65675 nit_exit(1);
65676 }
65677 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
65678 /* ./parser//parser.nit:24725 */
65679 if (UNTAG_Bool(REGB0)) {
65680 } else {
65681 fprintf(stderr, "Assert failed");
65682 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24725);
65683 nit_exit(1);
65684 }
65685 fra.me.REG[2] = NEW_ABraReassignExpr_parser_prod___ABraReassignExpr___init_abrareassignexpr(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]);
65686 fra.me.REG[0] = fra.me.REG[2];
65687 REGB0 = TAG_Int(36);
65688 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
65689 /* ./parser//parser.nit:24733 */
65690 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
65691 stack_frame_head = fra.me.prev;
65692 return;
65693 }
65694 void parser___ReduceAction569___init(val_t p0, int* init_table){
65695 int itpos573 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction569].i;
65696 struct {struct stack_frame_t me;} fra;
65697 val_t tmp;
65698 if (init_table[itpos573]) return;
65699 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65700 fra.me.file = LOCATE_parser;
65701 fra.me.line = 24735;
65702 fra.me.meth = LOCATE_parser___ReduceAction569___init;
65703 fra.me.has_broke = 0;
65704 fra.me.REG_size = 1;
65705 fra.me.REG[0] = NIT_NULL;
65706 fra.me.REG[0] = p0;
65707 /* ./parser//parser.nit:24735 */
65708 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
65709 stack_frame_head = fra.me.prev;
65710 init_table[itpos573] = 1;
65711 return;
65712 }
65713 void parser___ReduceAction570___action(val_t p0, val_t p1){
65714 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
65715 val_t REGB0;
65716 val_t tmp;
65717 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65718 fra.me.file = LOCATE_parser;
65719 fra.me.line = 24739;
65720 fra.me.meth = LOCATE_parser___ReduceAction570___action;
65721 fra.me.has_broke = 0;
65722 fra.me.REG_size = 3;
65723 fra.me.REG[0] = NIT_NULL;
65724 fra.me.REG[1] = NIT_NULL;
65725 fra.me.REG[2] = NIT_NULL;
65726 fra.me.REG[0] = p0;
65727 fra.me.REG[1] = p1;
65728 fra.me.REG[0] = NIT_NULL;
65729 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65730 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TPluseq, ID_TPluseq)) /*cast nullable TPluseq*/;
65731 /* ./parser//parser.nit:24744 */
65732 if (UNTAG_Bool(REGB0)) {
65733 } else {
65734 fprintf(stderr, "Assert failed");
65735 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24744);
65736 nit_exit(1);
65737 }
65738 fra.me.REG[2] = NEW_APlusAssignOp_parser_prod___APlusAssignOp___init_aplusassignop(fra.me.REG[2]);
65739 fra.me.REG[0] = fra.me.REG[2];
65740 REGB0 = TAG_Int(37);
65741 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
65742 /* ./parser//parser.nit:24749 */
65743 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
65744 stack_frame_head = fra.me.prev;
65745 return;
65746 }
65747 void parser___ReduceAction570___init(val_t p0, int* init_table){
65748 int itpos574 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction570].i;
65749 struct {struct stack_frame_t me;} fra;
65750 val_t tmp;
65751 if (init_table[itpos574]) return;
65752 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65753 fra.me.file = LOCATE_parser;
65754 fra.me.line = 24751;
65755 fra.me.meth = LOCATE_parser___ReduceAction570___init;
65756 fra.me.has_broke = 0;
65757 fra.me.REG_size = 1;
65758 fra.me.REG[0] = NIT_NULL;
65759 fra.me.REG[0] = p0;
65760 /* ./parser//parser.nit:24751 */
65761 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
65762 stack_frame_head = fra.me.prev;
65763 init_table[itpos574] = 1;
65764 return;
65765 }
65766 void parser___ReduceAction571___action(val_t p0, val_t p1){
65767 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
65768 val_t REGB0;
65769 val_t tmp;
65770 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65771 fra.me.file = LOCATE_parser;
65772 fra.me.line = 24755;
65773 fra.me.meth = LOCATE_parser___ReduceAction571___action;
65774 fra.me.has_broke = 0;
65775 fra.me.REG_size = 3;
65776 fra.me.REG[0] = NIT_NULL;
65777 fra.me.REG[1] = NIT_NULL;
65778 fra.me.REG[2] = NIT_NULL;
65779 fra.me.REG[0] = p0;
65780 fra.me.REG[1] = p1;
65781 fra.me.REG[0] = NIT_NULL;
65782 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65783 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TMinuseq, ID_TMinuseq)) /*cast nullable TMinuseq*/;
65784 /* ./parser//parser.nit:24760 */
65785 if (UNTAG_Bool(REGB0)) {
65786 } else {
65787 fprintf(stderr, "Assert failed");
65788 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24760);
65789 nit_exit(1);
65790 }
65791 fra.me.REG[2] = NEW_AMinusAssignOp_parser_prod___AMinusAssignOp___init_aminusassignop(fra.me.REG[2]);
65792 fra.me.REG[0] = fra.me.REG[2];
65793 REGB0 = TAG_Int(37);
65794 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
65795 /* ./parser//parser.nit:24765 */
65796 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
65797 stack_frame_head = fra.me.prev;
65798 return;
65799 }
65800 void parser___ReduceAction571___init(val_t p0, int* init_table){
65801 int itpos575 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction571].i;
65802 struct {struct stack_frame_t me;} fra;
65803 val_t tmp;
65804 if (init_table[itpos575]) return;
65805 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65806 fra.me.file = LOCATE_parser;
65807 fra.me.line = 24767;
65808 fra.me.meth = LOCATE_parser___ReduceAction571___init;
65809 fra.me.has_broke = 0;
65810 fra.me.REG_size = 1;
65811 fra.me.REG[0] = NIT_NULL;
65812 fra.me.REG[0] = p0;
65813 /* ./parser//parser.nit:24767 */
65814 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
65815 stack_frame_head = fra.me.prev;
65816 init_table[itpos575] = 1;
65817 return;
65818 }
65819 void parser___ReduceAction572___action(val_t p0, val_t p1){
65820 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
65821 val_t REGB0;
65822 val_t REGB1;
65823 val_t tmp;
65824 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65825 fra.me.file = LOCATE_parser;
65826 fra.me.line = 24771;
65827 fra.me.meth = LOCATE_parser___ReduceAction572___action;
65828 fra.me.has_broke = 0;
65829 fra.me.REG_size = 5;
65830 fra.me.REG[0] = NIT_NULL;
65831 fra.me.REG[1] = NIT_NULL;
65832 fra.me.REG[2] = NIT_NULL;
65833 fra.me.REG[3] = NIT_NULL;
65834 fra.me.REG[4] = NIT_NULL;
65835 fra.me.REG[0] = p0;
65836 fra.me.REG[1] = p1;
65837 fra.me.REG[0] = NIT_NULL;
65838 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65839 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65840 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65841 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65842 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65843 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
65844 /* ./parser//parser.nit:24780 */
65845 if (UNTAG_Bool(REGB0)) {
65846 } else {
65847 fprintf(stderr, "Assert failed");
65848 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24780);
65849 nit_exit(1);
65850 }
65851 fra.me.REG[4] = NEW_Array_array___Array___init();
65852 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
65853 /* ./parser//parser.nit:24783 */
65854 if (UNTAG_Bool(REGB0)) {
65855 } else {
65856 fprintf(stderr, "Assert failed");
65857 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24783);
65858 nit_exit(1);
65859 }
65860 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
65861 /* ./parser//parser.nit:24784 */
65862 if (UNTAG_Bool(REGB0)) {
65863 } else {
65864 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
65865 if (UNTAG_Bool(REGB1)) {
65866 REGB1 = TAG_Bool(false);
65867 REGB0 = REGB1;
65868 } else {
65869 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
65870 REGB0 = REGB1;
65871 }
65872 }
65873 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
65874 if (UNTAG_Bool(REGB0)) {
65875 /* ./parser//parser.nit:24785 */
65876 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
65877 }
65878 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
65879 fra.me.REG[4] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[3], fra.me.REG[4], NIT_NULL);
65880 fra.me.REG[0] = fra.me.REG[4];
65881 REGB0 = TAG_Int(38);
65882 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
65883 /* ./parser//parser.nit:24796 */
65884 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
65885 stack_frame_head = fra.me.prev;
65886 return;
65887 }
65888 void parser___ReduceAction572___init(val_t p0, int* init_table){
65889 int itpos576 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction572].i;
65890 struct {struct stack_frame_t me;} fra;
65891 val_t tmp;
65892 if (init_table[itpos576]) return;
65893 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65894 fra.me.file = LOCATE_parser;
65895 fra.me.line = 24798;
65896 fra.me.meth = LOCATE_parser___ReduceAction572___init;
65897 fra.me.has_broke = 0;
65898 fra.me.REG_size = 1;
65899 fra.me.REG[0] = NIT_NULL;
65900 fra.me.REG[0] = p0;
65901 /* ./parser//parser.nit:24798 */
65902 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
65903 stack_frame_head = fra.me.prev;
65904 init_table[itpos576] = 1;
65905 return;
65906 }
65907 void parser___ReduceAction573___action(val_t p0, val_t p1){
65908 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
65909 val_t REGB0;
65910 val_t REGB1;
65911 val_t tmp;
65912 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65913 fra.me.file = LOCATE_parser;
65914 fra.me.line = 24802;
65915 fra.me.meth = LOCATE_parser___ReduceAction573___action;
65916 fra.me.has_broke = 0;
65917 fra.me.REG_size = 6;
65918 fra.me.REG[0] = NIT_NULL;
65919 fra.me.REG[1] = NIT_NULL;
65920 fra.me.REG[2] = NIT_NULL;
65921 fra.me.REG[3] = NIT_NULL;
65922 fra.me.REG[4] = NIT_NULL;
65923 fra.me.REG[5] = NIT_NULL;
65924 fra.me.REG[0] = p0;
65925 fra.me.REG[1] = p1;
65926 fra.me.REG[0] = NIT_NULL;
65927 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65928 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65929 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65930 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65931 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65932 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
65933 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
65934 /* ./parser//parser.nit:24812 */
65935 if (UNTAG_Bool(REGB0)) {
65936 } else {
65937 fprintf(stderr, "Assert failed");
65938 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24812);
65939 nit_exit(1);
65940 }
65941 fra.me.REG[5] = NEW_Array_array___Array___init();
65942 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
65943 /* ./parser//parser.nit:24815 */
65944 if (UNTAG_Bool(REGB0)) {
65945 } else {
65946 fprintf(stderr, "Assert failed");
65947 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24815);
65948 nit_exit(1);
65949 }
65950 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
65951 /* ./parser//parser.nit:24817 */
65952 if (UNTAG_Bool(REGB0)) {
65953 } else {
65954 fprintf(stderr, "Assert failed");
65955 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24817);
65956 nit_exit(1);
65957 }
65958 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
65959 /* ./parser//parser.nit:24818 */
65960 if (UNTAG_Bool(REGB0)) {
65961 } else {
65962 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
65963 if (UNTAG_Bool(REGB1)) {
65964 REGB1 = TAG_Bool(false);
65965 REGB0 = REGB1;
65966 } else {
65967 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
65968 REGB0 = REGB1;
65969 }
65970 }
65971 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
65972 if (UNTAG_Bool(REGB0)) {
65973 /* ./parser//parser.nit:24819 */
65974 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
65975 }
65976 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
65977 /* ./parser//parser.nit:24822 */
65978 if (UNTAG_Bool(REGB0)) {
65979 fra.me.REG[5] = fra.me.REG[2];
65980 /* ./parser//parser.nit:24823 */
65981 } else {
65982 /* ./parser//parser.nit:24825 */
65983 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
65984 }
65985 fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
65986 fra.me.REG[5] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[4], fra.me.REG[5], NIT_NULL);
65987 fra.me.REG[0] = fra.me.REG[5];
65988 REGB0 = TAG_Int(38);
65989 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
65990 /* ./parser//parser.nit:24837 */
65991 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
65992 stack_frame_head = fra.me.prev;
65993 return;
65994 }
65995 void parser___ReduceAction573___init(val_t p0, int* init_table){
65996 int itpos577 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction573].i;
65997 struct {struct stack_frame_t me;} fra;
65998 val_t tmp;
65999 if (init_table[itpos577]) return;
66000 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66001 fra.me.file = LOCATE_parser;
66002 fra.me.line = 24839;
66003 fra.me.meth = LOCATE_parser___ReduceAction573___init;
66004 fra.me.has_broke = 0;
66005 fra.me.REG_size = 1;
66006 fra.me.REG[0] = NIT_NULL;
66007 fra.me.REG[0] = p0;
66008 /* ./parser//parser.nit:24839 */
66009 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
66010 stack_frame_head = fra.me.prev;
66011 init_table[itpos577] = 1;
66012 return;
66013 }
66014 void parser___ReduceAction574___action(val_t p0, val_t p1){
66015 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
66016 val_t REGB0;
66017 val_t tmp;
66018 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66019 fra.me.file = LOCATE_parser;
66020 fra.me.line = 24843;
66021 fra.me.meth = LOCATE_parser___ReduceAction574___action;
66022 fra.me.has_broke = 0;
66023 fra.me.REG_size = 4;
66024 fra.me.REG[0] = NIT_NULL;
66025 fra.me.REG[1] = NIT_NULL;
66026 fra.me.REG[2] = NIT_NULL;
66027 fra.me.REG[3] = NIT_NULL;
66028 fra.me.REG[0] = p0;
66029 fra.me.REG[1] = p1;
66030 fra.me.REG[0] = NIT_NULL;
66031 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66032 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66033 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66034 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
66035 /* ./parser//parser.nit:24850 */
66036 if (UNTAG_Bool(REGB0)) {
66037 } else {
66038 fprintf(stderr, "Assert failed");
66039 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24850);
66040 nit_exit(1);
66041 }
66042 fra.me.REG[3] = NEW_Array_array___Array___init();
66043 fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]);
66044 fra.me.REG[3] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[2], fra.me.REG[3], NIT_NULL);
66045 fra.me.REG[0] = fra.me.REG[3];
66046 REGB0 = TAG_Int(38);
66047 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
66048 /* ./parser//parser.nit:24861 */
66049 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
66050 stack_frame_head = fra.me.prev;
66051 return;
66052 }
66053 void parser___ReduceAction574___init(val_t p0, int* init_table){
66054 int itpos578 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction574].i;
66055 struct {struct stack_frame_t me;} fra;
66056 val_t tmp;
66057 if (init_table[itpos578]) return;
66058 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66059 fra.me.file = LOCATE_parser;
66060 fra.me.line = 24863;
66061 fra.me.meth = LOCATE_parser___ReduceAction574___init;
66062 fra.me.has_broke = 0;
66063 fra.me.REG_size = 1;
66064 fra.me.REG[0] = NIT_NULL;
66065 fra.me.REG[0] = p0;
66066 /* ./parser//parser.nit:24863 */
66067 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
66068 stack_frame_head = fra.me.prev;
66069 init_table[itpos578] = 1;
66070 return;
66071 }
66072 void parser___ReduceAction575___action(val_t p0, val_t p1){
66073 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
66074 val_t REGB0;
66075 val_t tmp;
66076 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66077 fra.me.file = LOCATE_parser;
66078 fra.me.line = 24867;
66079 fra.me.meth = LOCATE_parser___ReduceAction575___action;
66080 fra.me.has_broke = 0;
66081 fra.me.REG_size = 4;
66082 fra.me.REG[0] = NIT_NULL;
66083 fra.me.REG[1] = NIT_NULL;
66084 fra.me.REG[2] = NIT_NULL;
66085 fra.me.REG[3] = NIT_NULL;
66086 fra.me.REG[0] = p0;
66087 fra.me.REG[1] = p1;
66088 fra.me.REG[0] = NIT_NULL;
66089 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66090 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66091 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
66092 /* ./parser//parser.nit:24873 */
66093 if (UNTAG_Bool(REGB0)) {
66094 } else {
66095 fprintf(stderr, "Assert failed");
66096 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24873);
66097 nit_exit(1);
66098 }
66099 fra.me.REG[3] = NEW_Array_array___Array___init();
66100 fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]);
66101 fra.me.REG[3] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[2], fra.me.REG[3], NIT_NULL);
66102 fra.me.REG[0] = fra.me.REG[3];
66103 REGB0 = TAG_Int(38);
66104 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
66105 /* ./parser//parser.nit:24884 */
66106 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
66107 stack_frame_head = fra.me.prev;
66108 return;
66109 }
66110 void parser___ReduceAction575___init(val_t p0, int* init_table){
66111 int itpos579 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction575].i;
66112 struct {struct stack_frame_t me;} fra;
66113 val_t tmp;
66114 if (init_table[itpos579]) return;
66115 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66116 fra.me.file = LOCATE_parser;
66117 fra.me.line = 24886;
66118 fra.me.meth = LOCATE_parser___ReduceAction575___init;
66119 fra.me.has_broke = 0;
66120 fra.me.REG_size = 1;
66121 fra.me.REG[0] = NIT_NULL;
66122 fra.me.REG[0] = p0;
66123 /* ./parser//parser.nit:24886 */
66124 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
66125 stack_frame_head = fra.me.prev;
66126 init_table[itpos579] = 1;
66127 return;
66128 }
66129 void parser___ReduceAction576___action(val_t p0, val_t p1){
66130 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
66131 val_t REGB0;
66132 val_t REGB1;
66133 val_t tmp;
66134 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66135 fra.me.file = LOCATE_parser;
66136 fra.me.line = 24890;
66137 fra.me.meth = LOCATE_parser___ReduceAction576___action;
66138 fra.me.has_broke = 0;
66139 fra.me.REG_size = 6;
66140 fra.me.REG[0] = NIT_NULL;
66141 fra.me.REG[1] = NIT_NULL;
66142 fra.me.REG[2] = NIT_NULL;
66143 fra.me.REG[3] = NIT_NULL;
66144 fra.me.REG[4] = NIT_NULL;
66145 fra.me.REG[5] = NIT_NULL;
66146 fra.me.REG[0] = p0;
66147 fra.me.REG[1] = p1;
66148 fra.me.REG[0] = NIT_NULL;
66149 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66150 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66151 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66152 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66153 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66154 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66155 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
66156 /* ./parser//parser.nit:24900 */
66157 if (UNTAG_Bool(REGB0)) {
66158 } else {
66159 fprintf(stderr, "Assert failed");
66160 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24900);
66161 nit_exit(1);
66162 }
66163 fra.me.REG[5] = NEW_Array_array___Array___init();
66164 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
66165 /* ./parser//parser.nit:24903 */
66166 if (UNTAG_Bool(REGB0)) {
66167 } else {
66168 fprintf(stderr, "Assert failed");
66169 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24903);
66170 nit_exit(1);
66171 }
66172 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
66173 /* ./parser//parser.nit:24904 */
66174 if (UNTAG_Bool(REGB0)) {
66175 } else {
66176 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
66177 if (UNTAG_Bool(REGB1)) {
66178 REGB1 = TAG_Bool(false);
66179 REGB0 = REGB1;
66180 } else {
66181 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
66182 REGB0 = REGB1;
66183 }
66184 }
66185 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
66186 if (UNTAG_Bool(REGB0)) {
66187 /* ./parser//parser.nit:24905 */
66188 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
66189 }
66190 fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
66191 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
66192 /* ./parser//parser.nit:24911 */
66193 if (UNTAG_Bool(REGB0)) {
66194 } else {
66195 fprintf(stderr, "Assert failed");
66196 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24911);
66197 nit_exit(1);
66198 }
66199 fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[2]);
66200 fra.me.REG[0] = fra.me.REG[2];
66201 REGB0 = TAG_Int(38);
66202 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
66203 /* ./parser//parser.nit:24918 */
66204 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
66205 stack_frame_head = fra.me.prev;
66206 return;
66207 }
66208 void parser___ReduceAction576___init(val_t p0, int* init_table){
66209 int itpos580 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction576].i;
66210 struct {struct stack_frame_t me;} fra;
66211 val_t tmp;
66212 if (init_table[itpos580]) return;
66213 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66214 fra.me.file = LOCATE_parser;
66215 fra.me.line = 24920;
66216 fra.me.meth = LOCATE_parser___ReduceAction576___init;
66217 fra.me.has_broke = 0;
66218 fra.me.REG_size = 1;
66219 fra.me.REG[0] = NIT_NULL;
66220 fra.me.REG[0] = p0;
66221 /* ./parser//parser.nit:24920 */
66222 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
66223 stack_frame_head = fra.me.prev;
66224 init_table[itpos580] = 1;
66225 return;
66226 }
66227 void parser___ReduceAction577___action(val_t p0, val_t p1){
66228 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
66229 val_t REGB0;
66230 val_t REGB1;
66231 val_t tmp;
66232 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66233 fra.me.file = LOCATE_parser;
66234 fra.me.line = 24924;
66235 fra.me.meth = LOCATE_parser___ReduceAction577___action;
66236 fra.me.has_broke = 0;
66237 fra.me.REG_size = 7;
66238 fra.me.REG[0] = NIT_NULL;
66239 fra.me.REG[1] = NIT_NULL;
66240 fra.me.REG[2] = NIT_NULL;
66241 fra.me.REG[3] = NIT_NULL;
66242 fra.me.REG[4] = NIT_NULL;
66243 fra.me.REG[5] = NIT_NULL;
66244 fra.me.REG[6] = NIT_NULL;
66245 fra.me.REG[0] = p0;
66246 fra.me.REG[1] = p1;
66247 fra.me.REG[0] = NIT_NULL;
66248 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66249 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66250 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66251 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66252 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66253 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66254 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66255 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
66256 /* ./parser//parser.nit:24935 */
66257 if (UNTAG_Bool(REGB0)) {
66258 } else {
66259 fprintf(stderr, "Assert failed");
66260 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24935);
66261 nit_exit(1);
66262 }
66263 fra.me.REG[6] = NEW_Array_array___Array___init();
66264 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
66265 /* ./parser//parser.nit:24938 */
66266 if (UNTAG_Bool(REGB0)) {
66267 } else {
66268 fprintf(stderr, "Assert failed");
66269 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24938);
66270 nit_exit(1);
66271 }
66272 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
66273 /* ./parser//parser.nit:24940 */
66274 if (UNTAG_Bool(REGB0)) {
66275 } else {
66276 fprintf(stderr, "Assert failed");
66277 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24940);
66278 nit_exit(1);
66279 }
66280 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
66281 /* ./parser//parser.nit:24941 */
66282 if (UNTAG_Bool(REGB0)) {
66283 } else {
66284 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
66285 if (UNTAG_Bool(REGB1)) {
66286 REGB1 = TAG_Bool(false);
66287 REGB0 = REGB1;
66288 } else {
66289 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
66290 REGB0 = REGB1;
66291 }
66292 }
66293 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
66294 if (UNTAG_Bool(REGB0)) {
66295 /* ./parser//parser.nit:24942 */
66296 array___Array___add(fra.me.REG[6], fra.me.REG[4]);
66297 }
66298 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
66299 /* ./parser//parser.nit:24945 */
66300 if (UNTAG_Bool(REGB0)) {
66301 fra.me.REG[6] = fra.me.REG[3];
66302 /* ./parser//parser.nit:24946 */
66303 } else {
66304 /* ./parser//parser.nit:24948 */
66305 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
66306 }
66307 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
66308 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
66309 /* ./parser//parser.nit:24955 */
66310 if (UNTAG_Bool(REGB0)) {
66311 } else {
66312 fprintf(stderr, "Assert failed");
66313 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24955);
66314 nit_exit(1);
66315 }
66316 fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[5], fra.me.REG[6], fra.me.REG[2]);
66317 fra.me.REG[0] = fra.me.REG[2];
66318 REGB0 = TAG_Int(38);
66319 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
66320 /* ./parser//parser.nit:24962 */
66321 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
66322 stack_frame_head = fra.me.prev;
66323 return;
66324 }
66325 void parser___ReduceAction577___init(val_t p0, int* init_table){
66326 int itpos581 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction577].i;
66327 struct {struct stack_frame_t me;} fra;
66328 val_t tmp;
66329 if (init_table[itpos581]) return;
66330 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66331 fra.me.file = LOCATE_parser;
66332 fra.me.line = 24964;
66333 fra.me.meth = LOCATE_parser___ReduceAction577___init;
66334 fra.me.has_broke = 0;
66335 fra.me.REG_size = 1;
66336 fra.me.REG[0] = NIT_NULL;
66337 fra.me.REG[0] = p0;
66338 /* ./parser//parser.nit:24964 */
66339 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
66340 stack_frame_head = fra.me.prev;
66341 init_table[itpos581] = 1;
66342 return;
66343 }
66344 void parser___ReduceAction578___action(val_t p0, val_t p1){
66345 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
66346 val_t REGB0;
66347 val_t tmp;
66348 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66349 fra.me.file = LOCATE_parser;
66350 fra.me.line = 24968;
66351 fra.me.meth = LOCATE_parser___ReduceAction578___action;
66352 fra.me.has_broke = 0;
66353 fra.me.REG_size = 5;
66354 fra.me.REG[0] = NIT_NULL;
66355 fra.me.REG[1] = NIT_NULL;
66356 fra.me.REG[2] = NIT_NULL;
66357 fra.me.REG[3] = NIT_NULL;
66358 fra.me.REG[4] = NIT_NULL;
66359 fra.me.REG[0] = p0;
66360 fra.me.REG[1] = p1;
66361 fra.me.REG[0] = NIT_NULL;
66362 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66363 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66364 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66365 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66366 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
66367 /* ./parser//parser.nit:24976 */
66368 if (UNTAG_Bool(REGB0)) {
66369 } else {
66370 fprintf(stderr, "Assert failed");
66371 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24976);
66372 nit_exit(1);
66373 }
66374 fra.me.REG[4] = NEW_Array_array___Array___init();
66375 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
66376 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
66377 /* ./parser//parser.nit:24982 */
66378 if (UNTAG_Bool(REGB0)) {
66379 } else {
66380 fprintf(stderr, "Assert failed");
66381 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24982);
66382 nit_exit(1);
66383 }
66384 fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]);
66385 fra.me.REG[0] = fra.me.REG[2];
66386 REGB0 = TAG_Int(38);
66387 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
66388 /* ./parser//parser.nit:24989 */
66389 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
66390 stack_frame_head = fra.me.prev;
66391 return;
66392 }
66393 void parser___ReduceAction578___init(val_t p0, int* init_table){
66394 int itpos582 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction578].i;
66395 struct {struct stack_frame_t me;} fra;
66396 val_t tmp;
66397 if (init_table[itpos582]) return;
66398 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66399 fra.me.file = LOCATE_parser;
66400 fra.me.line = 24991;
66401 fra.me.meth = LOCATE_parser___ReduceAction578___init;
66402 fra.me.has_broke = 0;
66403 fra.me.REG_size = 1;
66404 fra.me.REG[0] = NIT_NULL;
66405 fra.me.REG[0] = p0;
66406 /* ./parser//parser.nit:24991 */
66407 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
66408 stack_frame_head = fra.me.prev;
66409 init_table[itpos582] = 1;
66410 return;
66411 }
66412 void parser___ReduceAction579___action(val_t p0, val_t p1){
66413 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
66414 val_t REGB0;
66415 val_t tmp;
66416 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66417 fra.me.file = LOCATE_parser;
66418 fra.me.line = 24995;
66419 fra.me.meth = LOCATE_parser___ReduceAction579___action;
66420 fra.me.has_broke = 0;
66421 fra.me.REG_size = 5;
66422 fra.me.REG[0] = NIT_NULL;
66423 fra.me.REG[1] = NIT_NULL;
66424 fra.me.REG[2] = NIT_NULL;
66425 fra.me.REG[3] = NIT_NULL;
66426 fra.me.REG[4] = NIT_NULL;
66427 fra.me.REG[0] = p0;
66428 fra.me.REG[1] = p1;
66429 fra.me.REG[0] = NIT_NULL;
66430 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66431 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66432 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66433 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
66434 /* ./parser//parser.nit:25002 */
66435 if (UNTAG_Bool(REGB0)) {
66436 } else {
66437 fprintf(stderr, "Assert failed");
66438 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25002);
66439 nit_exit(1);
66440 }
66441 fra.me.REG[4] = NEW_Array_array___Array___init();
66442 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
66443 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
66444 /* ./parser//parser.nit:25008 */
66445 if (UNTAG_Bool(REGB0)) {
66446 } else {
66447 fprintf(stderr, "Assert failed");
66448 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25008);
66449 nit_exit(1);
66450 }
66451 fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]);
66452 fra.me.REG[0] = fra.me.REG[2];
66453 REGB0 = TAG_Int(38);
66454 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
66455 /* ./parser//parser.nit:25015 */
66456 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
66457 stack_frame_head = fra.me.prev;
66458 return;
66459 }
66460 void parser___ReduceAction579___init(val_t p0, int* init_table){
66461 int itpos583 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction579].i;
66462 struct {struct stack_frame_t me;} fra;
66463 val_t tmp;
66464 if (init_table[itpos583]) return;
66465 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66466 fra.me.file = LOCATE_parser;
66467 fra.me.line = 25017;
66468 fra.me.meth = LOCATE_parser___ReduceAction579___init;
66469 fra.me.has_broke = 0;
66470 fra.me.REG_size = 1;
66471 fra.me.REG[0] = NIT_NULL;
66472 fra.me.REG[0] = p0;
66473 /* ./parser//parser.nit:25017 */
66474 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
66475 stack_frame_head = fra.me.prev;
66476 init_table[itpos583] = 1;
66477 return;
66478 }
66479 void parser___ReduceAction580___action(val_t p0, val_t p1){
66480 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
66481 val_t REGB0;
66482 val_t tmp;
66483 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66484 fra.me.file = LOCATE_parser;
66485 fra.me.line = 25021;
66486 fra.me.meth = LOCATE_parser___ReduceAction580___action;
66487 fra.me.has_broke = 0;
66488 fra.me.REG_size = 4;
66489 fra.me.REG[0] = NIT_NULL;
66490 fra.me.REG[1] = NIT_NULL;
66491 fra.me.REG[2] = NIT_NULL;
66492 fra.me.REG[3] = NIT_NULL;
66493 fra.me.REG[0] = p0;
66494 fra.me.REG[1] = p1;
66495 fra.me.REG[0] = NIT_NULL;
66496 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66497 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66498 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
66499 /* ./parser//parser.nit:25027 */
66500 if (UNTAG_Bool(REGB0)) {
66501 } else {
66502 fprintf(stderr, "Assert failed");
66503 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25027);
66504 nit_exit(1);
66505 }
66506 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
66507 /* ./parser//parser.nit:25029 */
66508 if (UNTAG_Bool(REGB0)) {
66509 } else {
66510 fprintf(stderr, "Assert failed");
66511 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25029);
66512 nit_exit(1);
66513 }
66514 fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL);
66515 fra.me.REG[0] = fra.me.REG[2];
66516 REGB0 = TAG_Int(38);
66517 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
66518 /* ./parser//parser.nit:25036 */
66519 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
66520 stack_frame_head = fra.me.prev;
66521 return;
66522 }
66523 void parser___ReduceAction580___init(val_t p0, int* init_table){
66524 int itpos584 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction580].i;
66525 struct {struct stack_frame_t me;} fra;
66526 val_t tmp;
66527 if (init_table[itpos584]) return;
66528 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66529 fra.me.file = LOCATE_parser;
66530 fra.me.line = 25038;
66531 fra.me.meth = LOCATE_parser___ReduceAction580___init;
66532 fra.me.has_broke = 0;
66533 fra.me.REG_size = 1;
66534 fra.me.REG[0] = NIT_NULL;
66535 fra.me.REG[0] = p0;
66536 /* ./parser//parser.nit:25038 */
66537 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
66538 stack_frame_head = fra.me.prev;
66539 init_table[itpos584] = 1;
66540 return;
66541 }
66542 void parser___ReduceAction581___action(val_t p0, val_t p1){
66543 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
66544 val_t REGB0;
66545 val_t tmp;
66546 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66547 fra.me.file = LOCATE_parser;
66548 fra.me.line = 25042;
66549 fra.me.meth = LOCATE_parser___ReduceAction581___action;
66550 fra.me.has_broke = 0;
66551 fra.me.REG_size = 6;
66552 fra.me.REG[0] = NIT_NULL;
66553 fra.me.REG[1] = NIT_NULL;
66554 fra.me.REG[2] = NIT_NULL;
66555 fra.me.REG[3] = NIT_NULL;
66556 fra.me.REG[4] = NIT_NULL;
66557 fra.me.REG[5] = NIT_NULL;
66558 fra.me.REG[0] = p0;
66559 fra.me.REG[1] = p1;
66560 fra.me.REG[0] = NIT_NULL;
66561 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66562 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66563 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66564 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66565 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66566 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66567 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66568 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66569 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/;
66570 /* ./parser//parser.nit:25054 */
66571 if (UNTAG_Bool(REGB0)) {
66572 } else {
66573 fprintf(stderr, "Assert failed");
66574 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25054);
66575 nit_exit(1);
66576 }
66577 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
66578 /* ./parser//parser.nit:25056 */
66579 if (UNTAG_Bool(REGB0)) {
66580 } else {
66581 fprintf(stderr, "Assert failed");
66582 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25056);
66583 nit_exit(1);
66584 }
66585 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
66586 /* ./parser//parser.nit:25058 */
66587 if (UNTAG_Bool(REGB0)) {
66588 } else {
66589 fprintf(stderr, "Assert failed");
66590 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25058);
66591 nit_exit(1);
66592 }
66593 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
66594 /* ./parser//parser.nit:25060 */
66595 if (UNTAG_Bool(REGB0)) {
66596 } else {
66597 fprintf(stderr, "Assert failed");
66598 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25060);
66599 nit_exit(1);
66600 }
66601 fra.me.REG[2] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
66602 fra.me.REG[0] = fra.me.REG[2];
66603 REGB0 = TAG_Int(39);
66604 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
66605 /* ./parser//parser.nit:25068 */
66606 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
66607 stack_frame_head = fra.me.prev;
66608 return;
66609 }
66610 void parser___ReduceAction581___init(val_t p0, int* init_table){
66611 int itpos585 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction581].i;
66612 struct {struct stack_frame_t me;} fra;
66613 val_t tmp;
66614 if (init_table[itpos585]) return;
66615 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66616 fra.me.file = LOCATE_parser;
66617 fra.me.line = 25070;
66618 fra.me.meth = LOCATE_parser___ReduceAction581___init;
66619 fra.me.has_broke = 0;
66620 fra.me.REG_size = 1;
66621 fra.me.REG[0] = NIT_NULL;
66622 fra.me.REG[0] = p0;
66623 /* ./parser//parser.nit:25070 */
66624 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
66625 stack_frame_head = fra.me.prev;
66626 init_table[itpos585] = 1;
66627 return;
66628 }
66629 void parser___ReduceAction582___action(val_t p0, val_t p1){
66630 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
66631 val_t REGB0;
66632 val_t tmp;
66633 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66634 fra.me.file = LOCATE_parser;
66635 fra.me.line = 25074;
66636 fra.me.meth = LOCATE_parser___ReduceAction582___action;
66637 fra.me.has_broke = 0;
66638 fra.me.REG_size = 5;
66639 fra.me.REG[0] = NIT_NULL;
66640 fra.me.REG[1] = NIT_NULL;
66641 fra.me.REG[2] = NIT_NULL;
66642 fra.me.REG[3] = NIT_NULL;
66643 fra.me.REG[4] = NIT_NULL;
66644 fra.me.REG[0] = p0;
66645 fra.me.REG[1] = p1;
66646 fra.me.REG[0] = NIT_NULL;
66647 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66648 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66649 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66650 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66651 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66652 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66653 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/;
66654 /* ./parser//parser.nit:25084 */
66655 if (UNTAG_Bool(REGB0)) {
66656 } else {
66657 fprintf(stderr, "Assert failed");
66658 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25084);
66659 nit_exit(1);
66660 }
66661 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
66662 /* ./parser//parser.nit:25086 */
66663 if (UNTAG_Bool(REGB0)) {
66664 } else {
66665 fprintf(stderr, "Assert failed");
66666 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25086);
66667 nit_exit(1);
66668 }
66669 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
66670 /* ./parser//parser.nit:25088 */
66671 if (UNTAG_Bool(REGB0)) {
66672 } else {
66673 fprintf(stderr, "Assert failed");
66674 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25088);
66675 nit_exit(1);
66676 }
66677 fra.me.REG[2] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
66678 fra.me.REG[0] = fra.me.REG[2];
66679 REGB0 = TAG_Int(39);
66680 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
66681 /* ./parser//parser.nit:25096 */
66682 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
66683 stack_frame_head = fra.me.prev;
66684 return;
66685 }
66686 void parser___ReduceAction582___init(val_t p0, int* init_table){
66687 int itpos586 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction582].i;
66688 struct {struct stack_frame_t me;} fra;
66689 val_t tmp;
66690 if (init_table[itpos586]) return;
66691 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66692 fra.me.file = LOCATE_parser;
66693 fra.me.line = 25098;
66694 fra.me.meth = LOCATE_parser___ReduceAction582___init;
66695 fra.me.has_broke = 0;
66696 fra.me.REG_size = 1;
66697 fra.me.REG[0] = NIT_NULL;
66698 fra.me.REG[0] = p0;
66699 /* ./parser//parser.nit:25098 */
66700 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
66701 stack_frame_head = fra.me.prev;
66702 init_table[itpos586] = 1;
66703 return;
66704 }
66705 void parser___ReduceAction583___action(val_t p0, val_t p1){
66706 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
66707 val_t REGB0;
66708 val_t REGB1;
66709 val_t tmp;
66710 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66711 fra.me.file = LOCATE_parser;
66712 fra.me.line = 25102;
66713 fra.me.meth = LOCATE_parser___ReduceAction583___action;
66714 fra.me.has_broke = 0;
66715 fra.me.REG_size = 7;
66716 fra.me.REG[0] = NIT_NULL;
66717 fra.me.REG[1] = NIT_NULL;
66718 fra.me.REG[2] = NIT_NULL;
66719 fra.me.REG[3] = NIT_NULL;
66720 fra.me.REG[4] = NIT_NULL;
66721 fra.me.REG[5] = NIT_NULL;
66722 fra.me.REG[6] = NIT_NULL;
66723 fra.me.REG[0] = p0;
66724 fra.me.REG[1] = p1;
66725 fra.me.REG[0] = NIT_NULL;
66726 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66727 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66728 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66729 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66730 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66731 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66732 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66733 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66734 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66735 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/;
66736 /* ./parser//parser.nit:25115 */
66737 if (UNTAG_Bool(REGB0)) {
66738 } else {
66739 fprintf(stderr, "Assert failed");
66740 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25115);
66741 nit_exit(1);
66742 }
66743 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
66744 /* ./parser//parser.nit:25117 */
66745 if (UNTAG_Bool(REGB0)) {
66746 } else {
66747 fprintf(stderr, "Assert failed");
66748 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25117);
66749 nit_exit(1);
66750 }
66751 fra.me.REG[6] = NEW_Array_array___Array___init();
66752 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
66753 /* ./parser//parser.nit:25120 */
66754 if (UNTAG_Bool(REGB0)) {
66755 } else {
66756 fprintf(stderr, "Assert failed");
66757 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25120);
66758 nit_exit(1);
66759 }
66760 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
66761 /* ./parser//parser.nit:25121 */
66762 if (UNTAG_Bool(REGB0)) {
66763 } else {
66764 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
66765 if (UNTAG_Bool(REGB1)) {
66766 REGB1 = TAG_Bool(false);
66767 REGB0 = REGB1;
66768 } else {
66769 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
66770 REGB0 = REGB1;
66771 }
66772 }
66773 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
66774 if (UNTAG_Bool(REGB0)) {
66775 /* ./parser//parser.nit:25122 */
66776 array___Array___add(fra.me.REG[6], fra.me.REG[3]);
66777 }
66778 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
66779 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
66780 /* ./parser//parser.nit:25128 */
66781 if (UNTAG_Bool(REGB0)) {
66782 } else {
66783 fprintf(stderr, "Assert failed");
66784 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25128);
66785 nit_exit(1);
66786 }
66787 fra.me.REG[2] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[2]);
66788 fra.me.REG[0] = fra.me.REG[2];
66789 REGB0 = TAG_Int(39);
66790 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
66791 /* ./parser//parser.nit:25136 */
66792 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
66793 stack_frame_head = fra.me.prev;
66794 return;
66795 }
66796 void parser___ReduceAction583___init(val_t p0, int* init_table){
66797 int itpos587 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction583].i;
66798 struct {struct stack_frame_t me;} fra;
66799 val_t tmp;
66800 if (init_table[itpos587]) return;
66801 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66802 fra.me.file = LOCATE_parser;
66803 fra.me.line = 25138;
66804 fra.me.meth = LOCATE_parser___ReduceAction583___init;
66805 fra.me.has_broke = 0;
66806 fra.me.REG_size = 1;
66807 fra.me.REG[0] = NIT_NULL;
66808 fra.me.REG[0] = p0;
66809 /* ./parser//parser.nit:25138 */
66810 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
66811 stack_frame_head = fra.me.prev;
66812 init_table[itpos587] = 1;
66813 return;
66814 }
66815 void parser___ReduceAction584___action(val_t p0, val_t p1){
66816 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
66817 val_t REGB0;
66818 val_t REGB1;
66819 val_t tmp;
66820 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66821 fra.me.file = LOCATE_parser;
66822 fra.me.line = 25142;
66823 fra.me.meth = LOCATE_parser___ReduceAction584___action;
66824 fra.me.has_broke = 0;
66825 fra.me.REG_size = 8;
66826 fra.me.REG[0] = NIT_NULL;
66827 fra.me.REG[1] = NIT_NULL;
66828 fra.me.REG[2] = NIT_NULL;
66829 fra.me.REG[3] = NIT_NULL;
66830 fra.me.REG[4] = NIT_NULL;
66831 fra.me.REG[5] = NIT_NULL;
66832 fra.me.REG[6] = NIT_NULL;
66833 fra.me.REG[7] = NIT_NULL;
66834 fra.me.REG[0] = p0;
66835 fra.me.REG[1] = p1;
66836 fra.me.REG[0] = NIT_NULL;
66837 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66838 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66839 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66840 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66841 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66842 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66843 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66844 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66845 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66846 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66847 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/;
66848 /* ./parser//parser.nit:25156 */
66849 if (UNTAG_Bool(REGB0)) {
66850 } else {
66851 fprintf(stderr, "Assert failed");
66852 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25156);
66853 nit_exit(1);
66854 }
66855 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
66856 /* ./parser//parser.nit:25158 */
66857 if (UNTAG_Bool(REGB0)) {
66858 } else {
66859 fprintf(stderr, "Assert failed");
66860 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25158);
66861 nit_exit(1);
66862 }
66863 fra.me.REG[7] = NEW_Array_array___Array___init();
66864 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
66865 /* ./parser//parser.nit:25161 */
66866 if (UNTAG_Bool(REGB0)) {
66867 } else {
66868 fprintf(stderr, "Assert failed");
66869 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25161);
66870 nit_exit(1);
66871 }
66872 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
66873 /* ./parser//parser.nit:25163 */
66874 if (UNTAG_Bool(REGB0)) {
66875 } else {
66876 fprintf(stderr, "Assert failed");
66877 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25163);
66878 nit_exit(1);
66879 }
66880 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
66881 /* ./parser//parser.nit:25164 */
66882 if (UNTAG_Bool(REGB0)) {
66883 } else {
66884 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
66885 if (UNTAG_Bool(REGB1)) {
66886 REGB1 = TAG_Bool(false);
66887 REGB0 = REGB1;
66888 } else {
66889 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
66890 REGB0 = REGB1;
66891 }
66892 }
66893 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
66894 if (UNTAG_Bool(REGB0)) {
66895 /* ./parser//parser.nit:25165 */
66896 array___Array___add(fra.me.REG[7], fra.me.REG[4]);
66897 }
66898 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
66899 /* ./parser//parser.nit:25168 */
66900 if (UNTAG_Bool(REGB0)) {
66901 fra.me.REG[7] = fra.me.REG[3];
66902 /* ./parser//parser.nit:25169 */
66903 } else {
66904 /* ./parser//parser.nit:25171 */
66905 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
66906 }
66907 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
66908 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
66909 /* ./parser//parser.nit:25178 */
66910 if (UNTAG_Bool(REGB0)) {
66911 } else {
66912 fprintf(stderr, "Assert failed");
66913 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25178);
66914 nit_exit(1);
66915 }
66916 fra.me.REG[2] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[2]);
66917 fra.me.REG[0] = fra.me.REG[2];
66918 REGB0 = TAG_Int(39);
66919 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
66920 /* ./parser//parser.nit:25186 */
66921 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
66922 stack_frame_head = fra.me.prev;
66923 return;
66924 }
66925 void parser___ReduceAction584___init(val_t p0, int* init_table){
66926 int itpos588 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction584].i;
66927 struct {struct stack_frame_t me;} fra;
66928 val_t tmp;
66929 if (init_table[itpos588]) return;
66930 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66931 fra.me.file = LOCATE_parser;
66932 fra.me.line = 25188;
66933 fra.me.meth = LOCATE_parser___ReduceAction584___init;
66934 fra.me.has_broke = 0;
66935 fra.me.REG_size = 1;
66936 fra.me.REG[0] = NIT_NULL;
66937 fra.me.REG[0] = p0;
66938 /* ./parser//parser.nit:25188 */
66939 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
66940 stack_frame_head = fra.me.prev;
66941 init_table[itpos588] = 1;
66942 return;
66943 }
66944 void parser___ReduceAction585___action(val_t p0, val_t p1){
66945 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
66946 val_t REGB0;
66947 val_t tmp;
66948 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66949 fra.me.file = LOCATE_parser;
66950 fra.me.line = 25192;
66951 fra.me.meth = LOCATE_parser___ReduceAction585___action;
66952 fra.me.has_broke = 0;
66953 fra.me.REG_size = 5;
66954 fra.me.REG[0] = NIT_NULL;
66955 fra.me.REG[1] = NIT_NULL;
66956 fra.me.REG[2] = NIT_NULL;
66957 fra.me.REG[3] = NIT_NULL;
66958 fra.me.REG[4] = NIT_NULL;
66959 fra.me.REG[0] = p0;
66960 fra.me.REG[1] = p1;
66961 fra.me.REG[0] = NIT_NULL;
66962 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66963 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66964 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66965 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66966 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66967 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
66968 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/;
66969 /* ./parser//parser.nit:25202 */
66970 if (UNTAG_Bool(REGB0)) {
66971 } else {
66972 fprintf(stderr, "Assert failed");
66973 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25202);
66974 nit_exit(1);
66975 }
66976 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
66977 /* ./parser//parser.nit:25204 */
66978 if (UNTAG_Bool(REGB0)) {
66979 } else {
66980 fprintf(stderr, "Assert failed");
66981 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25204);
66982 nit_exit(1);
66983 }
66984 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
66985 /* ./parser//parser.nit:25206 */
66986 if (UNTAG_Bool(REGB0)) {
66987 } else {
66988 fprintf(stderr, "Assert failed");
66989 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25206);
66990 nit_exit(1);
66991 }
66992 fra.me.REG[2] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
66993 fra.me.REG[0] = fra.me.REG[2];
66994 REGB0 = TAG_Int(39);
66995 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
66996 /* ./parser//parser.nit:25214 */
66997 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
66998 stack_frame_head = fra.me.prev;
66999 return;
67000 }
67001 void parser___ReduceAction585___init(val_t p0, int* init_table){
67002 int itpos589 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction585].i;
67003 struct {struct stack_frame_t me;} fra;
67004 val_t tmp;
67005 if (init_table[itpos589]) return;
67006 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67007 fra.me.file = LOCATE_parser;
67008 fra.me.line = 25216;
67009 fra.me.meth = LOCATE_parser___ReduceAction585___init;
67010 fra.me.has_broke = 0;
67011 fra.me.REG_size = 1;
67012 fra.me.REG[0] = NIT_NULL;
67013 fra.me.REG[0] = p0;
67014 /* ./parser//parser.nit:25216 */
67015 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
67016 stack_frame_head = fra.me.prev;
67017 init_table[itpos589] = 1;
67018 return;
67019 }
67020 void parser___ReduceAction586___action(val_t p0, val_t p1){
67021 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
67022 val_t REGB0;
67023 val_t tmp;
67024 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67025 fra.me.file = LOCATE_parser;
67026 fra.me.line = 25220;
67027 fra.me.meth = LOCATE_parser___ReduceAction586___action;
67028 fra.me.has_broke = 0;
67029 fra.me.REG_size = 5;
67030 fra.me.REG[0] = NIT_NULL;
67031 fra.me.REG[1] = NIT_NULL;
67032 fra.me.REG[2] = NIT_NULL;
67033 fra.me.REG[3] = NIT_NULL;
67034 fra.me.REG[4] = NIT_NULL;
67035 fra.me.REG[0] = p0;
67036 fra.me.REG[1] = p1;
67037 fra.me.REG[0] = NIT_NULL;
67038 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67039 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67040 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67041 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67042 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67043 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67044 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67045 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/;
67046 /* ./parser//parser.nit:25231 */
67047 if (UNTAG_Bool(REGB0)) {
67048 } else {
67049 fprintf(stderr, "Assert failed");
67050 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25231);
67051 nit_exit(1);
67052 }
67053 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
67054 /* ./parser//parser.nit:25233 */
67055 if (UNTAG_Bool(REGB0)) {
67056 } else {
67057 fprintf(stderr, "Assert failed");
67058 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25233);
67059 nit_exit(1);
67060 }
67061 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
67062 /* ./parser//parser.nit:25235 */
67063 if (UNTAG_Bool(REGB0)) {
67064 } else {
67065 fprintf(stderr, "Assert failed");
67066 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25235);
67067 nit_exit(1);
67068 }
67069 fra.me.REG[2] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
67070 fra.me.REG[0] = fra.me.REG[2];
67071 REGB0 = TAG_Int(39);
67072 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
67073 /* ./parser//parser.nit:25243 */
67074 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
67075 stack_frame_head = fra.me.prev;
67076 return;
67077 }
67078 void parser___ReduceAction586___init(val_t p0, int* init_table){
67079 int itpos590 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction586].i;
67080 struct {struct stack_frame_t me;} fra;
67081 val_t tmp;
67082 if (init_table[itpos590]) return;
67083 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67084 fra.me.file = LOCATE_parser;
67085 fra.me.line = 25245;
67086 fra.me.meth = LOCATE_parser___ReduceAction586___init;
67087 fra.me.has_broke = 0;
67088 fra.me.REG_size = 1;
67089 fra.me.REG[0] = NIT_NULL;
67090 fra.me.REG[0] = p0;
67091 /* ./parser//parser.nit:25245 */
67092 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
67093 stack_frame_head = fra.me.prev;
67094 init_table[itpos590] = 1;
67095 return;
67096 }
67097 void parser___ReduceAction587___action(val_t p0, val_t p1){
67098 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
67099 val_t REGB0;
67100 val_t tmp;
67101 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67102 fra.me.file = LOCATE_parser;
67103 fra.me.line = 25249;
67104 fra.me.meth = LOCATE_parser___ReduceAction587___action;
67105 fra.me.has_broke = 0;
67106 fra.me.REG_size = 4;
67107 fra.me.REG[0] = NIT_NULL;
67108 fra.me.REG[1] = NIT_NULL;
67109 fra.me.REG[2] = NIT_NULL;
67110 fra.me.REG[3] = NIT_NULL;
67111 fra.me.REG[0] = p0;
67112 fra.me.REG[1] = p1;
67113 fra.me.REG[0] = NIT_NULL;
67114 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67115 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67116 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
67117 /* ./parser//parser.nit:25255 */
67118 if (UNTAG_Bool(REGB0)) {
67119 } else {
67120 fprintf(stderr, "Assert failed");
67121 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25255);
67122 nit_exit(1);
67123 }
67124 fra.me.REG[0] = fra.me.REG[2];
67125 REGB0 = TAG_Int(40);
67126 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
67127 /* ./parser//parser.nit:25257 */
67128 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
67129 stack_frame_head = fra.me.prev;
67130 return;
67131 }
67132 void parser___ReduceAction587___init(val_t p0, int* init_table){
67133 int itpos591 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction587].i;
67134 struct {struct stack_frame_t me;} fra;
67135 val_t tmp;
67136 if (init_table[itpos591]) return;
67137 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67138 fra.me.file = LOCATE_parser;
67139 fra.me.line = 25259;
67140 fra.me.meth = LOCATE_parser___ReduceAction587___init;
67141 fra.me.has_broke = 0;
67142 fra.me.REG_size = 1;
67143 fra.me.REG[0] = NIT_NULL;
67144 fra.me.REG[0] = p0;
67145 /* ./parser//parser.nit:25259 */
67146 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
67147 stack_frame_head = fra.me.prev;
67148 init_table[itpos591] = 1;
67149 return;
67150 }
67151 void parser___ReduceAction588___action(val_t p0, val_t p1){
67152 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
67153 val_t REGB0;
67154 val_t tmp;
67155 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67156 fra.me.file = LOCATE_parser;
67157 fra.me.line = 25263;
67158 fra.me.meth = LOCATE_parser___ReduceAction588___action;
67159 fra.me.has_broke = 0;
67160 fra.me.REG_size = 3;
67161 fra.me.REG[0] = NIT_NULL;
67162 fra.me.REG[1] = NIT_NULL;
67163 fra.me.REG[2] = NIT_NULL;
67164 fra.me.REG[0] = p0;
67165 fra.me.REG[1] = p1;
67166 fra.me.REG[0] = NIT_NULL;
67167 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67168 fra.me.REG[0] = NIT_NULL;
67169 REGB0 = TAG_Int(40);
67170 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
67171 /* ./parser//parser.nit:25268 */
67172 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
67173 stack_frame_head = fra.me.prev;
67174 return;
67175 }
67176 void parser___ReduceAction588___init(val_t p0, int* init_table){
67177 int itpos592 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction588].i;
67178 struct {struct stack_frame_t me;} fra;
67179 val_t tmp;
67180 if (init_table[itpos592]) return;
67181 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67182 fra.me.file = LOCATE_parser;
67183 fra.me.line = 25270;
67184 fra.me.meth = LOCATE_parser___ReduceAction588___init;
67185 fra.me.has_broke = 0;
67186 fra.me.REG_size = 1;
67187 fra.me.REG[0] = NIT_NULL;
67188 fra.me.REG[0] = p0;
67189 /* ./parser//parser.nit:25270 */
67190 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
67191 stack_frame_head = fra.me.prev;
67192 init_table[itpos592] = 1;
67193 return;
67194 }
67195 void parser___ReduceAction589___action(val_t p0, val_t p1){
67196 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
67197 val_t REGB0;
67198 val_t REGB1;
67199 val_t tmp;
67200 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67201 fra.me.file = LOCATE_parser;
67202 fra.me.line = 25274;
67203 fra.me.meth = LOCATE_parser___ReduceAction589___action;
67204 fra.me.has_broke = 0;
67205 fra.me.REG_size = 5;
67206 fra.me.REG[0] = NIT_NULL;
67207 fra.me.REG[1] = NIT_NULL;
67208 fra.me.REG[2] = NIT_NULL;
67209 fra.me.REG[3] = NIT_NULL;
67210 fra.me.REG[4] = NIT_NULL;
67211 fra.me.REG[0] = p0;
67212 fra.me.REG[1] = p1;
67213 fra.me.REG[0] = NIT_NULL;
67214 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67215 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67216 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67217 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67218 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67219 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
67220 /* ./parser//parser.nit:25283 */
67221 if (UNTAG_Bool(REGB0)) {
67222 } else {
67223 fprintf(stderr, "Assert failed");
67224 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25283);
67225 nit_exit(1);
67226 }
67227 fra.me.REG[4] = NEW_Array_array___Array___init();
67228 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
67229 /* ./parser//parser.nit:25286 */
67230 if (UNTAG_Bool(REGB0)) {
67231 } else {
67232 fprintf(stderr, "Assert failed");
67233 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25286);
67234 nit_exit(1);
67235 }
67236 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
67237 /* ./parser//parser.nit:25287 */
67238 if (UNTAG_Bool(REGB0)) {
67239 } else {
67240 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
67241 if (UNTAG_Bool(REGB1)) {
67242 REGB1 = TAG_Bool(false);
67243 REGB0 = REGB1;
67244 } else {
67245 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
67246 REGB0 = REGB1;
67247 }
67248 }
67249 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
67250 if (UNTAG_Bool(REGB0)) {
67251 /* ./parser//parser.nit:25288 */
67252 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
67253 }
67254 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
67255 fra.me.REG[4] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[3], fra.me.REG[4], NIT_NULL);
67256 fra.me.REG[0] = fra.me.REG[4];
67257 REGB0 = TAG_Int(41);
67258 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
67259 /* ./parser//parser.nit:25299 */
67260 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
67261 stack_frame_head = fra.me.prev;
67262 return;
67263 }
67264 void parser___ReduceAction589___init(val_t p0, int* init_table){
67265 int itpos593 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction589].i;
67266 struct {struct stack_frame_t me;} fra;
67267 val_t tmp;
67268 if (init_table[itpos593]) return;
67269 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67270 fra.me.file = LOCATE_parser;
67271 fra.me.line = 25301;
67272 fra.me.meth = LOCATE_parser___ReduceAction589___init;
67273 fra.me.has_broke = 0;
67274 fra.me.REG_size = 1;
67275 fra.me.REG[0] = NIT_NULL;
67276 fra.me.REG[0] = p0;
67277 /* ./parser//parser.nit:25301 */
67278 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
67279 stack_frame_head = fra.me.prev;
67280 init_table[itpos593] = 1;
67281 return;
67282 }
67283 void parser___ReduceAction590___action(val_t p0, val_t p1){
67284 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
67285 val_t REGB0;
67286 val_t REGB1;
67287 val_t tmp;
67288 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67289 fra.me.file = LOCATE_parser;
67290 fra.me.line = 25305;
67291 fra.me.meth = LOCATE_parser___ReduceAction590___action;
67292 fra.me.has_broke = 0;
67293 fra.me.REG_size = 6;
67294 fra.me.REG[0] = NIT_NULL;
67295 fra.me.REG[1] = NIT_NULL;
67296 fra.me.REG[2] = NIT_NULL;
67297 fra.me.REG[3] = NIT_NULL;
67298 fra.me.REG[4] = NIT_NULL;
67299 fra.me.REG[5] = NIT_NULL;
67300 fra.me.REG[0] = p0;
67301 fra.me.REG[1] = p1;
67302 fra.me.REG[0] = NIT_NULL;
67303 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67304 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67305 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67306 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67307 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67308 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67309 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
67310 /* ./parser//parser.nit:25315 */
67311 if (UNTAG_Bool(REGB0)) {
67312 } else {
67313 fprintf(stderr, "Assert failed");
67314 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25315);
67315 nit_exit(1);
67316 }
67317 fra.me.REG[5] = NEW_Array_array___Array___init();
67318 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
67319 /* ./parser//parser.nit:25318 */
67320 if (UNTAG_Bool(REGB0)) {
67321 } else {
67322 fprintf(stderr, "Assert failed");
67323 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25318);
67324 nit_exit(1);
67325 }
67326 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
67327 /* ./parser//parser.nit:25320 */
67328 if (UNTAG_Bool(REGB0)) {
67329 } else {
67330 fprintf(stderr, "Assert failed");
67331 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25320);
67332 nit_exit(1);
67333 }
67334 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
67335 /* ./parser//parser.nit:25321 */
67336 if (UNTAG_Bool(REGB0)) {
67337 } else {
67338 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
67339 if (UNTAG_Bool(REGB1)) {
67340 REGB1 = TAG_Bool(false);
67341 REGB0 = REGB1;
67342 } else {
67343 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
67344 REGB0 = REGB1;
67345 }
67346 }
67347 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
67348 if (UNTAG_Bool(REGB0)) {
67349 /* ./parser//parser.nit:25322 */
67350 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
67351 }
67352 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
67353 /* ./parser//parser.nit:25325 */
67354 if (UNTAG_Bool(REGB0)) {
67355 fra.me.REG[5] = fra.me.REG[2];
67356 /* ./parser//parser.nit:25326 */
67357 } else {
67358 /* ./parser//parser.nit:25328 */
67359 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
67360 }
67361 fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
67362 fra.me.REG[5] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[4], fra.me.REG[5], NIT_NULL);
67363 fra.me.REG[0] = fra.me.REG[5];
67364 REGB0 = TAG_Int(41);
67365 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
67366 /* ./parser//parser.nit:25340 */
67367 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
67368 stack_frame_head = fra.me.prev;
67369 return;
67370 }
67371 void parser___ReduceAction590___init(val_t p0, int* init_table){
67372 int itpos594 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction590].i;
67373 struct {struct stack_frame_t me;} fra;
67374 val_t tmp;
67375 if (init_table[itpos594]) return;
67376 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67377 fra.me.file = LOCATE_parser;
67378 fra.me.line = 25342;
67379 fra.me.meth = LOCATE_parser___ReduceAction590___init;
67380 fra.me.has_broke = 0;
67381 fra.me.REG_size = 1;
67382 fra.me.REG[0] = NIT_NULL;
67383 fra.me.REG[0] = p0;
67384 /* ./parser//parser.nit:25342 */
67385 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
67386 stack_frame_head = fra.me.prev;
67387 init_table[itpos594] = 1;
67388 return;
67389 }
67390 void parser___ReduceAction591___action(val_t p0, val_t p1){
67391 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
67392 val_t REGB0;
67393 val_t tmp;
67394 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67395 fra.me.file = LOCATE_parser;
67396 fra.me.line = 25346;
67397 fra.me.meth = LOCATE_parser___ReduceAction591___action;
67398 fra.me.has_broke = 0;
67399 fra.me.REG_size = 4;
67400 fra.me.REG[0] = NIT_NULL;
67401 fra.me.REG[1] = NIT_NULL;
67402 fra.me.REG[2] = NIT_NULL;
67403 fra.me.REG[3] = NIT_NULL;
67404 fra.me.REG[0] = p0;
67405 fra.me.REG[1] = p1;
67406 fra.me.REG[0] = NIT_NULL;
67407 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67408 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67409 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67410 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
67411 /* ./parser//parser.nit:25353 */
67412 if (UNTAG_Bool(REGB0)) {
67413 } else {
67414 fprintf(stderr, "Assert failed");
67415 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25353);
67416 nit_exit(1);
67417 }
67418 fra.me.REG[3] = NEW_Array_array___Array___init();
67419 fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]);
67420 fra.me.REG[3] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[2], fra.me.REG[3], NIT_NULL);
67421 fra.me.REG[0] = fra.me.REG[3];
67422 REGB0 = TAG_Int(41);
67423 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
67424 /* ./parser//parser.nit:25364 */
67425 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
67426 stack_frame_head = fra.me.prev;
67427 return;
67428 }
67429 void parser___ReduceAction591___init(val_t p0, int* init_table){
67430 int itpos595 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction591].i;
67431 struct {struct stack_frame_t me;} fra;
67432 val_t tmp;
67433 if (init_table[itpos595]) return;
67434 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67435 fra.me.file = LOCATE_parser;
67436 fra.me.line = 25366;
67437 fra.me.meth = LOCATE_parser___ReduceAction591___init;
67438 fra.me.has_broke = 0;
67439 fra.me.REG_size = 1;
67440 fra.me.REG[0] = NIT_NULL;
67441 fra.me.REG[0] = p0;
67442 /* ./parser//parser.nit:25366 */
67443 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
67444 stack_frame_head = fra.me.prev;
67445 init_table[itpos595] = 1;
67446 return;
67447 }
67448 void parser___ReduceAction592___action(val_t p0, val_t p1){
67449 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
67450 val_t REGB0;
67451 val_t tmp;
67452 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67453 fra.me.file = LOCATE_parser;
67454 fra.me.line = 25370;
67455 fra.me.meth = LOCATE_parser___ReduceAction592___action;
67456 fra.me.has_broke = 0;
67457 fra.me.REG_size = 4;
67458 fra.me.REG[0] = NIT_NULL;
67459 fra.me.REG[1] = NIT_NULL;
67460 fra.me.REG[2] = NIT_NULL;
67461 fra.me.REG[3] = NIT_NULL;
67462 fra.me.REG[0] = p0;
67463 fra.me.REG[1] = p1;
67464 fra.me.REG[0] = NIT_NULL;
67465 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67466 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67467 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
67468 /* ./parser//parser.nit:25376 */
67469 if (UNTAG_Bool(REGB0)) {
67470 } else {
67471 fprintf(stderr, "Assert failed");
67472 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25376);
67473 nit_exit(1);
67474 }
67475 fra.me.REG[3] = NEW_Array_array___Array___init();
67476 fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]);
67477 fra.me.REG[3] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[2], fra.me.REG[3], NIT_NULL);
67478 fra.me.REG[0] = fra.me.REG[3];
67479 REGB0 = TAG_Int(41);
67480 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
67481 /* ./parser//parser.nit:25387 */
67482 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
67483 stack_frame_head = fra.me.prev;
67484 return;
67485 }
67486 void parser___ReduceAction592___init(val_t p0, int* init_table){
67487 int itpos596 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction592].i;
67488 struct {struct stack_frame_t me;} fra;
67489 val_t tmp;
67490 if (init_table[itpos596]) return;
67491 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67492 fra.me.file = LOCATE_parser;
67493 fra.me.line = 25389;
67494 fra.me.meth = LOCATE_parser___ReduceAction592___init;
67495 fra.me.has_broke = 0;
67496 fra.me.REG_size = 1;
67497 fra.me.REG[0] = NIT_NULL;
67498 fra.me.REG[0] = p0;
67499 /* ./parser//parser.nit:25389 */
67500 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
67501 stack_frame_head = fra.me.prev;
67502 init_table[itpos596] = 1;
67503 return;
67504 }
67505 void parser___ReduceAction593___action(val_t p0, val_t p1){
67506 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
67507 val_t REGB0;
67508 val_t REGB1;
67509 val_t tmp;
67510 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67511 fra.me.file = LOCATE_parser;
67512 fra.me.line = 25393;
67513 fra.me.meth = LOCATE_parser___ReduceAction593___action;
67514 fra.me.has_broke = 0;
67515 fra.me.REG_size = 6;
67516 fra.me.REG[0] = NIT_NULL;
67517 fra.me.REG[1] = NIT_NULL;
67518 fra.me.REG[2] = NIT_NULL;
67519 fra.me.REG[3] = NIT_NULL;
67520 fra.me.REG[4] = NIT_NULL;
67521 fra.me.REG[5] = NIT_NULL;
67522 fra.me.REG[0] = p0;
67523 fra.me.REG[1] = p1;
67524 fra.me.REG[0] = NIT_NULL;
67525 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67526 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67527 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67528 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67529 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67530 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67531 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
67532 /* ./parser//parser.nit:25403 */
67533 if (UNTAG_Bool(REGB0)) {
67534 } else {
67535 fprintf(stderr, "Assert failed");
67536 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25403);
67537 nit_exit(1);
67538 }
67539 fra.me.REG[5] = NEW_Array_array___Array___init();
67540 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
67541 /* ./parser//parser.nit:25406 */
67542 if (UNTAG_Bool(REGB0)) {
67543 } else {
67544 fprintf(stderr, "Assert failed");
67545 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25406);
67546 nit_exit(1);
67547 }
67548 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
67549 /* ./parser//parser.nit:25407 */
67550 if (UNTAG_Bool(REGB0)) {
67551 } else {
67552 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
67553 if (UNTAG_Bool(REGB1)) {
67554 REGB1 = TAG_Bool(false);
67555 REGB0 = REGB1;
67556 } else {
67557 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
67558 REGB0 = REGB1;
67559 }
67560 }
67561 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
67562 if (UNTAG_Bool(REGB0)) {
67563 /* ./parser//parser.nit:25408 */
67564 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
67565 }
67566 fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
67567 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
67568 /* ./parser//parser.nit:25414 */
67569 if (UNTAG_Bool(REGB0)) {
67570 } else {
67571 fprintf(stderr, "Assert failed");
67572 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25414);
67573 nit_exit(1);
67574 }
67575 fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[2]);
67576 fra.me.REG[0] = fra.me.REG[2];
67577 REGB0 = TAG_Int(41);
67578 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
67579 /* ./parser//parser.nit:25421 */
67580 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
67581 stack_frame_head = fra.me.prev;
67582 return;
67583 }
67584 void parser___ReduceAction593___init(val_t p0, int* init_table){
67585 int itpos597 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction593].i;
67586 struct {struct stack_frame_t me;} fra;
67587 val_t tmp;
67588 if (init_table[itpos597]) return;
67589 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67590 fra.me.file = LOCATE_parser;
67591 fra.me.line = 25423;
67592 fra.me.meth = LOCATE_parser___ReduceAction593___init;
67593 fra.me.has_broke = 0;
67594 fra.me.REG_size = 1;
67595 fra.me.REG[0] = NIT_NULL;
67596 fra.me.REG[0] = p0;
67597 /* ./parser//parser.nit:25423 */
67598 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
67599 stack_frame_head = fra.me.prev;
67600 init_table[itpos597] = 1;
67601 return;
67602 }
67603 void parser___ReduceAction594___action(val_t p0, val_t p1){
67604 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
67605 val_t REGB0;
67606 val_t REGB1;
67607 val_t tmp;
67608 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67609 fra.me.file = LOCATE_parser;
67610 fra.me.line = 25427;
67611 fra.me.meth = LOCATE_parser___ReduceAction594___action;
67612 fra.me.has_broke = 0;
67613 fra.me.REG_size = 7;
67614 fra.me.REG[0] = NIT_NULL;
67615 fra.me.REG[1] = NIT_NULL;
67616 fra.me.REG[2] = NIT_NULL;
67617 fra.me.REG[3] = NIT_NULL;
67618 fra.me.REG[4] = NIT_NULL;
67619 fra.me.REG[5] = NIT_NULL;
67620 fra.me.REG[6] = NIT_NULL;
67621 fra.me.REG[0] = p0;
67622 fra.me.REG[1] = p1;
67623 fra.me.REG[0] = NIT_NULL;
67624 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67625 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67626 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67627 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67628 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67629 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67630 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67631 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
67632 /* ./parser//parser.nit:25438 */
67633 if (UNTAG_Bool(REGB0)) {
67634 } else {
67635 fprintf(stderr, "Assert failed");
67636 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25438);
67637 nit_exit(1);
67638 }
67639 fra.me.REG[6] = NEW_Array_array___Array___init();
67640 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
67641 /* ./parser//parser.nit:25441 */
67642 if (UNTAG_Bool(REGB0)) {
67643 } else {
67644 fprintf(stderr, "Assert failed");
67645 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25441);
67646 nit_exit(1);
67647 }
67648 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
67649 /* ./parser//parser.nit:25443 */
67650 if (UNTAG_Bool(REGB0)) {
67651 } else {
67652 fprintf(stderr, "Assert failed");
67653 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25443);
67654 nit_exit(1);
67655 }
67656 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
67657 /* ./parser//parser.nit:25444 */
67658 if (UNTAG_Bool(REGB0)) {
67659 } else {
67660 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
67661 if (UNTAG_Bool(REGB1)) {
67662 REGB1 = TAG_Bool(false);
67663 REGB0 = REGB1;
67664 } else {
67665 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
67666 REGB0 = REGB1;
67667 }
67668 }
67669 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
67670 if (UNTAG_Bool(REGB0)) {
67671 /* ./parser//parser.nit:25445 */
67672 array___Array___add(fra.me.REG[6], fra.me.REG[4]);
67673 }
67674 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
67675 /* ./parser//parser.nit:25448 */
67676 if (UNTAG_Bool(REGB0)) {
67677 fra.me.REG[6] = fra.me.REG[3];
67678 /* ./parser//parser.nit:25449 */
67679 } else {
67680 /* ./parser//parser.nit:25451 */
67681 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
67682 }
67683 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
67684 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
67685 /* ./parser//parser.nit:25458 */
67686 if (UNTAG_Bool(REGB0)) {
67687 } else {
67688 fprintf(stderr, "Assert failed");
67689 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25458);
67690 nit_exit(1);
67691 }
67692 fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[5], fra.me.REG[6], fra.me.REG[2]);
67693 fra.me.REG[0] = fra.me.REG[2];
67694 REGB0 = TAG_Int(41);
67695 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
67696 /* ./parser//parser.nit:25465 */
67697 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
67698 stack_frame_head = fra.me.prev;
67699 return;
67700 }
67701 void parser___ReduceAction594___init(val_t p0, int* init_table){
67702 int itpos598 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction594].i;
67703 struct {struct stack_frame_t me;} fra;
67704 val_t tmp;
67705 if (init_table[itpos598]) return;
67706 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67707 fra.me.file = LOCATE_parser;
67708 fra.me.line = 25467;
67709 fra.me.meth = LOCATE_parser___ReduceAction594___init;
67710 fra.me.has_broke = 0;
67711 fra.me.REG_size = 1;
67712 fra.me.REG[0] = NIT_NULL;
67713 fra.me.REG[0] = p0;
67714 /* ./parser//parser.nit:25467 */
67715 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
67716 stack_frame_head = fra.me.prev;
67717 init_table[itpos598] = 1;
67718 return;
67719 }
67720 void parser___ReduceAction595___action(val_t p0, val_t p1){
67721 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
67722 val_t REGB0;
67723 val_t tmp;
67724 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67725 fra.me.file = LOCATE_parser;
67726 fra.me.line = 25471;
67727 fra.me.meth = LOCATE_parser___ReduceAction595___action;
67728 fra.me.has_broke = 0;
67729 fra.me.REG_size = 5;
67730 fra.me.REG[0] = NIT_NULL;
67731 fra.me.REG[1] = NIT_NULL;
67732 fra.me.REG[2] = NIT_NULL;
67733 fra.me.REG[3] = NIT_NULL;
67734 fra.me.REG[4] = NIT_NULL;
67735 fra.me.REG[0] = p0;
67736 fra.me.REG[1] = p1;
67737 fra.me.REG[0] = NIT_NULL;
67738 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67739 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67740 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67741 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67742 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
67743 /* ./parser//parser.nit:25479 */
67744 if (UNTAG_Bool(REGB0)) {
67745 } else {
67746 fprintf(stderr, "Assert failed");
67747 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25479);
67748 nit_exit(1);
67749 }
67750 fra.me.REG[4] = NEW_Array_array___Array___init();
67751 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
67752 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
67753 /* ./parser//parser.nit:25485 */
67754 if (UNTAG_Bool(REGB0)) {
67755 } else {
67756 fprintf(stderr, "Assert failed");
67757 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25485);
67758 nit_exit(1);
67759 }
67760 fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]);
67761 fra.me.REG[0] = fra.me.REG[2];
67762 REGB0 = TAG_Int(41);
67763 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
67764 /* ./parser//parser.nit:25492 */
67765 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
67766 stack_frame_head = fra.me.prev;
67767 return;
67768 }
67769 void parser___ReduceAction595___init(val_t p0, int* init_table){
67770 int itpos599 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction595].i;
67771 struct {struct stack_frame_t me;} fra;
67772 val_t tmp;
67773 if (init_table[itpos599]) return;
67774 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67775 fra.me.file = LOCATE_parser;
67776 fra.me.line = 25494;
67777 fra.me.meth = LOCATE_parser___ReduceAction595___init;
67778 fra.me.has_broke = 0;
67779 fra.me.REG_size = 1;
67780 fra.me.REG[0] = NIT_NULL;
67781 fra.me.REG[0] = p0;
67782 /* ./parser//parser.nit:25494 */
67783 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
67784 stack_frame_head = fra.me.prev;
67785 init_table[itpos599] = 1;
67786 return;
67787 }
67788 void parser___ReduceAction596___action(val_t p0, val_t p1){
67789 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
67790 val_t REGB0;
67791 val_t tmp;
67792 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67793 fra.me.file = LOCATE_parser;
67794 fra.me.line = 25498;
67795 fra.me.meth = LOCATE_parser___ReduceAction596___action;
67796 fra.me.has_broke = 0;
67797 fra.me.REG_size = 5;
67798 fra.me.REG[0] = NIT_NULL;
67799 fra.me.REG[1] = NIT_NULL;
67800 fra.me.REG[2] = NIT_NULL;
67801 fra.me.REG[3] = NIT_NULL;
67802 fra.me.REG[4] = NIT_NULL;
67803 fra.me.REG[0] = p0;
67804 fra.me.REG[1] = p1;
67805 fra.me.REG[0] = NIT_NULL;
67806 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67807 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67808 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67809 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
67810 /* ./parser//parser.nit:25505 */
67811 if (UNTAG_Bool(REGB0)) {
67812 } else {
67813 fprintf(stderr, "Assert failed");
67814 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25505);
67815 nit_exit(1);
67816 }
67817 fra.me.REG[4] = NEW_Array_array___Array___init();
67818 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
67819 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
67820 /* ./parser//parser.nit:25511 */
67821 if (UNTAG_Bool(REGB0)) {
67822 } else {
67823 fprintf(stderr, "Assert failed");
67824 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25511);
67825 nit_exit(1);
67826 }
67827 fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]);
67828 fra.me.REG[0] = fra.me.REG[2];
67829 REGB0 = TAG_Int(41);
67830 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
67831 /* ./parser//parser.nit:25518 */
67832 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
67833 stack_frame_head = fra.me.prev;
67834 return;
67835 }
67836 void parser___ReduceAction596___init(val_t p0, int* init_table){
67837 int itpos600 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction596].i;
67838 struct {struct stack_frame_t me;} fra;
67839 val_t tmp;
67840 if (init_table[itpos600]) return;
67841 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67842 fra.me.file = LOCATE_parser;
67843 fra.me.line = 25520;
67844 fra.me.meth = LOCATE_parser___ReduceAction596___init;
67845 fra.me.has_broke = 0;
67846 fra.me.REG_size = 1;
67847 fra.me.REG[0] = NIT_NULL;
67848 fra.me.REG[0] = p0;
67849 /* ./parser//parser.nit:25520 */
67850 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
67851 stack_frame_head = fra.me.prev;
67852 init_table[itpos600] = 1;
67853 return;
67854 }
67855 void parser___ReduceAction597___action(val_t p0, val_t p1){
67856 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
67857 val_t REGB0;
67858 val_t tmp;
67859 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67860 fra.me.file = LOCATE_parser;
67861 fra.me.line = 25524;
67862 fra.me.meth = LOCATE_parser___ReduceAction597___action;
67863 fra.me.has_broke = 0;
67864 fra.me.REG_size = 4;
67865 fra.me.REG[0] = NIT_NULL;
67866 fra.me.REG[1] = NIT_NULL;
67867 fra.me.REG[2] = NIT_NULL;
67868 fra.me.REG[3] = NIT_NULL;
67869 fra.me.REG[0] = p0;
67870 fra.me.REG[1] = p1;
67871 fra.me.REG[0] = NIT_NULL;
67872 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67873 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67874 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
67875 /* ./parser//parser.nit:25530 */
67876 if (UNTAG_Bool(REGB0)) {
67877 } else {
67878 fprintf(stderr, "Assert failed");
67879 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25530);
67880 nit_exit(1);
67881 }
67882 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
67883 /* ./parser//parser.nit:25532 */
67884 if (UNTAG_Bool(REGB0)) {
67885 } else {
67886 fprintf(stderr, "Assert failed");
67887 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25532);
67888 nit_exit(1);
67889 }
67890 fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL);
67891 fra.me.REG[0] = fra.me.REG[2];
67892 REGB0 = TAG_Int(41);
67893 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
67894 /* ./parser//parser.nit:25539 */
67895 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
67896 stack_frame_head = fra.me.prev;
67897 return;
67898 }
67899 void parser___ReduceAction597___init(val_t p0, int* init_table){
67900 int itpos601 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction597].i;
67901 struct {struct stack_frame_t me;} fra;
67902 val_t tmp;
67903 if (init_table[itpos601]) return;
67904 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67905 fra.me.file = LOCATE_parser;
67906 fra.me.line = 25541;
67907 fra.me.meth = LOCATE_parser___ReduceAction597___init;
67908 fra.me.has_broke = 0;
67909 fra.me.REG_size = 1;
67910 fra.me.REG[0] = NIT_NULL;
67911 fra.me.REG[0] = p0;
67912 /* ./parser//parser.nit:25541 */
67913 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
67914 stack_frame_head = fra.me.prev;
67915 init_table[itpos601] = 1;
67916 return;
67917 }
67918 void parser___ReduceAction598___action(val_t p0, val_t p1){
67919 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
67920 val_t REGB0;
67921 val_t REGB1;
67922 val_t tmp;
67923 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67924 fra.me.file = LOCATE_parser;
67925 fra.me.line = 25545;
67926 fra.me.meth = LOCATE_parser___ReduceAction598___action;
67927 fra.me.has_broke = 0;
67928 fra.me.REG_size = 7;
67929 fra.me.REG[0] = NIT_NULL;
67930 fra.me.REG[1] = NIT_NULL;
67931 fra.me.REG[2] = NIT_NULL;
67932 fra.me.REG[3] = NIT_NULL;
67933 fra.me.REG[4] = NIT_NULL;
67934 fra.me.REG[5] = NIT_NULL;
67935 fra.me.REG[6] = NIT_NULL;
67936 fra.me.REG[0] = p0;
67937 fra.me.REG[1] = p1;
67938 fra.me.REG[0] = NIT_NULL;
67939 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67940 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67941 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67942 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67943 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67944 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67945 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67946 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67947 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
67948 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
67949 /* ./parser//parser.nit:25558 */
67950 if (UNTAG_Bool(REGB0)) {
67951 } else {
67952 fprintf(stderr, "Assert failed");
67953 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25558);
67954 nit_exit(1);
67955 }
67956 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
67957 /* ./parser//parser.nit:25560 */
67958 if (UNTAG_Bool(REGB0)) {
67959 } else {
67960 fprintf(stderr, "Assert failed");
67961 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25560);
67962 nit_exit(1);
67963 }
67964 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
67965 /* ./parser//parser.nit:25562 */
67966 if (UNTAG_Bool(REGB0)) {
67967 } else {
67968 fprintf(stderr, "Assert failed");
67969 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25562);
67970 nit_exit(1);
67971 }
67972 fra.me.REG[6] = NEW_Array_array___Array___init();
67973 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
67974 /* ./parser//parser.nit:25565 */
67975 if (UNTAG_Bool(REGB0)) {
67976 } else {
67977 fprintf(stderr, "Assert failed");
67978 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25565);
67979 nit_exit(1);
67980 }
67981 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
67982 /* ./parser//parser.nit:25566 */
67983 if (UNTAG_Bool(REGB0)) {
67984 } else {
67985 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
67986 if (UNTAG_Bool(REGB1)) {
67987 REGB1 = TAG_Bool(false);
67988 REGB0 = REGB1;
67989 } else {
67990 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
67991 REGB0 = REGB1;
67992 }
67993 }
67994 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
67995 if (UNTAG_Bool(REGB0)) {
67996 /* ./parser//parser.nit:25567 */
67997 array___Array___add(fra.me.REG[6], fra.me.REG[2]);
67998 }
67999 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
68000 fra.me.REG[6] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6], NIT_NULL);
68001 fra.me.REG[0] = fra.me.REG[6];
68002 REGB0 = TAG_Int(42);
68003 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
68004 /* ./parser//parser.nit:25580 */
68005 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
68006 stack_frame_head = fra.me.prev;
68007 return;
68008 }
68009 void parser___ReduceAction598___init(val_t p0, int* init_table){
68010 int itpos602 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction598].i;
68011 struct {struct stack_frame_t me;} fra;
68012 val_t tmp;
68013 if (init_table[itpos602]) return;
68014 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68015 fra.me.file = LOCATE_parser;
68016 fra.me.line = 25582;
68017 fra.me.meth = LOCATE_parser___ReduceAction598___init;
68018 fra.me.has_broke = 0;
68019 fra.me.REG_size = 1;
68020 fra.me.REG[0] = NIT_NULL;
68021 fra.me.REG[0] = p0;
68022 /* ./parser//parser.nit:25582 */
68023 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
68024 stack_frame_head = fra.me.prev;
68025 init_table[itpos602] = 1;
68026 return;
68027 }
68028 void parser___ReduceAction599___action(val_t p0, val_t p1){
68029 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
68030 val_t REGB0;
68031 val_t REGB1;
68032 val_t tmp;
68033 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68034 fra.me.file = LOCATE_parser;
68035 fra.me.line = 25586;
68036 fra.me.meth = LOCATE_parser___ReduceAction599___action;
68037 fra.me.has_broke = 0;
68038 fra.me.REG_size = 8;
68039 fra.me.REG[0] = NIT_NULL;
68040 fra.me.REG[1] = NIT_NULL;
68041 fra.me.REG[2] = NIT_NULL;
68042 fra.me.REG[3] = NIT_NULL;
68043 fra.me.REG[4] = NIT_NULL;
68044 fra.me.REG[5] = NIT_NULL;
68045 fra.me.REG[6] = NIT_NULL;
68046 fra.me.REG[7] = NIT_NULL;
68047 fra.me.REG[0] = p0;
68048 fra.me.REG[1] = p1;
68049 fra.me.REG[0] = NIT_NULL;
68050 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68051 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68052 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68053 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68054 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68055 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68056 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68057 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68058 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68059 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68060 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
68061 /* ./parser//parser.nit:25600 */
68062 if (UNTAG_Bool(REGB0)) {
68063 } else {
68064 fprintf(stderr, "Assert failed");
68065 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25600);
68066 nit_exit(1);
68067 }
68068 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
68069 /* ./parser//parser.nit:25602 */
68070 if (UNTAG_Bool(REGB0)) {
68071 } else {
68072 fprintf(stderr, "Assert failed");
68073 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25602);
68074 nit_exit(1);
68075 }
68076 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
68077 /* ./parser//parser.nit:25604 */
68078 if (UNTAG_Bool(REGB0)) {
68079 } else {
68080 fprintf(stderr, "Assert failed");
68081 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25604);
68082 nit_exit(1);
68083 }
68084 fra.me.REG[7] = NEW_Array_array___Array___init();
68085 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
68086 /* ./parser//parser.nit:25607 */
68087 if (UNTAG_Bool(REGB0)) {
68088 } else {
68089 fprintf(stderr, "Assert failed");
68090 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25607);
68091 nit_exit(1);
68092 }
68093 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
68094 /* ./parser//parser.nit:25609 */
68095 if (UNTAG_Bool(REGB0)) {
68096 } else {
68097 fprintf(stderr, "Assert failed");
68098 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25609);
68099 nit_exit(1);
68100 }
68101 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
68102 /* ./parser//parser.nit:25610 */
68103 if (UNTAG_Bool(REGB0)) {
68104 } else {
68105 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
68106 if (UNTAG_Bool(REGB1)) {
68107 REGB1 = TAG_Bool(false);
68108 REGB0 = REGB1;
68109 } else {
68110 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
68111 REGB0 = REGB1;
68112 }
68113 }
68114 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
68115 if (UNTAG_Bool(REGB0)) {
68116 /* ./parser//parser.nit:25611 */
68117 array___Array___add(fra.me.REG[7], fra.me.REG[3]);
68118 }
68119 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
68120 /* ./parser//parser.nit:25614 */
68121 if (UNTAG_Bool(REGB0)) {
68122 fra.me.REG[7] = fra.me.REG[2];
68123 /* ./parser//parser.nit:25615 */
68124 } else {
68125 /* ./parser//parser.nit:25617 */
68126 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]);
68127 }
68128 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
68129 fra.me.REG[7] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[7], NIT_NULL);
68130 fra.me.REG[0] = fra.me.REG[7];
68131 REGB0 = TAG_Int(42);
68132 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
68133 /* ./parser//parser.nit:25631 */
68134 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
68135 stack_frame_head = fra.me.prev;
68136 return;
68137 }
68138 void parser___ReduceAction599___init(val_t p0, int* init_table){
68139 int itpos603 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction599].i;
68140 struct {struct stack_frame_t me;} fra;
68141 val_t tmp;
68142 if (init_table[itpos603]) return;
68143 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68144 fra.me.file = LOCATE_parser;
68145 fra.me.line = 25633;
68146 fra.me.meth = LOCATE_parser___ReduceAction599___init;
68147 fra.me.has_broke = 0;
68148 fra.me.REG_size = 1;
68149 fra.me.REG[0] = NIT_NULL;
68150 fra.me.REG[0] = p0;
68151 /* ./parser//parser.nit:25633 */
68152 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
68153 stack_frame_head = fra.me.prev;
68154 init_table[itpos603] = 1;
68155 return;
68156 }
68157 void parser___ReduceAction600___action(val_t p0, val_t p1){
68158 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
68159 val_t REGB0;
68160 val_t tmp;
68161 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68162 fra.me.file = LOCATE_parser;
68163 fra.me.line = 25637;
68164 fra.me.meth = LOCATE_parser___ReduceAction600___action;
68165 fra.me.has_broke = 0;
68166 fra.me.REG_size = 6;
68167 fra.me.REG[0] = NIT_NULL;
68168 fra.me.REG[1] = NIT_NULL;
68169 fra.me.REG[2] = NIT_NULL;
68170 fra.me.REG[3] = NIT_NULL;
68171 fra.me.REG[4] = NIT_NULL;
68172 fra.me.REG[5] = NIT_NULL;
68173 fra.me.REG[0] = p0;
68174 fra.me.REG[1] = p1;
68175 fra.me.REG[0] = NIT_NULL;
68176 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68177 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68178 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68179 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68180 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68181 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68182 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68183 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
68184 /* ./parser//parser.nit:25648 */
68185 if (UNTAG_Bool(REGB0)) {
68186 } else {
68187 fprintf(stderr, "Assert failed");
68188 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25648);
68189 nit_exit(1);
68190 }
68191 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
68192 /* ./parser//parser.nit:25650 */
68193 if (UNTAG_Bool(REGB0)) {
68194 } else {
68195 fprintf(stderr, "Assert failed");
68196 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25650);
68197 nit_exit(1);
68198 }
68199 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
68200 /* ./parser//parser.nit:25652 */
68201 if (UNTAG_Bool(REGB0)) {
68202 } else {
68203 fprintf(stderr, "Assert failed");
68204 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25652);
68205 nit_exit(1);
68206 }
68207 fra.me.REG[5] = NEW_Array_array___Array___init();
68208 fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
68209 fra.me.REG[5] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[5], NIT_NULL);
68210 fra.me.REG[0] = fra.me.REG[5];
68211 REGB0 = TAG_Int(42);
68212 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
68213 /* ./parser//parser.nit:25665 */
68214 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
68215 stack_frame_head = fra.me.prev;
68216 return;
68217 }
68218 void parser___ReduceAction600___init(val_t p0, int* init_table){
68219 int itpos604 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction600].i;
68220 struct {struct stack_frame_t me;} fra;
68221 val_t tmp;
68222 if (init_table[itpos604]) return;
68223 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68224 fra.me.file = LOCATE_parser;
68225 fra.me.line = 25667;
68226 fra.me.meth = LOCATE_parser___ReduceAction600___init;
68227 fra.me.has_broke = 0;
68228 fra.me.REG_size = 1;
68229 fra.me.REG[0] = NIT_NULL;
68230 fra.me.REG[0] = p0;
68231 /* ./parser//parser.nit:25667 */
68232 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
68233 stack_frame_head = fra.me.prev;
68234 init_table[itpos604] = 1;
68235 return;
68236 }
68237 void parser___ReduceAction601___action(val_t p0, val_t p1){
68238 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
68239 val_t REGB0;
68240 val_t tmp;
68241 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68242 fra.me.file = LOCATE_parser;
68243 fra.me.line = 25671;
68244 fra.me.meth = LOCATE_parser___ReduceAction601___action;
68245 fra.me.has_broke = 0;
68246 fra.me.REG_size = 6;
68247 fra.me.REG[0] = NIT_NULL;
68248 fra.me.REG[1] = NIT_NULL;
68249 fra.me.REG[2] = NIT_NULL;
68250 fra.me.REG[3] = NIT_NULL;
68251 fra.me.REG[4] = NIT_NULL;
68252 fra.me.REG[5] = NIT_NULL;
68253 fra.me.REG[0] = p0;
68254 fra.me.REG[1] = p1;
68255 fra.me.REG[0] = NIT_NULL;
68256 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68257 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68258 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68259 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68260 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68261 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68262 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
68263 /* ./parser//parser.nit:25681 */
68264 if (UNTAG_Bool(REGB0)) {
68265 } else {
68266 fprintf(stderr, "Assert failed");
68267 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25681);
68268 nit_exit(1);
68269 }
68270 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
68271 /* ./parser//parser.nit:25683 */
68272 if (UNTAG_Bool(REGB0)) {
68273 } else {
68274 fprintf(stderr, "Assert failed");
68275 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25683);
68276 nit_exit(1);
68277 }
68278 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
68279 /* ./parser//parser.nit:25685 */
68280 if (UNTAG_Bool(REGB0)) {
68281 } else {
68282 fprintf(stderr, "Assert failed");
68283 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25685);
68284 nit_exit(1);
68285 }
68286 fra.me.REG[5] = NEW_Array_array___Array___init();
68287 fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
68288 fra.me.REG[5] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[5], NIT_NULL);
68289 fra.me.REG[0] = fra.me.REG[5];
68290 REGB0 = TAG_Int(42);
68291 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
68292 /* ./parser//parser.nit:25698 */
68293 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
68294 stack_frame_head = fra.me.prev;
68295 return;
68296 }
68297 void parser___ReduceAction601___init(val_t p0, int* init_table){
68298 int itpos605 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction601].i;
68299 struct {struct stack_frame_t me;} fra;
68300 val_t tmp;
68301 if (init_table[itpos605]) return;
68302 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68303 fra.me.file = LOCATE_parser;
68304 fra.me.line = 25700;
68305 fra.me.meth = LOCATE_parser___ReduceAction601___init;
68306 fra.me.has_broke = 0;
68307 fra.me.REG_size = 1;
68308 fra.me.REG[0] = NIT_NULL;
68309 fra.me.REG[0] = p0;
68310 /* ./parser//parser.nit:25700 */
68311 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
68312 stack_frame_head = fra.me.prev;
68313 init_table[itpos605] = 1;
68314 return;
68315 }
68316 void parser___ReduceAction602___action(val_t p0, val_t p1){
68317 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
68318 val_t REGB0;
68319 val_t REGB1;
68320 val_t tmp;
68321 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68322 fra.me.file = LOCATE_parser;
68323 fra.me.line = 25704;
68324 fra.me.meth = LOCATE_parser___ReduceAction602___action;
68325 fra.me.has_broke = 0;
68326 fra.me.REG_size = 8;
68327 fra.me.REG[0] = NIT_NULL;
68328 fra.me.REG[1] = NIT_NULL;
68329 fra.me.REG[2] = NIT_NULL;
68330 fra.me.REG[3] = NIT_NULL;
68331 fra.me.REG[4] = NIT_NULL;
68332 fra.me.REG[5] = NIT_NULL;
68333 fra.me.REG[6] = NIT_NULL;
68334 fra.me.REG[7] = NIT_NULL;
68335 fra.me.REG[0] = p0;
68336 fra.me.REG[1] = p1;
68337 fra.me.REG[0] = NIT_NULL;
68338 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68339 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68340 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68341 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68342 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68343 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68344 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68345 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68346 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68347 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68348 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
68349 /* ./parser//parser.nit:25718 */
68350 if (UNTAG_Bool(REGB0)) {
68351 } else {
68352 fprintf(stderr, "Assert failed");
68353 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25718);
68354 nit_exit(1);
68355 }
68356 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
68357 /* ./parser//parser.nit:25720 */
68358 if (UNTAG_Bool(REGB0)) {
68359 } else {
68360 fprintf(stderr, "Assert failed");
68361 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25720);
68362 nit_exit(1);
68363 }
68364 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
68365 /* ./parser//parser.nit:25722 */
68366 if (UNTAG_Bool(REGB0)) {
68367 } else {
68368 fprintf(stderr, "Assert failed");
68369 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25722);
68370 nit_exit(1);
68371 }
68372 fra.me.REG[7] = NEW_Array_array___Array___init();
68373 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
68374 /* ./parser//parser.nit:25725 */
68375 if (UNTAG_Bool(REGB0)) {
68376 } else {
68377 fprintf(stderr, "Assert failed");
68378 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25725);
68379 nit_exit(1);
68380 }
68381 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
68382 /* ./parser//parser.nit:25726 */
68383 if (UNTAG_Bool(REGB0)) {
68384 } else {
68385 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
68386 if (UNTAG_Bool(REGB1)) {
68387 REGB1 = TAG_Bool(false);
68388 REGB0 = REGB1;
68389 } else {
68390 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
68391 REGB0 = REGB1;
68392 }
68393 }
68394 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
68395 if (UNTAG_Bool(REGB0)) {
68396 /* ./parser//parser.nit:25727 */
68397 array___Array___add(fra.me.REG[7], fra.me.REG[3]);
68398 }
68399 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
68400 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
68401 /* ./parser//parser.nit:25733 */
68402 if (UNTAG_Bool(REGB0)) {
68403 } else {
68404 fprintf(stderr, "Assert failed");
68405 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25733);
68406 nit_exit(1);
68407 }
68408 fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[7], fra.me.REG[2]);
68409 fra.me.REG[0] = fra.me.REG[2];
68410 REGB0 = TAG_Int(42);
68411 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
68412 /* ./parser//parser.nit:25742 */
68413 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
68414 stack_frame_head = fra.me.prev;
68415 return;
68416 }
68417 void parser___ReduceAction602___init(val_t p0, int* init_table){
68418 int itpos606 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction602].i;
68419 struct {struct stack_frame_t me;} fra;
68420 val_t tmp;
68421 if (init_table[itpos606]) return;
68422 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68423 fra.me.file = LOCATE_parser;
68424 fra.me.line = 25744;
68425 fra.me.meth = LOCATE_parser___ReduceAction602___init;
68426 fra.me.has_broke = 0;
68427 fra.me.REG_size = 1;
68428 fra.me.REG[0] = NIT_NULL;
68429 fra.me.REG[0] = p0;
68430 /* ./parser//parser.nit:25744 */
68431 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
68432 stack_frame_head = fra.me.prev;
68433 init_table[itpos606] = 1;
68434 return;
68435 }
68436 void parser___ReduceAction603___action(val_t p0, val_t p1){
68437 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
68438 val_t REGB0;
68439 val_t REGB1;
68440 val_t tmp;
68441 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68442 fra.me.file = LOCATE_parser;
68443 fra.me.line = 25748;
68444 fra.me.meth = LOCATE_parser___ReduceAction603___action;
68445 fra.me.has_broke = 0;
68446 fra.me.REG_size = 9;
68447 fra.me.REG[0] = NIT_NULL;
68448 fra.me.REG[1] = NIT_NULL;
68449 fra.me.REG[2] = NIT_NULL;
68450 fra.me.REG[3] = NIT_NULL;
68451 fra.me.REG[4] = NIT_NULL;
68452 fra.me.REG[5] = NIT_NULL;
68453 fra.me.REG[6] = NIT_NULL;
68454 fra.me.REG[7] = NIT_NULL;
68455 fra.me.REG[8] = NIT_NULL;
68456 fra.me.REG[0] = p0;
68457 fra.me.REG[1] = p1;
68458 fra.me.REG[0] = NIT_NULL;
68459 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68460 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68461 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68462 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68463 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68464 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68465 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68466 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68467 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68468 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68469 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68470 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
68471 /* ./parser//parser.nit:25763 */
68472 if (UNTAG_Bool(REGB0)) {
68473 } else {
68474 fprintf(stderr, "Assert failed");
68475 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25763);
68476 nit_exit(1);
68477 }
68478 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
68479 /* ./parser//parser.nit:25765 */
68480 if (UNTAG_Bool(REGB0)) {
68481 } else {
68482 fprintf(stderr, "Assert failed");
68483 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25765);
68484 nit_exit(1);
68485 }
68486 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
68487 /* ./parser//parser.nit:25767 */
68488 if (UNTAG_Bool(REGB0)) {
68489 } else {
68490 fprintf(stderr, "Assert failed");
68491 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25767);
68492 nit_exit(1);
68493 }
68494 fra.me.REG[8] = NEW_Array_array___Array___init();
68495 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
68496 /* ./parser//parser.nit:25770 */
68497 if (UNTAG_Bool(REGB0)) {
68498 } else {
68499 fprintf(stderr, "Assert failed");
68500 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25770);
68501 nit_exit(1);
68502 }
68503 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
68504 /* ./parser//parser.nit:25772 */
68505 if (UNTAG_Bool(REGB0)) {
68506 } else {
68507 fprintf(stderr, "Assert failed");
68508 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25772);
68509 nit_exit(1);
68510 }
68511 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
68512 /* ./parser//parser.nit:25773 */
68513 if (UNTAG_Bool(REGB0)) {
68514 } else {
68515 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
68516 if (UNTAG_Bool(REGB1)) {
68517 REGB1 = TAG_Bool(false);
68518 REGB0 = REGB1;
68519 } else {
68520 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
68521 REGB0 = REGB1;
68522 }
68523 }
68524 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
68525 if (UNTAG_Bool(REGB0)) {
68526 /* ./parser//parser.nit:25774 */
68527 array___Array___add(fra.me.REG[8], fra.me.REG[4]);
68528 }
68529 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
68530 /* ./parser//parser.nit:25777 */
68531 if (UNTAG_Bool(REGB0)) {
68532 fra.me.REG[8] = fra.me.REG[3];
68533 /* ./parser//parser.nit:25778 */
68534 } else {
68535 /* ./parser//parser.nit:25780 */
68536 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
68537 }
68538 fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]);
68539 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
68540 /* ./parser//parser.nit:25787 */
68541 if (UNTAG_Bool(REGB0)) {
68542 } else {
68543 fprintf(stderr, "Assert failed");
68544 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25787);
68545 nit_exit(1);
68546 }
68547 fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[8], fra.me.REG[2]);
68548 fra.me.REG[0] = fra.me.REG[2];
68549 REGB0 = TAG_Int(42);
68550 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
68551 /* ./parser//parser.nit:25796 */
68552 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
68553 stack_frame_head = fra.me.prev;
68554 return;
68555 }
68556 void parser___ReduceAction603___init(val_t p0, int* init_table){
68557 int itpos607 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction603].i;
68558 struct {struct stack_frame_t me;} fra;
68559 val_t tmp;
68560 if (init_table[itpos607]) return;
68561 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68562 fra.me.file = LOCATE_parser;
68563 fra.me.line = 25798;
68564 fra.me.meth = LOCATE_parser___ReduceAction603___init;
68565 fra.me.has_broke = 0;
68566 fra.me.REG_size = 1;
68567 fra.me.REG[0] = NIT_NULL;
68568 fra.me.REG[0] = p0;
68569 /* ./parser//parser.nit:25798 */
68570 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
68571 stack_frame_head = fra.me.prev;
68572 init_table[itpos607] = 1;
68573 return;
68574 }
68575 void parser___ReduceAction604___action(val_t p0, val_t p1){
68576 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
68577 val_t REGB0;
68578 val_t tmp;
68579 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68580 fra.me.file = LOCATE_parser;
68581 fra.me.line = 25802;
68582 fra.me.meth = LOCATE_parser___ReduceAction604___action;
68583 fra.me.has_broke = 0;
68584 fra.me.REG_size = 7;
68585 fra.me.REG[0] = NIT_NULL;
68586 fra.me.REG[1] = NIT_NULL;
68587 fra.me.REG[2] = NIT_NULL;
68588 fra.me.REG[3] = NIT_NULL;
68589 fra.me.REG[4] = NIT_NULL;
68590 fra.me.REG[5] = NIT_NULL;
68591 fra.me.REG[6] = NIT_NULL;
68592 fra.me.REG[0] = p0;
68593 fra.me.REG[1] = p1;
68594 fra.me.REG[0] = NIT_NULL;
68595 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68596 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68597 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68598 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68599 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68600 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68601 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68602 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68603 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
68604 /* ./parser//parser.nit:25814 */
68605 if (UNTAG_Bool(REGB0)) {
68606 } else {
68607 fprintf(stderr, "Assert failed");
68608 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25814);
68609 nit_exit(1);
68610 }
68611 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
68612 /* ./parser//parser.nit:25816 */
68613 if (UNTAG_Bool(REGB0)) {
68614 } else {
68615 fprintf(stderr, "Assert failed");
68616 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25816);
68617 nit_exit(1);
68618 }
68619 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
68620 /* ./parser//parser.nit:25818 */
68621 if (UNTAG_Bool(REGB0)) {
68622 } else {
68623 fprintf(stderr, "Assert failed");
68624 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25818);
68625 nit_exit(1);
68626 }
68627 fra.me.REG[6] = NEW_Array_array___Array___init();
68628 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
68629 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
68630 /* ./parser//parser.nit:25824 */
68631 if (UNTAG_Bool(REGB0)) {
68632 } else {
68633 fprintf(stderr, "Assert failed");
68634 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25824);
68635 nit_exit(1);
68636 }
68637 fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6], fra.me.REG[2]);
68638 fra.me.REG[0] = fra.me.REG[2];
68639 REGB0 = TAG_Int(42);
68640 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
68641 /* ./parser//parser.nit:25833 */
68642 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
68643 stack_frame_head = fra.me.prev;
68644 return;
68645 }
68646 void parser___ReduceAction604___init(val_t p0, int* init_table){
68647 int itpos608 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction604].i;
68648 struct {struct stack_frame_t me;} fra;
68649 val_t tmp;
68650 if (init_table[itpos608]) return;
68651 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68652 fra.me.file = LOCATE_parser;
68653 fra.me.line = 25835;
68654 fra.me.meth = LOCATE_parser___ReduceAction604___init;
68655 fra.me.has_broke = 0;
68656 fra.me.REG_size = 1;
68657 fra.me.REG[0] = NIT_NULL;
68658 fra.me.REG[0] = p0;
68659 /* ./parser//parser.nit:25835 */
68660 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
68661 stack_frame_head = fra.me.prev;
68662 init_table[itpos608] = 1;
68663 return;
68664 }
68665 void parser___ReduceAction605___action(val_t p0, val_t p1){
68666 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
68667 val_t REGB0;
68668 val_t tmp;
68669 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68670 fra.me.file = LOCATE_parser;
68671 fra.me.line = 25839;
68672 fra.me.meth = LOCATE_parser___ReduceAction605___action;
68673 fra.me.has_broke = 0;
68674 fra.me.REG_size = 7;
68675 fra.me.REG[0] = NIT_NULL;
68676 fra.me.REG[1] = NIT_NULL;
68677 fra.me.REG[2] = NIT_NULL;
68678 fra.me.REG[3] = NIT_NULL;
68679 fra.me.REG[4] = NIT_NULL;
68680 fra.me.REG[5] = NIT_NULL;
68681 fra.me.REG[6] = NIT_NULL;
68682 fra.me.REG[0] = p0;
68683 fra.me.REG[1] = p1;
68684 fra.me.REG[0] = NIT_NULL;
68685 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68686 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68687 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68688 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68689 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68690 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68691 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68692 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
68693 /* ./parser//parser.nit:25850 */
68694 if (UNTAG_Bool(REGB0)) {
68695 } else {
68696 fprintf(stderr, "Assert failed");
68697 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25850);
68698 nit_exit(1);
68699 }
68700 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
68701 /* ./parser//parser.nit:25852 */
68702 if (UNTAG_Bool(REGB0)) {
68703 } else {
68704 fprintf(stderr, "Assert failed");
68705 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25852);
68706 nit_exit(1);
68707 }
68708 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
68709 /* ./parser//parser.nit:25854 */
68710 if (UNTAG_Bool(REGB0)) {
68711 } else {
68712 fprintf(stderr, "Assert failed");
68713 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25854);
68714 nit_exit(1);
68715 }
68716 fra.me.REG[6] = NEW_Array_array___Array___init();
68717 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
68718 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
68719 /* ./parser//parser.nit:25860 */
68720 if (UNTAG_Bool(REGB0)) {
68721 } else {
68722 fprintf(stderr, "Assert failed");
68723 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25860);
68724 nit_exit(1);
68725 }
68726 fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6], fra.me.REG[2]);
68727 fra.me.REG[0] = fra.me.REG[2];
68728 REGB0 = TAG_Int(42);
68729 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
68730 /* ./parser//parser.nit:25869 */
68731 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
68732 stack_frame_head = fra.me.prev;
68733 return;
68734 }
68735 void parser___ReduceAction605___init(val_t p0, int* init_table){
68736 int itpos609 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction605].i;
68737 struct {struct stack_frame_t me;} fra;
68738 val_t tmp;
68739 if (init_table[itpos609]) return;
68740 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68741 fra.me.file = LOCATE_parser;
68742 fra.me.line = 25871;
68743 fra.me.meth = LOCATE_parser___ReduceAction605___init;
68744 fra.me.has_broke = 0;
68745 fra.me.REG_size = 1;
68746 fra.me.REG[0] = NIT_NULL;
68747 fra.me.REG[0] = p0;
68748 /* ./parser//parser.nit:25871 */
68749 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
68750 stack_frame_head = fra.me.prev;
68751 init_table[itpos609] = 1;
68752 return;
68753 }
68754 void parser___ReduceAction606___action(val_t p0, val_t p1){
68755 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
68756 val_t REGB0;
68757 val_t tmp;
68758 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68759 fra.me.file = LOCATE_parser;
68760 fra.me.line = 25875;
68761 fra.me.meth = LOCATE_parser___ReduceAction606___action;
68762 fra.me.has_broke = 0;
68763 fra.me.REG_size = 6;
68764 fra.me.REG[0] = NIT_NULL;
68765 fra.me.REG[1] = NIT_NULL;
68766 fra.me.REG[2] = NIT_NULL;
68767 fra.me.REG[3] = NIT_NULL;
68768 fra.me.REG[4] = NIT_NULL;
68769 fra.me.REG[5] = NIT_NULL;
68770 fra.me.REG[0] = p0;
68771 fra.me.REG[1] = p1;
68772 fra.me.REG[0] = NIT_NULL;
68773 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68774 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68775 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68776 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68777 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68778 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68779 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
68780 /* ./parser//parser.nit:25885 */
68781 if (UNTAG_Bool(REGB0)) {
68782 } else {
68783 fprintf(stderr, "Assert failed");
68784 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25885);
68785 nit_exit(1);
68786 }
68787 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
68788 /* ./parser//parser.nit:25887 */
68789 if (UNTAG_Bool(REGB0)) {
68790 } else {
68791 fprintf(stderr, "Assert failed");
68792 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25887);
68793 nit_exit(1);
68794 }
68795 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
68796 /* ./parser//parser.nit:25889 */
68797 if (UNTAG_Bool(REGB0)) {
68798 } else {
68799 fprintf(stderr, "Assert failed");
68800 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25889);
68801 nit_exit(1);
68802 }
68803 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
68804 /* ./parser//parser.nit:25891 */
68805 if (UNTAG_Bool(REGB0)) {
68806 } else {
68807 fprintf(stderr, "Assert failed");
68808 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25891);
68809 nit_exit(1);
68810 }
68811 fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
68812 fra.me.REG[0] = fra.me.REG[2];
68813 REGB0 = TAG_Int(42);
68814 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
68815 /* ./parser//parser.nit:25900 */
68816 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
68817 stack_frame_head = fra.me.prev;
68818 return;
68819 }
68820 void parser___ReduceAction606___init(val_t p0, int* init_table){
68821 int itpos610 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction606].i;
68822 struct {struct stack_frame_t me;} fra;
68823 val_t tmp;
68824 if (init_table[itpos610]) return;
68825 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68826 fra.me.file = LOCATE_parser;
68827 fra.me.line = 25902;
68828 fra.me.meth = LOCATE_parser___ReduceAction606___init;
68829 fra.me.has_broke = 0;
68830 fra.me.REG_size = 1;
68831 fra.me.REG[0] = NIT_NULL;
68832 fra.me.REG[0] = p0;
68833 /* ./parser//parser.nit:25902 */
68834 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
68835 stack_frame_head = fra.me.prev;
68836 init_table[itpos610] = 1;
68837 return;
68838 }
68839 void parser___ReduceAction607___action(val_t p0, val_t p1){
68840 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
68841 val_t REGB0;
68842 val_t REGB1;
68843 val_t tmp;
68844 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68845 fra.me.file = LOCATE_parser;
68846 fra.me.line = 25906;
68847 fra.me.meth = LOCATE_parser___ReduceAction607___action;
68848 fra.me.has_broke = 0;
68849 fra.me.REG_size = 8;
68850 fra.me.REG[0] = NIT_NULL;
68851 fra.me.REG[1] = NIT_NULL;
68852 fra.me.REG[2] = NIT_NULL;
68853 fra.me.REG[3] = NIT_NULL;
68854 fra.me.REG[4] = NIT_NULL;
68855 fra.me.REG[5] = NIT_NULL;
68856 fra.me.REG[6] = NIT_NULL;
68857 fra.me.REG[7] = NIT_NULL;
68858 fra.me.REG[0] = p0;
68859 fra.me.REG[1] = p1;
68860 fra.me.REG[0] = NIT_NULL;
68861 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68862 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68863 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68864 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68865 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68866 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68867 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68868 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68869 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68870 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68871 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68872 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68873 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68874 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
68875 /* ./parser//parser.nit:25923 */
68876 if (UNTAG_Bool(REGB0)) {
68877 } else {
68878 fprintf(stderr, "Assert failed");
68879 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25923);
68880 nit_exit(1);
68881 }
68882 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
68883 /* ./parser//parser.nit:25925 */
68884 if (UNTAG_Bool(REGB0)) {
68885 } else {
68886 fprintf(stderr, "Assert failed");
68887 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25925);
68888 nit_exit(1);
68889 }
68890 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
68891 /* ./parser//parser.nit:25927 */
68892 if (UNTAG_Bool(REGB0)) {
68893 } else {
68894 fprintf(stderr, "Assert failed");
68895 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25927);
68896 nit_exit(1);
68897 }
68898 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
68899 /* ./parser//parser.nit:25929 */
68900 if (UNTAG_Bool(REGB0)) {
68901 } else {
68902 fprintf(stderr, "Assert failed");
68903 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25929);
68904 nit_exit(1);
68905 }
68906 fra.me.REG[7] = NEW_Array_array___Array___init();
68907 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
68908 /* ./parser//parser.nit:25932 */
68909 if (UNTAG_Bool(REGB0)) {
68910 } else {
68911 fprintf(stderr, "Assert failed");
68912 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25932);
68913 nit_exit(1);
68914 }
68915 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
68916 /* ./parser//parser.nit:25933 */
68917 if (UNTAG_Bool(REGB0)) {
68918 } else {
68919 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
68920 if (UNTAG_Bool(REGB1)) {
68921 REGB1 = TAG_Bool(false);
68922 REGB0 = REGB1;
68923 } else {
68924 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
68925 REGB0 = REGB1;
68926 }
68927 }
68928 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
68929 if (UNTAG_Bool(REGB0)) {
68930 /* ./parser//parser.nit:25934 */
68931 array___Array___add(fra.me.REG[7], fra.me.REG[2]);
68932 }
68933 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
68934 fra.me.REG[7] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], NIT_NULL);
68935 fra.me.REG[0] = fra.me.REG[7];
68936 REGB0 = TAG_Int(43);
68937 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
68938 /* ./parser//parser.nit:25948 */
68939 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
68940 stack_frame_head = fra.me.prev;
68941 return;
68942 }
68943 void parser___ReduceAction607___init(val_t p0, int* init_table){
68944 int itpos611 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction607].i;
68945 struct {struct stack_frame_t me;} fra;
68946 val_t tmp;
68947 if (init_table[itpos611]) return;
68948 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68949 fra.me.file = LOCATE_parser;
68950 fra.me.line = 25950;
68951 fra.me.meth = LOCATE_parser___ReduceAction607___init;
68952 fra.me.has_broke = 0;
68953 fra.me.REG_size = 1;
68954 fra.me.REG[0] = NIT_NULL;
68955 fra.me.REG[0] = p0;
68956 /* ./parser//parser.nit:25950 */
68957 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
68958 stack_frame_head = fra.me.prev;
68959 init_table[itpos611] = 1;
68960 return;
68961 }
68962 void parser___ReduceAction608___action(val_t p0, val_t p1){
68963 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
68964 val_t REGB0;
68965 val_t REGB1;
68966 val_t tmp;
68967 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
68968 fra.me.file = LOCATE_parser;
68969 fra.me.line = 25954;
68970 fra.me.meth = LOCATE_parser___ReduceAction608___action;
68971 fra.me.has_broke = 0;
68972 fra.me.REG_size = 9;
68973 fra.me.REG[0] = NIT_NULL;
68974 fra.me.REG[1] = NIT_NULL;
68975 fra.me.REG[2] = NIT_NULL;
68976 fra.me.REG[3] = NIT_NULL;
68977 fra.me.REG[4] = NIT_NULL;
68978 fra.me.REG[5] = NIT_NULL;
68979 fra.me.REG[6] = NIT_NULL;
68980 fra.me.REG[7] = NIT_NULL;
68981 fra.me.REG[8] = NIT_NULL;
68982 fra.me.REG[0] = p0;
68983 fra.me.REG[1] = p1;
68984 fra.me.REG[0] = NIT_NULL;
68985 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68986 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68987 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68988 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68989 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68990 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68991 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68992 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68993 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68994 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68995 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68996 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68997 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68998 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
68999 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
69000 /* ./parser//parser.nit:25972 */
69001 if (UNTAG_Bool(REGB0)) {
69002 } else {
69003 fprintf(stderr, "Assert failed");
69004 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25972);
69005 nit_exit(1);
69006 }
69007 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TId, ID_TId)) /*cast nullable TId*/;
69008 /* ./parser//parser.nit:25974 */
69009 if (UNTAG_Bool(REGB0)) {
69010 } else {
69011 fprintf(stderr, "Assert failed");
69012 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25974);
69013 nit_exit(1);
69014 }
69015 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
69016 /* ./parser//parser.nit:25976 */
69017 if (UNTAG_Bool(REGB0)) {
69018 } else {
69019 fprintf(stderr, "Assert failed");
69020 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25976);
69021 nit_exit(1);
69022 }
69023 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
69024 /* ./parser//parser.nit:25978 */
69025 if (UNTAG_Bool(REGB0)) {
69026 } else {
69027 fprintf(stderr, "Assert failed");
69028 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25978);
69029 nit_exit(1);
69030 }
69031 fra.me.REG[8] = NEW_Array_array___Array___init();
69032 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
69033 /* ./parser//parser.nit:25981 */
69034 if (UNTAG_Bool(REGB0)) {
69035 } else {
69036 fprintf(stderr, "Assert failed");
69037 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25981);
69038 nit_exit(1);
69039 }
69040 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
69041 /* ./parser//parser.nit:25983 */
69042 if (UNTAG_Bool(REGB0)) {
69043 } else {
69044 fprintf(stderr, "Assert failed");
69045 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25983);
69046 nit_exit(1);
69047 }
69048 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
69049 /* ./parser//parser.nit:25984 */
69050 if (UNTAG_Bool(REGB0)) {
69051 } else {
69052 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
69053 if (UNTAG_Bool(REGB1)) {
69054 REGB1 = TAG_Bool(false);
69055 REGB0 = REGB1;
69056 } else {
69057 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
69058 REGB0 = REGB1;
69059 }
69060 }
69061 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
69062 if (UNTAG_Bool(REGB0)) {
69063 /* ./parser//parser.nit:25985 */
69064 array___Array___add(fra.me.REG[8], fra.me.REG[3]);
69065 }
69066 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
69067 /* ./parser//parser.nit:25988 */
69068 if (UNTAG_Bool(REGB0)) {
69069 fra.me.REG[8] = fra.me.REG[2];
69070 /* ./parser//parser.nit:25989 */
69071 } else {
69072 /* ./parser//parser.nit:25991 */
69073 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[2]);
69074 }
69075 fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]);
69076 fra.me.REG[8] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], NIT_NULL);
69077 fra.me.REG[0] = fra.me.REG[8];
69078 REGB0 = TAG_Int(43);
69079 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
69080 /* ./parser//parser.nit:26006 */
69081 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
69082 stack_frame_head = fra.me.prev;
69083 return;
69084 }
69085 void parser___ReduceAction608___init(val_t p0, int* init_table){
69086 int itpos612 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction608].i;
69087 struct {struct stack_frame_t me;} fra;
69088 val_t tmp;
69089 if (init_table[itpos612]) return;
69090 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69091 fra.me.file = LOCATE_parser;
69092 fra.me.line = 26008;
69093 fra.me.meth = LOCATE_parser___ReduceAction608___init;
69094 fra.me.has_broke = 0;
69095 fra.me.REG_size = 1;
69096 fra.me.REG[0] = NIT_NULL;
69097 fra.me.REG[0] = p0;
69098 /* ./parser//parser.nit:26008 */
69099 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
69100 stack_frame_head = fra.me.prev;
69101 init_table[itpos612] = 1;
69102 return;
69103 }
69104 void parser___ReduceAction609___action(val_t p0, val_t p1){
69105 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
69106 val_t REGB0;
69107 val_t tmp;
69108 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69109 fra.me.file = LOCATE_parser;
69110 fra.me.line = 26012;
69111 fra.me.meth = LOCATE_parser___ReduceAction609___action;
69112 fra.me.has_broke = 0;
69113 fra.me.REG_size = 7;
69114 fra.me.REG[0] = NIT_NULL;
69115 fra.me.REG[1] = NIT_NULL;
69116 fra.me.REG[2] = NIT_NULL;
69117 fra.me.REG[3] = NIT_NULL;
69118 fra.me.REG[4] = NIT_NULL;
69119 fra.me.REG[5] = NIT_NULL;
69120 fra.me.REG[6] = NIT_NULL;
69121 fra.me.REG[0] = p0;
69122 fra.me.REG[1] = p1;
69123 fra.me.REG[0] = NIT_NULL;
69124 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69125 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69126 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69127 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69128 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69129 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69130 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69131 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69132 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69133 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69134 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69135 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
69136 /* ./parser//parser.nit:26027 */
69137 if (UNTAG_Bool(REGB0)) {
69138 } else {
69139 fprintf(stderr, "Assert failed");
69140 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26027);
69141 nit_exit(1);
69142 }
69143 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
69144 /* ./parser//parser.nit:26029 */
69145 if (UNTAG_Bool(REGB0)) {
69146 } else {
69147 fprintf(stderr, "Assert failed");
69148 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26029);
69149 nit_exit(1);
69150 }
69151 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
69152 /* ./parser//parser.nit:26031 */
69153 if (UNTAG_Bool(REGB0)) {
69154 } else {
69155 fprintf(stderr, "Assert failed");
69156 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26031);
69157 nit_exit(1);
69158 }
69159 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
69160 /* ./parser//parser.nit:26033 */
69161 if (UNTAG_Bool(REGB0)) {
69162 } else {
69163 fprintf(stderr, "Assert failed");
69164 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26033);
69165 nit_exit(1);
69166 }
69167 fra.me.REG[6] = NEW_Array_array___Array___init();
69168 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
69169 fra.me.REG[6] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[6], NIT_NULL);
69170 fra.me.REG[0] = fra.me.REG[6];
69171 REGB0 = TAG_Int(43);
69172 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
69173 /* ./parser//parser.nit:26047 */
69174 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
69175 stack_frame_head = fra.me.prev;
69176 return;
69177 }
69178 void parser___ReduceAction609___init(val_t p0, int* init_table){
69179 int itpos613 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction609].i;
69180 struct {struct stack_frame_t me;} fra;
69181 val_t tmp;
69182 if (init_table[itpos613]) return;
69183 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69184 fra.me.file = LOCATE_parser;
69185 fra.me.line = 26049;
69186 fra.me.meth = LOCATE_parser___ReduceAction609___init;
69187 fra.me.has_broke = 0;
69188 fra.me.REG_size = 1;
69189 fra.me.REG[0] = NIT_NULL;
69190 fra.me.REG[0] = p0;
69191 /* ./parser//parser.nit:26049 */
69192 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
69193 stack_frame_head = fra.me.prev;
69194 init_table[itpos613] = 1;
69195 return;
69196 }
69197 void parser___ReduceAction610___action(val_t p0, val_t p1){
69198 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
69199 val_t REGB0;
69200 val_t tmp;
69201 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69202 fra.me.file = LOCATE_parser;
69203 fra.me.line = 26053;
69204 fra.me.meth = LOCATE_parser___ReduceAction610___action;
69205 fra.me.has_broke = 0;
69206 fra.me.REG_size = 7;
69207 fra.me.REG[0] = NIT_NULL;
69208 fra.me.REG[1] = NIT_NULL;
69209 fra.me.REG[2] = NIT_NULL;
69210 fra.me.REG[3] = NIT_NULL;
69211 fra.me.REG[4] = NIT_NULL;
69212 fra.me.REG[5] = NIT_NULL;
69213 fra.me.REG[6] = NIT_NULL;
69214 fra.me.REG[0] = p0;
69215 fra.me.REG[1] = p1;
69216 fra.me.REG[0] = NIT_NULL;
69217 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69218 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69219 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69220 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69221 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69222 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69223 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69224 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69225 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69226 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69227 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
69228 /* ./parser//parser.nit:26067 */
69229 if (UNTAG_Bool(REGB0)) {
69230 } else {
69231 fprintf(stderr, "Assert failed");
69232 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26067);
69233 nit_exit(1);
69234 }
69235 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
69236 /* ./parser//parser.nit:26069 */
69237 if (UNTAG_Bool(REGB0)) {
69238 } else {
69239 fprintf(stderr, "Assert failed");
69240 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26069);
69241 nit_exit(1);
69242 }
69243 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
69244 /* ./parser//parser.nit:26071 */
69245 if (UNTAG_Bool(REGB0)) {
69246 } else {
69247 fprintf(stderr, "Assert failed");
69248 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26071);
69249 nit_exit(1);
69250 }
69251 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
69252 /* ./parser//parser.nit:26073 */
69253 if (UNTAG_Bool(REGB0)) {
69254 } else {
69255 fprintf(stderr, "Assert failed");
69256 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26073);
69257 nit_exit(1);
69258 }
69259 fra.me.REG[6] = NEW_Array_array___Array___init();
69260 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
69261 fra.me.REG[6] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[6], NIT_NULL);
69262 fra.me.REG[0] = fra.me.REG[6];
69263 REGB0 = TAG_Int(43);
69264 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
69265 /* ./parser//parser.nit:26087 */
69266 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
69267 stack_frame_head = fra.me.prev;
69268 return;
69269 }
69270 void parser___ReduceAction610___init(val_t p0, int* init_table){
69271 int itpos614 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction610].i;
69272 struct {struct stack_frame_t me;} fra;
69273 val_t tmp;
69274 if (init_table[itpos614]) return;
69275 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69276 fra.me.file = LOCATE_parser;
69277 fra.me.line = 26089;
69278 fra.me.meth = LOCATE_parser___ReduceAction610___init;
69279 fra.me.has_broke = 0;
69280 fra.me.REG_size = 1;
69281 fra.me.REG[0] = NIT_NULL;
69282 fra.me.REG[0] = p0;
69283 /* ./parser//parser.nit:26089 */
69284 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
69285 stack_frame_head = fra.me.prev;
69286 init_table[itpos614] = 1;
69287 return;
69288 }
69289 void parser___ReduceAction611___action(val_t p0, val_t p1){
69290 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
69291 val_t REGB0;
69292 val_t REGB1;
69293 val_t tmp;
69294 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69295 fra.me.file = LOCATE_parser;
69296 fra.me.line = 26093;
69297 fra.me.meth = LOCATE_parser___ReduceAction611___action;
69298 fra.me.has_broke = 0;
69299 fra.me.REG_size = 9;
69300 fra.me.REG[0] = NIT_NULL;
69301 fra.me.REG[1] = NIT_NULL;
69302 fra.me.REG[2] = NIT_NULL;
69303 fra.me.REG[3] = NIT_NULL;
69304 fra.me.REG[4] = NIT_NULL;
69305 fra.me.REG[5] = NIT_NULL;
69306 fra.me.REG[6] = NIT_NULL;
69307 fra.me.REG[7] = NIT_NULL;
69308 fra.me.REG[8] = NIT_NULL;
69309 fra.me.REG[0] = p0;
69310 fra.me.REG[1] = p1;
69311 fra.me.REG[0] = NIT_NULL;
69312 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69313 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69314 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69315 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69316 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69317 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69318 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69319 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69320 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69321 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69322 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69323 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69324 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69325 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69326 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
69327 /* ./parser//parser.nit:26111 */
69328 if (UNTAG_Bool(REGB0)) {
69329 } else {
69330 fprintf(stderr, "Assert failed");
69331 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26111);
69332 nit_exit(1);
69333 }
69334 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TId, ID_TId)) /*cast nullable TId*/;
69335 /* ./parser//parser.nit:26113 */
69336 if (UNTAG_Bool(REGB0)) {
69337 } else {
69338 fprintf(stderr, "Assert failed");
69339 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26113);
69340 nit_exit(1);
69341 }
69342 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
69343 /* ./parser//parser.nit:26115 */
69344 if (UNTAG_Bool(REGB0)) {
69345 } else {
69346 fprintf(stderr, "Assert failed");
69347 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26115);
69348 nit_exit(1);
69349 }
69350 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
69351 /* ./parser//parser.nit:26117 */
69352 if (UNTAG_Bool(REGB0)) {
69353 } else {
69354 fprintf(stderr, "Assert failed");
69355 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26117);
69356 nit_exit(1);
69357 }
69358 fra.me.REG[8] = NEW_Array_array___Array___init();
69359 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
69360 /* ./parser//parser.nit:26120 */
69361 if (UNTAG_Bool(REGB0)) {
69362 } else {
69363 fprintf(stderr, "Assert failed");
69364 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26120);
69365 nit_exit(1);
69366 }
69367 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
69368 /* ./parser//parser.nit:26121 */
69369 if (UNTAG_Bool(REGB0)) {
69370 } else {
69371 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
69372 if (UNTAG_Bool(REGB1)) {
69373 REGB1 = TAG_Bool(false);
69374 REGB0 = REGB1;
69375 } else {
69376 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
69377 REGB0 = REGB1;
69378 }
69379 }
69380 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
69381 if (UNTAG_Bool(REGB0)) {
69382 /* ./parser//parser.nit:26122 */
69383 array___Array___add(fra.me.REG[8], fra.me.REG[3]);
69384 }
69385 fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]);
69386 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
69387 /* ./parser//parser.nit:26128 */
69388 if (UNTAG_Bool(REGB0)) {
69389 } else {
69390 fprintf(stderr, "Assert failed");
69391 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26128);
69392 nit_exit(1);
69393 }
69394 fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], fra.me.REG[2]);
69395 fra.me.REG[0] = fra.me.REG[2];
69396 REGB0 = TAG_Int(43);
69397 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
69398 /* ./parser//parser.nit:26138 */
69399 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
69400 stack_frame_head = fra.me.prev;
69401 return;
69402 }
69403 void parser___ReduceAction611___init(val_t p0, int* init_table){
69404 int itpos615 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction611].i;
69405 struct {struct stack_frame_t me;} fra;
69406 val_t tmp;
69407 if (init_table[itpos615]) return;
69408 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69409 fra.me.file = LOCATE_parser;
69410 fra.me.line = 26140;
69411 fra.me.meth = LOCATE_parser___ReduceAction611___init;
69412 fra.me.has_broke = 0;
69413 fra.me.REG_size = 1;
69414 fra.me.REG[0] = NIT_NULL;
69415 fra.me.REG[0] = p0;
69416 /* ./parser//parser.nit:26140 */
69417 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
69418 stack_frame_head = fra.me.prev;
69419 init_table[itpos615] = 1;
69420 return;
69421 }
69422 void parser___ReduceAction612___action(val_t p0, val_t p1){
69423 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
69424 val_t REGB0;
69425 val_t REGB1;
69426 val_t tmp;
69427 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69428 fra.me.file = LOCATE_parser;
69429 fra.me.line = 26144;
69430 fra.me.meth = LOCATE_parser___ReduceAction612___action;
69431 fra.me.has_broke = 0;
69432 fra.me.REG_size = 10;
69433 fra.me.REG[0] = NIT_NULL;
69434 fra.me.REG[1] = NIT_NULL;
69435 fra.me.REG[2] = NIT_NULL;
69436 fra.me.REG[3] = NIT_NULL;
69437 fra.me.REG[4] = NIT_NULL;
69438 fra.me.REG[5] = NIT_NULL;
69439 fra.me.REG[6] = NIT_NULL;
69440 fra.me.REG[7] = NIT_NULL;
69441 fra.me.REG[8] = NIT_NULL;
69442 fra.me.REG[9] = NIT_NULL;
69443 fra.me.REG[0] = p0;
69444 fra.me.REG[1] = p1;
69445 fra.me.REG[0] = NIT_NULL;
69446 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69447 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69448 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69449 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69450 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69451 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69452 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69453 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69454 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69455 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69456 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69457 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69458 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69459 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69460 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69461 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
69462 /* ./parser//parser.nit:26163 */
69463 if (UNTAG_Bool(REGB0)) {
69464 } else {
69465 fprintf(stderr, "Assert failed");
69466 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26163);
69467 nit_exit(1);
69468 }
69469 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TId, ID_TId)) /*cast nullable TId*/;
69470 /* ./parser//parser.nit:26165 */
69471 if (UNTAG_Bool(REGB0)) {
69472 } else {
69473 fprintf(stderr, "Assert failed");
69474 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26165);
69475 nit_exit(1);
69476 }
69477 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
69478 /* ./parser//parser.nit:26167 */
69479 if (UNTAG_Bool(REGB0)) {
69480 } else {
69481 fprintf(stderr, "Assert failed");
69482 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26167);
69483 nit_exit(1);
69484 }
69485 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
69486 /* ./parser//parser.nit:26169 */
69487 if (UNTAG_Bool(REGB0)) {
69488 } else {
69489 fprintf(stderr, "Assert failed");
69490 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26169);
69491 nit_exit(1);
69492 }
69493 fra.me.REG[9] = NEW_Array_array___Array___init();
69494 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
69495 /* ./parser//parser.nit:26172 */
69496 if (UNTAG_Bool(REGB0)) {
69497 } else {
69498 fprintf(stderr, "Assert failed");
69499 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26172);
69500 nit_exit(1);
69501 }
69502 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
69503 /* ./parser//parser.nit:26174 */
69504 if (UNTAG_Bool(REGB0)) {
69505 } else {
69506 fprintf(stderr, "Assert failed");
69507 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26174);
69508 nit_exit(1);
69509 }
69510 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
69511 /* ./parser//parser.nit:26175 */
69512 if (UNTAG_Bool(REGB0)) {
69513 } else {
69514 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
69515 if (UNTAG_Bool(REGB1)) {
69516 REGB1 = TAG_Bool(false);
69517 REGB0 = REGB1;
69518 } else {
69519 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
69520 REGB0 = REGB1;
69521 }
69522 }
69523 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
69524 if (UNTAG_Bool(REGB0)) {
69525 /* ./parser//parser.nit:26176 */
69526 array___Array___add(fra.me.REG[9], fra.me.REG[4]);
69527 }
69528 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]);
69529 /* ./parser//parser.nit:26179 */
69530 if (UNTAG_Bool(REGB0)) {
69531 fra.me.REG[9] = fra.me.REG[3];
69532 /* ./parser//parser.nit:26180 */
69533 } else {
69534 /* ./parser//parser.nit:26182 */
69535 CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
69536 }
69537 fra.me.REG[9] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[9]);
69538 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
69539 /* ./parser//parser.nit:26189 */
69540 if (UNTAG_Bool(REGB0)) {
69541 } else {
69542 fprintf(stderr, "Assert failed");
69543 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26189);
69544 nit_exit(1);
69545 }
69546 fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[9], fra.me.REG[2]);
69547 fra.me.REG[0] = fra.me.REG[2];
69548 REGB0 = TAG_Int(43);
69549 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
69550 /* ./parser//parser.nit:26199 */
69551 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
69552 stack_frame_head = fra.me.prev;
69553 return;
69554 }
69555 void parser___ReduceAction612___init(val_t p0, int* init_table){
69556 int itpos616 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction612].i;
69557 struct {struct stack_frame_t me;} fra;
69558 val_t tmp;
69559 if (init_table[itpos616]) return;
69560 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69561 fra.me.file = LOCATE_parser;
69562 fra.me.line = 26201;
69563 fra.me.meth = LOCATE_parser___ReduceAction612___init;
69564 fra.me.has_broke = 0;
69565 fra.me.REG_size = 1;
69566 fra.me.REG[0] = NIT_NULL;
69567 fra.me.REG[0] = p0;
69568 /* ./parser//parser.nit:26201 */
69569 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
69570 stack_frame_head = fra.me.prev;
69571 init_table[itpos616] = 1;
69572 return;
69573 }
69574 void parser___ReduceAction613___action(val_t p0, val_t p1){
69575 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
69576 val_t REGB0;
69577 val_t tmp;
69578 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69579 fra.me.file = LOCATE_parser;
69580 fra.me.line = 26205;
69581 fra.me.meth = LOCATE_parser___ReduceAction613___action;
69582 fra.me.has_broke = 0;
69583 fra.me.REG_size = 8;
69584 fra.me.REG[0] = NIT_NULL;
69585 fra.me.REG[1] = NIT_NULL;
69586 fra.me.REG[2] = NIT_NULL;
69587 fra.me.REG[3] = NIT_NULL;
69588 fra.me.REG[4] = NIT_NULL;
69589 fra.me.REG[5] = NIT_NULL;
69590 fra.me.REG[6] = NIT_NULL;
69591 fra.me.REG[7] = NIT_NULL;
69592 fra.me.REG[0] = p0;
69593 fra.me.REG[1] = p1;
69594 fra.me.REG[0] = NIT_NULL;
69595 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69596 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69597 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69598 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69599 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69600 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69601 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69602 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69603 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69604 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69605 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69606 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69607 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
69608 /* ./parser//parser.nit:26221 */
69609 if (UNTAG_Bool(REGB0)) {
69610 } else {
69611 fprintf(stderr, "Assert failed");
69612 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26221);
69613 nit_exit(1);
69614 }
69615 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
69616 /* ./parser//parser.nit:26223 */
69617 if (UNTAG_Bool(REGB0)) {
69618 } else {
69619 fprintf(stderr, "Assert failed");
69620 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26223);
69621 nit_exit(1);
69622 }
69623 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
69624 /* ./parser//parser.nit:26225 */
69625 if (UNTAG_Bool(REGB0)) {
69626 } else {
69627 fprintf(stderr, "Assert failed");
69628 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26225);
69629 nit_exit(1);
69630 }
69631 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
69632 /* ./parser//parser.nit:26227 */
69633 if (UNTAG_Bool(REGB0)) {
69634 } else {
69635 fprintf(stderr, "Assert failed");
69636 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26227);
69637 nit_exit(1);
69638 }
69639 fra.me.REG[7] = NEW_Array_array___Array___init();
69640 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
69641 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
69642 /* ./parser//parser.nit:26233 */
69643 if (UNTAG_Bool(REGB0)) {
69644 } else {
69645 fprintf(stderr, "Assert failed");
69646 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26233);
69647 nit_exit(1);
69648 }
69649 fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], fra.me.REG[2]);
69650 fra.me.REG[0] = fra.me.REG[2];
69651 REGB0 = TAG_Int(43);
69652 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
69653 /* ./parser//parser.nit:26243 */
69654 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
69655 stack_frame_head = fra.me.prev;
69656 return;
69657 }
69658 void parser___ReduceAction613___init(val_t p0, int* init_table){
69659 int itpos617 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction613].i;
69660 struct {struct stack_frame_t me;} fra;
69661 val_t tmp;
69662 if (init_table[itpos617]) return;
69663 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69664 fra.me.file = LOCATE_parser;
69665 fra.me.line = 26245;
69666 fra.me.meth = LOCATE_parser___ReduceAction613___init;
69667 fra.me.has_broke = 0;
69668 fra.me.REG_size = 1;
69669 fra.me.REG[0] = NIT_NULL;
69670 fra.me.REG[0] = p0;
69671 /* ./parser//parser.nit:26245 */
69672 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
69673 stack_frame_head = fra.me.prev;
69674 init_table[itpos617] = 1;
69675 return;
69676 }
69677 void parser___ReduceAction614___action(val_t p0, val_t p1){
69678 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
69679 val_t REGB0;
69680 val_t tmp;
69681 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69682 fra.me.file = LOCATE_parser;
69683 fra.me.line = 26249;
69684 fra.me.meth = LOCATE_parser___ReduceAction614___action;
69685 fra.me.has_broke = 0;
69686 fra.me.REG_size = 8;
69687 fra.me.REG[0] = NIT_NULL;
69688 fra.me.REG[1] = NIT_NULL;
69689 fra.me.REG[2] = NIT_NULL;
69690 fra.me.REG[3] = NIT_NULL;
69691 fra.me.REG[4] = NIT_NULL;
69692 fra.me.REG[5] = NIT_NULL;
69693 fra.me.REG[6] = NIT_NULL;
69694 fra.me.REG[7] = NIT_NULL;
69695 fra.me.REG[0] = p0;
69696 fra.me.REG[1] = p1;
69697 fra.me.REG[0] = NIT_NULL;
69698 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69699 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69700 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69701 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69702 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69703 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69704 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69705 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69706 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69707 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69708 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69709 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
69710 /* ./parser//parser.nit:26264 */
69711 if (UNTAG_Bool(REGB0)) {
69712 } else {
69713 fprintf(stderr, "Assert failed");
69714 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26264);
69715 nit_exit(1);
69716 }
69717 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
69718 /* ./parser//parser.nit:26266 */
69719 if (UNTAG_Bool(REGB0)) {
69720 } else {
69721 fprintf(stderr, "Assert failed");
69722 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26266);
69723 nit_exit(1);
69724 }
69725 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
69726 /* ./parser//parser.nit:26268 */
69727 if (UNTAG_Bool(REGB0)) {
69728 } else {
69729 fprintf(stderr, "Assert failed");
69730 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26268);
69731 nit_exit(1);
69732 }
69733 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
69734 /* ./parser//parser.nit:26270 */
69735 if (UNTAG_Bool(REGB0)) {
69736 } else {
69737 fprintf(stderr, "Assert failed");
69738 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26270);
69739 nit_exit(1);
69740 }
69741 fra.me.REG[7] = NEW_Array_array___Array___init();
69742 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
69743 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
69744 /* ./parser//parser.nit:26276 */
69745 if (UNTAG_Bool(REGB0)) {
69746 } else {
69747 fprintf(stderr, "Assert failed");
69748 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26276);
69749 nit_exit(1);
69750 }
69751 fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], fra.me.REG[2]);
69752 fra.me.REG[0] = fra.me.REG[2];
69753 REGB0 = TAG_Int(43);
69754 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
69755 /* ./parser//parser.nit:26286 */
69756 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
69757 stack_frame_head = fra.me.prev;
69758 return;
69759 }
69760 void parser___ReduceAction614___init(val_t p0, int* init_table){
69761 int itpos618 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction614].i;
69762 struct {struct stack_frame_t me;} fra;
69763 val_t tmp;
69764 if (init_table[itpos618]) return;
69765 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69766 fra.me.file = LOCATE_parser;
69767 fra.me.line = 26288;
69768 fra.me.meth = LOCATE_parser___ReduceAction614___init;
69769 fra.me.has_broke = 0;
69770 fra.me.REG_size = 1;
69771 fra.me.REG[0] = NIT_NULL;
69772 fra.me.REG[0] = p0;
69773 /* ./parser//parser.nit:26288 */
69774 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
69775 stack_frame_head = fra.me.prev;
69776 init_table[itpos618] = 1;
69777 return;
69778 }
69779 void parser___ReduceAction615___action(val_t p0, val_t p1){
69780 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
69781 val_t REGB0;
69782 val_t tmp;
69783 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69784 fra.me.file = LOCATE_parser;
69785 fra.me.line = 26292;
69786 fra.me.meth = LOCATE_parser___ReduceAction615___action;
69787 fra.me.has_broke = 0;
69788 fra.me.REG_size = 7;
69789 fra.me.REG[0] = NIT_NULL;
69790 fra.me.REG[1] = NIT_NULL;
69791 fra.me.REG[2] = NIT_NULL;
69792 fra.me.REG[3] = NIT_NULL;
69793 fra.me.REG[4] = NIT_NULL;
69794 fra.me.REG[5] = NIT_NULL;
69795 fra.me.REG[6] = NIT_NULL;
69796 fra.me.REG[0] = p0;
69797 fra.me.REG[1] = p1;
69798 fra.me.REG[0] = NIT_NULL;
69799 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69800 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69801 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69802 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69803 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69804 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69805 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69806 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69807 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69808 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69809 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
69810 /* ./parser//parser.nit:26306 */
69811 if (UNTAG_Bool(REGB0)) {
69812 } else {
69813 fprintf(stderr, "Assert failed");
69814 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26306);
69815 nit_exit(1);
69816 }
69817 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
69818 /* ./parser//parser.nit:26308 */
69819 if (UNTAG_Bool(REGB0)) {
69820 } else {
69821 fprintf(stderr, "Assert failed");
69822 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26308);
69823 nit_exit(1);
69824 }
69825 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
69826 /* ./parser//parser.nit:26310 */
69827 if (UNTAG_Bool(REGB0)) {
69828 } else {
69829 fprintf(stderr, "Assert failed");
69830 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26310);
69831 nit_exit(1);
69832 }
69833 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
69834 /* ./parser//parser.nit:26312 */
69835 if (UNTAG_Bool(REGB0)) {
69836 } else {
69837 fprintf(stderr, "Assert failed");
69838 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26312);
69839 nit_exit(1);
69840 }
69841 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
69842 /* ./parser//parser.nit:26314 */
69843 if (UNTAG_Bool(REGB0)) {
69844 } else {
69845 fprintf(stderr, "Assert failed");
69846 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26314);
69847 nit_exit(1);
69848 }
69849 fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
69850 fra.me.REG[0] = fra.me.REG[2];
69851 REGB0 = TAG_Int(43);
69852 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
69853 /* ./parser//parser.nit:26324 */
69854 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
69855 stack_frame_head = fra.me.prev;
69856 return;
69857 }
69858 void parser___ReduceAction615___init(val_t p0, int* init_table){
69859 int itpos619 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction615].i;
69860 struct {struct stack_frame_t me;} fra;
69861 val_t tmp;
69862 if (init_table[itpos619]) return;
69863 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69864 fra.me.file = LOCATE_parser;
69865 fra.me.line = 26326;
69866 fra.me.meth = LOCATE_parser___ReduceAction615___init;
69867 fra.me.has_broke = 0;
69868 fra.me.REG_size = 1;
69869 fra.me.REG[0] = NIT_NULL;
69870 fra.me.REG[0] = p0;
69871 /* ./parser//parser.nit:26326 */
69872 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
69873 stack_frame_head = fra.me.prev;
69874 init_table[itpos619] = 1;
69875 return;
69876 }
69877 void parser___ReduceAction616___action(val_t p0, val_t p1){
69878 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
69879 val_t REGB0;
69880 val_t tmp;
69881 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69882 fra.me.file = LOCATE_parser;
69883 fra.me.line = 26330;
69884 fra.me.meth = LOCATE_parser___ReduceAction616___action;
69885 fra.me.has_broke = 0;
69886 fra.me.REG_size = 5;
69887 fra.me.REG[0] = NIT_NULL;
69888 fra.me.REG[1] = NIT_NULL;
69889 fra.me.REG[2] = NIT_NULL;
69890 fra.me.REG[3] = NIT_NULL;
69891 fra.me.REG[4] = NIT_NULL;
69892 fra.me.REG[0] = p0;
69893 fra.me.REG[1] = p1;
69894 fra.me.REG[0] = NIT_NULL;
69895 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69896 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69897 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69898 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69899 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwassert, ID_TKwassert)) /*cast nullable TKwassert*/;
69900 /* ./parser//parser.nit:26338 */
69901 if (UNTAG_Bool(REGB0)) {
69902 } else {
69903 fprintf(stderr, "Assert failed");
69904 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26338);
69905 nit_exit(1);
69906 }
69907 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
69908 /* ./parser//parser.nit:26340 */
69909 if (UNTAG_Bool(REGB0)) {
69910 } else {
69911 fprintf(stderr, "Assert failed");
69912 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26340);
69913 nit_exit(1);
69914 }
69915 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
69916 /* ./parser//parser.nit:26342 */
69917 if (UNTAG_Bool(REGB0)) {
69918 } else {
69919 fprintf(stderr, "Assert failed");
69920 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26342);
69921 nit_exit(1);
69922 }
69923 fra.me.REG[2] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]);
69924 fra.me.REG[0] = fra.me.REG[2];
69925 REGB0 = TAG_Int(44);
69926 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
69927 /* ./parser//parser.nit:26350 */
69928 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
69929 stack_frame_head = fra.me.prev;
69930 return;
69931 }
69932 void parser___ReduceAction616___init(val_t p0, int* init_table){
69933 int itpos620 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction616].i;
69934 struct {struct stack_frame_t me;} fra;
69935 val_t tmp;
69936 if (init_table[itpos620]) return;
69937 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69938 fra.me.file = LOCATE_parser;
69939 fra.me.line = 26352;
69940 fra.me.meth = LOCATE_parser___ReduceAction616___init;
69941 fra.me.has_broke = 0;
69942 fra.me.REG_size = 1;
69943 fra.me.REG[0] = NIT_NULL;
69944 fra.me.REG[0] = p0;
69945 /* ./parser//parser.nit:26352 */
69946 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
69947 stack_frame_head = fra.me.prev;
69948 init_table[itpos620] = 1;
69949 return;
69950 }
69951 void parser___ReduceAction617___action(val_t p0, val_t p1){
69952 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
69953 val_t REGB0;
69954 val_t tmp;
69955 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69956 fra.me.file = LOCATE_parser;
69957 fra.me.line = 26356;
69958 fra.me.meth = LOCATE_parser___ReduceAction617___action;
69959 fra.me.has_broke = 0;
69960 fra.me.REG_size = 6;
69961 fra.me.REG[0] = NIT_NULL;
69962 fra.me.REG[1] = NIT_NULL;
69963 fra.me.REG[2] = NIT_NULL;
69964 fra.me.REG[3] = NIT_NULL;
69965 fra.me.REG[4] = NIT_NULL;
69966 fra.me.REG[5] = NIT_NULL;
69967 fra.me.REG[0] = p0;
69968 fra.me.REG[1] = p1;
69969 fra.me.REG[0] = NIT_NULL;
69970 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69971 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69972 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69973 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69974 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
69975 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwassert, ID_TKwassert)) /*cast nullable TKwassert*/;
69976 /* ./parser//parser.nit:26365 */
69977 if (UNTAG_Bool(REGB0)) {
69978 } else {
69979 fprintf(stderr, "Assert failed");
69980 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26365);
69981 nit_exit(1);
69982 }
69983 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
69984 /* ./parser//parser.nit:26367 */
69985 if (UNTAG_Bool(REGB0)) {
69986 } else {
69987 fprintf(stderr, "Assert failed");
69988 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26367);
69989 nit_exit(1);
69990 }
69991 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
69992 /* ./parser//parser.nit:26369 */
69993 if (UNTAG_Bool(REGB0)) {
69994 } else {
69995 fprintf(stderr, "Assert failed");
69996 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26369);
69997 nit_exit(1);
69998 }
69999 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
70000 /* ./parser//parser.nit:26371 */
70001 if (UNTAG_Bool(REGB0)) {
70002 } else {
70003 fprintf(stderr, "Assert failed");
70004 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26371);
70005 nit_exit(1);
70006 }
70007 fra.me.REG[2] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
70008 fra.me.REG[0] = fra.me.REG[2];
70009 REGB0 = TAG_Int(44);
70010 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
70011 /* ./parser//parser.nit:26379 */
70012 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
70013 stack_frame_head = fra.me.prev;
70014 return;
70015 }
70016 void parser___ReduceAction617___init(val_t p0, int* init_table){
70017 int itpos621 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction617].i;
70018 struct {struct stack_frame_t me;} fra;
70019 val_t tmp;
70020 if (init_table[itpos621]) return;
70021 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70022 fra.me.file = LOCATE_parser;
70023 fra.me.line = 26381;
70024 fra.me.meth = LOCATE_parser___ReduceAction617___init;
70025 fra.me.has_broke = 0;
70026 fra.me.REG_size = 1;
70027 fra.me.REG[0] = NIT_NULL;
70028 fra.me.REG[0] = p0;
70029 /* ./parser//parser.nit:26381 */
70030 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
70031 stack_frame_head = fra.me.prev;
70032 init_table[itpos621] = 1;
70033 return;
70034 }
70035 void parser___ReduceAction618___action(val_t p0, val_t p1){
70036 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
70037 val_t REGB0;
70038 val_t tmp;
70039 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70040 fra.me.file = LOCATE_parser;
70041 fra.me.line = 26385;
70042 fra.me.meth = LOCATE_parser___ReduceAction618___action;
70043 fra.me.has_broke = 0;
70044 fra.me.REG_size = 4;
70045 fra.me.REG[0] = NIT_NULL;
70046 fra.me.REG[1] = NIT_NULL;
70047 fra.me.REG[2] = NIT_NULL;
70048 fra.me.REG[3] = NIT_NULL;
70049 fra.me.REG[0] = p0;
70050 fra.me.REG[1] = p1;
70051 fra.me.REG[0] = NIT_NULL;
70052 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70053 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70054 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwassert, ID_TKwassert)) /*cast nullable TKwassert*/;
70055 /* ./parser//parser.nit:26391 */
70056 if (UNTAG_Bool(REGB0)) {
70057 } else {
70058 fprintf(stderr, "Assert failed");
70059 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26391);
70060 nit_exit(1);
70061 }
70062 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
70063 /* ./parser//parser.nit:26393 */
70064 if (UNTAG_Bool(REGB0)) {
70065 } else {
70066 fprintf(stderr, "Assert failed");
70067 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26393);
70068 nit_exit(1);
70069 }
70070 fra.me.REG[2] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[3], NIT_NULL, fra.me.REG[2], NIT_NULL);
70071 fra.me.REG[0] = fra.me.REG[2];
70072 REGB0 = TAG_Int(44);
70073 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
70074 /* ./parser//parser.nit:26401 */
70075 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
70076 stack_frame_head = fra.me.prev;
70077 return;
70078 }
70079 void parser___ReduceAction618___init(val_t p0, int* init_table){
70080 int itpos622 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction618].i;
70081 struct {struct stack_frame_t me;} fra;
70082 val_t tmp;
70083 if (init_table[itpos622]) return;
70084 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70085 fra.me.file = LOCATE_parser;
70086 fra.me.line = 26403;
70087 fra.me.meth = LOCATE_parser___ReduceAction618___init;
70088 fra.me.has_broke = 0;
70089 fra.me.REG_size = 1;
70090 fra.me.REG[0] = NIT_NULL;
70091 fra.me.REG[0] = p0;
70092 /* ./parser//parser.nit:26403 */
70093 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
70094 stack_frame_head = fra.me.prev;
70095 init_table[itpos622] = 1;
70096 return;
70097 }
70098 void parser___ReduceAction619___action(val_t p0, val_t p1){
70099 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
70100 val_t REGB0;
70101 val_t tmp;
70102 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70103 fra.me.file = LOCATE_parser;
70104 fra.me.line = 26407;
70105 fra.me.meth = LOCATE_parser___ReduceAction619___action;
70106 fra.me.has_broke = 0;
70107 fra.me.REG_size = 5;
70108 fra.me.REG[0] = NIT_NULL;
70109 fra.me.REG[1] = NIT_NULL;
70110 fra.me.REG[2] = NIT_NULL;
70111 fra.me.REG[3] = NIT_NULL;
70112 fra.me.REG[4] = NIT_NULL;
70113 fra.me.REG[0] = p0;
70114 fra.me.REG[1] = p1;
70115 fra.me.REG[0] = NIT_NULL;
70116 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70117 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70118 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70119 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwassert, ID_TKwassert)) /*cast nullable TKwassert*/;
70120 /* ./parser//parser.nit:26414 */
70121 if (UNTAG_Bool(REGB0)) {
70122 } else {
70123 fprintf(stderr, "Assert failed");
70124 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26414);
70125 nit_exit(1);
70126 }
70127 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
70128 /* ./parser//parser.nit:26416 */
70129 if (UNTAG_Bool(REGB0)) {
70130 } else {
70131 fprintf(stderr, "Assert failed");
70132 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26416);
70133 nit_exit(1);
70134 }
70135 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
70136 /* ./parser//parser.nit:26418 */
70137 if (UNTAG_Bool(REGB0)) {
70138 } else {
70139 fprintf(stderr, "Assert failed");
70140 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26418);
70141 nit_exit(1);
70142 }
70143 fra.me.REG[2] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
70144 fra.me.REG[0] = fra.me.REG[2];
70145 REGB0 = TAG_Int(44);
70146 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
70147 /* ./parser//parser.nit:26426 */
70148 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
70149 stack_frame_head = fra.me.prev;
70150 return;
70151 }
70152 void parser___ReduceAction619___init(val_t p0, int* init_table){
70153 int itpos623 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction619].i;
70154 struct {struct stack_frame_t me;} fra;
70155 val_t tmp;
70156 if (init_table[itpos623]) return;
70157 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70158 fra.me.file = LOCATE_parser;
70159 fra.me.line = 26428;
70160 fra.me.meth = LOCATE_parser___ReduceAction619___init;
70161 fra.me.has_broke = 0;
70162 fra.me.REG_size = 1;
70163 fra.me.REG[0] = NIT_NULL;
70164 fra.me.REG[0] = p0;
70165 /* ./parser//parser.nit:26428 */
70166 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
70167 stack_frame_head = fra.me.prev;
70168 init_table[itpos623] = 1;
70169 return;
70170 }
70171 void parser___ReduceAction620___action(val_t p0, val_t p1){
70172 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
70173 val_t REGB0;
70174 val_t tmp;
70175 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70176 fra.me.file = LOCATE_parser;
70177 fra.me.line = 26432;
70178 fra.me.meth = LOCATE_parser___ReduceAction620___action;
70179 fra.me.has_broke = 0;
70180 fra.me.REG_size = 3;
70181 fra.me.REG[0] = NIT_NULL;
70182 fra.me.REG[1] = NIT_NULL;
70183 fra.me.REG[2] = NIT_NULL;
70184 fra.me.REG[0] = p0;
70185 fra.me.REG[1] = p1;
70186 fra.me.REG[0] = NIT_NULL;
70187 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70188 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70189 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/;
70190 /* ./parser//parser.nit:26438 */
70191 if (UNTAG_Bool(REGB0)) {
70192 } else {
70193 fprintf(stderr, "Assert failed");
70194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26438);
70195 nit_exit(1);
70196 }
70197 fra.me.REG[0] = fra.me.REG[2];
70198 REGB0 = TAG_Int(45);
70199 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
70200 /* ./parser//parser.nit:26440 */
70201 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
70202 stack_frame_head = fra.me.prev;
70203 return;
70204 }
70205 void parser___ReduceAction620___init(val_t p0, int* init_table){
70206 int itpos624 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction620].i;
70207 struct {struct stack_frame_t me;} fra;
70208 val_t tmp;
70209 if (init_table[itpos624]) return;
70210 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70211 fra.me.file = LOCATE_parser;
70212 fra.me.line = 26442;
70213 fra.me.meth = LOCATE_parser___ReduceAction620___init;
70214 fra.me.has_broke = 0;
70215 fra.me.REG_size = 1;
70216 fra.me.REG[0] = NIT_NULL;
70217 fra.me.REG[0] = p0;
70218 /* ./parser//parser.nit:26442 */
70219 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
70220 stack_frame_head = fra.me.prev;
70221 init_table[itpos624] = 1;
70222 return;
70223 }
70224 void parser___ReduceAction621___action(val_t p0, val_t p1){
70225 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
70226 val_t REGB0;
70227 val_t tmp;
70228 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70229 fra.me.file = LOCATE_parser;
70230 fra.me.line = 26446;
70231 fra.me.meth = LOCATE_parser___ReduceAction621___action;
70232 fra.me.has_broke = 0;
70233 fra.me.REG_size = 3;
70234 fra.me.REG[0] = NIT_NULL;
70235 fra.me.REG[1] = NIT_NULL;
70236 fra.me.REG[2] = NIT_NULL;
70237 fra.me.REG[0] = p0;
70238 fra.me.REG[1] = p1;
70239 fra.me.REG[0] = NIT_NULL;
70240 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70241 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
70242 /* ./parser//parser.nit:26451 */
70243 if (UNTAG_Bool(REGB0)) {
70244 } else {
70245 fprintf(stderr, "Assert failed");
70246 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26451);
70247 nit_exit(1);
70248 }
70249 fra.me.REG[0] = fra.me.REG[2];
70250 REGB0 = TAG_Int(46);
70251 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
70252 /* ./parser//parser.nit:26453 */
70253 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
70254 stack_frame_head = fra.me.prev;
70255 return;
70256 }
70257 void parser___ReduceAction621___init(val_t p0, int* init_table){
70258 int itpos625 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction621].i;
70259 struct {struct stack_frame_t me;} fra;
70260 val_t tmp;
70261 if (init_table[itpos625]) return;
70262 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70263 fra.me.file = LOCATE_parser;
70264 fra.me.line = 26455;
70265 fra.me.meth = LOCATE_parser___ReduceAction621___init;
70266 fra.me.has_broke = 0;
70267 fra.me.REG_size = 1;
70268 fra.me.REG[0] = NIT_NULL;
70269 fra.me.REG[0] = p0;
70270 /* ./parser//parser.nit:26455 */
70271 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
70272 stack_frame_head = fra.me.prev;
70273 init_table[itpos625] = 1;
70274 return;
70275 }
70276 void parser___ReduceAction622___action(val_t p0, val_t p1){
70277 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
70278 val_t REGB0;
70279 val_t tmp;
70280 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70281 fra.me.file = LOCATE_parser;
70282 fra.me.line = 26459;
70283 fra.me.meth = LOCATE_parser___ReduceAction622___action;
70284 fra.me.has_broke = 0;
70285 fra.me.REG_size = 8;
70286 fra.me.REG[0] = NIT_NULL;
70287 fra.me.REG[1] = NIT_NULL;
70288 fra.me.REG[2] = NIT_NULL;
70289 fra.me.REG[3] = NIT_NULL;
70290 fra.me.REG[4] = NIT_NULL;
70291 fra.me.REG[5] = NIT_NULL;
70292 fra.me.REG[6] = NIT_NULL;
70293 fra.me.REG[7] = NIT_NULL;
70294 fra.me.REG[0] = p0;
70295 fra.me.REG[1] = p1;
70296 fra.me.REG[0] = NIT_NULL;
70297 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70298 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70299 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70300 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70301 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70302 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70303 fra.me.REG[6] = NEW_Array_array___Array___init();
70304 fra.me.REG[7] = NEW_Array_array___Array___init();
70305 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
70306 /* ./parser//parser.nit:26471 */
70307 if (UNTAG_Bool(REGB0)) {
70308 } else {
70309 fprintf(stderr, "Assert failed");
70310 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26471);
70311 nit_exit(1);
70312 }
70313 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
70314 /* ./parser//parser.nit:26473 */
70315 if (UNTAG_Bool(REGB0)) {
70316 } else {
70317 fprintf(stderr, "Assert failed");
70318 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26473);
70319 nit_exit(1);
70320 }
70321 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
70322 /* ./parser//parser.nit:26475 */
70323 if (UNTAG_Bool(REGB0)) {
70324 } else {
70325 fprintf(stderr, "Assert failed");
70326 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26475);
70327 nit_exit(1);
70328 }
70329 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
70330 /* ./parser//parser.nit:26477 */
70331 if (UNTAG_Bool(REGB0)) {
70332 fra.me.REG[6] = fra.me.REG[3];
70333 /* ./parser//parser.nit:26478 */
70334 } else {
70335 /* ./parser//parser.nit:26480 */
70336 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
70337 }
70338 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
70339 /* ./parser//parser.nit:26484 */
70340 if (UNTAG_Bool(REGB0)) {
70341 } else {
70342 fprintf(stderr, "Assert failed");
70343 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26484);
70344 nit_exit(1);
70345 }
70346 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
70347 /* ./parser//parser.nit:26486 */
70348 if (UNTAG_Bool(REGB0)) {
70349 fra.me.REG[7] = fra.me.REG[2];
70350 /* ./parser//parser.nit:26487 */
70351 } else {
70352 /* ./parser//parser.nit:26489 */
70353 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]);
70354 }
70355 fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]);
70356 fra.me.REG[0] = fra.me.REG[7];
70357 REGB0 = TAG_Int(46);
70358 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
70359 /* ./parser//parser.nit:26499 */
70360 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
70361 stack_frame_head = fra.me.prev;
70362 return;
70363 }
70364 void parser___ReduceAction622___init(val_t p0, int* init_table){
70365 int itpos626 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction622].i;
70366 struct {struct stack_frame_t me;} fra;
70367 val_t tmp;
70368 if (init_table[itpos626]) return;
70369 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70370 fra.me.file = LOCATE_parser;
70371 fra.me.line = 26501;
70372 fra.me.meth = LOCATE_parser___ReduceAction622___init;
70373 fra.me.has_broke = 0;
70374 fra.me.REG_size = 1;
70375 fra.me.REG[0] = NIT_NULL;
70376 fra.me.REG[0] = p0;
70377 /* ./parser//parser.nit:26501 */
70378 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
70379 stack_frame_head = fra.me.prev;
70380 init_table[itpos626] = 1;
70381 return;
70382 }
70383 void parser___ReduceAction623___action(val_t p0, val_t p1){
70384 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
70385 val_t REGB0;
70386 val_t tmp;
70387 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70388 fra.me.file = LOCATE_parser;
70389 fra.me.line = 26505;
70390 fra.me.meth = LOCATE_parser___ReduceAction623___action;
70391 fra.me.has_broke = 0;
70392 fra.me.REG_size = 8;
70393 fra.me.REG[0] = NIT_NULL;
70394 fra.me.REG[1] = NIT_NULL;
70395 fra.me.REG[2] = NIT_NULL;
70396 fra.me.REG[3] = NIT_NULL;
70397 fra.me.REG[4] = NIT_NULL;
70398 fra.me.REG[5] = NIT_NULL;
70399 fra.me.REG[6] = NIT_NULL;
70400 fra.me.REG[7] = NIT_NULL;
70401 fra.me.REG[0] = p0;
70402 fra.me.REG[1] = p1;
70403 fra.me.REG[0] = NIT_NULL;
70404 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70405 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70406 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70407 fra.me.REG[5] = NEW_Array_array___Array___init();
70408 fra.me.REG[6] = NEW_Array_array___Array___init();
70409 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
70410 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
70411 /* ./parser//parser.nit:26516 */
70412 if (UNTAG_Bool(REGB0)) {
70413 } else {
70414 fprintf(stderr, "Assert failed");
70415 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26516);
70416 nit_exit(1);
70417 }
70418 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
70419 /* ./parser//parser.nit:26518 */
70420 if (UNTAG_Bool(REGB0)) {
70421 } else {
70422 fprintf(stderr, "Assert failed");
70423 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26518);
70424 nit_exit(1);
70425 }
70426 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
70427 /* ./parser//parser.nit:26520 */
70428 if (UNTAG_Bool(REGB0)) {
70429 fra.me.REG[5] = fra.me.REG[3];
70430 /* ./parser//parser.nit:26521 */
70431 } else {
70432 /* ./parser//parser.nit:26523 */
70433 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
70434 }
70435 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
70436 /* ./parser//parser.nit:26527 */
70437 if (UNTAG_Bool(REGB0)) {
70438 } else {
70439 fprintf(stderr, "Assert failed");
70440 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26527);
70441 nit_exit(1);
70442 }
70443 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
70444 /* ./parser//parser.nit:26529 */
70445 if (UNTAG_Bool(REGB0)) {
70446 fra.me.REG[6] = fra.me.REG[2];
70447 /* ./parser//parser.nit:26530 */
70448 } else {
70449 /* ./parser//parser.nit:26532 */
70450 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
70451 }
70452 fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
70453 fra.me.REG[0] = fra.me.REG[6];
70454 REGB0 = TAG_Int(46);
70455 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
70456 /* ./parser//parser.nit:26542 */
70457 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
70458 stack_frame_head = fra.me.prev;
70459 return;
70460 }
70461 void parser___ReduceAction623___init(val_t p0, int* init_table){
70462 int itpos627 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction623].i;
70463 struct {struct stack_frame_t me;} fra;
70464 val_t tmp;
70465 if (init_table[itpos627]) return;
70466 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70467 fra.me.file = LOCATE_parser;
70468 fra.me.line = 26544;
70469 fra.me.meth = LOCATE_parser___ReduceAction623___init;
70470 fra.me.has_broke = 0;
70471 fra.me.REG_size = 1;
70472 fra.me.REG[0] = NIT_NULL;
70473 fra.me.REG[0] = p0;
70474 /* ./parser//parser.nit:26544 */
70475 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
70476 stack_frame_head = fra.me.prev;
70477 init_table[itpos627] = 1;
70478 return;
70479 }
70480 void parser___ReduceAction624___action(val_t p0, val_t p1){
70481 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
70482 val_t REGB0;
70483 val_t tmp;
70484 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70485 fra.me.file = LOCATE_parser;
70486 fra.me.line = 26548;
70487 fra.me.meth = LOCATE_parser___ReduceAction624___action;
70488 fra.me.has_broke = 0;
70489 fra.me.REG_size = 7;
70490 fra.me.REG[0] = NIT_NULL;
70491 fra.me.REG[1] = NIT_NULL;
70492 fra.me.REG[2] = NIT_NULL;
70493 fra.me.REG[3] = NIT_NULL;
70494 fra.me.REG[4] = NIT_NULL;
70495 fra.me.REG[5] = NIT_NULL;
70496 fra.me.REG[6] = NIT_NULL;
70497 fra.me.REG[0] = p0;
70498 fra.me.REG[1] = p1;
70499 fra.me.REG[0] = NIT_NULL;
70500 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70501 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70502 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70503 fra.me.REG[5] = NEW_Array_array___Array___init();
70504 fra.me.REG[6] = NEW_Array_array___Array___init();
70505 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
70506 /* ./parser//parser.nit:26557 */
70507 if (UNTAG_Bool(REGB0)) {
70508 } else {
70509 fprintf(stderr, "Assert failed");
70510 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26557);
70511 nit_exit(1);
70512 }
70513 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
70514 /* ./parser//parser.nit:26559 */
70515 if (UNTAG_Bool(REGB0)) {
70516 } else {
70517 fprintf(stderr, "Assert failed");
70518 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26559);
70519 nit_exit(1);
70520 }
70521 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
70522 /* ./parser//parser.nit:26561 */
70523 if (UNTAG_Bool(REGB0)) {
70524 fra.me.REG[5] = fra.me.REG[3];
70525 /* ./parser//parser.nit:26562 */
70526 } else {
70527 /* ./parser//parser.nit:26564 */
70528 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
70529 }
70530 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
70531 /* ./parser//parser.nit:26568 */
70532 if (UNTAG_Bool(REGB0)) {
70533 } else {
70534 fprintf(stderr, "Assert failed");
70535 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26568);
70536 nit_exit(1);
70537 }
70538 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
70539 /* ./parser//parser.nit:26570 */
70540 if (UNTAG_Bool(REGB0)) {
70541 fra.me.REG[6] = fra.me.REG[2];
70542 /* ./parser//parser.nit:26571 */
70543 } else {
70544 /* ./parser//parser.nit:26573 */
70545 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
70546 }
70547 fra.me.REG[6] = NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
70548 fra.me.REG[0] = fra.me.REG[6];
70549 REGB0 = TAG_Int(46);
70550 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
70551 /* ./parser//parser.nit:26582 */
70552 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
70553 stack_frame_head = fra.me.prev;
70554 return;
70555 }
70556 void parser___ReduceAction624___init(val_t p0, int* init_table){
70557 int itpos628 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction624].i;
70558 struct {struct stack_frame_t me;} fra;
70559 val_t tmp;
70560 if (init_table[itpos628]) return;
70561 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70562 fra.me.file = LOCATE_parser;
70563 fra.me.line = 26584;
70564 fra.me.meth = LOCATE_parser___ReduceAction624___init;
70565 fra.me.has_broke = 0;
70566 fra.me.REG_size = 1;
70567 fra.me.REG[0] = NIT_NULL;
70568 fra.me.REG[0] = p0;
70569 /* ./parser//parser.nit:26584 */
70570 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
70571 stack_frame_head = fra.me.prev;
70572 init_table[itpos628] = 1;
70573 return;
70574 }
70575 void parser___ReduceAction625___action(val_t p0, val_t p1){
70576 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
70577 val_t REGB0;
70578 val_t tmp;
70579 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70580 fra.me.file = LOCATE_parser;
70581 fra.me.line = 26588;
70582 fra.me.meth = LOCATE_parser___ReduceAction625___action;
70583 fra.me.has_broke = 0;
70584 fra.me.REG_size = 3;
70585 fra.me.REG[0] = NIT_NULL;
70586 fra.me.REG[1] = NIT_NULL;
70587 fra.me.REG[2] = NIT_NULL;
70588 fra.me.REG[0] = p0;
70589 fra.me.REG[1] = p1;
70590 fra.me.REG[0] = NIT_NULL;
70591 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70592 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
70593 /* ./parser//parser.nit:26593 */
70594 if (UNTAG_Bool(REGB0)) {
70595 } else {
70596 fprintf(stderr, "Assert failed");
70597 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26593);
70598 nit_exit(1);
70599 }
70600 fra.me.REG[0] = fra.me.REG[2];
70601 REGB0 = TAG_Int(47);
70602 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
70603 /* ./parser//parser.nit:26595 */
70604 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
70605 stack_frame_head = fra.me.prev;
70606 return;
70607 }
70608 void parser___ReduceAction625___init(val_t p0, int* init_table){
70609 int itpos629 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction625].i;
70610 struct {struct stack_frame_t me;} fra;
70611 val_t tmp;
70612 if (init_table[itpos629]) return;
70613 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70614 fra.me.file = LOCATE_parser;
70615 fra.me.line = 26597;
70616 fra.me.meth = LOCATE_parser___ReduceAction625___init;
70617 fra.me.has_broke = 0;
70618 fra.me.REG_size = 1;
70619 fra.me.REG[0] = NIT_NULL;
70620 fra.me.REG[0] = p0;
70621 /* ./parser//parser.nit:26597 */
70622 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
70623 stack_frame_head = fra.me.prev;
70624 init_table[itpos629] = 1;
70625 return;
70626 }
70627 void parser___ReduceAction626___action(val_t p0, val_t p1){
70628 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
70629 val_t REGB0;
70630 val_t tmp;
70631 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70632 fra.me.file = LOCATE_parser;
70633 fra.me.line = 26601;
70634 fra.me.meth = LOCATE_parser___ReduceAction626___action;
70635 fra.me.has_broke = 0;
70636 fra.me.REG_size = 8;
70637 fra.me.REG[0] = NIT_NULL;
70638 fra.me.REG[1] = NIT_NULL;
70639 fra.me.REG[2] = NIT_NULL;
70640 fra.me.REG[3] = NIT_NULL;
70641 fra.me.REG[4] = NIT_NULL;
70642 fra.me.REG[5] = NIT_NULL;
70643 fra.me.REG[6] = NIT_NULL;
70644 fra.me.REG[7] = NIT_NULL;
70645 fra.me.REG[0] = p0;
70646 fra.me.REG[1] = p1;
70647 fra.me.REG[0] = NIT_NULL;
70648 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70649 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70650 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70651 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70652 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70653 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70654 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70655 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70656 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70657 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70658 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70659 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/;
70660 /* ./parser//parser.nit:26616 */
70661 if (UNTAG_Bool(REGB0)) {
70662 } else {
70663 fprintf(stderr, "Assert failed");
70664 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26616);
70665 nit_exit(1);
70666 }
70667 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
70668 /* ./parser//parser.nit:26618 */
70669 if (UNTAG_Bool(REGB0)) {
70670 } else {
70671 fprintf(stderr, "Assert failed");
70672 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26618);
70673 nit_exit(1);
70674 }
70675 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwthen, ID_TKwthen)) /*cast nullable TKwthen*/;
70676 /* ./parser//parser.nit:26620 */
70677 if (UNTAG_Bool(REGB0)) {
70678 } else {
70679 fprintf(stderr, "Assert failed");
70680 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26620);
70681 nit_exit(1);
70682 }
70683 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
70684 /* ./parser//parser.nit:26622 */
70685 if (UNTAG_Bool(REGB0)) {
70686 } else {
70687 fprintf(stderr, "Assert failed");
70688 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26622);
70689 nit_exit(1);
70690 }
70691 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwelse, ID_TKwelse)) /*cast nullable TKwelse*/;
70692 /* ./parser//parser.nit:26624 */
70693 if (UNTAG_Bool(REGB0)) {
70694 } else {
70695 fprintf(stderr, "Assert failed");
70696 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26624);
70697 nit_exit(1);
70698 }
70699 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
70700 /* ./parser//parser.nit:26626 */
70701 if (UNTAG_Bool(REGB0)) {
70702 } else {
70703 fprintf(stderr, "Assert failed");
70704 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26626);
70705 nit_exit(1);
70706 }
70707 fra.me.REG[2] = NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
70708 fra.me.REG[0] = fra.me.REG[2];
70709 REGB0 = TAG_Int(47);
70710 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
70711 /* ./parser//parser.nit:26636 */
70712 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
70713 stack_frame_head = fra.me.prev;
70714 return;
70715 }
70716 void parser___ReduceAction626___init(val_t p0, int* init_table){
70717 int itpos630 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction626].i;
70718 struct {struct stack_frame_t me;} fra;
70719 val_t tmp;
70720 if (init_table[itpos630]) return;
70721 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70722 fra.me.file = LOCATE_parser;
70723 fra.me.line = 26638;
70724 fra.me.meth = LOCATE_parser___ReduceAction626___init;
70725 fra.me.has_broke = 0;
70726 fra.me.REG_size = 1;
70727 fra.me.REG[0] = NIT_NULL;
70728 fra.me.REG[0] = p0;
70729 /* ./parser//parser.nit:26638 */
70730 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
70731 stack_frame_head = fra.me.prev;
70732 init_table[itpos630] = 1;
70733 return;
70734 }
70735 void parser___ReduceAction627___action(val_t p0, val_t p1){
70736 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
70737 val_t REGB0;
70738 val_t tmp;
70739 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70740 fra.me.file = LOCATE_parser;
70741 fra.me.line = 26642;
70742 fra.me.meth = LOCATE_parser___ReduceAction627___action;
70743 fra.me.has_broke = 0;
70744 fra.me.REG_size = 3;
70745 fra.me.REG[0] = NIT_NULL;
70746 fra.me.REG[1] = NIT_NULL;
70747 fra.me.REG[2] = NIT_NULL;
70748 fra.me.REG[0] = p0;
70749 fra.me.REG[1] = p1;
70750 fra.me.REG[0] = NIT_NULL;
70751 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70752 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
70753 /* ./parser//parser.nit:26647 */
70754 if (UNTAG_Bool(REGB0)) {
70755 } else {
70756 fprintf(stderr, "Assert failed");
70757 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26647);
70758 nit_exit(1);
70759 }
70760 fra.me.REG[0] = fra.me.REG[2];
70761 REGB0 = TAG_Int(48);
70762 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
70763 /* ./parser//parser.nit:26649 */
70764 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
70765 stack_frame_head = fra.me.prev;
70766 return;
70767 }
70768 void parser___ReduceAction627___init(val_t p0, int* init_table){
70769 int itpos631 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction627].i;
70770 struct {struct stack_frame_t me;} fra;
70771 val_t tmp;
70772 if (init_table[itpos631]) return;
70773 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70774 fra.me.file = LOCATE_parser;
70775 fra.me.line = 26651;
70776 fra.me.meth = LOCATE_parser___ReduceAction627___init;
70777 fra.me.has_broke = 0;
70778 fra.me.REG_size = 1;
70779 fra.me.REG[0] = NIT_NULL;
70780 fra.me.REG[0] = p0;
70781 /* ./parser//parser.nit:26651 */
70782 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
70783 stack_frame_head = fra.me.prev;
70784 init_table[itpos631] = 1;
70785 return;
70786 }
70787 void parser___ReduceAction628___action(val_t p0, val_t p1){
70788 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
70789 val_t REGB0;
70790 val_t tmp;
70791 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70792 fra.me.file = LOCATE_parser;
70793 fra.me.line = 26655;
70794 fra.me.meth = LOCATE_parser___ReduceAction628___action;
70795 fra.me.has_broke = 0;
70796 fra.me.REG_size = 4;
70797 fra.me.REG[0] = NIT_NULL;
70798 fra.me.REG[1] = NIT_NULL;
70799 fra.me.REG[2] = NIT_NULL;
70800 fra.me.REG[3] = NIT_NULL;
70801 fra.me.REG[0] = p0;
70802 fra.me.REG[1] = p1;
70803 fra.me.REG[0] = NIT_NULL;
70804 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70805 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70806 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70807 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70808 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
70809 /* ./parser//parser.nit:26663 */
70810 if (UNTAG_Bool(REGB0)) {
70811 } else {
70812 fprintf(stderr, "Assert failed");
70813 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26663);
70814 nit_exit(1);
70815 }
70816 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
70817 /* ./parser//parser.nit:26665 */
70818 if (UNTAG_Bool(REGB0)) {
70819 } else {
70820 fprintf(stderr, "Assert failed");
70821 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26665);
70822 nit_exit(1);
70823 }
70824 fra.me.REG[2] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr(fra.me.REG[3], fra.me.REG[2]);
70825 fra.me.REG[0] = fra.me.REG[2];
70826 REGB0 = TAG_Int(48);
70827 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
70828 /* ./parser//parser.nit:26671 */
70829 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
70830 stack_frame_head = fra.me.prev;
70831 return;
70832 }
70833 void parser___ReduceAction628___init(val_t p0, int* init_table){
70834 int itpos632 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction628].i;
70835 struct {struct stack_frame_t me;} fra;
70836 val_t tmp;
70837 if (init_table[itpos632]) return;
70838 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70839 fra.me.file = LOCATE_parser;
70840 fra.me.line = 26673;
70841 fra.me.meth = LOCATE_parser___ReduceAction628___init;
70842 fra.me.has_broke = 0;
70843 fra.me.REG_size = 1;
70844 fra.me.REG[0] = NIT_NULL;
70845 fra.me.REG[0] = p0;
70846 /* ./parser//parser.nit:26673 */
70847 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
70848 stack_frame_head = fra.me.prev;
70849 init_table[itpos632] = 1;
70850 return;
70851 }
70852 void parser___ReduceAction629___action(val_t p0, val_t p1){
70853 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
70854 val_t REGB0;
70855 val_t tmp;
70856 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70857 fra.me.file = LOCATE_parser;
70858 fra.me.line = 26677;
70859 fra.me.meth = LOCATE_parser___ReduceAction629___action;
70860 fra.me.has_broke = 0;
70861 fra.me.REG_size = 4;
70862 fra.me.REG[0] = NIT_NULL;
70863 fra.me.REG[1] = NIT_NULL;
70864 fra.me.REG[2] = NIT_NULL;
70865 fra.me.REG[3] = NIT_NULL;
70866 fra.me.REG[0] = p0;
70867 fra.me.REG[1] = p1;
70868 fra.me.REG[0] = NIT_NULL;
70869 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70870 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70871 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70872 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70873 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
70874 /* ./parser//parser.nit:26685 */
70875 if (UNTAG_Bool(REGB0)) {
70876 } else {
70877 fprintf(stderr, "Assert failed");
70878 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26685);
70879 nit_exit(1);
70880 }
70881 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
70882 /* ./parser//parser.nit:26687 */
70883 if (UNTAG_Bool(REGB0)) {
70884 } else {
70885 fprintf(stderr, "Assert failed");
70886 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26687);
70887 nit_exit(1);
70888 }
70889 fra.me.REG[2] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr(fra.me.REG[3], fra.me.REG[2]);
70890 fra.me.REG[0] = fra.me.REG[2];
70891 REGB0 = TAG_Int(48);
70892 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
70893 /* ./parser//parser.nit:26693 */
70894 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
70895 stack_frame_head = fra.me.prev;
70896 return;
70897 }
70898 void parser___ReduceAction629___init(val_t p0, int* init_table){
70899 int itpos633 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction629].i;
70900 struct {struct stack_frame_t me;} fra;
70901 val_t tmp;
70902 if (init_table[itpos633]) return;
70903 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70904 fra.me.file = LOCATE_parser;
70905 fra.me.line = 26695;
70906 fra.me.meth = LOCATE_parser___ReduceAction629___init;
70907 fra.me.has_broke = 0;
70908 fra.me.REG_size = 1;
70909 fra.me.REG[0] = NIT_NULL;
70910 fra.me.REG[0] = p0;
70911 /* ./parser//parser.nit:26695 */
70912 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
70913 stack_frame_head = fra.me.prev;
70914 init_table[itpos633] = 1;
70915 return;
70916 }
70917 void parser___ReduceAction630___action(val_t p0, val_t p1){
70918 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
70919 val_t REGB0;
70920 val_t tmp;
70921 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70922 fra.me.file = LOCATE_parser;
70923 fra.me.line = 26699;
70924 fra.me.meth = LOCATE_parser___ReduceAction630___action;
70925 fra.me.has_broke = 0;
70926 fra.me.REG_size = 3;
70927 fra.me.REG[0] = NIT_NULL;
70928 fra.me.REG[1] = NIT_NULL;
70929 fra.me.REG[2] = NIT_NULL;
70930 fra.me.REG[0] = p0;
70931 fra.me.REG[1] = p1;
70932 fra.me.REG[0] = NIT_NULL;
70933 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70934 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
70935 /* ./parser//parser.nit:26704 */
70936 if (UNTAG_Bool(REGB0)) {
70937 } else {
70938 fprintf(stderr, "Assert failed");
70939 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26704);
70940 nit_exit(1);
70941 }
70942 fra.me.REG[0] = fra.me.REG[2];
70943 REGB0 = TAG_Int(49);
70944 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
70945 /* ./parser//parser.nit:26706 */
70946 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
70947 stack_frame_head = fra.me.prev;
70948 return;
70949 }
70950 void parser___ReduceAction630___init(val_t p0, int* init_table){
70951 int itpos634 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction630].i;
70952 struct {struct stack_frame_t me;} fra;
70953 val_t tmp;
70954 if (init_table[itpos634]) return;
70955 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70956 fra.me.file = LOCATE_parser;
70957 fra.me.line = 26708;
70958 fra.me.meth = LOCATE_parser___ReduceAction630___init;
70959 fra.me.has_broke = 0;
70960 fra.me.REG_size = 1;
70961 fra.me.REG[0] = NIT_NULL;
70962 fra.me.REG[0] = p0;
70963 /* ./parser//parser.nit:26708 */
70964 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
70965 stack_frame_head = fra.me.prev;
70966 init_table[itpos634] = 1;
70967 return;
70968 }
70969 void parser___ReduceAction631___action(val_t p0, val_t p1){
70970 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
70971 val_t REGB0;
70972 val_t tmp;
70973 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70974 fra.me.file = LOCATE_parser;
70975 fra.me.line = 26712;
70976 fra.me.meth = LOCATE_parser___ReduceAction631___action;
70977 fra.me.has_broke = 0;
70978 fra.me.REG_size = 4;
70979 fra.me.REG[0] = NIT_NULL;
70980 fra.me.REG[1] = NIT_NULL;
70981 fra.me.REG[2] = NIT_NULL;
70982 fra.me.REG[3] = NIT_NULL;
70983 fra.me.REG[0] = p0;
70984 fra.me.REG[1] = p1;
70985 fra.me.REG[0] = NIT_NULL;
70986 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70987 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70988 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
70989 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnot, ID_TKwnot)) /*cast nullable TKwnot*/;
70990 /* ./parser//parser.nit:26719 */
70991 if (UNTAG_Bool(REGB0)) {
70992 } else {
70993 fprintf(stderr, "Assert failed");
70994 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26719);
70995 nit_exit(1);
70996 }
70997 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
70998 /* ./parser//parser.nit:26721 */
70999 if (UNTAG_Bool(REGB0)) {
71000 } else {
71001 fprintf(stderr, "Assert failed");
71002 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26721);
71003 nit_exit(1);
71004 }
71005 fra.me.REG[2] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr(fra.me.REG[3], fra.me.REG[2]);
71006 fra.me.REG[0] = fra.me.REG[2];
71007 REGB0 = TAG_Int(49);
71008 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
71009 /* ./parser//parser.nit:26727 */
71010 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
71011 stack_frame_head = fra.me.prev;
71012 return;
71013 }
71014 void parser___ReduceAction631___init(val_t p0, int* init_table){
71015 int itpos635 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction631].i;
71016 struct {struct stack_frame_t me;} fra;
71017 val_t tmp;
71018 if (init_table[itpos635]) return;
71019 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71020 fra.me.file = LOCATE_parser;
71021 fra.me.line = 26729;
71022 fra.me.meth = LOCATE_parser___ReduceAction631___init;
71023 fra.me.has_broke = 0;
71024 fra.me.REG_size = 1;
71025 fra.me.REG[0] = NIT_NULL;
71026 fra.me.REG[0] = p0;
71027 /* ./parser//parser.nit:26729 */
71028 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
71029 stack_frame_head = fra.me.prev;
71030 init_table[itpos635] = 1;
71031 return;
71032 }
71033 void parser___ReduceAction632___action(val_t p0, val_t p1){
71034 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
71035 val_t REGB0;
71036 val_t tmp;
71037 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71038 fra.me.file = LOCATE_parser;
71039 fra.me.line = 26733;
71040 fra.me.meth = LOCATE_parser___ReduceAction632___action;
71041 fra.me.has_broke = 0;
71042 fra.me.REG_size = 3;
71043 fra.me.REG[0] = NIT_NULL;
71044 fra.me.REG[1] = NIT_NULL;
71045 fra.me.REG[2] = NIT_NULL;
71046 fra.me.REG[0] = p0;
71047 fra.me.REG[1] = p1;
71048 fra.me.REG[0] = NIT_NULL;
71049 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71050 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71051 /* ./parser//parser.nit:26738 */
71052 if (UNTAG_Bool(REGB0)) {
71053 } else {
71054 fprintf(stderr, "Assert failed");
71055 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26738);
71056 nit_exit(1);
71057 }
71058 fra.me.REG[0] = fra.me.REG[2];
71059 REGB0 = TAG_Int(50);
71060 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
71061 /* ./parser//parser.nit:26740 */
71062 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
71063 stack_frame_head = fra.me.prev;
71064 return;
71065 }
71066 void parser___ReduceAction632___init(val_t p0, int* init_table){
71067 int itpos636 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction632].i;
71068 struct {struct stack_frame_t me;} fra;
71069 val_t tmp;
71070 if (init_table[itpos636]) return;
71071 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71072 fra.me.file = LOCATE_parser;
71073 fra.me.line = 26742;
71074 fra.me.meth = LOCATE_parser___ReduceAction632___init;
71075 fra.me.has_broke = 0;
71076 fra.me.REG_size = 1;
71077 fra.me.REG[0] = NIT_NULL;
71078 fra.me.REG[0] = p0;
71079 /* ./parser//parser.nit:26742 */
71080 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
71081 stack_frame_head = fra.me.prev;
71082 init_table[itpos636] = 1;
71083 return;
71084 }
71085 void parser___ReduceAction633___action(val_t p0, val_t p1){
71086 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
71087 val_t REGB0;
71088 val_t tmp;
71089 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71090 fra.me.file = LOCATE_parser;
71091 fra.me.line = 26746;
71092 fra.me.meth = LOCATE_parser___ReduceAction633___action;
71093 fra.me.has_broke = 0;
71094 fra.me.REG_size = 4;
71095 fra.me.REG[0] = NIT_NULL;
71096 fra.me.REG[1] = NIT_NULL;
71097 fra.me.REG[2] = NIT_NULL;
71098 fra.me.REG[3] = NIT_NULL;
71099 fra.me.REG[0] = p0;
71100 fra.me.REG[1] = p1;
71101 fra.me.REG[0] = NIT_NULL;
71102 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71103 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71104 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71105 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71106 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71107 /* ./parser//parser.nit:26754 */
71108 if (UNTAG_Bool(REGB0)) {
71109 } else {
71110 fprintf(stderr, "Assert failed");
71111 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26754);
71112 nit_exit(1);
71113 }
71114 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71115 /* ./parser//parser.nit:26756 */
71116 if (UNTAG_Bool(REGB0)) {
71117 } else {
71118 fprintf(stderr, "Assert failed");
71119 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26756);
71120 nit_exit(1);
71121 }
71122 fra.me.REG[2] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr(fra.me.REG[3], fra.me.REG[2]);
71123 fra.me.REG[0] = fra.me.REG[2];
71124 REGB0 = TAG_Int(50);
71125 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
71126 /* ./parser//parser.nit:26762 */
71127 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
71128 stack_frame_head = fra.me.prev;
71129 return;
71130 }
71131 void parser___ReduceAction633___init(val_t p0, int* init_table){
71132 int itpos637 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction633].i;
71133 struct {struct stack_frame_t me;} fra;
71134 val_t tmp;
71135 if (init_table[itpos637]) return;
71136 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71137 fra.me.file = LOCATE_parser;
71138 fra.me.line = 26764;
71139 fra.me.meth = LOCATE_parser___ReduceAction633___init;
71140 fra.me.has_broke = 0;
71141 fra.me.REG_size = 1;
71142 fra.me.REG[0] = NIT_NULL;
71143 fra.me.REG[0] = p0;
71144 /* ./parser//parser.nit:26764 */
71145 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
71146 stack_frame_head = fra.me.prev;
71147 init_table[itpos637] = 1;
71148 return;
71149 }
71150 void parser___ReduceAction634___action(val_t p0, val_t p1){
71151 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
71152 val_t REGB0;
71153 val_t tmp;
71154 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71155 fra.me.file = LOCATE_parser;
71156 fra.me.line = 26768;
71157 fra.me.meth = LOCATE_parser___ReduceAction634___action;
71158 fra.me.has_broke = 0;
71159 fra.me.REG_size = 4;
71160 fra.me.REG[0] = NIT_NULL;
71161 fra.me.REG[1] = NIT_NULL;
71162 fra.me.REG[2] = NIT_NULL;
71163 fra.me.REG[3] = NIT_NULL;
71164 fra.me.REG[0] = p0;
71165 fra.me.REG[1] = p1;
71166 fra.me.REG[0] = NIT_NULL;
71167 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71168 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71169 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71170 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71171 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71172 /* ./parser//parser.nit:26776 */
71173 if (UNTAG_Bool(REGB0)) {
71174 } else {
71175 fprintf(stderr, "Assert failed");
71176 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26776);
71177 nit_exit(1);
71178 }
71179 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71180 /* ./parser//parser.nit:26778 */
71181 if (UNTAG_Bool(REGB0)) {
71182 } else {
71183 fprintf(stderr, "Assert failed");
71184 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26778);
71185 nit_exit(1);
71186 }
71187 fra.me.REG[2] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr(fra.me.REG[3], fra.me.REG[2]);
71188 fra.me.REG[0] = fra.me.REG[2];
71189 REGB0 = TAG_Int(50);
71190 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
71191 /* ./parser//parser.nit:26784 */
71192 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
71193 stack_frame_head = fra.me.prev;
71194 return;
71195 }
71196 void parser___ReduceAction634___init(val_t p0, int* init_table){
71197 int itpos638 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction634].i;
71198 struct {struct stack_frame_t me;} fra;
71199 val_t tmp;
71200 if (init_table[itpos638]) return;
71201 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71202 fra.me.file = LOCATE_parser;
71203 fra.me.line = 26786;
71204 fra.me.meth = LOCATE_parser___ReduceAction634___init;
71205 fra.me.has_broke = 0;
71206 fra.me.REG_size = 1;
71207 fra.me.REG[0] = NIT_NULL;
71208 fra.me.REG[0] = p0;
71209 /* ./parser//parser.nit:26786 */
71210 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
71211 stack_frame_head = fra.me.prev;
71212 init_table[itpos638] = 1;
71213 return;
71214 }
71215 void parser___ReduceAction635___action(val_t p0, val_t p1){
71216 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
71217 val_t REGB0;
71218 val_t tmp;
71219 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71220 fra.me.file = LOCATE_parser;
71221 fra.me.line = 26790;
71222 fra.me.meth = LOCATE_parser___ReduceAction635___action;
71223 fra.me.has_broke = 0;
71224 fra.me.REG_size = 4;
71225 fra.me.REG[0] = NIT_NULL;
71226 fra.me.REG[1] = NIT_NULL;
71227 fra.me.REG[2] = NIT_NULL;
71228 fra.me.REG[3] = NIT_NULL;
71229 fra.me.REG[0] = p0;
71230 fra.me.REG[1] = p1;
71231 fra.me.REG[0] = NIT_NULL;
71232 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71233 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71234 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71235 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71236 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71237 /* ./parser//parser.nit:26798 */
71238 if (UNTAG_Bool(REGB0)) {
71239 } else {
71240 fprintf(stderr, "Assert failed");
71241 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26798);
71242 nit_exit(1);
71243 }
71244 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71245 /* ./parser//parser.nit:26800 */
71246 if (UNTAG_Bool(REGB0)) {
71247 } else {
71248 fprintf(stderr, "Assert failed");
71249 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26800);
71250 nit_exit(1);
71251 }
71252 fra.me.REG[2] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr(fra.me.REG[3], fra.me.REG[2]);
71253 fra.me.REG[0] = fra.me.REG[2];
71254 REGB0 = TAG_Int(50);
71255 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
71256 /* ./parser//parser.nit:26806 */
71257 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
71258 stack_frame_head = fra.me.prev;
71259 return;
71260 }
71261 void parser___ReduceAction635___init(val_t p0, int* init_table){
71262 int itpos639 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction635].i;
71263 struct {struct stack_frame_t me;} fra;
71264 val_t tmp;
71265 if (init_table[itpos639]) return;
71266 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71267 fra.me.file = LOCATE_parser;
71268 fra.me.line = 26808;
71269 fra.me.meth = LOCATE_parser___ReduceAction635___init;
71270 fra.me.has_broke = 0;
71271 fra.me.REG_size = 1;
71272 fra.me.REG[0] = NIT_NULL;
71273 fra.me.REG[0] = p0;
71274 /* ./parser//parser.nit:26808 */
71275 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
71276 stack_frame_head = fra.me.prev;
71277 init_table[itpos639] = 1;
71278 return;
71279 }
71280 void parser___ReduceAction636___action(val_t p0, val_t p1){
71281 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
71282 val_t REGB0;
71283 val_t tmp;
71284 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71285 fra.me.file = LOCATE_parser;
71286 fra.me.line = 26812;
71287 fra.me.meth = LOCATE_parser___ReduceAction636___action;
71288 fra.me.has_broke = 0;
71289 fra.me.REG_size = 4;
71290 fra.me.REG[0] = NIT_NULL;
71291 fra.me.REG[1] = NIT_NULL;
71292 fra.me.REG[2] = NIT_NULL;
71293 fra.me.REG[3] = NIT_NULL;
71294 fra.me.REG[0] = p0;
71295 fra.me.REG[1] = p1;
71296 fra.me.REG[0] = NIT_NULL;
71297 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71298 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71299 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71300 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71301 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71302 /* ./parser//parser.nit:26820 */
71303 if (UNTAG_Bool(REGB0)) {
71304 } else {
71305 fprintf(stderr, "Assert failed");
71306 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26820);
71307 nit_exit(1);
71308 }
71309 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71310 /* ./parser//parser.nit:26822 */
71311 if (UNTAG_Bool(REGB0)) {
71312 } else {
71313 fprintf(stderr, "Assert failed");
71314 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26822);
71315 nit_exit(1);
71316 }
71317 fra.me.REG[2] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr(fra.me.REG[3], fra.me.REG[2]);
71318 fra.me.REG[0] = fra.me.REG[2];
71319 REGB0 = TAG_Int(50);
71320 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
71321 /* ./parser//parser.nit:26828 */
71322 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
71323 stack_frame_head = fra.me.prev;
71324 return;
71325 }
71326 void parser___ReduceAction636___init(val_t p0, int* init_table){
71327 int itpos640 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction636].i;
71328 struct {struct stack_frame_t me;} fra;
71329 val_t tmp;
71330 if (init_table[itpos640]) return;
71331 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71332 fra.me.file = LOCATE_parser;
71333 fra.me.line = 26830;
71334 fra.me.meth = LOCATE_parser___ReduceAction636___init;
71335 fra.me.has_broke = 0;
71336 fra.me.REG_size = 1;
71337 fra.me.REG[0] = NIT_NULL;
71338 fra.me.REG[0] = p0;
71339 /* ./parser//parser.nit:26830 */
71340 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
71341 stack_frame_head = fra.me.prev;
71342 init_table[itpos640] = 1;
71343 return;
71344 }
71345 void parser___ReduceAction637___action(val_t p0, val_t p1){
71346 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
71347 val_t REGB0;
71348 val_t tmp;
71349 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71350 fra.me.file = LOCATE_parser;
71351 fra.me.line = 26834;
71352 fra.me.meth = LOCATE_parser___ReduceAction637___action;
71353 fra.me.has_broke = 0;
71354 fra.me.REG_size = 4;
71355 fra.me.REG[0] = NIT_NULL;
71356 fra.me.REG[1] = NIT_NULL;
71357 fra.me.REG[2] = NIT_NULL;
71358 fra.me.REG[3] = NIT_NULL;
71359 fra.me.REG[0] = p0;
71360 fra.me.REG[1] = p1;
71361 fra.me.REG[0] = NIT_NULL;
71362 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71363 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71364 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71365 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71366 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71367 /* ./parser//parser.nit:26842 */
71368 if (UNTAG_Bool(REGB0)) {
71369 } else {
71370 fprintf(stderr, "Assert failed");
71371 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26842);
71372 nit_exit(1);
71373 }
71374 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71375 /* ./parser//parser.nit:26844 */
71376 if (UNTAG_Bool(REGB0)) {
71377 } else {
71378 fprintf(stderr, "Assert failed");
71379 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26844);
71380 nit_exit(1);
71381 }
71382 fra.me.REG[2] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr(fra.me.REG[3], fra.me.REG[2]);
71383 fra.me.REG[0] = fra.me.REG[2];
71384 REGB0 = TAG_Int(50);
71385 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
71386 /* ./parser//parser.nit:26850 */
71387 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
71388 stack_frame_head = fra.me.prev;
71389 return;
71390 }
71391 void parser___ReduceAction637___init(val_t p0, int* init_table){
71392 int itpos641 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction637].i;
71393 struct {struct stack_frame_t me;} fra;
71394 val_t tmp;
71395 if (init_table[itpos641]) return;
71396 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71397 fra.me.file = LOCATE_parser;
71398 fra.me.line = 26852;
71399 fra.me.meth = LOCATE_parser___ReduceAction637___init;
71400 fra.me.has_broke = 0;
71401 fra.me.REG_size = 1;
71402 fra.me.REG[0] = NIT_NULL;
71403 fra.me.REG[0] = p0;
71404 /* ./parser//parser.nit:26852 */
71405 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
71406 stack_frame_head = fra.me.prev;
71407 init_table[itpos641] = 1;
71408 return;
71409 }
71410 void parser___ReduceAction638___action(val_t p0, val_t p1){
71411 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
71412 val_t REGB0;
71413 val_t tmp;
71414 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71415 fra.me.file = LOCATE_parser;
71416 fra.me.line = 26856;
71417 fra.me.meth = LOCATE_parser___ReduceAction638___action;
71418 fra.me.has_broke = 0;
71419 fra.me.REG_size = 4;
71420 fra.me.REG[0] = NIT_NULL;
71421 fra.me.REG[1] = NIT_NULL;
71422 fra.me.REG[2] = NIT_NULL;
71423 fra.me.REG[3] = NIT_NULL;
71424 fra.me.REG[0] = p0;
71425 fra.me.REG[1] = p1;
71426 fra.me.REG[0] = NIT_NULL;
71427 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71428 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71429 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71430 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71431 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71432 /* ./parser//parser.nit:26864 */
71433 if (UNTAG_Bool(REGB0)) {
71434 } else {
71435 fprintf(stderr, "Assert failed");
71436 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26864);
71437 nit_exit(1);
71438 }
71439 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71440 /* ./parser//parser.nit:26866 */
71441 if (UNTAG_Bool(REGB0)) {
71442 } else {
71443 fprintf(stderr, "Assert failed");
71444 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26866);
71445 nit_exit(1);
71446 }
71447 fra.me.REG[2] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr(fra.me.REG[3], fra.me.REG[2]);
71448 fra.me.REG[0] = fra.me.REG[2];
71449 REGB0 = TAG_Int(50);
71450 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
71451 /* ./parser//parser.nit:26872 */
71452 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
71453 stack_frame_head = fra.me.prev;
71454 return;
71455 }
71456 void parser___ReduceAction638___init(val_t p0, int* init_table){
71457 int itpos642 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction638].i;
71458 struct {struct stack_frame_t me;} fra;
71459 val_t tmp;
71460 if (init_table[itpos642]) return;
71461 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71462 fra.me.file = LOCATE_parser;
71463 fra.me.line = 26874;
71464 fra.me.meth = LOCATE_parser___ReduceAction638___init;
71465 fra.me.has_broke = 0;
71466 fra.me.REG_size = 1;
71467 fra.me.REG[0] = NIT_NULL;
71468 fra.me.REG[0] = p0;
71469 /* ./parser//parser.nit:26874 */
71470 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
71471 stack_frame_head = fra.me.prev;
71472 init_table[itpos642] = 1;
71473 return;
71474 }
71475 void parser___ReduceAction639___action(val_t p0, val_t p1){
71476 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
71477 val_t REGB0;
71478 val_t tmp;
71479 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71480 fra.me.file = LOCATE_parser;
71481 fra.me.line = 26878;
71482 fra.me.meth = LOCATE_parser___ReduceAction639___action;
71483 fra.me.has_broke = 0;
71484 fra.me.REG_size = 4;
71485 fra.me.REG[0] = NIT_NULL;
71486 fra.me.REG[1] = NIT_NULL;
71487 fra.me.REG[2] = NIT_NULL;
71488 fra.me.REG[3] = NIT_NULL;
71489 fra.me.REG[0] = p0;
71490 fra.me.REG[1] = p1;
71491 fra.me.REG[0] = NIT_NULL;
71492 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71493 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71494 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71495 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71496 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71497 /* ./parser//parser.nit:26886 */
71498 if (UNTAG_Bool(REGB0)) {
71499 } else {
71500 fprintf(stderr, "Assert failed");
71501 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26886);
71502 nit_exit(1);
71503 }
71504 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71505 /* ./parser//parser.nit:26888 */
71506 if (UNTAG_Bool(REGB0)) {
71507 } else {
71508 fprintf(stderr, "Assert failed");
71509 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26888);
71510 nit_exit(1);
71511 }
71512 fra.me.REG[2] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr(fra.me.REG[3], fra.me.REG[2]);
71513 fra.me.REG[0] = fra.me.REG[2];
71514 REGB0 = TAG_Int(50);
71515 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
71516 /* ./parser//parser.nit:26894 */
71517 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
71518 stack_frame_head = fra.me.prev;
71519 return;
71520 }
71521 void parser___ReduceAction639___init(val_t p0, int* init_table){
71522 int itpos643 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction639].i;
71523 struct {struct stack_frame_t me;} fra;
71524 val_t tmp;
71525 if (init_table[itpos643]) return;
71526 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71527 fra.me.file = LOCATE_parser;
71528 fra.me.line = 26896;
71529 fra.me.meth = LOCATE_parser___ReduceAction639___init;
71530 fra.me.has_broke = 0;
71531 fra.me.REG_size = 1;
71532 fra.me.REG[0] = NIT_NULL;
71533 fra.me.REG[0] = p0;
71534 /* ./parser//parser.nit:26896 */
71535 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
71536 stack_frame_head = fra.me.prev;
71537 init_table[itpos643] = 1;
71538 return;
71539 }
71540 void parser___ReduceAction640___action(val_t p0, val_t p1){
71541 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
71542 val_t REGB0;
71543 val_t tmp;
71544 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71545 fra.me.file = LOCATE_parser;
71546 fra.me.line = 26900;
71547 fra.me.meth = LOCATE_parser___ReduceAction640___action;
71548 fra.me.has_broke = 0;
71549 fra.me.REG_size = 4;
71550 fra.me.REG[0] = NIT_NULL;
71551 fra.me.REG[1] = NIT_NULL;
71552 fra.me.REG[2] = NIT_NULL;
71553 fra.me.REG[3] = NIT_NULL;
71554 fra.me.REG[0] = p0;
71555 fra.me.REG[1] = p1;
71556 fra.me.REG[0] = NIT_NULL;
71557 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71558 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71559 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71560 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71561 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71562 /* ./parser//parser.nit:26908 */
71563 if (UNTAG_Bool(REGB0)) {
71564 } else {
71565 fprintf(stderr, "Assert failed");
71566 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26908);
71567 nit_exit(1);
71568 }
71569 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71570 /* ./parser//parser.nit:26910 */
71571 if (UNTAG_Bool(REGB0)) {
71572 } else {
71573 fprintf(stderr, "Assert failed");
71574 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26910);
71575 nit_exit(1);
71576 }
71577 fra.me.REG[2] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr(fra.me.REG[3], fra.me.REG[2]);
71578 fra.me.REG[0] = fra.me.REG[2];
71579 REGB0 = TAG_Int(50);
71580 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
71581 /* ./parser//parser.nit:26916 */
71582 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
71583 stack_frame_head = fra.me.prev;
71584 return;
71585 }
71586 void parser___ReduceAction640___init(val_t p0, int* init_table){
71587 int itpos644 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction640].i;
71588 struct {struct stack_frame_t me;} fra;
71589 val_t tmp;
71590 if (init_table[itpos644]) return;
71591 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71592 fra.me.file = LOCATE_parser;
71593 fra.me.line = 26918;
71594 fra.me.meth = LOCATE_parser___ReduceAction640___init;
71595 fra.me.has_broke = 0;
71596 fra.me.REG_size = 1;
71597 fra.me.REG[0] = NIT_NULL;
71598 fra.me.REG[0] = p0;
71599 /* ./parser//parser.nit:26918 */
71600 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
71601 stack_frame_head = fra.me.prev;
71602 init_table[itpos644] = 1;
71603 return;
71604 }
71605 void parser___ReduceAction641___action(val_t p0, val_t p1){
71606 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
71607 val_t REGB0;
71608 val_t tmp;
71609 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71610 fra.me.file = LOCATE_parser;
71611 fra.me.line = 26922;
71612 fra.me.meth = LOCATE_parser___ReduceAction641___action;
71613 fra.me.has_broke = 0;
71614 fra.me.REG_size = 4;
71615 fra.me.REG[0] = NIT_NULL;
71616 fra.me.REG[1] = NIT_NULL;
71617 fra.me.REG[2] = NIT_NULL;
71618 fra.me.REG[3] = NIT_NULL;
71619 fra.me.REG[0] = p0;
71620 fra.me.REG[1] = p1;
71621 fra.me.REG[0] = NIT_NULL;
71622 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71623 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71624 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71625 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71626 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71627 /* ./parser//parser.nit:26930 */
71628 if (UNTAG_Bool(REGB0)) {
71629 } else {
71630 fprintf(stderr, "Assert failed");
71631 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26930);
71632 nit_exit(1);
71633 }
71634 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
71635 /* ./parser//parser.nit:26932 */
71636 if (UNTAG_Bool(REGB0)) {
71637 } else {
71638 fprintf(stderr, "Assert failed");
71639 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26932);
71640 nit_exit(1);
71641 }
71642 fra.me.REG[2] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr(fra.me.REG[3], fra.me.REG[2]);
71643 fra.me.REG[0] = fra.me.REG[2];
71644 REGB0 = TAG_Int(50);
71645 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
71646 /* ./parser//parser.nit:26938 */
71647 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
71648 stack_frame_head = fra.me.prev;
71649 return;
71650 }
71651 void parser___ReduceAction641___init(val_t p0, int* init_table){
71652 int itpos645 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction641].i;
71653 struct {struct stack_frame_t me;} fra;
71654 val_t tmp;
71655 if (init_table[itpos645]) return;
71656 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71657 fra.me.file = LOCATE_parser;
71658 fra.me.line = 26940;
71659 fra.me.meth = LOCATE_parser___ReduceAction641___init;
71660 fra.me.has_broke = 0;
71661 fra.me.REG_size = 1;
71662 fra.me.REG[0] = NIT_NULL;
71663 fra.me.REG[0] = p0;
71664 /* ./parser//parser.nit:26940 */
71665 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
71666 stack_frame_head = fra.me.prev;
71667 init_table[itpos645] = 1;
71668 return;
71669 }
71670 void parser___ReduceAction642___action(val_t p0, val_t p1){
71671 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
71672 val_t REGB0;
71673 val_t tmp;
71674 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71675 fra.me.file = LOCATE_parser;
71676 fra.me.line = 26944;
71677 fra.me.meth = LOCATE_parser___ReduceAction642___action;
71678 fra.me.has_broke = 0;
71679 fra.me.REG_size = 3;
71680 fra.me.REG[0] = NIT_NULL;
71681 fra.me.REG[1] = NIT_NULL;
71682 fra.me.REG[2] = NIT_NULL;
71683 fra.me.REG[0] = p0;
71684 fra.me.REG[1] = p1;
71685 fra.me.REG[0] = NIT_NULL;
71686 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71687 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71688 /* ./parser//parser.nit:26949 */
71689 if (UNTAG_Bool(REGB0)) {
71690 } else {
71691 fprintf(stderr, "Assert failed");
71692 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26949);
71693 nit_exit(1);
71694 }
71695 fra.me.REG[0] = fra.me.REG[2];
71696 REGB0 = TAG_Int(51);
71697 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
71698 /* ./parser//parser.nit:26951 */
71699 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
71700 stack_frame_head = fra.me.prev;
71701 return;
71702 }
71703 void parser___ReduceAction642___init(val_t p0, int* init_table){
71704 int itpos646 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction642].i;
71705 struct {struct stack_frame_t me;} fra;
71706 val_t tmp;
71707 if (init_table[itpos646]) return;
71708 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71709 fra.me.file = LOCATE_parser;
71710 fra.me.line = 26953;
71711 fra.me.meth = LOCATE_parser___ReduceAction642___init;
71712 fra.me.has_broke = 0;
71713 fra.me.REG_size = 1;
71714 fra.me.REG[0] = NIT_NULL;
71715 fra.me.REG[0] = p0;
71716 /* ./parser//parser.nit:26953 */
71717 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
71718 stack_frame_head = fra.me.prev;
71719 init_table[itpos646] = 1;
71720 return;
71721 }
71722 void parser___ReduceAction643___action(val_t p0, val_t p1){
71723 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
71724 val_t REGB0;
71725 val_t tmp;
71726 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71727 fra.me.file = LOCATE_parser;
71728 fra.me.line = 26957;
71729 fra.me.meth = LOCATE_parser___ReduceAction643___action;
71730 fra.me.has_broke = 0;
71731 fra.me.REG_size = 4;
71732 fra.me.REG[0] = NIT_NULL;
71733 fra.me.REG[1] = NIT_NULL;
71734 fra.me.REG[2] = NIT_NULL;
71735 fra.me.REG[3] = NIT_NULL;
71736 fra.me.REG[0] = p0;
71737 fra.me.REG[1] = p1;
71738 fra.me.REG[0] = NIT_NULL;
71739 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71740 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71741 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71742 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71743 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71744 /* ./parser//parser.nit:26965 */
71745 if (UNTAG_Bool(REGB0)) {
71746 } else {
71747 fprintf(stderr, "Assert failed");
71748 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26965);
71749 nit_exit(1);
71750 }
71751 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71752 /* ./parser//parser.nit:26967 */
71753 if (UNTAG_Bool(REGB0)) {
71754 } else {
71755 fprintf(stderr, "Assert failed");
71756 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26967);
71757 nit_exit(1);
71758 }
71759 fra.me.REG[2] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr(fra.me.REG[3], fra.me.REG[2]);
71760 fra.me.REG[0] = fra.me.REG[2];
71761 REGB0 = TAG_Int(51);
71762 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
71763 /* ./parser//parser.nit:26973 */
71764 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
71765 stack_frame_head = fra.me.prev;
71766 return;
71767 }
71768 void parser___ReduceAction643___init(val_t p0, int* init_table){
71769 int itpos647 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction643].i;
71770 struct {struct stack_frame_t me;} fra;
71771 val_t tmp;
71772 if (init_table[itpos647]) return;
71773 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71774 fra.me.file = LOCATE_parser;
71775 fra.me.line = 26975;
71776 fra.me.meth = LOCATE_parser___ReduceAction643___init;
71777 fra.me.has_broke = 0;
71778 fra.me.REG_size = 1;
71779 fra.me.REG[0] = NIT_NULL;
71780 fra.me.REG[0] = p0;
71781 /* ./parser//parser.nit:26975 */
71782 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
71783 stack_frame_head = fra.me.prev;
71784 init_table[itpos647] = 1;
71785 return;
71786 }
71787 void parser___ReduceAction644___action(val_t p0, val_t p1){
71788 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
71789 val_t REGB0;
71790 val_t tmp;
71791 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71792 fra.me.file = LOCATE_parser;
71793 fra.me.line = 26979;
71794 fra.me.meth = LOCATE_parser___ReduceAction644___action;
71795 fra.me.has_broke = 0;
71796 fra.me.REG_size = 4;
71797 fra.me.REG[0] = NIT_NULL;
71798 fra.me.REG[1] = NIT_NULL;
71799 fra.me.REG[2] = NIT_NULL;
71800 fra.me.REG[3] = NIT_NULL;
71801 fra.me.REG[0] = p0;
71802 fra.me.REG[1] = p1;
71803 fra.me.REG[0] = NIT_NULL;
71804 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71805 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71806 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71807 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71808 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71809 /* ./parser//parser.nit:26987 */
71810 if (UNTAG_Bool(REGB0)) {
71811 } else {
71812 fprintf(stderr, "Assert failed");
71813 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26987);
71814 nit_exit(1);
71815 }
71816 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71817 /* ./parser//parser.nit:26989 */
71818 if (UNTAG_Bool(REGB0)) {
71819 } else {
71820 fprintf(stderr, "Assert failed");
71821 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26989);
71822 nit_exit(1);
71823 }
71824 fra.me.REG[2] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr(fra.me.REG[3], fra.me.REG[2]);
71825 fra.me.REG[0] = fra.me.REG[2];
71826 REGB0 = TAG_Int(51);
71827 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
71828 /* ./parser//parser.nit:26995 */
71829 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
71830 stack_frame_head = fra.me.prev;
71831 return;
71832 }
71833 void parser___ReduceAction644___init(val_t p0, int* init_table){
71834 int itpos648 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction644].i;
71835 struct {struct stack_frame_t me;} fra;
71836 val_t tmp;
71837 if (init_table[itpos648]) return;
71838 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71839 fra.me.file = LOCATE_parser;
71840 fra.me.line = 26997;
71841 fra.me.meth = LOCATE_parser___ReduceAction644___init;
71842 fra.me.has_broke = 0;
71843 fra.me.REG_size = 1;
71844 fra.me.REG[0] = NIT_NULL;
71845 fra.me.REG[0] = p0;
71846 /* ./parser//parser.nit:26997 */
71847 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
71848 stack_frame_head = fra.me.prev;
71849 init_table[itpos648] = 1;
71850 return;
71851 }
71852 void parser___ReduceAction645___action(val_t p0, val_t p1){
71853 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
71854 val_t REGB0;
71855 val_t tmp;
71856 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71857 fra.me.file = LOCATE_parser;
71858 fra.me.line = 27001;
71859 fra.me.meth = LOCATE_parser___ReduceAction645___action;
71860 fra.me.has_broke = 0;
71861 fra.me.REG_size = 3;
71862 fra.me.REG[0] = NIT_NULL;
71863 fra.me.REG[1] = NIT_NULL;
71864 fra.me.REG[2] = NIT_NULL;
71865 fra.me.REG[0] = p0;
71866 fra.me.REG[1] = p1;
71867 fra.me.REG[0] = NIT_NULL;
71868 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71869 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71870 /* ./parser//parser.nit:27006 */
71871 if (UNTAG_Bool(REGB0)) {
71872 } else {
71873 fprintf(stderr, "Assert failed");
71874 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27006);
71875 nit_exit(1);
71876 }
71877 fra.me.REG[0] = fra.me.REG[2];
71878 REGB0 = TAG_Int(52);
71879 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
71880 /* ./parser//parser.nit:27008 */
71881 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
71882 stack_frame_head = fra.me.prev;
71883 return;
71884 }
71885 void parser___ReduceAction645___init(val_t p0, int* init_table){
71886 int itpos649 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction645].i;
71887 struct {struct stack_frame_t me;} fra;
71888 val_t tmp;
71889 if (init_table[itpos649]) return;
71890 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71891 fra.me.file = LOCATE_parser;
71892 fra.me.line = 27010;
71893 fra.me.meth = LOCATE_parser___ReduceAction645___init;
71894 fra.me.has_broke = 0;
71895 fra.me.REG_size = 1;
71896 fra.me.REG[0] = NIT_NULL;
71897 fra.me.REG[0] = p0;
71898 /* ./parser//parser.nit:27010 */
71899 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
71900 stack_frame_head = fra.me.prev;
71901 init_table[itpos649] = 1;
71902 return;
71903 }
71904 void parser___ReduceAction646___action(val_t p0, val_t p1){
71905 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
71906 val_t REGB0;
71907 val_t tmp;
71908 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71909 fra.me.file = LOCATE_parser;
71910 fra.me.line = 27014;
71911 fra.me.meth = LOCATE_parser___ReduceAction646___action;
71912 fra.me.has_broke = 0;
71913 fra.me.REG_size = 4;
71914 fra.me.REG[0] = NIT_NULL;
71915 fra.me.REG[1] = NIT_NULL;
71916 fra.me.REG[2] = NIT_NULL;
71917 fra.me.REG[3] = NIT_NULL;
71918 fra.me.REG[0] = p0;
71919 fra.me.REG[1] = p1;
71920 fra.me.REG[0] = NIT_NULL;
71921 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71922 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71923 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71924 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71925 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71926 /* ./parser//parser.nit:27022 */
71927 if (UNTAG_Bool(REGB0)) {
71928 } else {
71929 fprintf(stderr, "Assert failed");
71930 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27022);
71931 nit_exit(1);
71932 }
71933 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71934 /* ./parser//parser.nit:27024 */
71935 if (UNTAG_Bool(REGB0)) {
71936 } else {
71937 fprintf(stderr, "Assert failed");
71938 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27024);
71939 nit_exit(1);
71940 }
71941 fra.me.REG[2] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr(fra.me.REG[3], fra.me.REG[2]);
71942 fra.me.REG[0] = fra.me.REG[2];
71943 REGB0 = TAG_Int(52);
71944 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
71945 /* ./parser//parser.nit:27030 */
71946 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
71947 stack_frame_head = fra.me.prev;
71948 return;
71949 }
71950 void parser___ReduceAction646___init(val_t p0, int* init_table){
71951 int itpos650 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction646].i;
71952 struct {struct stack_frame_t me;} fra;
71953 val_t tmp;
71954 if (init_table[itpos650]) return;
71955 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71956 fra.me.file = LOCATE_parser;
71957 fra.me.line = 27032;
71958 fra.me.meth = LOCATE_parser___ReduceAction646___init;
71959 fra.me.has_broke = 0;
71960 fra.me.REG_size = 1;
71961 fra.me.REG[0] = NIT_NULL;
71962 fra.me.REG[0] = p0;
71963 /* ./parser//parser.nit:27032 */
71964 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
71965 stack_frame_head = fra.me.prev;
71966 init_table[itpos650] = 1;
71967 return;
71968 }
71969 void parser___ReduceAction647___action(val_t p0, val_t p1){
71970 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
71971 val_t REGB0;
71972 val_t tmp;
71973 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71974 fra.me.file = LOCATE_parser;
71975 fra.me.line = 27036;
71976 fra.me.meth = LOCATE_parser___ReduceAction647___action;
71977 fra.me.has_broke = 0;
71978 fra.me.REG_size = 4;
71979 fra.me.REG[0] = NIT_NULL;
71980 fra.me.REG[1] = NIT_NULL;
71981 fra.me.REG[2] = NIT_NULL;
71982 fra.me.REG[3] = NIT_NULL;
71983 fra.me.REG[0] = p0;
71984 fra.me.REG[1] = p1;
71985 fra.me.REG[0] = NIT_NULL;
71986 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71987 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71988 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71989 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
71990 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71991 /* ./parser//parser.nit:27044 */
71992 if (UNTAG_Bool(REGB0)) {
71993 } else {
71994 fprintf(stderr, "Assert failed");
71995 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27044);
71996 nit_exit(1);
71997 }
71998 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
71999 /* ./parser//parser.nit:27046 */
72000 if (UNTAG_Bool(REGB0)) {
72001 } else {
72002 fprintf(stderr, "Assert failed");
72003 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27046);
72004 nit_exit(1);
72005 }
72006 fra.me.REG[2] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr(fra.me.REG[3], fra.me.REG[2]);
72007 fra.me.REG[0] = fra.me.REG[2];
72008 REGB0 = TAG_Int(52);
72009 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
72010 /* ./parser//parser.nit:27052 */
72011 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
72012 stack_frame_head = fra.me.prev;
72013 return;
72014 }
72015 void parser___ReduceAction647___init(val_t p0, int* init_table){
72016 int itpos651 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction647].i;
72017 struct {struct stack_frame_t me;} fra;
72018 val_t tmp;
72019 if (init_table[itpos651]) return;
72020 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72021 fra.me.file = LOCATE_parser;
72022 fra.me.line = 27054;
72023 fra.me.meth = LOCATE_parser___ReduceAction647___init;
72024 fra.me.has_broke = 0;
72025 fra.me.REG_size = 1;
72026 fra.me.REG[0] = NIT_NULL;
72027 fra.me.REG[0] = p0;
72028 /* ./parser//parser.nit:27054 */
72029 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
72030 stack_frame_head = fra.me.prev;
72031 init_table[itpos651] = 1;
72032 return;
72033 }
72034 void parser___ReduceAction648___action(val_t p0, val_t p1){
72035 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
72036 val_t REGB0;
72037 val_t tmp;
72038 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72039 fra.me.file = LOCATE_parser;
72040 fra.me.line = 27058;
72041 fra.me.meth = LOCATE_parser___ReduceAction648___action;
72042 fra.me.has_broke = 0;
72043 fra.me.REG_size = 4;
72044 fra.me.REG[0] = NIT_NULL;
72045 fra.me.REG[1] = NIT_NULL;
72046 fra.me.REG[2] = NIT_NULL;
72047 fra.me.REG[3] = NIT_NULL;
72048 fra.me.REG[0] = p0;
72049 fra.me.REG[1] = p1;
72050 fra.me.REG[0] = NIT_NULL;
72051 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72052 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72053 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72054 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72055 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
72056 /* ./parser//parser.nit:27066 */
72057 if (UNTAG_Bool(REGB0)) {
72058 } else {
72059 fprintf(stderr, "Assert failed");
72060 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27066);
72061 nit_exit(1);
72062 }
72063 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
72064 /* ./parser//parser.nit:27068 */
72065 if (UNTAG_Bool(REGB0)) {
72066 } else {
72067 fprintf(stderr, "Assert failed");
72068 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27068);
72069 nit_exit(1);
72070 }
72071 fra.me.REG[2] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr(fra.me.REG[3], fra.me.REG[2]);
72072 fra.me.REG[0] = fra.me.REG[2];
72073 REGB0 = TAG_Int(52);
72074 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
72075 /* ./parser//parser.nit:27074 */
72076 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
72077 stack_frame_head = fra.me.prev;
72078 return;
72079 }
72080 void parser___ReduceAction648___init(val_t p0, int* init_table){
72081 int itpos652 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction648].i;
72082 struct {struct stack_frame_t me;} fra;
72083 val_t tmp;
72084 if (init_table[itpos652]) return;
72085 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72086 fra.me.file = LOCATE_parser;
72087 fra.me.line = 27076;
72088 fra.me.meth = LOCATE_parser___ReduceAction648___init;
72089 fra.me.has_broke = 0;
72090 fra.me.REG_size = 1;
72091 fra.me.REG[0] = NIT_NULL;
72092 fra.me.REG[0] = p0;
72093 /* ./parser//parser.nit:27076 */
72094 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
72095 stack_frame_head = fra.me.prev;
72096 init_table[itpos652] = 1;
72097 return;
72098 }
72099 void parser___ReduceAction649___action(val_t p0, val_t p1){
72100 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
72101 val_t REGB0;
72102 val_t tmp;
72103 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72104 fra.me.file = LOCATE_parser;
72105 fra.me.line = 27080;
72106 fra.me.meth = LOCATE_parser___ReduceAction649___action;
72107 fra.me.has_broke = 0;
72108 fra.me.REG_size = 3;
72109 fra.me.REG[0] = NIT_NULL;
72110 fra.me.REG[1] = NIT_NULL;
72111 fra.me.REG[2] = NIT_NULL;
72112 fra.me.REG[0] = p0;
72113 fra.me.REG[1] = p1;
72114 fra.me.REG[0] = NIT_NULL;
72115 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72116 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
72117 /* ./parser//parser.nit:27085 */
72118 if (UNTAG_Bool(REGB0)) {
72119 } else {
72120 fprintf(stderr, "Assert failed");
72121 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27085);
72122 nit_exit(1);
72123 }
72124 fra.me.REG[0] = fra.me.REG[2];
72125 REGB0 = TAG_Int(53);
72126 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
72127 /* ./parser//parser.nit:27087 */
72128 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
72129 stack_frame_head = fra.me.prev;
72130 return;
72131 }
72132 void parser___ReduceAction649___init(val_t p0, int* init_table){
72133 int itpos653 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction649].i;
72134 struct {struct stack_frame_t me;} fra;
72135 val_t tmp;
72136 if (init_table[itpos653]) return;
72137 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72138 fra.me.file = LOCATE_parser;
72139 fra.me.line = 27089;
72140 fra.me.meth = LOCATE_parser___ReduceAction649___init;
72141 fra.me.has_broke = 0;
72142 fra.me.REG_size = 1;
72143 fra.me.REG[0] = NIT_NULL;
72144 fra.me.REG[0] = p0;
72145 /* ./parser//parser.nit:27089 */
72146 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
72147 stack_frame_head = fra.me.prev;
72148 init_table[itpos653] = 1;
72149 return;
72150 }
72151 void parser___ReduceAction650___action(val_t p0, val_t p1){
72152 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
72153 val_t REGB0;
72154 val_t tmp;
72155 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72156 fra.me.file = LOCATE_parser;
72157 fra.me.line = 27093;
72158 fra.me.meth = LOCATE_parser___ReduceAction650___action;
72159 fra.me.has_broke = 0;
72160 fra.me.REG_size = 4;
72161 fra.me.REG[0] = NIT_NULL;
72162 fra.me.REG[1] = NIT_NULL;
72163 fra.me.REG[2] = NIT_NULL;
72164 fra.me.REG[3] = NIT_NULL;
72165 fra.me.REG[0] = p0;
72166 fra.me.REG[1] = p1;
72167 fra.me.REG[0] = NIT_NULL;
72168 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72169 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72170 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72171 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
72172 /* ./parser//parser.nit:27100 */
72173 if (UNTAG_Bool(REGB0)) {
72174 } else {
72175 fprintf(stderr, "Assert failed");
72176 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27100);
72177 nit_exit(1);
72178 }
72179 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
72180 /* ./parser//parser.nit:27102 */
72181 if (UNTAG_Bool(REGB0)) {
72182 } else {
72183 fprintf(stderr, "Assert failed");
72184 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27102);
72185 nit_exit(1);
72186 }
72187 fra.me.REG[2] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr(fra.me.REG[3], fra.me.REG[2]);
72188 fra.me.REG[0] = fra.me.REG[2];
72189 REGB0 = TAG_Int(53);
72190 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
72191 /* ./parser//parser.nit:27108 */
72192 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
72193 stack_frame_head = fra.me.prev;
72194 return;
72195 }
72196 void parser___ReduceAction650___init(val_t p0, int* init_table){
72197 int itpos654 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction650].i;
72198 struct {struct stack_frame_t me;} fra;
72199 val_t tmp;
72200 if (init_table[itpos654]) return;
72201 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72202 fra.me.file = LOCATE_parser;
72203 fra.me.line = 27110;
72204 fra.me.meth = LOCATE_parser___ReduceAction650___init;
72205 fra.me.has_broke = 0;
72206 fra.me.REG_size = 1;
72207 fra.me.REG[0] = NIT_NULL;
72208 fra.me.REG[0] = p0;
72209 /* ./parser//parser.nit:27110 */
72210 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
72211 stack_frame_head = fra.me.prev;
72212 init_table[itpos654] = 1;
72213 return;
72214 }
72215 void parser___ReduceAction651___action(val_t p0, val_t p1){
72216 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
72217 val_t REGB0;
72218 val_t tmp;
72219 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72220 fra.me.file = LOCATE_parser;
72221 fra.me.line = 27114;
72222 fra.me.meth = LOCATE_parser___ReduceAction651___action;
72223 fra.me.has_broke = 0;
72224 fra.me.REG_size = 4;
72225 fra.me.REG[0] = NIT_NULL;
72226 fra.me.REG[1] = NIT_NULL;
72227 fra.me.REG[2] = NIT_NULL;
72228 fra.me.REG[3] = NIT_NULL;
72229 fra.me.REG[0] = p0;
72230 fra.me.REG[1] = p1;
72231 fra.me.REG[0] = NIT_NULL;
72232 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72233 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72234 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72235 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwonce, ID_TKwonce)) /*cast nullable TKwonce*/;
72236 /* ./parser//parser.nit:27121 */
72237 if (UNTAG_Bool(REGB0)) {
72238 } else {
72239 fprintf(stderr, "Assert failed");
72240 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27121);
72241 nit_exit(1);
72242 }
72243 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
72244 /* ./parser//parser.nit:27123 */
72245 if (UNTAG_Bool(REGB0)) {
72246 } else {
72247 fprintf(stderr, "Assert failed");
72248 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27123);
72249 nit_exit(1);
72250 }
72251 fra.me.REG[2] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr(fra.me.REG[3], fra.me.REG[2]);
72252 fra.me.REG[0] = fra.me.REG[2];
72253 REGB0 = TAG_Int(53);
72254 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
72255 /* ./parser//parser.nit:27129 */
72256 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
72257 stack_frame_head = fra.me.prev;
72258 return;
72259 }
72260 void parser___ReduceAction651___init(val_t p0, int* init_table){
72261 int itpos655 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction651].i;
72262 struct {struct stack_frame_t me;} fra;
72263 val_t tmp;
72264 if (init_table[itpos655]) return;
72265 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72266 fra.me.file = LOCATE_parser;
72267 fra.me.line = 27131;
72268 fra.me.meth = LOCATE_parser___ReduceAction651___init;
72269 fra.me.has_broke = 0;
72270 fra.me.REG_size = 1;
72271 fra.me.REG[0] = NIT_NULL;
72272 fra.me.REG[0] = p0;
72273 /* ./parser//parser.nit:27131 */
72274 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
72275 stack_frame_head = fra.me.prev;
72276 init_table[itpos655] = 1;
72277 return;
72278 }
72279 void parser___ReduceAction652___action(val_t p0, val_t p1){
72280 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
72281 val_t REGB0;
72282 val_t tmp;
72283 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72284 fra.me.file = LOCATE_parser;
72285 fra.me.line = 27135;
72286 fra.me.meth = LOCATE_parser___ReduceAction652___action;
72287 fra.me.has_broke = 0;
72288 fra.me.REG_size = 3;
72289 fra.me.REG[0] = NIT_NULL;
72290 fra.me.REG[1] = NIT_NULL;
72291 fra.me.REG[2] = NIT_NULL;
72292 fra.me.REG[0] = p0;
72293 fra.me.REG[1] = p1;
72294 fra.me.REG[0] = NIT_NULL;
72295 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72296 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
72297 /* ./parser//parser.nit:27140 */
72298 if (UNTAG_Bool(REGB0)) {
72299 } else {
72300 fprintf(stderr, "Assert failed");
72301 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27140);
72302 nit_exit(1);
72303 }
72304 fra.me.REG[0] = fra.me.REG[2];
72305 REGB0 = TAG_Int(54);
72306 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
72307 /* ./parser//parser.nit:27142 */
72308 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
72309 stack_frame_head = fra.me.prev;
72310 return;
72311 }
72312 void parser___ReduceAction652___init(val_t p0, int* init_table){
72313 int itpos656 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction652].i;
72314 struct {struct stack_frame_t me;} fra;
72315 val_t tmp;
72316 if (init_table[itpos656]) return;
72317 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72318 fra.me.file = LOCATE_parser;
72319 fra.me.line = 27144;
72320 fra.me.meth = LOCATE_parser___ReduceAction652___init;
72321 fra.me.has_broke = 0;
72322 fra.me.REG_size = 1;
72323 fra.me.REG[0] = NIT_NULL;
72324 fra.me.REG[0] = p0;
72325 /* ./parser//parser.nit:27144 */
72326 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
72327 stack_frame_head = fra.me.prev;
72328 init_table[itpos656] = 1;
72329 return;
72330 }
72331 void parser___ReduceAction653___action(val_t p0, val_t p1){
72332 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
72333 val_t REGB0;
72334 val_t tmp;
72335 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72336 fra.me.file = LOCATE_parser;
72337 fra.me.line = 27148;
72338 fra.me.meth = LOCATE_parser___ReduceAction653___action;
72339 fra.me.has_broke = 0;
72340 fra.me.REG_size = 6;
72341 fra.me.REG[0] = NIT_NULL;
72342 fra.me.REG[1] = NIT_NULL;
72343 fra.me.REG[2] = NIT_NULL;
72344 fra.me.REG[3] = NIT_NULL;
72345 fra.me.REG[4] = NIT_NULL;
72346 fra.me.REG[5] = NIT_NULL;
72347 fra.me.REG[0] = p0;
72348 fra.me.REG[1] = p1;
72349 fra.me.REG[0] = NIT_NULL;
72350 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72351 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72352 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72353 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72354 fra.me.REG[5] = NEW_Array_array___Array___init();
72355 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwnew, ID_TKwnew)) /*cast nullable TKwnew*/;
72356 /* ./parser//parser.nit:27157 */
72357 if (UNTAG_Bool(REGB0)) {
72358 } else {
72359 fprintf(stderr, "Assert failed");
72360 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27157);
72361 nit_exit(1);
72362 }
72363 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
72364 /* ./parser//parser.nit:27159 */
72365 if (UNTAG_Bool(REGB0)) {
72366 } else {
72367 fprintf(stderr, "Assert failed");
72368 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27159);
72369 nit_exit(1);
72370 }
72371 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
72372 /* ./parser//parser.nit:27161 */
72373 if (UNTAG_Bool(REGB0)) {
72374 } else {
72375 fprintf(stderr, "Assert failed");
72376 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27161);
72377 nit_exit(1);
72378 }
72379 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
72380 /* ./parser//parser.nit:27163 */
72381 if (UNTAG_Bool(REGB0)) {
72382 fra.me.REG[5] = fra.me.REG[2];
72383 /* ./parser//parser.nit:27164 */
72384 } else {
72385 /* ./parser//parser.nit:27166 */
72386 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
72387 }
72388 fra.me.REG[5] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[5]);
72389 fra.me.REG[0] = fra.me.REG[5];
72390 REGB0 = TAG_Int(54);
72391 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
72392 /* ./parser//parser.nit:27176 */
72393 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
72394 stack_frame_head = fra.me.prev;
72395 return;
72396 }
72397 void parser___ReduceAction653___init(val_t p0, int* init_table){
72398 int itpos657 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction653].i;
72399 struct {struct stack_frame_t me;} fra;
72400 val_t tmp;
72401 if (init_table[itpos657]) return;
72402 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72403 fra.me.file = LOCATE_parser;
72404 fra.me.line = 27178;
72405 fra.me.meth = LOCATE_parser___ReduceAction653___init;
72406 fra.me.has_broke = 0;
72407 fra.me.REG_size = 1;
72408 fra.me.REG[0] = NIT_NULL;
72409 fra.me.REG[0] = p0;
72410 /* ./parser//parser.nit:27178 */
72411 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
72412 stack_frame_head = fra.me.prev;
72413 init_table[itpos657] = 1;
72414 return;
72415 }
72416 void parser___ReduceAction654___action(val_t p0, val_t p1){
72417 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
72418 val_t REGB0;
72419 val_t tmp;
72420 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72421 fra.me.file = LOCATE_parser;
72422 fra.me.line = 27182;
72423 fra.me.meth = LOCATE_parser___ReduceAction654___action;
72424 fra.me.has_broke = 0;
72425 fra.me.REG_size = 5;
72426 fra.me.REG[0] = NIT_NULL;
72427 fra.me.REG[1] = NIT_NULL;
72428 fra.me.REG[2] = NIT_NULL;
72429 fra.me.REG[3] = NIT_NULL;
72430 fra.me.REG[4] = NIT_NULL;
72431 fra.me.REG[0] = p0;
72432 fra.me.REG[1] = p1;
72433 fra.me.REG[0] = NIT_NULL;
72434 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72435 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72436 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72437 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72438 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72439 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwisset, ID_TKwisset)) /*cast nullable TKwisset*/;
72440 /* ./parser//parser.nit:27191 */
72441 if (UNTAG_Bool(REGB0)) {
72442 } else {
72443 fprintf(stderr, "Assert failed");
72444 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27191);
72445 nit_exit(1);
72446 }
72447 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
72448 /* ./parser//parser.nit:27193 */
72449 if (UNTAG_Bool(REGB0)) {
72450 } else {
72451 fprintf(stderr, "Assert failed");
72452 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27193);
72453 nit_exit(1);
72454 }
72455 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
72456 /* ./parser//parser.nit:27195 */
72457 if (UNTAG_Bool(REGB0)) {
72458 } else {
72459 fprintf(stderr, "Assert failed");
72460 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27195);
72461 nit_exit(1);
72462 }
72463 fra.me.REG[2] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
72464 fra.me.REG[0] = fra.me.REG[2];
72465 REGB0 = TAG_Int(54);
72466 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
72467 /* ./parser//parser.nit:27202 */
72468 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
72469 stack_frame_head = fra.me.prev;
72470 return;
72471 }
72472 void parser___ReduceAction654___init(val_t p0, int* init_table){
72473 int itpos658 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction654].i;
72474 struct {struct stack_frame_t me;} fra;
72475 val_t tmp;
72476 if (init_table[itpos658]) return;
72477 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72478 fra.me.file = LOCATE_parser;
72479 fra.me.line = 27204;
72480 fra.me.meth = LOCATE_parser___ReduceAction654___init;
72481 fra.me.has_broke = 0;
72482 fra.me.REG_size = 1;
72483 fra.me.REG[0] = NIT_NULL;
72484 fra.me.REG[0] = p0;
72485 /* ./parser//parser.nit:27204 */
72486 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
72487 stack_frame_head = fra.me.prev;
72488 init_table[itpos658] = 1;
72489 return;
72490 }
72491 void parser___ReduceAction655___action(val_t p0, val_t p1){
72492 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
72493 val_t REGB0;
72494 val_t tmp;
72495 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72496 fra.me.file = LOCATE_parser;
72497 fra.me.line = 27208;
72498 fra.me.meth = LOCATE_parser___ReduceAction655___action;
72499 fra.me.has_broke = 0;
72500 fra.me.REG_size = 5;
72501 fra.me.REG[0] = NIT_NULL;
72502 fra.me.REG[1] = NIT_NULL;
72503 fra.me.REG[2] = NIT_NULL;
72504 fra.me.REG[3] = NIT_NULL;
72505 fra.me.REG[4] = NIT_NULL;
72506 fra.me.REG[0] = p0;
72507 fra.me.REG[1] = p1;
72508 fra.me.REG[0] = NIT_NULL;
72509 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72510 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72511 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwisset, ID_TKwisset)) /*cast nullable TKwisset*/;
72512 /* ./parser//parser.nit:27214 */
72513 if (UNTAG_Bool(REGB0)) {
72514 } else {
72515 fprintf(stderr, "Assert failed");
72516 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27214);
72517 nit_exit(1);
72518 }
72519 fra.me.REG[4] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
72520 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
72521 /* ./parser//parser.nit:27218 */
72522 if (UNTAG_Bool(REGB0)) {
72523 } else {
72524 fprintf(stderr, "Assert failed");
72525 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27218);
72526 nit_exit(1);
72527 }
72528 fra.me.REG[2] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]);
72529 fra.me.REG[0] = fra.me.REG[2];
72530 REGB0 = TAG_Int(54);
72531 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
72532 /* ./parser//parser.nit:27225 */
72533 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
72534 stack_frame_head = fra.me.prev;
72535 return;
72536 }
72537 void parser___ReduceAction655___init(val_t p0, int* init_table){
72538 int itpos659 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction655].i;
72539 struct {struct stack_frame_t me;} fra;
72540 val_t tmp;
72541 if (init_table[itpos659]) return;
72542 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72543 fra.me.file = LOCATE_parser;
72544 fra.me.line = 27227;
72545 fra.me.meth = LOCATE_parser___ReduceAction655___init;
72546 fra.me.has_broke = 0;
72547 fra.me.REG_size = 1;
72548 fra.me.REG[0] = NIT_NULL;
72549 fra.me.REG[0] = p0;
72550 /* ./parser//parser.nit:27227 */
72551 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
72552 stack_frame_head = fra.me.prev;
72553 init_table[itpos659] = 1;
72554 return;
72555 }
72556 void parser___ReduceAction656___action(val_t p0, val_t p1){
72557 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
72558 val_t REGB0;
72559 val_t tmp;
72560 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72561 fra.me.file = LOCATE_parser;
72562 fra.me.line = 27231;
72563 fra.me.meth = LOCATE_parser___ReduceAction656___action;
72564 fra.me.has_broke = 0;
72565 fra.me.REG_size = 4;
72566 fra.me.REG[0] = NIT_NULL;
72567 fra.me.REG[1] = NIT_NULL;
72568 fra.me.REG[2] = NIT_NULL;
72569 fra.me.REG[3] = NIT_NULL;
72570 fra.me.REG[0] = p0;
72571 fra.me.REG[1] = p1;
72572 fra.me.REG[0] = NIT_NULL;
72573 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72574 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72575 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72576 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72577 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
72578 /* ./parser//parser.nit:27239 */
72579 if (UNTAG_Bool(REGB0)) {
72580 } else {
72581 fprintf(stderr, "Assert failed");
72582 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27239);
72583 nit_exit(1);
72584 }
72585 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
72586 /* ./parser//parser.nit:27241 */
72587 if (UNTAG_Bool(REGB0)) {
72588 } else {
72589 fprintf(stderr, "Assert failed");
72590 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27241);
72591 nit_exit(1);
72592 }
72593 fra.me.REG[2] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[3], fra.me.REG[2]);
72594 fra.me.REG[0] = fra.me.REG[2];
72595 REGB0 = TAG_Int(55);
72596 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
72597 /* ./parser//parser.nit:27247 */
72598 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
72599 stack_frame_head = fra.me.prev;
72600 return;
72601 }
72602 void parser___ReduceAction656___init(val_t p0, int* init_table){
72603 int itpos660 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction656].i;
72604 struct {struct stack_frame_t me;} fra;
72605 val_t tmp;
72606 if (init_table[itpos660]) return;
72607 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72608 fra.me.file = LOCATE_parser;
72609 fra.me.line = 27249;
72610 fra.me.meth = LOCATE_parser___ReduceAction656___init;
72611 fra.me.has_broke = 0;
72612 fra.me.REG_size = 1;
72613 fra.me.REG[0] = NIT_NULL;
72614 fra.me.REG[0] = p0;
72615 /* ./parser//parser.nit:27249 */
72616 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
72617 stack_frame_head = fra.me.prev;
72618 init_table[itpos660] = 1;
72619 return;
72620 }
72621 void parser___ReduceAction657___action(val_t p0, val_t p1){
72622 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
72623 val_t REGB0;
72624 val_t tmp;
72625 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72626 fra.me.file = LOCATE_parser;
72627 fra.me.line = 27253;
72628 fra.me.meth = LOCATE_parser___ReduceAction657___action;
72629 fra.me.has_broke = 0;
72630 fra.me.REG_size = 4;
72631 fra.me.REG[0] = NIT_NULL;
72632 fra.me.REG[1] = NIT_NULL;
72633 fra.me.REG[2] = NIT_NULL;
72634 fra.me.REG[3] = NIT_NULL;
72635 fra.me.REG[0] = p0;
72636 fra.me.REG[1] = p1;
72637 fra.me.REG[0] = NIT_NULL;
72638 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72639 fra.me.REG[3] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
72640 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
72641 /* ./parser//parser.nit:27260 */
72642 if (UNTAG_Bool(REGB0)) {
72643 } else {
72644 fprintf(stderr, "Assert failed");
72645 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27260);
72646 nit_exit(1);
72647 }
72648 fra.me.REG[2] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[3], fra.me.REG[2]);
72649 fra.me.REG[0] = fra.me.REG[2];
72650 REGB0 = TAG_Int(55);
72651 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
72652 /* ./parser//parser.nit:27266 */
72653 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
72654 stack_frame_head = fra.me.prev;
72655 return;
72656 }
72657 void parser___ReduceAction657___init(val_t p0, int* init_table){
72658 int itpos661 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction657].i;
72659 struct {struct stack_frame_t me;} fra;
72660 val_t tmp;
72661 if (init_table[itpos661]) return;
72662 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72663 fra.me.file = LOCATE_parser;
72664 fra.me.line = 27268;
72665 fra.me.meth = LOCATE_parser___ReduceAction657___init;
72666 fra.me.has_broke = 0;
72667 fra.me.REG_size = 1;
72668 fra.me.REG[0] = NIT_NULL;
72669 fra.me.REG[0] = p0;
72670 /* ./parser//parser.nit:27268 */
72671 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
72672 stack_frame_head = fra.me.prev;
72673 init_table[itpos661] = 1;
72674 return;
72675 }
72676 void parser___ReduceAction658___action(val_t p0, val_t p1){
72677 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
72678 val_t REGB0;
72679 val_t tmp;
72680 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72681 fra.me.file = LOCATE_parser;
72682 fra.me.line = 27272;
72683 fra.me.meth = LOCATE_parser___ReduceAction658___action;
72684 fra.me.has_broke = 0;
72685 fra.me.REG_size = 7;
72686 fra.me.REG[0] = NIT_NULL;
72687 fra.me.REG[1] = NIT_NULL;
72688 fra.me.REG[2] = NIT_NULL;
72689 fra.me.REG[3] = NIT_NULL;
72690 fra.me.REG[4] = NIT_NULL;
72691 fra.me.REG[5] = NIT_NULL;
72692 fra.me.REG[6] = NIT_NULL;
72693 fra.me.REG[0] = p0;
72694 fra.me.REG[1] = p1;
72695 fra.me.REG[0] = NIT_NULL;
72696 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72697 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72698 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72699 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72700 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72701 fra.me.REG[5] = NEW_Array_array___Array___init();
72702 fra.me.REG[6] = NEW_Array_array___Array___init();
72703 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
72704 /* ./parser//parser.nit:27283 */
72705 if (UNTAG_Bool(REGB0)) {
72706 } else {
72707 fprintf(stderr, "Assert failed");
72708 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27283);
72709 nit_exit(1);
72710 }
72711 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
72712 /* ./parser//parser.nit:27285 */
72713 if (UNTAG_Bool(REGB0)) {
72714 } else {
72715 fprintf(stderr, "Assert failed");
72716 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27285);
72717 nit_exit(1);
72718 }
72719 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
72720 /* ./parser//parser.nit:27287 */
72721 if (UNTAG_Bool(REGB0)) {
72722 } else {
72723 fprintf(stderr, "Assert failed");
72724 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27287);
72725 nit_exit(1);
72726 }
72727 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
72728 /* ./parser//parser.nit:27289 */
72729 if (UNTAG_Bool(REGB0)) {
72730 fra.me.REG[5] = fra.me.REG[2];
72731 /* ./parser//parser.nit:27290 */
72732 } else {
72733 /* ./parser//parser.nit:27292 */
72734 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
72735 }
72736 fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[6]);
72737 fra.me.REG[0] = fra.me.REG[6];
72738 REGB0 = TAG_Int(55);
72739 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
72740 /* ./parser//parser.nit:27302 */
72741 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
72742 stack_frame_head = fra.me.prev;
72743 return;
72744 }
72745 void parser___ReduceAction658___init(val_t p0, int* init_table){
72746 int itpos662 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction658].i;
72747 struct {struct stack_frame_t me;} fra;
72748 val_t tmp;
72749 if (init_table[itpos662]) return;
72750 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72751 fra.me.file = LOCATE_parser;
72752 fra.me.line = 27304;
72753 fra.me.meth = LOCATE_parser___ReduceAction658___init;
72754 fra.me.has_broke = 0;
72755 fra.me.REG_size = 1;
72756 fra.me.REG[0] = NIT_NULL;
72757 fra.me.REG[0] = p0;
72758 /* ./parser//parser.nit:27304 */
72759 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
72760 stack_frame_head = fra.me.prev;
72761 init_table[itpos662] = 1;
72762 return;
72763 }
72764 void parser___ReduceAction659___action(val_t p0, val_t p1){
72765 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
72766 val_t REGB0;
72767 val_t tmp;
72768 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72769 fra.me.file = LOCATE_parser;
72770 fra.me.line = 27308;
72771 fra.me.meth = LOCATE_parser___ReduceAction659___action;
72772 fra.me.has_broke = 0;
72773 fra.me.REG_size = 7;
72774 fra.me.REG[0] = NIT_NULL;
72775 fra.me.REG[1] = NIT_NULL;
72776 fra.me.REG[2] = NIT_NULL;
72777 fra.me.REG[3] = NIT_NULL;
72778 fra.me.REG[4] = NIT_NULL;
72779 fra.me.REG[5] = NIT_NULL;
72780 fra.me.REG[6] = NIT_NULL;
72781 fra.me.REG[0] = p0;
72782 fra.me.REG[1] = p1;
72783 fra.me.REG[0] = NIT_NULL;
72784 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72785 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72786 fra.me.REG[4] = NEW_Array_array___Array___init();
72787 fra.me.REG[5] = NEW_Array_array___Array___init();
72788 fra.me.REG[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
72789 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
72790 /* ./parser//parser.nit:27318 */
72791 if (UNTAG_Bool(REGB0)) {
72792 } else {
72793 fprintf(stderr, "Assert failed");
72794 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27318);
72795 nit_exit(1);
72796 }
72797 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
72798 /* ./parser//parser.nit:27320 */
72799 if (UNTAG_Bool(REGB0)) {
72800 } else {
72801 fprintf(stderr, "Assert failed");
72802 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27320);
72803 nit_exit(1);
72804 }
72805 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
72806 /* ./parser//parser.nit:27322 */
72807 if (UNTAG_Bool(REGB0)) {
72808 fra.me.REG[4] = fra.me.REG[2];
72809 /* ./parser//parser.nit:27323 */
72810 } else {
72811 /* ./parser//parser.nit:27325 */
72812 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
72813 }
72814 fra.me.REG[5] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[6], fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]);
72815 fra.me.REG[0] = fra.me.REG[5];
72816 REGB0 = TAG_Int(55);
72817 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
72818 /* ./parser//parser.nit:27335 */
72819 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
72820 stack_frame_head = fra.me.prev;
72821 return;
72822 }
72823 void parser___ReduceAction659___init(val_t p0, int* init_table){
72824 int itpos663 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction659].i;
72825 struct {struct stack_frame_t me;} fra;
72826 val_t tmp;
72827 if (init_table[itpos663]) return;
72828 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72829 fra.me.file = LOCATE_parser;
72830 fra.me.line = 27337;
72831 fra.me.meth = LOCATE_parser___ReduceAction659___init;
72832 fra.me.has_broke = 0;
72833 fra.me.REG_size = 1;
72834 fra.me.REG[0] = NIT_NULL;
72835 fra.me.REG[0] = p0;
72836 /* ./parser//parser.nit:27337 */
72837 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
72838 stack_frame_head = fra.me.prev;
72839 init_table[itpos663] = 1;
72840 return;
72841 }
72842 void parser___ReduceAction660___action(val_t p0, val_t p1){
72843 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
72844 val_t REGB0;
72845 val_t tmp;
72846 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72847 fra.me.file = LOCATE_parser;
72848 fra.me.line = 27341;
72849 fra.me.meth = LOCATE_parser___ReduceAction660___action;
72850 fra.me.has_broke = 0;
72851 fra.me.REG_size = 5;
72852 fra.me.REG[0] = NIT_NULL;
72853 fra.me.REG[1] = NIT_NULL;
72854 fra.me.REG[2] = NIT_NULL;
72855 fra.me.REG[3] = NIT_NULL;
72856 fra.me.REG[4] = NIT_NULL;
72857 fra.me.REG[0] = p0;
72858 fra.me.REG[1] = p1;
72859 fra.me.REG[0] = NIT_NULL;
72860 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72861 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72862 fra.me.REG[4] = NEW_Array_array___Array___init();
72863 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/;
72864 /* ./parser//parser.nit:27348 */
72865 if (UNTAG_Bool(REGB0)) {
72866 } else {
72867 fprintf(stderr, "Assert failed");
72868 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27348);
72869 nit_exit(1);
72870 }
72871 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
72872 /* ./parser//parser.nit:27350 */
72873 if (UNTAG_Bool(REGB0)) {
72874 } else {
72875 fprintf(stderr, "Assert failed");
72876 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27350);
72877 nit_exit(1);
72878 }
72879 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
72880 /* ./parser//parser.nit:27352 */
72881 if (UNTAG_Bool(REGB0)) {
72882 fra.me.REG[4] = fra.me.REG[2];
72883 /* ./parser//parser.nit:27353 */
72884 } else {
72885 /* ./parser//parser.nit:27355 */
72886 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
72887 }
72888 fra.me.REG[4] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
72889 fra.me.REG[0] = fra.me.REG[4];
72890 REGB0 = TAG_Int(55);
72891 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
72892 /* ./parser//parser.nit:27364 */
72893 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
72894 stack_frame_head = fra.me.prev;
72895 return;
72896 }
72897 void parser___ReduceAction660___init(val_t p0, int* init_table){
72898 int itpos664 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction660].i;
72899 struct {struct stack_frame_t me;} fra;
72900 val_t tmp;
72901 if (init_table[itpos664]) return;
72902 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72903 fra.me.file = LOCATE_parser;
72904 fra.me.line = 27366;
72905 fra.me.meth = LOCATE_parser___ReduceAction660___init;
72906 fra.me.has_broke = 0;
72907 fra.me.REG_size = 1;
72908 fra.me.REG[0] = NIT_NULL;
72909 fra.me.REG[0] = p0;
72910 /* ./parser//parser.nit:27366 */
72911 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
72912 stack_frame_head = fra.me.prev;
72913 init_table[itpos664] = 1;
72914 return;
72915 }
72916 void parser___ReduceAction661___action(val_t p0, val_t p1){
72917 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
72918 val_t REGB0;
72919 val_t tmp;
72920 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72921 fra.me.file = LOCATE_parser;
72922 fra.me.line = 27370;
72923 fra.me.meth = LOCATE_parser___ReduceAction661___action;
72924 fra.me.has_broke = 0;
72925 fra.me.REG_size = 6;
72926 fra.me.REG[0] = NIT_NULL;
72927 fra.me.REG[1] = NIT_NULL;
72928 fra.me.REG[2] = NIT_NULL;
72929 fra.me.REG[3] = NIT_NULL;
72930 fra.me.REG[4] = NIT_NULL;
72931 fra.me.REG[5] = NIT_NULL;
72932 fra.me.REG[0] = p0;
72933 fra.me.REG[1] = p1;
72934 fra.me.REG[0] = NIT_NULL;
72935 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72936 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72937 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
72938 fra.me.REG[5] = NEW_Array_array___Array___init();
72939 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AQualified, ID_AQualified)) /*cast nullable AQualified*/;
72940 /* ./parser//parser.nit:27378 */
72941 if (UNTAG_Bool(REGB0)) {
72942 } else {
72943 fprintf(stderr, "Assert failed");
72944 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27378);
72945 nit_exit(1);
72946 }
72947 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/;
72948 /* ./parser//parser.nit:27380 */
72949 if (UNTAG_Bool(REGB0)) {
72950 } else {
72951 fprintf(stderr, "Assert failed");
72952 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27380);
72953 nit_exit(1);
72954 }
72955 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
72956 /* ./parser//parser.nit:27382 */
72957 if (UNTAG_Bool(REGB0)) {
72958 } else {
72959 fprintf(stderr, "Assert failed");
72960 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27382);
72961 nit_exit(1);
72962 }
72963 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
72964 /* ./parser//parser.nit:27384 */
72965 if (UNTAG_Bool(REGB0)) {
72966 fra.me.REG[5] = fra.me.REG[2];
72967 /* ./parser//parser.nit:27385 */
72968 } else {
72969 /* ./parser//parser.nit:27387 */
72970 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
72971 }
72972 fra.me.REG[5] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
72973 fra.me.REG[0] = fra.me.REG[5];
72974 REGB0 = TAG_Int(55);
72975 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
72976 /* ./parser//parser.nit:27396 */
72977 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
72978 stack_frame_head = fra.me.prev;
72979 return;
72980 }
72981 void parser___ReduceAction661___init(val_t p0, int* init_table){
72982 int itpos665 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction661].i;
72983 struct {struct stack_frame_t me;} fra;
72984 val_t tmp;
72985 if (init_table[itpos665]) return;
72986 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
72987 fra.me.file = LOCATE_parser;
72988 fra.me.line = 27398;
72989 fra.me.meth = LOCATE_parser___ReduceAction661___init;
72990 fra.me.has_broke = 0;
72991 fra.me.REG_size = 1;
72992 fra.me.REG[0] = NIT_NULL;
72993 fra.me.REG[0] = p0;
72994 /* ./parser//parser.nit:27398 */
72995 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
72996 stack_frame_head = fra.me.prev;
72997 init_table[itpos665] = 1;
72998 return;
72999 }
73000 void parser___ReduceAction662___action(val_t p0, val_t p1){
73001 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
73002 val_t REGB0;
73003 val_t tmp;
73004 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73005 fra.me.file = LOCATE_parser;
73006 fra.me.line = 27402;
73007 fra.me.meth = LOCATE_parser___ReduceAction662___action;
73008 fra.me.has_broke = 0;
73009 fra.me.REG_size = 6;
73010 fra.me.REG[0] = NIT_NULL;
73011 fra.me.REG[1] = NIT_NULL;
73012 fra.me.REG[2] = NIT_NULL;
73013 fra.me.REG[3] = NIT_NULL;
73014 fra.me.REG[4] = NIT_NULL;
73015 fra.me.REG[5] = NIT_NULL;
73016 fra.me.REG[0] = p0;
73017 fra.me.REG[1] = p1;
73018 fra.me.REG[0] = NIT_NULL;
73019 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73020 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73021 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73022 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73023 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73024 fra.me.REG[5] = NEW_Array_array___Array___init();
73025 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
73026 /* ./parser//parser.nit:27412 */
73027 if (UNTAG_Bool(REGB0)) {
73028 } else {
73029 fprintf(stderr, "Assert failed");
73030 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27412);
73031 nit_exit(1);
73032 }
73033 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
73034 /* ./parser//parser.nit:27414 */
73035 if (UNTAG_Bool(REGB0)) {
73036 } else {
73037 fprintf(stderr, "Assert failed");
73038 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27414);
73039 nit_exit(1);
73040 }
73041 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
73042 /* ./parser//parser.nit:27416 */
73043 if (UNTAG_Bool(REGB0)) {
73044 } else {
73045 fprintf(stderr, "Assert failed");
73046 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27416);
73047 nit_exit(1);
73048 }
73049 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
73050 /* ./parser//parser.nit:27418 */
73051 if (UNTAG_Bool(REGB0)) {
73052 fra.me.REG[5] = fra.me.REG[2];
73053 /* ./parser//parser.nit:27419 */
73054 } else {
73055 /* ./parser//parser.nit:27421 */
73056 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
73057 }
73058 fra.me.REG[5] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
73059 fra.me.REG[0] = fra.me.REG[5];
73060 REGB0 = TAG_Int(55);
73061 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
73062 /* ./parser//parser.nit:27430 */
73063 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
73064 stack_frame_head = fra.me.prev;
73065 return;
73066 }
73067 void parser___ReduceAction662___init(val_t p0, int* init_table){
73068 int itpos666 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction662].i;
73069 struct {struct stack_frame_t me;} fra;
73070 val_t tmp;
73071 if (init_table[itpos666]) return;
73072 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73073 fra.me.file = LOCATE_parser;
73074 fra.me.line = 27432;
73075 fra.me.meth = LOCATE_parser___ReduceAction662___init;
73076 fra.me.has_broke = 0;
73077 fra.me.REG_size = 1;
73078 fra.me.REG[0] = NIT_NULL;
73079 fra.me.REG[0] = p0;
73080 /* ./parser//parser.nit:27432 */
73081 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
73082 stack_frame_head = fra.me.prev;
73083 init_table[itpos666] = 1;
73084 return;
73085 }
73086 void parser___ReduceAction663___action(val_t p0, val_t p1){
73087 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
73088 val_t REGB0;
73089 val_t tmp;
73090 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73091 fra.me.file = LOCATE_parser;
73092 fra.me.line = 27436;
73093 fra.me.meth = LOCATE_parser___ReduceAction663___action;
73094 fra.me.has_broke = 0;
73095 fra.me.REG_size = 6;
73096 fra.me.REG[0] = NIT_NULL;
73097 fra.me.REG[1] = NIT_NULL;
73098 fra.me.REG[2] = NIT_NULL;
73099 fra.me.REG[3] = NIT_NULL;
73100 fra.me.REG[4] = NIT_NULL;
73101 fra.me.REG[5] = NIT_NULL;
73102 fra.me.REG[0] = p0;
73103 fra.me.REG[1] = p1;
73104 fra.me.REG[0] = NIT_NULL;
73105 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73106 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73107 fra.me.REG[4] = NEW_Array_array___Array___init();
73108 fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
73109 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
73110 /* ./parser//parser.nit:27445 */
73111 if (UNTAG_Bool(REGB0)) {
73112 } else {
73113 fprintf(stderr, "Assert failed");
73114 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27445);
73115 nit_exit(1);
73116 }
73117 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
73118 /* ./parser//parser.nit:27447 */
73119 if (UNTAG_Bool(REGB0)) {
73120 } else {
73121 fprintf(stderr, "Assert failed");
73122 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27447);
73123 nit_exit(1);
73124 }
73125 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
73126 /* ./parser//parser.nit:27449 */
73127 if (UNTAG_Bool(REGB0)) {
73128 fra.me.REG[4] = fra.me.REG[2];
73129 /* ./parser//parser.nit:27450 */
73130 } else {
73131 /* ./parser//parser.nit:27452 */
73132 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
73133 }
73134 fra.me.REG[4] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[3], fra.me.REG[4]);
73135 fra.me.REG[0] = fra.me.REG[4];
73136 REGB0 = TAG_Int(55);
73137 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
73138 /* ./parser//parser.nit:27461 */
73139 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
73140 stack_frame_head = fra.me.prev;
73141 return;
73142 }
73143 void parser___ReduceAction663___init(val_t p0, int* init_table){
73144 int itpos667 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction663].i;
73145 struct {struct stack_frame_t me;} fra;
73146 val_t tmp;
73147 if (init_table[itpos667]) return;
73148 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73149 fra.me.file = LOCATE_parser;
73150 fra.me.line = 27463;
73151 fra.me.meth = LOCATE_parser___ReduceAction663___init;
73152 fra.me.has_broke = 0;
73153 fra.me.REG_size = 1;
73154 fra.me.REG[0] = NIT_NULL;
73155 fra.me.REG[0] = p0;
73156 /* ./parser//parser.nit:27463 */
73157 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
73158 stack_frame_head = fra.me.prev;
73159 init_table[itpos667] = 1;
73160 return;
73161 }
73162 void parser___ReduceAction664___action(val_t p0, val_t p1){
73163 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
73164 val_t REGB0;
73165 val_t tmp;
73166 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73167 fra.me.file = LOCATE_parser;
73168 fra.me.line = 27467;
73169 fra.me.meth = LOCATE_parser___ReduceAction664___action;
73170 fra.me.has_broke = 0;
73171 fra.me.REG_size = 6;
73172 fra.me.REG[0] = NIT_NULL;
73173 fra.me.REG[1] = NIT_NULL;
73174 fra.me.REG[2] = NIT_NULL;
73175 fra.me.REG[3] = NIT_NULL;
73176 fra.me.REG[4] = NIT_NULL;
73177 fra.me.REG[5] = NIT_NULL;
73178 fra.me.REG[0] = p0;
73179 fra.me.REG[1] = p1;
73180 fra.me.REG[0] = NIT_NULL;
73181 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73182 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73183 fra.me.REG[4] = NEW_Array_array___Array___init();
73184 fra.me.REG[5] = NEW_Array_array___Array___init();
73185 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
73186 /* ./parser//parser.nit:27475 */
73187 if (UNTAG_Bool(REGB0)) {
73188 } else {
73189 fprintf(stderr, "Assert failed");
73190 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27475);
73191 nit_exit(1);
73192 }
73193 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
73194 /* ./parser//parser.nit:27477 */
73195 if (UNTAG_Bool(REGB0)) {
73196 } else {
73197 fprintf(stderr, "Assert failed");
73198 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27477);
73199 nit_exit(1);
73200 }
73201 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
73202 /* ./parser//parser.nit:27479 */
73203 if (UNTAG_Bool(REGB0)) {
73204 fra.me.REG[4] = fra.me.REG[2];
73205 /* ./parser//parser.nit:27480 */
73206 } else {
73207 /* ./parser//parser.nit:27482 */
73208 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
73209 }
73210 fra.me.REG[5] = NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]);
73211 fra.me.REG[0] = fra.me.REG[5];
73212 REGB0 = TAG_Int(55);
73213 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
73214 /* ./parser//parser.nit:27491 */
73215 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
73216 stack_frame_head = fra.me.prev;
73217 return;
73218 }
73219 void parser___ReduceAction664___init(val_t p0, int* init_table){
73220 int itpos668 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction664].i;
73221 struct {struct stack_frame_t me;} fra;
73222 val_t tmp;
73223 if (init_table[itpos668]) return;
73224 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73225 fra.me.file = LOCATE_parser;
73226 fra.me.line = 27493;
73227 fra.me.meth = LOCATE_parser___ReduceAction664___init;
73228 fra.me.has_broke = 0;
73229 fra.me.REG_size = 1;
73230 fra.me.REG[0] = NIT_NULL;
73231 fra.me.REG[0] = p0;
73232 /* ./parser//parser.nit:27493 */
73233 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
73234 stack_frame_head = fra.me.prev;
73235 init_table[itpos668] = 1;
73236 return;
73237 }
73238 void parser___ReduceAction665___action(val_t p0, val_t p1){
73239 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
73240 val_t REGB0;
73241 val_t tmp;
73242 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73243 fra.me.file = LOCATE_parser;
73244 fra.me.line = 27497;
73245 fra.me.meth = LOCATE_parser___ReduceAction665___action;
73246 fra.me.has_broke = 0;
73247 fra.me.REG_size = 7;
73248 fra.me.REG[0] = NIT_NULL;
73249 fra.me.REG[1] = NIT_NULL;
73250 fra.me.REG[2] = NIT_NULL;
73251 fra.me.REG[3] = NIT_NULL;
73252 fra.me.REG[4] = NIT_NULL;
73253 fra.me.REG[5] = NIT_NULL;
73254 fra.me.REG[6] = NIT_NULL;
73255 fra.me.REG[0] = p0;
73256 fra.me.REG[1] = p1;
73257 fra.me.REG[0] = NIT_NULL;
73258 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73259 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73260 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73261 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73262 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73263 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73264 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73265 fra.me.REG[6] = NEW_Array_array___Array___init();
73266 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwnew, ID_TKwnew)) /*cast nullable TKwnew*/;
73267 /* ./parser//parser.nit:27509 */
73268 if (UNTAG_Bool(REGB0)) {
73269 } else {
73270 fprintf(stderr, "Assert failed");
73271 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27509);
73272 nit_exit(1);
73273 }
73274 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
73275 /* ./parser//parser.nit:27511 */
73276 if (UNTAG_Bool(REGB0)) {
73277 } else {
73278 fprintf(stderr, "Assert failed");
73279 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27511);
73280 nit_exit(1);
73281 }
73282 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
73283 /* ./parser//parser.nit:27513 */
73284 if (UNTAG_Bool(REGB0)) {
73285 } else {
73286 fprintf(stderr, "Assert failed");
73287 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27513);
73288 nit_exit(1);
73289 }
73290 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
73291 /* ./parser//parser.nit:27515 */
73292 if (UNTAG_Bool(REGB0)) {
73293 } else {
73294 fprintf(stderr, "Assert failed");
73295 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27515);
73296 nit_exit(1);
73297 }
73298 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
73299 /* ./parser//parser.nit:27517 */
73300 if (UNTAG_Bool(REGB0)) {
73301 fra.me.REG[6] = fra.me.REG[2];
73302 /* ./parser//parser.nit:27518 */
73303 } else {
73304 /* ./parser//parser.nit:27520 */
73305 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
73306 }
73307 fra.me.REG[6] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6]);
73308 fra.me.REG[0] = fra.me.REG[6];
73309 REGB0 = TAG_Int(55);
73310 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
73311 /* ./parser//parser.nit:27530 */
73312 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
73313 stack_frame_head = fra.me.prev;
73314 return;
73315 }
73316 void parser___ReduceAction665___init(val_t p0, int* init_table){
73317 int itpos669 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction665].i;
73318 struct {struct stack_frame_t me;} fra;
73319 val_t tmp;
73320 if (init_table[itpos669]) return;
73321 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73322 fra.me.file = LOCATE_parser;
73323 fra.me.line = 27532;
73324 fra.me.meth = LOCATE_parser___ReduceAction665___init;
73325 fra.me.has_broke = 0;
73326 fra.me.REG_size = 1;
73327 fra.me.REG[0] = NIT_NULL;
73328 fra.me.REG[0] = p0;
73329 /* ./parser//parser.nit:27532 */
73330 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
73331 stack_frame_head = fra.me.prev;
73332 init_table[itpos669] = 1;
73333 return;
73334 }
73335 void parser___ReduceAction666___action(val_t p0, val_t p1){
73336 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
73337 val_t REGB0;
73338 val_t tmp;
73339 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73340 fra.me.file = LOCATE_parser;
73341 fra.me.line = 27536;
73342 fra.me.meth = LOCATE_parser___ReduceAction666___action;
73343 fra.me.has_broke = 0;
73344 fra.me.REG_size = 5;
73345 fra.me.REG[0] = NIT_NULL;
73346 fra.me.REG[1] = NIT_NULL;
73347 fra.me.REG[2] = NIT_NULL;
73348 fra.me.REG[3] = NIT_NULL;
73349 fra.me.REG[4] = NIT_NULL;
73350 fra.me.REG[0] = p0;
73351 fra.me.REG[1] = p1;
73352 fra.me.REG[0] = NIT_NULL;
73353 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73354 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73355 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73356 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73357 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73358 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73359 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73360 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73361 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73362 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
73363 /* ./parser//parser.nit:27549 */
73364 if (UNTAG_Bool(REGB0)) {
73365 } else {
73366 fprintf(stderr, "Assert failed");
73367 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27549);
73368 nit_exit(1);
73369 }
73370 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
73371 /* ./parser//parser.nit:27551 */
73372 if (UNTAG_Bool(REGB0)) {
73373 } else {
73374 fprintf(stderr, "Assert failed");
73375 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27551);
73376 nit_exit(1);
73377 }
73378 fra.me.REG[2] = NEW_ACrangeExpr_parser_prod___ACrangeExpr___init_acrangeexpr(fra.me.REG[3], fra.me.REG[2]);
73379 fra.me.REG[0] = fra.me.REG[2];
73380 REGB0 = TAG_Int(55);
73381 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
73382 /* ./parser//parser.nit:27557 */
73383 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
73384 stack_frame_head = fra.me.prev;
73385 return;
73386 }
73387 void parser___ReduceAction666___init(val_t p0, int* init_table){
73388 int itpos670 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction666].i;
73389 struct {struct stack_frame_t me;} fra;
73390 val_t tmp;
73391 if (init_table[itpos670]) return;
73392 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73393 fra.me.file = LOCATE_parser;
73394 fra.me.line = 27559;
73395 fra.me.meth = LOCATE_parser___ReduceAction666___init;
73396 fra.me.has_broke = 0;
73397 fra.me.REG_size = 1;
73398 fra.me.REG[0] = NIT_NULL;
73399 fra.me.REG[0] = p0;
73400 /* ./parser//parser.nit:27559 */
73401 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
73402 stack_frame_head = fra.me.prev;
73403 init_table[itpos670] = 1;
73404 return;
73405 }
73406 void parser___ReduceAction667___action(val_t p0, val_t p1){
73407 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
73408 val_t REGB0;
73409 val_t tmp;
73410 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73411 fra.me.file = LOCATE_parser;
73412 fra.me.line = 27563;
73413 fra.me.meth = LOCATE_parser___ReduceAction667___action;
73414 fra.me.has_broke = 0;
73415 fra.me.REG_size = 5;
73416 fra.me.REG[0] = NIT_NULL;
73417 fra.me.REG[1] = NIT_NULL;
73418 fra.me.REG[2] = NIT_NULL;
73419 fra.me.REG[3] = NIT_NULL;
73420 fra.me.REG[4] = NIT_NULL;
73421 fra.me.REG[0] = p0;
73422 fra.me.REG[1] = p1;
73423 fra.me.REG[0] = NIT_NULL;
73424 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73425 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73426 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73427 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73428 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73429 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73430 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73431 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73432 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73433 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
73434 /* ./parser//parser.nit:27576 */
73435 if (UNTAG_Bool(REGB0)) {
73436 } else {
73437 fprintf(stderr, "Assert failed");
73438 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27576);
73439 nit_exit(1);
73440 }
73441 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
73442 /* ./parser//parser.nit:27578 */
73443 if (UNTAG_Bool(REGB0)) {
73444 } else {
73445 fprintf(stderr, "Assert failed");
73446 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27578);
73447 nit_exit(1);
73448 }
73449 fra.me.REG[2] = NEW_AOrangeExpr_parser_prod___AOrangeExpr___init_aorangeexpr(fra.me.REG[3], fra.me.REG[2]);
73450 fra.me.REG[0] = fra.me.REG[2];
73451 REGB0 = TAG_Int(55);
73452 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
73453 /* ./parser//parser.nit:27584 */
73454 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
73455 stack_frame_head = fra.me.prev;
73456 return;
73457 }
73458 void parser___ReduceAction667___init(val_t p0, int* init_table){
73459 int itpos671 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction667].i;
73460 struct {struct stack_frame_t me;} fra;
73461 val_t tmp;
73462 if (init_table[itpos671]) return;
73463 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73464 fra.me.file = LOCATE_parser;
73465 fra.me.line = 27586;
73466 fra.me.meth = LOCATE_parser___ReduceAction667___init;
73467 fra.me.has_broke = 0;
73468 fra.me.REG_size = 1;
73469 fra.me.REG[0] = NIT_NULL;
73470 fra.me.REG[0] = p0;
73471 /* ./parser//parser.nit:27586 */
73472 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
73473 stack_frame_head = fra.me.prev;
73474 init_table[itpos671] = 1;
73475 return;
73476 }
73477 void parser___ReduceAction668___action(val_t p0, val_t p1){
73478 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
73479 val_t REGB0;
73480 val_t tmp;
73481 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73482 fra.me.file = LOCATE_parser;
73483 fra.me.line = 27590;
73484 fra.me.meth = LOCATE_parser___ReduceAction668___action;
73485 fra.me.has_broke = 0;
73486 fra.me.REG_size = 4;
73487 fra.me.REG[0] = NIT_NULL;
73488 fra.me.REG[1] = NIT_NULL;
73489 fra.me.REG[2] = NIT_NULL;
73490 fra.me.REG[3] = NIT_NULL;
73491 fra.me.REG[0] = p0;
73492 fra.me.REG[1] = p1;
73493 fra.me.REG[0] = NIT_NULL;
73494 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73495 fra.me.REG[3] = NEW_Array_array___Array___init();
73496 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
73497 /* ./parser//parser.nit:27596 */
73498 if (UNTAG_Bool(REGB0)) {
73499 } else {
73500 fprintf(stderr, "Assert failed");
73501 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27596);
73502 nit_exit(1);
73503 }
73504 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
73505 /* ./parser//parser.nit:27598 */
73506 if (UNTAG_Bool(REGB0)) {
73507 fra.me.REG[3] = fra.me.REG[2];
73508 /* ./parser//parser.nit:27599 */
73509 } else {
73510 /* ./parser//parser.nit:27601 */
73511 CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
73512 }
73513 fra.me.REG[3] = NEW_AArrayExpr_parser_prod___AArrayExpr___init_aarrayexpr(fra.me.REG[3]);
73514 fra.me.REG[0] = fra.me.REG[3];
73515 REGB0 = TAG_Int(55);
73516 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
73517 /* ./parser//parser.nit:27608 */
73518 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
73519 stack_frame_head = fra.me.prev;
73520 return;
73521 }
73522 void parser___ReduceAction668___init(val_t p0, int* init_table){
73523 int itpos672 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction668].i;
73524 struct {struct stack_frame_t me;} fra;
73525 val_t tmp;
73526 if (init_table[itpos672]) return;
73527 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73528 fra.me.file = LOCATE_parser;
73529 fra.me.line = 27610;
73530 fra.me.meth = LOCATE_parser___ReduceAction668___init;
73531 fra.me.has_broke = 0;
73532 fra.me.REG_size = 1;
73533 fra.me.REG[0] = NIT_NULL;
73534 fra.me.REG[0] = p0;
73535 /* ./parser//parser.nit:27610 */
73536 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
73537 stack_frame_head = fra.me.prev;
73538 init_table[itpos672] = 1;
73539 return;
73540 }
73541 void parser___ReduceAction669___action(val_t p0, val_t p1){
73542 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
73543 val_t REGB0;
73544 val_t tmp;
73545 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73546 fra.me.file = LOCATE_parser;
73547 fra.me.line = 27614;
73548 fra.me.meth = LOCATE_parser___ReduceAction669___action;
73549 fra.me.has_broke = 0;
73550 fra.me.REG_size = 3;
73551 fra.me.REG[0] = NIT_NULL;
73552 fra.me.REG[1] = NIT_NULL;
73553 fra.me.REG[2] = NIT_NULL;
73554 fra.me.REG[0] = p0;
73555 fra.me.REG[1] = p1;
73556 fra.me.REG[0] = NIT_NULL;
73557 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73558 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwself, ID_TKwself)) /*cast nullable TKwself*/;
73559 /* ./parser//parser.nit:27619 */
73560 if (UNTAG_Bool(REGB0)) {
73561 } else {
73562 fprintf(stderr, "Assert failed");
73563 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27619);
73564 nit_exit(1);
73565 }
73566 fra.me.REG[2] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr(fra.me.REG[2]);
73567 fra.me.REG[0] = fra.me.REG[2];
73568 REGB0 = TAG_Int(55);
73569 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
73570 /* ./parser//parser.nit:27624 */
73571 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
73572 stack_frame_head = fra.me.prev;
73573 return;
73574 }
73575 void parser___ReduceAction669___init(val_t p0, int* init_table){
73576 int itpos673 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction669].i;
73577 struct {struct stack_frame_t me;} fra;
73578 val_t tmp;
73579 if (init_table[itpos673]) return;
73580 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73581 fra.me.file = LOCATE_parser;
73582 fra.me.line = 27626;
73583 fra.me.meth = LOCATE_parser___ReduceAction669___init;
73584 fra.me.has_broke = 0;
73585 fra.me.REG_size = 1;
73586 fra.me.REG[0] = NIT_NULL;
73587 fra.me.REG[0] = p0;
73588 /* ./parser//parser.nit:27626 */
73589 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
73590 stack_frame_head = fra.me.prev;
73591 init_table[itpos673] = 1;
73592 return;
73593 }
73594 void parser___ReduceAction670___action(val_t p0, val_t p1){
73595 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
73596 val_t REGB0;
73597 val_t tmp;
73598 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73599 fra.me.file = LOCATE_parser;
73600 fra.me.line = 27630;
73601 fra.me.meth = LOCATE_parser___ReduceAction670___action;
73602 fra.me.has_broke = 0;
73603 fra.me.REG_size = 3;
73604 fra.me.REG[0] = NIT_NULL;
73605 fra.me.REG[1] = NIT_NULL;
73606 fra.me.REG[2] = NIT_NULL;
73607 fra.me.REG[0] = p0;
73608 fra.me.REG[1] = p1;
73609 fra.me.REG[0] = NIT_NULL;
73610 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73611 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwtrue, ID_TKwtrue)) /*cast nullable TKwtrue*/;
73612 /* ./parser//parser.nit:27635 */
73613 if (UNTAG_Bool(REGB0)) {
73614 } else {
73615 fprintf(stderr, "Assert failed");
73616 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27635);
73617 nit_exit(1);
73618 }
73619 fra.me.REG[2] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr(fra.me.REG[2]);
73620 fra.me.REG[0] = fra.me.REG[2];
73621 REGB0 = TAG_Int(55);
73622 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
73623 /* ./parser//parser.nit:27640 */
73624 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
73625 stack_frame_head = fra.me.prev;
73626 return;
73627 }
73628 void parser___ReduceAction670___init(val_t p0, int* init_table){
73629 int itpos674 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction670].i;
73630 struct {struct stack_frame_t me;} fra;
73631 val_t tmp;
73632 if (init_table[itpos674]) return;
73633 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73634 fra.me.file = LOCATE_parser;
73635 fra.me.line = 27642;
73636 fra.me.meth = LOCATE_parser___ReduceAction670___init;
73637 fra.me.has_broke = 0;
73638 fra.me.REG_size = 1;
73639 fra.me.REG[0] = NIT_NULL;
73640 fra.me.REG[0] = p0;
73641 /* ./parser//parser.nit:27642 */
73642 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
73643 stack_frame_head = fra.me.prev;
73644 init_table[itpos674] = 1;
73645 return;
73646 }
73647 void parser___ReduceAction671___action(val_t p0, val_t p1){
73648 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
73649 val_t REGB0;
73650 val_t tmp;
73651 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73652 fra.me.file = LOCATE_parser;
73653 fra.me.line = 27646;
73654 fra.me.meth = LOCATE_parser___ReduceAction671___action;
73655 fra.me.has_broke = 0;
73656 fra.me.REG_size = 3;
73657 fra.me.REG[0] = NIT_NULL;
73658 fra.me.REG[1] = NIT_NULL;
73659 fra.me.REG[2] = NIT_NULL;
73660 fra.me.REG[0] = p0;
73661 fra.me.REG[1] = p1;
73662 fra.me.REG[0] = NIT_NULL;
73663 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73664 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwfalse, ID_TKwfalse)) /*cast nullable TKwfalse*/;
73665 /* ./parser//parser.nit:27651 */
73666 if (UNTAG_Bool(REGB0)) {
73667 } else {
73668 fprintf(stderr, "Assert failed");
73669 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27651);
73670 nit_exit(1);
73671 }
73672 fra.me.REG[2] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr(fra.me.REG[2]);
73673 fra.me.REG[0] = fra.me.REG[2];
73674 REGB0 = TAG_Int(55);
73675 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
73676 /* ./parser//parser.nit:27656 */
73677 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
73678 stack_frame_head = fra.me.prev;
73679 return;
73680 }
73681 void parser___ReduceAction671___init(val_t p0, int* init_table){
73682 int itpos675 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction671].i;
73683 struct {struct stack_frame_t me;} fra;
73684 val_t tmp;
73685 if (init_table[itpos675]) return;
73686 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73687 fra.me.file = LOCATE_parser;
73688 fra.me.line = 27658;
73689 fra.me.meth = LOCATE_parser___ReduceAction671___init;
73690 fra.me.has_broke = 0;
73691 fra.me.REG_size = 1;
73692 fra.me.REG[0] = NIT_NULL;
73693 fra.me.REG[0] = p0;
73694 /* ./parser//parser.nit:27658 */
73695 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
73696 stack_frame_head = fra.me.prev;
73697 init_table[itpos675] = 1;
73698 return;
73699 }
73700 void parser___ReduceAction672___action(val_t p0, val_t p1){
73701 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
73702 val_t REGB0;
73703 val_t tmp;
73704 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73705 fra.me.file = LOCATE_parser;
73706 fra.me.line = 27662;
73707 fra.me.meth = LOCATE_parser___ReduceAction672___action;
73708 fra.me.has_broke = 0;
73709 fra.me.REG_size = 3;
73710 fra.me.REG[0] = NIT_NULL;
73711 fra.me.REG[1] = NIT_NULL;
73712 fra.me.REG[2] = NIT_NULL;
73713 fra.me.REG[0] = p0;
73714 fra.me.REG[1] = p1;
73715 fra.me.REG[0] = NIT_NULL;
73716 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73717 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast nullable TKwnull*/;
73718 /* ./parser//parser.nit:27667 */
73719 if (UNTAG_Bool(REGB0)) {
73720 } else {
73721 fprintf(stderr, "Assert failed");
73722 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27667);
73723 nit_exit(1);
73724 }
73725 fra.me.REG[2] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr(fra.me.REG[2]);
73726 fra.me.REG[0] = fra.me.REG[2];
73727 REGB0 = TAG_Int(55);
73728 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
73729 /* ./parser//parser.nit:27672 */
73730 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
73731 stack_frame_head = fra.me.prev;
73732 return;
73733 }
73734 void parser___ReduceAction672___init(val_t p0, int* init_table){
73735 int itpos676 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction672].i;
73736 struct {struct stack_frame_t me;} fra;
73737 val_t tmp;
73738 if (init_table[itpos676]) return;
73739 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73740 fra.me.file = LOCATE_parser;
73741 fra.me.line = 27674;
73742 fra.me.meth = LOCATE_parser___ReduceAction672___init;
73743 fra.me.has_broke = 0;
73744 fra.me.REG_size = 1;
73745 fra.me.REG[0] = NIT_NULL;
73746 fra.me.REG[0] = p0;
73747 /* ./parser//parser.nit:27674 */
73748 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
73749 stack_frame_head = fra.me.prev;
73750 init_table[itpos676] = 1;
73751 return;
73752 }
73753 void parser___ReduceAction673___action(val_t p0, val_t p1){
73754 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
73755 val_t REGB0;
73756 val_t tmp;
73757 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73758 fra.me.file = LOCATE_parser;
73759 fra.me.line = 27678;
73760 fra.me.meth = LOCATE_parser___ReduceAction673___action;
73761 fra.me.has_broke = 0;
73762 fra.me.REG_size = 3;
73763 fra.me.REG[0] = NIT_NULL;
73764 fra.me.REG[1] = NIT_NULL;
73765 fra.me.REG[2] = NIT_NULL;
73766 fra.me.REG[0] = p0;
73767 fra.me.REG[1] = p1;
73768 fra.me.REG[0] = NIT_NULL;
73769 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73770 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TNumber, ID_TNumber)) /*cast nullable TNumber*/;
73771 /* ./parser//parser.nit:27683 */
73772 if (UNTAG_Bool(REGB0)) {
73773 } else {
73774 fprintf(stderr, "Assert failed");
73775 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27683);
73776 nit_exit(1);
73777 }
73778 fra.me.REG[2] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr(fra.me.REG[2]);
73779 fra.me.REG[0] = fra.me.REG[2];
73780 REGB0 = TAG_Int(55);
73781 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
73782 /* ./parser//parser.nit:27688 */
73783 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
73784 stack_frame_head = fra.me.prev;
73785 return;
73786 }
73787 void parser___ReduceAction673___init(val_t p0, int* init_table){
73788 int itpos677 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction673].i;
73789 struct {struct stack_frame_t me;} fra;
73790 val_t tmp;
73791 if (init_table[itpos677]) return;
73792 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73793 fra.me.file = LOCATE_parser;
73794 fra.me.line = 27690;
73795 fra.me.meth = LOCATE_parser___ReduceAction673___init;
73796 fra.me.has_broke = 0;
73797 fra.me.REG_size = 1;
73798 fra.me.REG[0] = NIT_NULL;
73799 fra.me.REG[0] = p0;
73800 /* ./parser//parser.nit:27690 */
73801 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
73802 stack_frame_head = fra.me.prev;
73803 init_table[itpos677] = 1;
73804 return;
73805 }
73806 void parser___ReduceAction674___action(val_t p0, val_t p1){
73807 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
73808 val_t REGB0;
73809 val_t tmp;
73810 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73811 fra.me.file = LOCATE_parser;
73812 fra.me.line = 27694;
73813 fra.me.meth = LOCATE_parser___ReduceAction674___action;
73814 fra.me.has_broke = 0;
73815 fra.me.REG_size = 3;
73816 fra.me.REG[0] = NIT_NULL;
73817 fra.me.REG[1] = NIT_NULL;
73818 fra.me.REG[2] = NIT_NULL;
73819 fra.me.REG[0] = p0;
73820 fra.me.REG[1] = p1;
73821 fra.me.REG[0] = NIT_NULL;
73822 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73823 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TFloat, ID_TFloat)) /*cast nullable TFloat*/;
73824 /* ./parser//parser.nit:27699 */
73825 if (UNTAG_Bool(REGB0)) {
73826 } else {
73827 fprintf(stderr, "Assert failed");
73828 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27699);
73829 nit_exit(1);
73830 }
73831 fra.me.REG[2] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr(fra.me.REG[2]);
73832 fra.me.REG[0] = fra.me.REG[2];
73833 REGB0 = TAG_Int(55);
73834 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
73835 /* ./parser//parser.nit:27704 */
73836 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
73837 stack_frame_head = fra.me.prev;
73838 return;
73839 }
73840 void parser___ReduceAction674___init(val_t p0, int* init_table){
73841 int itpos678 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction674].i;
73842 struct {struct stack_frame_t me;} fra;
73843 val_t tmp;
73844 if (init_table[itpos678]) return;
73845 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73846 fra.me.file = LOCATE_parser;
73847 fra.me.line = 27706;
73848 fra.me.meth = LOCATE_parser___ReduceAction674___init;
73849 fra.me.has_broke = 0;
73850 fra.me.REG_size = 1;
73851 fra.me.REG[0] = NIT_NULL;
73852 fra.me.REG[0] = p0;
73853 /* ./parser//parser.nit:27706 */
73854 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
73855 stack_frame_head = fra.me.prev;
73856 init_table[itpos678] = 1;
73857 return;
73858 }
73859 void parser___ReduceAction675___action(val_t p0, val_t p1){
73860 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
73861 val_t REGB0;
73862 val_t tmp;
73863 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73864 fra.me.file = LOCATE_parser;
73865 fra.me.line = 27710;
73866 fra.me.meth = LOCATE_parser___ReduceAction675___action;
73867 fra.me.has_broke = 0;
73868 fra.me.REG_size = 3;
73869 fra.me.REG[0] = NIT_NULL;
73870 fra.me.REG[1] = NIT_NULL;
73871 fra.me.REG[2] = NIT_NULL;
73872 fra.me.REG[0] = p0;
73873 fra.me.REG[1] = p1;
73874 fra.me.REG[0] = NIT_NULL;
73875 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73876 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TChar, ID_TChar)) /*cast nullable TChar*/;
73877 /* ./parser//parser.nit:27715 */
73878 if (UNTAG_Bool(REGB0)) {
73879 } else {
73880 fprintf(stderr, "Assert failed");
73881 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27715);
73882 nit_exit(1);
73883 }
73884 fra.me.REG[2] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr(fra.me.REG[2]);
73885 fra.me.REG[0] = fra.me.REG[2];
73886 REGB0 = TAG_Int(55);
73887 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
73888 /* ./parser//parser.nit:27720 */
73889 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
73890 stack_frame_head = fra.me.prev;
73891 return;
73892 }
73893 void parser___ReduceAction675___init(val_t p0, int* init_table){
73894 int itpos679 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction675].i;
73895 struct {struct stack_frame_t me;} fra;
73896 val_t tmp;
73897 if (init_table[itpos679]) return;
73898 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73899 fra.me.file = LOCATE_parser;
73900 fra.me.line = 27722;
73901 fra.me.meth = LOCATE_parser___ReduceAction675___init;
73902 fra.me.has_broke = 0;
73903 fra.me.REG_size = 1;
73904 fra.me.REG[0] = NIT_NULL;
73905 fra.me.REG[0] = p0;
73906 /* ./parser//parser.nit:27722 */
73907 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
73908 stack_frame_head = fra.me.prev;
73909 init_table[itpos679] = 1;
73910 return;
73911 }
73912 void parser___ReduceAction676___action(val_t p0, val_t p1){
73913 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
73914 val_t REGB0;
73915 val_t tmp;
73916 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73917 fra.me.file = LOCATE_parser;
73918 fra.me.line = 27726;
73919 fra.me.meth = LOCATE_parser___ReduceAction676___action;
73920 fra.me.has_broke = 0;
73921 fra.me.REG_size = 3;
73922 fra.me.REG[0] = NIT_NULL;
73923 fra.me.REG[1] = NIT_NULL;
73924 fra.me.REG[2] = NIT_NULL;
73925 fra.me.REG[0] = p0;
73926 fra.me.REG[1] = p1;
73927 fra.me.REG[0] = NIT_NULL;
73928 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73929 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
73930 /* ./parser//parser.nit:27731 */
73931 if (UNTAG_Bool(REGB0)) {
73932 } else {
73933 fprintf(stderr, "Assert failed");
73934 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27731);
73935 nit_exit(1);
73936 }
73937 fra.me.REG[2] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr(fra.me.REG[2]);
73938 fra.me.REG[0] = fra.me.REG[2];
73939 REGB0 = TAG_Int(55);
73940 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
73941 /* ./parser//parser.nit:27736 */
73942 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
73943 stack_frame_head = fra.me.prev;
73944 return;
73945 }
73946 void parser___ReduceAction676___init(val_t p0, int* init_table){
73947 int itpos680 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction676].i;
73948 struct {struct stack_frame_t me;} fra;
73949 val_t tmp;
73950 if (init_table[itpos680]) return;
73951 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73952 fra.me.file = LOCATE_parser;
73953 fra.me.line = 27738;
73954 fra.me.meth = LOCATE_parser___ReduceAction676___init;
73955 fra.me.has_broke = 0;
73956 fra.me.REG_size = 1;
73957 fra.me.REG[0] = NIT_NULL;
73958 fra.me.REG[0] = p0;
73959 /* ./parser//parser.nit:27738 */
73960 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
73961 stack_frame_head = fra.me.prev;
73962 init_table[itpos680] = 1;
73963 return;
73964 }
73965 void parser___ReduceAction677___action(val_t p0, val_t p1){
73966 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
73967 val_t REGB0;
73968 val_t tmp;
73969 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73970 fra.me.file = LOCATE_parser;
73971 fra.me.line = 27742;
73972 fra.me.meth = LOCATE_parser___ReduceAction677___action;
73973 fra.me.has_broke = 0;
73974 fra.me.REG_size = 3;
73975 fra.me.REG[0] = NIT_NULL;
73976 fra.me.REG[1] = NIT_NULL;
73977 fra.me.REG[2] = NIT_NULL;
73978 fra.me.REG[0] = p0;
73979 fra.me.REG[1] = p1;
73980 fra.me.REG[0] = NIT_NULL;
73981 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
73982 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
73983 /* ./parser//parser.nit:27747 */
73984 if (UNTAG_Bool(REGB0)) {
73985 } else {
73986 fprintf(stderr, "Assert failed");
73987 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27747);
73988 nit_exit(1);
73989 }
73990 fra.me.REG[0] = fra.me.REG[2];
73991 REGB0 = TAG_Int(55);
73992 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
73993 /* ./parser//parser.nit:27749 */
73994 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
73995 stack_frame_head = fra.me.prev;
73996 return;
73997 }
73998 void parser___ReduceAction677___init(val_t p0, int* init_table){
73999 int itpos681 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction677].i;
74000 struct {struct stack_frame_t me;} fra;
74001 val_t tmp;
74002 if (init_table[itpos681]) return;
74003 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74004 fra.me.file = LOCATE_parser;
74005 fra.me.line = 27751;
74006 fra.me.meth = LOCATE_parser___ReduceAction677___init;
74007 fra.me.has_broke = 0;
74008 fra.me.REG_size = 1;
74009 fra.me.REG[0] = NIT_NULL;
74010 fra.me.REG[0] = p0;
74011 /* ./parser//parser.nit:27751 */
74012 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
74013 stack_frame_head = fra.me.prev;
74014 init_table[itpos681] = 1;
74015 return;
74016 }
74017 void parser___ReduceAction678___action(val_t p0, val_t p1){
74018 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
74019 val_t REGB0;
74020 val_t tmp;
74021 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74022 fra.me.file = LOCATE_parser;
74023 fra.me.line = 27755;
74024 fra.me.meth = LOCATE_parser___ReduceAction678___action;
74025 fra.me.has_broke = 0;
74026 fra.me.REG_size = 4;
74027 fra.me.REG[0] = NIT_NULL;
74028 fra.me.REG[1] = NIT_NULL;
74029 fra.me.REG[2] = NIT_NULL;
74030 fra.me.REG[3] = NIT_NULL;
74031 fra.me.REG[0] = p0;
74032 fra.me.REG[1] = p1;
74033 fra.me.REG[0] = NIT_NULL;
74034 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74035 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74036 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74037 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
74038 /* ./parser//parser.nit:27762 */
74039 if (UNTAG_Bool(REGB0)) {
74040 } else {
74041 fprintf(stderr, "Assert failed");
74042 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27762);
74043 nit_exit(1);
74044 }
74045 fra.me.REG[0] = fra.me.REG[2];
74046 REGB0 = TAG_Int(55);
74047 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
74048 /* ./parser//parser.nit:27764 */
74049 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
74050 stack_frame_head = fra.me.prev;
74051 return;
74052 }
74053 void parser___ReduceAction678___init(val_t p0, int* init_table){
74054 int itpos682 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction678].i;
74055 struct {struct stack_frame_t me;} fra;
74056 val_t tmp;
74057 if (init_table[itpos682]) return;
74058 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74059 fra.me.file = LOCATE_parser;
74060 fra.me.line = 27766;
74061 fra.me.meth = LOCATE_parser___ReduceAction678___init;
74062 fra.me.has_broke = 0;
74063 fra.me.REG_size = 1;
74064 fra.me.REG[0] = NIT_NULL;
74065 fra.me.REG[0] = p0;
74066 /* ./parser//parser.nit:27766 */
74067 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
74068 stack_frame_head = fra.me.prev;
74069 init_table[itpos682] = 1;
74070 return;
74071 }
74072 void parser___ReduceAction679___action(val_t p0, val_t p1){
74073 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
74074 val_t REGB0;
74075 val_t tmp;
74076 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74077 fra.me.file = LOCATE_parser;
74078 fra.me.line = 27770;
74079 fra.me.meth = LOCATE_parser___ReduceAction679___action;
74080 fra.me.has_broke = 0;
74081 fra.me.REG_size = 5;
74082 fra.me.REG[0] = NIT_NULL;
74083 fra.me.REG[1] = NIT_NULL;
74084 fra.me.REG[2] = NIT_NULL;
74085 fra.me.REG[3] = NIT_NULL;
74086 fra.me.REG[4] = NIT_NULL;
74087 fra.me.REG[0] = p0;
74088 fra.me.REG[1] = p1;
74089 fra.me.REG[0] = NIT_NULL;
74090 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74091 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74092 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74093 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74094 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74095 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74096 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74097 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74098 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74099 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74100 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
74101 /* ./parser//parser.nit:27784 */
74102 if (UNTAG_Bool(REGB0)) {
74103 } else {
74104 fprintf(stderr, "Assert failed");
74105 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27784);
74106 nit_exit(1);
74107 }
74108 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwas, ID_TKwas)) /*cast nullable TKwas*/;
74109 /* ./parser//parser.nit:27786 */
74110 if (UNTAG_Bool(REGB0)) {
74111 } else {
74112 fprintf(stderr, "Assert failed");
74113 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27786);
74114 nit_exit(1);
74115 }
74116 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
74117 /* ./parser//parser.nit:27788 */
74118 if (UNTAG_Bool(REGB0)) {
74119 } else {
74120 fprintf(stderr, "Assert failed");
74121 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27788);
74122 nit_exit(1);
74123 }
74124 fra.me.REG[2] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
74125 fra.me.REG[0] = fra.me.REG[2];
74126 REGB0 = TAG_Int(55);
74127 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
74128 /* ./parser//parser.nit:27795 */
74129 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
74130 stack_frame_head = fra.me.prev;
74131 return;
74132 }
74133 void parser___ReduceAction679___init(val_t p0, int* init_table){
74134 int itpos683 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction679].i;
74135 struct {struct stack_frame_t me;} fra;
74136 val_t tmp;
74137 if (init_table[itpos683]) return;
74138 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74139 fra.me.file = LOCATE_parser;
74140 fra.me.line = 27797;
74141 fra.me.meth = LOCATE_parser___ReduceAction679___init;
74142 fra.me.has_broke = 0;
74143 fra.me.REG_size = 1;
74144 fra.me.REG[0] = NIT_NULL;
74145 fra.me.REG[0] = p0;
74146 /* ./parser//parser.nit:27797 */
74147 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
74148 stack_frame_head = fra.me.prev;
74149 init_table[itpos683] = 1;
74150 return;
74151 }
74152 void parser___ReduceAction680___action(val_t p0, val_t p1){
74153 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
74154 val_t REGB0;
74155 val_t tmp;
74156 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74157 fra.me.file = LOCATE_parser;
74158 fra.me.line = 27801;
74159 fra.me.meth = LOCATE_parser___ReduceAction680___action;
74160 fra.me.has_broke = 0;
74161 fra.me.REG_size = 6;
74162 fra.me.REG[0] = NIT_NULL;
74163 fra.me.REG[1] = NIT_NULL;
74164 fra.me.REG[2] = NIT_NULL;
74165 fra.me.REG[3] = NIT_NULL;
74166 fra.me.REG[4] = NIT_NULL;
74167 fra.me.REG[5] = NIT_NULL;
74168 fra.me.REG[0] = p0;
74169 fra.me.REG[1] = p1;
74170 fra.me.REG[0] = NIT_NULL;
74171 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74172 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74173 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74174 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74175 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74176 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74177 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74178 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74179 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74180 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74181 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74182 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74183 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
74184 /* ./parser//parser.nit:27817 */
74185 if (UNTAG_Bool(REGB0)) {
74186 } else {
74187 fprintf(stderr, "Assert failed");
74188 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27817);
74189 nit_exit(1);
74190 }
74191 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwas, ID_TKwas)) /*cast nullable TKwas*/;
74192 /* ./parser//parser.nit:27819 */
74193 if (UNTAG_Bool(REGB0)) {
74194 } else {
74195 fprintf(stderr, "Assert failed");
74196 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27819);
74197 nit_exit(1);
74198 }
74199 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnot, ID_TKwnot)) /*cast nullable TKwnot*/;
74200 /* ./parser//parser.nit:27821 */
74201 if (UNTAG_Bool(REGB0)) {
74202 } else {
74203 fprintf(stderr, "Assert failed");
74204 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27821);
74205 nit_exit(1);
74206 }
74207 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast nullable TKwnull*/;
74208 /* ./parser//parser.nit:27823 */
74209 if (UNTAG_Bool(REGB0)) {
74210 } else {
74211 fprintf(stderr, "Assert failed");
74212 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27823);
74213 nit_exit(1);
74214 }
74215 fra.me.REG[2] = NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___init_aasnotnullexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
74216 fra.me.REG[0] = fra.me.REG[2];
74217 REGB0 = TAG_Int(55);
74218 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
74219 /* ./parser//parser.nit:27831 */
74220 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
74221 stack_frame_head = fra.me.prev;
74222 return;
74223 }
74224 void parser___ReduceAction680___init(val_t p0, int* init_table){
74225 int itpos684 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction680].i;
74226 struct {struct stack_frame_t me;} fra;
74227 val_t tmp;
74228 if (init_table[itpos684]) return;
74229 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74230 fra.me.file = LOCATE_parser;
74231 fra.me.line = 27833;
74232 fra.me.meth = LOCATE_parser___ReduceAction680___init;
74233 fra.me.has_broke = 0;
74234 fra.me.REG_size = 1;
74235 fra.me.REG[0] = NIT_NULL;
74236 fra.me.REG[0] = p0;
74237 /* ./parser//parser.nit:27833 */
74238 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
74239 stack_frame_head = fra.me.prev;
74240 init_table[itpos684] = 1;
74241 return;
74242 }
74243 void parser___ReduceAction681___action(val_t p0, val_t p1){
74244 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
74245 val_t REGB0;
74246 val_t REGB1;
74247 val_t tmp;
74248 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74249 fra.me.file = LOCATE_parser;
74250 fra.me.line = 27837;
74251 fra.me.meth = LOCATE_parser___ReduceAction681___action;
74252 fra.me.has_broke = 0;
74253 fra.me.REG_size = 5;
74254 fra.me.REG[0] = NIT_NULL;
74255 fra.me.REG[1] = NIT_NULL;
74256 fra.me.REG[2] = NIT_NULL;
74257 fra.me.REG[3] = NIT_NULL;
74258 fra.me.REG[4] = NIT_NULL;
74259 fra.me.REG[0] = p0;
74260 fra.me.REG[1] = p1;
74261 fra.me.REG[0] = NIT_NULL;
74262 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74263 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74264 fra.me.REG[4] = NEW_Array_array___Array___init();
74265 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
74266 /* ./parser//parser.nit:27844 */
74267 if (UNTAG_Bool(REGB0)) {
74268 } else {
74269 fprintf(stderr, "Assert failed");
74270 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27844);
74271 nit_exit(1);
74272 }
74273 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
74274 /* ./parser//parser.nit:27846 */
74275 if (UNTAG_Bool(REGB0)) {
74276 } else {
74277 fprintf(stderr, "Assert failed");
74278 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27846);
74279 nit_exit(1);
74280 }
74281 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
74282 /* ./parser//parser.nit:27848 */
74283 if (UNTAG_Bool(REGB0)) {
74284 fra.me.REG[4] = fra.me.REG[3];
74285 /* ./parser//parser.nit:27849 */
74286 } else {
74287 /* ./parser//parser.nit:27851 */
74288 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
74289 }
74290 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
74291 /* ./parser//parser.nit:27854 */
74292 if (UNTAG_Bool(REGB0)) {
74293 } else {
74294 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
74295 if (UNTAG_Bool(REGB1)) {
74296 REGB1 = TAG_Bool(false);
74297 REGB0 = REGB1;
74298 } else {
74299 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
74300 REGB0 = REGB1;
74301 }
74302 }
74303 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
74304 if (UNTAG_Bool(REGB0)) {
74305 /* ./parser//parser.nit:27855 */
74306 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
74307 }
74308 fra.me.REG[4] = NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___init_asuperstringexpr(fra.me.REG[4]);
74309 fra.me.REG[0] = fra.me.REG[4];
74310 REGB0 = TAG_Int(56);
74311 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
74312 /* ./parser//parser.nit:27861 */
74313 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
74314 stack_frame_head = fra.me.prev;
74315 return;
74316 }
74317 void parser___ReduceAction681___init(val_t p0, int* init_table){
74318 int itpos685 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction681].i;
74319 struct {struct stack_frame_t me;} fra;
74320 val_t tmp;
74321 if (init_table[itpos685]) return;
74322 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74323 fra.me.file = LOCATE_parser;
74324 fra.me.line = 27863;
74325 fra.me.meth = LOCATE_parser___ReduceAction681___init;
74326 fra.me.has_broke = 0;
74327 fra.me.REG_size = 1;
74328 fra.me.REG[0] = NIT_NULL;
74329 fra.me.REG[0] = p0;
74330 /* ./parser//parser.nit:27863 */
74331 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
74332 stack_frame_head = fra.me.prev;
74333 init_table[itpos685] = 1;
74334 return;
74335 }
74336 void parser___ReduceAction682___action(val_t p0, val_t p1){
74337 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
74338 val_t REGB0;
74339 val_t REGB1;
74340 val_t tmp;
74341 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74342 fra.me.file = LOCATE_parser;
74343 fra.me.line = 27867;
74344 fra.me.meth = LOCATE_parser___ReduceAction682___action;
74345 fra.me.has_broke = 0;
74346 fra.me.REG_size = 6;
74347 fra.me.REG[0] = NIT_NULL;
74348 fra.me.REG[1] = NIT_NULL;
74349 fra.me.REG[2] = NIT_NULL;
74350 fra.me.REG[3] = NIT_NULL;
74351 fra.me.REG[4] = NIT_NULL;
74352 fra.me.REG[5] = NIT_NULL;
74353 fra.me.REG[0] = p0;
74354 fra.me.REG[1] = p1;
74355 fra.me.REG[0] = NIT_NULL;
74356 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74357 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74358 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74359 fra.me.REG[5] = NEW_Array_array___Array___init();
74360 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
74361 /* ./parser//parser.nit:27875 */
74362 if (UNTAG_Bool(REGB0)) {
74363 } else {
74364 fprintf(stderr, "Assert failed");
74365 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27875);
74366 nit_exit(1);
74367 }
74368 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
74369 /* ./parser//parser.nit:27877 */
74370 if (UNTAG_Bool(REGB0)) {
74371 } else {
74372 fprintf(stderr, "Assert failed");
74373 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27877);
74374 nit_exit(1);
74375 }
74376 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
74377 /* ./parser//parser.nit:27879 */
74378 if (UNTAG_Bool(REGB0)) {
74379 } else {
74380 fprintf(stderr, "Assert failed");
74381 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27879);
74382 nit_exit(1);
74383 }
74384 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
74385 /* ./parser//parser.nit:27881 */
74386 if (UNTAG_Bool(REGB0)) {
74387 fra.me.REG[5] = fra.me.REG[4];
74388 /* ./parser//parser.nit:27882 */
74389 } else {
74390 /* ./parser//parser.nit:27884 */
74391 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
74392 }
74393 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
74394 /* ./parser//parser.nit:27888 */
74395 if (UNTAG_Bool(REGB0)) {
74396 fra.me.REG[5] = fra.me.REG[3];
74397 /* ./parser//parser.nit:27889 */
74398 } else {
74399 /* ./parser//parser.nit:27891 */
74400 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
74401 }
74402 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
74403 /* ./parser//parser.nit:27894 */
74404 if (UNTAG_Bool(REGB0)) {
74405 } else {
74406 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
74407 if (UNTAG_Bool(REGB1)) {
74408 REGB1 = TAG_Bool(false);
74409 REGB0 = REGB1;
74410 } else {
74411 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
74412 REGB0 = REGB1;
74413 }
74414 }
74415 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
74416 if (UNTAG_Bool(REGB0)) {
74417 /* ./parser//parser.nit:27895 */
74418 array___Array___add(fra.me.REG[5], fra.me.REG[2]);
74419 }
74420 fra.me.REG[5] = NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___init_asuperstringexpr(fra.me.REG[5]);
74421 fra.me.REG[0] = fra.me.REG[5];
74422 REGB0 = TAG_Int(56);
74423 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
74424 /* ./parser//parser.nit:27901 */
74425 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
74426 stack_frame_head = fra.me.prev;
74427 return;
74428 }
74429 void parser___ReduceAction682___init(val_t p0, int* init_table){
74430 int itpos686 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction682].i;
74431 struct {struct stack_frame_t me;} fra;
74432 val_t tmp;
74433 if (init_table[itpos686]) return;
74434 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74435 fra.me.file = LOCATE_parser;
74436 fra.me.line = 27903;
74437 fra.me.meth = LOCATE_parser___ReduceAction682___init;
74438 fra.me.has_broke = 0;
74439 fra.me.REG_size = 1;
74440 fra.me.REG[0] = NIT_NULL;
74441 fra.me.REG[0] = p0;
74442 /* ./parser//parser.nit:27903 */
74443 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
74444 stack_frame_head = fra.me.prev;
74445 init_table[itpos686] = 1;
74446 return;
74447 }
74448 void parser___ReduceAction683___action(val_t p0, val_t p1){
74449 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
74450 val_t REGB0;
74451 val_t REGB1;
74452 val_t tmp;
74453 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74454 fra.me.file = LOCATE_parser;
74455 fra.me.line = 27907;
74456 fra.me.meth = LOCATE_parser___ReduceAction683___action;
74457 fra.me.has_broke = 0;
74458 fra.me.REG_size = 5;
74459 fra.me.REG[0] = NIT_NULL;
74460 fra.me.REG[1] = NIT_NULL;
74461 fra.me.REG[2] = NIT_NULL;
74462 fra.me.REG[3] = NIT_NULL;
74463 fra.me.REG[4] = NIT_NULL;
74464 fra.me.REG[0] = p0;
74465 fra.me.REG[1] = p1;
74466 fra.me.REG[0] = NIT_NULL;
74467 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74468 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74469 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74470 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74471 fra.me.REG[4] = NEW_Array_array___Array___init();
74472 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
74473 /* ./parser//parser.nit:27916 */
74474 if (UNTAG_Bool(REGB0)) {
74475 } else {
74476 fprintf(stderr, "Assert failed");
74477 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27916);
74478 nit_exit(1);
74479 }
74480 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
74481 /* ./parser//parser.nit:27918 */
74482 if (UNTAG_Bool(REGB0)) {
74483 } else {
74484 fprintf(stderr, "Assert failed");
74485 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27918);
74486 nit_exit(1);
74487 }
74488 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
74489 /* ./parser//parser.nit:27919 */
74490 if (UNTAG_Bool(REGB0)) {
74491 } else {
74492 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
74493 if (UNTAG_Bool(REGB1)) {
74494 REGB1 = TAG_Bool(false);
74495 REGB0 = REGB1;
74496 } else {
74497 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
74498 REGB0 = REGB1;
74499 }
74500 }
74501 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
74502 if (UNTAG_Bool(REGB0)) {
74503 /* ./parser//parser.nit:27920 */
74504 array___Array___add(fra.me.REG[4], fra.me.REG[3]);
74505 }
74506 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
74507 /* ./parser//parser.nit:27922 */
74508 if (UNTAG_Bool(REGB0)) {
74509 } else {
74510 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
74511 if (UNTAG_Bool(REGB1)) {
74512 REGB1 = TAG_Bool(false);
74513 REGB0 = REGB1;
74514 } else {
74515 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
74516 REGB0 = REGB1;
74517 }
74518 }
74519 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
74520 if (UNTAG_Bool(REGB0)) {
74521 /* ./parser//parser.nit:27923 */
74522 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
74523 }
74524 fra.me.REG[0] = fra.me.REG[4];
74525 REGB0 = TAG_Int(57);
74526 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
74527 /* ./parser//parser.nit:27926 */
74528 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
74529 stack_frame_head = fra.me.prev;
74530 return;
74531 }
74532 void parser___ReduceAction683___init(val_t p0, int* init_table){
74533 int itpos687 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction683].i;
74534 struct {struct stack_frame_t me;} fra;
74535 val_t tmp;
74536 if (init_table[itpos687]) return;
74537 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74538 fra.me.file = LOCATE_parser;
74539 fra.me.line = 27928;
74540 fra.me.meth = LOCATE_parser___ReduceAction683___init;
74541 fra.me.has_broke = 0;
74542 fra.me.REG_size = 1;
74543 fra.me.REG[0] = NIT_NULL;
74544 fra.me.REG[0] = p0;
74545 /* ./parser//parser.nit:27928 */
74546 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
74547 stack_frame_head = fra.me.prev;
74548 init_table[itpos687] = 1;
74549 return;
74550 }
74551 void parser___ReduceAction684___action(val_t p0, val_t p1){
74552 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
74553 val_t REGB0;
74554 val_t tmp;
74555 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74556 fra.me.file = LOCATE_parser;
74557 fra.me.line = 27932;
74558 fra.me.meth = LOCATE_parser___ReduceAction684___action;
74559 fra.me.has_broke = 0;
74560 fra.me.REG_size = 3;
74561 fra.me.REG[0] = NIT_NULL;
74562 fra.me.REG[1] = NIT_NULL;
74563 fra.me.REG[2] = NIT_NULL;
74564 fra.me.REG[0] = p0;
74565 fra.me.REG[1] = p1;
74566 fra.me.REG[0] = NIT_NULL;
74567 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74568 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TStartString, ID_TStartString)) /*cast nullable TStartString*/;
74569 /* ./parser//parser.nit:27937 */
74570 if (UNTAG_Bool(REGB0)) {
74571 } else {
74572 fprintf(stderr, "Assert failed");
74573 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27937);
74574 nit_exit(1);
74575 }
74576 fra.me.REG[2] = NEW_AStartStringExpr_parser_prod___AStartStringExpr___init_astartstringexpr(fra.me.REG[2]);
74577 fra.me.REG[0] = fra.me.REG[2];
74578 REGB0 = TAG_Int(58);
74579 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
74580 /* ./parser//parser.nit:27942 */
74581 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
74582 stack_frame_head = fra.me.prev;
74583 return;
74584 }
74585 void parser___ReduceAction684___init(val_t p0, int* init_table){
74586 int itpos688 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction684].i;
74587 struct {struct stack_frame_t me;} fra;
74588 val_t tmp;
74589 if (init_table[itpos688]) return;
74590 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74591 fra.me.file = LOCATE_parser;
74592 fra.me.line = 27944;
74593 fra.me.meth = LOCATE_parser___ReduceAction684___init;
74594 fra.me.has_broke = 0;
74595 fra.me.REG_size = 1;
74596 fra.me.REG[0] = NIT_NULL;
74597 fra.me.REG[0] = p0;
74598 /* ./parser//parser.nit:27944 */
74599 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
74600 stack_frame_head = fra.me.prev;
74601 init_table[itpos688] = 1;
74602 return;
74603 }
74604 void parser___ReduceAction685___action(val_t p0, val_t p1){
74605 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
74606 val_t REGB0;
74607 val_t REGB1;
74608 val_t tmp;
74609 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74610 fra.me.file = LOCATE_parser;
74611 fra.me.line = 27948;
74612 fra.me.meth = LOCATE_parser___ReduceAction685___action;
74613 fra.me.has_broke = 0;
74614 fra.me.REG_size = 5;
74615 fra.me.REG[0] = NIT_NULL;
74616 fra.me.REG[1] = NIT_NULL;
74617 fra.me.REG[2] = NIT_NULL;
74618 fra.me.REG[3] = NIT_NULL;
74619 fra.me.REG[4] = NIT_NULL;
74620 fra.me.REG[0] = p0;
74621 fra.me.REG[1] = p1;
74622 fra.me.REG[0] = NIT_NULL;
74623 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74624 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74625 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74626 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74627 fra.me.REG[4] = NEW_Array_array___Array___init();
74628 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
74629 /* ./parser//parser.nit:27957 */
74630 if (UNTAG_Bool(REGB0)) {
74631 } else {
74632 fprintf(stderr, "Assert failed");
74633 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27957);
74634 nit_exit(1);
74635 }
74636 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
74637 /* ./parser//parser.nit:27959 */
74638 if (UNTAG_Bool(REGB0)) {
74639 } else {
74640 fprintf(stderr, "Assert failed");
74641 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27959);
74642 nit_exit(1);
74643 }
74644 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
74645 /* ./parser//parser.nit:27960 */
74646 if (UNTAG_Bool(REGB0)) {
74647 } else {
74648 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
74649 if (UNTAG_Bool(REGB1)) {
74650 REGB1 = TAG_Bool(false);
74651 REGB0 = REGB1;
74652 } else {
74653 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
74654 REGB0 = REGB1;
74655 }
74656 }
74657 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
74658 if (UNTAG_Bool(REGB0)) {
74659 /* ./parser//parser.nit:27961 */
74660 array___Array___add(fra.me.REG[4], fra.me.REG[3]);
74661 }
74662 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
74663 /* ./parser//parser.nit:27963 */
74664 if (UNTAG_Bool(REGB0)) {
74665 } else {
74666 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
74667 if (UNTAG_Bool(REGB1)) {
74668 REGB1 = TAG_Bool(false);
74669 REGB0 = REGB1;
74670 } else {
74671 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
74672 REGB0 = REGB1;
74673 }
74674 }
74675 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
74676 if (UNTAG_Bool(REGB0)) {
74677 /* ./parser//parser.nit:27964 */
74678 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
74679 }
74680 fra.me.REG[0] = fra.me.REG[4];
74681 REGB0 = TAG_Int(59);
74682 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
74683 /* ./parser//parser.nit:27967 */
74684 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
74685 stack_frame_head = fra.me.prev;
74686 return;
74687 }
74688 void parser___ReduceAction685___init(val_t p0, int* init_table){
74689 int itpos689 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction685].i;
74690 struct {struct stack_frame_t me;} fra;
74691 val_t tmp;
74692 if (init_table[itpos689]) return;
74693 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74694 fra.me.file = LOCATE_parser;
74695 fra.me.line = 27969;
74696 fra.me.meth = LOCATE_parser___ReduceAction685___init;
74697 fra.me.has_broke = 0;
74698 fra.me.REG_size = 1;
74699 fra.me.REG[0] = NIT_NULL;
74700 fra.me.REG[0] = p0;
74701 /* ./parser//parser.nit:27969 */
74702 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
74703 stack_frame_head = fra.me.prev;
74704 init_table[itpos689] = 1;
74705 return;
74706 }
74707 void parser___ReduceAction686___action(val_t p0, val_t p1){
74708 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
74709 val_t REGB0;
74710 val_t tmp;
74711 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74712 fra.me.file = LOCATE_parser;
74713 fra.me.line = 27973;
74714 fra.me.meth = LOCATE_parser___ReduceAction686___action;
74715 fra.me.has_broke = 0;
74716 fra.me.REG_size = 3;
74717 fra.me.REG[0] = NIT_NULL;
74718 fra.me.REG[1] = NIT_NULL;
74719 fra.me.REG[2] = NIT_NULL;
74720 fra.me.REG[0] = p0;
74721 fra.me.REG[1] = p1;
74722 fra.me.REG[0] = NIT_NULL;
74723 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74724 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TMidString, ID_TMidString)) /*cast nullable TMidString*/;
74725 /* ./parser//parser.nit:27978 */
74726 if (UNTAG_Bool(REGB0)) {
74727 } else {
74728 fprintf(stderr, "Assert failed");
74729 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27978);
74730 nit_exit(1);
74731 }
74732 fra.me.REG[2] = NEW_AMidStringExpr_parser_prod___AMidStringExpr___init_amidstringexpr(fra.me.REG[2]);
74733 fra.me.REG[0] = fra.me.REG[2];
74734 REGB0 = TAG_Int(60);
74735 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
74736 /* ./parser//parser.nit:27983 */
74737 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
74738 stack_frame_head = fra.me.prev;
74739 return;
74740 }
74741 void parser___ReduceAction686___init(val_t p0, int* init_table){
74742 int itpos690 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction686].i;
74743 struct {struct stack_frame_t me;} fra;
74744 val_t tmp;
74745 if (init_table[itpos690]) return;
74746 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74747 fra.me.file = LOCATE_parser;
74748 fra.me.line = 27985;
74749 fra.me.meth = LOCATE_parser___ReduceAction686___init;
74750 fra.me.has_broke = 0;
74751 fra.me.REG_size = 1;
74752 fra.me.REG[0] = NIT_NULL;
74753 fra.me.REG[0] = p0;
74754 /* ./parser//parser.nit:27985 */
74755 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
74756 stack_frame_head = fra.me.prev;
74757 init_table[itpos690] = 1;
74758 return;
74759 }
74760 void parser___ReduceAction687___action(val_t p0, val_t p1){
74761 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
74762 val_t REGB0;
74763 val_t tmp;
74764 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74765 fra.me.file = LOCATE_parser;
74766 fra.me.line = 27989;
74767 fra.me.meth = LOCATE_parser___ReduceAction687___action;
74768 fra.me.has_broke = 0;
74769 fra.me.REG_size = 3;
74770 fra.me.REG[0] = NIT_NULL;
74771 fra.me.REG[1] = NIT_NULL;
74772 fra.me.REG[2] = NIT_NULL;
74773 fra.me.REG[0] = p0;
74774 fra.me.REG[1] = p1;
74775 fra.me.REG[0] = NIT_NULL;
74776 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74777 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TEndString, ID_TEndString)) /*cast nullable TEndString*/;
74778 /* ./parser//parser.nit:27994 */
74779 if (UNTAG_Bool(REGB0)) {
74780 } else {
74781 fprintf(stderr, "Assert failed");
74782 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27994);
74783 nit_exit(1);
74784 }
74785 fra.me.REG[2] = NEW_AEndStringExpr_parser_prod___AEndStringExpr___init_aendstringexpr(fra.me.REG[2]);
74786 fra.me.REG[0] = fra.me.REG[2];
74787 REGB0 = TAG_Int(61);
74788 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
74789 /* ./parser//parser.nit:27999 */
74790 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
74791 stack_frame_head = fra.me.prev;
74792 return;
74793 }
74794 void parser___ReduceAction687___init(val_t p0, int* init_table){
74795 int itpos691 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction687].i;
74796 struct {struct stack_frame_t me;} fra;
74797 val_t tmp;
74798 if (init_table[itpos691]) return;
74799 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74800 fra.me.file = LOCATE_parser;
74801 fra.me.line = 28001;
74802 fra.me.meth = LOCATE_parser___ReduceAction687___init;
74803 fra.me.has_broke = 0;
74804 fra.me.REG_size = 1;
74805 fra.me.REG[0] = NIT_NULL;
74806 fra.me.REG[0] = p0;
74807 /* ./parser//parser.nit:28001 */
74808 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
74809 stack_frame_head = fra.me.prev;
74810 init_table[itpos691] = 1;
74811 return;
74812 }
74813 void parser___ReduceAction688___action(val_t p0, val_t p1){
74814 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
74815 val_t REGB0;
74816 val_t REGB1;
74817 val_t tmp;
74818 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74819 fra.me.file = LOCATE_parser;
74820 fra.me.line = 28005;
74821 fra.me.meth = LOCATE_parser___ReduceAction688___action;
74822 fra.me.has_broke = 0;
74823 fra.me.REG_size = 4;
74824 fra.me.REG[0] = NIT_NULL;
74825 fra.me.REG[1] = NIT_NULL;
74826 fra.me.REG[2] = NIT_NULL;
74827 fra.me.REG[3] = NIT_NULL;
74828 fra.me.REG[0] = p0;
74829 fra.me.REG[1] = p1;
74830 fra.me.REG[0] = NIT_NULL;
74831 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74832 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74833 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74834 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74835 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74836 fra.me.REG[3] = NEW_Array_array___Array___init();
74837 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
74838 /* ./parser//parser.nit:28015 */
74839 if (UNTAG_Bool(REGB0)) {
74840 } else {
74841 fprintf(stderr, "Assert failed");
74842 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28015);
74843 nit_exit(1);
74844 }
74845 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
74846 /* ./parser//parser.nit:28016 */
74847 if (UNTAG_Bool(REGB0)) {
74848 } else {
74849 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
74850 if (UNTAG_Bool(REGB1)) {
74851 REGB1 = TAG_Bool(false);
74852 REGB0 = REGB1;
74853 } else {
74854 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
74855 REGB0 = REGB1;
74856 }
74857 }
74858 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
74859 if (UNTAG_Bool(REGB0)) {
74860 /* ./parser//parser.nit:28017 */
74861 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
74862 }
74863 fra.me.REG[0] = fra.me.REG[3];
74864 REGB0 = TAG_Int(62);
74865 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
74866 /* ./parser//parser.nit:28020 */
74867 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
74868 stack_frame_head = fra.me.prev;
74869 return;
74870 }
74871 void parser___ReduceAction688___init(val_t p0, int* init_table){
74872 int itpos692 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction688].i;
74873 struct {struct stack_frame_t me;} fra;
74874 val_t tmp;
74875 if (init_table[itpos692]) return;
74876 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74877 fra.me.file = LOCATE_parser;
74878 fra.me.line = 28022;
74879 fra.me.meth = LOCATE_parser___ReduceAction688___init;
74880 fra.me.has_broke = 0;
74881 fra.me.REG_size = 1;
74882 fra.me.REG[0] = NIT_NULL;
74883 fra.me.REG[0] = p0;
74884 /* ./parser//parser.nit:28022 */
74885 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
74886 stack_frame_head = fra.me.prev;
74887 init_table[itpos692] = 1;
74888 return;
74889 }
74890 void parser___ReduceAction689___action(val_t p0, val_t p1){
74891 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
74892 val_t REGB0;
74893 val_t REGB1;
74894 val_t tmp;
74895 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74896 fra.me.file = LOCATE_parser;
74897 fra.me.line = 28026;
74898 fra.me.meth = LOCATE_parser___ReduceAction689___action;
74899 fra.me.has_broke = 0;
74900 fra.me.REG_size = 5;
74901 fra.me.REG[0] = NIT_NULL;
74902 fra.me.REG[1] = NIT_NULL;
74903 fra.me.REG[2] = NIT_NULL;
74904 fra.me.REG[3] = NIT_NULL;
74905 fra.me.REG[4] = NIT_NULL;
74906 fra.me.REG[0] = p0;
74907 fra.me.REG[1] = p1;
74908 fra.me.REG[0] = NIT_NULL;
74909 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74910 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74911 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74912 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74913 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74914 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
74915 fra.me.REG[4] = NEW_Array_array___Array___init();
74916 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
74917 /* ./parser//parser.nit:28037 */
74918 if (UNTAG_Bool(REGB0)) {
74919 } else {
74920 fprintf(stderr, "Assert failed");
74921 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28037);
74922 nit_exit(1);
74923 }
74924 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
74925 /* ./parser//parser.nit:28039 */
74926 if (UNTAG_Bool(REGB0)) {
74927 } else {
74928 fprintf(stderr, "Assert failed");
74929 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28039);
74930 nit_exit(1);
74931 }
74932 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
74933 /* ./parser//parser.nit:28040 */
74934 if (UNTAG_Bool(REGB0)) {
74935 } else {
74936 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
74937 if (UNTAG_Bool(REGB1)) {
74938 REGB1 = TAG_Bool(false);
74939 REGB0 = REGB1;
74940 } else {
74941 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
74942 REGB0 = REGB1;
74943 }
74944 }
74945 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
74946 if (UNTAG_Bool(REGB0)) {
74947 /* ./parser//parser.nit:28041 */
74948 array___Array___add(fra.me.REG[4], fra.me.REG[3]);
74949 }
74950 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
74951 /* ./parser//parser.nit:28044 */
74952 if (UNTAG_Bool(REGB0)) {
74953 fra.me.REG[4] = fra.me.REG[2];
74954 /* ./parser//parser.nit:28045 */
74955 } else {
74956 /* ./parser//parser.nit:28047 */
74957 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
74958 }
74959 fra.me.REG[0] = fra.me.REG[4];
74960 REGB0 = TAG_Int(62);
74961 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
74962 /* ./parser//parser.nit:28051 */
74963 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
74964 stack_frame_head = fra.me.prev;
74965 return;
74966 }
74967 void parser___ReduceAction689___init(val_t p0, int* init_table){
74968 int itpos693 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction689].i;
74969 struct {struct stack_frame_t me;} fra;
74970 val_t tmp;
74971 if (init_table[itpos693]) return;
74972 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74973 fra.me.file = LOCATE_parser;
74974 fra.me.line = 28053;
74975 fra.me.meth = LOCATE_parser___ReduceAction689___init;
74976 fra.me.has_broke = 0;
74977 fra.me.REG_size = 1;
74978 fra.me.REG[0] = NIT_NULL;
74979 fra.me.REG[0] = p0;
74980 /* ./parser//parser.nit:28053 */
74981 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
74982 stack_frame_head = fra.me.prev;
74983 init_table[itpos693] = 1;
74984 return;
74985 }
74986 void parser___ReduceAction690___action(val_t p0, val_t p1){
74987 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
74988 val_t REGB0;
74989 val_t tmp;
74990 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74991 fra.me.file = LOCATE_parser;
74992 fra.me.line = 28057;
74993 fra.me.meth = LOCATE_parser___ReduceAction690___action;
74994 fra.me.has_broke = 0;
74995 fra.me.REG_size = 3;
74996 fra.me.REG[0] = NIT_NULL;
74997 fra.me.REG[1] = NIT_NULL;
74998 fra.me.REG[2] = NIT_NULL;
74999 fra.me.REG[0] = p0;
75000 fra.me.REG[1] = p1;
75001 fra.me.REG[0] = NIT_NULL;
75002 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75003 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75004 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75005 fra.me.REG[2] = NEW_Array_array___Array___init();
75006 fra.me.REG[0] = fra.me.REG[2];
75007 REGB0 = TAG_Int(62);
75008 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
75009 /* ./parser//parser.nit:28065 */
75010 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
75011 stack_frame_head = fra.me.prev;
75012 return;
75013 }
75014 void parser___ReduceAction690___init(val_t p0, int* init_table){
75015 int itpos694 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction690].i;
75016 struct {struct stack_frame_t me;} fra;
75017 val_t tmp;
75018 if (init_table[itpos694]) return;
75019 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75020 fra.me.file = LOCATE_parser;
75021 fra.me.line = 28067;
75022 fra.me.meth = LOCATE_parser___ReduceAction690___init;
75023 fra.me.has_broke = 0;
75024 fra.me.REG_size = 1;
75025 fra.me.REG[0] = NIT_NULL;
75026 fra.me.REG[0] = p0;
75027 /* ./parser//parser.nit:28067 */
75028 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
75029 stack_frame_head = fra.me.prev;
75030 init_table[itpos694] = 1;
75031 return;
75032 }
75033 void parser___ReduceAction691___action(val_t p0, val_t p1){
75034 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
75035 val_t REGB0;
75036 val_t tmp;
75037 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75038 fra.me.file = LOCATE_parser;
75039 fra.me.line = 28071;
75040 fra.me.meth = LOCATE_parser___ReduceAction691___action;
75041 fra.me.has_broke = 0;
75042 fra.me.REG_size = 3;
75043 fra.me.REG[0] = NIT_NULL;
75044 fra.me.REG[1] = NIT_NULL;
75045 fra.me.REG[2] = NIT_NULL;
75046 fra.me.REG[0] = p0;
75047 fra.me.REG[1] = p1;
75048 fra.me.REG[0] = NIT_NULL;
75049 fra.me.REG[2] = NEW_Array_array___Array___init();
75050 fra.me.REG[0] = fra.me.REG[2];
75051 REGB0 = TAG_Int(62);
75052 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
75053 /* ./parser//parser.nit:28076 */
75054 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
75055 stack_frame_head = fra.me.prev;
75056 return;
75057 }
75058 void parser___ReduceAction691___init(val_t p0, int* init_table){
75059 int itpos695 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction691].i;
75060 struct {struct stack_frame_t me;} fra;
75061 val_t tmp;
75062 if (init_table[itpos695]) return;
75063 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75064 fra.me.file = LOCATE_parser;
75065 fra.me.line = 28078;
75066 fra.me.meth = LOCATE_parser___ReduceAction691___init;
75067 fra.me.has_broke = 0;
75068 fra.me.REG_size = 1;
75069 fra.me.REG[0] = NIT_NULL;
75070 fra.me.REG[0] = p0;
75071 /* ./parser//parser.nit:28078 */
75072 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
75073 stack_frame_head = fra.me.prev;
75074 init_table[itpos695] = 1;
75075 return;
75076 }
75077 void parser___ReduceAction692___action(val_t p0, val_t p1){
75078 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
75079 val_t REGB0;
75080 val_t REGB1;
75081 val_t tmp;
75082 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75083 fra.me.file = LOCATE_parser;
75084 fra.me.line = 28082;
75085 fra.me.meth = LOCATE_parser___ReduceAction692___action;
75086 fra.me.has_broke = 0;
75087 fra.me.REG_size = 4;
75088 fra.me.REG[0] = NIT_NULL;
75089 fra.me.REG[1] = NIT_NULL;
75090 fra.me.REG[2] = NIT_NULL;
75091 fra.me.REG[3] = NIT_NULL;
75092 fra.me.REG[0] = p0;
75093 fra.me.REG[1] = p1;
75094 fra.me.REG[0] = NIT_NULL;
75095 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75096 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75097 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75098 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75099 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75100 fra.me.REG[3] = NEW_Array_array___Array___init();
75101 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
75102 /* ./parser//parser.nit:28092 */
75103 if (UNTAG_Bool(REGB0)) {
75104 } else {
75105 fprintf(stderr, "Assert failed");
75106 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28092);
75107 nit_exit(1);
75108 }
75109 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
75110 /* ./parser//parser.nit:28093 */
75111 if (UNTAG_Bool(REGB0)) {
75112 } else {
75113 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
75114 if (UNTAG_Bool(REGB1)) {
75115 REGB1 = TAG_Bool(false);
75116 REGB0 = REGB1;
75117 } else {
75118 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
75119 REGB0 = REGB1;
75120 }
75121 }
75122 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
75123 if (UNTAG_Bool(REGB0)) {
75124 /* ./parser//parser.nit:28094 */
75125 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
75126 }
75127 fra.me.REG[0] = fra.me.REG[3];
75128 REGB0 = TAG_Int(63);
75129 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
75130 /* ./parser//parser.nit:28097 */
75131 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
75132 stack_frame_head = fra.me.prev;
75133 return;
75134 }
75135 void parser___ReduceAction692___init(val_t p0, int* init_table){
75136 int itpos696 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction692].i;
75137 struct {struct stack_frame_t me;} fra;
75138 val_t tmp;
75139 if (init_table[itpos696]) return;
75140 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75141 fra.me.file = LOCATE_parser;
75142 fra.me.line = 28099;
75143 fra.me.meth = LOCATE_parser___ReduceAction692___init;
75144 fra.me.has_broke = 0;
75145 fra.me.REG_size = 1;
75146 fra.me.REG[0] = NIT_NULL;
75147 fra.me.REG[0] = p0;
75148 /* ./parser//parser.nit:28099 */
75149 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
75150 stack_frame_head = fra.me.prev;
75151 init_table[itpos696] = 1;
75152 return;
75153 }
75154 void parser___ReduceAction693___action(val_t p0, val_t p1){
75155 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
75156 val_t REGB0;
75157 val_t REGB1;
75158 val_t tmp;
75159 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75160 fra.me.file = LOCATE_parser;
75161 fra.me.line = 28103;
75162 fra.me.meth = LOCATE_parser___ReduceAction693___action;
75163 fra.me.has_broke = 0;
75164 fra.me.REG_size = 5;
75165 fra.me.REG[0] = NIT_NULL;
75166 fra.me.REG[1] = NIT_NULL;
75167 fra.me.REG[2] = NIT_NULL;
75168 fra.me.REG[3] = NIT_NULL;
75169 fra.me.REG[4] = NIT_NULL;
75170 fra.me.REG[0] = p0;
75171 fra.me.REG[1] = p1;
75172 fra.me.REG[0] = NIT_NULL;
75173 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75174 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75175 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75176 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75177 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75178 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75179 fra.me.REG[4] = NEW_Array_array___Array___init();
75180 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
75181 /* ./parser//parser.nit:28114 */
75182 if (UNTAG_Bool(REGB0)) {
75183 } else {
75184 fprintf(stderr, "Assert failed");
75185 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28114);
75186 nit_exit(1);
75187 }
75188 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
75189 /* ./parser//parser.nit:28116 */
75190 if (UNTAG_Bool(REGB0)) {
75191 } else {
75192 fprintf(stderr, "Assert failed");
75193 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28116);
75194 nit_exit(1);
75195 }
75196 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
75197 /* ./parser//parser.nit:28117 */
75198 if (UNTAG_Bool(REGB0)) {
75199 } else {
75200 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
75201 if (UNTAG_Bool(REGB1)) {
75202 REGB1 = TAG_Bool(false);
75203 REGB0 = REGB1;
75204 } else {
75205 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
75206 REGB0 = REGB1;
75207 }
75208 }
75209 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
75210 if (UNTAG_Bool(REGB0)) {
75211 /* ./parser//parser.nit:28118 */
75212 array___Array___add(fra.me.REG[4], fra.me.REG[3]);
75213 }
75214 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
75215 /* ./parser//parser.nit:28121 */
75216 if (UNTAG_Bool(REGB0)) {
75217 fra.me.REG[4] = fra.me.REG[2];
75218 /* ./parser//parser.nit:28122 */
75219 } else {
75220 /* ./parser//parser.nit:28124 */
75221 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
75222 }
75223 fra.me.REG[0] = fra.me.REG[4];
75224 REGB0 = TAG_Int(63);
75225 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
75226 /* ./parser//parser.nit:28128 */
75227 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
75228 stack_frame_head = fra.me.prev;
75229 return;
75230 }
75231 void parser___ReduceAction693___init(val_t p0, int* init_table){
75232 int itpos697 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction693].i;
75233 struct {struct stack_frame_t me;} fra;
75234 val_t tmp;
75235 if (init_table[itpos697]) return;
75236 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75237 fra.me.file = LOCATE_parser;
75238 fra.me.line = 28130;
75239 fra.me.meth = LOCATE_parser___ReduceAction693___init;
75240 fra.me.has_broke = 0;
75241 fra.me.REG_size = 1;
75242 fra.me.REG[0] = NIT_NULL;
75243 fra.me.REG[0] = p0;
75244 /* ./parser//parser.nit:28130 */
75245 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
75246 stack_frame_head = fra.me.prev;
75247 init_table[itpos697] = 1;
75248 return;
75249 }
75250 void parser___ReduceAction694___action(val_t p0, val_t p1){
75251 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
75252 val_t REGB0;
75253 val_t REGB1;
75254 val_t tmp;
75255 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75256 fra.me.file = LOCATE_parser;
75257 fra.me.line = 28134;
75258 fra.me.meth = LOCATE_parser___ReduceAction694___action;
75259 fra.me.has_broke = 0;
75260 fra.me.REG_size = 4;
75261 fra.me.REG[0] = NIT_NULL;
75262 fra.me.REG[1] = NIT_NULL;
75263 fra.me.REG[2] = NIT_NULL;
75264 fra.me.REG[3] = NIT_NULL;
75265 fra.me.REG[0] = p0;
75266 fra.me.REG[1] = p1;
75267 fra.me.REG[0] = NIT_NULL;
75268 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75269 fra.me.REG[3] = NEW_Array_array___Array___init();
75270 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
75271 /* ./parser//parser.nit:28140 */
75272 if (UNTAG_Bool(REGB0)) {
75273 } else {
75274 fprintf(stderr, "Assert failed");
75275 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28140);
75276 nit_exit(1);
75277 }
75278 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
75279 /* ./parser//parser.nit:28141 */
75280 if (UNTAG_Bool(REGB0)) {
75281 } else {
75282 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
75283 if (UNTAG_Bool(REGB1)) {
75284 REGB1 = TAG_Bool(false);
75285 REGB0 = REGB1;
75286 } else {
75287 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
75288 REGB0 = REGB1;
75289 }
75290 }
75291 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
75292 if (UNTAG_Bool(REGB0)) {
75293 /* ./parser//parser.nit:28142 */
75294 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
75295 }
75296 fra.me.REG[0] = fra.me.REG[3];
75297 REGB0 = TAG_Int(63);
75298 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
75299 /* ./parser//parser.nit:28145 */
75300 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
75301 stack_frame_head = fra.me.prev;
75302 return;
75303 }
75304 void parser___ReduceAction694___init(val_t p0, int* init_table){
75305 int itpos698 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction694].i;
75306 struct {struct stack_frame_t me;} fra;
75307 val_t tmp;
75308 if (init_table[itpos698]) return;
75309 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75310 fra.me.file = LOCATE_parser;
75311 fra.me.line = 28147;
75312 fra.me.meth = LOCATE_parser___ReduceAction694___init;
75313 fra.me.has_broke = 0;
75314 fra.me.REG_size = 1;
75315 fra.me.REG[0] = NIT_NULL;
75316 fra.me.REG[0] = p0;
75317 /* ./parser//parser.nit:28147 */
75318 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
75319 stack_frame_head = fra.me.prev;
75320 init_table[itpos698] = 1;
75321 return;
75322 }
75323 void parser___ReduceAction695___action(val_t p0, val_t p1){
75324 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
75325 val_t REGB0;
75326 val_t tmp;
75327 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75328 fra.me.file = LOCATE_parser;
75329 fra.me.line = 28151;
75330 fra.me.meth = LOCATE_parser___ReduceAction695___action;
75331 fra.me.has_broke = 0;
75332 fra.me.REG_size = 3;
75333 fra.me.REG[0] = NIT_NULL;
75334 fra.me.REG[1] = NIT_NULL;
75335 fra.me.REG[2] = NIT_NULL;
75336 fra.me.REG[0] = p0;
75337 fra.me.REG[1] = p1;
75338 fra.me.REG[0] = NIT_NULL;
75339 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75340 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75341 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75342 fra.me.REG[2] = NEW_Array_array___Array___init();
75343 fra.me.REG[0] = fra.me.REG[2];
75344 REGB0 = TAG_Int(63);
75345 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
75346 /* ./parser//parser.nit:28159 */
75347 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
75348 stack_frame_head = fra.me.prev;
75349 return;
75350 }
75351 void parser___ReduceAction695___init(val_t p0, int* init_table){
75352 int itpos699 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction695].i;
75353 struct {struct stack_frame_t me;} fra;
75354 val_t tmp;
75355 if (init_table[itpos699]) return;
75356 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75357 fra.me.file = LOCATE_parser;
75358 fra.me.line = 28161;
75359 fra.me.meth = LOCATE_parser___ReduceAction695___init;
75360 fra.me.has_broke = 0;
75361 fra.me.REG_size = 1;
75362 fra.me.REG[0] = NIT_NULL;
75363 fra.me.REG[0] = p0;
75364 /* ./parser//parser.nit:28161 */
75365 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
75366 stack_frame_head = fra.me.prev;
75367 init_table[itpos699] = 1;
75368 return;
75369 }
75370 void parser___ReduceAction696___action(val_t p0, val_t p1){
75371 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
75372 val_t REGB0;
75373 val_t tmp;
75374 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75375 fra.me.file = LOCATE_parser;
75376 fra.me.line = 28165;
75377 fra.me.meth = LOCATE_parser___ReduceAction696___action;
75378 fra.me.has_broke = 0;
75379 fra.me.REG_size = 3;
75380 fra.me.REG[0] = NIT_NULL;
75381 fra.me.REG[1] = NIT_NULL;
75382 fra.me.REG[2] = NIT_NULL;
75383 fra.me.REG[0] = p0;
75384 fra.me.REG[1] = p1;
75385 fra.me.REG[0] = NIT_NULL;
75386 fra.me.REG[2] = NEW_Array_array___Array___init();
75387 fra.me.REG[0] = fra.me.REG[2];
75388 REGB0 = TAG_Int(63);
75389 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
75390 /* ./parser//parser.nit:28170 */
75391 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
75392 stack_frame_head = fra.me.prev;
75393 return;
75394 }
75395 void parser___ReduceAction696___init(val_t p0, int* init_table){
75396 int itpos700 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction696].i;
75397 struct {struct stack_frame_t me;} fra;
75398 val_t tmp;
75399 if (init_table[itpos700]) return;
75400 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75401 fra.me.file = LOCATE_parser;
75402 fra.me.line = 28172;
75403 fra.me.meth = LOCATE_parser___ReduceAction696___init;
75404 fra.me.has_broke = 0;
75405 fra.me.REG_size = 1;
75406 fra.me.REG[0] = NIT_NULL;
75407 fra.me.REG[0] = p0;
75408 /* ./parser//parser.nit:28172 */
75409 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
75410 stack_frame_head = fra.me.prev;
75411 init_table[itpos700] = 1;
75412 return;
75413 }
75414 void parser___ReduceAction697___action(val_t p0, val_t p1){
75415 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
75416 val_t REGB0;
75417 val_t REGB1;
75418 val_t tmp;
75419 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75420 fra.me.file = LOCATE_parser;
75421 fra.me.line = 28176;
75422 fra.me.meth = LOCATE_parser___ReduceAction697___action;
75423 fra.me.has_broke = 0;
75424 fra.me.REG_size = 4;
75425 fra.me.REG[0] = NIT_NULL;
75426 fra.me.REG[1] = NIT_NULL;
75427 fra.me.REG[2] = NIT_NULL;
75428 fra.me.REG[3] = NIT_NULL;
75429 fra.me.REG[0] = p0;
75430 fra.me.REG[1] = p1;
75431 fra.me.REG[0] = NIT_NULL;
75432 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75433 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75434 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75435 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75436 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75437 fra.me.REG[3] = NEW_Array_array___Array___init();
75438 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
75439 /* ./parser//parser.nit:28186 */
75440 if (UNTAG_Bool(REGB0)) {
75441 } else {
75442 fprintf(stderr, "Assert failed");
75443 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28186);
75444 nit_exit(1);
75445 }
75446 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
75447 /* ./parser//parser.nit:28187 */
75448 if (UNTAG_Bool(REGB0)) {
75449 } else {
75450 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
75451 if (UNTAG_Bool(REGB1)) {
75452 REGB1 = TAG_Bool(false);
75453 REGB0 = REGB1;
75454 } else {
75455 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
75456 REGB0 = REGB1;
75457 }
75458 }
75459 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
75460 if (UNTAG_Bool(REGB0)) {
75461 /* ./parser//parser.nit:28188 */
75462 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
75463 }
75464 fra.me.REG[0] = fra.me.REG[3];
75465 REGB0 = TAG_Int(64);
75466 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
75467 /* ./parser//parser.nit:28191 */
75468 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
75469 stack_frame_head = fra.me.prev;
75470 return;
75471 }
75472 void parser___ReduceAction697___init(val_t p0, int* init_table){
75473 int itpos701 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction697].i;
75474 struct {struct stack_frame_t me;} fra;
75475 val_t tmp;
75476 if (init_table[itpos701]) return;
75477 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75478 fra.me.file = LOCATE_parser;
75479 fra.me.line = 28193;
75480 fra.me.meth = LOCATE_parser___ReduceAction697___init;
75481 fra.me.has_broke = 0;
75482 fra.me.REG_size = 1;
75483 fra.me.REG[0] = NIT_NULL;
75484 fra.me.REG[0] = p0;
75485 /* ./parser//parser.nit:28193 */
75486 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
75487 stack_frame_head = fra.me.prev;
75488 init_table[itpos701] = 1;
75489 return;
75490 }
75491 void parser___ReduceAction698___action(val_t p0, val_t p1){
75492 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
75493 val_t REGB0;
75494 val_t REGB1;
75495 val_t tmp;
75496 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75497 fra.me.file = LOCATE_parser;
75498 fra.me.line = 28197;
75499 fra.me.meth = LOCATE_parser___ReduceAction698___action;
75500 fra.me.has_broke = 0;
75501 fra.me.REG_size = 5;
75502 fra.me.REG[0] = NIT_NULL;
75503 fra.me.REG[1] = NIT_NULL;
75504 fra.me.REG[2] = NIT_NULL;
75505 fra.me.REG[3] = NIT_NULL;
75506 fra.me.REG[4] = NIT_NULL;
75507 fra.me.REG[0] = p0;
75508 fra.me.REG[1] = p1;
75509 fra.me.REG[0] = NIT_NULL;
75510 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75511 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75512 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75513 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75514 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75515 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75516 fra.me.REG[4] = NEW_Array_array___Array___init();
75517 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
75518 /* ./parser//parser.nit:28208 */
75519 if (UNTAG_Bool(REGB0)) {
75520 } else {
75521 fprintf(stderr, "Assert failed");
75522 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28208);
75523 nit_exit(1);
75524 }
75525 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
75526 /* ./parser//parser.nit:28210 */
75527 if (UNTAG_Bool(REGB0)) {
75528 } else {
75529 fprintf(stderr, "Assert failed");
75530 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28210);
75531 nit_exit(1);
75532 }
75533 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
75534 /* ./parser//parser.nit:28211 */
75535 if (UNTAG_Bool(REGB0)) {
75536 } else {
75537 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
75538 if (UNTAG_Bool(REGB1)) {
75539 REGB1 = TAG_Bool(false);
75540 REGB0 = REGB1;
75541 } else {
75542 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
75543 REGB0 = REGB1;
75544 }
75545 }
75546 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
75547 if (UNTAG_Bool(REGB0)) {
75548 /* ./parser//parser.nit:28212 */
75549 array___Array___add(fra.me.REG[4], fra.me.REG[3]);
75550 }
75551 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
75552 /* ./parser//parser.nit:28215 */
75553 if (UNTAG_Bool(REGB0)) {
75554 fra.me.REG[4] = fra.me.REG[2];
75555 /* ./parser//parser.nit:28216 */
75556 } else {
75557 /* ./parser//parser.nit:28218 */
75558 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
75559 }
75560 fra.me.REG[0] = fra.me.REG[4];
75561 REGB0 = TAG_Int(64);
75562 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
75563 /* ./parser//parser.nit:28222 */
75564 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
75565 stack_frame_head = fra.me.prev;
75566 return;
75567 }
75568 void parser___ReduceAction698___init(val_t p0, int* init_table){
75569 int itpos702 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction698].i;
75570 struct {struct stack_frame_t me;} fra;
75571 val_t tmp;
75572 if (init_table[itpos702]) return;
75573 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75574 fra.me.file = LOCATE_parser;
75575 fra.me.line = 28224;
75576 fra.me.meth = LOCATE_parser___ReduceAction698___init;
75577 fra.me.has_broke = 0;
75578 fra.me.REG_size = 1;
75579 fra.me.REG[0] = NIT_NULL;
75580 fra.me.REG[0] = p0;
75581 /* ./parser//parser.nit:28224 */
75582 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
75583 stack_frame_head = fra.me.prev;
75584 init_table[itpos702] = 1;
75585 return;
75586 }
75587 void parser___ReduceAction699___action(val_t p0, val_t p1){
75588 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
75589 val_t REGB0;
75590 val_t tmp;
75591 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75592 fra.me.file = LOCATE_parser;
75593 fra.me.line = 28228;
75594 fra.me.meth = LOCATE_parser___ReduceAction699___action;
75595 fra.me.has_broke = 0;
75596 fra.me.REG_size = 4;
75597 fra.me.REG[0] = NIT_NULL;
75598 fra.me.REG[1] = NIT_NULL;
75599 fra.me.REG[2] = NIT_NULL;
75600 fra.me.REG[3] = NIT_NULL;
75601 fra.me.REG[0] = p0;
75602 fra.me.REG[1] = p1;
75603 fra.me.REG[0] = NIT_NULL;
75604 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75605 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75606 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75607 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75608 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
75609 /* ./parser//parser.nit:28236 */
75610 if (UNTAG_Bool(REGB0)) {
75611 } else {
75612 fprintf(stderr, "Assert failed");
75613 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28236);
75614 nit_exit(1);
75615 }
75616 fra.me.REG[0] = fra.me.REG[2];
75617 REGB0 = TAG_Int(65);
75618 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
75619 /* ./parser//parser.nit:28238 */
75620 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
75621 stack_frame_head = fra.me.prev;
75622 return;
75623 }
75624 void parser___ReduceAction699___init(val_t p0, int* init_table){
75625 int itpos703 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction699].i;
75626 struct {struct stack_frame_t me;} fra;
75627 val_t tmp;
75628 if (init_table[itpos703]) return;
75629 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75630 fra.me.file = LOCATE_parser;
75631 fra.me.line = 28240;
75632 fra.me.meth = LOCATE_parser___ReduceAction699___init;
75633 fra.me.has_broke = 0;
75634 fra.me.REG_size = 1;
75635 fra.me.REG[0] = NIT_NULL;
75636 fra.me.REG[0] = p0;
75637 /* ./parser//parser.nit:28240 */
75638 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
75639 stack_frame_head = fra.me.prev;
75640 init_table[itpos703] = 1;
75641 return;
75642 }
75643 void parser___ReduceAction700___action(val_t p0, val_t p1){
75644 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
75645 val_t REGB0;
75646 val_t tmp;
75647 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75648 fra.me.file = LOCATE_parser;
75649 fra.me.line = 28244;
75650 fra.me.meth = LOCATE_parser___ReduceAction700___action;
75651 fra.me.has_broke = 0;
75652 fra.me.REG_size = 4;
75653 fra.me.REG[0] = NIT_NULL;
75654 fra.me.REG[1] = NIT_NULL;
75655 fra.me.REG[2] = NIT_NULL;
75656 fra.me.REG[3] = NIT_NULL;
75657 fra.me.REG[0] = p0;
75658 fra.me.REG[1] = p1;
75659 fra.me.REG[0] = NIT_NULL;
75660 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75661 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75662 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75663 fra.me.REG[3] = NEW_Array_array___Array___init();
75664 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
75665 /* ./parser//parser.nit:28252 */
75666 if (UNTAG_Bool(REGB0)) {
75667 } else {
75668 fprintf(stderr, "Assert failed");
75669 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28252);
75670 nit_exit(1);
75671 }
75672 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
75673 /* ./parser//parser.nit:28254 */
75674 if (UNTAG_Bool(REGB0)) {
75675 fra.me.REG[3] = fra.me.REG[2];
75676 /* ./parser//parser.nit:28255 */
75677 } else {
75678 /* ./parser//parser.nit:28257 */
75679 CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
75680 }
75681 fra.me.REG[0] = fra.me.REG[3];
75682 REGB0 = TAG_Int(66);
75683 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
75684 /* ./parser//parser.nit:28261 */
75685 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
75686 stack_frame_head = fra.me.prev;
75687 return;
75688 }
75689 void parser___ReduceAction700___init(val_t p0, int* init_table){
75690 int itpos704 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction700].i;
75691 struct {struct stack_frame_t me;} fra;
75692 val_t tmp;
75693 if (init_table[itpos704]) return;
75694 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75695 fra.me.file = LOCATE_parser;
75696 fra.me.line = 28263;
75697 fra.me.meth = LOCATE_parser___ReduceAction700___init;
75698 fra.me.has_broke = 0;
75699 fra.me.REG_size = 1;
75700 fra.me.REG[0] = NIT_NULL;
75701 fra.me.REG[0] = p0;
75702 /* ./parser//parser.nit:28263 */
75703 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
75704 stack_frame_head = fra.me.prev;
75705 init_table[itpos704] = 1;
75706 return;
75707 }
75708 void parser___ReduceAction701___action(val_t p0, val_t p1){
75709 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
75710 val_t REGB0;
75711 val_t tmp;
75712 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75713 fra.me.file = LOCATE_parser;
75714 fra.me.line = 28267;
75715 fra.me.meth = LOCATE_parser___ReduceAction701___action;
75716 fra.me.has_broke = 0;
75717 fra.me.REG_size = 4;
75718 fra.me.REG[0] = NIT_NULL;
75719 fra.me.REG[1] = NIT_NULL;
75720 fra.me.REG[2] = NIT_NULL;
75721 fra.me.REG[3] = NIT_NULL;
75722 fra.me.REG[0] = p0;
75723 fra.me.REG[1] = p1;
75724 fra.me.REG[0] = NIT_NULL;
75725 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75726 fra.me.REG[3] = NEW_Array_array___Array___init();
75727 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
75728 /* ./parser//parser.nit:28273 */
75729 if (UNTAG_Bool(REGB0)) {
75730 } else {
75731 fprintf(stderr, "Assert failed");
75732 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28273);
75733 nit_exit(1);
75734 }
75735 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
75736 /* ./parser//parser.nit:28275 */
75737 if (UNTAG_Bool(REGB0)) {
75738 fra.me.REG[3] = fra.me.REG[2];
75739 /* ./parser//parser.nit:28276 */
75740 } else {
75741 /* ./parser//parser.nit:28278 */
75742 CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
75743 }
75744 fra.me.REG[0] = fra.me.REG[3];
75745 REGB0 = TAG_Int(66);
75746 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
75747 /* ./parser//parser.nit:28282 */
75748 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
75749 stack_frame_head = fra.me.prev;
75750 return;
75751 }
75752 void parser___ReduceAction701___init(val_t p0, int* init_table){
75753 int itpos705 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction701].i;
75754 struct {struct stack_frame_t me;} fra;
75755 val_t tmp;
75756 if (init_table[itpos705]) return;
75757 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75758 fra.me.file = LOCATE_parser;
75759 fra.me.line = 28284;
75760 fra.me.meth = LOCATE_parser___ReduceAction701___init;
75761 fra.me.has_broke = 0;
75762 fra.me.REG_size = 1;
75763 fra.me.REG[0] = NIT_NULL;
75764 fra.me.REG[0] = p0;
75765 /* ./parser//parser.nit:28284 */
75766 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
75767 stack_frame_head = fra.me.prev;
75768 init_table[itpos705] = 1;
75769 return;
75770 }
75771 void parser___ReduceAction702___action(val_t p0, val_t p1){
75772 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
75773 val_t REGB0;
75774 val_t REGB1;
75775 val_t tmp;
75776 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75777 fra.me.file = LOCATE_parser;
75778 fra.me.line = 28288;
75779 fra.me.meth = LOCATE_parser___ReduceAction702___action;
75780 fra.me.has_broke = 0;
75781 fra.me.REG_size = 4;
75782 fra.me.REG[0] = NIT_NULL;
75783 fra.me.REG[1] = NIT_NULL;
75784 fra.me.REG[2] = NIT_NULL;
75785 fra.me.REG[3] = NIT_NULL;
75786 fra.me.REG[0] = p0;
75787 fra.me.REG[1] = p1;
75788 fra.me.REG[0] = NIT_NULL;
75789 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75790 fra.me.REG[3] = NEW_Array_array___Array___init();
75791 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/;
75792 /* ./parser//parser.nit:28294 */
75793 if (UNTAG_Bool(REGB0)) {
75794 } else {
75795 fprintf(stderr, "Assert failed");
75796 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28294);
75797 nit_exit(1);
75798 }
75799 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
75800 /* ./parser//parser.nit:28295 */
75801 if (UNTAG_Bool(REGB0)) {
75802 } else {
75803 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
75804 if (UNTAG_Bool(REGB1)) {
75805 REGB1 = TAG_Bool(false);
75806 REGB0 = REGB1;
75807 } else {
75808 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
75809 REGB0 = REGB1;
75810 }
75811 }
75812 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
75813 if (UNTAG_Bool(REGB0)) {
75814 /* ./parser//parser.nit:28296 */
75815 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
75816 }
75817 fra.me.REG[0] = fra.me.REG[3];
75818 REGB0 = TAG_Int(67);
75819 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
75820 /* ./parser//parser.nit:28299 */
75821 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
75822 stack_frame_head = fra.me.prev;
75823 return;
75824 }
75825 void parser___ReduceAction702___init(val_t p0, int* init_table){
75826 int itpos706 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction702].i;
75827 struct {struct stack_frame_t me;} fra;
75828 val_t tmp;
75829 if (init_table[itpos706]) return;
75830 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75831 fra.me.file = LOCATE_parser;
75832 fra.me.line = 28301;
75833 fra.me.meth = LOCATE_parser___ReduceAction702___init;
75834 fra.me.has_broke = 0;
75835 fra.me.REG_size = 1;
75836 fra.me.REG[0] = NIT_NULL;
75837 fra.me.REG[0] = p0;
75838 /* ./parser//parser.nit:28301 */
75839 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
75840 stack_frame_head = fra.me.prev;
75841 init_table[itpos706] = 1;
75842 return;
75843 }
75844 void parser___ReduceAction703___action(val_t p0, val_t p1){
75845 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
75846 val_t REGB0;
75847 val_t REGB1;
75848 val_t tmp;
75849 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75850 fra.me.file = LOCATE_parser;
75851 fra.me.line = 28305;
75852 fra.me.meth = LOCATE_parser___ReduceAction703___action;
75853 fra.me.has_broke = 0;
75854 fra.me.REG_size = 5;
75855 fra.me.REG[0] = NIT_NULL;
75856 fra.me.REG[1] = NIT_NULL;
75857 fra.me.REG[2] = NIT_NULL;
75858 fra.me.REG[3] = NIT_NULL;
75859 fra.me.REG[4] = NIT_NULL;
75860 fra.me.REG[0] = p0;
75861 fra.me.REG[1] = p1;
75862 fra.me.REG[0] = NIT_NULL;
75863 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75864 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75865 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75866 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75867 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75868 fra.me.REG[4] = NEW_Array_array___Array___init();
75869 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
75870 /* ./parser//parser.nit:28315 */
75871 if (UNTAG_Bool(REGB0)) {
75872 } else {
75873 fprintf(stderr, "Assert failed");
75874 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28315);
75875 nit_exit(1);
75876 }
75877 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/;
75878 /* ./parser//parser.nit:28317 */
75879 if (UNTAG_Bool(REGB0)) {
75880 } else {
75881 fprintf(stderr, "Assert failed");
75882 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28317);
75883 nit_exit(1);
75884 }
75885 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
75886 /* ./parser//parser.nit:28319 */
75887 if (UNTAG_Bool(REGB0)) {
75888 fra.me.REG[4] = fra.me.REG[3];
75889 /* ./parser//parser.nit:28320 */
75890 } else {
75891 /* ./parser//parser.nit:28322 */
75892 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
75893 }
75894 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
75895 /* ./parser//parser.nit:28325 */
75896 if (UNTAG_Bool(REGB0)) {
75897 } else {
75898 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
75899 if (UNTAG_Bool(REGB1)) {
75900 REGB1 = TAG_Bool(false);
75901 REGB0 = REGB1;
75902 } else {
75903 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
75904 REGB0 = REGB1;
75905 }
75906 }
75907 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
75908 if (UNTAG_Bool(REGB0)) {
75909 /* ./parser//parser.nit:28326 */
75910 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
75911 }
75912 fra.me.REG[0] = fra.me.REG[4];
75913 REGB0 = TAG_Int(67);
75914 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
75915 /* ./parser//parser.nit:28329 */
75916 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
75917 stack_frame_head = fra.me.prev;
75918 return;
75919 }
75920 void parser___ReduceAction703___init(val_t p0, int* init_table){
75921 int itpos707 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction703].i;
75922 struct {struct stack_frame_t me;} fra;
75923 val_t tmp;
75924 if (init_table[itpos707]) return;
75925 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75926 fra.me.file = LOCATE_parser;
75927 fra.me.line = 28331;
75928 fra.me.meth = LOCATE_parser___ReduceAction703___init;
75929 fra.me.has_broke = 0;
75930 fra.me.REG_size = 1;
75931 fra.me.REG[0] = NIT_NULL;
75932 fra.me.REG[0] = p0;
75933 /* ./parser//parser.nit:28331 */
75934 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
75935 stack_frame_head = fra.me.prev;
75936 init_table[itpos707] = 1;
75937 return;
75938 }
75939 void parser___ReduceAction704___action(val_t p0, val_t p1){
75940 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
75941 val_t REGB0;
75942 val_t tmp;
75943 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75944 fra.me.file = LOCATE_parser;
75945 fra.me.line = 28335;
75946 fra.me.meth = LOCATE_parser___ReduceAction704___action;
75947 fra.me.has_broke = 0;
75948 fra.me.REG_size = 4;
75949 fra.me.REG[0] = NIT_NULL;
75950 fra.me.REG[1] = NIT_NULL;
75951 fra.me.REG[2] = NIT_NULL;
75952 fra.me.REG[3] = NIT_NULL;
75953 fra.me.REG[0] = p0;
75954 fra.me.REG[1] = p1;
75955 fra.me.REG[0] = NIT_NULL;
75956 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
75957 fra.me.REG[3] = NEW_Array_array___Array___init();
75958 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
75959 /* ./parser//parser.nit:28341 */
75960 if (UNTAG_Bool(REGB0)) {
75961 } else {
75962 fprintf(stderr, "Assert failed");
75963 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28341);
75964 nit_exit(1);
75965 }
75966 fra.me.REG[2] = NEW_AQualified_parser_prod___AQualified___init_aqualified(fra.me.REG[3], fra.me.REG[2]);
75967 fra.me.REG[0] = fra.me.REG[2];
75968 REGB0 = TAG_Int(68);
75969 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
75970 /* ./parser//parser.nit:28347 */
75971 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
75972 stack_frame_head = fra.me.prev;
75973 return;
75974 }
75975 void parser___ReduceAction704___init(val_t p0, int* init_table){
75976 int itpos708 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction704].i;
75977 struct {struct stack_frame_t me;} fra;
75978 val_t tmp;
75979 if (init_table[itpos708]) return;
75980 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75981 fra.me.file = LOCATE_parser;
75982 fra.me.line = 28349;
75983 fra.me.meth = LOCATE_parser___ReduceAction704___init;
75984 fra.me.has_broke = 0;
75985 fra.me.REG_size = 1;
75986 fra.me.REG[0] = NIT_NULL;
75987 fra.me.REG[0] = p0;
75988 /* ./parser//parser.nit:28349 */
75989 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
75990 stack_frame_head = fra.me.prev;
75991 init_table[itpos708] = 1;
75992 return;
75993 }
75994 void parser___ReduceAction705___action(val_t p0, val_t p1){
75995 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
75996 val_t REGB0;
75997 val_t tmp;
75998 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75999 fra.me.file = LOCATE_parser;
76000 fra.me.line = 28353;
76001 fra.me.meth = LOCATE_parser___ReduceAction705___action;
76002 fra.me.has_broke = 0;
76003 fra.me.REG_size = 5;
76004 fra.me.REG[0] = NIT_NULL;
76005 fra.me.REG[1] = NIT_NULL;
76006 fra.me.REG[2] = NIT_NULL;
76007 fra.me.REG[3] = NIT_NULL;
76008 fra.me.REG[4] = NIT_NULL;
76009 fra.me.REG[0] = p0;
76010 fra.me.REG[1] = p1;
76011 fra.me.REG[0] = NIT_NULL;
76012 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76013 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76014 fra.me.REG[4] = NEW_Array_array___Array___init();
76015 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
76016 /* ./parser//parser.nit:28360 */
76017 if (UNTAG_Bool(REGB0)) {
76018 } else {
76019 fprintf(stderr, "Assert failed");
76020 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28360);
76021 nit_exit(1);
76022 }
76023 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
76024 /* ./parser//parser.nit:28362 */
76025 if (UNTAG_Bool(REGB0)) {
76026 fra.me.REG[4] = fra.me.REG[3];
76027 /* ./parser//parser.nit:28363 */
76028 } else {
76029 /* ./parser//parser.nit:28365 */
76030 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
76031 }
76032 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
76033 /* ./parser//parser.nit:28369 */
76034 if (UNTAG_Bool(REGB0)) {
76035 } else {
76036 fprintf(stderr, "Assert failed");
76037 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28369);
76038 nit_exit(1);
76039 }
76040 fra.me.REG[2] = NEW_AQualified_parser_prod___AQualified___init_aqualified(fra.me.REG[4], fra.me.REG[2]);
76041 fra.me.REG[0] = fra.me.REG[2];
76042 REGB0 = TAG_Int(68);
76043 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
76044 /* ./parser//parser.nit:28375 */
76045 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
76046 stack_frame_head = fra.me.prev;
76047 return;
76048 }
76049 void parser___ReduceAction705___init(val_t p0, int* init_table){
76050 int itpos709 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction705].i;
76051 struct {struct stack_frame_t me;} fra;
76052 val_t tmp;
76053 if (init_table[itpos709]) return;
76054 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76055 fra.me.file = LOCATE_parser;
76056 fra.me.line = 28377;
76057 fra.me.meth = LOCATE_parser___ReduceAction705___init;
76058 fra.me.has_broke = 0;
76059 fra.me.REG_size = 1;
76060 fra.me.REG[0] = NIT_NULL;
76061 fra.me.REG[0] = p0;
76062 /* ./parser//parser.nit:28377 */
76063 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
76064 stack_frame_head = fra.me.prev;
76065 init_table[itpos709] = 1;
76066 return;
76067 }
76068 void parser___ReduceAction706___action(val_t p0, val_t p1){
76069 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
76070 val_t REGB0;
76071 val_t tmp;
76072 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76073 fra.me.file = LOCATE_parser;
76074 fra.me.line = 28381;
76075 fra.me.meth = LOCATE_parser___ReduceAction706___action;
76076 fra.me.has_broke = 0;
76077 fra.me.REG_size = 4;
76078 fra.me.REG[0] = NIT_NULL;
76079 fra.me.REG[1] = NIT_NULL;
76080 fra.me.REG[2] = NIT_NULL;
76081 fra.me.REG[3] = NIT_NULL;
76082 fra.me.REG[0] = p0;
76083 fra.me.REG[1] = p1;
76084 fra.me.REG[0] = NIT_NULL;
76085 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76086 fra.me.REG[3] = NEW_Array_array___Array___init();
76087 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
76088 /* ./parser//parser.nit:28387 */
76089 if (UNTAG_Bool(REGB0)) {
76090 } else {
76091 fprintf(stderr, "Assert failed");
76092 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28387);
76093 nit_exit(1);
76094 }
76095 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
76096 /* ./parser//parser.nit:28389 */
76097 if (UNTAG_Bool(REGB0)) {
76098 fra.me.REG[3] = fra.me.REG[2];
76099 /* ./parser//parser.nit:28390 */
76100 } else {
76101 /* ./parser//parser.nit:28392 */
76102 CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
76103 }
76104 fra.me.REG[3] = NEW_AQualified_parser_prod___AQualified___init_aqualified(fra.me.REG[3], NIT_NULL);
76105 fra.me.REG[0] = fra.me.REG[3];
76106 REGB0 = TAG_Int(68);
76107 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
76108 /* ./parser//parser.nit:28400 */
76109 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
76110 stack_frame_head = fra.me.prev;
76111 return;
76112 }
76113 void parser___ReduceAction706___init(val_t p0, int* init_table){
76114 int itpos710 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction706].i;
76115 struct {struct stack_frame_t me;} fra;
76116 val_t tmp;
76117 if (init_table[itpos710]) return;
76118 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76119 fra.me.file = LOCATE_parser;
76120 fra.me.line = 28402;
76121 fra.me.meth = LOCATE_parser___ReduceAction706___init;
76122 fra.me.has_broke = 0;
76123 fra.me.REG_size = 1;
76124 fra.me.REG[0] = NIT_NULL;
76125 fra.me.REG[0] = p0;
76126 /* ./parser//parser.nit:28402 */
76127 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
76128 stack_frame_head = fra.me.prev;
76129 init_table[itpos710] = 1;
76130 return;
76131 }
76132 void parser___ReduceAction707___action(val_t p0, val_t p1){
76133 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
76134 val_t REGB0;
76135 val_t tmp;
76136 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76137 fra.me.file = LOCATE_parser;
76138 fra.me.line = 28406;
76139 fra.me.meth = LOCATE_parser___ReduceAction707___action;
76140 fra.me.has_broke = 0;
76141 fra.me.REG_size = 3;
76142 fra.me.REG[0] = NIT_NULL;
76143 fra.me.REG[1] = NIT_NULL;
76144 fra.me.REG[2] = NIT_NULL;
76145 fra.me.REG[0] = p0;
76146 fra.me.REG[1] = p1;
76147 fra.me.REG[0] = NIT_NULL;
76148 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76149 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76150 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76151 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/;
76152 /* ./parser//parser.nit:28413 */
76153 if (UNTAG_Bool(REGB0)) {
76154 } else {
76155 fprintf(stderr, "Assert failed");
76156 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28413);
76157 nit_exit(1);
76158 }
76159 fra.me.REG[0] = fra.me.REG[2];
76160 REGB0 = TAG_Int(69);
76161 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
76162 /* ./parser//parser.nit:28415 */
76163 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
76164 stack_frame_head = fra.me.prev;
76165 return;
76166 }
76167 void parser___ReduceAction707___init(val_t p0, int* init_table){
76168 int itpos711 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction707].i;
76169 struct {struct stack_frame_t me;} fra;
76170 val_t tmp;
76171 if (init_table[itpos711]) return;
76172 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76173 fra.me.file = LOCATE_parser;
76174 fra.me.line = 28417;
76175 fra.me.meth = LOCATE_parser___ReduceAction707___init;
76176 fra.me.has_broke = 0;
76177 fra.me.REG_size = 1;
76178 fra.me.REG[0] = NIT_NULL;
76179 fra.me.REG[0] = p0;
76180 /* ./parser//parser.nit:28417 */
76181 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
76182 stack_frame_head = fra.me.prev;
76183 init_table[itpos711] = 1;
76184 return;
76185 }
76186 void parser___ReduceAction708___action(val_t p0, val_t p1){
76187 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
76188 val_t REGB0;
76189 val_t tmp;
76190 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76191 fra.me.file = LOCATE_parser;
76192 fra.me.line = 28421;
76193 fra.me.meth = LOCATE_parser___ReduceAction708___action;
76194 fra.me.has_broke = 0;
76195 fra.me.REG_size = 3;
76196 fra.me.REG[0] = NIT_NULL;
76197 fra.me.REG[1] = NIT_NULL;
76198 fra.me.REG[2] = NIT_NULL;
76199 fra.me.REG[0] = p0;
76200 fra.me.REG[1] = p1;
76201 fra.me.REG[0] = NIT_NULL;
76202 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76203 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76204 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76205 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
76206 /* ./parser//parser.nit:28428 */
76207 if (UNTAG_Bool(REGB0)) {
76208 } else {
76209 fprintf(stderr, "Assert failed");
76210 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28428);
76211 nit_exit(1);
76212 }
76213 fra.me.REG[0] = fra.me.REG[2];
76214 REGB0 = TAG_Int(70);
76215 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
76216 /* ./parser//parser.nit:28430 */
76217 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
76218 stack_frame_head = fra.me.prev;
76219 return;
76220 }
76221 void parser___ReduceAction708___init(val_t p0, int* init_table){
76222 int itpos712 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction708].i;
76223 struct {struct stack_frame_t me;} fra;
76224 val_t tmp;
76225 if (init_table[itpos712]) return;
76226 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76227 fra.me.file = LOCATE_parser;
76228 fra.me.line = 28432;
76229 fra.me.meth = LOCATE_parser___ReduceAction708___init;
76230 fra.me.has_broke = 0;
76231 fra.me.REG_size = 1;
76232 fra.me.REG[0] = NIT_NULL;
76233 fra.me.REG[0] = p0;
76234 /* ./parser//parser.nit:28432 */
76235 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
76236 stack_frame_head = fra.me.prev;
76237 init_table[itpos712] = 1;
76238 return;
76239 }
76240 void parser___ReduceAction709___action(val_t p0, val_t p1){
76241 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
76242 val_t REGB0;
76243 val_t tmp;
76244 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76245 fra.me.file = LOCATE_parser;
76246 fra.me.line = 28436;
76247 fra.me.meth = LOCATE_parser___ReduceAction709___action;
76248 fra.me.has_broke = 0;
76249 fra.me.REG_size = 3;
76250 fra.me.REG[0] = NIT_NULL;
76251 fra.me.REG[1] = NIT_NULL;
76252 fra.me.REG[2] = NIT_NULL;
76253 fra.me.REG[0] = p0;
76254 fra.me.REG[1] = p1;
76255 fra.me.REG[0] = NIT_NULL;
76256 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76257 REGB0 = TAG_Int(71);
76258 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
76259 /* ./parser//parser.nit:28440 */
76260 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
76261 stack_frame_head = fra.me.prev;
76262 return;
76263 }
76264 void parser___ReduceAction709___init(val_t p0, int* init_table){
76265 int itpos713 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction709].i;
76266 struct {struct stack_frame_t me;} fra;
76267 val_t tmp;
76268 if (init_table[itpos713]) return;
76269 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76270 fra.me.file = LOCATE_parser;
76271 fra.me.line = 28442;
76272 fra.me.meth = LOCATE_parser___ReduceAction709___init;
76273 fra.me.has_broke = 0;
76274 fra.me.REG_size = 1;
76275 fra.me.REG[0] = NIT_NULL;
76276 fra.me.REG[0] = p0;
76277 /* ./parser//parser.nit:28442 */
76278 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
76279 stack_frame_head = fra.me.prev;
76280 init_table[itpos713] = 1;
76281 return;
76282 }
76283 void parser___ReduceAction710___action(val_t p0, val_t p1){
76284 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
76285 val_t REGB0;
76286 val_t tmp;
76287 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76288 fra.me.file = LOCATE_parser;
76289 fra.me.line = 28446;
76290 fra.me.meth = LOCATE_parser___ReduceAction710___action;
76291 fra.me.has_broke = 0;
76292 fra.me.REG_size = 3;
76293 fra.me.REG[0] = NIT_NULL;
76294 fra.me.REG[1] = NIT_NULL;
76295 fra.me.REG[2] = NIT_NULL;
76296 fra.me.REG[0] = p0;
76297 fra.me.REG[1] = p1;
76298 fra.me.REG[0] = NIT_NULL;
76299 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76300 REGB0 = TAG_Int(71);
76301 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
76302 /* ./parser//parser.nit:28450 */
76303 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
76304 stack_frame_head = fra.me.prev;
76305 return;
76306 }
76307 void parser___ReduceAction710___init(val_t p0, int* init_table){
76308 int itpos714 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction710].i;
76309 struct {struct stack_frame_t me;} fra;
76310 val_t tmp;
76311 if (init_table[itpos714]) return;
76312 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76313 fra.me.file = LOCATE_parser;
76314 fra.me.line = 28452;
76315 fra.me.meth = LOCATE_parser___ReduceAction710___init;
76316 fra.me.has_broke = 0;
76317 fra.me.REG_size = 1;
76318 fra.me.REG[0] = NIT_NULL;
76319 fra.me.REG[0] = p0;
76320 /* ./parser//parser.nit:28452 */
76321 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
76322 stack_frame_head = fra.me.prev;
76323 init_table[itpos714] = 1;
76324 return;
76325 }
76326 void parser___ReduceAction711___action(val_t p0, val_t p1){
76327 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
76328 val_t REGB0;
76329 val_t tmp;
76330 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76331 fra.me.file = LOCATE_parser;
76332 fra.me.line = 28456;
76333 fra.me.meth = LOCATE_parser___ReduceAction711___action;
76334 fra.me.has_broke = 0;
76335 fra.me.REG_size = 4;
76336 fra.me.REG[0] = NIT_NULL;
76337 fra.me.REG[1] = NIT_NULL;
76338 fra.me.REG[2] = NIT_NULL;
76339 fra.me.REG[3] = NIT_NULL;
76340 fra.me.REG[0] = p0;
76341 fra.me.REG[1] = p1;
76342 fra.me.REG[0] = NIT_NULL;
76343 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76344 fra.me.REG[3] = NEW_Array_array___Array___init();
76345 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
76346 /* ./parser//parser.nit:28462 */
76347 if (UNTAG_Bool(REGB0)) {
76348 } else {
76349 fprintf(stderr, "Assert failed");
76350 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28462);
76351 nit_exit(1);
76352 }
76353 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
76354 /* ./parser//parser.nit:28464 */
76355 if (UNTAG_Bool(REGB0)) {
76356 fra.me.REG[3] = fra.me.REG[2];
76357 /* ./parser//parser.nit:28465 */
76358 } else {
76359 /* ./parser//parser.nit:28467 */
76360 CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
76361 }
76362 fra.me.REG[3] = NEW_ADoc_parser_prod___ADoc___init_adoc(fra.me.REG[3]);
76363 fra.me.REG[0] = fra.me.REG[3];
76364 REGB0 = TAG_Int(72);
76365 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
76366 /* ./parser//parser.nit:28474 */
76367 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
76368 stack_frame_head = fra.me.prev;
76369 return;
76370 }
76371 void parser___ReduceAction711___init(val_t p0, int* init_table){
76372 int itpos715 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction711].i;
76373 struct {struct stack_frame_t me;} fra;
76374 val_t tmp;
76375 if (init_table[itpos715]) return;
76376 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76377 fra.me.file = LOCATE_parser;
76378 fra.me.line = 28476;
76379 fra.me.meth = LOCATE_parser___ReduceAction711___init;
76380 fra.me.has_broke = 0;
76381 fra.me.REG_size = 1;
76382 fra.me.REG[0] = NIT_NULL;
76383 fra.me.REG[0] = p0;
76384 /* ./parser//parser.nit:28476 */
76385 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
76386 stack_frame_head = fra.me.prev;
76387 init_table[itpos715] = 1;
76388 return;
76389 }
76390 void parser___ReduceAction712___action(val_t p0, val_t p1){
76391 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
76392 val_t REGB0;
76393 val_t tmp;
76394 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76395 fra.me.file = LOCATE_parser;
76396 fra.me.line = 28480;
76397 fra.me.meth = LOCATE_parser___ReduceAction712___action;
76398 fra.me.has_broke = 0;
76399 fra.me.REG_size = 4;
76400 fra.me.REG[0] = NIT_NULL;
76401 fra.me.REG[1] = NIT_NULL;
76402 fra.me.REG[2] = NIT_NULL;
76403 fra.me.REG[3] = NIT_NULL;
76404 fra.me.REG[0] = p0;
76405 fra.me.REG[1] = p1;
76406 fra.me.REG[0] = NIT_NULL;
76407 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76408 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76409 fra.me.REG[3] = NEW_Array_array___Array___init();
76410 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
76411 /* ./parser//parser.nit:28487 */
76412 if (UNTAG_Bool(REGB0)) {
76413 } else {
76414 fprintf(stderr, "Assert failed");
76415 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28487);
76416 nit_exit(1);
76417 }
76418 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
76419 /* ./parser//parser.nit:28489 */
76420 if (UNTAG_Bool(REGB0)) {
76421 fra.me.REG[3] = fra.me.REG[2];
76422 /* ./parser//parser.nit:28490 */
76423 } else {
76424 /* ./parser//parser.nit:28492 */
76425 CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
76426 }
76427 fra.me.REG[3] = NEW_ADoc_parser_prod___ADoc___init_adoc(fra.me.REG[3]);
76428 fra.me.REG[0] = fra.me.REG[3];
76429 REGB0 = TAG_Int(72);
76430 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
76431 /* ./parser//parser.nit:28499 */
76432 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
76433 stack_frame_head = fra.me.prev;
76434 return;
76435 }
76436 void parser___ReduceAction712___init(val_t p0, int* init_table){
76437 int itpos716 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction712].i;
76438 struct {struct stack_frame_t me;} fra;
76439 val_t tmp;
76440 if (init_table[itpos716]) return;
76441 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76442 fra.me.file = LOCATE_parser;
76443 fra.me.line = 28501;
76444 fra.me.meth = LOCATE_parser___ReduceAction712___init;
76445 fra.me.has_broke = 0;
76446 fra.me.REG_size = 1;
76447 fra.me.REG[0] = NIT_NULL;
76448 fra.me.REG[0] = p0;
76449 /* ./parser//parser.nit:28501 */
76450 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
76451 stack_frame_head = fra.me.prev;
76452 init_table[itpos716] = 1;
76453 return;
76454 }
76455 void parser___ReduceAction713___action(val_t p0, val_t p1){
76456 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
76457 val_t REGB0;
76458 val_t tmp;
76459 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76460 fra.me.file = LOCATE_parser;
76461 fra.me.line = 28505;
76462 fra.me.meth = LOCATE_parser___ReduceAction713___action;
76463 fra.me.has_broke = 0;
76464 fra.me.REG_size = 3;
76465 fra.me.REG[0] = NIT_NULL;
76466 fra.me.REG[1] = NIT_NULL;
76467 fra.me.REG[2] = NIT_NULL;
76468 fra.me.REG[0] = p0;
76469 fra.me.REG[1] = p1;
76470 fra.me.REG[0] = NIT_NULL;
76471 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76472 fra.me.REG[0] = NIT_NULL;
76473 REGB0 = TAG_Int(72);
76474 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
76475 /* ./parser//parser.nit:28510 */
76476 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
76477 stack_frame_head = fra.me.prev;
76478 return;
76479 }
76480 void parser___ReduceAction713___init(val_t p0, int* init_table){
76481 int itpos717 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction713].i;
76482 struct {struct stack_frame_t me;} fra;
76483 val_t tmp;
76484 if (init_table[itpos717]) return;
76485 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76486 fra.me.file = LOCATE_parser;
76487 fra.me.line = 28512;
76488 fra.me.meth = LOCATE_parser___ReduceAction713___init;
76489 fra.me.has_broke = 0;
76490 fra.me.REG_size = 1;
76491 fra.me.REG[0] = NIT_NULL;
76492 fra.me.REG[0] = p0;
76493 /* ./parser//parser.nit:28512 */
76494 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
76495 stack_frame_head = fra.me.prev;
76496 init_table[itpos717] = 1;
76497 return;
76498 }
76499 void parser___ReduceAction714___action(val_t p0, val_t p1){
76500 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
76501 val_t REGB0;
76502 val_t tmp;
76503 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76504 fra.me.file = LOCATE_parser;
76505 fra.me.line = 28516;
76506 fra.me.meth = LOCATE_parser___ReduceAction714___action;
76507 fra.me.has_broke = 0;
76508 fra.me.REG_size = 2;
76509 fra.me.REG[0] = NIT_NULL;
76510 fra.me.REG[1] = NIT_NULL;
76511 fra.me.REG[0] = p0;
76512 fra.me.REG[1] = p1;
76513 fra.me.REG[0] = NIT_NULL;
76514 fra.me.REG[0] = NIT_NULL;
76515 REGB0 = TAG_Int(73);
76516 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
76517 /* ./parser//parser.nit:28520 */
76518 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
76519 stack_frame_head = fra.me.prev;
76520 return;
76521 }
76522 void parser___ReduceAction714___init(val_t p0, int* init_table){
76523 int itpos718 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction714].i;
76524 struct {struct stack_frame_t me;} fra;
76525 val_t tmp;
76526 if (init_table[itpos718]) return;
76527 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76528 fra.me.file = LOCATE_parser;
76529 fra.me.line = 28522;
76530 fra.me.meth = LOCATE_parser___ReduceAction714___init;
76531 fra.me.has_broke = 0;
76532 fra.me.REG_size = 1;
76533 fra.me.REG[0] = NIT_NULL;
76534 fra.me.REG[0] = p0;
76535 /* ./parser//parser.nit:28522 */
76536 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
76537 stack_frame_head = fra.me.prev;
76538 init_table[itpos718] = 1;
76539 return;
76540 }
76541 void parser___ReduceAction715___action(val_t p0, val_t p1){
76542 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
76543 val_t REGB0;
76544 val_t tmp;
76545 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76546 fra.me.file = LOCATE_parser;
76547 fra.me.line = 28526;
76548 fra.me.meth = LOCATE_parser___ReduceAction715___action;
76549 fra.me.has_broke = 0;
76550 fra.me.REG_size = 3;
76551 fra.me.REG[0] = NIT_NULL;
76552 fra.me.REG[1] = NIT_NULL;
76553 fra.me.REG[2] = NIT_NULL;
76554 fra.me.REG[0] = p0;
76555 fra.me.REG[1] = p1;
76556 fra.me.REG[0] = NIT_NULL;
76557 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76558 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
76559 /* ./parser//parser.nit:28531 */
76560 if (UNTAG_Bool(REGB0)) {
76561 } else {
76562 fprintf(stderr, "Assert failed");
76563 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28531);
76564 nit_exit(1);
76565 }
76566 fra.me.REG[0] = fra.me.REG[2];
76567 REGB0 = TAG_Int(73);
76568 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
76569 /* ./parser//parser.nit:28533 */
76570 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
76571 stack_frame_head = fra.me.prev;
76572 return;
76573 }
76574 void parser___ReduceAction715___init(val_t p0, int* init_table){
76575 int itpos719 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction715].i;
76576 struct {struct stack_frame_t me;} fra;
76577 val_t tmp;
76578 if (init_table[itpos719]) return;
76579 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76580 fra.me.file = LOCATE_parser;
76581 fra.me.line = 28535;
76582 fra.me.meth = LOCATE_parser___ReduceAction715___init;
76583 fra.me.has_broke = 0;
76584 fra.me.REG_size = 1;
76585 fra.me.REG[0] = NIT_NULL;
76586 fra.me.REG[0] = p0;
76587 /* ./parser//parser.nit:28535 */
76588 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
76589 stack_frame_head = fra.me.prev;
76590 init_table[itpos719] = 1;
76591 return;
76592 }
76593 void parser___ReduceAction716___action(val_t p0, val_t p1){
76594 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
76595 val_t REGB0;
76596 val_t tmp;
76597 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76598 fra.me.file = LOCATE_parser;
76599 fra.me.line = 28539;
76600 fra.me.meth = LOCATE_parser___ReduceAction716___action;
76601 fra.me.has_broke = 0;
76602 fra.me.REG_size = 3;
76603 fra.me.REG[0] = NIT_NULL;
76604 fra.me.REG[1] = NIT_NULL;
76605 fra.me.REG[2] = NIT_NULL;
76606 fra.me.REG[0] = p0;
76607 fra.me.REG[1] = p1;
76608 fra.me.REG[0] = NIT_NULL;
76609 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76610 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76611 REGB0 = TAG_Int(74);
76612 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
76613 /* ./parser//parser.nit:28544 */
76614 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
76615 stack_frame_head = fra.me.prev;
76616 return;
76617 }
76618 void parser___ReduceAction716___init(val_t p0, int* init_table){
76619 int itpos720 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction716].i;
76620 struct {struct stack_frame_t me;} fra;
76621 val_t tmp;
76622 if (init_table[itpos720]) return;
76623 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76624 fra.me.file = LOCATE_parser;
76625 fra.me.line = 28546;
76626 fra.me.meth = LOCATE_parser___ReduceAction716___init;
76627 fra.me.has_broke = 0;
76628 fra.me.REG_size = 1;
76629 fra.me.REG[0] = NIT_NULL;
76630 fra.me.REG[0] = p0;
76631 /* ./parser//parser.nit:28546 */
76632 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
76633 stack_frame_head = fra.me.prev;
76634 init_table[itpos720] = 1;
76635 return;
76636 }
76637 void parser___ReduceAction717___action(val_t p0, val_t p1){
76638 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
76639 val_t REGB0;
76640 val_t tmp;
76641 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76642 fra.me.file = LOCATE_parser;
76643 fra.me.line = 28550;
76644 fra.me.meth = LOCATE_parser___ReduceAction717___action;
76645 fra.me.has_broke = 0;
76646 fra.me.REG_size = 3;
76647 fra.me.REG[0] = NIT_NULL;
76648 fra.me.REG[1] = NIT_NULL;
76649 fra.me.REG[2] = NIT_NULL;
76650 fra.me.REG[0] = p0;
76651 fra.me.REG[1] = p1;
76652 fra.me.REG[0] = NIT_NULL;
76653 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76654 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76655 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76656 REGB0 = TAG_Int(74);
76657 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
76658 /* ./parser//parser.nit:28556 */
76659 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
76660 stack_frame_head = fra.me.prev;
76661 return;
76662 }
76663 void parser___ReduceAction717___init(val_t p0, int* init_table){
76664 int itpos721 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction717].i;
76665 struct {struct stack_frame_t me;} fra;
76666 val_t tmp;
76667 if (init_table[itpos721]) return;
76668 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76669 fra.me.file = LOCATE_parser;
76670 fra.me.line = 28558;
76671 fra.me.meth = LOCATE_parser___ReduceAction717___init;
76672 fra.me.has_broke = 0;
76673 fra.me.REG_size = 1;
76674 fra.me.REG[0] = NIT_NULL;
76675 fra.me.REG[0] = p0;
76676 /* ./parser//parser.nit:28558 */
76677 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
76678 stack_frame_head = fra.me.prev;
76679 init_table[itpos721] = 1;
76680 return;
76681 }
76682 void parser___ReduceAction718___action(val_t p0, val_t p1){
76683 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
76684 val_t REGB0;
76685 val_t tmp;
76686 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76687 fra.me.file = LOCATE_parser;
76688 fra.me.line = 28562;
76689 fra.me.meth = LOCATE_parser___ReduceAction718___action;
76690 fra.me.has_broke = 0;
76691 fra.me.REG_size = 3;
76692 fra.me.REG[0] = NIT_NULL;
76693 fra.me.REG[1] = NIT_NULL;
76694 fra.me.REG[2] = NIT_NULL;
76695 fra.me.REG[0] = p0;
76696 fra.me.REG[1] = p1;
76697 fra.me.REG[0] = NIT_NULL;
76698 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76699 REGB0 = TAG_Int(74);
76700 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
76701 /* ./parser//parser.nit:28566 */
76702 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
76703 stack_frame_head = fra.me.prev;
76704 return;
76705 }
76706 void parser___ReduceAction718___init(val_t p0, int* init_table){
76707 int itpos722 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction718].i;
76708 struct {struct stack_frame_t me;} fra;
76709 val_t tmp;
76710 if (init_table[itpos722]) return;
76711 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76712 fra.me.file = LOCATE_parser;
76713 fra.me.line = 28568;
76714 fra.me.meth = LOCATE_parser___ReduceAction718___init;
76715 fra.me.has_broke = 0;
76716 fra.me.REG_size = 1;
76717 fra.me.REG[0] = NIT_NULL;
76718 fra.me.REG[0] = p0;
76719 /* ./parser//parser.nit:28568 */
76720 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
76721 stack_frame_head = fra.me.prev;
76722 init_table[itpos722] = 1;
76723 return;
76724 }
76725 void parser___ReduceAction719___action(val_t p0, val_t p1){
76726 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
76727 val_t REGB0;
76728 val_t tmp;
76729 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76730 fra.me.file = LOCATE_parser;
76731 fra.me.line = 28572;
76732 fra.me.meth = LOCATE_parser___ReduceAction719___action;
76733 fra.me.has_broke = 0;
76734 fra.me.REG_size = 3;
76735 fra.me.REG[0] = NIT_NULL;
76736 fra.me.REG[1] = NIT_NULL;
76737 fra.me.REG[2] = NIT_NULL;
76738 fra.me.REG[0] = p0;
76739 fra.me.REG[1] = p1;
76740 fra.me.REG[0] = NIT_NULL;
76741 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76742 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76743 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
76744 /* ./parser//parser.nit:28578 */
76745 if (UNTAG_Bool(REGB0)) {
76746 } else {
76747 fprintf(stderr, "Assert failed");
76748 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28578);
76749 nit_exit(1);
76750 }
76751 fra.me.REG[0] = fra.me.REG[2];
76752 REGB0 = TAG_Int(75);
76753 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
76754 /* ./parser//parser.nit:28580 */
76755 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
76756 stack_frame_head = fra.me.prev;
76757 return;
76758 }
76759 void parser___ReduceAction719___init(val_t p0, int* init_table){
76760 int itpos723 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction719].i;
76761 struct {struct stack_frame_t me;} fra;
76762 val_t tmp;
76763 if (init_table[itpos723]) return;
76764 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76765 fra.me.file = LOCATE_parser;
76766 fra.me.line = 28582;
76767 fra.me.meth = LOCATE_parser___ReduceAction719___init;
76768 fra.me.has_broke = 0;
76769 fra.me.REG_size = 1;
76770 fra.me.REG[0] = NIT_NULL;
76771 fra.me.REG[0] = p0;
76772 /* ./parser//parser.nit:28582 */
76773 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
76774 stack_frame_head = fra.me.prev;
76775 init_table[itpos723] = 1;
76776 return;
76777 }
76778 void parser___ReduceAction720___action(val_t p0, val_t p1){
76779 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
76780 val_t REGB0;
76781 val_t tmp;
76782 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76783 fra.me.file = LOCATE_parser;
76784 fra.me.line = 28586;
76785 fra.me.meth = LOCATE_parser___ReduceAction720___action;
76786 fra.me.has_broke = 0;
76787 fra.me.REG_size = 8;
76788 fra.me.REG[0] = NIT_NULL;
76789 fra.me.REG[1] = NIT_NULL;
76790 fra.me.REG[2] = NIT_NULL;
76791 fra.me.REG[3] = NIT_NULL;
76792 fra.me.REG[4] = NIT_NULL;
76793 fra.me.REG[5] = NIT_NULL;
76794 fra.me.REG[6] = NIT_NULL;
76795 fra.me.REG[7] = NIT_NULL;
76796 fra.me.REG[0] = p0;
76797 fra.me.REG[1] = p1;
76798 fra.me.REG[0] = NIT_NULL;
76799 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76800 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76801 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76802 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76803 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76804 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76805 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76806 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
76807 /* ./parser//parser.nit:28597 */
76808 if (UNTAG_Bool(REGB0)) {
76809 } else {
76810 fprintf(stderr, "Assert failed");
76811 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28597);
76812 nit_exit(1);
76813 }
76814 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
76815 /* ./parser//parser.nit:28599 */
76816 if (UNTAG_Bool(REGB0)) {
76817 } else {
76818 fprintf(stderr, "Assert failed");
76819 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28599);
76820 nit_exit(1);
76821 }
76822 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
76823 /* ./parser//parser.nit:28601 */
76824 if (UNTAG_Bool(REGB0)) {
76825 } else {
76826 fprintf(stderr, "Assert failed");
76827 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28601);
76828 nit_exit(1);
76829 }
76830 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
76831 /* ./parser//parser.nit:28603 */
76832 if (UNTAG_Bool(REGB0)) {
76833 } else {
76834 fprintf(stderr, "Assert failed");
76835 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28603);
76836 nit_exit(1);
76837 }
76838 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
76839 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
76840 /* ./parser//parser.nit:28608 */
76841 if (UNTAG_Bool(REGB0)) {
76842 } else {
76843 fprintf(stderr, "Assert failed");
76844 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28608);
76845 nit_exit(1);
76846 }
76847 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
76848 /* ./parser//parser.nit:28610 */
76849 if (UNTAG_Bool(REGB0)) {
76850 } else {
76851 fprintf(stderr, "Assert failed");
76852 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28610);
76853 nit_exit(1);
76854 }
76855 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
76856 fra.me.REG[0] = fra.me.REG[2];
76857 REGB0 = TAG_Int(76);
76858 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
76859 /* ./parser//parser.nit:28621 */
76860 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
76861 stack_frame_head = fra.me.prev;
76862 return;
76863 }
76864 void parser___ReduceAction720___init(val_t p0, int* init_table){
76865 int itpos724 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction720].i;
76866 struct {struct stack_frame_t me;} fra;
76867 val_t tmp;
76868 if (init_table[itpos724]) return;
76869 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76870 fra.me.file = LOCATE_parser;
76871 fra.me.line = 28623;
76872 fra.me.meth = LOCATE_parser___ReduceAction720___init;
76873 fra.me.has_broke = 0;
76874 fra.me.REG_size = 1;
76875 fra.me.REG[0] = NIT_NULL;
76876 fra.me.REG[0] = p0;
76877 /* ./parser//parser.nit:28623 */
76878 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
76879 stack_frame_head = fra.me.prev;
76880 init_table[itpos724] = 1;
76881 return;
76882 }
76883 void parser___ReduceAction721___action(val_t p0, val_t p1){
76884 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
76885 val_t REGB0;
76886 val_t tmp;
76887 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76888 fra.me.file = LOCATE_parser;
76889 fra.me.line = 28627;
76890 fra.me.meth = LOCATE_parser___ReduceAction721___action;
76891 fra.me.has_broke = 0;
76892 fra.me.REG_size = 8;
76893 fra.me.REG[0] = NIT_NULL;
76894 fra.me.REG[1] = NIT_NULL;
76895 fra.me.REG[2] = NIT_NULL;
76896 fra.me.REG[3] = NIT_NULL;
76897 fra.me.REG[4] = NIT_NULL;
76898 fra.me.REG[5] = NIT_NULL;
76899 fra.me.REG[6] = NIT_NULL;
76900 fra.me.REG[7] = NIT_NULL;
76901 fra.me.REG[0] = p0;
76902 fra.me.REG[1] = p1;
76903 fra.me.REG[0] = NIT_NULL;
76904 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76905 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76906 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76907 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76908 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76909 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76910 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
76911 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
76912 /* ./parser//parser.nit:28638 */
76913 if (UNTAG_Bool(REGB0)) {
76914 } else {
76915 fprintf(stderr, "Assert failed");
76916 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28638);
76917 nit_exit(1);
76918 }
76919 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
76920 /* ./parser//parser.nit:28640 */
76921 if (UNTAG_Bool(REGB0)) {
76922 } else {
76923 fprintf(stderr, "Assert failed");
76924 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28640);
76925 nit_exit(1);
76926 }
76927 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
76928 /* ./parser//parser.nit:28642 */
76929 if (UNTAG_Bool(REGB0)) {
76930 } else {
76931 fprintf(stderr, "Assert failed");
76932 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28642);
76933 nit_exit(1);
76934 }
76935 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
76936 /* ./parser//parser.nit:28644 */
76937 if (UNTAG_Bool(REGB0)) {
76938 } else {
76939 fprintf(stderr, "Assert failed");
76940 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28644);
76941 nit_exit(1);
76942 }
76943 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
76944 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
76945 /* ./parser//parser.nit:28649 */
76946 if (UNTAG_Bool(REGB0)) {
76947 } else {
76948 fprintf(stderr, "Assert failed");
76949 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28649);
76950 nit_exit(1);
76951 }
76952 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
76953 /* ./parser//parser.nit:28651 */
76954 if (UNTAG_Bool(REGB0)) {
76955 } else {
76956 fprintf(stderr, "Assert failed");
76957 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28651);
76958 nit_exit(1);
76959 }
76960 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
76961 fra.me.REG[0] = fra.me.REG[2];
76962 REGB0 = TAG_Int(76);
76963 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
76964 /* ./parser//parser.nit:28662 */
76965 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
76966 stack_frame_head = fra.me.prev;
76967 return;
76968 }
76969 void parser___ReduceAction721___init(val_t p0, int* init_table){
76970 int itpos725 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction721].i;
76971 struct {struct stack_frame_t me;} fra;
76972 val_t tmp;
76973 if (init_table[itpos725]) return;
76974 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76975 fra.me.file = LOCATE_parser;
76976 fra.me.line = 28664;
76977 fra.me.meth = LOCATE_parser___ReduceAction721___init;
76978 fra.me.has_broke = 0;
76979 fra.me.REG_size = 1;
76980 fra.me.REG[0] = NIT_NULL;
76981 fra.me.REG[0] = p0;
76982 /* ./parser//parser.nit:28664 */
76983 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
76984 stack_frame_head = fra.me.prev;
76985 init_table[itpos725] = 1;
76986 return;
76987 }
76988 void parser___ReduceAction722___action(val_t p0, val_t p1){
76989 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
76990 val_t REGB0;
76991 val_t tmp;
76992 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76993 fra.me.file = LOCATE_parser;
76994 fra.me.line = 28668;
76995 fra.me.meth = LOCATE_parser___ReduceAction722___action;
76996 fra.me.has_broke = 0;
76997 fra.me.REG_size = 8;
76998 fra.me.REG[0] = NIT_NULL;
76999 fra.me.REG[1] = NIT_NULL;
77000 fra.me.REG[2] = NIT_NULL;
77001 fra.me.REG[3] = NIT_NULL;
77002 fra.me.REG[4] = NIT_NULL;
77003 fra.me.REG[5] = NIT_NULL;
77004 fra.me.REG[6] = NIT_NULL;
77005 fra.me.REG[7] = NIT_NULL;
77006 fra.me.REG[0] = p0;
77007 fra.me.REG[1] = p1;
77008 fra.me.REG[0] = NIT_NULL;
77009 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77010 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77011 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77012 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77013 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77014 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77015 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77016 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
77017 /* ./parser//parser.nit:28679 */
77018 if (UNTAG_Bool(REGB0)) {
77019 } else {
77020 fprintf(stderr, "Assert failed");
77021 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28679);
77022 nit_exit(1);
77023 }
77024 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
77025 /* ./parser//parser.nit:28681 */
77026 if (UNTAG_Bool(REGB0)) {
77027 } else {
77028 fprintf(stderr, "Assert failed");
77029 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28681);
77030 nit_exit(1);
77031 }
77032 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
77033 /* ./parser//parser.nit:28683 */
77034 if (UNTAG_Bool(REGB0)) {
77035 } else {
77036 fprintf(stderr, "Assert failed");
77037 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28683);
77038 nit_exit(1);
77039 }
77040 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
77041 /* ./parser//parser.nit:28685 */
77042 if (UNTAG_Bool(REGB0)) {
77043 } else {
77044 fprintf(stderr, "Assert failed");
77045 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28685);
77046 nit_exit(1);
77047 }
77048 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
77049 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
77050 /* ./parser//parser.nit:28690 */
77051 if (UNTAG_Bool(REGB0)) {
77052 } else {
77053 fprintf(stderr, "Assert failed");
77054 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28690);
77055 nit_exit(1);
77056 }
77057 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
77058 /* ./parser//parser.nit:28692 */
77059 if (UNTAG_Bool(REGB0)) {
77060 } else {
77061 fprintf(stderr, "Assert failed");
77062 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28692);
77063 nit_exit(1);
77064 }
77065 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
77066 fra.me.REG[0] = fra.me.REG[2];
77067 REGB0 = TAG_Int(76);
77068 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
77069 /* ./parser//parser.nit:28703 */
77070 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
77071 stack_frame_head = fra.me.prev;
77072 return;
77073 }
77074 void parser___ReduceAction722___init(val_t p0, int* init_table){
77075 int itpos726 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction722].i;
77076 struct {struct stack_frame_t me;} fra;
77077 val_t tmp;
77078 if (init_table[itpos726]) return;
77079 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77080 fra.me.file = LOCATE_parser;
77081 fra.me.line = 28705;
77082 fra.me.meth = LOCATE_parser___ReduceAction722___init;
77083 fra.me.has_broke = 0;
77084 fra.me.REG_size = 1;
77085 fra.me.REG[0] = NIT_NULL;
77086 fra.me.REG[0] = p0;
77087 /* ./parser//parser.nit:28705 */
77088 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
77089 stack_frame_head = fra.me.prev;
77090 init_table[itpos726] = 1;
77091 return;
77092 }
77093 void parser___ReduceAction723___action(val_t p0, val_t p1){
77094 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
77095 val_t REGB0;
77096 val_t tmp;
77097 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77098 fra.me.file = LOCATE_parser;
77099 fra.me.line = 28709;
77100 fra.me.meth = LOCATE_parser___ReduceAction723___action;
77101 fra.me.has_broke = 0;
77102 fra.me.REG_size = 8;
77103 fra.me.REG[0] = NIT_NULL;
77104 fra.me.REG[1] = NIT_NULL;
77105 fra.me.REG[2] = NIT_NULL;
77106 fra.me.REG[3] = NIT_NULL;
77107 fra.me.REG[4] = NIT_NULL;
77108 fra.me.REG[5] = NIT_NULL;
77109 fra.me.REG[6] = NIT_NULL;
77110 fra.me.REG[7] = NIT_NULL;
77111 fra.me.REG[0] = p0;
77112 fra.me.REG[1] = p1;
77113 fra.me.REG[0] = NIT_NULL;
77114 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77115 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77116 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77117 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77118 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77119 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77120 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77121 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
77122 /* ./parser//parser.nit:28720 */
77123 if (UNTAG_Bool(REGB0)) {
77124 } else {
77125 fprintf(stderr, "Assert failed");
77126 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28720);
77127 nit_exit(1);
77128 }
77129 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
77130 /* ./parser//parser.nit:28722 */
77131 if (UNTAG_Bool(REGB0)) {
77132 } else {
77133 fprintf(stderr, "Assert failed");
77134 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28722);
77135 nit_exit(1);
77136 }
77137 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
77138 /* ./parser//parser.nit:28724 */
77139 if (UNTAG_Bool(REGB0)) {
77140 } else {
77141 fprintf(stderr, "Assert failed");
77142 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28724);
77143 nit_exit(1);
77144 }
77145 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
77146 /* ./parser//parser.nit:28726 */
77147 if (UNTAG_Bool(REGB0)) {
77148 } else {
77149 fprintf(stderr, "Assert failed");
77150 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28726);
77151 nit_exit(1);
77152 }
77153 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
77154 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
77155 /* ./parser//parser.nit:28731 */
77156 if (UNTAG_Bool(REGB0)) {
77157 } else {
77158 fprintf(stderr, "Assert failed");
77159 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28731);
77160 nit_exit(1);
77161 }
77162 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
77163 /* ./parser//parser.nit:28733 */
77164 if (UNTAG_Bool(REGB0)) {
77165 } else {
77166 fprintf(stderr, "Assert failed");
77167 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28733);
77168 nit_exit(1);
77169 }
77170 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
77171 fra.me.REG[0] = fra.me.REG[2];
77172 REGB0 = TAG_Int(76);
77173 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
77174 /* ./parser//parser.nit:28744 */
77175 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
77176 stack_frame_head = fra.me.prev;
77177 return;
77178 }
77179 void parser___ReduceAction723___init(val_t p0, int* init_table){
77180 int itpos727 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction723].i;
77181 struct {struct stack_frame_t me;} fra;
77182 val_t tmp;
77183 if (init_table[itpos727]) return;
77184 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77185 fra.me.file = LOCATE_parser;
77186 fra.me.line = 28746;
77187 fra.me.meth = LOCATE_parser___ReduceAction723___init;
77188 fra.me.has_broke = 0;
77189 fra.me.REG_size = 1;
77190 fra.me.REG[0] = NIT_NULL;
77191 fra.me.REG[0] = p0;
77192 /* ./parser//parser.nit:28746 */
77193 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
77194 stack_frame_head = fra.me.prev;
77195 init_table[itpos727] = 1;
77196 return;
77197 }
77198 void parser___ReduceAction724___action(val_t p0, val_t p1){
77199 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
77200 val_t REGB0;
77201 val_t tmp;
77202 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77203 fra.me.file = LOCATE_parser;
77204 fra.me.line = 28750;
77205 fra.me.meth = LOCATE_parser___ReduceAction724___action;
77206 fra.me.has_broke = 0;
77207 fra.me.REG_size = 8;
77208 fra.me.REG[0] = NIT_NULL;
77209 fra.me.REG[1] = NIT_NULL;
77210 fra.me.REG[2] = NIT_NULL;
77211 fra.me.REG[3] = NIT_NULL;
77212 fra.me.REG[4] = NIT_NULL;
77213 fra.me.REG[5] = NIT_NULL;
77214 fra.me.REG[6] = NIT_NULL;
77215 fra.me.REG[7] = NIT_NULL;
77216 fra.me.REG[0] = p0;
77217 fra.me.REG[1] = p1;
77218 fra.me.REG[0] = NIT_NULL;
77219 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77220 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77221 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77222 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77223 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77224 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77225 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77226 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
77227 /* ./parser//parser.nit:28761 */
77228 if (UNTAG_Bool(REGB0)) {
77229 } else {
77230 fprintf(stderr, "Assert failed");
77231 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28761);
77232 nit_exit(1);
77233 }
77234 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
77235 /* ./parser//parser.nit:28763 */
77236 if (UNTAG_Bool(REGB0)) {
77237 } else {
77238 fprintf(stderr, "Assert failed");
77239 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28763);
77240 nit_exit(1);
77241 }
77242 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
77243 /* ./parser//parser.nit:28765 */
77244 if (UNTAG_Bool(REGB0)) {
77245 } else {
77246 fprintf(stderr, "Assert failed");
77247 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28765);
77248 nit_exit(1);
77249 }
77250 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
77251 /* ./parser//parser.nit:28767 */
77252 if (UNTAG_Bool(REGB0)) {
77253 } else {
77254 fprintf(stderr, "Assert failed");
77255 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28767);
77256 nit_exit(1);
77257 }
77258 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
77259 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
77260 /* ./parser//parser.nit:28772 */
77261 if (UNTAG_Bool(REGB0)) {
77262 } else {
77263 fprintf(stderr, "Assert failed");
77264 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28772);
77265 nit_exit(1);
77266 }
77267 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
77268 /* ./parser//parser.nit:28774 */
77269 if (UNTAG_Bool(REGB0)) {
77270 } else {
77271 fprintf(stderr, "Assert failed");
77272 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28774);
77273 nit_exit(1);
77274 }
77275 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
77276 fra.me.REG[0] = fra.me.REG[2];
77277 REGB0 = TAG_Int(76);
77278 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
77279 /* ./parser//parser.nit:28785 */
77280 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
77281 stack_frame_head = fra.me.prev;
77282 return;
77283 }
77284 void parser___ReduceAction724___init(val_t p0, int* init_table){
77285 int itpos728 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction724].i;
77286 struct {struct stack_frame_t me;} fra;
77287 val_t tmp;
77288 if (init_table[itpos728]) return;
77289 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77290 fra.me.file = LOCATE_parser;
77291 fra.me.line = 28787;
77292 fra.me.meth = LOCATE_parser___ReduceAction724___init;
77293 fra.me.has_broke = 0;
77294 fra.me.REG_size = 1;
77295 fra.me.REG[0] = NIT_NULL;
77296 fra.me.REG[0] = p0;
77297 /* ./parser//parser.nit:28787 */
77298 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
77299 stack_frame_head = fra.me.prev;
77300 init_table[itpos728] = 1;
77301 return;
77302 }
77303 void parser___ReduceAction725___action(val_t p0, val_t p1){
77304 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
77305 val_t REGB0;
77306 val_t tmp;
77307 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77308 fra.me.file = LOCATE_parser;
77309 fra.me.line = 28791;
77310 fra.me.meth = LOCATE_parser___ReduceAction725___action;
77311 fra.me.has_broke = 0;
77312 fra.me.REG_size = 8;
77313 fra.me.REG[0] = NIT_NULL;
77314 fra.me.REG[1] = NIT_NULL;
77315 fra.me.REG[2] = NIT_NULL;
77316 fra.me.REG[3] = NIT_NULL;
77317 fra.me.REG[4] = NIT_NULL;
77318 fra.me.REG[5] = NIT_NULL;
77319 fra.me.REG[6] = NIT_NULL;
77320 fra.me.REG[7] = NIT_NULL;
77321 fra.me.REG[0] = p0;
77322 fra.me.REG[1] = p1;
77323 fra.me.REG[0] = NIT_NULL;
77324 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77325 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77326 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77327 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77328 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77329 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77330 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77331 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
77332 /* ./parser//parser.nit:28802 */
77333 if (UNTAG_Bool(REGB0)) {
77334 } else {
77335 fprintf(stderr, "Assert failed");
77336 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28802);
77337 nit_exit(1);
77338 }
77339 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
77340 /* ./parser//parser.nit:28804 */
77341 if (UNTAG_Bool(REGB0)) {
77342 } else {
77343 fprintf(stderr, "Assert failed");
77344 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28804);
77345 nit_exit(1);
77346 }
77347 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
77348 /* ./parser//parser.nit:28806 */
77349 if (UNTAG_Bool(REGB0)) {
77350 } else {
77351 fprintf(stderr, "Assert failed");
77352 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28806);
77353 nit_exit(1);
77354 }
77355 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
77356 /* ./parser//parser.nit:28808 */
77357 if (UNTAG_Bool(REGB0)) {
77358 } else {
77359 fprintf(stderr, "Assert failed");
77360 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28808);
77361 nit_exit(1);
77362 }
77363 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
77364 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
77365 /* ./parser//parser.nit:28813 */
77366 if (UNTAG_Bool(REGB0)) {
77367 } else {
77368 fprintf(stderr, "Assert failed");
77369 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28813);
77370 nit_exit(1);
77371 }
77372 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
77373 /* ./parser//parser.nit:28815 */
77374 if (UNTAG_Bool(REGB0)) {
77375 } else {
77376 fprintf(stderr, "Assert failed");
77377 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28815);
77378 nit_exit(1);
77379 }
77380 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
77381 fra.me.REG[0] = fra.me.REG[2];
77382 REGB0 = TAG_Int(76);
77383 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
77384 /* ./parser//parser.nit:28826 */
77385 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
77386 stack_frame_head = fra.me.prev;
77387 return;
77388 }
77389 void parser___ReduceAction725___init(val_t p0, int* init_table){
77390 int itpos729 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction725].i;
77391 struct {struct stack_frame_t me;} fra;
77392 val_t tmp;
77393 if (init_table[itpos729]) return;
77394 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77395 fra.me.file = LOCATE_parser;
77396 fra.me.line = 28828;
77397 fra.me.meth = LOCATE_parser___ReduceAction725___init;
77398 fra.me.has_broke = 0;
77399 fra.me.REG_size = 1;
77400 fra.me.REG[0] = NIT_NULL;
77401 fra.me.REG[0] = p0;
77402 /* ./parser//parser.nit:28828 */
77403 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
77404 stack_frame_head = fra.me.prev;
77405 init_table[itpos729] = 1;
77406 return;
77407 }
77408 void parser___ReduceAction726___action(val_t p0, val_t p1){
77409 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
77410 val_t REGB0;
77411 val_t tmp;
77412 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77413 fra.me.file = LOCATE_parser;
77414 fra.me.line = 28832;
77415 fra.me.meth = LOCATE_parser___ReduceAction726___action;
77416 fra.me.has_broke = 0;
77417 fra.me.REG_size = 8;
77418 fra.me.REG[0] = NIT_NULL;
77419 fra.me.REG[1] = NIT_NULL;
77420 fra.me.REG[2] = NIT_NULL;
77421 fra.me.REG[3] = NIT_NULL;
77422 fra.me.REG[4] = NIT_NULL;
77423 fra.me.REG[5] = NIT_NULL;
77424 fra.me.REG[6] = NIT_NULL;
77425 fra.me.REG[7] = NIT_NULL;
77426 fra.me.REG[0] = p0;
77427 fra.me.REG[1] = p1;
77428 fra.me.REG[0] = NIT_NULL;
77429 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77430 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77431 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77432 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77433 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77434 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77435 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77436 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
77437 /* ./parser//parser.nit:28843 */
77438 if (UNTAG_Bool(REGB0)) {
77439 } else {
77440 fprintf(stderr, "Assert failed");
77441 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28843);
77442 nit_exit(1);
77443 }
77444 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
77445 /* ./parser//parser.nit:28845 */
77446 if (UNTAG_Bool(REGB0)) {
77447 } else {
77448 fprintf(stderr, "Assert failed");
77449 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28845);
77450 nit_exit(1);
77451 }
77452 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
77453 /* ./parser//parser.nit:28847 */
77454 if (UNTAG_Bool(REGB0)) {
77455 } else {
77456 fprintf(stderr, "Assert failed");
77457 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28847);
77458 nit_exit(1);
77459 }
77460 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
77461 /* ./parser//parser.nit:28849 */
77462 if (UNTAG_Bool(REGB0)) {
77463 } else {
77464 fprintf(stderr, "Assert failed");
77465 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28849);
77466 nit_exit(1);
77467 }
77468 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
77469 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
77470 /* ./parser//parser.nit:28854 */
77471 if (UNTAG_Bool(REGB0)) {
77472 } else {
77473 fprintf(stderr, "Assert failed");
77474 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28854);
77475 nit_exit(1);
77476 }
77477 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
77478 /* ./parser//parser.nit:28856 */
77479 if (UNTAG_Bool(REGB0)) {
77480 } else {
77481 fprintf(stderr, "Assert failed");
77482 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28856);
77483 nit_exit(1);
77484 }
77485 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
77486 fra.me.REG[0] = fra.me.REG[2];
77487 REGB0 = TAG_Int(76);
77488 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
77489 /* ./parser//parser.nit:28867 */
77490 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
77491 stack_frame_head = fra.me.prev;
77492 return;
77493 }
77494 void parser___ReduceAction726___init(val_t p0, int* init_table){
77495 int itpos730 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction726].i;
77496 struct {struct stack_frame_t me;} fra;
77497 val_t tmp;
77498 if (init_table[itpos730]) return;
77499 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77500 fra.me.file = LOCATE_parser;
77501 fra.me.line = 28869;
77502 fra.me.meth = LOCATE_parser___ReduceAction726___init;
77503 fra.me.has_broke = 0;
77504 fra.me.REG_size = 1;
77505 fra.me.REG[0] = NIT_NULL;
77506 fra.me.REG[0] = p0;
77507 /* ./parser//parser.nit:28869 */
77508 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
77509 stack_frame_head = fra.me.prev;
77510 init_table[itpos730] = 1;
77511 return;
77512 }
77513 void parser___ReduceAction727___action(val_t p0, val_t p1){
77514 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
77515 val_t REGB0;
77516 val_t tmp;
77517 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77518 fra.me.file = LOCATE_parser;
77519 fra.me.line = 28873;
77520 fra.me.meth = LOCATE_parser___ReduceAction727___action;
77521 fra.me.has_broke = 0;
77522 fra.me.REG_size = 8;
77523 fra.me.REG[0] = NIT_NULL;
77524 fra.me.REG[1] = NIT_NULL;
77525 fra.me.REG[2] = NIT_NULL;
77526 fra.me.REG[3] = NIT_NULL;
77527 fra.me.REG[4] = NIT_NULL;
77528 fra.me.REG[5] = NIT_NULL;
77529 fra.me.REG[6] = NIT_NULL;
77530 fra.me.REG[7] = NIT_NULL;
77531 fra.me.REG[0] = p0;
77532 fra.me.REG[1] = p1;
77533 fra.me.REG[0] = NIT_NULL;
77534 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77535 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77536 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77537 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77538 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77539 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77540 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77541 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
77542 /* ./parser//parser.nit:28884 */
77543 if (UNTAG_Bool(REGB0)) {
77544 } else {
77545 fprintf(stderr, "Assert failed");
77546 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28884);
77547 nit_exit(1);
77548 }
77549 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
77550 /* ./parser//parser.nit:28886 */
77551 if (UNTAG_Bool(REGB0)) {
77552 } else {
77553 fprintf(stderr, "Assert failed");
77554 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28886);
77555 nit_exit(1);
77556 }
77557 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
77558 /* ./parser//parser.nit:28888 */
77559 if (UNTAG_Bool(REGB0)) {
77560 } else {
77561 fprintf(stderr, "Assert failed");
77562 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28888);
77563 nit_exit(1);
77564 }
77565 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
77566 /* ./parser//parser.nit:28890 */
77567 if (UNTAG_Bool(REGB0)) {
77568 } else {
77569 fprintf(stderr, "Assert failed");
77570 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28890);
77571 nit_exit(1);
77572 }
77573 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
77574 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
77575 /* ./parser//parser.nit:28895 */
77576 if (UNTAG_Bool(REGB0)) {
77577 } else {
77578 fprintf(stderr, "Assert failed");
77579 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28895);
77580 nit_exit(1);
77581 }
77582 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
77583 /* ./parser//parser.nit:28897 */
77584 if (UNTAG_Bool(REGB0)) {
77585 } else {
77586 fprintf(stderr, "Assert failed");
77587 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28897);
77588 nit_exit(1);
77589 }
77590 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
77591 fra.me.REG[0] = fra.me.REG[2];
77592 REGB0 = TAG_Int(76);
77593 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
77594 /* ./parser//parser.nit:28908 */
77595 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
77596 stack_frame_head = fra.me.prev;
77597 return;
77598 }
77599 void parser___ReduceAction727___init(val_t p0, int* init_table){
77600 int itpos731 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction727].i;
77601 struct {struct stack_frame_t me;} fra;
77602 val_t tmp;
77603 if (init_table[itpos731]) return;
77604 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77605 fra.me.file = LOCATE_parser;
77606 fra.me.line = 28910;
77607 fra.me.meth = LOCATE_parser___ReduceAction727___init;
77608 fra.me.has_broke = 0;
77609 fra.me.REG_size = 1;
77610 fra.me.REG[0] = NIT_NULL;
77611 fra.me.REG[0] = p0;
77612 /* ./parser//parser.nit:28910 */
77613 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
77614 stack_frame_head = fra.me.prev;
77615 init_table[itpos731] = 1;
77616 return;
77617 }
77618 void parser___ReduceAction728___action(val_t p0, val_t p1){
77619 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
77620 val_t REGB0;
77621 val_t tmp;
77622 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77623 fra.me.file = LOCATE_parser;
77624 fra.me.line = 28914;
77625 fra.me.meth = LOCATE_parser___ReduceAction728___action;
77626 fra.me.has_broke = 0;
77627 fra.me.REG_size = 8;
77628 fra.me.REG[0] = NIT_NULL;
77629 fra.me.REG[1] = NIT_NULL;
77630 fra.me.REG[2] = NIT_NULL;
77631 fra.me.REG[3] = NIT_NULL;
77632 fra.me.REG[4] = NIT_NULL;
77633 fra.me.REG[5] = NIT_NULL;
77634 fra.me.REG[6] = NIT_NULL;
77635 fra.me.REG[7] = NIT_NULL;
77636 fra.me.REG[0] = p0;
77637 fra.me.REG[1] = p1;
77638 fra.me.REG[0] = NIT_NULL;
77639 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77640 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77641 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77642 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77643 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77644 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77645 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77646 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
77647 /* ./parser//parser.nit:28925 */
77648 if (UNTAG_Bool(REGB0)) {
77649 } else {
77650 fprintf(stderr, "Assert failed");
77651 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28925);
77652 nit_exit(1);
77653 }
77654 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
77655 /* ./parser//parser.nit:28927 */
77656 if (UNTAG_Bool(REGB0)) {
77657 } else {
77658 fprintf(stderr, "Assert failed");
77659 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28927);
77660 nit_exit(1);
77661 }
77662 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
77663 /* ./parser//parser.nit:28929 */
77664 if (UNTAG_Bool(REGB0)) {
77665 } else {
77666 fprintf(stderr, "Assert failed");
77667 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28929);
77668 nit_exit(1);
77669 }
77670 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
77671 /* ./parser//parser.nit:28931 */
77672 if (UNTAG_Bool(REGB0)) {
77673 } else {
77674 fprintf(stderr, "Assert failed");
77675 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28931);
77676 nit_exit(1);
77677 }
77678 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
77679 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
77680 /* ./parser//parser.nit:28936 */
77681 if (UNTAG_Bool(REGB0)) {
77682 } else {
77683 fprintf(stderr, "Assert failed");
77684 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28936);
77685 nit_exit(1);
77686 }
77687 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
77688 /* ./parser//parser.nit:28938 */
77689 if (UNTAG_Bool(REGB0)) {
77690 } else {
77691 fprintf(stderr, "Assert failed");
77692 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28938);
77693 nit_exit(1);
77694 }
77695 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
77696 fra.me.REG[0] = fra.me.REG[2];
77697 REGB0 = TAG_Int(76);
77698 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
77699 /* ./parser//parser.nit:28949 */
77700 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
77701 stack_frame_head = fra.me.prev;
77702 return;
77703 }
77704 void parser___ReduceAction728___init(val_t p0, int* init_table){
77705 int itpos732 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction728].i;
77706 struct {struct stack_frame_t me;} fra;
77707 val_t tmp;
77708 if (init_table[itpos732]) return;
77709 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77710 fra.me.file = LOCATE_parser;
77711 fra.me.line = 28951;
77712 fra.me.meth = LOCATE_parser___ReduceAction728___init;
77713 fra.me.has_broke = 0;
77714 fra.me.REG_size = 1;
77715 fra.me.REG[0] = NIT_NULL;
77716 fra.me.REG[0] = p0;
77717 /* ./parser//parser.nit:28951 */
77718 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
77719 stack_frame_head = fra.me.prev;
77720 init_table[itpos732] = 1;
77721 return;
77722 }
77723 void parser___ReduceAction729___action(val_t p0, val_t p1){
77724 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
77725 val_t REGB0;
77726 val_t tmp;
77727 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77728 fra.me.file = LOCATE_parser;
77729 fra.me.line = 28955;
77730 fra.me.meth = LOCATE_parser___ReduceAction729___action;
77731 fra.me.has_broke = 0;
77732 fra.me.REG_size = 8;
77733 fra.me.REG[0] = NIT_NULL;
77734 fra.me.REG[1] = NIT_NULL;
77735 fra.me.REG[2] = NIT_NULL;
77736 fra.me.REG[3] = NIT_NULL;
77737 fra.me.REG[4] = NIT_NULL;
77738 fra.me.REG[5] = NIT_NULL;
77739 fra.me.REG[6] = NIT_NULL;
77740 fra.me.REG[7] = NIT_NULL;
77741 fra.me.REG[0] = p0;
77742 fra.me.REG[1] = p1;
77743 fra.me.REG[0] = NIT_NULL;
77744 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77745 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77746 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77747 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77748 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77749 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77750 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77751 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
77752 /* ./parser//parser.nit:28966 */
77753 if (UNTAG_Bool(REGB0)) {
77754 } else {
77755 fprintf(stderr, "Assert failed");
77756 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28966);
77757 nit_exit(1);
77758 }
77759 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
77760 /* ./parser//parser.nit:28968 */
77761 if (UNTAG_Bool(REGB0)) {
77762 } else {
77763 fprintf(stderr, "Assert failed");
77764 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28968);
77765 nit_exit(1);
77766 }
77767 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
77768 /* ./parser//parser.nit:28970 */
77769 if (UNTAG_Bool(REGB0)) {
77770 } else {
77771 fprintf(stderr, "Assert failed");
77772 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28970);
77773 nit_exit(1);
77774 }
77775 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
77776 /* ./parser//parser.nit:28972 */
77777 if (UNTAG_Bool(REGB0)) {
77778 } else {
77779 fprintf(stderr, "Assert failed");
77780 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28972);
77781 nit_exit(1);
77782 }
77783 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
77784 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
77785 /* ./parser//parser.nit:28977 */
77786 if (UNTAG_Bool(REGB0)) {
77787 } else {
77788 fprintf(stderr, "Assert failed");
77789 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28977);
77790 nit_exit(1);
77791 }
77792 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
77793 /* ./parser//parser.nit:28979 */
77794 if (UNTAG_Bool(REGB0)) {
77795 } else {
77796 fprintf(stderr, "Assert failed");
77797 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28979);
77798 nit_exit(1);
77799 }
77800 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
77801 fra.me.REG[0] = fra.me.REG[2];
77802 REGB0 = TAG_Int(76);
77803 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
77804 /* ./parser//parser.nit:28990 */
77805 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
77806 stack_frame_head = fra.me.prev;
77807 return;
77808 }
77809 void parser___ReduceAction729___init(val_t p0, int* init_table){
77810 int itpos733 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction729].i;
77811 struct {struct stack_frame_t me;} fra;
77812 val_t tmp;
77813 if (init_table[itpos733]) return;
77814 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77815 fra.me.file = LOCATE_parser;
77816 fra.me.line = 28992;
77817 fra.me.meth = LOCATE_parser___ReduceAction729___init;
77818 fra.me.has_broke = 0;
77819 fra.me.REG_size = 1;
77820 fra.me.REG[0] = NIT_NULL;
77821 fra.me.REG[0] = p0;
77822 /* ./parser//parser.nit:28992 */
77823 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
77824 stack_frame_head = fra.me.prev;
77825 init_table[itpos733] = 1;
77826 return;
77827 }
77828 void parser___ReduceAction730___action(val_t p0, val_t p1){
77829 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
77830 val_t REGB0;
77831 val_t tmp;
77832 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77833 fra.me.file = LOCATE_parser;
77834 fra.me.line = 28996;
77835 fra.me.meth = LOCATE_parser___ReduceAction730___action;
77836 fra.me.has_broke = 0;
77837 fra.me.REG_size = 8;
77838 fra.me.REG[0] = NIT_NULL;
77839 fra.me.REG[1] = NIT_NULL;
77840 fra.me.REG[2] = NIT_NULL;
77841 fra.me.REG[3] = NIT_NULL;
77842 fra.me.REG[4] = NIT_NULL;
77843 fra.me.REG[5] = NIT_NULL;
77844 fra.me.REG[6] = NIT_NULL;
77845 fra.me.REG[7] = NIT_NULL;
77846 fra.me.REG[0] = p0;
77847 fra.me.REG[1] = p1;
77848 fra.me.REG[0] = NIT_NULL;
77849 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77850 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77851 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77852 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77853 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77854 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77855 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77856 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
77857 /* ./parser//parser.nit:29007 */
77858 if (UNTAG_Bool(REGB0)) {
77859 } else {
77860 fprintf(stderr, "Assert failed");
77861 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29007);
77862 nit_exit(1);
77863 }
77864 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
77865 /* ./parser//parser.nit:29009 */
77866 if (UNTAG_Bool(REGB0)) {
77867 } else {
77868 fprintf(stderr, "Assert failed");
77869 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29009);
77870 nit_exit(1);
77871 }
77872 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
77873 /* ./parser//parser.nit:29011 */
77874 if (UNTAG_Bool(REGB0)) {
77875 } else {
77876 fprintf(stderr, "Assert failed");
77877 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29011);
77878 nit_exit(1);
77879 }
77880 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
77881 /* ./parser//parser.nit:29013 */
77882 if (UNTAG_Bool(REGB0)) {
77883 } else {
77884 fprintf(stderr, "Assert failed");
77885 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29013);
77886 nit_exit(1);
77887 }
77888 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
77889 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
77890 /* ./parser//parser.nit:29018 */
77891 if (UNTAG_Bool(REGB0)) {
77892 } else {
77893 fprintf(stderr, "Assert failed");
77894 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29018);
77895 nit_exit(1);
77896 }
77897 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
77898 /* ./parser//parser.nit:29020 */
77899 if (UNTAG_Bool(REGB0)) {
77900 } else {
77901 fprintf(stderr, "Assert failed");
77902 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29020);
77903 nit_exit(1);
77904 }
77905 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
77906 fra.me.REG[0] = fra.me.REG[2];
77907 REGB0 = TAG_Int(76);
77908 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
77909 /* ./parser//parser.nit:29031 */
77910 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
77911 stack_frame_head = fra.me.prev;
77912 return;
77913 }
77914 void parser___ReduceAction730___init(val_t p0, int* init_table){
77915 int itpos734 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction730].i;
77916 struct {struct stack_frame_t me;} fra;
77917 val_t tmp;
77918 if (init_table[itpos734]) return;
77919 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77920 fra.me.file = LOCATE_parser;
77921 fra.me.line = 29033;
77922 fra.me.meth = LOCATE_parser___ReduceAction730___init;
77923 fra.me.has_broke = 0;
77924 fra.me.REG_size = 1;
77925 fra.me.REG[0] = NIT_NULL;
77926 fra.me.REG[0] = p0;
77927 /* ./parser//parser.nit:29033 */
77928 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
77929 stack_frame_head = fra.me.prev;
77930 init_table[itpos734] = 1;
77931 return;
77932 }
77933 void parser___ReduceAction731___action(val_t p0, val_t p1){
77934 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
77935 val_t REGB0;
77936 val_t tmp;
77937 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77938 fra.me.file = LOCATE_parser;
77939 fra.me.line = 29037;
77940 fra.me.meth = LOCATE_parser___ReduceAction731___action;
77941 fra.me.has_broke = 0;
77942 fra.me.REG_size = 8;
77943 fra.me.REG[0] = NIT_NULL;
77944 fra.me.REG[1] = NIT_NULL;
77945 fra.me.REG[2] = NIT_NULL;
77946 fra.me.REG[3] = NIT_NULL;
77947 fra.me.REG[4] = NIT_NULL;
77948 fra.me.REG[5] = NIT_NULL;
77949 fra.me.REG[6] = NIT_NULL;
77950 fra.me.REG[7] = NIT_NULL;
77951 fra.me.REG[0] = p0;
77952 fra.me.REG[1] = p1;
77953 fra.me.REG[0] = NIT_NULL;
77954 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77955 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77956 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77957 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77958 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77959 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77960 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
77961 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
77962 /* ./parser//parser.nit:29048 */
77963 if (UNTAG_Bool(REGB0)) {
77964 } else {
77965 fprintf(stderr, "Assert failed");
77966 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29048);
77967 nit_exit(1);
77968 }
77969 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
77970 /* ./parser//parser.nit:29050 */
77971 if (UNTAG_Bool(REGB0)) {
77972 } else {
77973 fprintf(stderr, "Assert failed");
77974 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29050);
77975 nit_exit(1);
77976 }
77977 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
77978 /* ./parser//parser.nit:29052 */
77979 if (UNTAG_Bool(REGB0)) {
77980 } else {
77981 fprintf(stderr, "Assert failed");
77982 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29052);
77983 nit_exit(1);
77984 }
77985 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
77986 /* ./parser//parser.nit:29054 */
77987 if (UNTAG_Bool(REGB0)) {
77988 } else {
77989 fprintf(stderr, "Assert failed");
77990 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29054);
77991 nit_exit(1);
77992 }
77993 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
77994 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
77995 /* ./parser//parser.nit:29059 */
77996 if (UNTAG_Bool(REGB0)) {
77997 } else {
77998 fprintf(stderr, "Assert failed");
77999 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29059);
78000 nit_exit(1);
78001 }
78002 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
78003 /* ./parser//parser.nit:29061 */
78004 if (UNTAG_Bool(REGB0)) {
78005 } else {
78006 fprintf(stderr, "Assert failed");
78007 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29061);
78008 nit_exit(1);
78009 }
78010 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
78011 fra.me.REG[0] = fra.me.REG[2];
78012 REGB0 = TAG_Int(76);
78013 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
78014 /* ./parser//parser.nit:29072 */
78015 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
78016 stack_frame_head = fra.me.prev;
78017 return;
78018 }
78019 void parser___ReduceAction731___init(val_t p0, int* init_table){
78020 int itpos735 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction731].i;
78021 struct {struct stack_frame_t me;} fra;
78022 val_t tmp;
78023 if (init_table[itpos735]) return;
78024 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78025 fra.me.file = LOCATE_parser;
78026 fra.me.line = 29074;
78027 fra.me.meth = LOCATE_parser___ReduceAction731___init;
78028 fra.me.has_broke = 0;
78029 fra.me.REG_size = 1;
78030 fra.me.REG[0] = NIT_NULL;
78031 fra.me.REG[0] = p0;
78032 /* ./parser//parser.nit:29074 */
78033 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
78034 stack_frame_head = fra.me.prev;
78035 init_table[itpos735] = 1;
78036 return;
78037 }
78038 void parser___ReduceAction732___action(val_t p0, val_t p1){
78039 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
78040 val_t REGB0;
78041 val_t tmp;
78042 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78043 fra.me.file = LOCATE_parser;
78044 fra.me.line = 29078;
78045 fra.me.meth = LOCATE_parser___ReduceAction732___action;
78046 fra.me.has_broke = 0;
78047 fra.me.REG_size = 9;
78048 fra.me.REG[0] = NIT_NULL;
78049 fra.me.REG[1] = NIT_NULL;
78050 fra.me.REG[2] = NIT_NULL;
78051 fra.me.REG[3] = NIT_NULL;
78052 fra.me.REG[4] = NIT_NULL;
78053 fra.me.REG[5] = NIT_NULL;
78054 fra.me.REG[6] = NIT_NULL;
78055 fra.me.REG[7] = NIT_NULL;
78056 fra.me.REG[8] = NIT_NULL;
78057 fra.me.REG[0] = p0;
78058 fra.me.REG[1] = p1;
78059 fra.me.REG[0] = NIT_NULL;
78060 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78061 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78062 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78063 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78064 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78065 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78066 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78067 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78068 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
78069 /* ./parser//parser.nit:29090 */
78070 if (UNTAG_Bool(REGB0)) {
78071 } else {
78072 fprintf(stderr, "Assert failed");
78073 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29090);
78074 nit_exit(1);
78075 }
78076 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
78077 /* ./parser//parser.nit:29092 */
78078 if (UNTAG_Bool(REGB0)) {
78079 } else {
78080 fprintf(stderr, "Assert failed");
78081 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29092);
78082 nit_exit(1);
78083 }
78084 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
78085 /* ./parser//parser.nit:29094 */
78086 if (UNTAG_Bool(REGB0)) {
78087 } else {
78088 fprintf(stderr, "Assert failed");
78089 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29094);
78090 nit_exit(1);
78091 }
78092 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
78093 /* ./parser//parser.nit:29096 */
78094 if (UNTAG_Bool(REGB0)) {
78095 } else {
78096 fprintf(stderr, "Assert failed");
78097 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29096);
78098 nit_exit(1);
78099 }
78100 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
78101 /* ./parser//parser.nit:29098 */
78102 if (UNTAG_Bool(REGB0)) {
78103 } else {
78104 fprintf(stderr, "Assert failed");
78105 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29098);
78106 nit_exit(1);
78107 }
78108 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
78109 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
78110 /* ./parser//parser.nit:29104 */
78111 if (UNTAG_Bool(REGB0)) {
78112 } else {
78113 fprintf(stderr, "Assert failed");
78114 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29104);
78115 nit_exit(1);
78116 }
78117 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
78118 /* ./parser//parser.nit:29106 */
78119 if (UNTAG_Bool(REGB0)) {
78120 } else {
78121 fprintf(stderr, "Assert failed");
78122 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29106);
78123 nit_exit(1);
78124 }
78125 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
78126 fra.me.REG[0] = fra.me.REG[2];
78127 REGB0 = TAG_Int(76);
78128 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
78129 /* ./parser//parser.nit:29117 */
78130 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
78131 stack_frame_head = fra.me.prev;
78132 return;
78133 }
78134 void parser___ReduceAction732___init(val_t p0, int* init_table){
78135 int itpos736 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction732].i;
78136 struct {struct stack_frame_t me;} fra;
78137 val_t tmp;
78138 if (init_table[itpos736]) return;
78139 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78140 fra.me.file = LOCATE_parser;
78141 fra.me.line = 29119;
78142 fra.me.meth = LOCATE_parser___ReduceAction732___init;
78143 fra.me.has_broke = 0;
78144 fra.me.REG_size = 1;
78145 fra.me.REG[0] = NIT_NULL;
78146 fra.me.REG[0] = p0;
78147 /* ./parser//parser.nit:29119 */
78148 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
78149 stack_frame_head = fra.me.prev;
78150 init_table[itpos736] = 1;
78151 return;
78152 }
78153 void parser___ReduceAction733___action(val_t p0, val_t p1){
78154 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
78155 val_t REGB0;
78156 val_t tmp;
78157 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78158 fra.me.file = LOCATE_parser;
78159 fra.me.line = 29123;
78160 fra.me.meth = LOCATE_parser___ReduceAction733___action;
78161 fra.me.has_broke = 0;
78162 fra.me.REG_size = 8;
78163 fra.me.REG[0] = NIT_NULL;
78164 fra.me.REG[1] = NIT_NULL;
78165 fra.me.REG[2] = NIT_NULL;
78166 fra.me.REG[3] = NIT_NULL;
78167 fra.me.REG[4] = NIT_NULL;
78168 fra.me.REG[5] = NIT_NULL;
78169 fra.me.REG[6] = NIT_NULL;
78170 fra.me.REG[7] = NIT_NULL;
78171 fra.me.REG[0] = p0;
78172 fra.me.REG[1] = p1;
78173 fra.me.REG[0] = NIT_NULL;
78174 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78175 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78176 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78177 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78178 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78179 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78180 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78181 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
78182 /* ./parser//parser.nit:29134 */
78183 if (UNTAG_Bool(REGB0)) {
78184 } else {
78185 fprintf(stderr, "Assert failed");
78186 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29134);
78187 nit_exit(1);
78188 }
78189 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
78190 /* ./parser//parser.nit:29136 */
78191 if (UNTAG_Bool(REGB0)) {
78192 } else {
78193 fprintf(stderr, "Assert failed");
78194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29136);
78195 nit_exit(1);
78196 }
78197 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
78198 /* ./parser//parser.nit:29138 */
78199 if (UNTAG_Bool(REGB0)) {
78200 } else {
78201 fprintf(stderr, "Assert failed");
78202 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29138);
78203 nit_exit(1);
78204 }
78205 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
78206 /* ./parser//parser.nit:29140 */
78207 if (UNTAG_Bool(REGB0)) {
78208 } else {
78209 fprintf(stderr, "Assert failed");
78210 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29140);
78211 nit_exit(1);
78212 }
78213 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
78214 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
78215 /* ./parser//parser.nit:29145 */
78216 if (UNTAG_Bool(REGB0)) {
78217 } else {
78218 fprintf(stderr, "Assert failed");
78219 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29145);
78220 nit_exit(1);
78221 }
78222 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
78223 /* ./parser//parser.nit:29147 */
78224 if (UNTAG_Bool(REGB0)) {
78225 } else {
78226 fprintf(stderr, "Assert failed");
78227 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29147);
78228 nit_exit(1);
78229 }
78230 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
78231 fra.me.REG[0] = fra.me.REG[2];
78232 REGB0 = TAG_Int(76);
78233 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
78234 /* ./parser//parser.nit:29158 */
78235 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
78236 stack_frame_head = fra.me.prev;
78237 return;
78238 }
78239 void parser___ReduceAction733___init(val_t p0, int* init_table){
78240 int itpos737 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction733].i;
78241 struct {struct stack_frame_t me;} fra;
78242 val_t tmp;
78243 if (init_table[itpos737]) return;
78244 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78245 fra.me.file = LOCATE_parser;
78246 fra.me.line = 29160;
78247 fra.me.meth = LOCATE_parser___ReduceAction733___init;
78248 fra.me.has_broke = 0;
78249 fra.me.REG_size = 1;
78250 fra.me.REG[0] = NIT_NULL;
78251 fra.me.REG[0] = p0;
78252 /* ./parser//parser.nit:29160 */
78253 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
78254 stack_frame_head = fra.me.prev;
78255 init_table[itpos737] = 1;
78256 return;
78257 }
78258 void parser___ReduceAction734___action(val_t p0, val_t p1){
78259 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
78260 val_t REGB0;
78261 val_t tmp;
78262 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78263 fra.me.file = LOCATE_parser;
78264 fra.me.line = 29164;
78265 fra.me.meth = LOCATE_parser___ReduceAction734___action;
78266 fra.me.has_broke = 0;
78267 fra.me.REG_size = 9;
78268 fra.me.REG[0] = NIT_NULL;
78269 fra.me.REG[1] = NIT_NULL;
78270 fra.me.REG[2] = NIT_NULL;
78271 fra.me.REG[3] = NIT_NULL;
78272 fra.me.REG[4] = NIT_NULL;
78273 fra.me.REG[5] = NIT_NULL;
78274 fra.me.REG[6] = NIT_NULL;
78275 fra.me.REG[7] = NIT_NULL;
78276 fra.me.REG[8] = NIT_NULL;
78277 fra.me.REG[0] = p0;
78278 fra.me.REG[1] = p1;
78279 fra.me.REG[0] = NIT_NULL;
78280 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78281 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78282 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78283 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78284 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78285 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78286 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78287 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78288 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
78289 /* ./parser//parser.nit:29176 */
78290 if (UNTAG_Bool(REGB0)) {
78291 } else {
78292 fprintf(stderr, "Assert failed");
78293 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29176);
78294 nit_exit(1);
78295 }
78296 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
78297 /* ./parser//parser.nit:29178 */
78298 if (UNTAG_Bool(REGB0)) {
78299 } else {
78300 fprintf(stderr, "Assert failed");
78301 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29178);
78302 nit_exit(1);
78303 }
78304 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
78305 /* ./parser//parser.nit:29180 */
78306 if (UNTAG_Bool(REGB0)) {
78307 } else {
78308 fprintf(stderr, "Assert failed");
78309 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29180);
78310 nit_exit(1);
78311 }
78312 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
78313 /* ./parser//parser.nit:29182 */
78314 if (UNTAG_Bool(REGB0)) {
78315 } else {
78316 fprintf(stderr, "Assert failed");
78317 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29182);
78318 nit_exit(1);
78319 }
78320 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
78321 /* ./parser//parser.nit:29184 */
78322 if (UNTAG_Bool(REGB0)) {
78323 } else {
78324 fprintf(stderr, "Assert failed");
78325 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29184);
78326 nit_exit(1);
78327 }
78328 fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
78329 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
78330 /* ./parser//parser.nit:29190 */
78331 if (UNTAG_Bool(REGB0)) {
78332 } else {
78333 fprintf(stderr, "Assert failed");
78334 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29190);
78335 nit_exit(1);
78336 }
78337 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
78338 /* ./parser//parser.nit:29192 */
78339 if (UNTAG_Bool(REGB0)) {
78340 } else {
78341 fprintf(stderr, "Assert failed");
78342 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29192);
78343 nit_exit(1);
78344 }
78345 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
78346 fra.me.REG[0] = fra.me.REG[2];
78347 REGB0 = TAG_Int(76);
78348 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
78349 /* ./parser//parser.nit:29203 */
78350 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
78351 stack_frame_head = fra.me.prev;
78352 return;
78353 }
78354 void parser___ReduceAction734___init(val_t p0, int* init_table){
78355 int itpos738 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction734].i;
78356 struct {struct stack_frame_t me;} fra;
78357 val_t tmp;
78358 if (init_table[itpos738]) return;
78359 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78360 fra.me.file = LOCATE_parser;
78361 fra.me.line = 29205;
78362 fra.me.meth = LOCATE_parser___ReduceAction734___init;
78363 fra.me.has_broke = 0;
78364 fra.me.REG_size = 1;
78365 fra.me.REG[0] = NIT_NULL;
78366 fra.me.REG[0] = p0;
78367 /* ./parser//parser.nit:29205 */
78368 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
78369 stack_frame_head = fra.me.prev;
78370 init_table[itpos738] = 1;
78371 return;
78372 }
78373 void parser___ReduceAction735___action(val_t p0, val_t p1){
78374 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
78375 val_t REGB0;
78376 val_t tmp;
78377 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78378 fra.me.file = LOCATE_parser;
78379 fra.me.line = 29209;
78380 fra.me.meth = LOCATE_parser___ReduceAction735___action;
78381 fra.me.has_broke = 0;
78382 fra.me.REG_size = 10;
78383 fra.me.REG[0] = NIT_NULL;
78384 fra.me.REG[1] = NIT_NULL;
78385 fra.me.REG[2] = NIT_NULL;
78386 fra.me.REG[3] = NIT_NULL;
78387 fra.me.REG[4] = NIT_NULL;
78388 fra.me.REG[5] = NIT_NULL;
78389 fra.me.REG[6] = NIT_NULL;
78390 fra.me.REG[7] = NIT_NULL;
78391 fra.me.REG[8] = NIT_NULL;
78392 fra.me.REG[9] = NIT_NULL;
78393 fra.me.REG[0] = p0;
78394 fra.me.REG[1] = p1;
78395 fra.me.REG[0] = NIT_NULL;
78396 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78397 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78398 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78399 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78400 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78401 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78402 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78403 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78404 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78405 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
78406 /* ./parser//parser.nit:29222 */
78407 if (UNTAG_Bool(REGB0)) {
78408 } else {
78409 fprintf(stderr, "Assert failed");
78410 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29222);
78411 nit_exit(1);
78412 }
78413 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
78414 /* ./parser//parser.nit:29224 */
78415 if (UNTAG_Bool(REGB0)) {
78416 } else {
78417 fprintf(stderr, "Assert failed");
78418 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29224);
78419 nit_exit(1);
78420 }
78421 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
78422 /* ./parser//parser.nit:29226 */
78423 if (UNTAG_Bool(REGB0)) {
78424 } else {
78425 fprintf(stderr, "Assert failed");
78426 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29226);
78427 nit_exit(1);
78428 }
78429 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
78430 /* ./parser//parser.nit:29228 */
78431 if (UNTAG_Bool(REGB0)) {
78432 } else {
78433 fprintf(stderr, "Assert failed");
78434 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29228);
78435 nit_exit(1);
78436 }
78437 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
78438 /* ./parser//parser.nit:29230 */
78439 if (UNTAG_Bool(REGB0)) {
78440 } else {
78441 fprintf(stderr, "Assert failed");
78442 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29230);
78443 nit_exit(1);
78444 }
78445 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
78446 /* ./parser//parser.nit:29232 */
78447 if (UNTAG_Bool(REGB0)) {
78448 } else {
78449 fprintf(stderr, "Assert failed");
78450 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29232);
78451 nit_exit(1);
78452 }
78453 fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
78454 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
78455 /* ./parser//parser.nit:29239 */
78456 if (UNTAG_Bool(REGB0)) {
78457 } else {
78458 fprintf(stderr, "Assert failed");
78459 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29239);
78460 nit_exit(1);
78461 }
78462 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
78463 /* ./parser//parser.nit:29241 */
78464 if (UNTAG_Bool(REGB0)) {
78465 } else {
78466 fprintf(stderr, "Assert failed");
78467 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29241);
78468 nit_exit(1);
78469 }
78470 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
78471 fra.me.REG[0] = fra.me.REG[2];
78472 REGB0 = TAG_Int(76);
78473 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
78474 /* ./parser//parser.nit:29252 */
78475 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
78476 stack_frame_head = fra.me.prev;
78477 return;
78478 }
78479 void parser___ReduceAction735___init(val_t p0, int* init_table){
78480 int itpos739 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction735].i;
78481 struct {struct stack_frame_t me;} fra;
78482 val_t tmp;
78483 if (init_table[itpos739]) return;
78484 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78485 fra.me.file = LOCATE_parser;
78486 fra.me.line = 29254;
78487 fra.me.meth = LOCATE_parser___ReduceAction735___init;
78488 fra.me.has_broke = 0;
78489 fra.me.REG_size = 1;
78490 fra.me.REG[0] = NIT_NULL;
78491 fra.me.REG[0] = p0;
78492 /* ./parser//parser.nit:29254 */
78493 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
78494 stack_frame_head = fra.me.prev;
78495 init_table[itpos739] = 1;
78496 return;
78497 }
78498 void parser___ReduceAction736___action(val_t p0, val_t p1){
78499 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
78500 val_t REGB0;
78501 val_t tmp;
78502 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78503 fra.me.file = LOCATE_parser;
78504 fra.me.line = 29258;
78505 fra.me.meth = LOCATE_parser___ReduceAction736___action;
78506 fra.me.has_broke = 0;
78507 fra.me.REG_size = 9;
78508 fra.me.REG[0] = NIT_NULL;
78509 fra.me.REG[1] = NIT_NULL;
78510 fra.me.REG[2] = NIT_NULL;
78511 fra.me.REG[3] = NIT_NULL;
78512 fra.me.REG[4] = NIT_NULL;
78513 fra.me.REG[5] = NIT_NULL;
78514 fra.me.REG[6] = NIT_NULL;
78515 fra.me.REG[7] = NIT_NULL;
78516 fra.me.REG[8] = NIT_NULL;
78517 fra.me.REG[0] = p0;
78518 fra.me.REG[1] = p1;
78519 fra.me.REG[0] = NIT_NULL;
78520 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78521 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78522 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78523 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78524 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78525 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78526 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78527 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78528 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
78529 /* ./parser//parser.nit:29270 */
78530 if (UNTAG_Bool(REGB0)) {
78531 } else {
78532 fprintf(stderr, "Assert failed");
78533 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29270);
78534 nit_exit(1);
78535 }
78536 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
78537 /* ./parser//parser.nit:29272 */
78538 if (UNTAG_Bool(REGB0)) {
78539 } else {
78540 fprintf(stderr, "Assert failed");
78541 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29272);
78542 nit_exit(1);
78543 }
78544 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
78545 /* ./parser//parser.nit:29274 */
78546 if (UNTAG_Bool(REGB0)) {
78547 } else {
78548 fprintf(stderr, "Assert failed");
78549 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29274);
78550 nit_exit(1);
78551 }
78552 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
78553 /* ./parser//parser.nit:29276 */
78554 if (UNTAG_Bool(REGB0)) {
78555 } else {
78556 fprintf(stderr, "Assert failed");
78557 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29276);
78558 nit_exit(1);
78559 }
78560 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
78561 /* ./parser//parser.nit:29278 */
78562 if (UNTAG_Bool(REGB0)) {
78563 } else {
78564 fprintf(stderr, "Assert failed");
78565 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29278);
78566 nit_exit(1);
78567 }
78568 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
78569 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
78570 /* ./parser//parser.nit:29283 */
78571 if (UNTAG_Bool(REGB0)) {
78572 } else {
78573 fprintf(stderr, "Assert failed");
78574 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29283);
78575 nit_exit(1);
78576 }
78577 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
78578 /* ./parser//parser.nit:29285 */
78579 if (UNTAG_Bool(REGB0)) {
78580 } else {
78581 fprintf(stderr, "Assert failed");
78582 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29285);
78583 nit_exit(1);
78584 }
78585 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
78586 fra.me.REG[0] = fra.me.REG[2];
78587 REGB0 = TAG_Int(76);
78588 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
78589 /* ./parser//parser.nit:29296 */
78590 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
78591 stack_frame_head = fra.me.prev;
78592 return;
78593 }
78594 void parser___ReduceAction736___init(val_t p0, int* init_table){
78595 int itpos740 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction736].i;
78596 struct {struct stack_frame_t me;} fra;
78597 val_t tmp;
78598 if (init_table[itpos740]) return;
78599 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78600 fra.me.file = LOCATE_parser;
78601 fra.me.line = 29298;
78602 fra.me.meth = LOCATE_parser___ReduceAction736___init;
78603 fra.me.has_broke = 0;
78604 fra.me.REG_size = 1;
78605 fra.me.REG[0] = NIT_NULL;
78606 fra.me.REG[0] = p0;
78607 /* ./parser//parser.nit:29298 */
78608 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
78609 stack_frame_head = fra.me.prev;
78610 init_table[itpos740] = 1;
78611 return;
78612 }
78613 void parser___ReduceAction737___action(val_t p0, val_t p1){
78614 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
78615 val_t REGB0;
78616 val_t tmp;
78617 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78618 fra.me.file = LOCATE_parser;
78619 fra.me.line = 29302;
78620 fra.me.meth = LOCATE_parser___ReduceAction737___action;
78621 fra.me.has_broke = 0;
78622 fra.me.REG_size = 9;
78623 fra.me.REG[0] = NIT_NULL;
78624 fra.me.REG[1] = NIT_NULL;
78625 fra.me.REG[2] = NIT_NULL;
78626 fra.me.REG[3] = NIT_NULL;
78627 fra.me.REG[4] = NIT_NULL;
78628 fra.me.REG[5] = NIT_NULL;
78629 fra.me.REG[6] = NIT_NULL;
78630 fra.me.REG[7] = NIT_NULL;
78631 fra.me.REG[8] = NIT_NULL;
78632 fra.me.REG[0] = p0;
78633 fra.me.REG[1] = p1;
78634 fra.me.REG[0] = NIT_NULL;
78635 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78636 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78637 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78638 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78639 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78640 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78641 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78642 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78643 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
78644 /* ./parser//parser.nit:29314 */
78645 if (UNTAG_Bool(REGB0)) {
78646 } else {
78647 fprintf(stderr, "Assert failed");
78648 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29314);
78649 nit_exit(1);
78650 }
78651 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
78652 /* ./parser//parser.nit:29316 */
78653 if (UNTAG_Bool(REGB0)) {
78654 } else {
78655 fprintf(stderr, "Assert failed");
78656 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29316);
78657 nit_exit(1);
78658 }
78659 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
78660 /* ./parser//parser.nit:29318 */
78661 if (UNTAG_Bool(REGB0)) {
78662 } else {
78663 fprintf(stderr, "Assert failed");
78664 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29318);
78665 nit_exit(1);
78666 }
78667 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
78668 /* ./parser//parser.nit:29320 */
78669 if (UNTAG_Bool(REGB0)) {
78670 } else {
78671 fprintf(stderr, "Assert failed");
78672 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29320);
78673 nit_exit(1);
78674 }
78675 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
78676 /* ./parser//parser.nit:29322 */
78677 if (UNTAG_Bool(REGB0)) {
78678 } else {
78679 fprintf(stderr, "Assert failed");
78680 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29322);
78681 nit_exit(1);
78682 }
78683 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
78684 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
78685 /* ./parser//parser.nit:29327 */
78686 if (UNTAG_Bool(REGB0)) {
78687 } else {
78688 fprintf(stderr, "Assert failed");
78689 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29327);
78690 nit_exit(1);
78691 }
78692 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
78693 /* ./parser//parser.nit:29329 */
78694 if (UNTAG_Bool(REGB0)) {
78695 } else {
78696 fprintf(stderr, "Assert failed");
78697 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29329);
78698 nit_exit(1);
78699 }
78700 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
78701 fra.me.REG[0] = fra.me.REG[2];
78702 REGB0 = TAG_Int(76);
78703 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
78704 /* ./parser//parser.nit:29340 */
78705 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
78706 stack_frame_head = fra.me.prev;
78707 return;
78708 }
78709 void parser___ReduceAction737___init(val_t p0, int* init_table){
78710 int itpos741 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction737].i;
78711 struct {struct stack_frame_t me;} fra;
78712 val_t tmp;
78713 if (init_table[itpos741]) return;
78714 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78715 fra.me.file = LOCATE_parser;
78716 fra.me.line = 29342;
78717 fra.me.meth = LOCATE_parser___ReduceAction737___init;
78718 fra.me.has_broke = 0;
78719 fra.me.REG_size = 1;
78720 fra.me.REG[0] = NIT_NULL;
78721 fra.me.REG[0] = p0;
78722 /* ./parser//parser.nit:29342 */
78723 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
78724 stack_frame_head = fra.me.prev;
78725 init_table[itpos741] = 1;
78726 return;
78727 }
78728 void parser___ReduceAction738___action(val_t p0, val_t p1){
78729 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
78730 val_t REGB0;
78731 val_t tmp;
78732 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78733 fra.me.file = LOCATE_parser;
78734 fra.me.line = 29346;
78735 fra.me.meth = LOCATE_parser___ReduceAction738___action;
78736 fra.me.has_broke = 0;
78737 fra.me.REG_size = 9;
78738 fra.me.REG[0] = NIT_NULL;
78739 fra.me.REG[1] = NIT_NULL;
78740 fra.me.REG[2] = NIT_NULL;
78741 fra.me.REG[3] = NIT_NULL;
78742 fra.me.REG[4] = NIT_NULL;
78743 fra.me.REG[5] = NIT_NULL;
78744 fra.me.REG[6] = NIT_NULL;
78745 fra.me.REG[7] = NIT_NULL;
78746 fra.me.REG[8] = NIT_NULL;
78747 fra.me.REG[0] = p0;
78748 fra.me.REG[1] = p1;
78749 fra.me.REG[0] = NIT_NULL;
78750 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78751 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78752 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78753 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78754 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78755 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78756 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78757 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78758 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
78759 /* ./parser//parser.nit:29358 */
78760 if (UNTAG_Bool(REGB0)) {
78761 } else {
78762 fprintf(stderr, "Assert failed");
78763 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29358);
78764 nit_exit(1);
78765 }
78766 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
78767 /* ./parser//parser.nit:29360 */
78768 if (UNTAG_Bool(REGB0)) {
78769 } else {
78770 fprintf(stderr, "Assert failed");
78771 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29360);
78772 nit_exit(1);
78773 }
78774 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
78775 /* ./parser//parser.nit:29362 */
78776 if (UNTAG_Bool(REGB0)) {
78777 } else {
78778 fprintf(stderr, "Assert failed");
78779 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29362);
78780 nit_exit(1);
78781 }
78782 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
78783 /* ./parser//parser.nit:29364 */
78784 if (UNTAG_Bool(REGB0)) {
78785 } else {
78786 fprintf(stderr, "Assert failed");
78787 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29364);
78788 nit_exit(1);
78789 }
78790 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
78791 /* ./parser//parser.nit:29366 */
78792 if (UNTAG_Bool(REGB0)) {
78793 } else {
78794 fprintf(stderr, "Assert failed");
78795 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29366);
78796 nit_exit(1);
78797 }
78798 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
78799 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
78800 /* ./parser//parser.nit:29371 */
78801 if (UNTAG_Bool(REGB0)) {
78802 } else {
78803 fprintf(stderr, "Assert failed");
78804 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29371);
78805 nit_exit(1);
78806 }
78807 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
78808 /* ./parser//parser.nit:29373 */
78809 if (UNTAG_Bool(REGB0)) {
78810 } else {
78811 fprintf(stderr, "Assert failed");
78812 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29373);
78813 nit_exit(1);
78814 }
78815 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
78816 fra.me.REG[0] = fra.me.REG[2];
78817 REGB0 = TAG_Int(76);
78818 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
78819 /* ./parser//parser.nit:29384 */
78820 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
78821 stack_frame_head = fra.me.prev;
78822 return;
78823 }
78824 void parser___ReduceAction738___init(val_t p0, int* init_table){
78825 int itpos742 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction738].i;
78826 struct {struct stack_frame_t me;} fra;
78827 val_t tmp;
78828 if (init_table[itpos742]) return;
78829 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78830 fra.me.file = LOCATE_parser;
78831 fra.me.line = 29386;
78832 fra.me.meth = LOCATE_parser___ReduceAction738___init;
78833 fra.me.has_broke = 0;
78834 fra.me.REG_size = 1;
78835 fra.me.REG[0] = NIT_NULL;
78836 fra.me.REG[0] = p0;
78837 /* ./parser//parser.nit:29386 */
78838 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
78839 stack_frame_head = fra.me.prev;
78840 init_table[itpos742] = 1;
78841 return;
78842 }
78843 void parser___ReduceAction739___action(val_t p0, val_t p1){
78844 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
78845 val_t REGB0;
78846 val_t tmp;
78847 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78848 fra.me.file = LOCATE_parser;
78849 fra.me.line = 29390;
78850 fra.me.meth = LOCATE_parser___ReduceAction739___action;
78851 fra.me.has_broke = 0;
78852 fra.me.REG_size = 9;
78853 fra.me.REG[0] = NIT_NULL;
78854 fra.me.REG[1] = NIT_NULL;
78855 fra.me.REG[2] = NIT_NULL;
78856 fra.me.REG[3] = NIT_NULL;
78857 fra.me.REG[4] = NIT_NULL;
78858 fra.me.REG[5] = NIT_NULL;
78859 fra.me.REG[6] = NIT_NULL;
78860 fra.me.REG[7] = NIT_NULL;
78861 fra.me.REG[8] = NIT_NULL;
78862 fra.me.REG[0] = p0;
78863 fra.me.REG[1] = p1;
78864 fra.me.REG[0] = NIT_NULL;
78865 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78866 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78867 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78868 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78869 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78870 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78871 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78872 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78873 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
78874 /* ./parser//parser.nit:29402 */
78875 if (UNTAG_Bool(REGB0)) {
78876 } else {
78877 fprintf(stderr, "Assert failed");
78878 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29402);
78879 nit_exit(1);
78880 }
78881 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
78882 /* ./parser//parser.nit:29404 */
78883 if (UNTAG_Bool(REGB0)) {
78884 } else {
78885 fprintf(stderr, "Assert failed");
78886 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29404);
78887 nit_exit(1);
78888 }
78889 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
78890 /* ./parser//parser.nit:29406 */
78891 if (UNTAG_Bool(REGB0)) {
78892 } else {
78893 fprintf(stderr, "Assert failed");
78894 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29406);
78895 nit_exit(1);
78896 }
78897 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
78898 /* ./parser//parser.nit:29408 */
78899 if (UNTAG_Bool(REGB0)) {
78900 } else {
78901 fprintf(stderr, "Assert failed");
78902 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29408);
78903 nit_exit(1);
78904 }
78905 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
78906 /* ./parser//parser.nit:29410 */
78907 if (UNTAG_Bool(REGB0)) {
78908 } else {
78909 fprintf(stderr, "Assert failed");
78910 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29410);
78911 nit_exit(1);
78912 }
78913 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
78914 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
78915 /* ./parser//parser.nit:29415 */
78916 if (UNTAG_Bool(REGB0)) {
78917 } else {
78918 fprintf(stderr, "Assert failed");
78919 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29415);
78920 nit_exit(1);
78921 }
78922 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
78923 /* ./parser//parser.nit:29417 */
78924 if (UNTAG_Bool(REGB0)) {
78925 } else {
78926 fprintf(stderr, "Assert failed");
78927 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29417);
78928 nit_exit(1);
78929 }
78930 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
78931 fra.me.REG[0] = fra.me.REG[2];
78932 REGB0 = TAG_Int(76);
78933 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
78934 /* ./parser//parser.nit:29428 */
78935 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
78936 stack_frame_head = fra.me.prev;
78937 return;
78938 }
78939 void parser___ReduceAction739___init(val_t p0, int* init_table){
78940 int itpos743 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction739].i;
78941 struct {struct stack_frame_t me;} fra;
78942 val_t tmp;
78943 if (init_table[itpos743]) return;
78944 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78945 fra.me.file = LOCATE_parser;
78946 fra.me.line = 29430;
78947 fra.me.meth = LOCATE_parser___ReduceAction739___init;
78948 fra.me.has_broke = 0;
78949 fra.me.REG_size = 1;
78950 fra.me.REG[0] = NIT_NULL;
78951 fra.me.REG[0] = p0;
78952 /* ./parser//parser.nit:29430 */
78953 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
78954 stack_frame_head = fra.me.prev;
78955 init_table[itpos743] = 1;
78956 return;
78957 }
78958 void parser___ReduceAction740___action(val_t p0, val_t p1){
78959 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
78960 val_t REGB0;
78961 val_t tmp;
78962 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
78963 fra.me.file = LOCATE_parser;
78964 fra.me.line = 29434;
78965 fra.me.meth = LOCATE_parser___ReduceAction740___action;
78966 fra.me.has_broke = 0;
78967 fra.me.REG_size = 9;
78968 fra.me.REG[0] = NIT_NULL;
78969 fra.me.REG[1] = NIT_NULL;
78970 fra.me.REG[2] = NIT_NULL;
78971 fra.me.REG[3] = NIT_NULL;
78972 fra.me.REG[4] = NIT_NULL;
78973 fra.me.REG[5] = NIT_NULL;
78974 fra.me.REG[6] = NIT_NULL;
78975 fra.me.REG[7] = NIT_NULL;
78976 fra.me.REG[8] = NIT_NULL;
78977 fra.me.REG[0] = p0;
78978 fra.me.REG[1] = p1;
78979 fra.me.REG[0] = NIT_NULL;
78980 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78981 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78982 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78983 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78984 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78985 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78986 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78987 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
78988 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
78989 /* ./parser//parser.nit:29446 */
78990 if (UNTAG_Bool(REGB0)) {
78991 } else {
78992 fprintf(stderr, "Assert failed");
78993 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29446);
78994 nit_exit(1);
78995 }
78996 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
78997 /* ./parser//parser.nit:29448 */
78998 if (UNTAG_Bool(REGB0)) {
78999 } else {
79000 fprintf(stderr, "Assert failed");
79001 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29448);
79002 nit_exit(1);
79003 }
79004 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
79005 /* ./parser//parser.nit:29450 */
79006 if (UNTAG_Bool(REGB0)) {
79007 } else {
79008 fprintf(stderr, "Assert failed");
79009 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29450);
79010 nit_exit(1);
79011 }
79012 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
79013 /* ./parser//parser.nit:29452 */
79014 if (UNTAG_Bool(REGB0)) {
79015 } else {
79016 fprintf(stderr, "Assert failed");
79017 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29452);
79018 nit_exit(1);
79019 }
79020 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
79021 /* ./parser//parser.nit:29454 */
79022 if (UNTAG_Bool(REGB0)) {
79023 } else {
79024 fprintf(stderr, "Assert failed");
79025 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29454);
79026 nit_exit(1);
79027 }
79028 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
79029 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
79030 /* ./parser//parser.nit:29459 */
79031 if (UNTAG_Bool(REGB0)) {
79032 } else {
79033 fprintf(stderr, "Assert failed");
79034 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29459);
79035 nit_exit(1);
79036 }
79037 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
79038 /* ./parser//parser.nit:29461 */
79039 if (UNTAG_Bool(REGB0)) {
79040 } else {
79041 fprintf(stderr, "Assert failed");
79042 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29461);
79043 nit_exit(1);
79044 }
79045 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
79046 fra.me.REG[0] = fra.me.REG[2];
79047 REGB0 = TAG_Int(76);
79048 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
79049 /* ./parser//parser.nit:29472 */
79050 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
79051 stack_frame_head = fra.me.prev;
79052 return;
79053 }
79054 void parser___ReduceAction740___init(val_t p0, int* init_table){
79055 int itpos744 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction740].i;
79056 struct {struct stack_frame_t me;} fra;
79057 val_t tmp;
79058 if (init_table[itpos744]) return;
79059 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79060 fra.me.file = LOCATE_parser;
79061 fra.me.line = 29474;
79062 fra.me.meth = LOCATE_parser___ReduceAction740___init;
79063 fra.me.has_broke = 0;
79064 fra.me.REG_size = 1;
79065 fra.me.REG[0] = NIT_NULL;
79066 fra.me.REG[0] = p0;
79067 /* ./parser//parser.nit:29474 */
79068 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
79069 stack_frame_head = fra.me.prev;
79070 init_table[itpos744] = 1;
79071 return;
79072 }
79073 void parser___ReduceAction741___action(val_t p0, val_t p1){
79074 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
79075 val_t REGB0;
79076 val_t tmp;
79077 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79078 fra.me.file = LOCATE_parser;
79079 fra.me.line = 29478;
79080 fra.me.meth = LOCATE_parser___ReduceAction741___action;
79081 fra.me.has_broke = 0;
79082 fra.me.REG_size = 9;
79083 fra.me.REG[0] = NIT_NULL;
79084 fra.me.REG[1] = NIT_NULL;
79085 fra.me.REG[2] = NIT_NULL;
79086 fra.me.REG[3] = NIT_NULL;
79087 fra.me.REG[4] = NIT_NULL;
79088 fra.me.REG[5] = NIT_NULL;
79089 fra.me.REG[6] = NIT_NULL;
79090 fra.me.REG[7] = NIT_NULL;
79091 fra.me.REG[8] = NIT_NULL;
79092 fra.me.REG[0] = p0;
79093 fra.me.REG[1] = p1;
79094 fra.me.REG[0] = NIT_NULL;
79095 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79096 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79097 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79098 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79099 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79100 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79101 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79102 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79103 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
79104 /* ./parser//parser.nit:29490 */
79105 if (UNTAG_Bool(REGB0)) {
79106 } else {
79107 fprintf(stderr, "Assert failed");
79108 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29490);
79109 nit_exit(1);
79110 }
79111 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
79112 /* ./parser//parser.nit:29492 */
79113 if (UNTAG_Bool(REGB0)) {
79114 } else {
79115 fprintf(stderr, "Assert failed");
79116 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29492);
79117 nit_exit(1);
79118 }
79119 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
79120 /* ./parser//parser.nit:29494 */
79121 if (UNTAG_Bool(REGB0)) {
79122 } else {
79123 fprintf(stderr, "Assert failed");
79124 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29494);
79125 nit_exit(1);
79126 }
79127 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
79128 /* ./parser//parser.nit:29496 */
79129 if (UNTAG_Bool(REGB0)) {
79130 } else {
79131 fprintf(stderr, "Assert failed");
79132 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29496);
79133 nit_exit(1);
79134 }
79135 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
79136 /* ./parser//parser.nit:29498 */
79137 if (UNTAG_Bool(REGB0)) {
79138 } else {
79139 fprintf(stderr, "Assert failed");
79140 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29498);
79141 nit_exit(1);
79142 }
79143 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
79144 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
79145 /* ./parser//parser.nit:29503 */
79146 if (UNTAG_Bool(REGB0)) {
79147 } else {
79148 fprintf(stderr, "Assert failed");
79149 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29503);
79150 nit_exit(1);
79151 }
79152 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
79153 /* ./parser//parser.nit:29505 */
79154 if (UNTAG_Bool(REGB0)) {
79155 } else {
79156 fprintf(stderr, "Assert failed");
79157 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29505);
79158 nit_exit(1);
79159 }
79160 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
79161 fra.me.REG[0] = fra.me.REG[2];
79162 REGB0 = TAG_Int(76);
79163 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
79164 /* ./parser//parser.nit:29516 */
79165 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
79166 stack_frame_head = fra.me.prev;
79167 return;
79168 }
79169 void parser___ReduceAction741___init(val_t p0, int* init_table){
79170 int itpos745 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction741].i;
79171 struct {struct stack_frame_t me;} fra;
79172 val_t tmp;
79173 if (init_table[itpos745]) return;
79174 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79175 fra.me.file = LOCATE_parser;
79176 fra.me.line = 29518;
79177 fra.me.meth = LOCATE_parser___ReduceAction741___init;
79178 fra.me.has_broke = 0;
79179 fra.me.REG_size = 1;
79180 fra.me.REG[0] = NIT_NULL;
79181 fra.me.REG[0] = p0;
79182 /* ./parser//parser.nit:29518 */
79183 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
79184 stack_frame_head = fra.me.prev;
79185 init_table[itpos745] = 1;
79186 return;
79187 }
79188 void parser___ReduceAction742___action(val_t p0, val_t p1){
79189 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
79190 val_t REGB0;
79191 val_t tmp;
79192 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79193 fra.me.file = LOCATE_parser;
79194 fra.me.line = 29522;
79195 fra.me.meth = LOCATE_parser___ReduceAction742___action;
79196 fra.me.has_broke = 0;
79197 fra.me.REG_size = 9;
79198 fra.me.REG[0] = NIT_NULL;
79199 fra.me.REG[1] = NIT_NULL;
79200 fra.me.REG[2] = NIT_NULL;
79201 fra.me.REG[3] = NIT_NULL;
79202 fra.me.REG[4] = NIT_NULL;
79203 fra.me.REG[5] = NIT_NULL;
79204 fra.me.REG[6] = NIT_NULL;
79205 fra.me.REG[7] = NIT_NULL;
79206 fra.me.REG[8] = NIT_NULL;
79207 fra.me.REG[0] = p0;
79208 fra.me.REG[1] = p1;
79209 fra.me.REG[0] = NIT_NULL;
79210 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79211 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79212 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79213 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79214 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79215 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79216 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79217 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79218 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
79219 /* ./parser//parser.nit:29534 */
79220 if (UNTAG_Bool(REGB0)) {
79221 } else {
79222 fprintf(stderr, "Assert failed");
79223 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29534);
79224 nit_exit(1);
79225 }
79226 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
79227 /* ./parser//parser.nit:29536 */
79228 if (UNTAG_Bool(REGB0)) {
79229 } else {
79230 fprintf(stderr, "Assert failed");
79231 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29536);
79232 nit_exit(1);
79233 }
79234 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
79235 /* ./parser//parser.nit:29538 */
79236 if (UNTAG_Bool(REGB0)) {
79237 } else {
79238 fprintf(stderr, "Assert failed");
79239 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29538);
79240 nit_exit(1);
79241 }
79242 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
79243 /* ./parser//parser.nit:29540 */
79244 if (UNTAG_Bool(REGB0)) {
79245 } else {
79246 fprintf(stderr, "Assert failed");
79247 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29540);
79248 nit_exit(1);
79249 }
79250 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
79251 /* ./parser//parser.nit:29542 */
79252 if (UNTAG_Bool(REGB0)) {
79253 } else {
79254 fprintf(stderr, "Assert failed");
79255 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29542);
79256 nit_exit(1);
79257 }
79258 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
79259 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
79260 /* ./parser//parser.nit:29547 */
79261 if (UNTAG_Bool(REGB0)) {
79262 } else {
79263 fprintf(stderr, "Assert failed");
79264 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29547);
79265 nit_exit(1);
79266 }
79267 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
79268 /* ./parser//parser.nit:29549 */
79269 if (UNTAG_Bool(REGB0)) {
79270 } else {
79271 fprintf(stderr, "Assert failed");
79272 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29549);
79273 nit_exit(1);
79274 }
79275 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
79276 fra.me.REG[0] = fra.me.REG[2];
79277 REGB0 = TAG_Int(76);
79278 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
79279 /* ./parser//parser.nit:29560 */
79280 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
79281 stack_frame_head = fra.me.prev;
79282 return;
79283 }
79284 void parser___ReduceAction742___init(val_t p0, int* init_table){
79285 int itpos746 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction742].i;
79286 struct {struct stack_frame_t me;} fra;
79287 val_t tmp;
79288 if (init_table[itpos746]) return;
79289 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79290 fra.me.file = LOCATE_parser;
79291 fra.me.line = 29562;
79292 fra.me.meth = LOCATE_parser___ReduceAction742___init;
79293 fra.me.has_broke = 0;
79294 fra.me.REG_size = 1;
79295 fra.me.REG[0] = NIT_NULL;
79296 fra.me.REG[0] = p0;
79297 /* ./parser//parser.nit:29562 */
79298 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
79299 stack_frame_head = fra.me.prev;
79300 init_table[itpos746] = 1;
79301 return;
79302 }
79303 void parser___ReduceAction743___action(val_t p0, val_t p1){
79304 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
79305 val_t REGB0;
79306 val_t tmp;
79307 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79308 fra.me.file = LOCATE_parser;
79309 fra.me.line = 29566;
79310 fra.me.meth = LOCATE_parser___ReduceAction743___action;
79311 fra.me.has_broke = 0;
79312 fra.me.REG_size = 9;
79313 fra.me.REG[0] = NIT_NULL;
79314 fra.me.REG[1] = NIT_NULL;
79315 fra.me.REG[2] = NIT_NULL;
79316 fra.me.REG[3] = NIT_NULL;
79317 fra.me.REG[4] = NIT_NULL;
79318 fra.me.REG[5] = NIT_NULL;
79319 fra.me.REG[6] = NIT_NULL;
79320 fra.me.REG[7] = NIT_NULL;
79321 fra.me.REG[8] = NIT_NULL;
79322 fra.me.REG[0] = p0;
79323 fra.me.REG[1] = p1;
79324 fra.me.REG[0] = NIT_NULL;
79325 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79326 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79327 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79328 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79329 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79330 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79331 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79332 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79333 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
79334 /* ./parser//parser.nit:29578 */
79335 if (UNTAG_Bool(REGB0)) {
79336 } else {
79337 fprintf(stderr, "Assert failed");
79338 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29578);
79339 nit_exit(1);
79340 }
79341 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
79342 /* ./parser//parser.nit:29580 */
79343 if (UNTAG_Bool(REGB0)) {
79344 } else {
79345 fprintf(stderr, "Assert failed");
79346 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29580);
79347 nit_exit(1);
79348 }
79349 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
79350 /* ./parser//parser.nit:29582 */
79351 if (UNTAG_Bool(REGB0)) {
79352 } else {
79353 fprintf(stderr, "Assert failed");
79354 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29582);
79355 nit_exit(1);
79356 }
79357 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
79358 /* ./parser//parser.nit:29584 */
79359 if (UNTAG_Bool(REGB0)) {
79360 } else {
79361 fprintf(stderr, "Assert failed");
79362 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29584);
79363 nit_exit(1);
79364 }
79365 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
79366 /* ./parser//parser.nit:29586 */
79367 if (UNTAG_Bool(REGB0)) {
79368 } else {
79369 fprintf(stderr, "Assert failed");
79370 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29586);
79371 nit_exit(1);
79372 }
79373 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
79374 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
79375 /* ./parser//parser.nit:29591 */
79376 if (UNTAG_Bool(REGB0)) {
79377 } else {
79378 fprintf(stderr, "Assert failed");
79379 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29591);
79380 nit_exit(1);
79381 }
79382 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
79383 /* ./parser//parser.nit:29593 */
79384 if (UNTAG_Bool(REGB0)) {
79385 } else {
79386 fprintf(stderr, "Assert failed");
79387 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29593);
79388 nit_exit(1);
79389 }
79390 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
79391 fra.me.REG[0] = fra.me.REG[2];
79392 REGB0 = TAG_Int(76);
79393 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
79394 /* ./parser//parser.nit:29604 */
79395 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
79396 stack_frame_head = fra.me.prev;
79397 return;
79398 }
79399 void parser___ReduceAction743___init(val_t p0, int* init_table){
79400 int itpos747 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction743].i;
79401 struct {struct stack_frame_t me;} fra;
79402 val_t tmp;
79403 if (init_table[itpos747]) return;
79404 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79405 fra.me.file = LOCATE_parser;
79406 fra.me.line = 29606;
79407 fra.me.meth = LOCATE_parser___ReduceAction743___init;
79408 fra.me.has_broke = 0;
79409 fra.me.REG_size = 1;
79410 fra.me.REG[0] = NIT_NULL;
79411 fra.me.REG[0] = p0;
79412 /* ./parser//parser.nit:29606 */
79413 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
79414 stack_frame_head = fra.me.prev;
79415 init_table[itpos747] = 1;
79416 return;
79417 }
79418 void parser___ReduceAction744___action(val_t p0, val_t p1){
79419 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
79420 val_t REGB0;
79421 val_t tmp;
79422 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79423 fra.me.file = LOCATE_parser;
79424 fra.me.line = 29610;
79425 fra.me.meth = LOCATE_parser___ReduceAction744___action;
79426 fra.me.has_broke = 0;
79427 fra.me.REG_size = 9;
79428 fra.me.REG[0] = NIT_NULL;
79429 fra.me.REG[1] = NIT_NULL;
79430 fra.me.REG[2] = NIT_NULL;
79431 fra.me.REG[3] = NIT_NULL;
79432 fra.me.REG[4] = NIT_NULL;
79433 fra.me.REG[5] = NIT_NULL;
79434 fra.me.REG[6] = NIT_NULL;
79435 fra.me.REG[7] = NIT_NULL;
79436 fra.me.REG[8] = NIT_NULL;
79437 fra.me.REG[0] = p0;
79438 fra.me.REG[1] = p1;
79439 fra.me.REG[0] = NIT_NULL;
79440 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79441 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79442 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79443 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79444 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79445 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79446 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79447 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79448 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
79449 /* ./parser//parser.nit:29622 */
79450 if (UNTAG_Bool(REGB0)) {
79451 } else {
79452 fprintf(stderr, "Assert failed");
79453 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29622);
79454 nit_exit(1);
79455 }
79456 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
79457 /* ./parser//parser.nit:29624 */
79458 if (UNTAG_Bool(REGB0)) {
79459 } else {
79460 fprintf(stderr, "Assert failed");
79461 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29624);
79462 nit_exit(1);
79463 }
79464 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
79465 /* ./parser//parser.nit:29626 */
79466 if (UNTAG_Bool(REGB0)) {
79467 } else {
79468 fprintf(stderr, "Assert failed");
79469 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29626);
79470 nit_exit(1);
79471 }
79472 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
79473 /* ./parser//parser.nit:29628 */
79474 if (UNTAG_Bool(REGB0)) {
79475 } else {
79476 fprintf(stderr, "Assert failed");
79477 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29628);
79478 nit_exit(1);
79479 }
79480 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
79481 /* ./parser//parser.nit:29630 */
79482 if (UNTAG_Bool(REGB0)) {
79483 } else {
79484 fprintf(stderr, "Assert failed");
79485 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29630);
79486 nit_exit(1);
79487 }
79488 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
79489 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
79490 /* ./parser//parser.nit:29635 */
79491 if (UNTAG_Bool(REGB0)) {
79492 } else {
79493 fprintf(stderr, "Assert failed");
79494 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29635);
79495 nit_exit(1);
79496 }
79497 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
79498 /* ./parser//parser.nit:29637 */
79499 if (UNTAG_Bool(REGB0)) {
79500 } else {
79501 fprintf(stderr, "Assert failed");
79502 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29637);
79503 nit_exit(1);
79504 }
79505 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
79506 fra.me.REG[0] = fra.me.REG[2];
79507 REGB0 = TAG_Int(76);
79508 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
79509 /* ./parser//parser.nit:29648 */
79510 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
79511 stack_frame_head = fra.me.prev;
79512 return;
79513 }
79514 void parser___ReduceAction744___init(val_t p0, int* init_table){
79515 int itpos748 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction744].i;
79516 struct {struct stack_frame_t me;} fra;
79517 val_t tmp;
79518 if (init_table[itpos748]) return;
79519 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79520 fra.me.file = LOCATE_parser;
79521 fra.me.line = 29650;
79522 fra.me.meth = LOCATE_parser___ReduceAction744___init;
79523 fra.me.has_broke = 0;
79524 fra.me.REG_size = 1;
79525 fra.me.REG[0] = NIT_NULL;
79526 fra.me.REG[0] = p0;
79527 /* ./parser//parser.nit:29650 */
79528 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
79529 stack_frame_head = fra.me.prev;
79530 init_table[itpos748] = 1;
79531 return;
79532 }
79533 void parser___ReduceAction745___action(val_t p0, val_t p1){
79534 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
79535 val_t REGB0;
79536 val_t tmp;
79537 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79538 fra.me.file = LOCATE_parser;
79539 fra.me.line = 29654;
79540 fra.me.meth = LOCATE_parser___ReduceAction745___action;
79541 fra.me.has_broke = 0;
79542 fra.me.REG_size = 9;
79543 fra.me.REG[0] = NIT_NULL;
79544 fra.me.REG[1] = NIT_NULL;
79545 fra.me.REG[2] = NIT_NULL;
79546 fra.me.REG[3] = NIT_NULL;
79547 fra.me.REG[4] = NIT_NULL;
79548 fra.me.REG[5] = NIT_NULL;
79549 fra.me.REG[6] = NIT_NULL;
79550 fra.me.REG[7] = NIT_NULL;
79551 fra.me.REG[8] = NIT_NULL;
79552 fra.me.REG[0] = p0;
79553 fra.me.REG[1] = p1;
79554 fra.me.REG[0] = NIT_NULL;
79555 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79556 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79557 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79558 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79559 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79560 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79561 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79562 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79563 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
79564 /* ./parser//parser.nit:29666 */
79565 if (UNTAG_Bool(REGB0)) {
79566 } else {
79567 fprintf(stderr, "Assert failed");
79568 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29666);
79569 nit_exit(1);
79570 }
79571 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
79572 /* ./parser//parser.nit:29668 */
79573 if (UNTAG_Bool(REGB0)) {
79574 } else {
79575 fprintf(stderr, "Assert failed");
79576 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29668);
79577 nit_exit(1);
79578 }
79579 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
79580 /* ./parser//parser.nit:29670 */
79581 if (UNTAG_Bool(REGB0)) {
79582 } else {
79583 fprintf(stderr, "Assert failed");
79584 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29670);
79585 nit_exit(1);
79586 }
79587 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
79588 /* ./parser//parser.nit:29672 */
79589 if (UNTAG_Bool(REGB0)) {
79590 } else {
79591 fprintf(stderr, "Assert failed");
79592 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29672);
79593 nit_exit(1);
79594 }
79595 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
79596 /* ./parser//parser.nit:29674 */
79597 if (UNTAG_Bool(REGB0)) {
79598 } else {
79599 fprintf(stderr, "Assert failed");
79600 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29674);
79601 nit_exit(1);
79602 }
79603 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
79604 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
79605 /* ./parser//parser.nit:29679 */
79606 if (UNTAG_Bool(REGB0)) {
79607 } else {
79608 fprintf(stderr, "Assert failed");
79609 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29679);
79610 nit_exit(1);
79611 }
79612 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
79613 /* ./parser//parser.nit:29681 */
79614 if (UNTAG_Bool(REGB0)) {
79615 } else {
79616 fprintf(stderr, "Assert failed");
79617 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29681);
79618 nit_exit(1);
79619 }
79620 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
79621 fra.me.REG[0] = fra.me.REG[2];
79622 REGB0 = TAG_Int(76);
79623 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
79624 /* ./parser//parser.nit:29692 */
79625 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
79626 stack_frame_head = fra.me.prev;
79627 return;
79628 }
79629 void parser___ReduceAction745___init(val_t p0, int* init_table){
79630 int itpos749 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction745].i;
79631 struct {struct stack_frame_t me;} fra;
79632 val_t tmp;
79633 if (init_table[itpos749]) return;
79634 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79635 fra.me.file = LOCATE_parser;
79636 fra.me.line = 29694;
79637 fra.me.meth = LOCATE_parser___ReduceAction745___init;
79638 fra.me.has_broke = 0;
79639 fra.me.REG_size = 1;
79640 fra.me.REG[0] = NIT_NULL;
79641 fra.me.REG[0] = p0;
79642 /* ./parser//parser.nit:29694 */
79643 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
79644 stack_frame_head = fra.me.prev;
79645 init_table[itpos749] = 1;
79646 return;
79647 }
79648 void parser___ReduceAction746___action(val_t p0, val_t p1){
79649 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
79650 val_t REGB0;
79651 val_t tmp;
79652 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79653 fra.me.file = LOCATE_parser;
79654 fra.me.line = 29698;
79655 fra.me.meth = LOCATE_parser___ReduceAction746___action;
79656 fra.me.has_broke = 0;
79657 fra.me.REG_size = 9;
79658 fra.me.REG[0] = NIT_NULL;
79659 fra.me.REG[1] = NIT_NULL;
79660 fra.me.REG[2] = NIT_NULL;
79661 fra.me.REG[3] = NIT_NULL;
79662 fra.me.REG[4] = NIT_NULL;
79663 fra.me.REG[5] = NIT_NULL;
79664 fra.me.REG[6] = NIT_NULL;
79665 fra.me.REG[7] = NIT_NULL;
79666 fra.me.REG[8] = NIT_NULL;
79667 fra.me.REG[0] = p0;
79668 fra.me.REG[1] = p1;
79669 fra.me.REG[0] = NIT_NULL;
79670 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79671 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79672 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79673 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79674 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79675 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79676 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79677 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79678 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
79679 /* ./parser//parser.nit:29710 */
79680 if (UNTAG_Bool(REGB0)) {
79681 } else {
79682 fprintf(stderr, "Assert failed");
79683 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29710);
79684 nit_exit(1);
79685 }
79686 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
79687 /* ./parser//parser.nit:29712 */
79688 if (UNTAG_Bool(REGB0)) {
79689 } else {
79690 fprintf(stderr, "Assert failed");
79691 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29712);
79692 nit_exit(1);
79693 }
79694 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
79695 /* ./parser//parser.nit:29714 */
79696 if (UNTAG_Bool(REGB0)) {
79697 } else {
79698 fprintf(stderr, "Assert failed");
79699 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29714);
79700 nit_exit(1);
79701 }
79702 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
79703 /* ./parser//parser.nit:29716 */
79704 if (UNTAG_Bool(REGB0)) {
79705 } else {
79706 fprintf(stderr, "Assert failed");
79707 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29716);
79708 nit_exit(1);
79709 }
79710 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
79711 /* ./parser//parser.nit:29718 */
79712 if (UNTAG_Bool(REGB0)) {
79713 } else {
79714 fprintf(stderr, "Assert failed");
79715 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29718);
79716 nit_exit(1);
79717 }
79718 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
79719 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
79720 /* ./parser//parser.nit:29723 */
79721 if (UNTAG_Bool(REGB0)) {
79722 } else {
79723 fprintf(stderr, "Assert failed");
79724 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29723);
79725 nit_exit(1);
79726 }
79727 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
79728 /* ./parser//parser.nit:29725 */
79729 if (UNTAG_Bool(REGB0)) {
79730 } else {
79731 fprintf(stderr, "Assert failed");
79732 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29725);
79733 nit_exit(1);
79734 }
79735 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
79736 fra.me.REG[0] = fra.me.REG[2];
79737 REGB0 = TAG_Int(76);
79738 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
79739 /* ./parser//parser.nit:29736 */
79740 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
79741 stack_frame_head = fra.me.prev;
79742 return;
79743 }
79744 void parser___ReduceAction746___init(val_t p0, int* init_table){
79745 int itpos750 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction746].i;
79746 struct {struct stack_frame_t me;} fra;
79747 val_t tmp;
79748 if (init_table[itpos750]) return;
79749 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79750 fra.me.file = LOCATE_parser;
79751 fra.me.line = 29738;
79752 fra.me.meth = LOCATE_parser___ReduceAction746___init;
79753 fra.me.has_broke = 0;
79754 fra.me.REG_size = 1;
79755 fra.me.REG[0] = NIT_NULL;
79756 fra.me.REG[0] = p0;
79757 /* ./parser//parser.nit:29738 */
79758 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
79759 stack_frame_head = fra.me.prev;
79760 init_table[itpos750] = 1;
79761 return;
79762 }
79763 void parser___ReduceAction747___action(val_t p0, val_t p1){
79764 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
79765 val_t REGB0;
79766 val_t tmp;
79767 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79768 fra.me.file = LOCATE_parser;
79769 fra.me.line = 29742;
79770 fra.me.meth = LOCATE_parser___ReduceAction747___action;
79771 fra.me.has_broke = 0;
79772 fra.me.REG_size = 9;
79773 fra.me.REG[0] = NIT_NULL;
79774 fra.me.REG[1] = NIT_NULL;
79775 fra.me.REG[2] = NIT_NULL;
79776 fra.me.REG[3] = NIT_NULL;
79777 fra.me.REG[4] = NIT_NULL;
79778 fra.me.REG[5] = NIT_NULL;
79779 fra.me.REG[6] = NIT_NULL;
79780 fra.me.REG[7] = NIT_NULL;
79781 fra.me.REG[8] = NIT_NULL;
79782 fra.me.REG[0] = p0;
79783 fra.me.REG[1] = p1;
79784 fra.me.REG[0] = NIT_NULL;
79785 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79786 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79787 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79788 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79789 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79790 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79791 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79792 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79793 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
79794 /* ./parser//parser.nit:29754 */
79795 if (UNTAG_Bool(REGB0)) {
79796 } else {
79797 fprintf(stderr, "Assert failed");
79798 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29754);
79799 nit_exit(1);
79800 }
79801 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
79802 /* ./parser//parser.nit:29756 */
79803 if (UNTAG_Bool(REGB0)) {
79804 } else {
79805 fprintf(stderr, "Assert failed");
79806 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29756);
79807 nit_exit(1);
79808 }
79809 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
79810 /* ./parser//parser.nit:29758 */
79811 if (UNTAG_Bool(REGB0)) {
79812 } else {
79813 fprintf(stderr, "Assert failed");
79814 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29758);
79815 nit_exit(1);
79816 }
79817 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
79818 /* ./parser//parser.nit:29760 */
79819 if (UNTAG_Bool(REGB0)) {
79820 } else {
79821 fprintf(stderr, "Assert failed");
79822 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29760);
79823 nit_exit(1);
79824 }
79825 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
79826 /* ./parser//parser.nit:29762 */
79827 if (UNTAG_Bool(REGB0)) {
79828 } else {
79829 fprintf(stderr, "Assert failed");
79830 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29762);
79831 nit_exit(1);
79832 }
79833 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
79834 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
79835 /* ./parser//parser.nit:29767 */
79836 if (UNTAG_Bool(REGB0)) {
79837 } else {
79838 fprintf(stderr, "Assert failed");
79839 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29767);
79840 nit_exit(1);
79841 }
79842 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
79843 /* ./parser//parser.nit:29769 */
79844 if (UNTAG_Bool(REGB0)) {
79845 } else {
79846 fprintf(stderr, "Assert failed");
79847 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29769);
79848 nit_exit(1);
79849 }
79850 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
79851 fra.me.REG[0] = fra.me.REG[2];
79852 REGB0 = TAG_Int(76);
79853 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
79854 /* ./parser//parser.nit:29780 */
79855 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
79856 stack_frame_head = fra.me.prev;
79857 return;
79858 }
79859 void parser___ReduceAction747___init(val_t p0, int* init_table){
79860 int itpos751 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction747].i;
79861 struct {struct stack_frame_t me;} fra;
79862 val_t tmp;
79863 if (init_table[itpos751]) return;
79864 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79865 fra.me.file = LOCATE_parser;
79866 fra.me.line = 29782;
79867 fra.me.meth = LOCATE_parser___ReduceAction747___init;
79868 fra.me.has_broke = 0;
79869 fra.me.REG_size = 1;
79870 fra.me.REG[0] = NIT_NULL;
79871 fra.me.REG[0] = p0;
79872 /* ./parser//parser.nit:29782 */
79873 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
79874 stack_frame_head = fra.me.prev;
79875 init_table[itpos751] = 1;
79876 return;
79877 }
79878 void parser___ReduceAction748___action(val_t p0, val_t p1){
79879 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
79880 val_t REGB0;
79881 val_t tmp;
79882 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79883 fra.me.file = LOCATE_parser;
79884 fra.me.line = 29786;
79885 fra.me.meth = LOCATE_parser___ReduceAction748___action;
79886 fra.me.has_broke = 0;
79887 fra.me.REG_size = 10;
79888 fra.me.REG[0] = NIT_NULL;
79889 fra.me.REG[1] = NIT_NULL;
79890 fra.me.REG[2] = NIT_NULL;
79891 fra.me.REG[3] = NIT_NULL;
79892 fra.me.REG[4] = NIT_NULL;
79893 fra.me.REG[5] = NIT_NULL;
79894 fra.me.REG[6] = NIT_NULL;
79895 fra.me.REG[7] = NIT_NULL;
79896 fra.me.REG[8] = NIT_NULL;
79897 fra.me.REG[9] = NIT_NULL;
79898 fra.me.REG[0] = p0;
79899 fra.me.REG[1] = p1;
79900 fra.me.REG[0] = NIT_NULL;
79901 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79902 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79903 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79904 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79905 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79906 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79907 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79908 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79909 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
79910 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
79911 /* ./parser//parser.nit:29799 */
79912 if (UNTAG_Bool(REGB0)) {
79913 } else {
79914 fprintf(stderr, "Assert failed");
79915 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29799);
79916 nit_exit(1);
79917 }
79918 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
79919 /* ./parser//parser.nit:29801 */
79920 if (UNTAG_Bool(REGB0)) {
79921 } else {
79922 fprintf(stderr, "Assert failed");
79923 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29801);
79924 nit_exit(1);
79925 }
79926 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
79927 /* ./parser//parser.nit:29803 */
79928 if (UNTAG_Bool(REGB0)) {
79929 } else {
79930 fprintf(stderr, "Assert failed");
79931 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29803);
79932 nit_exit(1);
79933 }
79934 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
79935 /* ./parser//parser.nit:29805 */
79936 if (UNTAG_Bool(REGB0)) {
79937 } else {
79938 fprintf(stderr, "Assert failed");
79939 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29805);
79940 nit_exit(1);
79941 }
79942 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
79943 /* ./parser//parser.nit:29807 */
79944 if (UNTAG_Bool(REGB0)) {
79945 } else {
79946 fprintf(stderr, "Assert failed");
79947 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29807);
79948 nit_exit(1);
79949 }
79950 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
79951 /* ./parser//parser.nit:29809 */
79952 if (UNTAG_Bool(REGB0)) {
79953 } else {
79954 fprintf(stderr, "Assert failed");
79955 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29809);
79956 nit_exit(1);
79957 }
79958 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
79959 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
79960 /* ./parser//parser.nit:29815 */
79961 if (UNTAG_Bool(REGB0)) {
79962 } else {
79963 fprintf(stderr, "Assert failed");
79964 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29815);
79965 nit_exit(1);
79966 }
79967 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
79968 /* ./parser//parser.nit:29817 */
79969 if (UNTAG_Bool(REGB0)) {
79970 } else {
79971 fprintf(stderr, "Assert failed");
79972 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29817);
79973 nit_exit(1);
79974 }
79975 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
79976 fra.me.REG[0] = fra.me.REG[2];
79977 REGB0 = TAG_Int(76);
79978 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
79979 /* ./parser//parser.nit:29828 */
79980 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
79981 stack_frame_head = fra.me.prev;
79982 return;
79983 }
79984 void parser___ReduceAction748___init(val_t p0, int* init_table){
79985 int itpos752 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction748].i;
79986 struct {struct stack_frame_t me;} fra;
79987 val_t tmp;
79988 if (init_table[itpos752]) return;
79989 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
79990 fra.me.file = LOCATE_parser;
79991 fra.me.line = 29830;
79992 fra.me.meth = LOCATE_parser___ReduceAction748___init;
79993 fra.me.has_broke = 0;
79994 fra.me.REG_size = 1;
79995 fra.me.REG[0] = NIT_NULL;
79996 fra.me.REG[0] = p0;
79997 /* ./parser//parser.nit:29830 */
79998 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
79999 stack_frame_head = fra.me.prev;
80000 init_table[itpos752] = 1;
80001 return;
80002 }
80003 void parser___ReduceAction749___action(val_t p0, val_t p1){
80004 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
80005 val_t REGB0;
80006 val_t tmp;
80007 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
80008 fra.me.file = LOCATE_parser;
80009 fra.me.line = 29834;
80010 fra.me.meth = LOCATE_parser___ReduceAction749___action;
80011 fra.me.has_broke = 0;
80012 fra.me.REG_size = 9;
80013 fra.me.REG[0] = NIT_NULL;
80014 fra.me.REG[1] = NIT_NULL;
80015 fra.me.REG[2] = NIT_NULL;
80016 fra.me.REG[3] = NIT_NULL;
80017 fra.me.REG[4] = NIT_NULL;
80018 fra.me.REG[5] = NIT_NULL;
80019 fra.me.REG[6] = NIT_NULL;
80020 fra.me.REG[7] = NIT_NULL;
80021 fra.me.REG[8] = NIT_NULL;
80022 fra.me.REG[0] = p0;
80023 fra.me.REG[1] = p1;
80024 fra.me.REG[0] = NIT_NULL;
80025 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80026 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80027 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80028 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80029 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80030 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80031 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80032 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80033 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
80034 /* ./parser//parser.nit:29846 */
80035 if (UNTAG_Bool(REGB0)) {
80036 } else {
80037 fprintf(stderr, "Assert failed");
80038 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29846);
80039 nit_exit(1);
80040 }
80041 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
80042 /* ./parser//parser.nit:29848 */
80043 if (UNTAG_Bool(REGB0)) {
80044 } else {
80045 fprintf(stderr, "Assert failed");
80046 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29848);
80047 nit_exit(1);
80048 }
80049 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
80050 /* ./parser//parser.nit:29850 */
80051 if (UNTAG_Bool(REGB0)) {
80052 } else {
80053 fprintf(stderr, "Assert failed");
80054 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29850);
80055 nit_exit(1);
80056 }
80057 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
80058 /* ./parser//parser.nit:29852 */
80059 if (UNTAG_Bool(REGB0)) {
80060 } else {
80061 fprintf(stderr, "Assert failed");
80062 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29852);
80063 nit_exit(1);
80064 }
80065 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
80066 /* ./parser//parser.nit:29854 */
80067 if (UNTAG_Bool(REGB0)) {
80068 } else {
80069 fprintf(stderr, "Assert failed");
80070 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29854);
80071 nit_exit(1);
80072 }
80073 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
80074 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
80075 /* ./parser//parser.nit:29859 */
80076 if (UNTAG_Bool(REGB0)) {
80077 } else {
80078 fprintf(stderr, "Assert failed");
80079 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29859);
80080 nit_exit(1);
80081 }
80082 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
80083 /* ./parser//parser.nit:29861 */
80084 if (UNTAG_Bool(REGB0)) {
80085 } else {
80086 fprintf(stderr, "Assert failed");
80087 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29861);
80088 nit_exit(1);
80089 }
80090 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
80091 fra.me.REG[0] = fra.me.REG[2];
80092 REGB0 = TAG_Int(76);
80093 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
80094 /* ./parser//parser.nit:29872 */
80095 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
80096 stack_frame_head = fra.me.prev;
80097 return;
80098 }
80099 void parser___ReduceAction749___init(val_t p0, int* init_table){
80100 int itpos753 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction749].i;
80101 struct {struct stack_frame_t me;} fra;
80102 val_t tmp;
80103 if (init_table[itpos753]) return;
80104 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
80105 fra.me.file = LOCATE_parser;
80106 fra.me.line = 29874;
80107 fra.me.meth = LOCATE_parser___ReduceAction749___init;
80108 fra.me.has_broke = 0;
80109 fra.me.REG_size = 1;
80110 fra.me.REG[0] = NIT_NULL;
80111 fra.me.REG[0] = p0;
80112 /* ./parser//parser.nit:29874 */
80113 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
80114 stack_frame_head = fra.me.prev;
80115 init_table[itpos753] = 1;
80116 return;
80117 }
80118 void parser___ReduceAction750___action(val_t p0, val_t p1){
80119 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
80120 val_t REGB0;
80121 val_t tmp;
80122 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
80123 fra.me.file = LOCATE_parser;
80124 fra.me.line = 29878;
80125 fra.me.meth = LOCATE_parser___ReduceAction750___action;
80126 fra.me.has_broke = 0;
80127 fra.me.REG_size = 10;
80128 fra.me.REG[0] = NIT_NULL;
80129 fra.me.REG[1] = NIT_NULL;
80130 fra.me.REG[2] = NIT_NULL;
80131 fra.me.REG[3] = NIT_NULL;
80132 fra.me.REG[4] = NIT_NULL;
80133 fra.me.REG[5] = NIT_NULL;
80134 fra.me.REG[6] = NIT_NULL;
80135 fra.me.REG[7] = NIT_NULL;
80136 fra.me.REG[8] = NIT_NULL;
80137 fra.me.REG[9] = NIT_NULL;
80138 fra.me.REG[0] = p0;
80139 fra.me.REG[1] = p1;
80140 fra.me.REG[0] = NIT_NULL;
80141 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80142 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80143 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80144 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80145 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80146 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80147 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80148 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80149 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80150 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
80151 /* ./parser//parser.nit:29891 */
80152 if (UNTAG_Bool(REGB0)) {
80153 } else {
80154 fprintf(stderr, "Assert failed");
80155 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29891);
80156 nit_exit(1);
80157 }
80158 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
80159 /* ./parser//parser.nit:29893 */
80160 if (UNTAG_Bool(REGB0)) {
80161 } else {
80162 fprintf(stderr, "Assert failed");
80163 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29893);
80164 nit_exit(1);
80165 }
80166 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
80167 /* ./parser//parser.nit:29895 */
80168 if (UNTAG_Bool(REGB0)) {
80169 } else {
80170 fprintf(stderr, "Assert failed");
80171 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29895);
80172 nit_exit(1);
80173 }
80174 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
80175 /* ./parser//parser.nit:29897 */
80176 if (UNTAG_Bool(REGB0)) {
80177 } else {
80178 fprintf(stderr, "Assert failed");
80179 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29897);
80180 nit_exit(1);
80181 }
80182 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
80183 /* ./parser//parser.nit:29899 */
80184 if (UNTAG_Bool(REGB0)) {
80185 } else {
80186 fprintf(stderr, "Assert failed");
80187 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29899);
80188 nit_exit(1);
80189 }
80190 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
80191 /* ./parser//parser.nit:29901 */
80192 if (UNTAG_Bool(REGB0)) {
80193 } else {
80194 fprintf(stderr, "Assert failed");
80195 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29901);
80196 nit_exit(1);
80197 }
80198 fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
80199 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
80200 /* ./parser//parser.nit:29907 */
80201 if (UNTAG_Bool(REGB0)) {
80202 } else {
80203 fprintf(stderr, "Assert failed");
80204 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29907);
80205 nit_exit(1);
80206 }
80207 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
80208 /* ./parser//parser.nit:29909 */
80209 if (UNTAG_Bool(REGB0)) {
80210 } else {
80211 fprintf(stderr, "Assert failed");
80212 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29909);
80213 nit_exit(1);
80214 }
80215 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
80216 fra.me.REG[0] = fra.me.REG[2];
80217 REGB0 = TAG_Int(76);
80218 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
80219 /* ./parser//parser.nit:29920 */
80220 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
80221 stack_frame_head = fra.me.prev;
80222 return;
80223 }
80224 void parser___ReduceAction750___init(val_t p0, int* init_table){
80225 int itpos754 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction750].i;
80226 struct {struct stack_frame_t me;} fra;
80227 val_t tmp;
80228 if (init_table[itpos754]) return;
80229 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
80230 fra.me.file = LOCATE_parser;
80231 fra.me.line = 29922;
80232 fra.me.meth = LOCATE_parser___ReduceAction750___init;
80233 fra.me.has_broke = 0;
80234 fra.me.REG_size = 1;
80235 fra.me.REG[0] = NIT_NULL;
80236 fra.me.REG[0] = p0;
80237 /* ./parser//parser.nit:29922 */
80238 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
80239 stack_frame_head = fra.me.prev;
80240 init_table[itpos754] = 1;
80241 return;
80242 }
80243 void parser___ReduceAction751___action(val_t p0, val_t p1){
80244 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
80245 val_t REGB0;
80246 val_t tmp;
80247 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
80248 fra.me.file = LOCATE_parser;
80249 fra.me.line = 29926;
80250 fra.me.meth = LOCATE_parser___ReduceAction751___action;
80251 fra.me.has_broke = 0;
80252 fra.me.REG_size = 11;
80253 fra.me.REG[0] = NIT_NULL;
80254 fra.me.REG[1] = NIT_NULL;
80255 fra.me.REG[2] = NIT_NULL;
80256 fra.me.REG[3] = NIT_NULL;
80257 fra.me.REG[4] = NIT_NULL;
80258 fra.me.REG[5] = NIT_NULL;
80259 fra.me.REG[6] = NIT_NULL;
80260 fra.me.REG[7] = NIT_NULL;
80261 fra.me.REG[8] = NIT_NULL;
80262 fra.me.REG[9] = NIT_NULL;
80263 fra.me.REG[10] = NIT_NULL;
80264 fra.me.REG[0] = p0;
80265 fra.me.REG[1] = p1;
80266 fra.me.REG[0] = NIT_NULL;
80267 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80268 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80269 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80270 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80271 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80272 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80273 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80274 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80275 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80276 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80277 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
80278 /* ./parser//parser.nit:29940 */
80279 if (UNTAG_Bool(REGB0)) {
80280 } else {
80281 fprintf(stderr, "Assert failed");
80282 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29940);
80283 nit_exit(1);
80284 }
80285 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
80286 /* ./parser//parser.nit:29942 */
80287 if (UNTAG_Bool(REGB0)) {
80288 } else {
80289 fprintf(stderr, "Assert failed");
80290 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29942);
80291 nit_exit(1);
80292 }
80293 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
80294 /* ./parser//parser.nit:29944 */
80295 if (UNTAG_Bool(REGB0)) {
80296 } else {
80297 fprintf(stderr, "Assert failed");
80298 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29944);
80299 nit_exit(1);
80300 }
80301 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
80302 /* ./parser//parser.nit:29946 */
80303 if (UNTAG_Bool(REGB0)) {
80304 } else {
80305 fprintf(stderr, "Assert failed");
80306 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29946);
80307 nit_exit(1);
80308 }
80309 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
80310 /* ./parser//parser.nit:29948 */
80311 if (UNTAG_Bool(REGB0)) {
80312 } else {
80313 fprintf(stderr, "Assert failed");
80314 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29948);
80315 nit_exit(1);
80316 }
80317 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
80318 /* ./parser//parser.nit:29950 */
80319 if (UNTAG_Bool(REGB0)) {
80320 } else {
80321 fprintf(stderr, "Assert failed");
80322 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29950);
80323 nit_exit(1);
80324 }
80325 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
80326 /* ./parser//parser.nit:29952 */
80327 if (UNTAG_Bool(REGB0)) {
80328 } else {
80329 fprintf(stderr, "Assert failed");
80330 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29952);
80331 nit_exit(1);
80332 }
80333 fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
80334 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
80335 /* ./parser//parser.nit:29959 */
80336 if (UNTAG_Bool(REGB0)) {
80337 } else {
80338 fprintf(stderr, "Assert failed");
80339 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29959);
80340 nit_exit(1);
80341 }
80342 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
80343 /* ./parser//parser.nit:29961 */
80344 if (UNTAG_Bool(REGB0)) {
80345 } else {
80346 fprintf(stderr, "Assert failed");
80347 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29961);
80348 nit_exit(1);
80349 }
80350 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
80351 fra.me.REG[0] = fra.me.REG[2];
80352 REGB0 = TAG_Int(76);
80353 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
80354 /* ./parser//parser.nit:29972 */
80355 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
80356 stack_frame_head = fra.me.prev;
80357 return;
80358 }
80359 void parser___ReduceAction751___init(val_t p0, int* init_table){
80360 int itpos755 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction751].i;
80361 struct {struct stack_frame_t me;} fra;
80362 val_t tmp;
80363 if (init_table[itpos755]) return;
80364 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
80365 fra.me.file = LOCATE_parser;
80366 fra.me.line = 29974;
80367 fra.me.meth = LOCATE_parser___ReduceAction751___init;
80368 fra.me.has_broke = 0;
80369 fra.me.REG_size = 1;
80370 fra.me.REG[0] = NIT_NULL;
80371 fra.me.REG[0] = p0;
80372 /* ./parser//parser.nit:29974 */
80373 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
80374 stack_frame_head = fra.me.prev;
80375 init_table[itpos755] = 1;
80376 return;
80377 }
80378 void parser___ReduceAction752___action(val_t p0, val_t p1){
80379 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
80380 val_t REGB0;
80381 val_t tmp;
80382 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
80383 fra.me.file = LOCATE_parser;
80384 fra.me.line = 29978;
80385 fra.me.meth = LOCATE_parser___ReduceAction752___action;
80386 fra.me.has_broke = 0;
80387 fra.me.REG_size = 8;
80388 fra.me.REG[0] = NIT_NULL;
80389 fra.me.REG[1] = NIT_NULL;
80390 fra.me.REG[2] = NIT_NULL;
80391 fra.me.REG[3] = NIT_NULL;
80392 fra.me.REG[4] = NIT_NULL;
80393 fra.me.REG[5] = NIT_NULL;
80394 fra.me.REG[6] = NIT_NULL;
80395 fra.me.REG[7] = NIT_NULL;
80396 fra.me.REG[0] = p0;
80397 fra.me.REG[1] = p1;
80398 fra.me.REG[0] = NIT_NULL;
80399 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80400 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80401 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80402 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80403 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80404 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80405 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80406 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80407 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
80408 /* ./parser//parser.nit:29990 */
80409 if (UNTAG_Bool(REGB0)) {
80410 } else {
80411 fprintf(stderr, "Assert failed");
80412 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29990);
80413 nit_exit(1);
80414 }
80415 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
80416 /* ./parser//parser.nit:29992 */
80417 if (UNTAG_Bool(REGB0)) {
80418 } else {
80419 fprintf(stderr, "Assert failed");
80420 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29992);
80421 nit_exit(1);
80422 }
80423 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
80424 /* ./parser//parser.nit:29994 */
80425 if (UNTAG_Bool(REGB0)) {
80426 } else {
80427 fprintf(stderr, "Assert failed");
80428 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29994);
80429 nit_exit(1);
80430 }
80431 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
80432 /* ./parser//parser.nit:29996 */
80433 if (UNTAG_Bool(REGB0)) {
80434 } else {
80435 fprintf(stderr, "Assert failed");
80436 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29996);
80437 nit_exit(1);
80438 }
80439 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
80440 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
80441 /* ./parser//parser.nit:30001 */
80442 if (UNTAG_Bool(REGB0)) {
80443 } else {
80444 fprintf(stderr, "Assert failed");
80445 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30001);
80446 nit_exit(1);
80447 }
80448 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
80449 /* ./parser//parser.nit:30003 */
80450 if (UNTAG_Bool(REGB0)) {
80451 } else {
80452 fprintf(stderr, "Assert failed");
80453 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30003);
80454 nit_exit(1);
80455 }
80456 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
80457 fra.me.REG[0] = fra.me.REG[2];
80458 REGB0 = TAG_Int(76);
80459 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
80460 /* ./parser//parser.nit:30014 */
80461 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
80462 stack_frame_head = fra.me.prev;
80463 return;
80464 }
80465 void parser___ReduceAction752___init(val_t p0, int* init_table){
80466 int itpos756 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction752].i;
80467 struct {struct stack_frame_t me;} fra;
80468 val_t tmp;
80469 if (init_table[itpos756]) return;
80470 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
80471 fra.me.file = LOCATE_parser;
80472 fra.me.line = 30016;
80473 fra.me.meth = LOCATE_parser___ReduceAction752___init;
80474 fra.me.has_broke = 0;
80475 fra.me.REG_size = 1;
80476 fra.me.REG[0] = NIT_NULL;
80477 fra.me.REG[0] = p0;
80478 /* ./parser//parser.nit:30016 */
80479 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
80480 stack_frame_head = fra.me.prev;
80481 init_table[itpos756] = 1;
80482 return;
80483 }
80484 void parser___ReduceAction753___action(val_t p0, val_t p1){
80485 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
80486 val_t REGB0;
80487 val_t tmp;
80488 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
80489 fra.me.file = LOCATE_parser;
80490 fra.me.line = 30020;
80491 fra.me.meth = LOCATE_parser___ReduceAction753___action;
80492 fra.me.has_broke = 0;
80493 fra.me.REG_size = 8;
80494 fra.me.REG[0] = NIT_NULL;
80495 fra.me.REG[1] = NIT_NULL;
80496 fra.me.REG[2] = NIT_NULL;
80497 fra.me.REG[3] = NIT_NULL;
80498 fra.me.REG[4] = NIT_NULL;
80499 fra.me.REG[5] = NIT_NULL;
80500 fra.me.REG[6] = NIT_NULL;
80501 fra.me.REG[7] = NIT_NULL;
80502 fra.me.REG[0] = p0;
80503 fra.me.REG[1] = p1;
80504 fra.me.REG[0] = NIT_NULL;
80505 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80506 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80507 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80508 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80509 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80510 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80511 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80512 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80513 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
80514 /* ./parser//parser.nit:30032 */
80515 if (UNTAG_Bool(REGB0)) {
80516 } else {
80517 fprintf(stderr, "Assert failed");
80518 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30032);
80519 nit_exit(1);
80520 }
80521 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
80522 /* ./parser//parser.nit:30034 */
80523 if (UNTAG_Bool(REGB0)) {
80524 } else {
80525 fprintf(stderr, "Assert failed");
80526 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30034);
80527 nit_exit(1);
80528 }
80529 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
80530 /* ./parser//parser.nit:30036 */
80531 if (UNTAG_Bool(REGB0)) {
80532 } else {
80533 fprintf(stderr, "Assert failed");
80534 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30036);
80535 nit_exit(1);
80536 }
80537 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
80538 /* ./parser//parser.nit:30038 */
80539 if (UNTAG_Bool(REGB0)) {
80540 } else {
80541 fprintf(stderr, "Assert failed");
80542 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30038);
80543 nit_exit(1);
80544 }
80545 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
80546 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
80547 /* ./parser//parser.nit:30043 */
80548 if (UNTAG_Bool(REGB0)) {
80549 } else {
80550 fprintf(stderr, "Assert failed");
80551 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30043);
80552 nit_exit(1);
80553 }
80554 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
80555 /* ./parser//parser.nit:30045 */
80556 if (UNTAG_Bool(REGB0)) {
80557 } else {
80558 fprintf(stderr, "Assert failed");
80559 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30045);
80560 nit_exit(1);
80561 }
80562 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
80563 fra.me.REG[0] = fra.me.REG[2];
80564 REGB0 = TAG_Int(76);
80565 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
80566 /* ./parser//parser.nit:30056 */
80567 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
80568 stack_frame_head = fra.me.prev;
80569 return;
80570 }
80571 void parser___ReduceAction753___init(val_t p0, int* init_table){
80572 int itpos757 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction753].i;
80573 struct {struct stack_frame_t me;} fra;
80574 val_t tmp;
80575 if (init_table[itpos757]) return;
80576 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
80577 fra.me.file = LOCATE_parser;
80578 fra.me.line = 30058;
80579 fra.me.meth = LOCATE_parser___ReduceAction753___init;
80580 fra.me.has_broke = 0;
80581 fra.me.REG_size = 1;
80582 fra.me.REG[0] = NIT_NULL;
80583 fra.me.REG[0] = p0;
80584 /* ./parser//parser.nit:30058 */
80585 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
80586 stack_frame_head = fra.me.prev;
80587 init_table[itpos757] = 1;
80588 return;
80589 }
80590 void parser___ReduceAction754___action(val_t p0, val_t p1){
80591 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
80592 val_t REGB0;
80593 val_t tmp;
80594 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
80595 fra.me.file = LOCATE_parser;
80596 fra.me.line = 30062;
80597 fra.me.meth = LOCATE_parser___ReduceAction754___action;
80598 fra.me.has_broke = 0;
80599 fra.me.REG_size = 8;
80600 fra.me.REG[0] = NIT_NULL;
80601 fra.me.REG[1] = NIT_NULL;
80602 fra.me.REG[2] = NIT_NULL;
80603 fra.me.REG[3] = NIT_NULL;
80604 fra.me.REG[4] = NIT_NULL;
80605 fra.me.REG[5] = NIT_NULL;
80606 fra.me.REG[6] = NIT_NULL;
80607 fra.me.REG[7] = NIT_NULL;
80608 fra.me.REG[0] = p0;
80609 fra.me.REG[1] = p1;
80610 fra.me.REG[0] = NIT_NULL;
80611 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80612 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80613 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80614 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80615 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80616 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80617 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80618 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80619 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
80620 /* ./parser//parser.nit:30074 */
80621 if (UNTAG_Bool(REGB0)) {
80622 } else {
80623 fprintf(stderr, "Assert failed");
80624 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30074);
80625 nit_exit(1);
80626 }
80627 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
80628 /* ./parser//parser.nit:30076 */
80629 if (UNTAG_Bool(REGB0)) {
80630 } else {
80631 fprintf(stderr, "Assert failed");
80632 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30076);
80633 nit_exit(1);
80634 }
80635 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
80636 /* ./parser//parser.nit:30078 */
80637 if (UNTAG_Bool(REGB0)) {
80638 } else {
80639 fprintf(stderr, "Assert failed");
80640 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30078);
80641 nit_exit(1);
80642 }
80643 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
80644 /* ./parser//parser.nit:30080 */
80645 if (UNTAG_Bool(REGB0)) {
80646 } else {
80647 fprintf(stderr, "Assert failed");
80648 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30080);
80649 nit_exit(1);
80650 }
80651 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
80652 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
80653 /* ./parser//parser.nit:30085 */
80654 if (UNTAG_Bool(REGB0)) {
80655 } else {
80656 fprintf(stderr, "Assert failed");
80657 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30085);
80658 nit_exit(1);
80659 }
80660 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
80661 /* ./parser//parser.nit:30087 */
80662 if (UNTAG_Bool(REGB0)) {
80663 } else {
80664 fprintf(stderr, "Assert failed");
80665 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30087);
80666 nit_exit(1);
80667 }
80668 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
80669 fra.me.REG[0] = fra.me.REG[2];
80670 REGB0 = TAG_Int(76);
80671 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
80672 /* ./parser//parser.nit:30098 */
80673 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
80674 stack_frame_head = fra.me.prev;
80675 return;
80676 }
80677 void parser___ReduceAction754___init(val_t p0, int* init_table){
80678 int itpos758 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction754].i;
80679 struct {struct stack_frame_t me;} fra;
80680 val_t tmp;
80681 if (init_table[itpos758]) return;
80682 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
80683 fra.me.file = LOCATE_parser;
80684 fra.me.line = 30100;
80685 fra.me.meth = LOCATE_parser___ReduceAction754___init;
80686 fra.me.has_broke = 0;
80687 fra.me.REG_size = 1;
80688 fra.me.REG[0] = NIT_NULL;
80689 fra.me.REG[0] = p0;
80690 /* ./parser//parser.nit:30100 */
80691 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
80692 stack_frame_head = fra.me.prev;
80693 init_table[itpos758] = 1;
80694 return;
80695 }
80696 void parser___ReduceAction755___action(val_t p0, val_t p1){
80697 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
80698 val_t REGB0;
80699 val_t tmp;
80700 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
80701 fra.me.file = LOCATE_parser;
80702 fra.me.line = 30104;
80703 fra.me.meth = LOCATE_parser___ReduceAction755___action;
80704 fra.me.has_broke = 0;
80705 fra.me.REG_size = 8;
80706 fra.me.REG[0] = NIT_NULL;
80707 fra.me.REG[1] = NIT_NULL;
80708 fra.me.REG[2] = NIT_NULL;
80709 fra.me.REG[3] = NIT_NULL;
80710 fra.me.REG[4] = NIT_NULL;
80711 fra.me.REG[5] = NIT_NULL;
80712 fra.me.REG[6] = NIT_NULL;
80713 fra.me.REG[7] = NIT_NULL;
80714 fra.me.REG[0] = p0;
80715 fra.me.REG[1] = p1;
80716 fra.me.REG[0] = NIT_NULL;
80717 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80718 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80719 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80720 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80721 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80722 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80723 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80724 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80725 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
80726 /* ./parser//parser.nit:30116 */
80727 if (UNTAG_Bool(REGB0)) {
80728 } else {
80729 fprintf(stderr, "Assert failed");
80730 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30116);
80731 nit_exit(1);
80732 }
80733 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
80734 /* ./parser//parser.nit:30118 */
80735 if (UNTAG_Bool(REGB0)) {
80736 } else {
80737 fprintf(stderr, "Assert failed");
80738 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30118);
80739 nit_exit(1);
80740 }
80741 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
80742 /* ./parser//parser.nit:30120 */
80743 if (UNTAG_Bool(REGB0)) {
80744 } else {
80745 fprintf(stderr, "Assert failed");
80746 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30120);
80747 nit_exit(1);
80748 }
80749 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
80750 /* ./parser//parser.nit:30122 */
80751 if (UNTAG_Bool(REGB0)) {
80752 } else {
80753 fprintf(stderr, "Assert failed");
80754 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30122);
80755 nit_exit(1);
80756 }
80757 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
80758 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
80759 /* ./parser//parser.nit:30127 */
80760 if (UNTAG_Bool(REGB0)) {
80761 } else {
80762 fprintf(stderr, "Assert failed");
80763 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30127);
80764 nit_exit(1);
80765 }
80766 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
80767 /* ./parser//parser.nit:30129 */
80768 if (UNTAG_Bool(REGB0)) {
80769 } else {
80770 fprintf(stderr, "Assert failed");
80771 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30129);
80772 nit_exit(1);
80773 }
80774 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
80775 fra.me.REG[0] = fra.me.REG[2];
80776 REGB0 = TAG_Int(76);
80777 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
80778 /* ./parser//parser.nit:30140 */
80779 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
80780 stack_frame_head = fra.me.prev;
80781 return;
80782 }
80783 void parser___ReduceAction755___init(val_t p0, int* init_table){
80784 int itpos759 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction755].i;
80785 struct {struct stack_frame_t me;} fra;
80786 val_t tmp;
80787 if (init_table[itpos759]) return;
80788 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
80789 fra.me.file = LOCATE_parser;
80790 fra.me.line = 30142;
80791 fra.me.meth = LOCATE_parser___ReduceAction755___init;
80792 fra.me.has_broke = 0;
80793 fra.me.REG_size = 1;
80794 fra.me.REG[0] = NIT_NULL;
80795 fra.me.REG[0] = p0;
80796 /* ./parser//parser.nit:30142 */
80797 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
80798 stack_frame_head = fra.me.prev;
80799 init_table[itpos759] = 1;
80800 return;
80801 }
80802 void parser___ReduceAction756___action(val_t p0, val_t p1){
80803 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
80804 val_t REGB0;
80805 val_t tmp;
80806 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
80807 fra.me.file = LOCATE_parser;
80808 fra.me.line = 30146;
80809 fra.me.meth = LOCATE_parser___ReduceAction756___action;
80810 fra.me.has_broke = 0;
80811 fra.me.REG_size = 8;
80812 fra.me.REG[0] = NIT_NULL;
80813 fra.me.REG[1] = NIT_NULL;
80814 fra.me.REG[2] = NIT_NULL;
80815 fra.me.REG[3] = NIT_NULL;
80816 fra.me.REG[4] = NIT_NULL;
80817 fra.me.REG[5] = NIT_NULL;
80818 fra.me.REG[6] = NIT_NULL;
80819 fra.me.REG[7] = NIT_NULL;
80820 fra.me.REG[0] = p0;
80821 fra.me.REG[1] = p1;
80822 fra.me.REG[0] = NIT_NULL;
80823 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80824 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80825 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80826 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80827 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80828 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80829 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80830 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80831 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
80832 /* ./parser//parser.nit:30158 */
80833 if (UNTAG_Bool(REGB0)) {
80834 } else {
80835 fprintf(stderr, "Assert failed");
80836 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30158);
80837 nit_exit(1);
80838 }
80839 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
80840 /* ./parser//parser.nit:30160 */
80841 if (UNTAG_Bool(REGB0)) {
80842 } else {
80843 fprintf(stderr, "Assert failed");
80844 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30160);
80845 nit_exit(1);
80846 }
80847 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
80848 /* ./parser//parser.nit:30162 */
80849 if (UNTAG_Bool(REGB0)) {
80850 } else {
80851 fprintf(stderr, "Assert failed");
80852 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30162);
80853 nit_exit(1);
80854 }
80855 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
80856 /* ./parser//parser.nit:30164 */
80857 if (UNTAG_Bool(REGB0)) {
80858 } else {
80859 fprintf(stderr, "Assert failed");
80860 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30164);
80861 nit_exit(1);
80862 }
80863 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
80864 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
80865 /* ./parser//parser.nit:30169 */
80866 if (UNTAG_Bool(REGB0)) {
80867 } else {
80868 fprintf(stderr, "Assert failed");
80869 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30169);
80870 nit_exit(1);
80871 }
80872 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
80873 /* ./parser//parser.nit:30171 */
80874 if (UNTAG_Bool(REGB0)) {
80875 } else {
80876 fprintf(stderr, "Assert failed");
80877 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30171);
80878 nit_exit(1);
80879 }
80880 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
80881 fra.me.REG[0] = fra.me.REG[2];
80882 REGB0 = TAG_Int(76);
80883 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
80884 /* ./parser//parser.nit:30182 */
80885 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
80886 stack_frame_head = fra.me.prev;
80887 return;
80888 }
80889 void parser___ReduceAction756___init(val_t p0, int* init_table){
80890 int itpos760 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction756].i;
80891 struct {struct stack_frame_t me;} fra;
80892 val_t tmp;
80893 if (init_table[itpos760]) return;
80894 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
80895 fra.me.file = LOCATE_parser;
80896 fra.me.line = 30184;
80897 fra.me.meth = LOCATE_parser___ReduceAction756___init;
80898 fra.me.has_broke = 0;
80899 fra.me.REG_size = 1;
80900 fra.me.REG[0] = NIT_NULL;
80901 fra.me.REG[0] = p0;
80902 /* ./parser//parser.nit:30184 */
80903 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
80904 stack_frame_head = fra.me.prev;
80905 init_table[itpos760] = 1;
80906 return;
80907 }
80908 void parser___ReduceAction757___action(val_t p0, val_t p1){
80909 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
80910 val_t REGB0;
80911 val_t tmp;
80912 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
80913 fra.me.file = LOCATE_parser;
80914 fra.me.line = 30188;
80915 fra.me.meth = LOCATE_parser___ReduceAction757___action;
80916 fra.me.has_broke = 0;
80917 fra.me.REG_size = 8;
80918 fra.me.REG[0] = NIT_NULL;
80919 fra.me.REG[1] = NIT_NULL;
80920 fra.me.REG[2] = NIT_NULL;
80921 fra.me.REG[3] = NIT_NULL;
80922 fra.me.REG[4] = NIT_NULL;
80923 fra.me.REG[5] = NIT_NULL;
80924 fra.me.REG[6] = NIT_NULL;
80925 fra.me.REG[7] = NIT_NULL;
80926 fra.me.REG[0] = p0;
80927 fra.me.REG[1] = p1;
80928 fra.me.REG[0] = NIT_NULL;
80929 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80930 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80931 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80932 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80933 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80934 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80935 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80936 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
80937 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
80938 /* ./parser//parser.nit:30200 */
80939 if (UNTAG_Bool(REGB0)) {
80940 } else {
80941 fprintf(stderr, "Assert failed");
80942 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30200);
80943 nit_exit(1);
80944 }
80945 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
80946 /* ./parser//parser.nit:30202 */
80947 if (UNTAG_Bool(REGB0)) {
80948 } else {
80949 fprintf(stderr, "Assert failed");
80950 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30202);
80951 nit_exit(1);
80952 }
80953 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
80954 /* ./parser//parser.nit:30204 */
80955 if (UNTAG_Bool(REGB0)) {
80956 } else {
80957 fprintf(stderr, "Assert failed");
80958 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30204);
80959 nit_exit(1);
80960 }
80961 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
80962 /* ./parser//parser.nit:30206 */
80963 if (UNTAG_Bool(REGB0)) {
80964 } else {
80965 fprintf(stderr, "Assert failed");
80966 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30206);
80967 nit_exit(1);
80968 }
80969 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
80970 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
80971 /* ./parser//parser.nit:30211 */
80972 if (UNTAG_Bool(REGB0)) {
80973 } else {
80974 fprintf(stderr, "Assert failed");
80975 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30211);
80976 nit_exit(1);
80977 }
80978 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
80979 /* ./parser//parser.nit:30213 */
80980 if (UNTAG_Bool(REGB0)) {
80981 } else {
80982 fprintf(stderr, "Assert failed");
80983 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30213);
80984 nit_exit(1);
80985 }
80986 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
80987 fra.me.REG[0] = fra.me.REG[2];
80988 REGB0 = TAG_Int(76);
80989 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
80990 /* ./parser//parser.nit:30224 */
80991 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
80992 stack_frame_head = fra.me.prev;
80993 return;
80994 }
80995 void parser___ReduceAction757___init(val_t p0, int* init_table){
80996 int itpos761 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction757].i;
80997 struct {struct stack_frame_t me;} fra;
80998 val_t tmp;
80999 if (init_table[itpos761]) return;
81000 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81001 fra.me.file = LOCATE_parser;
81002 fra.me.line = 30226;
81003 fra.me.meth = LOCATE_parser___ReduceAction757___init;
81004 fra.me.has_broke = 0;
81005 fra.me.REG_size = 1;
81006 fra.me.REG[0] = NIT_NULL;
81007 fra.me.REG[0] = p0;
81008 /* ./parser//parser.nit:30226 */
81009 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
81010 stack_frame_head = fra.me.prev;
81011 init_table[itpos761] = 1;
81012 return;
81013 }
81014 void parser___ReduceAction758___action(val_t p0, val_t p1){
81015 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
81016 val_t REGB0;
81017 val_t tmp;
81018 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81019 fra.me.file = LOCATE_parser;
81020 fra.me.line = 30230;
81021 fra.me.meth = LOCATE_parser___ReduceAction758___action;
81022 fra.me.has_broke = 0;
81023 fra.me.REG_size = 8;
81024 fra.me.REG[0] = NIT_NULL;
81025 fra.me.REG[1] = NIT_NULL;
81026 fra.me.REG[2] = NIT_NULL;
81027 fra.me.REG[3] = NIT_NULL;
81028 fra.me.REG[4] = NIT_NULL;
81029 fra.me.REG[5] = NIT_NULL;
81030 fra.me.REG[6] = NIT_NULL;
81031 fra.me.REG[7] = NIT_NULL;
81032 fra.me.REG[0] = p0;
81033 fra.me.REG[1] = p1;
81034 fra.me.REG[0] = NIT_NULL;
81035 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81036 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81037 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81038 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81039 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81040 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81041 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81042 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81043 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
81044 /* ./parser//parser.nit:30242 */
81045 if (UNTAG_Bool(REGB0)) {
81046 } else {
81047 fprintf(stderr, "Assert failed");
81048 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30242);
81049 nit_exit(1);
81050 }
81051 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
81052 /* ./parser//parser.nit:30244 */
81053 if (UNTAG_Bool(REGB0)) {
81054 } else {
81055 fprintf(stderr, "Assert failed");
81056 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30244);
81057 nit_exit(1);
81058 }
81059 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
81060 /* ./parser//parser.nit:30246 */
81061 if (UNTAG_Bool(REGB0)) {
81062 } else {
81063 fprintf(stderr, "Assert failed");
81064 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30246);
81065 nit_exit(1);
81066 }
81067 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
81068 /* ./parser//parser.nit:30248 */
81069 if (UNTAG_Bool(REGB0)) {
81070 } else {
81071 fprintf(stderr, "Assert failed");
81072 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30248);
81073 nit_exit(1);
81074 }
81075 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
81076 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
81077 /* ./parser//parser.nit:30253 */
81078 if (UNTAG_Bool(REGB0)) {
81079 } else {
81080 fprintf(stderr, "Assert failed");
81081 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30253);
81082 nit_exit(1);
81083 }
81084 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
81085 /* ./parser//parser.nit:30255 */
81086 if (UNTAG_Bool(REGB0)) {
81087 } else {
81088 fprintf(stderr, "Assert failed");
81089 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30255);
81090 nit_exit(1);
81091 }
81092 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
81093 fra.me.REG[0] = fra.me.REG[2];
81094 REGB0 = TAG_Int(76);
81095 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
81096 /* ./parser//parser.nit:30266 */
81097 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
81098 stack_frame_head = fra.me.prev;
81099 return;
81100 }
81101 void parser___ReduceAction758___init(val_t p0, int* init_table){
81102 int itpos762 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction758].i;
81103 struct {struct stack_frame_t me;} fra;
81104 val_t tmp;
81105 if (init_table[itpos762]) return;
81106 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81107 fra.me.file = LOCATE_parser;
81108 fra.me.line = 30268;
81109 fra.me.meth = LOCATE_parser___ReduceAction758___init;
81110 fra.me.has_broke = 0;
81111 fra.me.REG_size = 1;
81112 fra.me.REG[0] = NIT_NULL;
81113 fra.me.REG[0] = p0;
81114 /* ./parser//parser.nit:30268 */
81115 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
81116 stack_frame_head = fra.me.prev;
81117 init_table[itpos762] = 1;
81118 return;
81119 }
81120 void parser___ReduceAction759___action(val_t p0, val_t p1){
81121 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
81122 val_t REGB0;
81123 val_t tmp;
81124 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81125 fra.me.file = LOCATE_parser;
81126 fra.me.line = 30272;
81127 fra.me.meth = LOCATE_parser___ReduceAction759___action;
81128 fra.me.has_broke = 0;
81129 fra.me.REG_size = 8;
81130 fra.me.REG[0] = NIT_NULL;
81131 fra.me.REG[1] = NIT_NULL;
81132 fra.me.REG[2] = NIT_NULL;
81133 fra.me.REG[3] = NIT_NULL;
81134 fra.me.REG[4] = NIT_NULL;
81135 fra.me.REG[5] = NIT_NULL;
81136 fra.me.REG[6] = NIT_NULL;
81137 fra.me.REG[7] = NIT_NULL;
81138 fra.me.REG[0] = p0;
81139 fra.me.REG[1] = p1;
81140 fra.me.REG[0] = NIT_NULL;
81141 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81142 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81143 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81144 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81145 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81146 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81147 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81148 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81149 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
81150 /* ./parser//parser.nit:30284 */
81151 if (UNTAG_Bool(REGB0)) {
81152 } else {
81153 fprintf(stderr, "Assert failed");
81154 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30284);
81155 nit_exit(1);
81156 }
81157 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
81158 /* ./parser//parser.nit:30286 */
81159 if (UNTAG_Bool(REGB0)) {
81160 } else {
81161 fprintf(stderr, "Assert failed");
81162 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30286);
81163 nit_exit(1);
81164 }
81165 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
81166 /* ./parser//parser.nit:30288 */
81167 if (UNTAG_Bool(REGB0)) {
81168 } else {
81169 fprintf(stderr, "Assert failed");
81170 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30288);
81171 nit_exit(1);
81172 }
81173 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
81174 /* ./parser//parser.nit:30290 */
81175 if (UNTAG_Bool(REGB0)) {
81176 } else {
81177 fprintf(stderr, "Assert failed");
81178 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30290);
81179 nit_exit(1);
81180 }
81181 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
81182 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
81183 /* ./parser//parser.nit:30295 */
81184 if (UNTAG_Bool(REGB0)) {
81185 } else {
81186 fprintf(stderr, "Assert failed");
81187 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30295);
81188 nit_exit(1);
81189 }
81190 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
81191 /* ./parser//parser.nit:30297 */
81192 if (UNTAG_Bool(REGB0)) {
81193 } else {
81194 fprintf(stderr, "Assert failed");
81195 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30297);
81196 nit_exit(1);
81197 }
81198 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
81199 fra.me.REG[0] = fra.me.REG[2];
81200 REGB0 = TAG_Int(76);
81201 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
81202 /* ./parser//parser.nit:30308 */
81203 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
81204 stack_frame_head = fra.me.prev;
81205 return;
81206 }
81207 void parser___ReduceAction759___init(val_t p0, int* init_table){
81208 int itpos763 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction759].i;
81209 struct {struct stack_frame_t me;} fra;
81210 val_t tmp;
81211 if (init_table[itpos763]) return;
81212 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81213 fra.me.file = LOCATE_parser;
81214 fra.me.line = 30310;
81215 fra.me.meth = LOCATE_parser___ReduceAction759___init;
81216 fra.me.has_broke = 0;
81217 fra.me.REG_size = 1;
81218 fra.me.REG[0] = NIT_NULL;
81219 fra.me.REG[0] = p0;
81220 /* ./parser//parser.nit:30310 */
81221 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
81222 stack_frame_head = fra.me.prev;
81223 init_table[itpos763] = 1;
81224 return;
81225 }
81226 void parser___ReduceAction760___action(val_t p0, val_t p1){
81227 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
81228 val_t REGB0;
81229 val_t tmp;
81230 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81231 fra.me.file = LOCATE_parser;
81232 fra.me.line = 30314;
81233 fra.me.meth = LOCATE_parser___ReduceAction760___action;
81234 fra.me.has_broke = 0;
81235 fra.me.REG_size = 8;
81236 fra.me.REG[0] = NIT_NULL;
81237 fra.me.REG[1] = NIT_NULL;
81238 fra.me.REG[2] = NIT_NULL;
81239 fra.me.REG[3] = NIT_NULL;
81240 fra.me.REG[4] = NIT_NULL;
81241 fra.me.REG[5] = NIT_NULL;
81242 fra.me.REG[6] = NIT_NULL;
81243 fra.me.REG[7] = NIT_NULL;
81244 fra.me.REG[0] = p0;
81245 fra.me.REG[1] = p1;
81246 fra.me.REG[0] = NIT_NULL;
81247 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81248 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81249 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81250 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81251 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81252 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81253 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81254 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81255 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
81256 /* ./parser//parser.nit:30326 */
81257 if (UNTAG_Bool(REGB0)) {
81258 } else {
81259 fprintf(stderr, "Assert failed");
81260 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30326);
81261 nit_exit(1);
81262 }
81263 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
81264 /* ./parser//parser.nit:30328 */
81265 if (UNTAG_Bool(REGB0)) {
81266 } else {
81267 fprintf(stderr, "Assert failed");
81268 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30328);
81269 nit_exit(1);
81270 }
81271 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
81272 /* ./parser//parser.nit:30330 */
81273 if (UNTAG_Bool(REGB0)) {
81274 } else {
81275 fprintf(stderr, "Assert failed");
81276 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30330);
81277 nit_exit(1);
81278 }
81279 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
81280 /* ./parser//parser.nit:30332 */
81281 if (UNTAG_Bool(REGB0)) {
81282 } else {
81283 fprintf(stderr, "Assert failed");
81284 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30332);
81285 nit_exit(1);
81286 }
81287 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
81288 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
81289 /* ./parser//parser.nit:30337 */
81290 if (UNTAG_Bool(REGB0)) {
81291 } else {
81292 fprintf(stderr, "Assert failed");
81293 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30337);
81294 nit_exit(1);
81295 }
81296 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
81297 /* ./parser//parser.nit:30339 */
81298 if (UNTAG_Bool(REGB0)) {
81299 } else {
81300 fprintf(stderr, "Assert failed");
81301 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30339);
81302 nit_exit(1);
81303 }
81304 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
81305 fra.me.REG[0] = fra.me.REG[2];
81306 REGB0 = TAG_Int(76);
81307 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
81308 /* ./parser//parser.nit:30350 */
81309 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
81310 stack_frame_head = fra.me.prev;
81311 return;
81312 }
81313 void parser___ReduceAction760___init(val_t p0, int* init_table){
81314 int itpos764 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction760].i;
81315 struct {struct stack_frame_t me;} fra;
81316 val_t tmp;
81317 if (init_table[itpos764]) return;
81318 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81319 fra.me.file = LOCATE_parser;
81320 fra.me.line = 30352;
81321 fra.me.meth = LOCATE_parser___ReduceAction760___init;
81322 fra.me.has_broke = 0;
81323 fra.me.REG_size = 1;
81324 fra.me.REG[0] = NIT_NULL;
81325 fra.me.REG[0] = p0;
81326 /* ./parser//parser.nit:30352 */
81327 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
81328 stack_frame_head = fra.me.prev;
81329 init_table[itpos764] = 1;
81330 return;
81331 }
81332 void parser___ReduceAction761___action(val_t p0, val_t p1){
81333 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
81334 val_t REGB0;
81335 val_t tmp;
81336 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81337 fra.me.file = LOCATE_parser;
81338 fra.me.line = 30356;
81339 fra.me.meth = LOCATE_parser___ReduceAction761___action;
81340 fra.me.has_broke = 0;
81341 fra.me.REG_size = 8;
81342 fra.me.REG[0] = NIT_NULL;
81343 fra.me.REG[1] = NIT_NULL;
81344 fra.me.REG[2] = NIT_NULL;
81345 fra.me.REG[3] = NIT_NULL;
81346 fra.me.REG[4] = NIT_NULL;
81347 fra.me.REG[5] = NIT_NULL;
81348 fra.me.REG[6] = NIT_NULL;
81349 fra.me.REG[7] = NIT_NULL;
81350 fra.me.REG[0] = p0;
81351 fra.me.REG[1] = p1;
81352 fra.me.REG[0] = NIT_NULL;
81353 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81354 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81355 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81356 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81357 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81358 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81359 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81360 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81361 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
81362 /* ./parser//parser.nit:30368 */
81363 if (UNTAG_Bool(REGB0)) {
81364 } else {
81365 fprintf(stderr, "Assert failed");
81366 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30368);
81367 nit_exit(1);
81368 }
81369 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
81370 /* ./parser//parser.nit:30370 */
81371 if (UNTAG_Bool(REGB0)) {
81372 } else {
81373 fprintf(stderr, "Assert failed");
81374 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30370);
81375 nit_exit(1);
81376 }
81377 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
81378 /* ./parser//parser.nit:30372 */
81379 if (UNTAG_Bool(REGB0)) {
81380 } else {
81381 fprintf(stderr, "Assert failed");
81382 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30372);
81383 nit_exit(1);
81384 }
81385 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
81386 /* ./parser//parser.nit:30374 */
81387 if (UNTAG_Bool(REGB0)) {
81388 } else {
81389 fprintf(stderr, "Assert failed");
81390 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30374);
81391 nit_exit(1);
81392 }
81393 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
81394 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
81395 /* ./parser//parser.nit:30379 */
81396 if (UNTAG_Bool(REGB0)) {
81397 } else {
81398 fprintf(stderr, "Assert failed");
81399 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30379);
81400 nit_exit(1);
81401 }
81402 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
81403 /* ./parser//parser.nit:30381 */
81404 if (UNTAG_Bool(REGB0)) {
81405 } else {
81406 fprintf(stderr, "Assert failed");
81407 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30381);
81408 nit_exit(1);
81409 }
81410 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
81411 fra.me.REG[0] = fra.me.REG[2];
81412 REGB0 = TAG_Int(76);
81413 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
81414 /* ./parser//parser.nit:30392 */
81415 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
81416 stack_frame_head = fra.me.prev;
81417 return;
81418 }
81419 void parser___ReduceAction761___init(val_t p0, int* init_table){
81420 int itpos765 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction761].i;
81421 struct {struct stack_frame_t me;} fra;
81422 val_t tmp;
81423 if (init_table[itpos765]) return;
81424 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81425 fra.me.file = LOCATE_parser;
81426 fra.me.line = 30394;
81427 fra.me.meth = LOCATE_parser___ReduceAction761___init;
81428 fra.me.has_broke = 0;
81429 fra.me.REG_size = 1;
81430 fra.me.REG[0] = NIT_NULL;
81431 fra.me.REG[0] = p0;
81432 /* ./parser//parser.nit:30394 */
81433 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
81434 stack_frame_head = fra.me.prev;
81435 init_table[itpos765] = 1;
81436 return;
81437 }
81438 void parser___ReduceAction762___action(val_t p0, val_t p1){
81439 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
81440 val_t REGB0;
81441 val_t tmp;
81442 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81443 fra.me.file = LOCATE_parser;
81444 fra.me.line = 30398;
81445 fra.me.meth = LOCATE_parser___ReduceAction762___action;
81446 fra.me.has_broke = 0;
81447 fra.me.REG_size = 8;
81448 fra.me.REG[0] = NIT_NULL;
81449 fra.me.REG[1] = NIT_NULL;
81450 fra.me.REG[2] = NIT_NULL;
81451 fra.me.REG[3] = NIT_NULL;
81452 fra.me.REG[4] = NIT_NULL;
81453 fra.me.REG[5] = NIT_NULL;
81454 fra.me.REG[6] = NIT_NULL;
81455 fra.me.REG[7] = NIT_NULL;
81456 fra.me.REG[0] = p0;
81457 fra.me.REG[1] = p1;
81458 fra.me.REG[0] = NIT_NULL;
81459 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81460 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81461 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81462 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81463 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81464 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81465 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81466 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81467 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
81468 /* ./parser//parser.nit:30410 */
81469 if (UNTAG_Bool(REGB0)) {
81470 } else {
81471 fprintf(stderr, "Assert failed");
81472 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30410);
81473 nit_exit(1);
81474 }
81475 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
81476 /* ./parser//parser.nit:30412 */
81477 if (UNTAG_Bool(REGB0)) {
81478 } else {
81479 fprintf(stderr, "Assert failed");
81480 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30412);
81481 nit_exit(1);
81482 }
81483 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
81484 /* ./parser//parser.nit:30414 */
81485 if (UNTAG_Bool(REGB0)) {
81486 } else {
81487 fprintf(stderr, "Assert failed");
81488 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30414);
81489 nit_exit(1);
81490 }
81491 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
81492 /* ./parser//parser.nit:30416 */
81493 if (UNTAG_Bool(REGB0)) {
81494 } else {
81495 fprintf(stderr, "Assert failed");
81496 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30416);
81497 nit_exit(1);
81498 }
81499 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
81500 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
81501 /* ./parser//parser.nit:30421 */
81502 if (UNTAG_Bool(REGB0)) {
81503 } else {
81504 fprintf(stderr, "Assert failed");
81505 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30421);
81506 nit_exit(1);
81507 }
81508 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
81509 /* ./parser//parser.nit:30423 */
81510 if (UNTAG_Bool(REGB0)) {
81511 } else {
81512 fprintf(stderr, "Assert failed");
81513 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30423);
81514 nit_exit(1);
81515 }
81516 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
81517 fra.me.REG[0] = fra.me.REG[2];
81518 REGB0 = TAG_Int(76);
81519 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
81520 /* ./parser//parser.nit:30434 */
81521 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
81522 stack_frame_head = fra.me.prev;
81523 return;
81524 }
81525 void parser___ReduceAction762___init(val_t p0, int* init_table){
81526 int itpos766 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction762].i;
81527 struct {struct stack_frame_t me;} fra;
81528 val_t tmp;
81529 if (init_table[itpos766]) return;
81530 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81531 fra.me.file = LOCATE_parser;
81532 fra.me.line = 30436;
81533 fra.me.meth = LOCATE_parser___ReduceAction762___init;
81534 fra.me.has_broke = 0;
81535 fra.me.REG_size = 1;
81536 fra.me.REG[0] = NIT_NULL;
81537 fra.me.REG[0] = p0;
81538 /* ./parser//parser.nit:30436 */
81539 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
81540 stack_frame_head = fra.me.prev;
81541 init_table[itpos766] = 1;
81542 return;
81543 }
81544 void parser___ReduceAction763___action(val_t p0, val_t p1){
81545 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
81546 val_t REGB0;
81547 val_t tmp;
81548 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81549 fra.me.file = LOCATE_parser;
81550 fra.me.line = 30440;
81551 fra.me.meth = LOCATE_parser___ReduceAction763___action;
81552 fra.me.has_broke = 0;
81553 fra.me.REG_size = 8;
81554 fra.me.REG[0] = NIT_NULL;
81555 fra.me.REG[1] = NIT_NULL;
81556 fra.me.REG[2] = NIT_NULL;
81557 fra.me.REG[3] = NIT_NULL;
81558 fra.me.REG[4] = NIT_NULL;
81559 fra.me.REG[5] = NIT_NULL;
81560 fra.me.REG[6] = NIT_NULL;
81561 fra.me.REG[7] = NIT_NULL;
81562 fra.me.REG[0] = p0;
81563 fra.me.REG[1] = p1;
81564 fra.me.REG[0] = NIT_NULL;
81565 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81566 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81567 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81568 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81569 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81570 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81571 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81572 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81573 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
81574 /* ./parser//parser.nit:30452 */
81575 if (UNTAG_Bool(REGB0)) {
81576 } else {
81577 fprintf(stderr, "Assert failed");
81578 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30452);
81579 nit_exit(1);
81580 }
81581 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
81582 /* ./parser//parser.nit:30454 */
81583 if (UNTAG_Bool(REGB0)) {
81584 } else {
81585 fprintf(stderr, "Assert failed");
81586 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30454);
81587 nit_exit(1);
81588 }
81589 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
81590 /* ./parser//parser.nit:30456 */
81591 if (UNTAG_Bool(REGB0)) {
81592 } else {
81593 fprintf(stderr, "Assert failed");
81594 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30456);
81595 nit_exit(1);
81596 }
81597 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
81598 /* ./parser//parser.nit:30458 */
81599 if (UNTAG_Bool(REGB0)) {
81600 } else {
81601 fprintf(stderr, "Assert failed");
81602 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30458);
81603 nit_exit(1);
81604 }
81605 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
81606 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
81607 /* ./parser//parser.nit:30463 */
81608 if (UNTAG_Bool(REGB0)) {
81609 } else {
81610 fprintf(stderr, "Assert failed");
81611 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30463);
81612 nit_exit(1);
81613 }
81614 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
81615 /* ./parser//parser.nit:30465 */
81616 if (UNTAG_Bool(REGB0)) {
81617 } else {
81618 fprintf(stderr, "Assert failed");
81619 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30465);
81620 nit_exit(1);
81621 }
81622 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
81623 fra.me.REG[0] = fra.me.REG[2];
81624 REGB0 = TAG_Int(76);
81625 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
81626 /* ./parser//parser.nit:30476 */
81627 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
81628 stack_frame_head = fra.me.prev;
81629 return;
81630 }
81631 void parser___ReduceAction763___init(val_t p0, int* init_table){
81632 int itpos767 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction763].i;
81633 struct {struct stack_frame_t me;} fra;
81634 val_t tmp;
81635 if (init_table[itpos767]) return;
81636 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81637 fra.me.file = LOCATE_parser;
81638 fra.me.line = 30478;
81639 fra.me.meth = LOCATE_parser___ReduceAction763___init;
81640 fra.me.has_broke = 0;
81641 fra.me.REG_size = 1;
81642 fra.me.REG[0] = NIT_NULL;
81643 fra.me.REG[0] = p0;
81644 /* ./parser//parser.nit:30478 */
81645 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
81646 stack_frame_head = fra.me.prev;
81647 init_table[itpos767] = 1;
81648 return;
81649 }
81650 void parser___ReduceAction764___action(val_t p0, val_t p1){
81651 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
81652 val_t REGB0;
81653 val_t tmp;
81654 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81655 fra.me.file = LOCATE_parser;
81656 fra.me.line = 30482;
81657 fra.me.meth = LOCATE_parser___ReduceAction764___action;
81658 fra.me.has_broke = 0;
81659 fra.me.REG_size = 9;
81660 fra.me.REG[0] = NIT_NULL;
81661 fra.me.REG[1] = NIT_NULL;
81662 fra.me.REG[2] = NIT_NULL;
81663 fra.me.REG[3] = NIT_NULL;
81664 fra.me.REG[4] = NIT_NULL;
81665 fra.me.REG[5] = NIT_NULL;
81666 fra.me.REG[6] = NIT_NULL;
81667 fra.me.REG[7] = NIT_NULL;
81668 fra.me.REG[8] = NIT_NULL;
81669 fra.me.REG[0] = p0;
81670 fra.me.REG[1] = p1;
81671 fra.me.REG[0] = NIT_NULL;
81672 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81673 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81674 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81675 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81676 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81677 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81678 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81679 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81680 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81681 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
81682 /* ./parser//parser.nit:30495 */
81683 if (UNTAG_Bool(REGB0)) {
81684 } else {
81685 fprintf(stderr, "Assert failed");
81686 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30495);
81687 nit_exit(1);
81688 }
81689 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
81690 /* ./parser//parser.nit:30497 */
81691 if (UNTAG_Bool(REGB0)) {
81692 } else {
81693 fprintf(stderr, "Assert failed");
81694 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30497);
81695 nit_exit(1);
81696 }
81697 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
81698 /* ./parser//parser.nit:30499 */
81699 if (UNTAG_Bool(REGB0)) {
81700 } else {
81701 fprintf(stderr, "Assert failed");
81702 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30499);
81703 nit_exit(1);
81704 }
81705 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
81706 /* ./parser//parser.nit:30501 */
81707 if (UNTAG_Bool(REGB0)) {
81708 } else {
81709 fprintf(stderr, "Assert failed");
81710 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30501);
81711 nit_exit(1);
81712 }
81713 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
81714 /* ./parser//parser.nit:30503 */
81715 if (UNTAG_Bool(REGB0)) {
81716 } else {
81717 fprintf(stderr, "Assert failed");
81718 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30503);
81719 nit_exit(1);
81720 }
81721 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
81722 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
81723 /* ./parser//parser.nit:30509 */
81724 if (UNTAG_Bool(REGB0)) {
81725 } else {
81726 fprintf(stderr, "Assert failed");
81727 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30509);
81728 nit_exit(1);
81729 }
81730 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
81731 /* ./parser//parser.nit:30511 */
81732 if (UNTAG_Bool(REGB0)) {
81733 } else {
81734 fprintf(stderr, "Assert failed");
81735 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30511);
81736 nit_exit(1);
81737 }
81738 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
81739 fra.me.REG[0] = fra.me.REG[2];
81740 REGB0 = TAG_Int(76);
81741 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
81742 /* ./parser//parser.nit:30522 */
81743 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
81744 stack_frame_head = fra.me.prev;
81745 return;
81746 }
81747 void parser___ReduceAction764___init(val_t p0, int* init_table){
81748 int itpos768 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction764].i;
81749 struct {struct stack_frame_t me;} fra;
81750 val_t tmp;
81751 if (init_table[itpos768]) return;
81752 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81753 fra.me.file = LOCATE_parser;
81754 fra.me.line = 30524;
81755 fra.me.meth = LOCATE_parser___ReduceAction764___init;
81756 fra.me.has_broke = 0;
81757 fra.me.REG_size = 1;
81758 fra.me.REG[0] = NIT_NULL;
81759 fra.me.REG[0] = p0;
81760 /* ./parser//parser.nit:30524 */
81761 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
81762 stack_frame_head = fra.me.prev;
81763 init_table[itpos768] = 1;
81764 return;
81765 }
81766 void parser___ReduceAction765___action(val_t p0, val_t p1){
81767 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
81768 val_t REGB0;
81769 val_t tmp;
81770 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81771 fra.me.file = LOCATE_parser;
81772 fra.me.line = 30528;
81773 fra.me.meth = LOCATE_parser___ReduceAction765___action;
81774 fra.me.has_broke = 0;
81775 fra.me.REG_size = 8;
81776 fra.me.REG[0] = NIT_NULL;
81777 fra.me.REG[1] = NIT_NULL;
81778 fra.me.REG[2] = NIT_NULL;
81779 fra.me.REG[3] = NIT_NULL;
81780 fra.me.REG[4] = NIT_NULL;
81781 fra.me.REG[5] = NIT_NULL;
81782 fra.me.REG[6] = NIT_NULL;
81783 fra.me.REG[7] = NIT_NULL;
81784 fra.me.REG[0] = p0;
81785 fra.me.REG[1] = p1;
81786 fra.me.REG[0] = NIT_NULL;
81787 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81788 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81789 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81790 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81791 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81792 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81793 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81794 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81795 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
81796 /* ./parser//parser.nit:30540 */
81797 if (UNTAG_Bool(REGB0)) {
81798 } else {
81799 fprintf(stderr, "Assert failed");
81800 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30540);
81801 nit_exit(1);
81802 }
81803 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
81804 /* ./parser//parser.nit:30542 */
81805 if (UNTAG_Bool(REGB0)) {
81806 } else {
81807 fprintf(stderr, "Assert failed");
81808 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30542);
81809 nit_exit(1);
81810 }
81811 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
81812 /* ./parser//parser.nit:30544 */
81813 if (UNTAG_Bool(REGB0)) {
81814 } else {
81815 fprintf(stderr, "Assert failed");
81816 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30544);
81817 nit_exit(1);
81818 }
81819 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
81820 /* ./parser//parser.nit:30546 */
81821 if (UNTAG_Bool(REGB0)) {
81822 } else {
81823 fprintf(stderr, "Assert failed");
81824 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30546);
81825 nit_exit(1);
81826 }
81827 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
81828 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
81829 /* ./parser//parser.nit:30551 */
81830 if (UNTAG_Bool(REGB0)) {
81831 } else {
81832 fprintf(stderr, "Assert failed");
81833 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30551);
81834 nit_exit(1);
81835 }
81836 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
81837 /* ./parser//parser.nit:30553 */
81838 if (UNTAG_Bool(REGB0)) {
81839 } else {
81840 fprintf(stderr, "Assert failed");
81841 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30553);
81842 nit_exit(1);
81843 }
81844 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
81845 fra.me.REG[0] = fra.me.REG[2];
81846 REGB0 = TAG_Int(76);
81847 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
81848 /* ./parser//parser.nit:30564 */
81849 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
81850 stack_frame_head = fra.me.prev;
81851 return;
81852 }
81853 void parser___ReduceAction765___init(val_t p0, int* init_table){
81854 int itpos769 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction765].i;
81855 struct {struct stack_frame_t me;} fra;
81856 val_t tmp;
81857 if (init_table[itpos769]) return;
81858 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81859 fra.me.file = LOCATE_parser;
81860 fra.me.line = 30566;
81861 fra.me.meth = LOCATE_parser___ReduceAction765___init;
81862 fra.me.has_broke = 0;
81863 fra.me.REG_size = 1;
81864 fra.me.REG[0] = NIT_NULL;
81865 fra.me.REG[0] = p0;
81866 /* ./parser//parser.nit:30566 */
81867 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
81868 stack_frame_head = fra.me.prev;
81869 init_table[itpos769] = 1;
81870 return;
81871 }
81872 void parser___ReduceAction766___action(val_t p0, val_t p1){
81873 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
81874 val_t REGB0;
81875 val_t tmp;
81876 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81877 fra.me.file = LOCATE_parser;
81878 fra.me.line = 30570;
81879 fra.me.meth = LOCATE_parser___ReduceAction766___action;
81880 fra.me.has_broke = 0;
81881 fra.me.REG_size = 9;
81882 fra.me.REG[0] = NIT_NULL;
81883 fra.me.REG[1] = NIT_NULL;
81884 fra.me.REG[2] = NIT_NULL;
81885 fra.me.REG[3] = NIT_NULL;
81886 fra.me.REG[4] = NIT_NULL;
81887 fra.me.REG[5] = NIT_NULL;
81888 fra.me.REG[6] = NIT_NULL;
81889 fra.me.REG[7] = NIT_NULL;
81890 fra.me.REG[8] = NIT_NULL;
81891 fra.me.REG[0] = p0;
81892 fra.me.REG[1] = p1;
81893 fra.me.REG[0] = NIT_NULL;
81894 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81895 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81896 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81897 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81898 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81899 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81900 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81901 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81902 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
81903 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
81904 /* ./parser//parser.nit:30583 */
81905 if (UNTAG_Bool(REGB0)) {
81906 } else {
81907 fprintf(stderr, "Assert failed");
81908 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30583);
81909 nit_exit(1);
81910 }
81911 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
81912 /* ./parser//parser.nit:30585 */
81913 if (UNTAG_Bool(REGB0)) {
81914 } else {
81915 fprintf(stderr, "Assert failed");
81916 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30585);
81917 nit_exit(1);
81918 }
81919 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
81920 /* ./parser//parser.nit:30587 */
81921 if (UNTAG_Bool(REGB0)) {
81922 } else {
81923 fprintf(stderr, "Assert failed");
81924 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30587);
81925 nit_exit(1);
81926 }
81927 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
81928 /* ./parser//parser.nit:30589 */
81929 if (UNTAG_Bool(REGB0)) {
81930 } else {
81931 fprintf(stderr, "Assert failed");
81932 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30589);
81933 nit_exit(1);
81934 }
81935 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
81936 /* ./parser//parser.nit:30591 */
81937 if (UNTAG_Bool(REGB0)) {
81938 } else {
81939 fprintf(stderr, "Assert failed");
81940 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30591);
81941 nit_exit(1);
81942 }
81943 fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
81944 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
81945 /* ./parser//parser.nit:30597 */
81946 if (UNTAG_Bool(REGB0)) {
81947 } else {
81948 fprintf(stderr, "Assert failed");
81949 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30597);
81950 nit_exit(1);
81951 }
81952 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
81953 /* ./parser//parser.nit:30599 */
81954 if (UNTAG_Bool(REGB0)) {
81955 } else {
81956 fprintf(stderr, "Assert failed");
81957 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30599);
81958 nit_exit(1);
81959 }
81960 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
81961 fra.me.REG[0] = fra.me.REG[2];
81962 REGB0 = TAG_Int(76);
81963 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
81964 /* ./parser//parser.nit:30610 */
81965 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
81966 stack_frame_head = fra.me.prev;
81967 return;
81968 }
81969 void parser___ReduceAction766___init(val_t p0, int* init_table){
81970 int itpos770 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction766].i;
81971 struct {struct stack_frame_t me;} fra;
81972 val_t tmp;
81973 if (init_table[itpos770]) return;
81974 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81975 fra.me.file = LOCATE_parser;
81976 fra.me.line = 30612;
81977 fra.me.meth = LOCATE_parser___ReduceAction766___init;
81978 fra.me.has_broke = 0;
81979 fra.me.REG_size = 1;
81980 fra.me.REG[0] = NIT_NULL;
81981 fra.me.REG[0] = p0;
81982 /* ./parser//parser.nit:30612 */
81983 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
81984 stack_frame_head = fra.me.prev;
81985 init_table[itpos770] = 1;
81986 return;
81987 }
81988 void parser___ReduceAction767___action(val_t p0, val_t p1){
81989 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
81990 val_t REGB0;
81991 val_t tmp;
81992 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
81993 fra.me.file = LOCATE_parser;
81994 fra.me.line = 30616;
81995 fra.me.meth = LOCATE_parser___ReduceAction767___action;
81996 fra.me.has_broke = 0;
81997 fra.me.REG_size = 10;
81998 fra.me.REG[0] = NIT_NULL;
81999 fra.me.REG[1] = NIT_NULL;
82000 fra.me.REG[2] = NIT_NULL;
82001 fra.me.REG[3] = NIT_NULL;
82002 fra.me.REG[4] = NIT_NULL;
82003 fra.me.REG[5] = NIT_NULL;
82004 fra.me.REG[6] = NIT_NULL;
82005 fra.me.REG[7] = NIT_NULL;
82006 fra.me.REG[8] = NIT_NULL;
82007 fra.me.REG[9] = NIT_NULL;
82008 fra.me.REG[0] = p0;
82009 fra.me.REG[1] = p1;
82010 fra.me.REG[0] = NIT_NULL;
82011 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82012 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82013 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82014 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82015 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82016 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82017 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82018 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82019 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82020 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82021 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
82022 /* ./parser//parser.nit:30630 */
82023 if (UNTAG_Bool(REGB0)) {
82024 } else {
82025 fprintf(stderr, "Assert failed");
82026 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30630);
82027 nit_exit(1);
82028 }
82029 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
82030 /* ./parser//parser.nit:30632 */
82031 if (UNTAG_Bool(REGB0)) {
82032 } else {
82033 fprintf(stderr, "Assert failed");
82034 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30632);
82035 nit_exit(1);
82036 }
82037 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
82038 /* ./parser//parser.nit:30634 */
82039 if (UNTAG_Bool(REGB0)) {
82040 } else {
82041 fprintf(stderr, "Assert failed");
82042 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30634);
82043 nit_exit(1);
82044 }
82045 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
82046 /* ./parser//parser.nit:30636 */
82047 if (UNTAG_Bool(REGB0)) {
82048 } else {
82049 fprintf(stderr, "Assert failed");
82050 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30636);
82051 nit_exit(1);
82052 }
82053 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
82054 /* ./parser//parser.nit:30638 */
82055 if (UNTAG_Bool(REGB0)) {
82056 } else {
82057 fprintf(stderr, "Assert failed");
82058 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30638);
82059 nit_exit(1);
82060 }
82061 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
82062 /* ./parser//parser.nit:30640 */
82063 if (UNTAG_Bool(REGB0)) {
82064 } else {
82065 fprintf(stderr, "Assert failed");
82066 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30640);
82067 nit_exit(1);
82068 }
82069 fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
82070 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
82071 /* ./parser//parser.nit:30647 */
82072 if (UNTAG_Bool(REGB0)) {
82073 } else {
82074 fprintf(stderr, "Assert failed");
82075 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30647);
82076 nit_exit(1);
82077 }
82078 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
82079 /* ./parser//parser.nit:30649 */
82080 if (UNTAG_Bool(REGB0)) {
82081 } else {
82082 fprintf(stderr, "Assert failed");
82083 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30649);
82084 nit_exit(1);
82085 }
82086 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
82087 fra.me.REG[0] = fra.me.REG[2];
82088 REGB0 = TAG_Int(76);
82089 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
82090 /* ./parser//parser.nit:30660 */
82091 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
82092 stack_frame_head = fra.me.prev;
82093 return;
82094 }
82095 void parser___ReduceAction767___init(val_t p0, int* init_table){
82096 int itpos771 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction767].i;
82097 struct {struct stack_frame_t me;} fra;
82098 val_t tmp;
82099 if (init_table[itpos771]) return;
82100 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
82101 fra.me.file = LOCATE_parser;
82102 fra.me.line = 30662;
82103 fra.me.meth = LOCATE_parser___ReduceAction767___init;
82104 fra.me.has_broke = 0;
82105 fra.me.REG_size = 1;
82106 fra.me.REG[0] = NIT_NULL;
82107 fra.me.REG[0] = p0;
82108 /* ./parser//parser.nit:30662 */
82109 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
82110 stack_frame_head = fra.me.prev;
82111 init_table[itpos771] = 1;
82112 return;
82113 }
82114 void parser___ReduceAction768___action(val_t p0, val_t p1){
82115 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
82116 val_t REGB0;
82117 val_t tmp;
82118 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
82119 fra.me.file = LOCATE_parser;
82120 fra.me.line = 30666;
82121 fra.me.meth = LOCATE_parser___ReduceAction768___action;
82122 fra.me.has_broke = 0;
82123 fra.me.REG_size = 9;
82124 fra.me.REG[0] = NIT_NULL;
82125 fra.me.REG[1] = NIT_NULL;
82126 fra.me.REG[2] = NIT_NULL;
82127 fra.me.REG[3] = NIT_NULL;
82128 fra.me.REG[4] = NIT_NULL;
82129 fra.me.REG[5] = NIT_NULL;
82130 fra.me.REG[6] = NIT_NULL;
82131 fra.me.REG[7] = NIT_NULL;
82132 fra.me.REG[8] = NIT_NULL;
82133 fra.me.REG[0] = p0;
82134 fra.me.REG[1] = p1;
82135 fra.me.REG[0] = NIT_NULL;
82136 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82137 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82138 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82139 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82140 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82141 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82142 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82143 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82144 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82145 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
82146 /* ./parser//parser.nit:30679 */
82147 if (UNTAG_Bool(REGB0)) {
82148 } else {
82149 fprintf(stderr, "Assert failed");
82150 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30679);
82151 nit_exit(1);
82152 }
82153 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
82154 /* ./parser//parser.nit:30681 */
82155 if (UNTAG_Bool(REGB0)) {
82156 } else {
82157 fprintf(stderr, "Assert failed");
82158 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30681);
82159 nit_exit(1);
82160 }
82161 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
82162 /* ./parser//parser.nit:30683 */
82163 if (UNTAG_Bool(REGB0)) {
82164 } else {
82165 fprintf(stderr, "Assert failed");
82166 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30683);
82167 nit_exit(1);
82168 }
82169 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
82170 /* ./parser//parser.nit:30685 */
82171 if (UNTAG_Bool(REGB0)) {
82172 } else {
82173 fprintf(stderr, "Assert failed");
82174 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30685);
82175 nit_exit(1);
82176 }
82177 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
82178 /* ./parser//parser.nit:30687 */
82179 if (UNTAG_Bool(REGB0)) {
82180 } else {
82181 fprintf(stderr, "Assert failed");
82182 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30687);
82183 nit_exit(1);
82184 }
82185 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
82186 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
82187 /* ./parser//parser.nit:30692 */
82188 if (UNTAG_Bool(REGB0)) {
82189 } else {
82190 fprintf(stderr, "Assert failed");
82191 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30692);
82192 nit_exit(1);
82193 }
82194 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
82195 /* ./parser//parser.nit:30694 */
82196 if (UNTAG_Bool(REGB0)) {
82197 } else {
82198 fprintf(stderr, "Assert failed");
82199 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30694);
82200 nit_exit(1);
82201 }
82202 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
82203 fra.me.REG[0] = fra.me.REG[2];
82204 REGB0 = TAG_Int(76);
82205 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
82206 /* ./parser//parser.nit:30705 */
82207 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
82208 stack_frame_head = fra.me.prev;
82209 return;
82210 }
82211 void parser___ReduceAction768___init(val_t p0, int* init_table){
82212 int itpos772 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction768].i;
82213 struct {struct stack_frame_t me;} fra;
82214 val_t tmp;
82215 if (init_table[itpos772]) return;
82216 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
82217 fra.me.file = LOCATE_parser;
82218 fra.me.line = 30707;
82219 fra.me.meth = LOCATE_parser___ReduceAction768___init;
82220 fra.me.has_broke = 0;
82221 fra.me.REG_size = 1;
82222 fra.me.REG[0] = NIT_NULL;
82223 fra.me.REG[0] = p0;
82224 /* ./parser//parser.nit:30707 */
82225 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
82226 stack_frame_head = fra.me.prev;
82227 init_table[itpos772] = 1;
82228 return;
82229 }
82230 void parser___ReduceAction769___action(val_t p0, val_t p1){
82231 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
82232 val_t REGB0;
82233 val_t tmp;
82234 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
82235 fra.me.file = LOCATE_parser;
82236 fra.me.line = 30711;
82237 fra.me.meth = LOCATE_parser___ReduceAction769___action;
82238 fra.me.has_broke = 0;
82239 fra.me.REG_size = 9;
82240 fra.me.REG[0] = NIT_NULL;
82241 fra.me.REG[1] = NIT_NULL;
82242 fra.me.REG[2] = NIT_NULL;
82243 fra.me.REG[3] = NIT_NULL;
82244 fra.me.REG[4] = NIT_NULL;
82245 fra.me.REG[5] = NIT_NULL;
82246 fra.me.REG[6] = NIT_NULL;
82247 fra.me.REG[7] = NIT_NULL;
82248 fra.me.REG[8] = NIT_NULL;
82249 fra.me.REG[0] = p0;
82250 fra.me.REG[1] = p1;
82251 fra.me.REG[0] = NIT_NULL;
82252 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82253 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82254 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82255 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82256 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82257 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82258 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82259 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82260 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82261 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
82262 /* ./parser//parser.nit:30724 */
82263 if (UNTAG_Bool(REGB0)) {
82264 } else {
82265 fprintf(stderr, "Assert failed");
82266 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30724);
82267 nit_exit(1);
82268 }
82269 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
82270 /* ./parser//parser.nit:30726 */
82271 if (UNTAG_Bool(REGB0)) {
82272 } else {
82273 fprintf(stderr, "Assert failed");
82274 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30726);
82275 nit_exit(1);
82276 }
82277 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
82278 /* ./parser//parser.nit:30728 */
82279 if (UNTAG_Bool(REGB0)) {
82280 } else {
82281 fprintf(stderr, "Assert failed");
82282 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30728);
82283 nit_exit(1);
82284 }
82285 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
82286 /* ./parser//parser.nit:30730 */
82287 if (UNTAG_Bool(REGB0)) {
82288 } else {
82289 fprintf(stderr, "Assert failed");
82290 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30730);
82291 nit_exit(1);
82292 }
82293 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
82294 /* ./parser//parser.nit:30732 */
82295 if (UNTAG_Bool(REGB0)) {
82296 } else {
82297 fprintf(stderr, "Assert failed");
82298 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30732);
82299 nit_exit(1);
82300 }
82301 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
82302 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
82303 /* ./parser//parser.nit:30737 */
82304 if (UNTAG_Bool(REGB0)) {
82305 } else {
82306 fprintf(stderr, "Assert failed");
82307 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30737);
82308 nit_exit(1);
82309 }
82310 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
82311 /* ./parser//parser.nit:30739 */
82312 if (UNTAG_Bool(REGB0)) {
82313 } else {
82314 fprintf(stderr, "Assert failed");
82315 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30739);
82316 nit_exit(1);
82317 }
82318 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
82319 fra.me.REG[0] = fra.me.REG[2];
82320 REGB0 = TAG_Int(76);
82321 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
82322 /* ./parser//parser.nit:30750 */
82323 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
82324 stack_frame_head = fra.me.prev;
82325 return;
82326 }
82327 void parser___ReduceAction769___init(val_t p0, int* init_table){
82328 int itpos773 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction769].i;
82329 struct {struct stack_frame_t me;} fra;
82330 val_t tmp;
82331 if (init_table[itpos773]) return;
82332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
82333 fra.me.file = LOCATE_parser;
82334 fra.me.line = 30752;
82335 fra.me.meth = LOCATE_parser___ReduceAction769___init;
82336 fra.me.has_broke = 0;
82337 fra.me.REG_size = 1;
82338 fra.me.REG[0] = NIT_NULL;
82339 fra.me.REG[0] = p0;
82340 /* ./parser//parser.nit:30752 */
82341 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
82342 stack_frame_head = fra.me.prev;
82343 init_table[itpos773] = 1;
82344 return;
82345 }
82346 void parser___ReduceAction770___action(val_t p0, val_t p1){
82347 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
82348 val_t REGB0;
82349 val_t tmp;
82350 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
82351 fra.me.file = LOCATE_parser;
82352 fra.me.line = 30756;
82353 fra.me.meth = LOCATE_parser___ReduceAction770___action;
82354 fra.me.has_broke = 0;
82355 fra.me.REG_size = 9;
82356 fra.me.REG[0] = NIT_NULL;
82357 fra.me.REG[1] = NIT_NULL;
82358 fra.me.REG[2] = NIT_NULL;
82359 fra.me.REG[3] = NIT_NULL;
82360 fra.me.REG[4] = NIT_NULL;
82361 fra.me.REG[5] = NIT_NULL;
82362 fra.me.REG[6] = NIT_NULL;
82363 fra.me.REG[7] = NIT_NULL;
82364 fra.me.REG[8] = NIT_NULL;
82365 fra.me.REG[0] = p0;
82366 fra.me.REG[1] = p1;
82367 fra.me.REG[0] = NIT_NULL;
82368 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82369 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82370 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82371 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82372 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82373 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82374 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82375 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82376 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82377 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
82378 /* ./parser//parser.nit:30769 */
82379 if (UNTAG_Bool(REGB0)) {
82380 } else {
82381 fprintf(stderr, "Assert failed");
82382 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30769);
82383 nit_exit(1);
82384 }
82385 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
82386 /* ./parser//parser.nit:30771 */
82387 if (UNTAG_Bool(REGB0)) {
82388 } else {
82389 fprintf(stderr, "Assert failed");
82390 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30771);
82391 nit_exit(1);
82392 }
82393 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
82394 /* ./parser//parser.nit:30773 */
82395 if (UNTAG_Bool(REGB0)) {
82396 } else {
82397 fprintf(stderr, "Assert failed");
82398 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30773);
82399 nit_exit(1);
82400 }
82401 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
82402 /* ./parser//parser.nit:30775 */
82403 if (UNTAG_Bool(REGB0)) {
82404 } else {
82405 fprintf(stderr, "Assert failed");
82406 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30775);
82407 nit_exit(1);
82408 }
82409 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
82410 /* ./parser//parser.nit:30777 */
82411 if (UNTAG_Bool(REGB0)) {
82412 } else {
82413 fprintf(stderr, "Assert failed");
82414 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30777);
82415 nit_exit(1);
82416 }
82417 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
82418 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
82419 /* ./parser//parser.nit:30782 */
82420 if (UNTAG_Bool(REGB0)) {
82421 } else {
82422 fprintf(stderr, "Assert failed");
82423 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30782);
82424 nit_exit(1);
82425 }
82426 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
82427 /* ./parser//parser.nit:30784 */
82428 if (UNTAG_Bool(REGB0)) {
82429 } else {
82430 fprintf(stderr, "Assert failed");
82431 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30784);
82432 nit_exit(1);
82433 }
82434 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
82435 fra.me.REG[0] = fra.me.REG[2];
82436 REGB0 = TAG_Int(76);
82437 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
82438 /* ./parser//parser.nit:30795 */
82439 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
82440 stack_frame_head = fra.me.prev;
82441 return;
82442 }
82443 void parser___ReduceAction770___init(val_t p0, int* init_table){
82444 int itpos774 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction770].i;
82445 struct {struct stack_frame_t me;} fra;
82446 val_t tmp;
82447 if (init_table[itpos774]) return;
82448 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
82449 fra.me.file = LOCATE_parser;
82450 fra.me.line = 30797;
82451 fra.me.meth = LOCATE_parser___ReduceAction770___init;
82452 fra.me.has_broke = 0;
82453 fra.me.REG_size = 1;
82454 fra.me.REG[0] = NIT_NULL;
82455 fra.me.REG[0] = p0;
82456 /* ./parser//parser.nit:30797 */
82457 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
82458 stack_frame_head = fra.me.prev;
82459 init_table[itpos774] = 1;
82460 return;
82461 }
82462 void parser___ReduceAction771___action(val_t p0, val_t p1){
82463 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
82464 val_t REGB0;
82465 val_t tmp;
82466 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
82467 fra.me.file = LOCATE_parser;
82468 fra.me.line = 30801;
82469 fra.me.meth = LOCATE_parser___ReduceAction771___action;
82470 fra.me.has_broke = 0;
82471 fra.me.REG_size = 9;
82472 fra.me.REG[0] = NIT_NULL;
82473 fra.me.REG[1] = NIT_NULL;
82474 fra.me.REG[2] = NIT_NULL;
82475 fra.me.REG[3] = NIT_NULL;
82476 fra.me.REG[4] = NIT_NULL;
82477 fra.me.REG[5] = NIT_NULL;
82478 fra.me.REG[6] = NIT_NULL;
82479 fra.me.REG[7] = NIT_NULL;
82480 fra.me.REG[8] = NIT_NULL;
82481 fra.me.REG[0] = p0;
82482 fra.me.REG[1] = p1;
82483 fra.me.REG[0] = NIT_NULL;
82484 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82485 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82486 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82487 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82488 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82489 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82490 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82491 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82492 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82493 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
82494 /* ./parser//parser.nit:30814 */
82495 if (UNTAG_Bool(REGB0)) {
82496 } else {
82497 fprintf(stderr, "Assert failed");
82498 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30814);
82499 nit_exit(1);
82500 }
82501 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
82502 /* ./parser//parser.nit:30816 */
82503 if (UNTAG_Bool(REGB0)) {
82504 } else {
82505 fprintf(stderr, "Assert failed");
82506 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30816);
82507 nit_exit(1);
82508 }
82509 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
82510 /* ./parser//parser.nit:30818 */
82511 if (UNTAG_Bool(REGB0)) {
82512 } else {
82513 fprintf(stderr, "Assert failed");
82514 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30818);
82515 nit_exit(1);
82516 }
82517 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
82518 /* ./parser//parser.nit:30820 */
82519 if (UNTAG_Bool(REGB0)) {
82520 } else {
82521 fprintf(stderr, "Assert failed");
82522 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30820);
82523 nit_exit(1);
82524 }
82525 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
82526 /* ./parser//parser.nit:30822 */
82527 if (UNTAG_Bool(REGB0)) {
82528 } else {
82529 fprintf(stderr, "Assert failed");
82530 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30822);
82531 nit_exit(1);
82532 }
82533 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
82534 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
82535 /* ./parser//parser.nit:30827 */
82536 if (UNTAG_Bool(REGB0)) {
82537 } else {
82538 fprintf(stderr, "Assert failed");
82539 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30827);
82540 nit_exit(1);
82541 }
82542 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
82543 /* ./parser//parser.nit:30829 */
82544 if (UNTAG_Bool(REGB0)) {
82545 } else {
82546 fprintf(stderr, "Assert failed");
82547 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30829);
82548 nit_exit(1);
82549 }
82550 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
82551 fra.me.REG[0] = fra.me.REG[2];
82552 REGB0 = TAG_Int(76);
82553 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
82554 /* ./parser//parser.nit:30840 */
82555 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
82556 stack_frame_head = fra.me.prev;
82557 return;
82558 }
82559 void parser___ReduceAction771___init(val_t p0, int* init_table){
82560 int itpos775 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction771].i;
82561 struct {struct stack_frame_t me;} fra;
82562 val_t tmp;
82563 if (init_table[itpos775]) return;
82564 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
82565 fra.me.file = LOCATE_parser;
82566 fra.me.line = 30842;
82567 fra.me.meth = LOCATE_parser___ReduceAction771___init;
82568 fra.me.has_broke = 0;
82569 fra.me.REG_size = 1;
82570 fra.me.REG[0] = NIT_NULL;
82571 fra.me.REG[0] = p0;
82572 /* ./parser//parser.nit:30842 */
82573 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
82574 stack_frame_head = fra.me.prev;
82575 init_table[itpos775] = 1;
82576 return;
82577 }
82578 void parser___ReduceAction772___action(val_t p0, val_t p1){
82579 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
82580 val_t REGB0;
82581 val_t tmp;
82582 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
82583 fra.me.file = LOCATE_parser;
82584 fra.me.line = 30846;
82585 fra.me.meth = LOCATE_parser___ReduceAction772___action;
82586 fra.me.has_broke = 0;
82587 fra.me.REG_size = 9;
82588 fra.me.REG[0] = NIT_NULL;
82589 fra.me.REG[1] = NIT_NULL;
82590 fra.me.REG[2] = NIT_NULL;
82591 fra.me.REG[3] = NIT_NULL;
82592 fra.me.REG[4] = NIT_NULL;
82593 fra.me.REG[5] = NIT_NULL;
82594 fra.me.REG[6] = NIT_NULL;
82595 fra.me.REG[7] = NIT_NULL;
82596 fra.me.REG[8] = NIT_NULL;
82597 fra.me.REG[0] = p0;
82598 fra.me.REG[1] = p1;
82599 fra.me.REG[0] = NIT_NULL;
82600 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82601 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82602 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82603 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82604 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82605 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82606 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82607 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82608 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82609 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
82610 /* ./parser//parser.nit:30859 */
82611 if (UNTAG_Bool(REGB0)) {
82612 } else {
82613 fprintf(stderr, "Assert failed");
82614 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30859);
82615 nit_exit(1);
82616 }
82617 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
82618 /* ./parser//parser.nit:30861 */
82619 if (UNTAG_Bool(REGB0)) {
82620 } else {
82621 fprintf(stderr, "Assert failed");
82622 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30861);
82623 nit_exit(1);
82624 }
82625 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
82626 /* ./parser//parser.nit:30863 */
82627 if (UNTAG_Bool(REGB0)) {
82628 } else {
82629 fprintf(stderr, "Assert failed");
82630 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30863);
82631 nit_exit(1);
82632 }
82633 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
82634 /* ./parser//parser.nit:30865 */
82635 if (UNTAG_Bool(REGB0)) {
82636 } else {
82637 fprintf(stderr, "Assert failed");
82638 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30865);
82639 nit_exit(1);
82640 }
82641 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
82642 /* ./parser//parser.nit:30867 */
82643 if (UNTAG_Bool(REGB0)) {
82644 } else {
82645 fprintf(stderr, "Assert failed");
82646 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30867);
82647 nit_exit(1);
82648 }
82649 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
82650 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
82651 /* ./parser//parser.nit:30872 */
82652 if (UNTAG_Bool(REGB0)) {
82653 } else {
82654 fprintf(stderr, "Assert failed");
82655 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30872);
82656 nit_exit(1);
82657 }
82658 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
82659 /* ./parser//parser.nit:30874 */
82660 if (UNTAG_Bool(REGB0)) {
82661 } else {
82662 fprintf(stderr, "Assert failed");
82663 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30874);
82664 nit_exit(1);
82665 }
82666 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
82667 fra.me.REG[0] = fra.me.REG[2];
82668 REGB0 = TAG_Int(76);
82669 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
82670 /* ./parser//parser.nit:30885 */
82671 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
82672 stack_frame_head = fra.me.prev;
82673 return;
82674 }
82675 void parser___ReduceAction772___init(val_t p0, int* init_table){
82676 int itpos776 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction772].i;
82677 struct {struct stack_frame_t me;} fra;
82678 val_t tmp;
82679 if (init_table[itpos776]) return;
82680 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
82681 fra.me.file = LOCATE_parser;
82682 fra.me.line = 30887;
82683 fra.me.meth = LOCATE_parser___ReduceAction772___init;
82684 fra.me.has_broke = 0;
82685 fra.me.REG_size = 1;
82686 fra.me.REG[0] = NIT_NULL;
82687 fra.me.REG[0] = p0;
82688 /* ./parser//parser.nit:30887 */
82689 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
82690 stack_frame_head = fra.me.prev;
82691 init_table[itpos776] = 1;
82692 return;
82693 }
82694 void parser___ReduceAction773___action(val_t p0, val_t p1){
82695 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
82696 val_t REGB0;
82697 val_t tmp;
82698 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
82699 fra.me.file = LOCATE_parser;
82700 fra.me.line = 30891;
82701 fra.me.meth = LOCATE_parser___ReduceAction773___action;
82702 fra.me.has_broke = 0;
82703 fra.me.REG_size = 9;
82704 fra.me.REG[0] = NIT_NULL;
82705 fra.me.REG[1] = NIT_NULL;
82706 fra.me.REG[2] = NIT_NULL;
82707 fra.me.REG[3] = NIT_NULL;
82708 fra.me.REG[4] = NIT_NULL;
82709 fra.me.REG[5] = NIT_NULL;
82710 fra.me.REG[6] = NIT_NULL;
82711 fra.me.REG[7] = NIT_NULL;
82712 fra.me.REG[8] = NIT_NULL;
82713 fra.me.REG[0] = p0;
82714 fra.me.REG[1] = p1;
82715 fra.me.REG[0] = NIT_NULL;
82716 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82717 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82718 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82719 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82720 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82721 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82722 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82723 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82724 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82725 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
82726 /* ./parser//parser.nit:30904 */
82727 if (UNTAG_Bool(REGB0)) {
82728 } else {
82729 fprintf(stderr, "Assert failed");
82730 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30904);
82731 nit_exit(1);
82732 }
82733 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
82734 /* ./parser//parser.nit:30906 */
82735 if (UNTAG_Bool(REGB0)) {
82736 } else {
82737 fprintf(stderr, "Assert failed");
82738 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30906);
82739 nit_exit(1);
82740 }
82741 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
82742 /* ./parser//parser.nit:30908 */
82743 if (UNTAG_Bool(REGB0)) {
82744 } else {
82745 fprintf(stderr, "Assert failed");
82746 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30908);
82747 nit_exit(1);
82748 }
82749 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
82750 /* ./parser//parser.nit:30910 */
82751 if (UNTAG_Bool(REGB0)) {
82752 } else {
82753 fprintf(stderr, "Assert failed");
82754 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30910);
82755 nit_exit(1);
82756 }
82757 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
82758 /* ./parser//parser.nit:30912 */
82759 if (UNTAG_Bool(REGB0)) {
82760 } else {
82761 fprintf(stderr, "Assert failed");
82762 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30912);
82763 nit_exit(1);
82764 }
82765 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
82766 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
82767 /* ./parser//parser.nit:30917 */
82768 if (UNTAG_Bool(REGB0)) {
82769 } else {
82770 fprintf(stderr, "Assert failed");
82771 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30917);
82772 nit_exit(1);
82773 }
82774 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
82775 /* ./parser//parser.nit:30919 */
82776 if (UNTAG_Bool(REGB0)) {
82777 } else {
82778 fprintf(stderr, "Assert failed");
82779 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30919);
82780 nit_exit(1);
82781 }
82782 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
82783 fra.me.REG[0] = fra.me.REG[2];
82784 REGB0 = TAG_Int(76);
82785 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
82786 /* ./parser//parser.nit:30930 */
82787 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
82788 stack_frame_head = fra.me.prev;
82789 return;
82790 }
82791 void parser___ReduceAction773___init(val_t p0, int* init_table){
82792 int itpos777 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction773].i;
82793 struct {struct stack_frame_t me;} fra;
82794 val_t tmp;
82795 if (init_table[itpos777]) return;
82796 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
82797 fra.me.file = LOCATE_parser;
82798 fra.me.line = 30932;
82799 fra.me.meth = LOCATE_parser___ReduceAction773___init;
82800 fra.me.has_broke = 0;
82801 fra.me.REG_size = 1;
82802 fra.me.REG[0] = NIT_NULL;
82803 fra.me.REG[0] = p0;
82804 /* ./parser//parser.nit:30932 */
82805 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
82806 stack_frame_head = fra.me.prev;
82807 init_table[itpos777] = 1;
82808 return;
82809 }
82810 void parser___ReduceAction774___action(val_t p0, val_t p1){
82811 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
82812 val_t REGB0;
82813 val_t tmp;
82814 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
82815 fra.me.file = LOCATE_parser;
82816 fra.me.line = 30936;
82817 fra.me.meth = LOCATE_parser___ReduceAction774___action;
82818 fra.me.has_broke = 0;
82819 fra.me.REG_size = 9;
82820 fra.me.REG[0] = NIT_NULL;
82821 fra.me.REG[1] = NIT_NULL;
82822 fra.me.REG[2] = NIT_NULL;
82823 fra.me.REG[3] = NIT_NULL;
82824 fra.me.REG[4] = NIT_NULL;
82825 fra.me.REG[5] = NIT_NULL;
82826 fra.me.REG[6] = NIT_NULL;
82827 fra.me.REG[7] = NIT_NULL;
82828 fra.me.REG[8] = NIT_NULL;
82829 fra.me.REG[0] = p0;
82830 fra.me.REG[1] = p1;
82831 fra.me.REG[0] = NIT_NULL;
82832 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82833 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82834 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82835 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82836 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82837 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82838 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82839 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82840 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82841 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
82842 /* ./parser//parser.nit:30949 */
82843 if (UNTAG_Bool(REGB0)) {
82844 } else {
82845 fprintf(stderr, "Assert failed");
82846 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30949);
82847 nit_exit(1);
82848 }
82849 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
82850 /* ./parser//parser.nit:30951 */
82851 if (UNTAG_Bool(REGB0)) {
82852 } else {
82853 fprintf(stderr, "Assert failed");
82854 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30951);
82855 nit_exit(1);
82856 }
82857 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
82858 /* ./parser//parser.nit:30953 */
82859 if (UNTAG_Bool(REGB0)) {
82860 } else {
82861 fprintf(stderr, "Assert failed");
82862 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30953);
82863 nit_exit(1);
82864 }
82865 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
82866 /* ./parser//parser.nit:30955 */
82867 if (UNTAG_Bool(REGB0)) {
82868 } else {
82869 fprintf(stderr, "Assert failed");
82870 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30955);
82871 nit_exit(1);
82872 }
82873 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
82874 /* ./parser//parser.nit:30957 */
82875 if (UNTAG_Bool(REGB0)) {
82876 } else {
82877 fprintf(stderr, "Assert failed");
82878 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30957);
82879 nit_exit(1);
82880 }
82881 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
82882 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
82883 /* ./parser//parser.nit:30962 */
82884 if (UNTAG_Bool(REGB0)) {
82885 } else {
82886 fprintf(stderr, "Assert failed");
82887 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30962);
82888 nit_exit(1);
82889 }
82890 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
82891 /* ./parser//parser.nit:30964 */
82892 if (UNTAG_Bool(REGB0)) {
82893 } else {
82894 fprintf(stderr, "Assert failed");
82895 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30964);
82896 nit_exit(1);
82897 }
82898 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
82899 fra.me.REG[0] = fra.me.REG[2];
82900 REGB0 = TAG_Int(76);
82901 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
82902 /* ./parser//parser.nit:30975 */
82903 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
82904 stack_frame_head = fra.me.prev;
82905 return;
82906 }
82907 void parser___ReduceAction774___init(val_t p0, int* init_table){
82908 int itpos778 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction774].i;
82909 struct {struct stack_frame_t me;} fra;
82910 val_t tmp;
82911 if (init_table[itpos778]) return;
82912 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
82913 fra.me.file = LOCATE_parser;
82914 fra.me.line = 30977;
82915 fra.me.meth = LOCATE_parser___ReduceAction774___init;
82916 fra.me.has_broke = 0;
82917 fra.me.REG_size = 1;
82918 fra.me.REG[0] = NIT_NULL;
82919 fra.me.REG[0] = p0;
82920 /* ./parser//parser.nit:30977 */
82921 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
82922 stack_frame_head = fra.me.prev;
82923 init_table[itpos778] = 1;
82924 return;
82925 }
82926 void parser___ReduceAction775___action(val_t p0, val_t p1){
82927 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
82928 val_t REGB0;
82929 val_t tmp;
82930 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
82931 fra.me.file = LOCATE_parser;
82932 fra.me.line = 30981;
82933 fra.me.meth = LOCATE_parser___ReduceAction775___action;
82934 fra.me.has_broke = 0;
82935 fra.me.REG_size = 9;
82936 fra.me.REG[0] = NIT_NULL;
82937 fra.me.REG[1] = NIT_NULL;
82938 fra.me.REG[2] = NIT_NULL;
82939 fra.me.REG[3] = NIT_NULL;
82940 fra.me.REG[4] = NIT_NULL;
82941 fra.me.REG[5] = NIT_NULL;
82942 fra.me.REG[6] = NIT_NULL;
82943 fra.me.REG[7] = NIT_NULL;
82944 fra.me.REG[8] = NIT_NULL;
82945 fra.me.REG[0] = p0;
82946 fra.me.REG[1] = p1;
82947 fra.me.REG[0] = NIT_NULL;
82948 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82949 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82950 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82951 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82952 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82953 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82954 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82955 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82956 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
82957 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
82958 /* ./parser//parser.nit:30994 */
82959 if (UNTAG_Bool(REGB0)) {
82960 } else {
82961 fprintf(stderr, "Assert failed");
82962 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30994);
82963 nit_exit(1);
82964 }
82965 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
82966 /* ./parser//parser.nit:30996 */
82967 if (UNTAG_Bool(REGB0)) {
82968 } else {
82969 fprintf(stderr, "Assert failed");
82970 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30996);
82971 nit_exit(1);
82972 }
82973 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
82974 /* ./parser//parser.nit:30998 */
82975 if (UNTAG_Bool(REGB0)) {
82976 } else {
82977 fprintf(stderr, "Assert failed");
82978 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30998);
82979 nit_exit(1);
82980 }
82981 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
82982 /* ./parser//parser.nit:31000 */
82983 if (UNTAG_Bool(REGB0)) {
82984 } else {
82985 fprintf(stderr, "Assert failed");
82986 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31000);
82987 nit_exit(1);
82988 }
82989 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
82990 /* ./parser//parser.nit:31002 */
82991 if (UNTAG_Bool(REGB0)) {
82992 } else {
82993 fprintf(stderr, "Assert failed");
82994 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31002);
82995 nit_exit(1);
82996 }
82997 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
82998 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
82999 /* ./parser//parser.nit:31007 */
83000 if (UNTAG_Bool(REGB0)) {
83001 } else {
83002 fprintf(stderr, "Assert failed");
83003 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31007);
83004 nit_exit(1);
83005 }
83006 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
83007 /* ./parser//parser.nit:31009 */
83008 if (UNTAG_Bool(REGB0)) {
83009 } else {
83010 fprintf(stderr, "Assert failed");
83011 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31009);
83012 nit_exit(1);
83013 }
83014 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
83015 fra.me.REG[0] = fra.me.REG[2];
83016 REGB0 = TAG_Int(76);
83017 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
83018 /* ./parser//parser.nit:31020 */
83019 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
83020 stack_frame_head = fra.me.prev;
83021 return;
83022 }
83023 void parser___ReduceAction775___init(val_t p0, int* init_table){
83024 int itpos779 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction775].i;
83025 struct {struct stack_frame_t me;} fra;
83026 val_t tmp;
83027 if (init_table[itpos779]) return;
83028 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
83029 fra.me.file = LOCATE_parser;
83030 fra.me.line = 31022;
83031 fra.me.meth = LOCATE_parser___ReduceAction775___init;
83032 fra.me.has_broke = 0;
83033 fra.me.REG_size = 1;
83034 fra.me.REG[0] = NIT_NULL;
83035 fra.me.REG[0] = p0;
83036 /* ./parser//parser.nit:31022 */
83037 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
83038 stack_frame_head = fra.me.prev;
83039 init_table[itpos779] = 1;
83040 return;
83041 }
83042 void parser___ReduceAction776___action(val_t p0, val_t p1){
83043 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
83044 val_t REGB0;
83045 val_t tmp;
83046 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
83047 fra.me.file = LOCATE_parser;
83048 fra.me.line = 31026;
83049 fra.me.meth = LOCATE_parser___ReduceAction776___action;
83050 fra.me.has_broke = 0;
83051 fra.me.REG_size = 9;
83052 fra.me.REG[0] = NIT_NULL;
83053 fra.me.REG[1] = NIT_NULL;
83054 fra.me.REG[2] = NIT_NULL;
83055 fra.me.REG[3] = NIT_NULL;
83056 fra.me.REG[4] = NIT_NULL;
83057 fra.me.REG[5] = NIT_NULL;
83058 fra.me.REG[6] = NIT_NULL;
83059 fra.me.REG[7] = NIT_NULL;
83060 fra.me.REG[8] = NIT_NULL;
83061 fra.me.REG[0] = p0;
83062 fra.me.REG[1] = p1;
83063 fra.me.REG[0] = NIT_NULL;
83064 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83065 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83066 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83067 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83068 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83069 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83070 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83071 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83072 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83073 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
83074 /* ./parser//parser.nit:31039 */
83075 if (UNTAG_Bool(REGB0)) {
83076 } else {
83077 fprintf(stderr, "Assert failed");
83078 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31039);
83079 nit_exit(1);
83080 }
83081 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
83082 /* ./parser//parser.nit:31041 */
83083 if (UNTAG_Bool(REGB0)) {
83084 } else {
83085 fprintf(stderr, "Assert failed");
83086 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31041);
83087 nit_exit(1);
83088 }
83089 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
83090 /* ./parser//parser.nit:31043 */
83091 if (UNTAG_Bool(REGB0)) {
83092 } else {
83093 fprintf(stderr, "Assert failed");
83094 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31043);
83095 nit_exit(1);
83096 }
83097 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
83098 /* ./parser//parser.nit:31045 */
83099 if (UNTAG_Bool(REGB0)) {
83100 } else {
83101 fprintf(stderr, "Assert failed");
83102 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31045);
83103 nit_exit(1);
83104 }
83105 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
83106 /* ./parser//parser.nit:31047 */
83107 if (UNTAG_Bool(REGB0)) {
83108 } else {
83109 fprintf(stderr, "Assert failed");
83110 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31047);
83111 nit_exit(1);
83112 }
83113 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
83114 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
83115 /* ./parser//parser.nit:31052 */
83116 if (UNTAG_Bool(REGB0)) {
83117 } else {
83118 fprintf(stderr, "Assert failed");
83119 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31052);
83120 nit_exit(1);
83121 }
83122 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
83123 /* ./parser//parser.nit:31054 */
83124 if (UNTAG_Bool(REGB0)) {
83125 } else {
83126 fprintf(stderr, "Assert failed");
83127 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31054);
83128 nit_exit(1);
83129 }
83130 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
83131 fra.me.REG[0] = fra.me.REG[2];
83132 REGB0 = TAG_Int(76);
83133 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
83134 /* ./parser//parser.nit:31065 */
83135 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
83136 stack_frame_head = fra.me.prev;
83137 return;
83138 }
83139 void parser___ReduceAction776___init(val_t p0, int* init_table){
83140 int itpos780 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction776].i;
83141 struct {struct stack_frame_t me;} fra;
83142 val_t tmp;
83143 if (init_table[itpos780]) return;
83144 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
83145 fra.me.file = LOCATE_parser;
83146 fra.me.line = 31067;
83147 fra.me.meth = LOCATE_parser___ReduceAction776___init;
83148 fra.me.has_broke = 0;
83149 fra.me.REG_size = 1;
83150 fra.me.REG[0] = NIT_NULL;
83151 fra.me.REG[0] = p0;
83152 /* ./parser//parser.nit:31067 */
83153 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
83154 stack_frame_head = fra.me.prev;
83155 init_table[itpos780] = 1;
83156 return;
83157 }
83158 void parser___ReduceAction777___action(val_t p0, val_t p1){
83159 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
83160 val_t REGB0;
83161 val_t tmp;
83162 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
83163 fra.me.file = LOCATE_parser;
83164 fra.me.line = 31071;
83165 fra.me.meth = LOCATE_parser___ReduceAction777___action;
83166 fra.me.has_broke = 0;
83167 fra.me.REG_size = 9;
83168 fra.me.REG[0] = NIT_NULL;
83169 fra.me.REG[1] = NIT_NULL;
83170 fra.me.REG[2] = NIT_NULL;
83171 fra.me.REG[3] = NIT_NULL;
83172 fra.me.REG[4] = NIT_NULL;
83173 fra.me.REG[5] = NIT_NULL;
83174 fra.me.REG[6] = NIT_NULL;
83175 fra.me.REG[7] = NIT_NULL;
83176 fra.me.REG[8] = NIT_NULL;
83177 fra.me.REG[0] = p0;
83178 fra.me.REG[1] = p1;
83179 fra.me.REG[0] = NIT_NULL;
83180 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83181 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83182 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83183 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83184 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83185 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83186 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83187 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83188 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83189 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
83190 /* ./parser//parser.nit:31084 */
83191 if (UNTAG_Bool(REGB0)) {
83192 } else {
83193 fprintf(stderr, "Assert failed");
83194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31084);
83195 nit_exit(1);
83196 }
83197 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
83198 /* ./parser//parser.nit:31086 */
83199 if (UNTAG_Bool(REGB0)) {
83200 } else {
83201 fprintf(stderr, "Assert failed");
83202 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31086);
83203 nit_exit(1);
83204 }
83205 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
83206 /* ./parser//parser.nit:31088 */
83207 if (UNTAG_Bool(REGB0)) {
83208 } else {
83209 fprintf(stderr, "Assert failed");
83210 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31088);
83211 nit_exit(1);
83212 }
83213 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
83214 /* ./parser//parser.nit:31090 */
83215 if (UNTAG_Bool(REGB0)) {
83216 } else {
83217 fprintf(stderr, "Assert failed");
83218 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31090);
83219 nit_exit(1);
83220 }
83221 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
83222 /* ./parser//parser.nit:31092 */
83223 if (UNTAG_Bool(REGB0)) {
83224 } else {
83225 fprintf(stderr, "Assert failed");
83226 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31092);
83227 nit_exit(1);
83228 }
83229 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
83230 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
83231 /* ./parser//parser.nit:31097 */
83232 if (UNTAG_Bool(REGB0)) {
83233 } else {
83234 fprintf(stderr, "Assert failed");
83235 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31097);
83236 nit_exit(1);
83237 }
83238 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
83239 /* ./parser//parser.nit:31099 */
83240 if (UNTAG_Bool(REGB0)) {
83241 } else {
83242 fprintf(stderr, "Assert failed");
83243 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31099);
83244 nit_exit(1);
83245 }
83246 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
83247 fra.me.REG[0] = fra.me.REG[2];
83248 REGB0 = TAG_Int(76);
83249 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
83250 /* ./parser//parser.nit:31110 */
83251 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
83252 stack_frame_head = fra.me.prev;
83253 return;
83254 }
83255 void parser___ReduceAction777___init(val_t p0, int* init_table){
83256 int itpos781 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction777].i;
83257 struct {struct stack_frame_t me;} fra;
83258 val_t tmp;
83259 if (init_table[itpos781]) return;
83260 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
83261 fra.me.file = LOCATE_parser;
83262 fra.me.line = 31112;
83263 fra.me.meth = LOCATE_parser___ReduceAction777___init;
83264 fra.me.has_broke = 0;
83265 fra.me.REG_size = 1;
83266 fra.me.REG[0] = NIT_NULL;
83267 fra.me.REG[0] = p0;
83268 /* ./parser//parser.nit:31112 */
83269 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
83270 stack_frame_head = fra.me.prev;
83271 init_table[itpos781] = 1;
83272 return;
83273 }
83274 void parser___ReduceAction778___action(val_t p0, val_t p1){
83275 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
83276 val_t REGB0;
83277 val_t tmp;
83278 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
83279 fra.me.file = LOCATE_parser;
83280 fra.me.line = 31116;
83281 fra.me.meth = LOCATE_parser___ReduceAction778___action;
83282 fra.me.has_broke = 0;
83283 fra.me.REG_size = 9;
83284 fra.me.REG[0] = NIT_NULL;
83285 fra.me.REG[1] = NIT_NULL;
83286 fra.me.REG[2] = NIT_NULL;
83287 fra.me.REG[3] = NIT_NULL;
83288 fra.me.REG[4] = NIT_NULL;
83289 fra.me.REG[5] = NIT_NULL;
83290 fra.me.REG[6] = NIT_NULL;
83291 fra.me.REG[7] = NIT_NULL;
83292 fra.me.REG[8] = NIT_NULL;
83293 fra.me.REG[0] = p0;
83294 fra.me.REG[1] = p1;
83295 fra.me.REG[0] = NIT_NULL;
83296 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83297 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83298 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83299 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83300 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83301 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83302 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83303 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83304 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83305 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
83306 /* ./parser//parser.nit:31129 */
83307 if (UNTAG_Bool(REGB0)) {
83308 } else {
83309 fprintf(stderr, "Assert failed");
83310 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31129);
83311 nit_exit(1);
83312 }
83313 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
83314 /* ./parser//parser.nit:31131 */
83315 if (UNTAG_Bool(REGB0)) {
83316 } else {
83317 fprintf(stderr, "Assert failed");
83318 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31131);
83319 nit_exit(1);
83320 }
83321 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
83322 /* ./parser//parser.nit:31133 */
83323 if (UNTAG_Bool(REGB0)) {
83324 } else {
83325 fprintf(stderr, "Assert failed");
83326 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31133);
83327 nit_exit(1);
83328 }
83329 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
83330 /* ./parser//parser.nit:31135 */
83331 if (UNTAG_Bool(REGB0)) {
83332 } else {
83333 fprintf(stderr, "Assert failed");
83334 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31135);
83335 nit_exit(1);
83336 }
83337 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
83338 /* ./parser//parser.nit:31137 */
83339 if (UNTAG_Bool(REGB0)) {
83340 } else {
83341 fprintf(stderr, "Assert failed");
83342 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31137);
83343 nit_exit(1);
83344 }
83345 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
83346 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
83347 /* ./parser//parser.nit:31142 */
83348 if (UNTAG_Bool(REGB0)) {
83349 } else {
83350 fprintf(stderr, "Assert failed");
83351 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31142);
83352 nit_exit(1);
83353 }
83354 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
83355 /* ./parser//parser.nit:31144 */
83356 if (UNTAG_Bool(REGB0)) {
83357 } else {
83358 fprintf(stderr, "Assert failed");
83359 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31144);
83360 nit_exit(1);
83361 }
83362 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
83363 fra.me.REG[0] = fra.me.REG[2];
83364 REGB0 = TAG_Int(76);
83365 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
83366 /* ./parser//parser.nit:31155 */
83367 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
83368 stack_frame_head = fra.me.prev;
83369 return;
83370 }
83371 void parser___ReduceAction778___init(val_t p0, int* init_table){
83372 int itpos782 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction778].i;
83373 struct {struct stack_frame_t me;} fra;
83374 val_t tmp;
83375 if (init_table[itpos782]) return;
83376 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
83377 fra.me.file = LOCATE_parser;
83378 fra.me.line = 31157;
83379 fra.me.meth = LOCATE_parser___ReduceAction778___init;
83380 fra.me.has_broke = 0;
83381 fra.me.REG_size = 1;
83382 fra.me.REG[0] = NIT_NULL;
83383 fra.me.REG[0] = p0;
83384 /* ./parser//parser.nit:31157 */
83385 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
83386 stack_frame_head = fra.me.prev;
83387 init_table[itpos782] = 1;
83388 return;
83389 }
83390 void parser___ReduceAction779___action(val_t p0, val_t p1){
83391 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
83392 val_t REGB0;
83393 val_t tmp;
83394 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
83395 fra.me.file = LOCATE_parser;
83396 fra.me.line = 31161;
83397 fra.me.meth = LOCATE_parser___ReduceAction779___action;
83398 fra.me.has_broke = 0;
83399 fra.me.REG_size = 9;
83400 fra.me.REG[0] = NIT_NULL;
83401 fra.me.REG[1] = NIT_NULL;
83402 fra.me.REG[2] = NIT_NULL;
83403 fra.me.REG[3] = NIT_NULL;
83404 fra.me.REG[4] = NIT_NULL;
83405 fra.me.REG[5] = NIT_NULL;
83406 fra.me.REG[6] = NIT_NULL;
83407 fra.me.REG[7] = NIT_NULL;
83408 fra.me.REG[8] = NIT_NULL;
83409 fra.me.REG[0] = p0;
83410 fra.me.REG[1] = p1;
83411 fra.me.REG[0] = NIT_NULL;
83412 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83413 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83414 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83415 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83416 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83417 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83418 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83419 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83420 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83421 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
83422 /* ./parser//parser.nit:31174 */
83423 if (UNTAG_Bool(REGB0)) {
83424 } else {
83425 fprintf(stderr, "Assert failed");
83426 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31174);
83427 nit_exit(1);
83428 }
83429 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
83430 /* ./parser//parser.nit:31176 */
83431 if (UNTAG_Bool(REGB0)) {
83432 } else {
83433 fprintf(stderr, "Assert failed");
83434 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31176);
83435 nit_exit(1);
83436 }
83437 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
83438 /* ./parser//parser.nit:31178 */
83439 if (UNTAG_Bool(REGB0)) {
83440 } else {
83441 fprintf(stderr, "Assert failed");
83442 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31178);
83443 nit_exit(1);
83444 }
83445 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
83446 /* ./parser//parser.nit:31180 */
83447 if (UNTAG_Bool(REGB0)) {
83448 } else {
83449 fprintf(stderr, "Assert failed");
83450 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31180);
83451 nit_exit(1);
83452 }
83453 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
83454 /* ./parser//parser.nit:31182 */
83455 if (UNTAG_Bool(REGB0)) {
83456 } else {
83457 fprintf(stderr, "Assert failed");
83458 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31182);
83459 nit_exit(1);
83460 }
83461 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
83462 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
83463 /* ./parser//parser.nit:31187 */
83464 if (UNTAG_Bool(REGB0)) {
83465 } else {
83466 fprintf(stderr, "Assert failed");
83467 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31187);
83468 nit_exit(1);
83469 }
83470 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
83471 /* ./parser//parser.nit:31189 */
83472 if (UNTAG_Bool(REGB0)) {
83473 } else {
83474 fprintf(stderr, "Assert failed");
83475 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31189);
83476 nit_exit(1);
83477 }
83478 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
83479 fra.me.REG[0] = fra.me.REG[2];
83480 REGB0 = TAG_Int(76);
83481 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
83482 /* ./parser//parser.nit:31200 */
83483 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
83484 stack_frame_head = fra.me.prev;
83485 return;
83486 }
83487 void parser___ReduceAction779___init(val_t p0, int* init_table){
83488 int itpos783 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction779].i;
83489 struct {struct stack_frame_t me;} fra;
83490 val_t tmp;
83491 if (init_table[itpos783]) return;
83492 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
83493 fra.me.file = LOCATE_parser;
83494 fra.me.line = 31202;
83495 fra.me.meth = LOCATE_parser___ReduceAction779___init;
83496 fra.me.has_broke = 0;
83497 fra.me.REG_size = 1;
83498 fra.me.REG[0] = NIT_NULL;
83499 fra.me.REG[0] = p0;
83500 /* ./parser//parser.nit:31202 */
83501 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
83502 stack_frame_head = fra.me.prev;
83503 init_table[itpos783] = 1;
83504 return;
83505 }
83506 void parser___ReduceAction780___action(val_t p0, val_t p1){
83507 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
83508 val_t REGB0;
83509 val_t tmp;
83510 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
83511 fra.me.file = LOCATE_parser;
83512 fra.me.line = 31206;
83513 fra.me.meth = LOCATE_parser___ReduceAction780___action;
83514 fra.me.has_broke = 0;
83515 fra.me.REG_size = 10;
83516 fra.me.REG[0] = NIT_NULL;
83517 fra.me.REG[1] = NIT_NULL;
83518 fra.me.REG[2] = NIT_NULL;
83519 fra.me.REG[3] = NIT_NULL;
83520 fra.me.REG[4] = NIT_NULL;
83521 fra.me.REG[5] = NIT_NULL;
83522 fra.me.REG[6] = NIT_NULL;
83523 fra.me.REG[7] = NIT_NULL;
83524 fra.me.REG[8] = NIT_NULL;
83525 fra.me.REG[9] = NIT_NULL;
83526 fra.me.REG[0] = p0;
83527 fra.me.REG[1] = p1;
83528 fra.me.REG[0] = NIT_NULL;
83529 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83530 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83531 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83532 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83533 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83534 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83535 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83536 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83537 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83538 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83539 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
83540 /* ./parser//parser.nit:31220 */
83541 if (UNTAG_Bool(REGB0)) {
83542 } else {
83543 fprintf(stderr, "Assert failed");
83544 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31220);
83545 nit_exit(1);
83546 }
83547 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
83548 /* ./parser//parser.nit:31222 */
83549 if (UNTAG_Bool(REGB0)) {
83550 } else {
83551 fprintf(stderr, "Assert failed");
83552 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31222);
83553 nit_exit(1);
83554 }
83555 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
83556 /* ./parser//parser.nit:31224 */
83557 if (UNTAG_Bool(REGB0)) {
83558 } else {
83559 fprintf(stderr, "Assert failed");
83560 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31224);
83561 nit_exit(1);
83562 }
83563 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
83564 /* ./parser//parser.nit:31226 */
83565 if (UNTAG_Bool(REGB0)) {
83566 } else {
83567 fprintf(stderr, "Assert failed");
83568 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31226);
83569 nit_exit(1);
83570 }
83571 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
83572 /* ./parser//parser.nit:31228 */
83573 if (UNTAG_Bool(REGB0)) {
83574 } else {
83575 fprintf(stderr, "Assert failed");
83576 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31228);
83577 nit_exit(1);
83578 }
83579 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
83580 /* ./parser//parser.nit:31230 */
83581 if (UNTAG_Bool(REGB0)) {
83582 } else {
83583 fprintf(stderr, "Assert failed");
83584 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31230);
83585 nit_exit(1);
83586 }
83587 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
83588 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
83589 /* ./parser//parser.nit:31236 */
83590 if (UNTAG_Bool(REGB0)) {
83591 } else {
83592 fprintf(stderr, "Assert failed");
83593 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31236);
83594 nit_exit(1);
83595 }
83596 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
83597 /* ./parser//parser.nit:31238 */
83598 if (UNTAG_Bool(REGB0)) {
83599 } else {
83600 fprintf(stderr, "Assert failed");
83601 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31238);
83602 nit_exit(1);
83603 }
83604 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
83605 fra.me.REG[0] = fra.me.REG[2];
83606 REGB0 = TAG_Int(76);
83607 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
83608 /* ./parser//parser.nit:31249 */
83609 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
83610 stack_frame_head = fra.me.prev;
83611 return;
83612 }
83613 void parser___ReduceAction780___init(val_t p0, int* init_table){
83614 int itpos784 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction780].i;
83615 struct {struct stack_frame_t me;} fra;
83616 val_t tmp;
83617 if (init_table[itpos784]) return;
83618 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
83619 fra.me.file = LOCATE_parser;
83620 fra.me.line = 31251;
83621 fra.me.meth = LOCATE_parser___ReduceAction780___init;
83622 fra.me.has_broke = 0;
83623 fra.me.REG_size = 1;
83624 fra.me.REG[0] = NIT_NULL;
83625 fra.me.REG[0] = p0;
83626 /* ./parser//parser.nit:31251 */
83627 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
83628 stack_frame_head = fra.me.prev;
83629 init_table[itpos784] = 1;
83630 return;
83631 }
83632 void parser___ReduceAction781___action(val_t p0, val_t p1){
83633 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
83634 val_t REGB0;
83635 val_t tmp;
83636 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
83637 fra.me.file = LOCATE_parser;
83638 fra.me.line = 31255;
83639 fra.me.meth = LOCATE_parser___ReduceAction781___action;
83640 fra.me.has_broke = 0;
83641 fra.me.REG_size = 9;
83642 fra.me.REG[0] = NIT_NULL;
83643 fra.me.REG[1] = NIT_NULL;
83644 fra.me.REG[2] = NIT_NULL;
83645 fra.me.REG[3] = NIT_NULL;
83646 fra.me.REG[4] = NIT_NULL;
83647 fra.me.REG[5] = NIT_NULL;
83648 fra.me.REG[6] = NIT_NULL;
83649 fra.me.REG[7] = NIT_NULL;
83650 fra.me.REG[8] = NIT_NULL;
83651 fra.me.REG[0] = p0;
83652 fra.me.REG[1] = p1;
83653 fra.me.REG[0] = NIT_NULL;
83654 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83655 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83656 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83657 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83658 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83659 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83660 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83661 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83662 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83663 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
83664 /* ./parser//parser.nit:31268 */
83665 if (UNTAG_Bool(REGB0)) {
83666 } else {
83667 fprintf(stderr, "Assert failed");
83668 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31268);
83669 nit_exit(1);
83670 }
83671 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
83672 /* ./parser//parser.nit:31270 */
83673 if (UNTAG_Bool(REGB0)) {
83674 } else {
83675 fprintf(stderr, "Assert failed");
83676 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31270);
83677 nit_exit(1);
83678 }
83679 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
83680 /* ./parser//parser.nit:31272 */
83681 if (UNTAG_Bool(REGB0)) {
83682 } else {
83683 fprintf(stderr, "Assert failed");
83684 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31272);
83685 nit_exit(1);
83686 }
83687 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
83688 /* ./parser//parser.nit:31274 */
83689 if (UNTAG_Bool(REGB0)) {
83690 } else {
83691 fprintf(stderr, "Assert failed");
83692 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31274);
83693 nit_exit(1);
83694 }
83695 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
83696 /* ./parser//parser.nit:31276 */
83697 if (UNTAG_Bool(REGB0)) {
83698 } else {
83699 fprintf(stderr, "Assert failed");
83700 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31276);
83701 nit_exit(1);
83702 }
83703 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
83704 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
83705 /* ./parser//parser.nit:31281 */
83706 if (UNTAG_Bool(REGB0)) {
83707 } else {
83708 fprintf(stderr, "Assert failed");
83709 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31281);
83710 nit_exit(1);
83711 }
83712 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
83713 /* ./parser//parser.nit:31283 */
83714 if (UNTAG_Bool(REGB0)) {
83715 } else {
83716 fprintf(stderr, "Assert failed");
83717 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31283);
83718 nit_exit(1);
83719 }
83720 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
83721 fra.me.REG[0] = fra.me.REG[2];
83722 REGB0 = TAG_Int(76);
83723 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
83724 /* ./parser//parser.nit:31294 */
83725 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
83726 stack_frame_head = fra.me.prev;
83727 return;
83728 }
83729 void parser___ReduceAction781___init(val_t p0, int* init_table){
83730 int itpos785 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction781].i;
83731 struct {struct stack_frame_t me;} fra;
83732 val_t tmp;
83733 if (init_table[itpos785]) return;
83734 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
83735 fra.me.file = LOCATE_parser;
83736 fra.me.line = 31296;
83737 fra.me.meth = LOCATE_parser___ReduceAction781___init;
83738 fra.me.has_broke = 0;
83739 fra.me.REG_size = 1;
83740 fra.me.REG[0] = NIT_NULL;
83741 fra.me.REG[0] = p0;
83742 /* ./parser//parser.nit:31296 */
83743 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
83744 stack_frame_head = fra.me.prev;
83745 init_table[itpos785] = 1;
83746 return;
83747 }
83748 void parser___ReduceAction782___action(val_t p0, val_t p1){
83749 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
83750 val_t REGB0;
83751 val_t tmp;
83752 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
83753 fra.me.file = LOCATE_parser;
83754 fra.me.line = 31300;
83755 fra.me.meth = LOCATE_parser___ReduceAction782___action;
83756 fra.me.has_broke = 0;
83757 fra.me.REG_size = 10;
83758 fra.me.REG[0] = NIT_NULL;
83759 fra.me.REG[1] = NIT_NULL;
83760 fra.me.REG[2] = NIT_NULL;
83761 fra.me.REG[3] = NIT_NULL;
83762 fra.me.REG[4] = NIT_NULL;
83763 fra.me.REG[5] = NIT_NULL;
83764 fra.me.REG[6] = NIT_NULL;
83765 fra.me.REG[7] = NIT_NULL;
83766 fra.me.REG[8] = NIT_NULL;
83767 fra.me.REG[9] = NIT_NULL;
83768 fra.me.REG[0] = p0;
83769 fra.me.REG[1] = p1;
83770 fra.me.REG[0] = NIT_NULL;
83771 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83772 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83773 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83774 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83775 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83776 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83777 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83778 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83779 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83780 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83781 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
83782 /* ./parser//parser.nit:31314 */
83783 if (UNTAG_Bool(REGB0)) {
83784 } else {
83785 fprintf(stderr, "Assert failed");
83786 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31314);
83787 nit_exit(1);
83788 }
83789 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
83790 /* ./parser//parser.nit:31316 */
83791 if (UNTAG_Bool(REGB0)) {
83792 } else {
83793 fprintf(stderr, "Assert failed");
83794 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31316);
83795 nit_exit(1);
83796 }
83797 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
83798 /* ./parser//parser.nit:31318 */
83799 if (UNTAG_Bool(REGB0)) {
83800 } else {
83801 fprintf(stderr, "Assert failed");
83802 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31318);
83803 nit_exit(1);
83804 }
83805 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
83806 /* ./parser//parser.nit:31320 */
83807 if (UNTAG_Bool(REGB0)) {
83808 } else {
83809 fprintf(stderr, "Assert failed");
83810 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31320);
83811 nit_exit(1);
83812 }
83813 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
83814 /* ./parser//parser.nit:31322 */
83815 if (UNTAG_Bool(REGB0)) {
83816 } else {
83817 fprintf(stderr, "Assert failed");
83818 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31322);
83819 nit_exit(1);
83820 }
83821 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
83822 /* ./parser//parser.nit:31324 */
83823 if (UNTAG_Bool(REGB0)) {
83824 } else {
83825 fprintf(stderr, "Assert failed");
83826 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31324);
83827 nit_exit(1);
83828 }
83829 fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
83830 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
83831 /* ./parser//parser.nit:31330 */
83832 if (UNTAG_Bool(REGB0)) {
83833 } else {
83834 fprintf(stderr, "Assert failed");
83835 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31330);
83836 nit_exit(1);
83837 }
83838 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
83839 /* ./parser//parser.nit:31332 */
83840 if (UNTAG_Bool(REGB0)) {
83841 } else {
83842 fprintf(stderr, "Assert failed");
83843 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31332);
83844 nit_exit(1);
83845 }
83846 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
83847 fra.me.REG[0] = fra.me.REG[2];
83848 REGB0 = TAG_Int(76);
83849 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
83850 /* ./parser//parser.nit:31343 */
83851 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
83852 stack_frame_head = fra.me.prev;
83853 return;
83854 }
83855 void parser___ReduceAction782___init(val_t p0, int* init_table){
83856 int itpos786 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction782].i;
83857 struct {struct stack_frame_t me;} fra;
83858 val_t tmp;
83859 if (init_table[itpos786]) return;
83860 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
83861 fra.me.file = LOCATE_parser;
83862 fra.me.line = 31345;
83863 fra.me.meth = LOCATE_parser___ReduceAction782___init;
83864 fra.me.has_broke = 0;
83865 fra.me.REG_size = 1;
83866 fra.me.REG[0] = NIT_NULL;
83867 fra.me.REG[0] = p0;
83868 /* ./parser//parser.nit:31345 */
83869 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
83870 stack_frame_head = fra.me.prev;
83871 init_table[itpos786] = 1;
83872 return;
83873 }
83874 void parser___ReduceAction783___action(val_t p0, val_t p1){
83875 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
83876 val_t REGB0;
83877 val_t tmp;
83878 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
83879 fra.me.file = LOCATE_parser;
83880 fra.me.line = 31349;
83881 fra.me.meth = LOCATE_parser___ReduceAction783___action;
83882 fra.me.has_broke = 0;
83883 fra.me.REG_size = 11;
83884 fra.me.REG[0] = NIT_NULL;
83885 fra.me.REG[1] = NIT_NULL;
83886 fra.me.REG[2] = NIT_NULL;
83887 fra.me.REG[3] = NIT_NULL;
83888 fra.me.REG[4] = NIT_NULL;
83889 fra.me.REG[5] = NIT_NULL;
83890 fra.me.REG[6] = NIT_NULL;
83891 fra.me.REG[7] = NIT_NULL;
83892 fra.me.REG[8] = NIT_NULL;
83893 fra.me.REG[9] = NIT_NULL;
83894 fra.me.REG[10] = NIT_NULL;
83895 fra.me.REG[0] = p0;
83896 fra.me.REG[1] = p1;
83897 fra.me.REG[0] = NIT_NULL;
83898 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83899 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83900 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83901 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83902 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83903 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83904 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83905 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83906 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83907 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83908 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
83909 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
83910 /* ./parser//parser.nit:31364 */
83911 if (UNTAG_Bool(REGB0)) {
83912 } else {
83913 fprintf(stderr, "Assert failed");
83914 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31364);
83915 nit_exit(1);
83916 }
83917 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
83918 /* ./parser//parser.nit:31366 */
83919 if (UNTAG_Bool(REGB0)) {
83920 } else {
83921 fprintf(stderr, "Assert failed");
83922 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31366);
83923 nit_exit(1);
83924 }
83925 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
83926 /* ./parser//parser.nit:31368 */
83927 if (UNTAG_Bool(REGB0)) {
83928 } else {
83929 fprintf(stderr, "Assert failed");
83930 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31368);
83931 nit_exit(1);
83932 }
83933 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
83934 /* ./parser//parser.nit:31370 */
83935 if (UNTAG_Bool(REGB0)) {
83936 } else {
83937 fprintf(stderr, "Assert failed");
83938 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31370);
83939 nit_exit(1);
83940 }
83941 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
83942 /* ./parser//parser.nit:31372 */
83943 if (UNTAG_Bool(REGB0)) {
83944 } else {
83945 fprintf(stderr, "Assert failed");
83946 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31372);
83947 nit_exit(1);
83948 }
83949 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
83950 /* ./parser//parser.nit:31374 */
83951 if (UNTAG_Bool(REGB0)) {
83952 } else {
83953 fprintf(stderr, "Assert failed");
83954 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31374);
83955 nit_exit(1);
83956 }
83957 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
83958 /* ./parser//parser.nit:31376 */
83959 if (UNTAG_Bool(REGB0)) {
83960 } else {
83961 fprintf(stderr, "Assert failed");
83962 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31376);
83963 nit_exit(1);
83964 }
83965 fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
83966 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
83967 /* ./parser//parser.nit:31383 */
83968 if (UNTAG_Bool(REGB0)) {
83969 } else {
83970 fprintf(stderr, "Assert failed");
83971 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31383);
83972 nit_exit(1);
83973 }
83974 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
83975 /* ./parser//parser.nit:31385 */
83976 if (UNTAG_Bool(REGB0)) {
83977 } else {
83978 fprintf(stderr, "Assert failed");
83979 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31385);
83980 nit_exit(1);
83981 }
83982 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
83983 fra.me.REG[0] = fra.me.REG[2];
83984 REGB0 = TAG_Int(76);
83985 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
83986 /* ./parser//parser.nit:31396 */
83987 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
83988 stack_frame_head = fra.me.prev;
83989 return;
83990 }
83991 void parser___ReduceAction783___init(val_t p0, int* init_table){
83992 int itpos787 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction783].i;
83993 struct {struct stack_frame_t me;} fra;
83994 val_t tmp;
83995 if (init_table[itpos787]) return;
83996 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
83997 fra.me.file = LOCATE_parser;
83998 fra.me.line = 31398;
83999 fra.me.meth = LOCATE_parser___ReduceAction783___init;
84000 fra.me.has_broke = 0;
84001 fra.me.REG_size = 1;
84002 fra.me.REG[0] = NIT_NULL;
84003 fra.me.REG[0] = p0;
84004 /* ./parser//parser.nit:31398 */
84005 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
84006 stack_frame_head = fra.me.prev;
84007 init_table[itpos787] = 1;
84008 return;
84009 }
84010 void parser___ReduceAction784___action(val_t p0, val_t p1){
84011 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
84012 val_t REGB0;
84013 val_t tmp;
84014 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84015 fra.me.file = LOCATE_parser;
84016 fra.me.line = 31402;
84017 fra.me.meth = LOCATE_parser___ReduceAction784___action;
84018 fra.me.has_broke = 0;
84019 fra.me.REG_size = 8;
84020 fra.me.REG[0] = NIT_NULL;
84021 fra.me.REG[1] = NIT_NULL;
84022 fra.me.REG[2] = NIT_NULL;
84023 fra.me.REG[3] = NIT_NULL;
84024 fra.me.REG[4] = NIT_NULL;
84025 fra.me.REG[5] = NIT_NULL;
84026 fra.me.REG[6] = NIT_NULL;
84027 fra.me.REG[7] = NIT_NULL;
84028 fra.me.REG[0] = p0;
84029 fra.me.REG[1] = p1;
84030 fra.me.REG[0] = NIT_NULL;
84031 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84032 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84033 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84034 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84035 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84036 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84037 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84038 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84039 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
84040 /* ./parser//parser.nit:31414 */
84041 if (UNTAG_Bool(REGB0)) {
84042 } else {
84043 fprintf(stderr, "Assert failed");
84044 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31414);
84045 nit_exit(1);
84046 }
84047 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
84048 /* ./parser//parser.nit:31416 */
84049 if (UNTAG_Bool(REGB0)) {
84050 } else {
84051 fprintf(stderr, "Assert failed");
84052 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31416);
84053 nit_exit(1);
84054 }
84055 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
84056 /* ./parser//parser.nit:31418 */
84057 if (UNTAG_Bool(REGB0)) {
84058 } else {
84059 fprintf(stderr, "Assert failed");
84060 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31418);
84061 nit_exit(1);
84062 }
84063 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
84064 /* ./parser//parser.nit:31420 */
84065 if (UNTAG_Bool(REGB0)) {
84066 } else {
84067 fprintf(stderr, "Assert failed");
84068 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31420);
84069 nit_exit(1);
84070 }
84071 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
84072 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
84073 /* ./parser//parser.nit:31425 */
84074 if (UNTAG_Bool(REGB0)) {
84075 } else {
84076 fprintf(stderr, "Assert failed");
84077 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31425);
84078 nit_exit(1);
84079 }
84080 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
84081 /* ./parser//parser.nit:31427 */
84082 if (UNTAG_Bool(REGB0)) {
84083 } else {
84084 fprintf(stderr, "Assert failed");
84085 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31427);
84086 nit_exit(1);
84087 }
84088 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
84089 fra.me.REG[0] = fra.me.REG[2];
84090 REGB0 = TAG_Int(76);
84091 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
84092 /* ./parser//parser.nit:31438 */
84093 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
84094 stack_frame_head = fra.me.prev;
84095 return;
84096 }
84097 void parser___ReduceAction784___init(val_t p0, int* init_table){
84098 int itpos788 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction784].i;
84099 struct {struct stack_frame_t me;} fra;
84100 val_t tmp;
84101 if (init_table[itpos788]) return;
84102 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84103 fra.me.file = LOCATE_parser;
84104 fra.me.line = 31440;
84105 fra.me.meth = LOCATE_parser___ReduceAction784___init;
84106 fra.me.has_broke = 0;
84107 fra.me.REG_size = 1;
84108 fra.me.REG[0] = NIT_NULL;
84109 fra.me.REG[0] = p0;
84110 /* ./parser//parser.nit:31440 */
84111 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
84112 stack_frame_head = fra.me.prev;
84113 init_table[itpos788] = 1;
84114 return;
84115 }
84116 void parser___ReduceAction785___action(val_t p0, val_t p1){
84117 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
84118 val_t REGB0;
84119 val_t tmp;
84120 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84121 fra.me.file = LOCATE_parser;
84122 fra.me.line = 31444;
84123 fra.me.meth = LOCATE_parser___ReduceAction785___action;
84124 fra.me.has_broke = 0;
84125 fra.me.REG_size = 8;
84126 fra.me.REG[0] = NIT_NULL;
84127 fra.me.REG[1] = NIT_NULL;
84128 fra.me.REG[2] = NIT_NULL;
84129 fra.me.REG[3] = NIT_NULL;
84130 fra.me.REG[4] = NIT_NULL;
84131 fra.me.REG[5] = NIT_NULL;
84132 fra.me.REG[6] = NIT_NULL;
84133 fra.me.REG[7] = NIT_NULL;
84134 fra.me.REG[0] = p0;
84135 fra.me.REG[1] = p1;
84136 fra.me.REG[0] = NIT_NULL;
84137 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84138 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84139 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84140 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84141 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84142 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84143 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84144 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84145 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
84146 /* ./parser//parser.nit:31456 */
84147 if (UNTAG_Bool(REGB0)) {
84148 } else {
84149 fprintf(stderr, "Assert failed");
84150 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31456);
84151 nit_exit(1);
84152 }
84153 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
84154 /* ./parser//parser.nit:31458 */
84155 if (UNTAG_Bool(REGB0)) {
84156 } else {
84157 fprintf(stderr, "Assert failed");
84158 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31458);
84159 nit_exit(1);
84160 }
84161 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
84162 /* ./parser//parser.nit:31460 */
84163 if (UNTAG_Bool(REGB0)) {
84164 } else {
84165 fprintf(stderr, "Assert failed");
84166 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31460);
84167 nit_exit(1);
84168 }
84169 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
84170 /* ./parser//parser.nit:31462 */
84171 if (UNTAG_Bool(REGB0)) {
84172 } else {
84173 fprintf(stderr, "Assert failed");
84174 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31462);
84175 nit_exit(1);
84176 }
84177 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
84178 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
84179 /* ./parser//parser.nit:31467 */
84180 if (UNTAG_Bool(REGB0)) {
84181 } else {
84182 fprintf(stderr, "Assert failed");
84183 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31467);
84184 nit_exit(1);
84185 }
84186 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
84187 /* ./parser//parser.nit:31469 */
84188 if (UNTAG_Bool(REGB0)) {
84189 } else {
84190 fprintf(stderr, "Assert failed");
84191 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31469);
84192 nit_exit(1);
84193 }
84194 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
84195 fra.me.REG[0] = fra.me.REG[2];
84196 REGB0 = TAG_Int(76);
84197 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
84198 /* ./parser//parser.nit:31480 */
84199 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
84200 stack_frame_head = fra.me.prev;
84201 return;
84202 }
84203 void parser___ReduceAction785___init(val_t p0, int* init_table){
84204 int itpos789 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction785].i;
84205 struct {struct stack_frame_t me;} fra;
84206 val_t tmp;
84207 if (init_table[itpos789]) return;
84208 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84209 fra.me.file = LOCATE_parser;
84210 fra.me.line = 31482;
84211 fra.me.meth = LOCATE_parser___ReduceAction785___init;
84212 fra.me.has_broke = 0;
84213 fra.me.REG_size = 1;
84214 fra.me.REG[0] = NIT_NULL;
84215 fra.me.REG[0] = p0;
84216 /* ./parser//parser.nit:31482 */
84217 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
84218 stack_frame_head = fra.me.prev;
84219 init_table[itpos789] = 1;
84220 return;
84221 }
84222 void parser___ReduceAction786___action(val_t p0, val_t p1){
84223 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
84224 val_t REGB0;
84225 val_t tmp;
84226 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84227 fra.me.file = LOCATE_parser;
84228 fra.me.line = 31486;
84229 fra.me.meth = LOCATE_parser___ReduceAction786___action;
84230 fra.me.has_broke = 0;
84231 fra.me.REG_size = 8;
84232 fra.me.REG[0] = NIT_NULL;
84233 fra.me.REG[1] = NIT_NULL;
84234 fra.me.REG[2] = NIT_NULL;
84235 fra.me.REG[3] = NIT_NULL;
84236 fra.me.REG[4] = NIT_NULL;
84237 fra.me.REG[5] = NIT_NULL;
84238 fra.me.REG[6] = NIT_NULL;
84239 fra.me.REG[7] = NIT_NULL;
84240 fra.me.REG[0] = p0;
84241 fra.me.REG[1] = p1;
84242 fra.me.REG[0] = NIT_NULL;
84243 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84244 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84245 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84246 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84247 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84248 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84249 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84250 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84251 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
84252 /* ./parser//parser.nit:31498 */
84253 if (UNTAG_Bool(REGB0)) {
84254 } else {
84255 fprintf(stderr, "Assert failed");
84256 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31498);
84257 nit_exit(1);
84258 }
84259 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
84260 /* ./parser//parser.nit:31500 */
84261 if (UNTAG_Bool(REGB0)) {
84262 } else {
84263 fprintf(stderr, "Assert failed");
84264 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31500);
84265 nit_exit(1);
84266 }
84267 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
84268 /* ./parser//parser.nit:31502 */
84269 if (UNTAG_Bool(REGB0)) {
84270 } else {
84271 fprintf(stderr, "Assert failed");
84272 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31502);
84273 nit_exit(1);
84274 }
84275 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
84276 /* ./parser//parser.nit:31504 */
84277 if (UNTAG_Bool(REGB0)) {
84278 } else {
84279 fprintf(stderr, "Assert failed");
84280 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31504);
84281 nit_exit(1);
84282 }
84283 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
84284 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
84285 /* ./parser//parser.nit:31509 */
84286 if (UNTAG_Bool(REGB0)) {
84287 } else {
84288 fprintf(stderr, "Assert failed");
84289 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31509);
84290 nit_exit(1);
84291 }
84292 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
84293 /* ./parser//parser.nit:31511 */
84294 if (UNTAG_Bool(REGB0)) {
84295 } else {
84296 fprintf(stderr, "Assert failed");
84297 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31511);
84298 nit_exit(1);
84299 }
84300 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
84301 fra.me.REG[0] = fra.me.REG[2];
84302 REGB0 = TAG_Int(76);
84303 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
84304 /* ./parser//parser.nit:31522 */
84305 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
84306 stack_frame_head = fra.me.prev;
84307 return;
84308 }
84309 void parser___ReduceAction786___init(val_t p0, int* init_table){
84310 int itpos790 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction786].i;
84311 struct {struct stack_frame_t me;} fra;
84312 val_t tmp;
84313 if (init_table[itpos790]) return;
84314 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84315 fra.me.file = LOCATE_parser;
84316 fra.me.line = 31524;
84317 fra.me.meth = LOCATE_parser___ReduceAction786___init;
84318 fra.me.has_broke = 0;
84319 fra.me.REG_size = 1;
84320 fra.me.REG[0] = NIT_NULL;
84321 fra.me.REG[0] = p0;
84322 /* ./parser//parser.nit:31524 */
84323 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
84324 stack_frame_head = fra.me.prev;
84325 init_table[itpos790] = 1;
84326 return;
84327 }
84328 void parser___ReduceAction787___action(val_t p0, val_t p1){
84329 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
84330 val_t REGB0;
84331 val_t tmp;
84332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84333 fra.me.file = LOCATE_parser;
84334 fra.me.line = 31528;
84335 fra.me.meth = LOCATE_parser___ReduceAction787___action;
84336 fra.me.has_broke = 0;
84337 fra.me.REG_size = 8;
84338 fra.me.REG[0] = NIT_NULL;
84339 fra.me.REG[1] = NIT_NULL;
84340 fra.me.REG[2] = NIT_NULL;
84341 fra.me.REG[3] = NIT_NULL;
84342 fra.me.REG[4] = NIT_NULL;
84343 fra.me.REG[5] = NIT_NULL;
84344 fra.me.REG[6] = NIT_NULL;
84345 fra.me.REG[7] = NIT_NULL;
84346 fra.me.REG[0] = p0;
84347 fra.me.REG[1] = p1;
84348 fra.me.REG[0] = NIT_NULL;
84349 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84350 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84351 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84352 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84353 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84354 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84355 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84356 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84357 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
84358 /* ./parser//parser.nit:31540 */
84359 if (UNTAG_Bool(REGB0)) {
84360 } else {
84361 fprintf(stderr, "Assert failed");
84362 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31540);
84363 nit_exit(1);
84364 }
84365 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
84366 /* ./parser//parser.nit:31542 */
84367 if (UNTAG_Bool(REGB0)) {
84368 } else {
84369 fprintf(stderr, "Assert failed");
84370 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31542);
84371 nit_exit(1);
84372 }
84373 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
84374 /* ./parser//parser.nit:31544 */
84375 if (UNTAG_Bool(REGB0)) {
84376 } else {
84377 fprintf(stderr, "Assert failed");
84378 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31544);
84379 nit_exit(1);
84380 }
84381 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
84382 /* ./parser//parser.nit:31546 */
84383 if (UNTAG_Bool(REGB0)) {
84384 } else {
84385 fprintf(stderr, "Assert failed");
84386 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31546);
84387 nit_exit(1);
84388 }
84389 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
84390 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
84391 /* ./parser//parser.nit:31551 */
84392 if (UNTAG_Bool(REGB0)) {
84393 } else {
84394 fprintf(stderr, "Assert failed");
84395 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31551);
84396 nit_exit(1);
84397 }
84398 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
84399 /* ./parser//parser.nit:31553 */
84400 if (UNTAG_Bool(REGB0)) {
84401 } else {
84402 fprintf(stderr, "Assert failed");
84403 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31553);
84404 nit_exit(1);
84405 }
84406 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
84407 fra.me.REG[0] = fra.me.REG[2];
84408 REGB0 = TAG_Int(76);
84409 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
84410 /* ./parser//parser.nit:31564 */
84411 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
84412 stack_frame_head = fra.me.prev;
84413 return;
84414 }
84415 void parser___ReduceAction787___init(val_t p0, int* init_table){
84416 int itpos791 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction787].i;
84417 struct {struct stack_frame_t me;} fra;
84418 val_t tmp;
84419 if (init_table[itpos791]) return;
84420 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84421 fra.me.file = LOCATE_parser;
84422 fra.me.line = 31566;
84423 fra.me.meth = LOCATE_parser___ReduceAction787___init;
84424 fra.me.has_broke = 0;
84425 fra.me.REG_size = 1;
84426 fra.me.REG[0] = NIT_NULL;
84427 fra.me.REG[0] = p0;
84428 /* ./parser//parser.nit:31566 */
84429 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
84430 stack_frame_head = fra.me.prev;
84431 init_table[itpos791] = 1;
84432 return;
84433 }
84434 void parser___ReduceAction788___action(val_t p0, val_t p1){
84435 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
84436 val_t REGB0;
84437 val_t tmp;
84438 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84439 fra.me.file = LOCATE_parser;
84440 fra.me.line = 31570;
84441 fra.me.meth = LOCATE_parser___ReduceAction788___action;
84442 fra.me.has_broke = 0;
84443 fra.me.REG_size = 8;
84444 fra.me.REG[0] = NIT_NULL;
84445 fra.me.REG[1] = NIT_NULL;
84446 fra.me.REG[2] = NIT_NULL;
84447 fra.me.REG[3] = NIT_NULL;
84448 fra.me.REG[4] = NIT_NULL;
84449 fra.me.REG[5] = NIT_NULL;
84450 fra.me.REG[6] = NIT_NULL;
84451 fra.me.REG[7] = NIT_NULL;
84452 fra.me.REG[0] = p0;
84453 fra.me.REG[1] = p1;
84454 fra.me.REG[0] = NIT_NULL;
84455 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84456 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84457 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84458 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84459 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84460 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84461 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84462 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84463 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
84464 /* ./parser//parser.nit:31582 */
84465 if (UNTAG_Bool(REGB0)) {
84466 } else {
84467 fprintf(stderr, "Assert failed");
84468 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31582);
84469 nit_exit(1);
84470 }
84471 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
84472 /* ./parser//parser.nit:31584 */
84473 if (UNTAG_Bool(REGB0)) {
84474 } else {
84475 fprintf(stderr, "Assert failed");
84476 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31584);
84477 nit_exit(1);
84478 }
84479 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
84480 /* ./parser//parser.nit:31586 */
84481 if (UNTAG_Bool(REGB0)) {
84482 } else {
84483 fprintf(stderr, "Assert failed");
84484 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31586);
84485 nit_exit(1);
84486 }
84487 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
84488 /* ./parser//parser.nit:31588 */
84489 if (UNTAG_Bool(REGB0)) {
84490 } else {
84491 fprintf(stderr, "Assert failed");
84492 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31588);
84493 nit_exit(1);
84494 }
84495 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
84496 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
84497 /* ./parser//parser.nit:31593 */
84498 if (UNTAG_Bool(REGB0)) {
84499 } else {
84500 fprintf(stderr, "Assert failed");
84501 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31593);
84502 nit_exit(1);
84503 }
84504 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
84505 /* ./parser//parser.nit:31595 */
84506 if (UNTAG_Bool(REGB0)) {
84507 } else {
84508 fprintf(stderr, "Assert failed");
84509 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31595);
84510 nit_exit(1);
84511 }
84512 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
84513 fra.me.REG[0] = fra.me.REG[2];
84514 REGB0 = TAG_Int(76);
84515 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
84516 /* ./parser//parser.nit:31606 */
84517 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
84518 stack_frame_head = fra.me.prev;
84519 return;
84520 }
84521 void parser___ReduceAction788___init(val_t p0, int* init_table){
84522 int itpos792 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction788].i;
84523 struct {struct stack_frame_t me;} fra;
84524 val_t tmp;
84525 if (init_table[itpos792]) return;
84526 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84527 fra.me.file = LOCATE_parser;
84528 fra.me.line = 31608;
84529 fra.me.meth = LOCATE_parser___ReduceAction788___init;
84530 fra.me.has_broke = 0;
84531 fra.me.REG_size = 1;
84532 fra.me.REG[0] = NIT_NULL;
84533 fra.me.REG[0] = p0;
84534 /* ./parser//parser.nit:31608 */
84535 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
84536 stack_frame_head = fra.me.prev;
84537 init_table[itpos792] = 1;
84538 return;
84539 }
84540 void parser___ReduceAction789___action(val_t p0, val_t p1){
84541 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
84542 val_t REGB0;
84543 val_t tmp;
84544 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84545 fra.me.file = LOCATE_parser;
84546 fra.me.line = 31612;
84547 fra.me.meth = LOCATE_parser___ReduceAction789___action;
84548 fra.me.has_broke = 0;
84549 fra.me.REG_size = 8;
84550 fra.me.REG[0] = NIT_NULL;
84551 fra.me.REG[1] = NIT_NULL;
84552 fra.me.REG[2] = NIT_NULL;
84553 fra.me.REG[3] = NIT_NULL;
84554 fra.me.REG[4] = NIT_NULL;
84555 fra.me.REG[5] = NIT_NULL;
84556 fra.me.REG[6] = NIT_NULL;
84557 fra.me.REG[7] = NIT_NULL;
84558 fra.me.REG[0] = p0;
84559 fra.me.REG[1] = p1;
84560 fra.me.REG[0] = NIT_NULL;
84561 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84562 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84563 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84564 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84565 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84566 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84567 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84568 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84569 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
84570 /* ./parser//parser.nit:31624 */
84571 if (UNTAG_Bool(REGB0)) {
84572 } else {
84573 fprintf(stderr, "Assert failed");
84574 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31624);
84575 nit_exit(1);
84576 }
84577 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
84578 /* ./parser//parser.nit:31626 */
84579 if (UNTAG_Bool(REGB0)) {
84580 } else {
84581 fprintf(stderr, "Assert failed");
84582 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31626);
84583 nit_exit(1);
84584 }
84585 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
84586 /* ./parser//parser.nit:31628 */
84587 if (UNTAG_Bool(REGB0)) {
84588 } else {
84589 fprintf(stderr, "Assert failed");
84590 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31628);
84591 nit_exit(1);
84592 }
84593 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
84594 /* ./parser//parser.nit:31630 */
84595 if (UNTAG_Bool(REGB0)) {
84596 } else {
84597 fprintf(stderr, "Assert failed");
84598 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31630);
84599 nit_exit(1);
84600 }
84601 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
84602 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
84603 /* ./parser//parser.nit:31635 */
84604 if (UNTAG_Bool(REGB0)) {
84605 } else {
84606 fprintf(stderr, "Assert failed");
84607 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31635);
84608 nit_exit(1);
84609 }
84610 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
84611 /* ./parser//parser.nit:31637 */
84612 if (UNTAG_Bool(REGB0)) {
84613 } else {
84614 fprintf(stderr, "Assert failed");
84615 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31637);
84616 nit_exit(1);
84617 }
84618 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
84619 fra.me.REG[0] = fra.me.REG[2];
84620 REGB0 = TAG_Int(76);
84621 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
84622 /* ./parser//parser.nit:31648 */
84623 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
84624 stack_frame_head = fra.me.prev;
84625 return;
84626 }
84627 void parser___ReduceAction789___init(val_t p0, int* init_table){
84628 int itpos793 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction789].i;
84629 struct {struct stack_frame_t me;} fra;
84630 val_t tmp;
84631 if (init_table[itpos793]) return;
84632 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84633 fra.me.file = LOCATE_parser;
84634 fra.me.line = 31650;
84635 fra.me.meth = LOCATE_parser___ReduceAction789___init;
84636 fra.me.has_broke = 0;
84637 fra.me.REG_size = 1;
84638 fra.me.REG[0] = NIT_NULL;
84639 fra.me.REG[0] = p0;
84640 /* ./parser//parser.nit:31650 */
84641 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
84642 stack_frame_head = fra.me.prev;
84643 init_table[itpos793] = 1;
84644 return;
84645 }
84646 void parser___ReduceAction790___action(val_t p0, val_t p1){
84647 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
84648 val_t REGB0;
84649 val_t tmp;
84650 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84651 fra.me.file = LOCATE_parser;
84652 fra.me.line = 31654;
84653 fra.me.meth = LOCATE_parser___ReduceAction790___action;
84654 fra.me.has_broke = 0;
84655 fra.me.REG_size = 8;
84656 fra.me.REG[0] = NIT_NULL;
84657 fra.me.REG[1] = NIT_NULL;
84658 fra.me.REG[2] = NIT_NULL;
84659 fra.me.REG[3] = NIT_NULL;
84660 fra.me.REG[4] = NIT_NULL;
84661 fra.me.REG[5] = NIT_NULL;
84662 fra.me.REG[6] = NIT_NULL;
84663 fra.me.REG[7] = NIT_NULL;
84664 fra.me.REG[0] = p0;
84665 fra.me.REG[1] = p1;
84666 fra.me.REG[0] = NIT_NULL;
84667 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84668 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84669 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84670 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84671 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84672 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84673 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84674 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84675 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
84676 /* ./parser//parser.nit:31666 */
84677 if (UNTAG_Bool(REGB0)) {
84678 } else {
84679 fprintf(stderr, "Assert failed");
84680 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31666);
84681 nit_exit(1);
84682 }
84683 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
84684 /* ./parser//parser.nit:31668 */
84685 if (UNTAG_Bool(REGB0)) {
84686 } else {
84687 fprintf(stderr, "Assert failed");
84688 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31668);
84689 nit_exit(1);
84690 }
84691 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
84692 /* ./parser//parser.nit:31670 */
84693 if (UNTAG_Bool(REGB0)) {
84694 } else {
84695 fprintf(stderr, "Assert failed");
84696 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31670);
84697 nit_exit(1);
84698 }
84699 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
84700 /* ./parser//parser.nit:31672 */
84701 if (UNTAG_Bool(REGB0)) {
84702 } else {
84703 fprintf(stderr, "Assert failed");
84704 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31672);
84705 nit_exit(1);
84706 }
84707 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
84708 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
84709 /* ./parser//parser.nit:31677 */
84710 if (UNTAG_Bool(REGB0)) {
84711 } else {
84712 fprintf(stderr, "Assert failed");
84713 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31677);
84714 nit_exit(1);
84715 }
84716 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
84717 /* ./parser//parser.nit:31679 */
84718 if (UNTAG_Bool(REGB0)) {
84719 } else {
84720 fprintf(stderr, "Assert failed");
84721 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31679);
84722 nit_exit(1);
84723 }
84724 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
84725 fra.me.REG[0] = fra.me.REG[2];
84726 REGB0 = TAG_Int(76);
84727 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
84728 /* ./parser//parser.nit:31690 */
84729 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
84730 stack_frame_head = fra.me.prev;
84731 return;
84732 }
84733 void parser___ReduceAction790___init(val_t p0, int* init_table){
84734 int itpos794 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction790].i;
84735 struct {struct stack_frame_t me;} fra;
84736 val_t tmp;
84737 if (init_table[itpos794]) return;
84738 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84739 fra.me.file = LOCATE_parser;
84740 fra.me.line = 31692;
84741 fra.me.meth = LOCATE_parser___ReduceAction790___init;
84742 fra.me.has_broke = 0;
84743 fra.me.REG_size = 1;
84744 fra.me.REG[0] = NIT_NULL;
84745 fra.me.REG[0] = p0;
84746 /* ./parser//parser.nit:31692 */
84747 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
84748 stack_frame_head = fra.me.prev;
84749 init_table[itpos794] = 1;
84750 return;
84751 }
84752 void parser___ReduceAction791___action(val_t p0, val_t p1){
84753 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
84754 val_t REGB0;
84755 val_t tmp;
84756 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84757 fra.me.file = LOCATE_parser;
84758 fra.me.line = 31696;
84759 fra.me.meth = LOCATE_parser___ReduceAction791___action;
84760 fra.me.has_broke = 0;
84761 fra.me.REG_size = 8;
84762 fra.me.REG[0] = NIT_NULL;
84763 fra.me.REG[1] = NIT_NULL;
84764 fra.me.REG[2] = NIT_NULL;
84765 fra.me.REG[3] = NIT_NULL;
84766 fra.me.REG[4] = NIT_NULL;
84767 fra.me.REG[5] = NIT_NULL;
84768 fra.me.REG[6] = NIT_NULL;
84769 fra.me.REG[7] = NIT_NULL;
84770 fra.me.REG[0] = p0;
84771 fra.me.REG[1] = p1;
84772 fra.me.REG[0] = NIT_NULL;
84773 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84774 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84775 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84776 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84777 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84778 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84779 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84780 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84781 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
84782 /* ./parser//parser.nit:31708 */
84783 if (UNTAG_Bool(REGB0)) {
84784 } else {
84785 fprintf(stderr, "Assert failed");
84786 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31708);
84787 nit_exit(1);
84788 }
84789 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
84790 /* ./parser//parser.nit:31710 */
84791 if (UNTAG_Bool(REGB0)) {
84792 } else {
84793 fprintf(stderr, "Assert failed");
84794 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31710);
84795 nit_exit(1);
84796 }
84797 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
84798 /* ./parser//parser.nit:31712 */
84799 if (UNTAG_Bool(REGB0)) {
84800 } else {
84801 fprintf(stderr, "Assert failed");
84802 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31712);
84803 nit_exit(1);
84804 }
84805 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
84806 /* ./parser//parser.nit:31714 */
84807 if (UNTAG_Bool(REGB0)) {
84808 } else {
84809 fprintf(stderr, "Assert failed");
84810 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31714);
84811 nit_exit(1);
84812 }
84813 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
84814 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
84815 /* ./parser//parser.nit:31719 */
84816 if (UNTAG_Bool(REGB0)) {
84817 } else {
84818 fprintf(stderr, "Assert failed");
84819 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31719);
84820 nit_exit(1);
84821 }
84822 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
84823 /* ./parser//parser.nit:31721 */
84824 if (UNTAG_Bool(REGB0)) {
84825 } else {
84826 fprintf(stderr, "Assert failed");
84827 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31721);
84828 nit_exit(1);
84829 }
84830 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
84831 fra.me.REG[0] = fra.me.REG[2];
84832 REGB0 = TAG_Int(76);
84833 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
84834 /* ./parser//parser.nit:31732 */
84835 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
84836 stack_frame_head = fra.me.prev;
84837 return;
84838 }
84839 void parser___ReduceAction791___init(val_t p0, int* init_table){
84840 int itpos795 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction791].i;
84841 struct {struct stack_frame_t me;} fra;
84842 val_t tmp;
84843 if (init_table[itpos795]) return;
84844 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84845 fra.me.file = LOCATE_parser;
84846 fra.me.line = 31734;
84847 fra.me.meth = LOCATE_parser___ReduceAction791___init;
84848 fra.me.has_broke = 0;
84849 fra.me.REG_size = 1;
84850 fra.me.REG[0] = NIT_NULL;
84851 fra.me.REG[0] = p0;
84852 /* ./parser//parser.nit:31734 */
84853 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
84854 stack_frame_head = fra.me.prev;
84855 init_table[itpos795] = 1;
84856 return;
84857 }
84858 void parser___ReduceAction792___action(val_t p0, val_t p1){
84859 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
84860 val_t REGB0;
84861 val_t tmp;
84862 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84863 fra.me.file = LOCATE_parser;
84864 fra.me.line = 31738;
84865 fra.me.meth = LOCATE_parser___ReduceAction792___action;
84866 fra.me.has_broke = 0;
84867 fra.me.REG_size = 8;
84868 fra.me.REG[0] = NIT_NULL;
84869 fra.me.REG[1] = NIT_NULL;
84870 fra.me.REG[2] = NIT_NULL;
84871 fra.me.REG[3] = NIT_NULL;
84872 fra.me.REG[4] = NIT_NULL;
84873 fra.me.REG[5] = NIT_NULL;
84874 fra.me.REG[6] = NIT_NULL;
84875 fra.me.REG[7] = NIT_NULL;
84876 fra.me.REG[0] = p0;
84877 fra.me.REG[1] = p1;
84878 fra.me.REG[0] = NIT_NULL;
84879 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84880 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84881 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84882 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84883 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84884 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84885 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84886 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84887 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
84888 /* ./parser//parser.nit:31750 */
84889 if (UNTAG_Bool(REGB0)) {
84890 } else {
84891 fprintf(stderr, "Assert failed");
84892 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31750);
84893 nit_exit(1);
84894 }
84895 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
84896 /* ./parser//parser.nit:31752 */
84897 if (UNTAG_Bool(REGB0)) {
84898 } else {
84899 fprintf(stderr, "Assert failed");
84900 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31752);
84901 nit_exit(1);
84902 }
84903 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
84904 /* ./parser//parser.nit:31754 */
84905 if (UNTAG_Bool(REGB0)) {
84906 } else {
84907 fprintf(stderr, "Assert failed");
84908 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31754);
84909 nit_exit(1);
84910 }
84911 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
84912 /* ./parser//parser.nit:31756 */
84913 if (UNTAG_Bool(REGB0)) {
84914 } else {
84915 fprintf(stderr, "Assert failed");
84916 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31756);
84917 nit_exit(1);
84918 }
84919 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
84920 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
84921 /* ./parser//parser.nit:31761 */
84922 if (UNTAG_Bool(REGB0)) {
84923 } else {
84924 fprintf(stderr, "Assert failed");
84925 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31761);
84926 nit_exit(1);
84927 }
84928 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
84929 /* ./parser//parser.nit:31763 */
84930 if (UNTAG_Bool(REGB0)) {
84931 } else {
84932 fprintf(stderr, "Assert failed");
84933 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31763);
84934 nit_exit(1);
84935 }
84936 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
84937 fra.me.REG[0] = fra.me.REG[2];
84938 REGB0 = TAG_Int(76);
84939 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
84940 /* ./parser//parser.nit:31774 */
84941 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
84942 stack_frame_head = fra.me.prev;
84943 return;
84944 }
84945 void parser___ReduceAction792___init(val_t p0, int* init_table){
84946 int itpos796 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction792].i;
84947 struct {struct stack_frame_t me;} fra;
84948 val_t tmp;
84949 if (init_table[itpos796]) return;
84950 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84951 fra.me.file = LOCATE_parser;
84952 fra.me.line = 31776;
84953 fra.me.meth = LOCATE_parser___ReduceAction792___init;
84954 fra.me.has_broke = 0;
84955 fra.me.REG_size = 1;
84956 fra.me.REG[0] = NIT_NULL;
84957 fra.me.REG[0] = p0;
84958 /* ./parser//parser.nit:31776 */
84959 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
84960 stack_frame_head = fra.me.prev;
84961 init_table[itpos796] = 1;
84962 return;
84963 }
84964 void parser___ReduceAction793___action(val_t p0, val_t p1){
84965 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
84966 val_t REGB0;
84967 val_t tmp;
84968 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84969 fra.me.file = LOCATE_parser;
84970 fra.me.line = 31780;
84971 fra.me.meth = LOCATE_parser___ReduceAction793___action;
84972 fra.me.has_broke = 0;
84973 fra.me.REG_size = 8;
84974 fra.me.REG[0] = NIT_NULL;
84975 fra.me.REG[1] = NIT_NULL;
84976 fra.me.REG[2] = NIT_NULL;
84977 fra.me.REG[3] = NIT_NULL;
84978 fra.me.REG[4] = NIT_NULL;
84979 fra.me.REG[5] = NIT_NULL;
84980 fra.me.REG[6] = NIT_NULL;
84981 fra.me.REG[7] = NIT_NULL;
84982 fra.me.REG[0] = p0;
84983 fra.me.REG[1] = p1;
84984 fra.me.REG[0] = NIT_NULL;
84985 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84986 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84987 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84988 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84989 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84990 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84991 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84992 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
84993 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
84994 /* ./parser//parser.nit:31792 */
84995 if (UNTAG_Bool(REGB0)) {
84996 } else {
84997 fprintf(stderr, "Assert failed");
84998 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31792);
84999 nit_exit(1);
85000 }
85001 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
85002 /* ./parser//parser.nit:31794 */
85003 if (UNTAG_Bool(REGB0)) {
85004 } else {
85005 fprintf(stderr, "Assert failed");
85006 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31794);
85007 nit_exit(1);
85008 }
85009 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
85010 /* ./parser//parser.nit:31796 */
85011 if (UNTAG_Bool(REGB0)) {
85012 } else {
85013 fprintf(stderr, "Assert failed");
85014 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31796);
85015 nit_exit(1);
85016 }
85017 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
85018 /* ./parser//parser.nit:31798 */
85019 if (UNTAG_Bool(REGB0)) {
85020 } else {
85021 fprintf(stderr, "Assert failed");
85022 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31798);
85023 nit_exit(1);
85024 }
85025 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
85026 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
85027 /* ./parser//parser.nit:31803 */
85028 if (UNTAG_Bool(REGB0)) {
85029 } else {
85030 fprintf(stderr, "Assert failed");
85031 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31803);
85032 nit_exit(1);
85033 }
85034 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
85035 /* ./parser//parser.nit:31805 */
85036 if (UNTAG_Bool(REGB0)) {
85037 } else {
85038 fprintf(stderr, "Assert failed");
85039 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31805);
85040 nit_exit(1);
85041 }
85042 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
85043 fra.me.REG[0] = fra.me.REG[2];
85044 REGB0 = TAG_Int(76);
85045 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
85046 /* ./parser//parser.nit:31816 */
85047 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
85048 stack_frame_head = fra.me.prev;
85049 return;
85050 }
85051 void parser___ReduceAction793___init(val_t p0, int* init_table){
85052 int itpos797 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction793].i;
85053 struct {struct stack_frame_t me;} fra;
85054 val_t tmp;
85055 if (init_table[itpos797]) return;
85056 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85057 fra.me.file = LOCATE_parser;
85058 fra.me.line = 31818;
85059 fra.me.meth = LOCATE_parser___ReduceAction793___init;
85060 fra.me.has_broke = 0;
85061 fra.me.REG_size = 1;
85062 fra.me.REG[0] = NIT_NULL;
85063 fra.me.REG[0] = p0;
85064 /* ./parser//parser.nit:31818 */
85065 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
85066 stack_frame_head = fra.me.prev;
85067 init_table[itpos797] = 1;
85068 return;
85069 }
85070 void parser___ReduceAction794___action(val_t p0, val_t p1){
85071 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
85072 val_t REGB0;
85073 val_t tmp;
85074 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85075 fra.me.file = LOCATE_parser;
85076 fra.me.line = 31822;
85077 fra.me.meth = LOCATE_parser___ReduceAction794___action;
85078 fra.me.has_broke = 0;
85079 fra.me.REG_size = 8;
85080 fra.me.REG[0] = NIT_NULL;
85081 fra.me.REG[1] = NIT_NULL;
85082 fra.me.REG[2] = NIT_NULL;
85083 fra.me.REG[3] = NIT_NULL;
85084 fra.me.REG[4] = NIT_NULL;
85085 fra.me.REG[5] = NIT_NULL;
85086 fra.me.REG[6] = NIT_NULL;
85087 fra.me.REG[7] = NIT_NULL;
85088 fra.me.REG[0] = p0;
85089 fra.me.REG[1] = p1;
85090 fra.me.REG[0] = NIT_NULL;
85091 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85092 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85093 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85094 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85095 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85096 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85097 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85098 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85099 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
85100 /* ./parser//parser.nit:31834 */
85101 if (UNTAG_Bool(REGB0)) {
85102 } else {
85103 fprintf(stderr, "Assert failed");
85104 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31834);
85105 nit_exit(1);
85106 }
85107 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
85108 /* ./parser//parser.nit:31836 */
85109 if (UNTAG_Bool(REGB0)) {
85110 } else {
85111 fprintf(stderr, "Assert failed");
85112 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31836);
85113 nit_exit(1);
85114 }
85115 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
85116 /* ./parser//parser.nit:31838 */
85117 if (UNTAG_Bool(REGB0)) {
85118 } else {
85119 fprintf(stderr, "Assert failed");
85120 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31838);
85121 nit_exit(1);
85122 }
85123 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
85124 /* ./parser//parser.nit:31840 */
85125 if (UNTAG_Bool(REGB0)) {
85126 } else {
85127 fprintf(stderr, "Assert failed");
85128 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31840);
85129 nit_exit(1);
85130 }
85131 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
85132 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
85133 /* ./parser//parser.nit:31845 */
85134 if (UNTAG_Bool(REGB0)) {
85135 } else {
85136 fprintf(stderr, "Assert failed");
85137 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31845);
85138 nit_exit(1);
85139 }
85140 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
85141 /* ./parser//parser.nit:31847 */
85142 if (UNTAG_Bool(REGB0)) {
85143 } else {
85144 fprintf(stderr, "Assert failed");
85145 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31847);
85146 nit_exit(1);
85147 }
85148 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
85149 fra.me.REG[0] = fra.me.REG[2];
85150 REGB0 = TAG_Int(76);
85151 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
85152 /* ./parser//parser.nit:31858 */
85153 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
85154 stack_frame_head = fra.me.prev;
85155 return;
85156 }
85157 void parser___ReduceAction794___init(val_t p0, int* init_table){
85158 int itpos798 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction794].i;
85159 struct {struct stack_frame_t me;} fra;
85160 val_t tmp;
85161 if (init_table[itpos798]) return;
85162 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85163 fra.me.file = LOCATE_parser;
85164 fra.me.line = 31860;
85165 fra.me.meth = LOCATE_parser___ReduceAction794___init;
85166 fra.me.has_broke = 0;
85167 fra.me.REG_size = 1;
85168 fra.me.REG[0] = NIT_NULL;
85169 fra.me.REG[0] = p0;
85170 /* ./parser//parser.nit:31860 */
85171 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
85172 stack_frame_head = fra.me.prev;
85173 init_table[itpos798] = 1;
85174 return;
85175 }
85176 void parser___ReduceAction795___action(val_t p0, val_t p1){
85177 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
85178 val_t REGB0;
85179 val_t tmp;
85180 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85181 fra.me.file = LOCATE_parser;
85182 fra.me.line = 31864;
85183 fra.me.meth = LOCATE_parser___ReduceAction795___action;
85184 fra.me.has_broke = 0;
85185 fra.me.REG_size = 8;
85186 fra.me.REG[0] = NIT_NULL;
85187 fra.me.REG[1] = NIT_NULL;
85188 fra.me.REG[2] = NIT_NULL;
85189 fra.me.REG[3] = NIT_NULL;
85190 fra.me.REG[4] = NIT_NULL;
85191 fra.me.REG[5] = NIT_NULL;
85192 fra.me.REG[6] = NIT_NULL;
85193 fra.me.REG[7] = NIT_NULL;
85194 fra.me.REG[0] = p0;
85195 fra.me.REG[1] = p1;
85196 fra.me.REG[0] = NIT_NULL;
85197 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85198 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85199 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85200 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85201 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85202 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85203 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85204 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85205 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
85206 /* ./parser//parser.nit:31876 */
85207 if (UNTAG_Bool(REGB0)) {
85208 } else {
85209 fprintf(stderr, "Assert failed");
85210 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31876);
85211 nit_exit(1);
85212 }
85213 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
85214 /* ./parser//parser.nit:31878 */
85215 if (UNTAG_Bool(REGB0)) {
85216 } else {
85217 fprintf(stderr, "Assert failed");
85218 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31878);
85219 nit_exit(1);
85220 }
85221 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
85222 /* ./parser//parser.nit:31880 */
85223 if (UNTAG_Bool(REGB0)) {
85224 } else {
85225 fprintf(stderr, "Assert failed");
85226 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31880);
85227 nit_exit(1);
85228 }
85229 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
85230 /* ./parser//parser.nit:31882 */
85231 if (UNTAG_Bool(REGB0)) {
85232 } else {
85233 fprintf(stderr, "Assert failed");
85234 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31882);
85235 nit_exit(1);
85236 }
85237 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
85238 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
85239 /* ./parser//parser.nit:31887 */
85240 if (UNTAG_Bool(REGB0)) {
85241 } else {
85242 fprintf(stderr, "Assert failed");
85243 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31887);
85244 nit_exit(1);
85245 }
85246 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
85247 /* ./parser//parser.nit:31889 */
85248 if (UNTAG_Bool(REGB0)) {
85249 } else {
85250 fprintf(stderr, "Assert failed");
85251 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31889);
85252 nit_exit(1);
85253 }
85254 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
85255 fra.me.REG[0] = fra.me.REG[2];
85256 REGB0 = TAG_Int(76);
85257 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
85258 /* ./parser//parser.nit:31900 */
85259 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
85260 stack_frame_head = fra.me.prev;
85261 return;
85262 }
85263 void parser___ReduceAction795___init(val_t p0, int* init_table){
85264 int itpos799 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction795].i;
85265 struct {struct stack_frame_t me;} fra;
85266 val_t tmp;
85267 if (init_table[itpos799]) return;
85268 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85269 fra.me.file = LOCATE_parser;
85270 fra.me.line = 31902;
85271 fra.me.meth = LOCATE_parser___ReduceAction795___init;
85272 fra.me.has_broke = 0;
85273 fra.me.REG_size = 1;
85274 fra.me.REG[0] = NIT_NULL;
85275 fra.me.REG[0] = p0;
85276 /* ./parser//parser.nit:31902 */
85277 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
85278 stack_frame_head = fra.me.prev;
85279 init_table[itpos799] = 1;
85280 return;
85281 }
85282 void parser___ReduceAction796___action(val_t p0, val_t p1){
85283 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
85284 val_t REGB0;
85285 val_t tmp;
85286 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85287 fra.me.file = LOCATE_parser;
85288 fra.me.line = 31906;
85289 fra.me.meth = LOCATE_parser___ReduceAction796___action;
85290 fra.me.has_broke = 0;
85291 fra.me.REG_size = 9;
85292 fra.me.REG[0] = NIT_NULL;
85293 fra.me.REG[1] = NIT_NULL;
85294 fra.me.REG[2] = NIT_NULL;
85295 fra.me.REG[3] = NIT_NULL;
85296 fra.me.REG[4] = NIT_NULL;
85297 fra.me.REG[5] = NIT_NULL;
85298 fra.me.REG[6] = NIT_NULL;
85299 fra.me.REG[7] = NIT_NULL;
85300 fra.me.REG[8] = NIT_NULL;
85301 fra.me.REG[0] = p0;
85302 fra.me.REG[1] = p1;
85303 fra.me.REG[0] = NIT_NULL;
85304 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85305 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85306 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85307 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85308 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85309 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85310 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85311 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85312 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85313 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
85314 /* ./parser//parser.nit:31919 */
85315 if (UNTAG_Bool(REGB0)) {
85316 } else {
85317 fprintf(stderr, "Assert failed");
85318 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31919);
85319 nit_exit(1);
85320 }
85321 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
85322 /* ./parser//parser.nit:31921 */
85323 if (UNTAG_Bool(REGB0)) {
85324 } else {
85325 fprintf(stderr, "Assert failed");
85326 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31921);
85327 nit_exit(1);
85328 }
85329 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
85330 /* ./parser//parser.nit:31923 */
85331 if (UNTAG_Bool(REGB0)) {
85332 } else {
85333 fprintf(stderr, "Assert failed");
85334 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31923);
85335 nit_exit(1);
85336 }
85337 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
85338 /* ./parser//parser.nit:31925 */
85339 if (UNTAG_Bool(REGB0)) {
85340 } else {
85341 fprintf(stderr, "Assert failed");
85342 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31925);
85343 nit_exit(1);
85344 }
85345 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
85346 /* ./parser//parser.nit:31927 */
85347 if (UNTAG_Bool(REGB0)) {
85348 } else {
85349 fprintf(stderr, "Assert failed");
85350 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31927);
85351 nit_exit(1);
85352 }
85353 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
85354 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
85355 /* ./parser//parser.nit:31933 */
85356 if (UNTAG_Bool(REGB0)) {
85357 } else {
85358 fprintf(stderr, "Assert failed");
85359 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31933);
85360 nit_exit(1);
85361 }
85362 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
85363 /* ./parser//parser.nit:31935 */
85364 if (UNTAG_Bool(REGB0)) {
85365 } else {
85366 fprintf(stderr, "Assert failed");
85367 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31935);
85368 nit_exit(1);
85369 }
85370 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
85371 fra.me.REG[0] = fra.me.REG[2];
85372 REGB0 = TAG_Int(76);
85373 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
85374 /* ./parser//parser.nit:31946 */
85375 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
85376 stack_frame_head = fra.me.prev;
85377 return;
85378 }
85379 void parser___ReduceAction796___init(val_t p0, int* init_table){
85380 int itpos800 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction796].i;
85381 struct {struct stack_frame_t me;} fra;
85382 val_t tmp;
85383 if (init_table[itpos800]) return;
85384 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85385 fra.me.file = LOCATE_parser;
85386 fra.me.line = 31948;
85387 fra.me.meth = LOCATE_parser___ReduceAction796___init;
85388 fra.me.has_broke = 0;
85389 fra.me.REG_size = 1;
85390 fra.me.REG[0] = NIT_NULL;
85391 fra.me.REG[0] = p0;
85392 /* ./parser//parser.nit:31948 */
85393 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
85394 stack_frame_head = fra.me.prev;
85395 init_table[itpos800] = 1;
85396 return;
85397 }
85398 void parser___ReduceAction797___action(val_t p0, val_t p1){
85399 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
85400 val_t REGB0;
85401 val_t tmp;
85402 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85403 fra.me.file = LOCATE_parser;
85404 fra.me.line = 31952;
85405 fra.me.meth = LOCATE_parser___ReduceAction797___action;
85406 fra.me.has_broke = 0;
85407 fra.me.REG_size = 8;
85408 fra.me.REG[0] = NIT_NULL;
85409 fra.me.REG[1] = NIT_NULL;
85410 fra.me.REG[2] = NIT_NULL;
85411 fra.me.REG[3] = NIT_NULL;
85412 fra.me.REG[4] = NIT_NULL;
85413 fra.me.REG[5] = NIT_NULL;
85414 fra.me.REG[6] = NIT_NULL;
85415 fra.me.REG[7] = NIT_NULL;
85416 fra.me.REG[0] = p0;
85417 fra.me.REG[1] = p1;
85418 fra.me.REG[0] = NIT_NULL;
85419 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85420 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85421 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85422 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85423 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85424 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85425 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85426 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85427 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
85428 /* ./parser//parser.nit:31964 */
85429 if (UNTAG_Bool(REGB0)) {
85430 } else {
85431 fprintf(stderr, "Assert failed");
85432 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31964);
85433 nit_exit(1);
85434 }
85435 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
85436 /* ./parser//parser.nit:31966 */
85437 if (UNTAG_Bool(REGB0)) {
85438 } else {
85439 fprintf(stderr, "Assert failed");
85440 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31966);
85441 nit_exit(1);
85442 }
85443 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
85444 /* ./parser//parser.nit:31968 */
85445 if (UNTAG_Bool(REGB0)) {
85446 } else {
85447 fprintf(stderr, "Assert failed");
85448 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31968);
85449 nit_exit(1);
85450 }
85451 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
85452 /* ./parser//parser.nit:31970 */
85453 if (UNTAG_Bool(REGB0)) {
85454 } else {
85455 fprintf(stderr, "Assert failed");
85456 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31970);
85457 nit_exit(1);
85458 }
85459 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
85460 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
85461 /* ./parser//parser.nit:31975 */
85462 if (UNTAG_Bool(REGB0)) {
85463 } else {
85464 fprintf(stderr, "Assert failed");
85465 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31975);
85466 nit_exit(1);
85467 }
85468 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
85469 /* ./parser//parser.nit:31977 */
85470 if (UNTAG_Bool(REGB0)) {
85471 } else {
85472 fprintf(stderr, "Assert failed");
85473 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31977);
85474 nit_exit(1);
85475 }
85476 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
85477 fra.me.REG[0] = fra.me.REG[2];
85478 REGB0 = TAG_Int(76);
85479 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
85480 /* ./parser//parser.nit:31988 */
85481 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
85482 stack_frame_head = fra.me.prev;
85483 return;
85484 }
85485 void parser___ReduceAction797___init(val_t p0, int* init_table){
85486 int itpos801 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction797].i;
85487 struct {struct stack_frame_t me;} fra;
85488 val_t tmp;
85489 if (init_table[itpos801]) return;
85490 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85491 fra.me.file = LOCATE_parser;
85492 fra.me.line = 31990;
85493 fra.me.meth = LOCATE_parser___ReduceAction797___init;
85494 fra.me.has_broke = 0;
85495 fra.me.REG_size = 1;
85496 fra.me.REG[0] = NIT_NULL;
85497 fra.me.REG[0] = p0;
85498 /* ./parser//parser.nit:31990 */
85499 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
85500 stack_frame_head = fra.me.prev;
85501 init_table[itpos801] = 1;
85502 return;
85503 }
85504 void parser___ReduceAction798___action(val_t p0, val_t p1){
85505 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
85506 val_t REGB0;
85507 val_t tmp;
85508 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85509 fra.me.file = LOCATE_parser;
85510 fra.me.line = 31994;
85511 fra.me.meth = LOCATE_parser___ReduceAction798___action;
85512 fra.me.has_broke = 0;
85513 fra.me.REG_size = 9;
85514 fra.me.REG[0] = NIT_NULL;
85515 fra.me.REG[1] = NIT_NULL;
85516 fra.me.REG[2] = NIT_NULL;
85517 fra.me.REG[3] = NIT_NULL;
85518 fra.me.REG[4] = NIT_NULL;
85519 fra.me.REG[5] = NIT_NULL;
85520 fra.me.REG[6] = NIT_NULL;
85521 fra.me.REG[7] = NIT_NULL;
85522 fra.me.REG[8] = NIT_NULL;
85523 fra.me.REG[0] = p0;
85524 fra.me.REG[1] = p1;
85525 fra.me.REG[0] = NIT_NULL;
85526 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85527 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85528 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85529 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85530 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85531 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85532 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85533 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85534 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85535 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
85536 /* ./parser//parser.nit:32007 */
85537 if (UNTAG_Bool(REGB0)) {
85538 } else {
85539 fprintf(stderr, "Assert failed");
85540 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32007);
85541 nit_exit(1);
85542 }
85543 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
85544 /* ./parser//parser.nit:32009 */
85545 if (UNTAG_Bool(REGB0)) {
85546 } else {
85547 fprintf(stderr, "Assert failed");
85548 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32009);
85549 nit_exit(1);
85550 }
85551 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
85552 /* ./parser//parser.nit:32011 */
85553 if (UNTAG_Bool(REGB0)) {
85554 } else {
85555 fprintf(stderr, "Assert failed");
85556 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32011);
85557 nit_exit(1);
85558 }
85559 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
85560 /* ./parser//parser.nit:32013 */
85561 if (UNTAG_Bool(REGB0)) {
85562 } else {
85563 fprintf(stderr, "Assert failed");
85564 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32013);
85565 nit_exit(1);
85566 }
85567 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
85568 /* ./parser//parser.nit:32015 */
85569 if (UNTAG_Bool(REGB0)) {
85570 } else {
85571 fprintf(stderr, "Assert failed");
85572 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32015);
85573 nit_exit(1);
85574 }
85575 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
85576 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
85577 /* ./parser//parser.nit:32020 */
85578 if (UNTAG_Bool(REGB0)) {
85579 } else {
85580 fprintf(stderr, "Assert failed");
85581 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32020);
85582 nit_exit(1);
85583 }
85584 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
85585 /* ./parser//parser.nit:32022 */
85586 if (UNTAG_Bool(REGB0)) {
85587 } else {
85588 fprintf(stderr, "Assert failed");
85589 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32022);
85590 nit_exit(1);
85591 }
85592 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
85593 fra.me.REG[0] = fra.me.REG[2];
85594 REGB0 = TAG_Int(76);
85595 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
85596 /* ./parser//parser.nit:32033 */
85597 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
85598 stack_frame_head = fra.me.prev;
85599 return;
85600 }
85601 void parser___ReduceAction798___init(val_t p0, int* init_table){
85602 int itpos802 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction798].i;
85603 struct {struct stack_frame_t me;} fra;
85604 val_t tmp;
85605 if (init_table[itpos802]) return;
85606 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85607 fra.me.file = LOCATE_parser;
85608 fra.me.line = 32035;
85609 fra.me.meth = LOCATE_parser___ReduceAction798___init;
85610 fra.me.has_broke = 0;
85611 fra.me.REG_size = 1;
85612 fra.me.REG[0] = NIT_NULL;
85613 fra.me.REG[0] = p0;
85614 /* ./parser//parser.nit:32035 */
85615 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
85616 stack_frame_head = fra.me.prev;
85617 init_table[itpos802] = 1;
85618 return;
85619 }
85620 void parser___ReduceAction799___action(val_t p0, val_t p1){
85621 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
85622 val_t REGB0;
85623 val_t tmp;
85624 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85625 fra.me.file = LOCATE_parser;
85626 fra.me.line = 32039;
85627 fra.me.meth = LOCATE_parser___ReduceAction799___action;
85628 fra.me.has_broke = 0;
85629 fra.me.REG_size = 9;
85630 fra.me.REG[0] = NIT_NULL;
85631 fra.me.REG[1] = NIT_NULL;
85632 fra.me.REG[2] = NIT_NULL;
85633 fra.me.REG[3] = NIT_NULL;
85634 fra.me.REG[4] = NIT_NULL;
85635 fra.me.REG[5] = NIT_NULL;
85636 fra.me.REG[6] = NIT_NULL;
85637 fra.me.REG[7] = NIT_NULL;
85638 fra.me.REG[8] = NIT_NULL;
85639 fra.me.REG[0] = p0;
85640 fra.me.REG[1] = p1;
85641 fra.me.REG[0] = NIT_NULL;
85642 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85643 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85644 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85645 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85646 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85647 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85648 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85649 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85650 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85651 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
85652 /* ./parser//parser.nit:32052 */
85653 if (UNTAG_Bool(REGB0)) {
85654 } else {
85655 fprintf(stderr, "Assert failed");
85656 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32052);
85657 nit_exit(1);
85658 }
85659 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
85660 /* ./parser//parser.nit:32054 */
85661 if (UNTAG_Bool(REGB0)) {
85662 } else {
85663 fprintf(stderr, "Assert failed");
85664 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32054);
85665 nit_exit(1);
85666 }
85667 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
85668 /* ./parser//parser.nit:32056 */
85669 if (UNTAG_Bool(REGB0)) {
85670 } else {
85671 fprintf(stderr, "Assert failed");
85672 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32056);
85673 nit_exit(1);
85674 }
85675 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
85676 /* ./parser//parser.nit:32058 */
85677 if (UNTAG_Bool(REGB0)) {
85678 } else {
85679 fprintf(stderr, "Assert failed");
85680 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32058);
85681 nit_exit(1);
85682 }
85683 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
85684 /* ./parser//parser.nit:32060 */
85685 if (UNTAG_Bool(REGB0)) {
85686 } else {
85687 fprintf(stderr, "Assert failed");
85688 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32060);
85689 nit_exit(1);
85690 }
85691 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
85692 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
85693 /* ./parser//parser.nit:32065 */
85694 if (UNTAG_Bool(REGB0)) {
85695 } else {
85696 fprintf(stderr, "Assert failed");
85697 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32065);
85698 nit_exit(1);
85699 }
85700 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
85701 /* ./parser//parser.nit:32067 */
85702 if (UNTAG_Bool(REGB0)) {
85703 } else {
85704 fprintf(stderr, "Assert failed");
85705 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32067);
85706 nit_exit(1);
85707 }
85708 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
85709 fra.me.REG[0] = fra.me.REG[2];
85710 REGB0 = TAG_Int(76);
85711 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
85712 /* ./parser//parser.nit:32078 */
85713 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
85714 stack_frame_head = fra.me.prev;
85715 return;
85716 }
85717 void parser___ReduceAction799___init(val_t p0, int* init_table){
85718 int itpos803 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction799].i;
85719 struct {struct stack_frame_t me;} fra;
85720 val_t tmp;
85721 if (init_table[itpos803]) return;
85722 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85723 fra.me.file = LOCATE_parser;
85724 fra.me.line = 32080;
85725 fra.me.meth = LOCATE_parser___ReduceAction799___init;
85726 fra.me.has_broke = 0;
85727 fra.me.REG_size = 1;
85728 fra.me.REG[0] = NIT_NULL;
85729 fra.me.REG[0] = p0;
85730 /* ./parser//parser.nit:32080 */
85731 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
85732 stack_frame_head = fra.me.prev;
85733 init_table[itpos803] = 1;
85734 return;
85735 }
85736 void parser___ReduceAction800___action(val_t p0, val_t p1){
85737 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
85738 val_t REGB0;
85739 val_t tmp;
85740 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85741 fra.me.file = LOCATE_parser;
85742 fra.me.line = 32084;
85743 fra.me.meth = LOCATE_parser___ReduceAction800___action;
85744 fra.me.has_broke = 0;
85745 fra.me.REG_size = 9;
85746 fra.me.REG[0] = NIT_NULL;
85747 fra.me.REG[1] = NIT_NULL;
85748 fra.me.REG[2] = NIT_NULL;
85749 fra.me.REG[3] = NIT_NULL;
85750 fra.me.REG[4] = NIT_NULL;
85751 fra.me.REG[5] = NIT_NULL;
85752 fra.me.REG[6] = NIT_NULL;
85753 fra.me.REG[7] = NIT_NULL;
85754 fra.me.REG[8] = NIT_NULL;
85755 fra.me.REG[0] = p0;
85756 fra.me.REG[1] = p1;
85757 fra.me.REG[0] = NIT_NULL;
85758 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85759 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85760 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85761 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85762 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85763 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85764 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85765 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85766 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85767 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
85768 /* ./parser//parser.nit:32097 */
85769 if (UNTAG_Bool(REGB0)) {
85770 } else {
85771 fprintf(stderr, "Assert failed");
85772 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32097);
85773 nit_exit(1);
85774 }
85775 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
85776 /* ./parser//parser.nit:32099 */
85777 if (UNTAG_Bool(REGB0)) {
85778 } else {
85779 fprintf(stderr, "Assert failed");
85780 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32099);
85781 nit_exit(1);
85782 }
85783 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
85784 /* ./parser//parser.nit:32101 */
85785 if (UNTAG_Bool(REGB0)) {
85786 } else {
85787 fprintf(stderr, "Assert failed");
85788 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32101);
85789 nit_exit(1);
85790 }
85791 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
85792 /* ./parser//parser.nit:32103 */
85793 if (UNTAG_Bool(REGB0)) {
85794 } else {
85795 fprintf(stderr, "Assert failed");
85796 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32103);
85797 nit_exit(1);
85798 }
85799 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
85800 /* ./parser//parser.nit:32105 */
85801 if (UNTAG_Bool(REGB0)) {
85802 } else {
85803 fprintf(stderr, "Assert failed");
85804 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32105);
85805 nit_exit(1);
85806 }
85807 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
85808 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
85809 /* ./parser//parser.nit:32110 */
85810 if (UNTAG_Bool(REGB0)) {
85811 } else {
85812 fprintf(stderr, "Assert failed");
85813 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32110);
85814 nit_exit(1);
85815 }
85816 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
85817 /* ./parser//parser.nit:32112 */
85818 if (UNTAG_Bool(REGB0)) {
85819 } else {
85820 fprintf(stderr, "Assert failed");
85821 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32112);
85822 nit_exit(1);
85823 }
85824 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
85825 fra.me.REG[0] = fra.me.REG[2];
85826 REGB0 = TAG_Int(76);
85827 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
85828 /* ./parser//parser.nit:32123 */
85829 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
85830 stack_frame_head = fra.me.prev;
85831 return;
85832 }
85833 void parser___ReduceAction800___init(val_t p0, int* init_table){
85834 int itpos804 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction800].i;
85835 struct {struct stack_frame_t me;} fra;
85836 val_t tmp;
85837 if (init_table[itpos804]) return;
85838 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85839 fra.me.file = LOCATE_parser;
85840 fra.me.line = 32125;
85841 fra.me.meth = LOCATE_parser___ReduceAction800___init;
85842 fra.me.has_broke = 0;
85843 fra.me.REG_size = 1;
85844 fra.me.REG[0] = NIT_NULL;
85845 fra.me.REG[0] = p0;
85846 /* ./parser//parser.nit:32125 */
85847 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
85848 stack_frame_head = fra.me.prev;
85849 init_table[itpos804] = 1;
85850 return;
85851 }
85852 void parser___ReduceAction801___action(val_t p0, val_t p1){
85853 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
85854 val_t REGB0;
85855 val_t tmp;
85856 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85857 fra.me.file = LOCATE_parser;
85858 fra.me.line = 32129;
85859 fra.me.meth = LOCATE_parser___ReduceAction801___action;
85860 fra.me.has_broke = 0;
85861 fra.me.REG_size = 9;
85862 fra.me.REG[0] = NIT_NULL;
85863 fra.me.REG[1] = NIT_NULL;
85864 fra.me.REG[2] = NIT_NULL;
85865 fra.me.REG[3] = NIT_NULL;
85866 fra.me.REG[4] = NIT_NULL;
85867 fra.me.REG[5] = NIT_NULL;
85868 fra.me.REG[6] = NIT_NULL;
85869 fra.me.REG[7] = NIT_NULL;
85870 fra.me.REG[8] = NIT_NULL;
85871 fra.me.REG[0] = p0;
85872 fra.me.REG[1] = p1;
85873 fra.me.REG[0] = NIT_NULL;
85874 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85875 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85876 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85877 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85878 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85879 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85880 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85881 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85882 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85883 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
85884 /* ./parser//parser.nit:32142 */
85885 if (UNTAG_Bool(REGB0)) {
85886 } else {
85887 fprintf(stderr, "Assert failed");
85888 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32142);
85889 nit_exit(1);
85890 }
85891 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
85892 /* ./parser//parser.nit:32144 */
85893 if (UNTAG_Bool(REGB0)) {
85894 } else {
85895 fprintf(stderr, "Assert failed");
85896 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32144);
85897 nit_exit(1);
85898 }
85899 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
85900 /* ./parser//parser.nit:32146 */
85901 if (UNTAG_Bool(REGB0)) {
85902 } else {
85903 fprintf(stderr, "Assert failed");
85904 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32146);
85905 nit_exit(1);
85906 }
85907 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
85908 /* ./parser//parser.nit:32148 */
85909 if (UNTAG_Bool(REGB0)) {
85910 } else {
85911 fprintf(stderr, "Assert failed");
85912 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32148);
85913 nit_exit(1);
85914 }
85915 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
85916 /* ./parser//parser.nit:32150 */
85917 if (UNTAG_Bool(REGB0)) {
85918 } else {
85919 fprintf(stderr, "Assert failed");
85920 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32150);
85921 nit_exit(1);
85922 }
85923 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
85924 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
85925 /* ./parser//parser.nit:32155 */
85926 if (UNTAG_Bool(REGB0)) {
85927 } else {
85928 fprintf(stderr, "Assert failed");
85929 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32155);
85930 nit_exit(1);
85931 }
85932 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
85933 /* ./parser//parser.nit:32157 */
85934 if (UNTAG_Bool(REGB0)) {
85935 } else {
85936 fprintf(stderr, "Assert failed");
85937 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32157);
85938 nit_exit(1);
85939 }
85940 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
85941 fra.me.REG[0] = fra.me.REG[2];
85942 REGB0 = TAG_Int(76);
85943 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
85944 /* ./parser//parser.nit:32168 */
85945 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
85946 stack_frame_head = fra.me.prev;
85947 return;
85948 }
85949 void parser___ReduceAction801___init(val_t p0, int* init_table){
85950 int itpos805 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction801].i;
85951 struct {struct stack_frame_t me;} fra;
85952 val_t tmp;
85953 if (init_table[itpos805]) return;
85954 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85955 fra.me.file = LOCATE_parser;
85956 fra.me.line = 32170;
85957 fra.me.meth = LOCATE_parser___ReduceAction801___init;
85958 fra.me.has_broke = 0;
85959 fra.me.REG_size = 1;
85960 fra.me.REG[0] = NIT_NULL;
85961 fra.me.REG[0] = p0;
85962 /* ./parser//parser.nit:32170 */
85963 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
85964 stack_frame_head = fra.me.prev;
85965 init_table[itpos805] = 1;
85966 return;
85967 }
85968 void parser___ReduceAction802___action(val_t p0, val_t p1){
85969 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
85970 val_t REGB0;
85971 val_t tmp;
85972 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
85973 fra.me.file = LOCATE_parser;
85974 fra.me.line = 32174;
85975 fra.me.meth = LOCATE_parser___ReduceAction802___action;
85976 fra.me.has_broke = 0;
85977 fra.me.REG_size = 9;
85978 fra.me.REG[0] = NIT_NULL;
85979 fra.me.REG[1] = NIT_NULL;
85980 fra.me.REG[2] = NIT_NULL;
85981 fra.me.REG[3] = NIT_NULL;
85982 fra.me.REG[4] = NIT_NULL;
85983 fra.me.REG[5] = NIT_NULL;
85984 fra.me.REG[6] = NIT_NULL;
85985 fra.me.REG[7] = NIT_NULL;
85986 fra.me.REG[8] = NIT_NULL;
85987 fra.me.REG[0] = p0;
85988 fra.me.REG[1] = p1;
85989 fra.me.REG[0] = NIT_NULL;
85990 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85991 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85992 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85993 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85994 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85995 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85996 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85997 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85998 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
85999 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
86000 /* ./parser//parser.nit:32187 */
86001 if (UNTAG_Bool(REGB0)) {
86002 } else {
86003 fprintf(stderr, "Assert failed");
86004 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32187);
86005 nit_exit(1);
86006 }
86007 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
86008 /* ./parser//parser.nit:32189 */
86009 if (UNTAG_Bool(REGB0)) {
86010 } else {
86011 fprintf(stderr, "Assert failed");
86012 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32189);
86013 nit_exit(1);
86014 }
86015 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
86016 /* ./parser//parser.nit:32191 */
86017 if (UNTAG_Bool(REGB0)) {
86018 } else {
86019 fprintf(stderr, "Assert failed");
86020 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32191);
86021 nit_exit(1);
86022 }
86023 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
86024 /* ./parser//parser.nit:32193 */
86025 if (UNTAG_Bool(REGB0)) {
86026 } else {
86027 fprintf(stderr, "Assert failed");
86028 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32193);
86029 nit_exit(1);
86030 }
86031 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
86032 /* ./parser//parser.nit:32195 */
86033 if (UNTAG_Bool(REGB0)) {
86034 } else {
86035 fprintf(stderr, "Assert failed");
86036 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32195);
86037 nit_exit(1);
86038 }
86039 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
86040 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
86041 /* ./parser//parser.nit:32200 */
86042 if (UNTAG_Bool(REGB0)) {
86043 } else {
86044 fprintf(stderr, "Assert failed");
86045 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32200);
86046 nit_exit(1);
86047 }
86048 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
86049 /* ./parser//parser.nit:32202 */
86050 if (UNTAG_Bool(REGB0)) {
86051 } else {
86052 fprintf(stderr, "Assert failed");
86053 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32202);
86054 nit_exit(1);
86055 }
86056 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
86057 fra.me.REG[0] = fra.me.REG[2];
86058 REGB0 = TAG_Int(76);
86059 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
86060 /* ./parser//parser.nit:32213 */
86061 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
86062 stack_frame_head = fra.me.prev;
86063 return;
86064 }
86065 void parser___ReduceAction802___init(val_t p0, int* init_table){
86066 int itpos806 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction802].i;
86067 struct {struct stack_frame_t me;} fra;
86068 val_t tmp;
86069 if (init_table[itpos806]) return;
86070 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
86071 fra.me.file = LOCATE_parser;
86072 fra.me.line = 32215;
86073 fra.me.meth = LOCATE_parser___ReduceAction802___init;
86074 fra.me.has_broke = 0;
86075 fra.me.REG_size = 1;
86076 fra.me.REG[0] = NIT_NULL;
86077 fra.me.REG[0] = p0;
86078 /* ./parser//parser.nit:32215 */
86079 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
86080 stack_frame_head = fra.me.prev;
86081 init_table[itpos806] = 1;
86082 return;
86083 }
86084 void parser___ReduceAction803___action(val_t p0, val_t p1){
86085 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
86086 val_t REGB0;
86087 val_t tmp;
86088 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
86089 fra.me.file = LOCATE_parser;
86090 fra.me.line = 32219;
86091 fra.me.meth = LOCATE_parser___ReduceAction803___action;
86092 fra.me.has_broke = 0;
86093 fra.me.REG_size = 9;
86094 fra.me.REG[0] = NIT_NULL;
86095 fra.me.REG[1] = NIT_NULL;
86096 fra.me.REG[2] = NIT_NULL;
86097 fra.me.REG[3] = NIT_NULL;
86098 fra.me.REG[4] = NIT_NULL;
86099 fra.me.REG[5] = NIT_NULL;
86100 fra.me.REG[6] = NIT_NULL;
86101 fra.me.REG[7] = NIT_NULL;
86102 fra.me.REG[8] = NIT_NULL;
86103 fra.me.REG[0] = p0;
86104 fra.me.REG[1] = p1;
86105 fra.me.REG[0] = NIT_NULL;
86106 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86107 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86108 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86109 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86110 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86111 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86112 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86113 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86114 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86115 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
86116 /* ./parser//parser.nit:32232 */
86117 if (UNTAG_Bool(REGB0)) {
86118 } else {
86119 fprintf(stderr, "Assert failed");
86120 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32232);
86121 nit_exit(1);
86122 }
86123 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
86124 /* ./parser//parser.nit:32234 */
86125 if (UNTAG_Bool(REGB0)) {
86126 } else {
86127 fprintf(stderr, "Assert failed");
86128 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32234);
86129 nit_exit(1);
86130 }
86131 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
86132 /* ./parser//parser.nit:32236 */
86133 if (UNTAG_Bool(REGB0)) {
86134 } else {
86135 fprintf(stderr, "Assert failed");
86136 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32236);
86137 nit_exit(1);
86138 }
86139 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
86140 /* ./parser//parser.nit:32238 */
86141 if (UNTAG_Bool(REGB0)) {
86142 } else {
86143 fprintf(stderr, "Assert failed");
86144 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32238);
86145 nit_exit(1);
86146 }
86147 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
86148 /* ./parser//parser.nit:32240 */
86149 if (UNTAG_Bool(REGB0)) {
86150 } else {
86151 fprintf(stderr, "Assert failed");
86152 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32240);
86153 nit_exit(1);
86154 }
86155 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
86156 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
86157 /* ./parser//parser.nit:32245 */
86158 if (UNTAG_Bool(REGB0)) {
86159 } else {
86160 fprintf(stderr, "Assert failed");
86161 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32245);
86162 nit_exit(1);
86163 }
86164 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
86165 /* ./parser//parser.nit:32247 */
86166 if (UNTAG_Bool(REGB0)) {
86167 } else {
86168 fprintf(stderr, "Assert failed");
86169 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32247);
86170 nit_exit(1);
86171 }
86172 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
86173 fra.me.REG[0] = fra.me.REG[2];
86174 REGB0 = TAG_Int(76);
86175 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
86176 /* ./parser//parser.nit:32258 */
86177 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
86178 stack_frame_head = fra.me.prev;
86179 return;
86180 }
86181 void parser___ReduceAction803___init(val_t p0, int* init_table){
86182 int itpos807 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction803].i;
86183 struct {struct stack_frame_t me;} fra;
86184 val_t tmp;
86185 if (init_table[itpos807]) return;
86186 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
86187 fra.me.file = LOCATE_parser;
86188 fra.me.line = 32260;
86189 fra.me.meth = LOCATE_parser___ReduceAction803___init;
86190 fra.me.has_broke = 0;
86191 fra.me.REG_size = 1;
86192 fra.me.REG[0] = NIT_NULL;
86193 fra.me.REG[0] = p0;
86194 /* ./parser//parser.nit:32260 */
86195 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
86196 stack_frame_head = fra.me.prev;
86197 init_table[itpos807] = 1;
86198 return;
86199 }
86200 void parser___ReduceAction804___action(val_t p0, val_t p1){
86201 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
86202 val_t REGB0;
86203 val_t tmp;
86204 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
86205 fra.me.file = LOCATE_parser;
86206 fra.me.line = 32264;
86207 fra.me.meth = LOCATE_parser___ReduceAction804___action;
86208 fra.me.has_broke = 0;
86209 fra.me.REG_size = 9;
86210 fra.me.REG[0] = NIT_NULL;
86211 fra.me.REG[1] = NIT_NULL;
86212 fra.me.REG[2] = NIT_NULL;
86213 fra.me.REG[3] = NIT_NULL;
86214 fra.me.REG[4] = NIT_NULL;
86215 fra.me.REG[5] = NIT_NULL;
86216 fra.me.REG[6] = NIT_NULL;
86217 fra.me.REG[7] = NIT_NULL;
86218 fra.me.REG[8] = NIT_NULL;
86219 fra.me.REG[0] = p0;
86220 fra.me.REG[1] = p1;
86221 fra.me.REG[0] = NIT_NULL;
86222 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86223 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86224 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86225 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86226 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86227 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86228 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86229 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86230 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86231 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
86232 /* ./parser//parser.nit:32277 */
86233 if (UNTAG_Bool(REGB0)) {
86234 } else {
86235 fprintf(stderr, "Assert failed");
86236 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32277);
86237 nit_exit(1);
86238 }
86239 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
86240 /* ./parser//parser.nit:32279 */
86241 if (UNTAG_Bool(REGB0)) {
86242 } else {
86243 fprintf(stderr, "Assert failed");
86244 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32279);
86245 nit_exit(1);
86246 }
86247 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
86248 /* ./parser//parser.nit:32281 */
86249 if (UNTAG_Bool(REGB0)) {
86250 } else {
86251 fprintf(stderr, "Assert failed");
86252 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32281);
86253 nit_exit(1);
86254 }
86255 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
86256 /* ./parser//parser.nit:32283 */
86257 if (UNTAG_Bool(REGB0)) {
86258 } else {
86259 fprintf(stderr, "Assert failed");
86260 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32283);
86261 nit_exit(1);
86262 }
86263 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
86264 /* ./parser//parser.nit:32285 */
86265 if (UNTAG_Bool(REGB0)) {
86266 } else {
86267 fprintf(stderr, "Assert failed");
86268 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32285);
86269 nit_exit(1);
86270 }
86271 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
86272 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
86273 /* ./parser//parser.nit:32290 */
86274 if (UNTAG_Bool(REGB0)) {
86275 } else {
86276 fprintf(stderr, "Assert failed");
86277 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32290);
86278 nit_exit(1);
86279 }
86280 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
86281 /* ./parser//parser.nit:32292 */
86282 if (UNTAG_Bool(REGB0)) {
86283 } else {
86284 fprintf(stderr, "Assert failed");
86285 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32292);
86286 nit_exit(1);
86287 }
86288 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
86289 fra.me.REG[0] = fra.me.REG[2];
86290 REGB0 = TAG_Int(76);
86291 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
86292 /* ./parser//parser.nit:32303 */
86293 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
86294 stack_frame_head = fra.me.prev;
86295 return;
86296 }
86297 void parser___ReduceAction804___init(val_t p0, int* init_table){
86298 int itpos808 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction804].i;
86299 struct {struct stack_frame_t me;} fra;
86300 val_t tmp;
86301 if (init_table[itpos808]) return;
86302 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
86303 fra.me.file = LOCATE_parser;
86304 fra.me.line = 32305;
86305 fra.me.meth = LOCATE_parser___ReduceAction804___init;
86306 fra.me.has_broke = 0;
86307 fra.me.REG_size = 1;
86308 fra.me.REG[0] = NIT_NULL;
86309 fra.me.REG[0] = p0;
86310 /* ./parser//parser.nit:32305 */
86311 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
86312 stack_frame_head = fra.me.prev;
86313 init_table[itpos808] = 1;
86314 return;
86315 }
86316 void parser___ReduceAction805___action(val_t p0, val_t p1){
86317 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
86318 val_t REGB0;
86319 val_t tmp;
86320 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
86321 fra.me.file = LOCATE_parser;
86322 fra.me.line = 32309;
86323 fra.me.meth = LOCATE_parser___ReduceAction805___action;
86324 fra.me.has_broke = 0;
86325 fra.me.REG_size = 9;
86326 fra.me.REG[0] = NIT_NULL;
86327 fra.me.REG[1] = NIT_NULL;
86328 fra.me.REG[2] = NIT_NULL;
86329 fra.me.REG[3] = NIT_NULL;
86330 fra.me.REG[4] = NIT_NULL;
86331 fra.me.REG[5] = NIT_NULL;
86332 fra.me.REG[6] = NIT_NULL;
86333 fra.me.REG[7] = NIT_NULL;
86334 fra.me.REG[8] = NIT_NULL;
86335 fra.me.REG[0] = p0;
86336 fra.me.REG[1] = p1;
86337 fra.me.REG[0] = NIT_NULL;
86338 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86339 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86340 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86341 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86342 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86343 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86344 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86345 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86346 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86347 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
86348 /* ./parser//parser.nit:32322 */
86349 if (UNTAG_Bool(REGB0)) {
86350 } else {
86351 fprintf(stderr, "Assert failed");
86352 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32322);
86353 nit_exit(1);
86354 }
86355 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
86356 /* ./parser//parser.nit:32324 */
86357 if (UNTAG_Bool(REGB0)) {
86358 } else {
86359 fprintf(stderr, "Assert failed");
86360 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32324);
86361 nit_exit(1);
86362 }
86363 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
86364 /* ./parser//parser.nit:32326 */
86365 if (UNTAG_Bool(REGB0)) {
86366 } else {
86367 fprintf(stderr, "Assert failed");
86368 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32326);
86369 nit_exit(1);
86370 }
86371 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
86372 /* ./parser//parser.nit:32328 */
86373 if (UNTAG_Bool(REGB0)) {
86374 } else {
86375 fprintf(stderr, "Assert failed");
86376 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32328);
86377 nit_exit(1);
86378 }
86379 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
86380 /* ./parser//parser.nit:32330 */
86381 if (UNTAG_Bool(REGB0)) {
86382 } else {
86383 fprintf(stderr, "Assert failed");
86384 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32330);
86385 nit_exit(1);
86386 }
86387 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
86388 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
86389 /* ./parser//parser.nit:32335 */
86390 if (UNTAG_Bool(REGB0)) {
86391 } else {
86392 fprintf(stderr, "Assert failed");
86393 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32335);
86394 nit_exit(1);
86395 }
86396 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
86397 /* ./parser//parser.nit:32337 */
86398 if (UNTAG_Bool(REGB0)) {
86399 } else {
86400 fprintf(stderr, "Assert failed");
86401 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32337);
86402 nit_exit(1);
86403 }
86404 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
86405 fra.me.REG[0] = fra.me.REG[2];
86406 REGB0 = TAG_Int(76);
86407 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
86408 /* ./parser//parser.nit:32348 */
86409 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
86410 stack_frame_head = fra.me.prev;
86411 return;
86412 }
86413 void parser___ReduceAction805___init(val_t p0, int* init_table){
86414 int itpos809 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction805].i;
86415 struct {struct stack_frame_t me;} fra;
86416 val_t tmp;
86417 if (init_table[itpos809]) return;
86418 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
86419 fra.me.file = LOCATE_parser;
86420 fra.me.line = 32350;
86421 fra.me.meth = LOCATE_parser___ReduceAction805___init;
86422 fra.me.has_broke = 0;
86423 fra.me.REG_size = 1;
86424 fra.me.REG[0] = NIT_NULL;
86425 fra.me.REG[0] = p0;
86426 /* ./parser//parser.nit:32350 */
86427 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
86428 stack_frame_head = fra.me.prev;
86429 init_table[itpos809] = 1;
86430 return;
86431 }
86432 void parser___ReduceAction806___action(val_t p0, val_t p1){
86433 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
86434 val_t REGB0;
86435 val_t tmp;
86436 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
86437 fra.me.file = LOCATE_parser;
86438 fra.me.line = 32354;
86439 fra.me.meth = LOCATE_parser___ReduceAction806___action;
86440 fra.me.has_broke = 0;
86441 fra.me.REG_size = 9;
86442 fra.me.REG[0] = NIT_NULL;
86443 fra.me.REG[1] = NIT_NULL;
86444 fra.me.REG[2] = NIT_NULL;
86445 fra.me.REG[3] = NIT_NULL;
86446 fra.me.REG[4] = NIT_NULL;
86447 fra.me.REG[5] = NIT_NULL;
86448 fra.me.REG[6] = NIT_NULL;
86449 fra.me.REG[7] = NIT_NULL;
86450 fra.me.REG[8] = NIT_NULL;
86451 fra.me.REG[0] = p0;
86452 fra.me.REG[1] = p1;
86453 fra.me.REG[0] = NIT_NULL;
86454 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86455 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86456 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86457 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86458 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86459 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86460 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86461 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86462 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86463 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
86464 /* ./parser//parser.nit:32367 */
86465 if (UNTAG_Bool(REGB0)) {
86466 } else {
86467 fprintf(stderr, "Assert failed");
86468 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32367);
86469 nit_exit(1);
86470 }
86471 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
86472 /* ./parser//parser.nit:32369 */
86473 if (UNTAG_Bool(REGB0)) {
86474 } else {
86475 fprintf(stderr, "Assert failed");
86476 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32369);
86477 nit_exit(1);
86478 }
86479 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
86480 /* ./parser//parser.nit:32371 */
86481 if (UNTAG_Bool(REGB0)) {
86482 } else {
86483 fprintf(stderr, "Assert failed");
86484 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32371);
86485 nit_exit(1);
86486 }
86487 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
86488 /* ./parser//parser.nit:32373 */
86489 if (UNTAG_Bool(REGB0)) {
86490 } else {
86491 fprintf(stderr, "Assert failed");
86492 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32373);
86493 nit_exit(1);
86494 }
86495 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
86496 /* ./parser//parser.nit:32375 */
86497 if (UNTAG_Bool(REGB0)) {
86498 } else {
86499 fprintf(stderr, "Assert failed");
86500 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32375);
86501 nit_exit(1);
86502 }
86503 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
86504 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
86505 /* ./parser//parser.nit:32380 */
86506 if (UNTAG_Bool(REGB0)) {
86507 } else {
86508 fprintf(stderr, "Assert failed");
86509 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32380);
86510 nit_exit(1);
86511 }
86512 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
86513 /* ./parser//parser.nit:32382 */
86514 if (UNTAG_Bool(REGB0)) {
86515 } else {
86516 fprintf(stderr, "Assert failed");
86517 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32382);
86518 nit_exit(1);
86519 }
86520 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
86521 fra.me.REG[0] = fra.me.REG[2];
86522 REGB0 = TAG_Int(76);
86523 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
86524 /* ./parser//parser.nit:32393 */
86525 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
86526 stack_frame_head = fra.me.prev;
86527 return;
86528 }
86529 void parser___ReduceAction806___init(val_t p0, int* init_table){
86530 int itpos810 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction806].i;
86531 struct {struct stack_frame_t me;} fra;
86532 val_t tmp;
86533 if (init_table[itpos810]) return;
86534 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
86535 fra.me.file = LOCATE_parser;
86536 fra.me.line = 32395;
86537 fra.me.meth = LOCATE_parser___ReduceAction806___init;
86538 fra.me.has_broke = 0;
86539 fra.me.REG_size = 1;
86540 fra.me.REG[0] = NIT_NULL;
86541 fra.me.REG[0] = p0;
86542 /* ./parser//parser.nit:32395 */
86543 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
86544 stack_frame_head = fra.me.prev;
86545 init_table[itpos810] = 1;
86546 return;
86547 }
86548 void parser___ReduceAction807___action(val_t p0, val_t p1){
86549 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
86550 val_t REGB0;
86551 val_t tmp;
86552 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
86553 fra.me.file = LOCATE_parser;
86554 fra.me.line = 32399;
86555 fra.me.meth = LOCATE_parser___ReduceAction807___action;
86556 fra.me.has_broke = 0;
86557 fra.me.REG_size = 9;
86558 fra.me.REG[0] = NIT_NULL;
86559 fra.me.REG[1] = NIT_NULL;
86560 fra.me.REG[2] = NIT_NULL;
86561 fra.me.REG[3] = NIT_NULL;
86562 fra.me.REG[4] = NIT_NULL;
86563 fra.me.REG[5] = NIT_NULL;
86564 fra.me.REG[6] = NIT_NULL;
86565 fra.me.REG[7] = NIT_NULL;
86566 fra.me.REG[8] = NIT_NULL;
86567 fra.me.REG[0] = p0;
86568 fra.me.REG[1] = p1;
86569 fra.me.REG[0] = NIT_NULL;
86570 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86571 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86572 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86573 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86574 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86575 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86576 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86577 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86578 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86579 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
86580 /* ./parser//parser.nit:32412 */
86581 if (UNTAG_Bool(REGB0)) {
86582 } else {
86583 fprintf(stderr, "Assert failed");
86584 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32412);
86585 nit_exit(1);
86586 }
86587 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
86588 /* ./parser//parser.nit:32414 */
86589 if (UNTAG_Bool(REGB0)) {
86590 } else {
86591 fprintf(stderr, "Assert failed");
86592 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32414);
86593 nit_exit(1);
86594 }
86595 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
86596 /* ./parser//parser.nit:32416 */
86597 if (UNTAG_Bool(REGB0)) {
86598 } else {
86599 fprintf(stderr, "Assert failed");
86600 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32416);
86601 nit_exit(1);
86602 }
86603 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
86604 /* ./parser//parser.nit:32418 */
86605 if (UNTAG_Bool(REGB0)) {
86606 } else {
86607 fprintf(stderr, "Assert failed");
86608 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32418);
86609 nit_exit(1);
86610 }
86611 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
86612 /* ./parser//parser.nit:32420 */
86613 if (UNTAG_Bool(REGB0)) {
86614 } else {
86615 fprintf(stderr, "Assert failed");
86616 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32420);
86617 nit_exit(1);
86618 }
86619 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
86620 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
86621 /* ./parser//parser.nit:32425 */
86622 if (UNTAG_Bool(REGB0)) {
86623 } else {
86624 fprintf(stderr, "Assert failed");
86625 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32425);
86626 nit_exit(1);
86627 }
86628 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
86629 /* ./parser//parser.nit:32427 */
86630 if (UNTAG_Bool(REGB0)) {
86631 } else {
86632 fprintf(stderr, "Assert failed");
86633 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32427);
86634 nit_exit(1);
86635 }
86636 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
86637 fra.me.REG[0] = fra.me.REG[2];
86638 REGB0 = TAG_Int(76);
86639 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
86640 /* ./parser//parser.nit:32438 */
86641 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
86642 stack_frame_head = fra.me.prev;
86643 return;
86644 }
86645 void parser___ReduceAction807___init(val_t p0, int* init_table){
86646 int itpos811 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction807].i;
86647 struct {struct stack_frame_t me;} fra;
86648 val_t tmp;
86649 if (init_table[itpos811]) return;
86650 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
86651 fra.me.file = LOCATE_parser;
86652 fra.me.line = 32440;
86653 fra.me.meth = LOCATE_parser___ReduceAction807___init;
86654 fra.me.has_broke = 0;
86655 fra.me.REG_size = 1;
86656 fra.me.REG[0] = NIT_NULL;
86657 fra.me.REG[0] = p0;
86658 /* ./parser//parser.nit:32440 */
86659 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
86660 stack_frame_head = fra.me.prev;
86661 init_table[itpos811] = 1;
86662 return;
86663 }
86664 void parser___ReduceAction808___action(val_t p0, val_t p1){
86665 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
86666 val_t REGB0;
86667 val_t tmp;
86668 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
86669 fra.me.file = LOCATE_parser;
86670 fra.me.line = 32444;
86671 fra.me.meth = LOCATE_parser___ReduceAction808___action;
86672 fra.me.has_broke = 0;
86673 fra.me.REG_size = 9;
86674 fra.me.REG[0] = NIT_NULL;
86675 fra.me.REG[1] = NIT_NULL;
86676 fra.me.REG[2] = NIT_NULL;
86677 fra.me.REG[3] = NIT_NULL;
86678 fra.me.REG[4] = NIT_NULL;
86679 fra.me.REG[5] = NIT_NULL;
86680 fra.me.REG[6] = NIT_NULL;
86681 fra.me.REG[7] = NIT_NULL;
86682 fra.me.REG[8] = NIT_NULL;
86683 fra.me.REG[0] = p0;
86684 fra.me.REG[1] = p1;
86685 fra.me.REG[0] = NIT_NULL;
86686 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86687 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86688 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86689 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86690 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86691 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86692 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86693 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86694 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86695 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
86696 /* ./parser//parser.nit:32457 */
86697 if (UNTAG_Bool(REGB0)) {
86698 } else {
86699 fprintf(stderr, "Assert failed");
86700 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32457);
86701 nit_exit(1);
86702 }
86703 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
86704 /* ./parser//parser.nit:32459 */
86705 if (UNTAG_Bool(REGB0)) {
86706 } else {
86707 fprintf(stderr, "Assert failed");
86708 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32459);
86709 nit_exit(1);
86710 }
86711 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
86712 /* ./parser//parser.nit:32461 */
86713 if (UNTAG_Bool(REGB0)) {
86714 } else {
86715 fprintf(stderr, "Assert failed");
86716 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32461);
86717 nit_exit(1);
86718 }
86719 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
86720 /* ./parser//parser.nit:32463 */
86721 if (UNTAG_Bool(REGB0)) {
86722 } else {
86723 fprintf(stderr, "Assert failed");
86724 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32463);
86725 nit_exit(1);
86726 }
86727 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
86728 /* ./parser//parser.nit:32465 */
86729 if (UNTAG_Bool(REGB0)) {
86730 } else {
86731 fprintf(stderr, "Assert failed");
86732 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32465);
86733 nit_exit(1);
86734 }
86735 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
86736 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
86737 /* ./parser//parser.nit:32470 */
86738 if (UNTAG_Bool(REGB0)) {
86739 } else {
86740 fprintf(stderr, "Assert failed");
86741 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32470);
86742 nit_exit(1);
86743 }
86744 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
86745 /* ./parser//parser.nit:32472 */
86746 if (UNTAG_Bool(REGB0)) {
86747 } else {
86748 fprintf(stderr, "Assert failed");
86749 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32472);
86750 nit_exit(1);
86751 }
86752 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
86753 fra.me.REG[0] = fra.me.REG[2];
86754 REGB0 = TAG_Int(76);
86755 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
86756 /* ./parser//parser.nit:32483 */
86757 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
86758 stack_frame_head = fra.me.prev;
86759 return;
86760 }
86761 void parser___ReduceAction808___init(val_t p0, int* init_table){
86762 int itpos812 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction808].i;
86763 struct {struct stack_frame_t me;} fra;
86764 val_t tmp;
86765 if (init_table[itpos812]) return;
86766 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
86767 fra.me.file = LOCATE_parser;
86768 fra.me.line = 32485;
86769 fra.me.meth = LOCATE_parser___ReduceAction808___init;
86770 fra.me.has_broke = 0;
86771 fra.me.REG_size = 1;
86772 fra.me.REG[0] = NIT_NULL;
86773 fra.me.REG[0] = p0;
86774 /* ./parser//parser.nit:32485 */
86775 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
86776 stack_frame_head = fra.me.prev;
86777 init_table[itpos812] = 1;
86778 return;
86779 }
86780 void parser___ReduceAction809___action(val_t p0, val_t p1){
86781 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
86782 val_t REGB0;
86783 val_t tmp;
86784 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
86785 fra.me.file = LOCATE_parser;
86786 fra.me.line = 32489;
86787 fra.me.meth = LOCATE_parser___ReduceAction809___action;
86788 fra.me.has_broke = 0;
86789 fra.me.REG_size = 9;
86790 fra.me.REG[0] = NIT_NULL;
86791 fra.me.REG[1] = NIT_NULL;
86792 fra.me.REG[2] = NIT_NULL;
86793 fra.me.REG[3] = NIT_NULL;
86794 fra.me.REG[4] = NIT_NULL;
86795 fra.me.REG[5] = NIT_NULL;
86796 fra.me.REG[6] = NIT_NULL;
86797 fra.me.REG[7] = NIT_NULL;
86798 fra.me.REG[8] = NIT_NULL;
86799 fra.me.REG[0] = p0;
86800 fra.me.REG[1] = p1;
86801 fra.me.REG[0] = NIT_NULL;
86802 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86803 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86804 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86805 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86806 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86807 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86808 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86809 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86810 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86811 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
86812 /* ./parser//parser.nit:32502 */
86813 if (UNTAG_Bool(REGB0)) {
86814 } else {
86815 fprintf(stderr, "Assert failed");
86816 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32502);
86817 nit_exit(1);
86818 }
86819 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
86820 /* ./parser//parser.nit:32504 */
86821 if (UNTAG_Bool(REGB0)) {
86822 } else {
86823 fprintf(stderr, "Assert failed");
86824 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32504);
86825 nit_exit(1);
86826 }
86827 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
86828 /* ./parser//parser.nit:32506 */
86829 if (UNTAG_Bool(REGB0)) {
86830 } else {
86831 fprintf(stderr, "Assert failed");
86832 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32506);
86833 nit_exit(1);
86834 }
86835 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
86836 /* ./parser//parser.nit:32508 */
86837 if (UNTAG_Bool(REGB0)) {
86838 } else {
86839 fprintf(stderr, "Assert failed");
86840 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32508);
86841 nit_exit(1);
86842 }
86843 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
86844 /* ./parser//parser.nit:32510 */
86845 if (UNTAG_Bool(REGB0)) {
86846 } else {
86847 fprintf(stderr, "Assert failed");
86848 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32510);
86849 nit_exit(1);
86850 }
86851 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
86852 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
86853 /* ./parser//parser.nit:32515 */
86854 if (UNTAG_Bool(REGB0)) {
86855 } else {
86856 fprintf(stderr, "Assert failed");
86857 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32515);
86858 nit_exit(1);
86859 }
86860 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
86861 /* ./parser//parser.nit:32517 */
86862 if (UNTAG_Bool(REGB0)) {
86863 } else {
86864 fprintf(stderr, "Assert failed");
86865 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32517);
86866 nit_exit(1);
86867 }
86868 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
86869 fra.me.REG[0] = fra.me.REG[2];
86870 REGB0 = TAG_Int(76);
86871 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
86872 /* ./parser//parser.nit:32528 */
86873 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
86874 stack_frame_head = fra.me.prev;
86875 return;
86876 }
86877 void parser___ReduceAction809___init(val_t p0, int* init_table){
86878 int itpos813 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction809].i;
86879 struct {struct stack_frame_t me;} fra;
86880 val_t tmp;
86881 if (init_table[itpos813]) return;
86882 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
86883 fra.me.file = LOCATE_parser;
86884 fra.me.line = 32530;
86885 fra.me.meth = LOCATE_parser___ReduceAction809___init;
86886 fra.me.has_broke = 0;
86887 fra.me.REG_size = 1;
86888 fra.me.REG[0] = NIT_NULL;
86889 fra.me.REG[0] = p0;
86890 /* ./parser//parser.nit:32530 */
86891 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
86892 stack_frame_head = fra.me.prev;
86893 init_table[itpos813] = 1;
86894 return;
86895 }
86896 void parser___ReduceAction810___action(val_t p0, val_t p1){
86897 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
86898 val_t REGB0;
86899 val_t tmp;
86900 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
86901 fra.me.file = LOCATE_parser;
86902 fra.me.line = 32534;
86903 fra.me.meth = LOCATE_parser___ReduceAction810___action;
86904 fra.me.has_broke = 0;
86905 fra.me.REG_size = 10;
86906 fra.me.REG[0] = NIT_NULL;
86907 fra.me.REG[1] = NIT_NULL;
86908 fra.me.REG[2] = NIT_NULL;
86909 fra.me.REG[3] = NIT_NULL;
86910 fra.me.REG[4] = NIT_NULL;
86911 fra.me.REG[5] = NIT_NULL;
86912 fra.me.REG[6] = NIT_NULL;
86913 fra.me.REG[7] = NIT_NULL;
86914 fra.me.REG[8] = NIT_NULL;
86915 fra.me.REG[9] = NIT_NULL;
86916 fra.me.REG[0] = p0;
86917 fra.me.REG[1] = p1;
86918 fra.me.REG[0] = NIT_NULL;
86919 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86920 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86921 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86922 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86923 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86924 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86925 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86926 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86927 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86928 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
86929 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
86930 /* ./parser//parser.nit:32548 */
86931 if (UNTAG_Bool(REGB0)) {
86932 } else {
86933 fprintf(stderr, "Assert failed");
86934 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32548);
86935 nit_exit(1);
86936 }
86937 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
86938 /* ./parser//parser.nit:32550 */
86939 if (UNTAG_Bool(REGB0)) {
86940 } else {
86941 fprintf(stderr, "Assert failed");
86942 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32550);
86943 nit_exit(1);
86944 }
86945 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
86946 /* ./parser//parser.nit:32552 */
86947 if (UNTAG_Bool(REGB0)) {
86948 } else {
86949 fprintf(stderr, "Assert failed");
86950 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32552);
86951 nit_exit(1);
86952 }
86953 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
86954 /* ./parser//parser.nit:32554 */
86955 if (UNTAG_Bool(REGB0)) {
86956 } else {
86957 fprintf(stderr, "Assert failed");
86958 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32554);
86959 nit_exit(1);
86960 }
86961 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
86962 /* ./parser//parser.nit:32556 */
86963 if (UNTAG_Bool(REGB0)) {
86964 } else {
86965 fprintf(stderr, "Assert failed");
86966 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32556);
86967 nit_exit(1);
86968 }
86969 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
86970 /* ./parser//parser.nit:32558 */
86971 if (UNTAG_Bool(REGB0)) {
86972 } else {
86973 fprintf(stderr, "Assert failed");
86974 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32558);
86975 nit_exit(1);
86976 }
86977 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
86978 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
86979 /* ./parser//parser.nit:32564 */
86980 if (UNTAG_Bool(REGB0)) {
86981 } else {
86982 fprintf(stderr, "Assert failed");
86983 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32564);
86984 nit_exit(1);
86985 }
86986 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
86987 /* ./parser//parser.nit:32566 */
86988 if (UNTAG_Bool(REGB0)) {
86989 } else {
86990 fprintf(stderr, "Assert failed");
86991 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32566);
86992 nit_exit(1);
86993 }
86994 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
86995 fra.me.REG[0] = fra.me.REG[2];
86996 REGB0 = TAG_Int(76);
86997 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
86998 /* ./parser//parser.nit:32577 */
86999 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
87000 stack_frame_head = fra.me.prev;
87001 return;
87002 }
87003 void parser___ReduceAction810___init(val_t p0, int* init_table){
87004 int itpos814 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction810].i;
87005 struct {struct stack_frame_t me;} fra;
87006 val_t tmp;
87007 if (init_table[itpos814]) return;
87008 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87009 fra.me.file = LOCATE_parser;
87010 fra.me.line = 32579;
87011 fra.me.meth = LOCATE_parser___ReduceAction810___init;
87012 fra.me.has_broke = 0;
87013 fra.me.REG_size = 1;
87014 fra.me.REG[0] = NIT_NULL;
87015 fra.me.REG[0] = p0;
87016 /* ./parser//parser.nit:32579 */
87017 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
87018 stack_frame_head = fra.me.prev;
87019 init_table[itpos814] = 1;
87020 return;
87021 }
87022 void parser___ReduceAction811___action(val_t p0, val_t p1){
87023 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
87024 val_t REGB0;
87025 val_t tmp;
87026 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87027 fra.me.file = LOCATE_parser;
87028 fra.me.line = 32583;
87029 fra.me.meth = LOCATE_parser___ReduceAction811___action;
87030 fra.me.has_broke = 0;
87031 fra.me.REG_size = 9;
87032 fra.me.REG[0] = NIT_NULL;
87033 fra.me.REG[1] = NIT_NULL;
87034 fra.me.REG[2] = NIT_NULL;
87035 fra.me.REG[3] = NIT_NULL;
87036 fra.me.REG[4] = NIT_NULL;
87037 fra.me.REG[5] = NIT_NULL;
87038 fra.me.REG[6] = NIT_NULL;
87039 fra.me.REG[7] = NIT_NULL;
87040 fra.me.REG[8] = NIT_NULL;
87041 fra.me.REG[0] = p0;
87042 fra.me.REG[1] = p1;
87043 fra.me.REG[0] = NIT_NULL;
87044 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87045 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87046 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87047 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87048 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87049 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87050 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87051 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87052 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87053 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
87054 /* ./parser//parser.nit:32596 */
87055 if (UNTAG_Bool(REGB0)) {
87056 } else {
87057 fprintf(stderr, "Assert failed");
87058 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32596);
87059 nit_exit(1);
87060 }
87061 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
87062 /* ./parser//parser.nit:32598 */
87063 if (UNTAG_Bool(REGB0)) {
87064 } else {
87065 fprintf(stderr, "Assert failed");
87066 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32598);
87067 nit_exit(1);
87068 }
87069 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
87070 /* ./parser//parser.nit:32600 */
87071 if (UNTAG_Bool(REGB0)) {
87072 } else {
87073 fprintf(stderr, "Assert failed");
87074 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32600);
87075 nit_exit(1);
87076 }
87077 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
87078 /* ./parser//parser.nit:32602 */
87079 if (UNTAG_Bool(REGB0)) {
87080 } else {
87081 fprintf(stderr, "Assert failed");
87082 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32602);
87083 nit_exit(1);
87084 }
87085 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
87086 /* ./parser//parser.nit:32604 */
87087 if (UNTAG_Bool(REGB0)) {
87088 } else {
87089 fprintf(stderr, "Assert failed");
87090 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32604);
87091 nit_exit(1);
87092 }
87093 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
87094 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
87095 /* ./parser//parser.nit:32609 */
87096 if (UNTAG_Bool(REGB0)) {
87097 } else {
87098 fprintf(stderr, "Assert failed");
87099 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32609);
87100 nit_exit(1);
87101 }
87102 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
87103 /* ./parser//parser.nit:32611 */
87104 if (UNTAG_Bool(REGB0)) {
87105 } else {
87106 fprintf(stderr, "Assert failed");
87107 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32611);
87108 nit_exit(1);
87109 }
87110 fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
87111 fra.me.REG[0] = fra.me.REG[2];
87112 REGB0 = TAG_Int(76);
87113 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
87114 /* ./parser//parser.nit:32622 */
87115 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
87116 stack_frame_head = fra.me.prev;
87117 return;
87118 }
87119 void parser___ReduceAction811___init(val_t p0, int* init_table){
87120 int itpos815 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction811].i;
87121 struct {struct stack_frame_t me;} fra;
87122 val_t tmp;
87123 if (init_table[itpos815]) return;
87124 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87125 fra.me.file = LOCATE_parser;
87126 fra.me.line = 32624;
87127 fra.me.meth = LOCATE_parser___ReduceAction811___init;
87128 fra.me.has_broke = 0;
87129 fra.me.REG_size = 1;
87130 fra.me.REG[0] = NIT_NULL;
87131 fra.me.REG[0] = p0;
87132 /* ./parser//parser.nit:32624 */
87133 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
87134 stack_frame_head = fra.me.prev;
87135 init_table[itpos815] = 1;
87136 return;
87137 }
87138 void parser___ReduceAction812___action(val_t p0, val_t p1){
87139 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
87140 val_t REGB0;
87141 val_t tmp;
87142 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87143 fra.me.file = LOCATE_parser;
87144 fra.me.line = 32628;
87145 fra.me.meth = LOCATE_parser___ReduceAction812___action;
87146 fra.me.has_broke = 0;
87147 fra.me.REG_size = 7;
87148 fra.me.REG[0] = NIT_NULL;
87149 fra.me.REG[1] = NIT_NULL;
87150 fra.me.REG[2] = NIT_NULL;
87151 fra.me.REG[3] = NIT_NULL;
87152 fra.me.REG[4] = NIT_NULL;
87153 fra.me.REG[5] = NIT_NULL;
87154 fra.me.REG[6] = NIT_NULL;
87155 fra.me.REG[0] = p0;
87156 fra.me.REG[1] = p1;
87157 fra.me.REG[0] = NIT_NULL;
87158 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87159 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87160 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87161 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87162 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87163 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87164 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87165 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
87166 /* ./parser//parser.nit:32639 */
87167 if (UNTAG_Bool(REGB0)) {
87168 } else {
87169 fprintf(stderr, "Assert failed");
87170 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32639);
87171 nit_exit(1);
87172 }
87173 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
87174 /* ./parser//parser.nit:32641 */
87175 if (UNTAG_Bool(REGB0)) {
87176 } else {
87177 fprintf(stderr, "Assert failed");
87178 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32641);
87179 nit_exit(1);
87180 }
87181 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
87182 /* ./parser//parser.nit:32643 */
87183 if (UNTAG_Bool(REGB0)) {
87184 } else {
87185 fprintf(stderr, "Assert failed");
87186 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32643);
87187 nit_exit(1);
87188 }
87189 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
87190 /* ./parser//parser.nit:32645 */
87191 if (UNTAG_Bool(REGB0)) {
87192 } else {
87193 fprintf(stderr, "Assert failed");
87194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32645);
87195 nit_exit(1);
87196 }
87197 fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
87198 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
87199 /* ./parser//parser.nit:32650 */
87200 if (UNTAG_Bool(REGB0)) {
87201 } else {
87202 fprintf(stderr, "Assert failed");
87203 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32650);
87204 nit_exit(1);
87205 }
87206 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
87207 fra.me.REG[0] = fra.me.REG[2];
87208 REGB0 = TAG_Int(76);
87209 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
87210 /* ./parser//parser.nit:32661 */
87211 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
87212 stack_frame_head = fra.me.prev;
87213 return;
87214 }
87215 void parser___ReduceAction812___init(val_t p0, int* init_table){
87216 int itpos816 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction812].i;
87217 struct {struct stack_frame_t me;} fra;
87218 val_t tmp;
87219 if (init_table[itpos816]) return;
87220 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87221 fra.me.file = LOCATE_parser;
87222 fra.me.line = 32663;
87223 fra.me.meth = LOCATE_parser___ReduceAction812___init;
87224 fra.me.has_broke = 0;
87225 fra.me.REG_size = 1;
87226 fra.me.REG[0] = NIT_NULL;
87227 fra.me.REG[0] = p0;
87228 /* ./parser//parser.nit:32663 */
87229 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
87230 stack_frame_head = fra.me.prev;
87231 init_table[itpos816] = 1;
87232 return;
87233 }
87234 void parser___ReduceAction813___action(val_t p0, val_t p1){
87235 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
87236 val_t REGB0;
87237 val_t tmp;
87238 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87239 fra.me.file = LOCATE_parser;
87240 fra.me.line = 32667;
87241 fra.me.meth = LOCATE_parser___ReduceAction813___action;
87242 fra.me.has_broke = 0;
87243 fra.me.REG_size = 7;
87244 fra.me.REG[0] = NIT_NULL;
87245 fra.me.REG[1] = NIT_NULL;
87246 fra.me.REG[2] = NIT_NULL;
87247 fra.me.REG[3] = NIT_NULL;
87248 fra.me.REG[4] = NIT_NULL;
87249 fra.me.REG[5] = NIT_NULL;
87250 fra.me.REG[6] = NIT_NULL;
87251 fra.me.REG[0] = p0;
87252 fra.me.REG[1] = p1;
87253 fra.me.REG[0] = NIT_NULL;
87254 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87255 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87256 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87257 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87258 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87259 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87260 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87261 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
87262 /* ./parser//parser.nit:32678 */
87263 if (UNTAG_Bool(REGB0)) {
87264 } else {
87265 fprintf(stderr, "Assert failed");
87266 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32678);
87267 nit_exit(1);
87268 }
87269 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
87270 /* ./parser//parser.nit:32680 */
87271 if (UNTAG_Bool(REGB0)) {
87272 } else {
87273 fprintf(stderr, "Assert failed");
87274 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32680);
87275 nit_exit(1);
87276 }
87277 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
87278 /* ./parser//parser.nit:32682 */
87279 if (UNTAG_Bool(REGB0)) {
87280 } else {
87281 fprintf(stderr, "Assert failed");
87282 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32682);
87283 nit_exit(1);
87284 }
87285 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
87286 /* ./parser//parser.nit:32684 */
87287 if (UNTAG_Bool(REGB0)) {
87288 } else {
87289 fprintf(stderr, "Assert failed");
87290 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32684);
87291 nit_exit(1);
87292 }
87293 fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
87294 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
87295 /* ./parser//parser.nit:32689 */
87296 if (UNTAG_Bool(REGB0)) {
87297 } else {
87298 fprintf(stderr, "Assert failed");
87299 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32689);
87300 nit_exit(1);
87301 }
87302 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
87303 fra.me.REG[0] = fra.me.REG[2];
87304 REGB0 = TAG_Int(76);
87305 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
87306 /* ./parser//parser.nit:32700 */
87307 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
87308 stack_frame_head = fra.me.prev;
87309 return;
87310 }
87311 void parser___ReduceAction813___init(val_t p0, int* init_table){
87312 int itpos817 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction813].i;
87313 struct {struct stack_frame_t me;} fra;
87314 val_t tmp;
87315 if (init_table[itpos817]) return;
87316 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87317 fra.me.file = LOCATE_parser;
87318 fra.me.line = 32702;
87319 fra.me.meth = LOCATE_parser___ReduceAction813___init;
87320 fra.me.has_broke = 0;
87321 fra.me.REG_size = 1;
87322 fra.me.REG[0] = NIT_NULL;
87323 fra.me.REG[0] = p0;
87324 /* ./parser//parser.nit:32702 */
87325 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
87326 stack_frame_head = fra.me.prev;
87327 init_table[itpos817] = 1;
87328 return;
87329 }
87330 void parser___ReduceAction814___action(val_t p0, val_t p1){
87331 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
87332 val_t REGB0;
87333 val_t tmp;
87334 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87335 fra.me.file = LOCATE_parser;
87336 fra.me.line = 32706;
87337 fra.me.meth = LOCATE_parser___ReduceAction814___action;
87338 fra.me.has_broke = 0;
87339 fra.me.REG_size = 7;
87340 fra.me.REG[0] = NIT_NULL;
87341 fra.me.REG[1] = NIT_NULL;
87342 fra.me.REG[2] = NIT_NULL;
87343 fra.me.REG[3] = NIT_NULL;
87344 fra.me.REG[4] = NIT_NULL;
87345 fra.me.REG[5] = NIT_NULL;
87346 fra.me.REG[6] = NIT_NULL;
87347 fra.me.REG[0] = p0;
87348 fra.me.REG[1] = p1;
87349 fra.me.REG[0] = NIT_NULL;
87350 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87351 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87352 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87353 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87354 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87355 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87356 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87357 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
87358 /* ./parser//parser.nit:32717 */
87359 if (UNTAG_Bool(REGB0)) {
87360 } else {
87361 fprintf(stderr, "Assert failed");
87362 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32717);
87363 nit_exit(1);
87364 }
87365 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
87366 /* ./parser//parser.nit:32719 */
87367 if (UNTAG_Bool(REGB0)) {
87368 } else {
87369 fprintf(stderr, "Assert failed");
87370 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32719);
87371 nit_exit(1);
87372 }
87373 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
87374 /* ./parser//parser.nit:32721 */
87375 if (UNTAG_Bool(REGB0)) {
87376 } else {
87377 fprintf(stderr, "Assert failed");
87378 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32721);
87379 nit_exit(1);
87380 }
87381 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
87382 /* ./parser//parser.nit:32723 */
87383 if (UNTAG_Bool(REGB0)) {
87384 } else {
87385 fprintf(stderr, "Assert failed");
87386 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32723);
87387 nit_exit(1);
87388 }
87389 fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
87390 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
87391 /* ./parser//parser.nit:32728 */
87392 if (UNTAG_Bool(REGB0)) {
87393 } else {
87394 fprintf(stderr, "Assert failed");
87395 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32728);
87396 nit_exit(1);
87397 }
87398 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
87399 fra.me.REG[0] = fra.me.REG[2];
87400 REGB0 = TAG_Int(76);
87401 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
87402 /* ./parser//parser.nit:32739 */
87403 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
87404 stack_frame_head = fra.me.prev;
87405 return;
87406 }
87407 void parser___ReduceAction814___init(val_t p0, int* init_table){
87408 int itpos818 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction814].i;
87409 struct {struct stack_frame_t me;} fra;
87410 val_t tmp;
87411 if (init_table[itpos818]) return;
87412 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87413 fra.me.file = LOCATE_parser;
87414 fra.me.line = 32741;
87415 fra.me.meth = LOCATE_parser___ReduceAction814___init;
87416 fra.me.has_broke = 0;
87417 fra.me.REG_size = 1;
87418 fra.me.REG[0] = NIT_NULL;
87419 fra.me.REG[0] = p0;
87420 /* ./parser//parser.nit:32741 */
87421 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
87422 stack_frame_head = fra.me.prev;
87423 init_table[itpos818] = 1;
87424 return;
87425 }
87426 void parser___ReduceAction815___action(val_t p0, val_t p1){
87427 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
87428 val_t REGB0;
87429 val_t tmp;
87430 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87431 fra.me.file = LOCATE_parser;
87432 fra.me.line = 32745;
87433 fra.me.meth = LOCATE_parser___ReduceAction815___action;
87434 fra.me.has_broke = 0;
87435 fra.me.REG_size = 7;
87436 fra.me.REG[0] = NIT_NULL;
87437 fra.me.REG[1] = NIT_NULL;
87438 fra.me.REG[2] = NIT_NULL;
87439 fra.me.REG[3] = NIT_NULL;
87440 fra.me.REG[4] = NIT_NULL;
87441 fra.me.REG[5] = NIT_NULL;
87442 fra.me.REG[6] = NIT_NULL;
87443 fra.me.REG[0] = p0;
87444 fra.me.REG[1] = p1;
87445 fra.me.REG[0] = NIT_NULL;
87446 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87447 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87448 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87449 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87450 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87451 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87452 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87453 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
87454 /* ./parser//parser.nit:32756 */
87455 if (UNTAG_Bool(REGB0)) {
87456 } else {
87457 fprintf(stderr, "Assert failed");
87458 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32756);
87459 nit_exit(1);
87460 }
87461 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
87462 /* ./parser//parser.nit:32758 */
87463 if (UNTAG_Bool(REGB0)) {
87464 } else {
87465 fprintf(stderr, "Assert failed");
87466 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32758);
87467 nit_exit(1);
87468 }
87469 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
87470 /* ./parser//parser.nit:32760 */
87471 if (UNTAG_Bool(REGB0)) {
87472 } else {
87473 fprintf(stderr, "Assert failed");
87474 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32760);
87475 nit_exit(1);
87476 }
87477 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
87478 /* ./parser//parser.nit:32762 */
87479 if (UNTAG_Bool(REGB0)) {
87480 } else {
87481 fprintf(stderr, "Assert failed");
87482 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32762);
87483 nit_exit(1);
87484 }
87485 fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
87486 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
87487 /* ./parser//parser.nit:32767 */
87488 if (UNTAG_Bool(REGB0)) {
87489 } else {
87490 fprintf(stderr, "Assert failed");
87491 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32767);
87492 nit_exit(1);
87493 }
87494 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
87495 fra.me.REG[0] = fra.me.REG[2];
87496 REGB0 = TAG_Int(76);
87497 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
87498 /* ./parser//parser.nit:32778 */
87499 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
87500 stack_frame_head = fra.me.prev;
87501 return;
87502 }
87503 void parser___ReduceAction815___init(val_t p0, int* init_table){
87504 int itpos819 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction815].i;
87505 struct {struct stack_frame_t me;} fra;
87506 val_t tmp;
87507 if (init_table[itpos819]) return;
87508 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87509 fra.me.file = LOCATE_parser;
87510 fra.me.line = 32780;
87511 fra.me.meth = LOCATE_parser___ReduceAction815___init;
87512 fra.me.has_broke = 0;
87513 fra.me.REG_size = 1;
87514 fra.me.REG[0] = NIT_NULL;
87515 fra.me.REG[0] = p0;
87516 /* ./parser//parser.nit:32780 */
87517 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
87518 stack_frame_head = fra.me.prev;
87519 init_table[itpos819] = 1;
87520 return;
87521 }
87522 void parser___ReduceAction816___action(val_t p0, val_t p1){
87523 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
87524 val_t REGB0;
87525 val_t tmp;
87526 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87527 fra.me.file = LOCATE_parser;
87528 fra.me.line = 32784;
87529 fra.me.meth = LOCATE_parser___ReduceAction816___action;
87530 fra.me.has_broke = 0;
87531 fra.me.REG_size = 7;
87532 fra.me.REG[0] = NIT_NULL;
87533 fra.me.REG[1] = NIT_NULL;
87534 fra.me.REG[2] = NIT_NULL;
87535 fra.me.REG[3] = NIT_NULL;
87536 fra.me.REG[4] = NIT_NULL;
87537 fra.me.REG[5] = NIT_NULL;
87538 fra.me.REG[6] = NIT_NULL;
87539 fra.me.REG[0] = p0;
87540 fra.me.REG[1] = p1;
87541 fra.me.REG[0] = NIT_NULL;
87542 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87543 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87544 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87545 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87546 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87547 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87548 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87549 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
87550 /* ./parser//parser.nit:32795 */
87551 if (UNTAG_Bool(REGB0)) {
87552 } else {
87553 fprintf(stderr, "Assert failed");
87554 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32795);
87555 nit_exit(1);
87556 }
87557 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
87558 /* ./parser//parser.nit:32797 */
87559 if (UNTAG_Bool(REGB0)) {
87560 } else {
87561 fprintf(stderr, "Assert failed");
87562 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32797);
87563 nit_exit(1);
87564 }
87565 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
87566 /* ./parser//parser.nit:32799 */
87567 if (UNTAG_Bool(REGB0)) {
87568 } else {
87569 fprintf(stderr, "Assert failed");
87570 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32799);
87571 nit_exit(1);
87572 }
87573 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
87574 /* ./parser//parser.nit:32801 */
87575 if (UNTAG_Bool(REGB0)) {
87576 } else {
87577 fprintf(stderr, "Assert failed");
87578 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32801);
87579 nit_exit(1);
87580 }
87581 fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
87582 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
87583 /* ./parser//parser.nit:32806 */
87584 if (UNTAG_Bool(REGB0)) {
87585 } else {
87586 fprintf(stderr, "Assert failed");
87587 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32806);
87588 nit_exit(1);
87589 }
87590 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
87591 fra.me.REG[0] = fra.me.REG[2];
87592 REGB0 = TAG_Int(76);
87593 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
87594 /* ./parser//parser.nit:32817 */
87595 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
87596 stack_frame_head = fra.me.prev;
87597 return;
87598 }
87599 void parser___ReduceAction816___init(val_t p0, int* init_table){
87600 int itpos820 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction816].i;
87601 struct {struct stack_frame_t me;} fra;
87602 val_t tmp;
87603 if (init_table[itpos820]) return;
87604 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87605 fra.me.file = LOCATE_parser;
87606 fra.me.line = 32819;
87607 fra.me.meth = LOCATE_parser___ReduceAction816___init;
87608 fra.me.has_broke = 0;
87609 fra.me.REG_size = 1;
87610 fra.me.REG[0] = NIT_NULL;
87611 fra.me.REG[0] = p0;
87612 /* ./parser//parser.nit:32819 */
87613 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
87614 stack_frame_head = fra.me.prev;
87615 init_table[itpos820] = 1;
87616 return;
87617 }
87618 void parser___ReduceAction817___action(val_t p0, val_t p1){
87619 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
87620 val_t REGB0;
87621 val_t tmp;
87622 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87623 fra.me.file = LOCATE_parser;
87624 fra.me.line = 32823;
87625 fra.me.meth = LOCATE_parser___ReduceAction817___action;
87626 fra.me.has_broke = 0;
87627 fra.me.REG_size = 7;
87628 fra.me.REG[0] = NIT_NULL;
87629 fra.me.REG[1] = NIT_NULL;
87630 fra.me.REG[2] = NIT_NULL;
87631 fra.me.REG[3] = NIT_NULL;
87632 fra.me.REG[4] = NIT_NULL;
87633 fra.me.REG[5] = NIT_NULL;
87634 fra.me.REG[6] = NIT_NULL;
87635 fra.me.REG[0] = p0;
87636 fra.me.REG[1] = p1;
87637 fra.me.REG[0] = NIT_NULL;
87638 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87639 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87640 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87641 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87642 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87643 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87644 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87645 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
87646 /* ./parser//parser.nit:32834 */
87647 if (UNTAG_Bool(REGB0)) {
87648 } else {
87649 fprintf(stderr, "Assert failed");
87650 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32834);
87651 nit_exit(1);
87652 }
87653 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
87654 /* ./parser//parser.nit:32836 */
87655 if (UNTAG_Bool(REGB0)) {
87656 } else {
87657 fprintf(stderr, "Assert failed");
87658 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32836);
87659 nit_exit(1);
87660 }
87661 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
87662 /* ./parser//parser.nit:32838 */
87663 if (UNTAG_Bool(REGB0)) {
87664 } else {
87665 fprintf(stderr, "Assert failed");
87666 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32838);
87667 nit_exit(1);
87668 }
87669 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
87670 /* ./parser//parser.nit:32840 */
87671 if (UNTAG_Bool(REGB0)) {
87672 } else {
87673 fprintf(stderr, "Assert failed");
87674 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32840);
87675 nit_exit(1);
87676 }
87677 fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
87678 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
87679 /* ./parser//parser.nit:32845 */
87680 if (UNTAG_Bool(REGB0)) {
87681 } else {
87682 fprintf(stderr, "Assert failed");
87683 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32845);
87684 nit_exit(1);
87685 }
87686 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
87687 fra.me.REG[0] = fra.me.REG[2];
87688 REGB0 = TAG_Int(76);
87689 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
87690 /* ./parser//parser.nit:32856 */
87691 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
87692 stack_frame_head = fra.me.prev;
87693 return;
87694 }
87695 void parser___ReduceAction817___init(val_t p0, int* init_table){
87696 int itpos821 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction817].i;
87697 struct {struct stack_frame_t me;} fra;
87698 val_t tmp;
87699 if (init_table[itpos821]) return;
87700 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87701 fra.me.file = LOCATE_parser;
87702 fra.me.line = 32858;
87703 fra.me.meth = LOCATE_parser___ReduceAction817___init;
87704 fra.me.has_broke = 0;
87705 fra.me.REG_size = 1;
87706 fra.me.REG[0] = NIT_NULL;
87707 fra.me.REG[0] = p0;
87708 /* ./parser//parser.nit:32858 */
87709 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
87710 stack_frame_head = fra.me.prev;
87711 init_table[itpos821] = 1;
87712 return;
87713 }
87714 void parser___ReduceAction818___action(val_t p0, val_t p1){
87715 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
87716 val_t REGB0;
87717 val_t tmp;
87718 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87719 fra.me.file = LOCATE_parser;
87720 fra.me.line = 32862;
87721 fra.me.meth = LOCATE_parser___ReduceAction818___action;
87722 fra.me.has_broke = 0;
87723 fra.me.REG_size = 7;
87724 fra.me.REG[0] = NIT_NULL;
87725 fra.me.REG[1] = NIT_NULL;
87726 fra.me.REG[2] = NIT_NULL;
87727 fra.me.REG[3] = NIT_NULL;
87728 fra.me.REG[4] = NIT_NULL;
87729 fra.me.REG[5] = NIT_NULL;
87730 fra.me.REG[6] = NIT_NULL;
87731 fra.me.REG[0] = p0;
87732 fra.me.REG[1] = p1;
87733 fra.me.REG[0] = NIT_NULL;
87734 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87735 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87736 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87737 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87738 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87739 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87740 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87741 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
87742 /* ./parser//parser.nit:32873 */
87743 if (UNTAG_Bool(REGB0)) {
87744 } else {
87745 fprintf(stderr, "Assert failed");
87746 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32873);
87747 nit_exit(1);
87748 }
87749 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
87750 /* ./parser//parser.nit:32875 */
87751 if (UNTAG_Bool(REGB0)) {
87752 } else {
87753 fprintf(stderr, "Assert failed");
87754 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32875);
87755 nit_exit(1);
87756 }
87757 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
87758 /* ./parser//parser.nit:32877 */
87759 if (UNTAG_Bool(REGB0)) {
87760 } else {
87761 fprintf(stderr, "Assert failed");
87762 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32877);
87763 nit_exit(1);
87764 }
87765 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
87766 /* ./parser//parser.nit:32879 */
87767 if (UNTAG_Bool(REGB0)) {
87768 } else {
87769 fprintf(stderr, "Assert failed");
87770 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32879);
87771 nit_exit(1);
87772 }
87773 fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
87774 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
87775 /* ./parser//parser.nit:32884 */
87776 if (UNTAG_Bool(REGB0)) {
87777 } else {
87778 fprintf(stderr, "Assert failed");
87779 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32884);
87780 nit_exit(1);
87781 }
87782 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
87783 fra.me.REG[0] = fra.me.REG[2];
87784 REGB0 = TAG_Int(76);
87785 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
87786 /* ./parser//parser.nit:32895 */
87787 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
87788 stack_frame_head = fra.me.prev;
87789 return;
87790 }
87791 void parser___ReduceAction818___init(val_t p0, int* init_table){
87792 int itpos822 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction818].i;
87793 struct {struct stack_frame_t me;} fra;
87794 val_t tmp;
87795 if (init_table[itpos822]) return;
87796 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87797 fra.me.file = LOCATE_parser;
87798 fra.me.line = 32897;
87799 fra.me.meth = LOCATE_parser___ReduceAction818___init;
87800 fra.me.has_broke = 0;
87801 fra.me.REG_size = 1;
87802 fra.me.REG[0] = NIT_NULL;
87803 fra.me.REG[0] = p0;
87804 /* ./parser//parser.nit:32897 */
87805 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
87806 stack_frame_head = fra.me.prev;
87807 init_table[itpos822] = 1;
87808 return;
87809 }
87810 void parser___ReduceAction819___action(val_t p0, val_t p1){
87811 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
87812 val_t REGB0;
87813 val_t tmp;
87814 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87815 fra.me.file = LOCATE_parser;
87816 fra.me.line = 32901;
87817 fra.me.meth = LOCATE_parser___ReduceAction819___action;
87818 fra.me.has_broke = 0;
87819 fra.me.REG_size = 7;
87820 fra.me.REG[0] = NIT_NULL;
87821 fra.me.REG[1] = NIT_NULL;
87822 fra.me.REG[2] = NIT_NULL;
87823 fra.me.REG[3] = NIT_NULL;
87824 fra.me.REG[4] = NIT_NULL;
87825 fra.me.REG[5] = NIT_NULL;
87826 fra.me.REG[6] = NIT_NULL;
87827 fra.me.REG[0] = p0;
87828 fra.me.REG[1] = p1;
87829 fra.me.REG[0] = NIT_NULL;
87830 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87831 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87832 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87833 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87834 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87835 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87836 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87837 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
87838 /* ./parser//parser.nit:32912 */
87839 if (UNTAG_Bool(REGB0)) {
87840 } else {
87841 fprintf(stderr, "Assert failed");
87842 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32912);
87843 nit_exit(1);
87844 }
87845 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
87846 /* ./parser//parser.nit:32914 */
87847 if (UNTAG_Bool(REGB0)) {
87848 } else {
87849 fprintf(stderr, "Assert failed");
87850 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32914);
87851 nit_exit(1);
87852 }
87853 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
87854 /* ./parser//parser.nit:32916 */
87855 if (UNTAG_Bool(REGB0)) {
87856 } else {
87857 fprintf(stderr, "Assert failed");
87858 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32916);
87859 nit_exit(1);
87860 }
87861 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
87862 /* ./parser//parser.nit:32918 */
87863 if (UNTAG_Bool(REGB0)) {
87864 } else {
87865 fprintf(stderr, "Assert failed");
87866 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32918);
87867 nit_exit(1);
87868 }
87869 fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
87870 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
87871 /* ./parser//parser.nit:32923 */
87872 if (UNTAG_Bool(REGB0)) {
87873 } else {
87874 fprintf(stderr, "Assert failed");
87875 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32923);
87876 nit_exit(1);
87877 }
87878 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
87879 fra.me.REG[0] = fra.me.REG[2];
87880 REGB0 = TAG_Int(76);
87881 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
87882 /* ./parser//parser.nit:32934 */
87883 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
87884 stack_frame_head = fra.me.prev;
87885 return;
87886 }
87887 void parser___ReduceAction819___init(val_t p0, int* init_table){
87888 int itpos823 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction819].i;
87889 struct {struct stack_frame_t me;} fra;
87890 val_t tmp;
87891 if (init_table[itpos823]) return;
87892 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87893 fra.me.file = LOCATE_parser;
87894 fra.me.line = 32936;
87895 fra.me.meth = LOCATE_parser___ReduceAction819___init;
87896 fra.me.has_broke = 0;
87897 fra.me.REG_size = 1;
87898 fra.me.REG[0] = NIT_NULL;
87899 fra.me.REG[0] = p0;
87900 /* ./parser//parser.nit:32936 */
87901 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
87902 stack_frame_head = fra.me.prev;
87903 init_table[itpos823] = 1;
87904 return;
87905 }
87906 void parser___ReduceAction820___action(val_t p0, val_t p1){
87907 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
87908 val_t REGB0;
87909 val_t tmp;
87910 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87911 fra.me.file = LOCATE_parser;
87912 fra.me.line = 32940;
87913 fra.me.meth = LOCATE_parser___ReduceAction820___action;
87914 fra.me.has_broke = 0;
87915 fra.me.REG_size = 7;
87916 fra.me.REG[0] = NIT_NULL;
87917 fra.me.REG[1] = NIT_NULL;
87918 fra.me.REG[2] = NIT_NULL;
87919 fra.me.REG[3] = NIT_NULL;
87920 fra.me.REG[4] = NIT_NULL;
87921 fra.me.REG[5] = NIT_NULL;
87922 fra.me.REG[6] = NIT_NULL;
87923 fra.me.REG[0] = p0;
87924 fra.me.REG[1] = p1;
87925 fra.me.REG[0] = NIT_NULL;
87926 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87927 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87928 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87929 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87930 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87931 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87932 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
87933 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
87934 /* ./parser//parser.nit:32951 */
87935 if (UNTAG_Bool(REGB0)) {
87936 } else {
87937 fprintf(stderr, "Assert failed");
87938 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32951);
87939 nit_exit(1);
87940 }
87941 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
87942 /* ./parser//parser.nit:32953 */
87943 if (UNTAG_Bool(REGB0)) {
87944 } else {
87945 fprintf(stderr, "Assert failed");
87946 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32953);
87947 nit_exit(1);
87948 }
87949 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
87950 /* ./parser//parser.nit:32955 */
87951 if (UNTAG_Bool(REGB0)) {
87952 } else {
87953 fprintf(stderr, "Assert failed");
87954 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32955);
87955 nit_exit(1);
87956 }
87957 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
87958 /* ./parser//parser.nit:32957 */
87959 if (UNTAG_Bool(REGB0)) {
87960 } else {
87961 fprintf(stderr, "Assert failed");
87962 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32957);
87963 nit_exit(1);
87964 }
87965 fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
87966 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
87967 /* ./parser//parser.nit:32962 */
87968 if (UNTAG_Bool(REGB0)) {
87969 } else {
87970 fprintf(stderr, "Assert failed");
87971 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32962);
87972 nit_exit(1);
87973 }
87974 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
87975 fra.me.REG[0] = fra.me.REG[2];
87976 REGB0 = TAG_Int(76);
87977 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
87978 /* ./parser//parser.nit:32973 */
87979 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
87980 stack_frame_head = fra.me.prev;
87981 return;
87982 }
87983 void parser___ReduceAction820___init(val_t p0, int* init_table){
87984 int itpos824 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction820].i;
87985 struct {struct stack_frame_t me;} fra;
87986 val_t tmp;
87987 if (init_table[itpos824]) return;
87988 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
87989 fra.me.file = LOCATE_parser;
87990 fra.me.line = 32975;
87991 fra.me.meth = LOCATE_parser___ReduceAction820___init;
87992 fra.me.has_broke = 0;
87993 fra.me.REG_size = 1;
87994 fra.me.REG[0] = NIT_NULL;
87995 fra.me.REG[0] = p0;
87996 /* ./parser//parser.nit:32975 */
87997 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
87998 stack_frame_head = fra.me.prev;
87999 init_table[itpos824] = 1;
88000 return;
88001 }
88002 void parser___ReduceAction821___action(val_t p0, val_t p1){
88003 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
88004 val_t REGB0;
88005 val_t tmp;
88006 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88007 fra.me.file = LOCATE_parser;
88008 fra.me.line = 32979;
88009 fra.me.meth = LOCATE_parser___ReduceAction821___action;
88010 fra.me.has_broke = 0;
88011 fra.me.REG_size = 7;
88012 fra.me.REG[0] = NIT_NULL;
88013 fra.me.REG[1] = NIT_NULL;
88014 fra.me.REG[2] = NIT_NULL;
88015 fra.me.REG[3] = NIT_NULL;
88016 fra.me.REG[4] = NIT_NULL;
88017 fra.me.REG[5] = NIT_NULL;
88018 fra.me.REG[6] = NIT_NULL;
88019 fra.me.REG[0] = p0;
88020 fra.me.REG[1] = p1;
88021 fra.me.REG[0] = NIT_NULL;
88022 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88023 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88024 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88025 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88026 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88027 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88028 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88029 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
88030 /* ./parser//parser.nit:32990 */
88031 if (UNTAG_Bool(REGB0)) {
88032 } else {
88033 fprintf(stderr, "Assert failed");
88034 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32990);
88035 nit_exit(1);
88036 }
88037 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
88038 /* ./parser//parser.nit:32992 */
88039 if (UNTAG_Bool(REGB0)) {
88040 } else {
88041 fprintf(stderr, "Assert failed");
88042 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32992);
88043 nit_exit(1);
88044 }
88045 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
88046 /* ./parser//parser.nit:32994 */
88047 if (UNTAG_Bool(REGB0)) {
88048 } else {
88049 fprintf(stderr, "Assert failed");
88050 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32994);
88051 nit_exit(1);
88052 }
88053 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
88054 /* ./parser//parser.nit:32996 */
88055 if (UNTAG_Bool(REGB0)) {
88056 } else {
88057 fprintf(stderr, "Assert failed");
88058 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32996);
88059 nit_exit(1);
88060 }
88061 fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
88062 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
88063 /* ./parser//parser.nit:33001 */
88064 if (UNTAG_Bool(REGB0)) {
88065 } else {
88066 fprintf(stderr, "Assert failed");
88067 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33001);
88068 nit_exit(1);
88069 }
88070 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
88071 fra.me.REG[0] = fra.me.REG[2];
88072 REGB0 = TAG_Int(76);
88073 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
88074 /* ./parser//parser.nit:33012 */
88075 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
88076 stack_frame_head = fra.me.prev;
88077 return;
88078 }
88079 void parser___ReduceAction821___init(val_t p0, int* init_table){
88080 int itpos825 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction821].i;
88081 struct {struct stack_frame_t me;} fra;
88082 val_t tmp;
88083 if (init_table[itpos825]) return;
88084 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88085 fra.me.file = LOCATE_parser;
88086 fra.me.line = 33014;
88087 fra.me.meth = LOCATE_parser___ReduceAction821___init;
88088 fra.me.has_broke = 0;
88089 fra.me.REG_size = 1;
88090 fra.me.REG[0] = NIT_NULL;
88091 fra.me.REG[0] = p0;
88092 /* ./parser//parser.nit:33014 */
88093 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
88094 stack_frame_head = fra.me.prev;
88095 init_table[itpos825] = 1;
88096 return;
88097 }
88098 void parser___ReduceAction822___action(val_t p0, val_t p1){
88099 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
88100 val_t REGB0;
88101 val_t tmp;
88102 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88103 fra.me.file = LOCATE_parser;
88104 fra.me.line = 33018;
88105 fra.me.meth = LOCATE_parser___ReduceAction822___action;
88106 fra.me.has_broke = 0;
88107 fra.me.REG_size = 7;
88108 fra.me.REG[0] = NIT_NULL;
88109 fra.me.REG[1] = NIT_NULL;
88110 fra.me.REG[2] = NIT_NULL;
88111 fra.me.REG[3] = NIT_NULL;
88112 fra.me.REG[4] = NIT_NULL;
88113 fra.me.REG[5] = NIT_NULL;
88114 fra.me.REG[6] = NIT_NULL;
88115 fra.me.REG[0] = p0;
88116 fra.me.REG[1] = p1;
88117 fra.me.REG[0] = NIT_NULL;
88118 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88119 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88120 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88121 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88122 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88123 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88124 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88125 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
88126 /* ./parser//parser.nit:33029 */
88127 if (UNTAG_Bool(REGB0)) {
88128 } else {
88129 fprintf(stderr, "Assert failed");
88130 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33029);
88131 nit_exit(1);
88132 }
88133 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
88134 /* ./parser//parser.nit:33031 */
88135 if (UNTAG_Bool(REGB0)) {
88136 } else {
88137 fprintf(stderr, "Assert failed");
88138 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33031);
88139 nit_exit(1);
88140 }
88141 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
88142 /* ./parser//parser.nit:33033 */
88143 if (UNTAG_Bool(REGB0)) {
88144 } else {
88145 fprintf(stderr, "Assert failed");
88146 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33033);
88147 nit_exit(1);
88148 }
88149 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
88150 /* ./parser//parser.nit:33035 */
88151 if (UNTAG_Bool(REGB0)) {
88152 } else {
88153 fprintf(stderr, "Assert failed");
88154 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33035);
88155 nit_exit(1);
88156 }
88157 fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
88158 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
88159 /* ./parser//parser.nit:33040 */
88160 if (UNTAG_Bool(REGB0)) {
88161 } else {
88162 fprintf(stderr, "Assert failed");
88163 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33040);
88164 nit_exit(1);
88165 }
88166 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
88167 fra.me.REG[0] = fra.me.REG[2];
88168 REGB0 = TAG_Int(76);
88169 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
88170 /* ./parser//parser.nit:33051 */
88171 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
88172 stack_frame_head = fra.me.prev;
88173 return;
88174 }
88175 void parser___ReduceAction822___init(val_t p0, int* init_table){
88176 int itpos826 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction822].i;
88177 struct {struct stack_frame_t me;} fra;
88178 val_t tmp;
88179 if (init_table[itpos826]) return;
88180 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88181 fra.me.file = LOCATE_parser;
88182 fra.me.line = 33053;
88183 fra.me.meth = LOCATE_parser___ReduceAction822___init;
88184 fra.me.has_broke = 0;
88185 fra.me.REG_size = 1;
88186 fra.me.REG[0] = NIT_NULL;
88187 fra.me.REG[0] = p0;
88188 /* ./parser//parser.nit:33053 */
88189 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
88190 stack_frame_head = fra.me.prev;
88191 init_table[itpos826] = 1;
88192 return;
88193 }
88194 void parser___ReduceAction823___action(val_t p0, val_t p1){
88195 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
88196 val_t REGB0;
88197 val_t tmp;
88198 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88199 fra.me.file = LOCATE_parser;
88200 fra.me.line = 33057;
88201 fra.me.meth = LOCATE_parser___ReduceAction823___action;
88202 fra.me.has_broke = 0;
88203 fra.me.REG_size = 7;
88204 fra.me.REG[0] = NIT_NULL;
88205 fra.me.REG[1] = NIT_NULL;
88206 fra.me.REG[2] = NIT_NULL;
88207 fra.me.REG[3] = NIT_NULL;
88208 fra.me.REG[4] = NIT_NULL;
88209 fra.me.REG[5] = NIT_NULL;
88210 fra.me.REG[6] = NIT_NULL;
88211 fra.me.REG[0] = p0;
88212 fra.me.REG[1] = p1;
88213 fra.me.REG[0] = NIT_NULL;
88214 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88215 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88216 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88217 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88218 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88219 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88220 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88221 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
88222 /* ./parser//parser.nit:33068 */
88223 if (UNTAG_Bool(REGB0)) {
88224 } else {
88225 fprintf(stderr, "Assert failed");
88226 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33068);
88227 nit_exit(1);
88228 }
88229 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
88230 /* ./parser//parser.nit:33070 */
88231 if (UNTAG_Bool(REGB0)) {
88232 } else {
88233 fprintf(stderr, "Assert failed");
88234 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33070);
88235 nit_exit(1);
88236 }
88237 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
88238 /* ./parser//parser.nit:33072 */
88239 if (UNTAG_Bool(REGB0)) {
88240 } else {
88241 fprintf(stderr, "Assert failed");
88242 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33072);
88243 nit_exit(1);
88244 }
88245 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
88246 /* ./parser//parser.nit:33074 */
88247 if (UNTAG_Bool(REGB0)) {
88248 } else {
88249 fprintf(stderr, "Assert failed");
88250 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33074);
88251 nit_exit(1);
88252 }
88253 fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
88254 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
88255 /* ./parser//parser.nit:33079 */
88256 if (UNTAG_Bool(REGB0)) {
88257 } else {
88258 fprintf(stderr, "Assert failed");
88259 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33079);
88260 nit_exit(1);
88261 }
88262 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
88263 fra.me.REG[0] = fra.me.REG[2];
88264 REGB0 = TAG_Int(76);
88265 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
88266 /* ./parser//parser.nit:33090 */
88267 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
88268 stack_frame_head = fra.me.prev;
88269 return;
88270 }
88271 void parser___ReduceAction823___init(val_t p0, int* init_table){
88272 int itpos827 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction823].i;
88273 struct {struct stack_frame_t me;} fra;
88274 val_t tmp;
88275 if (init_table[itpos827]) return;
88276 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88277 fra.me.file = LOCATE_parser;
88278 fra.me.line = 33092;
88279 fra.me.meth = LOCATE_parser___ReduceAction823___init;
88280 fra.me.has_broke = 0;
88281 fra.me.REG_size = 1;
88282 fra.me.REG[0] = NIT_NULL;
88283 fra.me.REG[0] = p0;
88284 /* ./parser//parser.nit:33092 */
88285 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
88286 stack_frame_head = fra.me.prev;
88287 init_table[itpos827] = 1;
88288 return;
88289 }
88290 void parser___ReduceAction824___action(val_t p0, val_t p1){
88291 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
88292 val_t REGB0;
88293 val_t tmp;
88294 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88295 fra.me.file = LOCATE_parser;
88296 fra.me.line = 33096;
88297 fra.me.meth = LOCATE_parser___ReduceAction824___action;
88298 fra.me.has_broke = 0;
88299 fra.me.REG_size = 8;
88300 fra.me.REG[0] = NIT_NULL;
88301 fra.me.REG[1] = NIT_NULL;
88302 fra.me.REG[2] = NIT_NULL;
88303 fra.me.REG[3] = NIT_NULL;
88304 fra.me.REG[4] = NIT_NULL;
88305 fra.me.REG[5] = NIT_NULL;
88306 fra.me.REG[6] = NIT_NULL;
88307 fra.me.REG[7] = NIT_NULL;
88308 fra.me.REG[0] = p0;
88309 fra.me.REG[1] = p1;
88310 fra.me.REG[0] = NIT_NULL;
88311 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88312 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88313 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88314 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88315 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88316 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88317 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88318 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88319 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
88320 /* ./parser//parser.nit:33108 */
88321 if (UNTAG_Bool(REGB0)) {
88322 } else {
88323 fprintf(stderr, "Assert failed");
88324 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33108);
88325 nit_exit(1);
88326 }
88327 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
88328 /* ./parser//parser.nit:33110 */
88329 if (UNTAG_Bool(REGB0)) {
88330 } else {
88331 fprintf(stderr, "Assert failed");
88332 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33110);
88333 nit_exit(1);
88334 }
88335 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
88336 /* ./parser//parser.nit:33112 */
88337 if (UNTAG_Bool(REGB0)) {
88338 } else {
88339 fprintf(stderr, "Assert failed");
88340 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33112);
88341 nit_exit(1);
88342 }
88343 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
88344 /* ./parser//parser.nit:33114 */
88345 if (UNTAG_Bool(REGB0)) {
88346 } else {
88347 fprintf(stderr, "Assert failed");
88348 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33114);
88349 nit_exit(1);
88350 }
88351 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
88352 /* ./parser//parser.nit:33116 */
88353 if (UNTAG_Bool(REGB0)) {
88354 } else {
88355 fprintf(stderr, "Assert failed");
88356 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33116);
88357 nit_exit(1);
88358 }
88359 fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
88360 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
88361 /* ./parser//parser.nit:33122 */
88362 if (UNTAG_Bool(REGB0)) {
88363 } else {
88364 fprintf(stderr, "Assert failed");
88365 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33122);
88366 nit_exit(1);
88367 }
88368 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
88369 fra.me.REG[0] = fra.me.REG[2];
88370 REGB0 = TAG_Int(76);
88371 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
88372 /* ./parser//parser.nit:33133 */
88373 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
88374 stack_frame_head = fra.me.prev;
88375 return;
88376 }
88377 void parser___ReduceAction824___init(val_t p0, int* init_table){
88378 int itpos828 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction824].i;
88379 struct {struct stack_frame_t me;} fra;
88380 val_t tmp;
88381 if (init_table[itpos828]) return;
88382 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88383 fra.me.file = LOCATE_parser;
88384 fra.me.line = 33135;
88385 fra.me.meth = LOCATE_parser___ReduceAction824___init;
88386 fra.me.has_broke = 0;
88387 fra.me.REG_size = 1;
88388 fra.me.REG[0] = NIT_NULL;
88389 fra.me.REG[0] = p0;
88390 /* ./parser//parser.nit:33135 */
88391 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
88392 stack_frame_head = fra.me.prev;
88393 init_table[itpos828] = 1;
88394 return;
88395 }
88396 void parser___ReduceAction825___action(val_t p0, val_t p1){
88397 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
88398 val_t REGB0;
88399 val_t tmp;
88400 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88401 fra.me.file = LOCATE_parser;
88402 fra.me.line = 33139;
88403 fra.me.meth = LOCATE_parser___ReduceAction825___action;
88404 fra.me.has_broke = 0;
88405 fra.me.REG_size = 7;
88406 fra.me.REG[0] = NIT_NULL;
88407 fra.me.REG[1] = NIT_NULL;
88408 fra.me.REG[2] = NIT_NULL;
88409 fra.me.REG[3] = NIT_NULL;
88410 fra.me.REG[4] = NIT_NULL;
88411 fra.me.REG[5] = NIT_NULL;
88412 fra.me.REG[6] = NIT_NULL;
88413 fra.me.REG[0] = p0;
88414 fra.me.REG[1] = p1;
88415 fra.me.REG[0] = NIT_NULL;
88416 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88417 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88418 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88419 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88420 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88421 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88422 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88423 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
88424 /* ./parser//parser.nit:33150 */
88425 if (UNTAG_Bool(REGB0)) {
88426 } else {
88427 fprintf(stderr, "Assert failed");
88428 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33150);
88429 nit_exit(1);
88430 }
88431 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
88432 /* ./parser//parser.nit:33152 */
88433 if (UNTAG_Bool(REGB0)) {
88434 } else {
88435 fprintf(stderr, "Assert failed");
88436 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33152);
88437 nit_exit(1);
88438 }
88439 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
88440 /* ./parser//parser.nit:33154 */
88441 if (UNTAG_Bool(REGB0)) {
88442 } else {
88443 fprintf(stderr, "Assert failed");
88444 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33154);
88445 nit_exit(1);
88446 }
88447 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
88448 /* ./parser//parser.nit:33156 */
88449 if (UNTAG_Bool(REGB0)) {
88450 } else {
88451 fprintf(stderr, "Assert failed");
88452 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33156);
88453 nit_exit(1);
88454 }
88455 fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
88456 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
88457 /* ./parser//parser.nit:33161 */
88458 if (UNTAG_Bool(REGB0)) {
88459 } else {
88460 fprintf(stderr, "Assert failed");
88461 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33161);
88462 nit_exit(1);
88463 }
88464 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
88465 fra.me.REG[0] = fra.me.REG[2];
88466 REGB0 = TAG_Int(76);
88467 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
88468 /* ./parser//parser.nit:33172 */
88469 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
88470 stack_frame_head = fra.me.prev;
88471 return;
88472 }
88473 void parser___ReduceAction825___init(val_t p0, int* init_table){
88474 int itpos829 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction825].i;
88475 struct {struct stack_frame_t me;} fra;
88476 val_t tmp;
88477 if (init_table[itpos829]) return;
88478 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88479 fra.me.file = LOCATE_parser;
88480 fra.me.line = 33174;
88481 fra.me.meth = LOCATE_parser___ReduceAction825___init;
88482 fra.me.has_broke = 0;
88483 fra.me.REG_size = 1;
88484 fra.me.REG[0] = NIT_NULL;
88485 fra.me.REG[0] = p0;
88486 /* ./parser//parser.nit:33174 */
88487 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
88488 stack_frame_head = fra.me.prev;
88489 init_table[itpos829] = 1;
88490 return;
88491 }
88492 void parser___ReduceAction826___action(val_t p0, val_t p1){
88493 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
88494 val_t REGB0;
88495 val_t tmp;
88496 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88497 fra.me.file = LOCATE_parser;
88498 fra.me.line = 33178;
88499 fra.me.meth = LOCATE_parser___ReduceAction826___action;
88500 fra.me.has_broke = 0;
88501 fra.me.REG_size = 8;
88502 fra.me.REG[0] = NIT_NULL;
88503 fra.me.REG[1] = NIT_NULL;
88504 fra.me.REG[2] = NIT_NULL;
88505 fra.me.REG[3] = NIT_NULL;
88506 fra.me.REG[4] = NIT_NULL;
88507 fra.me.REG[5] = NIT_NULL;
88508 fra.me.REG[6] = NIT_NULL;
88509 fra.me.REG[7] = NIT_NULL;
88510 fra.me.REG[0] = p0;
88511 fra.me.REG[1] = p1;
88512 fra.me.REG[0] = NIT_NULL;
88513 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88514 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88515 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88516 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88517 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88518 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88519 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88520 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88521 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
88522 /* ./parser//parser.nit:33190 */
88523 if (UNTAG_Bool(REGB0)) {
88524 } else {
88525 fprintf(stderr, "Assert failed");
88526 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33190);
88527 nit_exit(1);
88528 }
88529 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
88530 /* ./parser//parser.nit:33192 */
88531 if (UNTAG_Bool(REGB0)) {
88532 } else {
88533 fprintf(stderr, "Assert failed");
88534 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33192);
88535 nit_exit(1);
88536 }
88537 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
88538 /* ./parser//parser.nit:33194 */
88539 if (UNTAG_Bool(REGB0)) {
88540 } else {
88541 fprintf(stderr, "Assert failed");
88542 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33194);
88543 nit_exit(1);
88544 }
88545 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
88546 /* ./parser//parser.nit:33196 */
88547 if (UNTAG_Bool(REGB0)) {
88548 } else {
88549 fprintf(stderr, "Assert failed");
88550 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33196);
88551 nit_exit(1);
88552 }
88553 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
88554 /* ./parser//parser.nit:33198 */
88555 if (UNTAG_Bool(REGB0)) {
88556 } else {
88557 fprintf(stderr, "Assert failed");
88558 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33198);
88559 nit_exit(1);
88560 }
88561 fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
88562 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
88563 /* ./parser//parser.nit:33204 */
88564 if (UNTAG_Bool(REGB0)) {
88565 } else {
88566 fprintf(stderr, "Assert failed");
88567 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33204);
88568 nit_exit(1);
88569 }
88570 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
88571 fra.me.REG[0] = fra.me.REG[2];
88572 REGB0 = TAG_Int(76);
88573 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
88574 /* ./parser//parser.nit:33215 */
88575 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
88576 stack_frame_head = fra.me.prev;
88577 return;
88578 }
88579 void parser___ReduceAction826___init(val_t p0, int* init_table){
88580 int itpos830 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction826].i;
88581 struct {struct stack_frame_t me;} fra;
88582 val_t tmp;
88583 if (init_table[itpos830]) return;
88584 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88585 fra.me.file = LOCATE_parser;
88586 fra.me.line = 33217;
88587 fra.me.meth = LOCATE_parser___ReduceAction826___init;
88588 fra.me.has_broke = 0;
88589 fra.me.REG_size = 1;
88590 fra.me.REG[0] = NIT_NULL;
88591 fra.me.REG[0] = p0;
88592 /* ./parser//parser.nit:33217 */
88593 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
88594 stack_frame_head = fra.me.prev;
88595 init_table[itpos830] = 1;
88596 return;
88597 }
88598 void parser___ReduceAction827___action(val_t p0, val_t p1){
88599 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
88600 val_t REGB0;
88601 val_t tmp;
88602 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88603 fra.me.file = LOCATE_parser;
88604 fra.me.line = 33221;
88605 fra.me.meth = LOCATE_parser___ReduceAction827___action;
88606 fra.me.has_broke = 0;
88607 fra.me.REG_size = 9;
88608 fra.me.REG[0] = NIT_NULL;
88609 fra.me.REG[1] = NIT_NULL;
88610 fra.me.REG[2] = NIT_NULL;
88611 fra.me.REG[3] = NIT_NULL;
88612 fra.me.REG[4] = NIT_NULL;
88613 fra.me.REG[5] = NIT_NULL;
88614 fra.me.REG[6] = NIT_NULL;
88615 fra.me.REG[7] = NIT_NULL;
88616 fra.me.REG[8] = NIT_NULL;
88617 fra.me.REG[0] = p0;
88618 fra.me.REG[1] = p1;
88619 fra.me.REG[0] = NIT_NULL;
88620 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88621 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88622 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88623 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88624 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88625 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88626 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88627 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88628 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88629 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
88630 /* ./parser//parser.nit:33234 */
88631 if (UNTAG_Bool(REGB0)) {
88632 } else {
88633 fprintf(stderr, "Assert failed");
88634 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33234);
88635 nit_exit(1);
88636 }
88637 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
88638 /* ./parser//parser.nit:33236 */
88639 if (UNTAG_Bool(REGB0)) {
88640 } else {
88641 fprintf(stderr, "Assert failed");
88642 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33236);
88643 nit_exit(1);
88644 }
88645 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
88646 /* ./parser//parser.nit:33238 */
88647 if (UNTAG_Bool(REGB0)) {
88648 } else {
88649 fprintf(stderr, "Assert failed");
88650 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33238);
88651 nit_exit(1);
88652 }
88653 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
88654 /* ./parser//parser.nit:33240 */
88655 if (UNTAG_Bool(REGB0)) {
88656 } else {
88657 fprintf(stderr, "Assert failed");
88658 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33240);
88659 nit_exit(1);
88660 }
88661 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
88662 /* ./parser//parser.nit:33242 */
88663 if (UNTAG_Bool(REGB0)) {
88664 } else {
88665 fprintf(stderr, "Assert failed");
88666 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33242);
88667 nit_exit(1);
88668 }
88669 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
88670 /* ./parser//parser.nit:33244 */
88671 if (UNTAG_Bool(REGB0)) {
88672 } else {
88673 fprintf(stderr, "Assert failed");
88674 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33244);
88675 nit_exit(1);
88676 }
88677 fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
88678 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
88679 /* ./parser//parser.nit:33251 */
88680 if (UNTAG_Bool(REGB0)) {
88681 } else {
88682 fprintf(stderr, "Assert failed");
88683 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33251);
88684 nit_exit(1);
88685 }
88686 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
88687 fra.me.REG[0] = fra.me.REG[2];
88688 REGB0 = TAG_Int(76);
88689 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
88690 /* ./parser//parser.nit:33262 */
88691 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
88692 stack_frame_head = fra.me.prev;
88693 return;
88694 }
88695 void parser___ReduceAction827___init(val_t p0, int* init_table){
88696 int itpos831 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction827].i;
88697 struct {struct stack_frame_t me;} fra;
88698 val_t tmp;
88699 if (init_table[itpos831]) return;
88700 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88701 fra.me.file = LOCATE_parser;
88702 fra.me.line = 33264;
88703 fra.me.meth = LOCATE_parser___ReduceAction827___init;
88704 fra.me.has_broke = 0;
88705 fra.me.REG_size = 1;
88706 fra.me.REG[0] = NIT_NULL;
88707 fra.me.REG[0] = p0;
88708 /* ./parser//parser.nit:33264 */
88709 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
88710 stack_frame_head = fra.me.prev;
88711 init_table[itpos831] = 1;
88712 return;
88713 }
88714 void parser___ReduceAction828___action(val_t p0, val_t p1){
88715 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
88716 val_t REGB0;
88717 val_t tmp;
88718 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88719 fra.me.file = LOCATE_parser;
88720 fra.me.line = 33268;
88721 fra.me.meth = LOCATE_parser___ReduceAction828___action;
88722 fra.me.has_broke = 0;
88723 fra.me.REG_size = 8;
88724 fra.me.REG[0] = NIT_NULL;
88725 fra.me.REG[1] = NIT_NULL;
88726 fra.me.REG[2] = NIT_NULL;
88727 fra.me.REG[3] = NIT_NULL;
88728 fra.me.REG[4] = NIT_NULL;
88729 fra.me.REG[5] = NIT_NULL;
88730 fra.me.REG[6] = NIT_NULL;
88731 fra.me.REG[7] = NIT_NULL;
88732 fra.me.REG[0] = p0;
88733 fra.me.REG[1] = p1;
88734 fra.me.REG[0] = NIT_NULL;
88735 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88736 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88737 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88738 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88739 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88740 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88741 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88742 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88743 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
88744 /* ./parser//parser.nit:33280 */
88745 if (UNTAG_Bool(REGB0)) {
88746 } else {
88747 fprintf(stderr, "Assert failed");
88748 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33280);
88749 nit_exit(1);
88750 }
88751 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
88752 /* ./parser//parser.nit:33282 */
88753 if (UNTAG_Bool(REGB0)) {
88754 } else {
88755 fprintf(stderr, "Assert failed");
88756 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33282);
88757 nit_exit(1);
88758 }
88759 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
88760 /* ./parser//parser.nit:33284 */
88761 if (UNTAG_Bool(REGB0)) {
88762 } else {
88763 fprintf(stderr, "Assert failed");
88764 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33284);
88765 nit_exit(1);
88766 }
88767 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
88768 /* ./parser//parser.nit:33286 */
88769 if (UNTAG_Bool(REGB0)) {
88770 } else {
88771 fprintf(stderr, "Assert failed");
88772 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33286);
88773 nit_exit(1);
88774 }
88775 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
88776 /* ./parser//parser.nit:33288 */
88777 if (UNTAG_Bool(REGB0)) {
88778 } else {
88779 fprintf(stderr, "Assert failed");
88780 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33288);
88781 nit_exit(1);
88782 }
88783 fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
88784 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
88785 /* ./parser//parser.nit:33293 */
88786 if (UNTAG_Bool(REGB0)) {
88787 } else {
88788 fprintf(stderr, "Assert failed");
88789 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33293);
88790 nit_exit(1);
88791 }
88792 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
88793 fra.me.REG[0] = fra.me.REG[2];
88794 REGB0 = TAG_Int(76);
88795 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
88796 /* ./parser//parser.nit:33304 */
88797 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
88798 stack_frame_head = fra.me.prev;
88799 return;
88800 }
88801 void parser___ReduceAction828___init(val_t p0, int* init_table){
88802 int itpos832 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction828].i;
88803 struct {struct stack_frame_t me;} fra;
88804 val_t tmp;
88805 if (init_table[itpos832]) return;
88806 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88807 fra.me.file = LOCATE_parser;
88808 fra.me.line = 33306;
88809 fra.me.meth = LOCATE_parser___ReduceAction828___init;
88810 fra.me.has_broke = 0;
88811 fra.me.REG_size = 1;
88812 fra.me.REG[0] = NIT_NULL;
88813 fra.me.REG[0] = p0;
88814 /* ./parser//parser.nit:33306 */
88815 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
88816 stack_frame_head = fra.me.prev;
88817 init_table[itpos832] = 1;
88818 return;
88819 }
88820 void parser___ReduceAction829___action(val_t p0, val_t p1){
88821 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
88822 val_t REGB0;
88823 val_t tmp;
88824 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88825 fra.me.file = LOCATE_parser;
88826 fra.me.line = 33310;
88827 fra.me.meth = LOCATE_parser___ReduceAction829___action;
88828 fra.me.has_broke = 0;
88829 fra.me.REG_size = 8;
88830 fra.me.REG[0] = NIT_NULL;
88831 fra.me.REG[1] = NIT_NULL;
88832 fra.me.REG[2] = NIT_NULL;
88833 fra.me.REG[3] = NIT_NULL;
88834 fra.me.REG[4] = NIT_NULL;
88835 fra.me.REG[5] = NIT_NULL;
88836 fra.me.REG[6] = NIT_NULL;
88837 fra.me.REG[7] = NIT_NULL;
88838 fra.me.REG[0] = p0;
88839 fra.me.REG[1] = p1;
88840 fra.me.REG[0] = NIT_NULL;
88841 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88842 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88843 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88844 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88845 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88846 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88847 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88848 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88849 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
88850 /* ./parser//parser.nit:33322 */
88851 if (UNTAG_Bool(REGB0)) {
88852 } else {
88853 fprintf(stderr, "Assert failed");
88854 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33322);
88855 nit_exit(1);
88856 }
88857 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
88858 /* ./parser//parser.nit:33324 */
88859 if (UNTAG_Bool(REGB0)) {
88860 } else {
88861 fprintf(stderr, "Assert failed");
88862 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33324);
88863 nit_exit(1);
88864 }
88865 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
88866 /* ./parser//parser.nit:33326 */
88867 if (UNTAG_Bool(REGB0)) {
88868 } else {
88869 fprintf(stderr, "Assert failed");
88870 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33326);
88871 nit_exit(1);
88872 }
88873 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
88874 /* ./parser//parser.nit:33328 */
88875 if (UNTAG_Bool(REGB0)) {
88876 } else {
88877 fprintf(stderr, "Assert failed");
88878 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33328);
88879 nit_exit(1);
88880 }
88881 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
88882 /* ./parser//parser.nit:33330 */
88883 if (UNTAG_Bool(REGB0)) {
88884 } else {
88885 fprintf(stderr, "Assert failed");
88886 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33330);
88887 nit_exit(1);
88888 }
88889 fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
88890 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
88891 /* ./parser//parser.nit:33335 */
88892 if (UNTAG_Bool(REGB0)) {
88893 } else {
88894 fprintf(stderr, "Assert failed");
88895 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33335);
88896 nit_exit(1);
88897 }
88898 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
88899 fra.me.REG[0] = fra.me.REG[2];
88900 REGB0 = TAG_Int(76);
88901 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
88902 /* ./parser//parser.nit:33346 */
88903 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
88904 stack_frame_head = fra.me.prev;
88905 return;
88906 }
88907 void parser___ReduceAction829___init(val_t p0, int* init_table){
88908 int itpos833 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction829].i;
88909 struct {struct stack_frame_t me;} fra;
88910 val_t tmp;
88911 if (init_table[itpos833]) return;
88912 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88913 fra.me.file = LOCATE_parser;
88914 fra.me.line = 33348;
88915 fra.me.meth = LOCATE_parser___ReduceAction829___init;
88916 fra.me.has_broke = 0;
88917 fra.me.REG_size = 1;
88918 fra.me.REG[0] = NIT_NULL;
88919 fra.me.REG[0] = p0;
88920 /* ./parser//parser.nit:33348 */
88921 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
88922 stack_frame_head = fra.me.prev;
88923 init_table[itpos833] = 1;
88924 return;
88925 }
88926 void parser___ReduceAction830___action(val_t p0, val_t p1){
88927 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
88928 val_t REGB0;
88929 val_t tmp;
88930 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88931 fra.me.file = LOCATE_parser;
88932 fra.me.line = 33352;
88933 fra.me.meth = LOCATE_parser___ReduceAction830___action;
88934 fra.me.has_broke = 0;
88935 fra.me.REG_size = 8;
88936 fra.me.REG[0] = NIT_NULL;
88937 fra.me.REG[1] = NIT_NULL;
88938 fra.me.REG[2] = NIT_NULL;
88939 fra.me.REG[3] = NIT_NULL;
88940 fra.me.REG[4] = NIT_NULL;
88941 fra.me.REG[5] = NIT_NULL;
88942 fra.me.REG[6] = NIT_NULL;
88943 fra.me.REG[7] = NIT_NULL;
88944 fra.me.REG[0] = p0;
88945 fra.me.REG[1] = p1;
88946 fra.me.REG[0] = NIT_NULL;
88947 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88948 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88949 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88950 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88951 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88952 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88953 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88954 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
88955 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
88956 /* ./parser//parser.nit:33364 */
88957 if (UNTAG_Bool(REGB0)) {
88958 } else {
88959 fprintf(stderr, "Assert failed");
88960 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33364);
88961 nit_exit(1);
88962 }
88963 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
88964 /* ./parser//parser.nit:33366 */
88965 if (UNTAG_Bool(REGB0)) {
88966 } else {
88967 fprintf(stderr, "Assert failed");
88968 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33366);
88969 nit_exit(1);
88970 }
88971 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
88972 /* ./parser//parser.nit:33368 */
88973 if (UNTAG_Bool(REGB0)) {
88974 } else {
88975 fprintf(stderr, "Assert failed");
88976 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33368);
88977 nit_exit(1);
88978 }
88979 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
88980 /* ./parser//parser.nit:33370 */
88981 if (UNTAG_Bool(REGB0)) {
88982 } else {
88983 fprintf(stderr, "Assert failed");
88984 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33370);
88985 nit_exit(1);
88986 }
88987 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
88988 /* ./parser//parser.nit:33372 */
88989 if (UNTAG_Bool(REGB0)) {
88990 } else {
88991 fprintf(stderr, "Assert failed");
88992 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33372);
88993 nit_exit(1);
88994 }
88995 fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
88996 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
88997 /* ./parser//parser.nit:33377 */
88998 if (UNTAG_Bool(REGB0)) {
88999 } else {
89000 fprintf(stderr, "Assert failed");
89001 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33377);
89002 nit_exit(1);
89003 }
89004 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
89005 fra.me.REG[0] = fra.me.REG[2];
89006 REGB0 = TAG_Int(76);
89007 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
89008 /* ./parser//parser.nit:33388 */
89009 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
89010 stack_frame_head = fra.me.prev;
89011 return;
89012 }
89013 void parser___ReduceAction830___init(val_t p0, int* init_table){
89014 int itpos834 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction830].i;
89015 struct {struct stack_frame_t me;} fra;
89016 val_t tmp;
89017 if (init_table[itpos834]) return;
89018 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89019 fra.me.file = LOCATE_parser;
89020 fra.me.line = 33390;
89021 fra.me.meth = LOCATE_parser___ReduceAction830___init;
89022 fra.me.has_broke = 0;
89023 fra.me.REG_size = 1;
89024 fra.me.REG[0] = NIT_NULL;
89025 fra.me.REG[0] = p0;
89026 /* ./parser//parser.nit:33390 */
89027 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
89028 stack_frame_head = fra.me.prev;
89029 init_table[itpos834] = 1;
89030 return;
89031 }
89032 void parser___ReduceAction831___action(val_t p0, val_t p1){
89033 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
89034 val_t REGB0;
89035 val_t tmp;
89036 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89037 fra.me.file = LOCATE_parser;
89038 fra.me.line = 33394;
89039 fra.me.meth = LOCATE_parser___ReduceAction831___action;
89040 fra.me.has_broke = 0;
89041 fra.me.REG_size = 8;
89042 fra.me.REG[0] = NIT_NULL;
89043 fra.me.REG[1] = NIT_NULL;
89044 fra.me.REG[2] = NIT_NULL;
89045 fra.me.REG[3] = NIT_NULL;
89046 fra.me.REG[4] = NIT_NULL;
89047 fra.me.REG[5] = NIT_NULL;
89048 fra.me.REG[6] = NIT_NULL;
89049 fra.me.REG[7] = NIT_NULL;
89050 fra.me.REG[0] = p0;
89051 fra.me.REG[1] = p1;
89052 fra.me.REG[0] = NIT_NULL;
89053 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89054 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89055 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89056 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89057 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89058 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89059 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89060 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89061 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
89062 /* ./parser//parser.nit:33406 */
89063 if (UNTAG_Bool(REGB0)) {
89064 } else {
89065 fprintf(stderr, "Assert failed");
89066 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33406);
89067 nit_exit(1);
89068 }
89069 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
89070 /* ./parser//parser.nit:33408 */
89071 if (UNTAG_Bool(REGB0)) {
89072 } else {
89073 fprintf(stderr, "Assert failed");
89074 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33408);
89075 nit_exit(1);
89076 }
89077 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
89078 /* ./parser//parser.nit:33410 */
89079 if (UNTAG_Bool(REGB0)) {
89080 } else {
89081 fprintf(stderr, "Assert failed");
89082 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33410);
89083 nit_exit(1);
89084 }
89085 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
89086 /* ./parser//parser.nit:33412 */
89087 if (UNTAG_Bool(REGB0)) {
89088 } else {
89089 fprintf(stderr, "Assert failed");
89090 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33412);
89091 nit_exit(1);
89092 }
89093 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
89094 /* ./parser//parser.nit:33414 */
89095 if (UNTAG_Bool(REGB0)) {
89096 } else {
89097 fprintf(stderr, "Assert failed");
89098 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33414);
89099 nit_exit(1);
89100 }
89101 fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
89102 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
89103 /* ./parser//parser.nit:33419 */
89104 if (UNTAG_Bool(REGB0)) {
89105 } else {
89106 fprintf(stderr, "Assert failed");
89107 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33419);
89108 nit_exit(1);
89109 }
89110 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
89111 fra.me.REG[0] = fra.me.REG[2];
89112 REGB0 = TAG_Int(76);
89113 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
89114 /* ./parser//parser.nit:33430 */
89115 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
89116 stack_frame_head = fra.me.prev;
89117 return;
89118 }
89119 void parser___ReduceAction831___init(val_t p0, int* init_table){
89120 int itpos835 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction831].i;
89121 struct {struct stack_frame_t me;} fra;
89122 val_t tmp;
89123 if (init_table[itpos835]) return;
89124 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89125 fra.me.file = LOCATE_parser;
89126 fra.me.line = 33432;
89127 fra.me.meth = LOCATE_parser___ReduceAction831___init;
89128 fra.me.has_broke = 0;
89129 fra.me.REG_size = 1;
89130 fra.me.REG[0] = NIT_NULL;
89131 fra.me.REG[0] = p0;
89132 /* ./parser//parser.nit:33432 */
89133 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
89134 stack_frame_head = fra.me.prev;
89135 init_table[itpos835] = 1;
89136 return;
89137 }
89138 void parser___ReduceAction832___action(val_t p0, val_t p1){
89139 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
89140 val_t REGB0;
89141 val_t tmp;
89142 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89143 fra.me.file = LOCATE_parser;
89144 fra.me.line = 33436;
89145 fra.me.meth = LOCATE_parser___ReduceAction832___action;
89146 fra.me.has_broke = 0;
89147 fra.me.REG_size = 8;
89148 fra.me.REG[0] = NIT_NULL;
89149 fra.me.REG[1] = NIT_NULL;
89150 fra.me.REG[2] = NIT_NULL;
89151 fra.me.REG[3] = NIT_NULL;
89152 fra.me.REG[4] = NIT_NULL;
89153 fra.me.REG[5] = NIT_NULL;
89154 fra.me.REG[6] = NIT_NULL;
89155 fra.me.REG[7] = NIT_NULL;
89156 fra.me.REG[0] = p0;
89157 fra.me.REG[1] = p1;
89158 fra.me.REG[0] = NIT_NULL;
89159 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89160 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89161 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89162 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89163 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89164 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89165 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89166 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89167 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
89168 /* ./parser//parser.nit:33448 */
89169 if (UNTAG_Bool(REGB0)) {
89170 } else {
89171 fprintf(stderr, "Assert failed");
89172 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33448);
89173 nit_exit(1);
89174 }
89175 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
89176 /* ./parser//parser.nit:33450 */
89177 if (UNTAG_Bool(REGB0)) {
89178 } else {
89179 fprintf(stderr, "Assert failed");
89180 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33450);
89181 nit_exit(1);
89182 }
89183 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
89184 /* ./parser//parser.nit:33452 */
89185 if (UNTAG_Bool(REGB0)) {
89186 } else {
89187 fprintf(stderr, "Assert failed");
89188 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33452);
89189 nit_exit(1);
89190 }
89191 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
89192 /* ./parser//parser.nit:33454 */
89193 if (UNTAG_Bool(REGB0)) {
89194 } else {
89195 fprintf(stderr, "Assert failed");
89196 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33454);
89197 nit_exit(1);
89198 }
89199 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
89200 /* ./parser//parser.nit:33456 */
89201 if (UNTAG_Bool(REGB0)) {
89202 } else {
89203 fprintf(stderr, "Assert failed");
89204 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33456);
89205 nit_exit(1);
89206 }
89207 fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
89208 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
89209 /* ./parser//parser.nit:33461 */
89210 if (UNTAG_Bool(REGB0)) {
89211 } else {
89212 fprintf(stderr, "Assert failed");
89213 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33461);
89214 nit_exit(1);
89215 }
89216 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
89217 fra.me.REG[0] = fra.me.REG[2];
89218 REGB0 = TAG_Int(76);
89219 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
89220 /* ./parser//parser.nit:33472 */
89221 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
89222 stack_frame_head = fra.me.prev;
89223 return;
89224 }
89225 void parser___ReduceAction832___init(val_t p0, int* init_table){
89226 int itpos836 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction832].i;
89227 struct {struct stack_frame_t me;} fra;
89228 val_t tmp;
89229 if (init_table[itpos836]) return;
89230 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89231 fra.me.file = LOCATE_parser;
89232 fra.me.line = 33474;
89233 fra.me.meth = LOCATE_parser___ReduceAction832___init;
89234 fra.me.has_broke = 0;
89235 fra.me.REG_size = 1;
89236 fra.me.REG[0] = NIT_NULL;
89237 fra.me.REG[0] = p0;
89238 /* ./parser//parser.nit:33474 */
89239 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
89240 stack_frame_head = fra.me.prev;
89241 init_table[itpos836] = 1;
89242 return;
89243 }
89244 void parser___ReduceAction833___action(val_t p0, val_t p1){
89245 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
89246 val_t REGB0;
89247 val_t tmp;
89248 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89249 fra.me.file = LOCATE_parser;
89250 fra.me.line = 33478;
89251 fra.me.meth = LOCATE_parser___ReduceAction833___action;
89252 fra.me.has_broke = 0;
89253 fra.me.REG_size = 8;
89254 fra.me.REG[0] = NIT_NULL;
89255 fra.me.REG[1] = NIT_NULL;
89256 fra.me.REG[2] = NIT_NULL;
89257 fra.me.REG[3] = NIT_NULL;
89258 fra.me.REG[4] = NIT_NULL;
89259 fra.me.REG[5] = NIT_NULL;
89260 fra.me.REG[6] = NIT_NULL;
89261 fra.me.REG[7] = NIT_NULL;
89262 fra.me.REG[0] = p0;
89263 fra.me.REG[1] = p1;
89264 fra.me.REG[0] = NIT_NULL;
89265 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89266 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89267 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89268 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89269 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89270 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89271 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89272 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89273 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
89274 /* ./parser//parser.nit:33490 */
89275 if (UNTAG_Bool(REGB0)) {
89276 } else {
89277 fprintf(stderr, "Assert failed");
89278 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33490);
89279 nit_exit(1);
89280 }
89281 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
89282 /* ./parser//parser.nit:33492 */
89283 if (UNTAG_Bool(REGB0)) {
89284 } else {
89285 fprintf(stderr, "Assert failed");
89286 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33492);
89287 nit_exit(1);
89288 }
89289 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
89290 /* ./parser//parser.nit:33494 */
89291 if (UNTAG_Bool(REGB0)) {
89292 } else {
89293 fprintf(stderr, "Assert failed");
89294 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33494);
89295 nit_exit(1);
89296 }
89297 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
89298 /* ./parser//parser.nit:33496 */
89299 if (UNTAG_Bool(REGB0)) {
89300 } else {
89301 fprintf(stderr, "Assert failed");
89302 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33496);
89303 nit_exit(1);
89304 }
89305 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
89306 /* ./parser//parser.nit:33498 */
89307 if (UNTAG_Bool(REGB0)) {
89308 } else {
89309 fprintf(stderr, "Assert failed");
89310 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33498);
89311 nit_exit(1);
89312 }
89313 fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
89314 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
89315 /* ./parser//parser.nit:33503 */
89316 if (UNTAG_Bool(REGB0)) {
89317 } else {
89318 fprintf(stderr, "Assert failed");
89319 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33503);
89320 nit_exit(1);
89321 }
89322 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
89323 fra.me.REG[0] = fra.me.REG[2];
89324 REGB0 = TAG_Int(76);
89325 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
89326 /* ./parser//parser.nit:33514 */
89327 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
89328 stack_frame_head = fra.me.prev;
89329 return;
89330 }
89331 void parser___ReduceAction833___init(val_t p0, int* init_table){
89332 int itpos837 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction833].i;
89333 struct {struct stack_frame_t me;} fra;
89334 val_t tmp;
89335 if (init_table[itpos837]) return;
89336 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89337 fra.me.file = LOCATE_parser;
89338 fra.me.line = 33516;
89339 fra.me.meth = LOCATE_parser___ReduceAction833___init;
89340 fra.me.has_broke = 0;
89341 fra.me.REG_size = 1;
89342 fra.me.REG[0] = NIT_NULL;
89343 fra.me.REG[0] = p0;
89344 /* ./parser//parser.nit:33516 */
89345 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
89346 stack_frame_head = fra.me.prev;
89347 init_table[itpos837] = 1;
89348 return;
89349 }
89350 void parser___ReduceAction834___action(val_t p0, val_t p1){
89351 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
89352 val_t REGB0;
89353 val_t tmp;
89354 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89355 fra.me.file = LOCATE_parser;
89356 fra.me.line = 33520;
89357 fra.me.meth = LOCATE_parser___ReduceAction834___action;
89358 fra.me.has_broke = 0;
89359 fra.me.REG_size = 8;
89360 fra.me.REG[0] = NIT_NULL;
89361 fra.me.REG[1] = NIT_NULL;
89362 fra.me.REG[2] = NIT_NULL;
89363 fra.me.REG[3] = NIT_NULL;
89364 fra.me.REG[4] = NIT_NULL;
89365 fra.me.REG[5] = NIT_NULL;
89366 fra.me.REG[6] = NIT_NULL;
89367 fra.me.REG[7] = NIT_NULL;
89368 fra.me.REG[0] = p0;
89369 fra.me.REG[1] = p1;
89370 fra.me.REG[0] = NIT_NULL;
89371 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89372 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89373 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89374 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89375 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89376 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89377 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89378 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89379 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
89380 /* ./parser//parser.nit:33532 */
89381 if (UNTAG_Bool(REGB0)) {
89382 } else {
89383 fprintf(stderr, "Assert failed");
89384 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33532);
89385 nit_exit(1);
89386 }
89387 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
89388 /* ./parser//parser.nit:33534 */
89389 if (UNTAG_Bool(REGB0)) {
89390 } else {
89391 fprintf(stderr, "Assert failed");
89392 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33534);
89393 nit_exit(1);
89394 }
89395 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
89396 /* ./parser//parser.nit:33536 */
89397 if (UNTAG_Bool(REGB0)) {
89398 } else {
89399 fprintf(stderr, "Assert failed");
89400 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33536);
89401 nit_exit(1);
89402 }
89403 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
89404 /* ./parser//parser.nit:33538 */
89405 if (UNTAG_Bool(REGB0)) {
89406 } else {
89407 fprintf(stderr, "Assert failed");
89408 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33538);
89409 nit_exit(1);
89410 }
89411 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
89412 /* ./parser//parser.nit:33540 */
89413 if (UNTAG_Bool(REGB0)) {
89414 } else {
89415 fprintf(stderr, "Assert failed");
89416 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33540);
89417 nit_exit(1);
89418 }
89419 fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
89420 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
89421 /* ./parser//parser.nit:33545 */
89422 if (UNTAG_Bool(REGB0)) {
89423 } else {
89424 fprintf(stderr, "Assert failed");
89425 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33545);
89426 nit_exit(1);
89427 }
89428 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
89429 fra.me.REG[0] = fra.me.REG[2];
89430 REGB0 = TAG_Int(76);
89431 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
89432 /* ./parser//parser.nit:33556 */
89433 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
89434 stack_frame_head = fra.me.prev;
89435 return;
89436 }
89437 void parser___ReduceAction834___init(val_t p0, int* init_table){
89438 int itpos838 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction834].i;
89439 struct {struct stack_frame_t me;} fra;
89440 val_t tmp;
89441 if (init_table[itpos838]) return;
89442 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89443 fra.me.file = LOCATE_parser;
89444 fra.me.line = 33558;
89445 fra.me.meth = LOCATE_parser___ReduceAction834___init;
89446 fra.me.has_broke = 0;
89447 fra.me.REG_size = 1;
89448 fra.me.REG[0] = NIT_NULL;
89449 fra.me.REG[0] = p0;
89450 /* ./parser//parser.nit:33558 */
89451 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
89452 stack_frame_head = fra.me.prev;
89453 init_table[itpos838] = 1;
89454 return;
89455 }
89456 void parser___ReduceAction835___action(val_t p0, val_t p1){
89457 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
89458 val_t REGB0;
89459 val_t tmp;
89460 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89461 fra.me.file = LOCATE_parser;
89462 fra.me.line = 33562;
89463 fra.me.meth = LOCATE_parser___ReduceAction835___action;
89464 fra.me.has_broke = 0;
89465 fra.me.REG_size = 8;
89466 fra.me.REG[0] = NIT_NULL;
89467 fra.me.REG[1] = NIT_NULL;
89468 fra.me.REG[2] = NIT_NULL;
89469 fra.me.REG[3] = NIT_NULL;
89470 fra.me.REG[4] = NIT_NULL;
89471 fra.me.REG[5] = NIT_NULL;
89472 fra.me.REG[6] = NIT_NULL;
89473 fra.me.REG[7] = NIT_NULL;
89474 fra.me.REG[0] = p0;
89475 fra.me.REG[1] = p1;
89476 fra.me.REG[0] = NIT_NULL;
89477 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89478 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89479 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89480 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89481 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89482 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89483 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89484 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89485 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
89486 /* ./parser//parser.nit:33574 */
89487 if (UNTAG_Bool(REGB0)) {
89488 } else {
89489 fprintf(stderr, "Assert failed");
89490 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33574);
89491 nit_exit(1);
89492 }
89493 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
89494 /* ./parser//parser.nit:33576 */
89495 if (UNTAG_Bool(REGB0)) {
89496 } else {
89497 fprintf(stderr, "Assert failed");
89498 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33576);
89499 nit_exit(1);
89500 }
89501 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
89502 /* ./parser//parser.nit:33578 */
89503 if (UNTAG_Bool(REGB0)) {
89504 } else {
89505 fprintf(stderr, "Assert failed");
89506 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33578);
89507 nit_exit(1);
89508 }
89509 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
89510 /* ./parser//parser.nit:33580 */
89511 if (UNTAG_Bool(REGB0)) {
89512 } else {
89513 fprintf(stderr, "Assert failed");
89514 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33580);
89515 nit_exit(1);
89516 }
89517 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
89518 /* ./parser//parser.nit:33582 */
89519 if (UNTAG_Bool(REGB0)) {
89520 } else {
89521 fprintf(stderr, "Assert failed");
89522 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33582);
89523 nit_exit(1);
89524 }
89525 fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
89526 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
89527 /* ./parser//parser.nit:33587 */
89528 if (UNTAG_Bool(REGB0)) {
89529 } else {
89530 fprintf(stderr, "Assert failed");
89531 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33587);
89532 nit_exit(1);
89533 }
89534 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
89535 fra.me.REG[0] = fra.me.REG[2];
89536 REGB0 = TAG_Int(76);
89537 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
89538 /* ./parser//parser.nit:33598 */
89539 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
89540 stack_frame_head = fra.me.prev;
89541 return;
89542 }
89543 void parser___ReduceAction835___init(val_t p0, int* init_table){
89544 int itpos839 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction835].i;
89545 struct {struct stack_frame_t me;} fra;
89546 val_t tmp;
89547 if (init_table[itpos839]) return;
89548 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89549 fra.me.file = LOCATE_parser;
89550 fra.me.line = 33600;
89551 fra.me.meth = LOCATE_parser___ReduceAction835___init;
89552 fra.me.has_broke = 0;
89553 fra.me.REG_size = 1;
89554 fra.me.REG[0] = NIT_NULL;
89555 fra.me.REG[0] = p0;
89556 /* ./parser//parser.nit:33600 */
89557 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
89558 stack_frame_head = fra.me.prev;
89559 init_table[itpos839] = 1;
89560 return;
89561 }
89562 void parser___ReduceAction836___action(val_t p0, val_t p1){
89563 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
89564 val_t REGB0;
89565 val_t tmp;
89566 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89567 fra.me.file = LOCATE_parser;
89568 fra.me.line = 33604;
89569 fra.me.meth = LOCATE_parser___ReduceAction836___action;
89570 fra.me.has_broke = 0;
89571 fra.me.REG_size = 8;
89572 fra.me.REG[0] = NIT_NULL;
89573 fra.me.REG[1] = NIT_NULL;
89574 fra.me.REG[2] = NIT_NULL;
89575 fra.me.REG[3] = NIT_NULL;
89576 fra.me.REG[4] = NIT_NULL;
89577 fra.me.REG[5] = NIT_NULL;
89578 fra.me.REG[6] = NIT_NULL;
89579 fra.me.REG[7] = NIT_NULL;
89580 fra.me.REG[0] = p0;
89581 fra.me.REG[1] = p1;
89582 fra.me.REG[0] = NIT_NULL;
89583 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89584 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89585 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89586 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89587 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89588 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89589 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89590 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89591 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
89592 /* ./parser//parser.nit:33616 */
89593 if (UNTAG_Bool(REGB0)) {
89594 } else {
89595 fprintf(stderr, "Assert failed");
89596 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33616);
89597 nit_exit(1);
89598 }
89599 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
89600 /* ./parser//parser.nit:33618 */
89601 if (UNTAG_Bool(REGB0)) {
89602 } else {
89603 fprintf(stderr, "Assert failed");
89604 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33618);
89605 nit_exit(1);
89606 }
89607 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
89608 /* ./parser//parser.nit:33620 */
89609 if (UNTAG_Bool(REGB0)) {
89610 } else {
89611 fprintf(stderr, "Assert failed");
89612 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33620);
89613 nit_exit(1);
89614 }
89615 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
89616 /* ./parser//parser.nit:33622 */
89617 if (UNTAG_Bool(REGB0)) {
89618 } else {
89619 fprintf(stderr, "Assert failed");
89620 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33622);
89621 nit_exit(1);
89622 }
89623 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
89624 /* ./parser//parser.nit:33624 */
89625 if (UNTAG_Bool(REGB0)) {
89626 } else {
89627 fprintf(stderr, "Assert failed");
89628 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33624);
89629 nit_exit(1);
89630 }
89631 fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
89632 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
89633 /* ./parser//parser.nit:33629 */
89634 if (UNTAG_Bool(REGB0)) {
89635 } else {
89636 fprintf(stderr, "Assert failed");
89637 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33629);
89638 nit_exit(1);
89639 }
89640 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
89641 fra.me.REG[0] = fra.me.REG[2];
89642 REGB0 = TAG_Int(76);
89643 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
89644 /* ./parser//parser.nit:33640 */
89645 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
89646 stack_frame_head = fra.me.prev;
89647 return;
89648 }
89649 void parser___ReduceAction836___init(val_t p0, int* init_table){
89650 int itpos840 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction836].i;
89651 struct {struct stack_frame_t me;} fra;
89652 val_t tmp;
89653 if (init_table[itpos840]) return;
89654 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89655 fra.me.file = LOCATE_parser;
89656 fra.me.line = 33642;
89657 fra.me.meth = LOCATE_parser___ReduceAction836___init;
89658 fra.me.has_broke = 0;
89659 fra.me.REG_size = 1;
89660 fra.me.REG[0] = NIT_NULL;
89661 fra.me.REG[0] = p0;
89662 /* ./parser//parser.nit:33642 */
89663 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
89664 stack_frame_head = fra.me.prev;
89665 init_table[itpos840] = 1;
89666 return;
89667 }
89668 void parser___ReduceAction837___action(val_t p0, val_t p1){
89669 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
89670 val_t REGB0;
89671 val_t tmp;
89672 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89673 fra.me.file = LOCATE_parser;
89674 fra.me.line = 33646;
89675 fra.me.meth = LOCATE_parser___ReduceAction837___action;
89676 fra.me.has_broke = 0;
89677 fra.me.REG_size = 8;
89678 fra.me.REG[0] = NIT_NULL;
89679 fra.me.REG[1] = NIT_NULL;
89680 fra.me.REG[2] = NIT_NULL;
89681 fra.me.REG[3] = NIT_NULL;
89682 fra.me.REG[4] = NIT_NULL;
89683 fra.me.REG[5] = NIT_NULL;
89684 fra.me.REG[6] = NIT_NULL;
89685 fra.me.REG[7] = NIT_NULL;
89686 fra.me.REG[0] = p0;
89687 fra.me.REG[1] = p1;
89688 fra.me.REG[0] = NIT_NULL;
89689 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89690 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89691 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89692 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89693 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89694 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89695 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89696 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89697 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
89698 /* ./parser//parser.nit:33658 */
89699 if (UNTAG_Bool(REGB0)) {
89700 } else {
89701 fprintf(stderr, "Assert failed");
89702 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33658);
89703 nit_exit(1);
89704 }
89705 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
89706 /* ./parser//parser.nit:33660 */
89707 if (UNTAG_Bool(REGB0)) {
89708 } else {
89709 fprintf(stderr, "Assert failed");
89710 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33660);
89711 nit_exit(1);
89712 }
89713 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
89714 /* ./parser//parser.nit:33662 */
89715 if (UNTAG_Bool(REGB0)) {
89716 } else {
89717 fprintf(stderr, "Assert failed");
89718 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33662);
89719 nit_exit(1);
89720 }
89721 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
89722 /* ./parser//parser.nit:33664 */
89723 if (UNTAG_Bool(REGB0)) {
89724 } else {
89725 fprintf(stderr, "Assert failed");
89726 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33664);
89727 nit_exit(1);
89728 }
89729 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
89730 /* ./parser//parser.nit:33666 */
89731 if (UNTAG_Bool(REGB0)) {
89732 } else {
89733 fprintf(stderr, "Assert failed");
89734 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33666);
89735 nit_exit(1);
89736 }
89737 fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
89738 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
89739 /* ./parser//parser.nit:33671 */
89740 if (UNTAG_Bool(REGB0)) {
89741 } else {
89742 fprintf(stderr, "Assert failed");
89743 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33671);
89744 nit_exit(1);
89745 }
89746 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
89747 fra.me.REG[0] = fra.me.REG[2];
89748 REGB0 = TAG_Int(76);
89749 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
89750 /* ./parser//parser.nit:33682 */
89751 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
89752 stack_frame_head = fra.me.prev;
89753 return;
89754 }
89755 void parser___ReduceAction837___init(val_t p0, int* init_table){
89756 int itpos841 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction837].i;
89757 struct {struct stack_frame_t me;} fra;
89758 val_t tmp;
89759 if (init_table[itpos841]) return;
89760 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89761 fra.me.file = LOCATE_parser;
89762 fra.me.line = 33684;
89763 fra.me.meth = LOCATE_parser___ReduceAction837___init;
89764 fra.me.has_broke = 0;
89765 fra.me.REG_size = 1;
89766 fra.me.REG[0] = NIT_NULL;
89767 fra.me.REG[0] = p0;
89768 /* ./parser//parser.nit:33684 */
89769 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
89770 stack_frame_head = fra.me.prev;
89771 init_table[itpos841] = 1;
89772 return;
89773 }
89774 void parser___ReduceAction838___action(val_t p0, val_t p1){
89775 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
89776 val_t REGB0;
89777 val_t tmp;
89778 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89779 fra.me.file = LOCATE_parser;
89780 fra.me.line = 33688;
89781 fra.me.meth = LOCATE_parser___ReduceAction838___action;
89782 fra.me.has_broke = 0;
89783 fra.me.REG_size = 8;
89784 fra.me.REG[0] = NIT_NULL;
89785 fra.me.REG[1] = NIT_NULL;
89786 fra.me.REG[2] = NIT_NULL;
89787 fra.me.REG[3] = NIT_NULL;
89788 fra.me.REG[4] = NIT_NULL;
89789 fra.me.REG[5] = NIT_NULL;
89790 fra.me.REG[6] = NIT_NULL;
89791 fra.me.REG[7] = NIT_NULL;
89792 fra.me.REG[0] = p0;
89793 fra.me.REG[1] = p1;
89794 fra.me.REG[0] = NIT_NULL;
89795 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89796 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89797 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89798 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89799 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89800 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89801 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89802 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89803 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
89804 /* ./parser//parser.nit:33700 */
89805 if (UNTAG_Bool(REGB0)) {
89806 } else {
89807 fprintf(stderr, "Assert failed");
89808 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33700);
89809 nit_exit(1);
89810 }
89811 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
89812 /* ./parser//parser.nit:33702 */
89813 if (UNTAG_Bool(REGB0)) {
89814 } else {
89815 fprintf(stderr, "Assert failed");
89816 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33702);
89817 nit_exit(1);
89818 }
89819 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
89820 /* ./parser//parser.nit:33704 */
89821 if (UNTAG_Bool(REGB0)) {
89822 } else {
89823 fprintf(stderr, "Assert failed");
89824 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33704);
89825 nit_exit(1);
89826 }
89827 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
89828 /* ./parser//parser.nit:33706 */
89829 if (UNTAG_Bool(REGB0)) {
89830 } else {
89831 fprintf(stderr, "Assert failed");
89832 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33706);
89833 nit_exit(1);
89834 }
89835 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
89836 /* ./parser//parser.nit:33708 */
89837 if (UNTAG_Bool(REGB0)) {
89838 } else {
89839 fprintf(stderr, "Assert failed");
89840 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33708);
89841 nit_exit(1);
89842 }
89843 fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
89844 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
89845 /* ./parser//parser.nit:33713 */
89846 if (UNTAG_Bool(REGB0)) {
89847 } else {
89848 fprintf(stderr, "Assert failed");
89849 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33713);
89850 nit_exit(1);
89851 }
89852 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
89853 fra.me.REG[0] = fra.me.REG[2];
89854 REGB0 = TAG_Int(76);
89855 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
89856 /* ./parser//parser.nit:33724 */
89857 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
89858 stack_frame_head = fra.me.prev;
89859 return;
89860 }
89861 void parser___ReduceAction838___init(val_t p0, int* init_table){
89862 int itpos842 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction838].i;
89863 struct {struct stack_frame_t me;} fra;
89864 val_t tmp;
89865 if (init_table[itpos842]) return;
89866 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89867 fra.me.file = LOCATE_parser;
89868 fra.me.line = 33726;
89869 fra.me.meth = LOCATE_parser___ReduceAction838___init;
89870 fra.me.has_broke = 0;
89871 fra.me.REG_size = 1;
89872 fra.me.REG[0] = NIT_NULL;
89873 fra.me.REG[0] = p0;
89874 /* ./parser//parser.nit:33726 */
89875 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
89876 stack_frame_head = fra.me.prev;
89877 init_table[itpos842] = 1;
89878 return;
89879 }
89880 void parser___ReduceAction839___action(val_t p0, val_t p1){
89881 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
89882 val_t REGB0;
89883 val_t tmp;
89884 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89885 fra.me.file = LOCATE_parser;
89886 fra.me.line = 33730;
89887 fra.me.meth = LOCATE_parser___ReduceAction839___action;
89888 fra.me.has_broke = 0;
89889 fra.me.REG_size = 8;
89890 fra.me.REG[0] = NIT_NULL;
89891 fra.me.REG[1] = NIT_NULL;
89892 fra.me.REG[2] = NIT_NULL;
89893 fra.me.REG[3] = NIT_NULL;
89894 fra.me.REG[4] = NIT_NULL;
89895 fra.me.REG[5] = NIT_NULL;
89896 fra.me.REG[6] = NIT_NULL;
89897 fra.me.REG[7] = NIT_NULL;
89898 fra.me.REG[0] = p0;
89899 fra.me.REG[1] = p1;
89900 fra.me.REG[0] = NIT_NULL;
89901 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89902 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89903 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89904 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89905 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89906 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89907 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89908 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
89909 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
89910 /* ./parser//parser.nit:33742 */
89911 if (UNTAG_Bool(REGB0)) {
89912 } else {
89913 fprintf(stderr, "Assert failed");
89914 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33742);
89915 nit_exit(1);
89916 }
89917 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
89918 /* ./parser//parser.nit:33744 */
89919 if (UNTAG_Bool(REGB0)) {
89920 } else {
89921 fprintf(stderr, "Assert failed");
89922 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33744);
89923 nit_exit(1);
89924 }
89925 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
89926 /* ./parser//parser.nit:33746 */
89927 if (UNTAG_Bool(REGB0)) {
89928 } else {
89929 fprintf(stderr, "Assert failed");
89930 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33746);
89931 nit_exit(1);
89932 }
89933 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
89934 /* ./parser//parser.nit:33748 */
89935 if (UNTAG_Bool(REGB0)) {
89936 } else {
89937 fprintf(stderr, "Assert failed");
89938 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33748);
89939 nit_exit(1);
89940 }
89941 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
89942 /* ./parser//parser.nit:33750 */
89943 if (UNTAG_Bool(REGB0)) {
89944 } else {
89945 fprintf(stderr, "Assert failed");
89946 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33750);
89947 nit_exit(1);
89948 }
89949 fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
89950 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
89951 /* ./parser//parser.nit:33755 */
89952 if (UNTAG_Bool(REGB0)) {
89953 } else {
89954 fprintf(stderr, "Assert failed");
89955 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33755);
89956 nit_exit(1);
89957 }
89958 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
89959 fra.me.REG[0] = fra.me.REG[2];
89960 REGB0 = TAG_Int(76);
89961 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
89962 /* ./parser//parser.nit:33766 */
89963 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
89964 stack_frame_head = fra.me.prev;
89965 return;
89966 }
89967 void parser___ReduceAction839___init(val_t p0, int* init_table){
89968 int itpos843 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction839].i;
89969 struct {struct stack_frame_t me;} fra;
89970 val_t tmp;
89971 if (init_table[itpos843]) return;
89972 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89973 fra.me.file = LOCATE_parser;
89974 fra.me.line = 33768;
89975 fra.me.meth = LOCATE_parser___ReduceAction839___init;
89976 fra.me.has_broke = 0;
89977 fra.me.REG_size = 1;
89978 fra.me.REG[0] = NIT_NULL;
89979 fra.me.REG[0] = p0;
89980 /* ./parser//parser.nit:33768 */
89981 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
89982 stack_frame_head = fra.me.prev;
89983 init_table[itpos843] = 1;
89984 return;
89985 }
89986 void parser___ReduceAction840___action(val_t p0, val_t p1){
89987 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
89988 val_t REGB0;
89989 val_t tmp;
89990 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
89991 fra.me.file = LOCATE_parser;
89992 fra.me.line = 33772;
89993 fra.me.meth = LOCATE_parser___ReduceAction840___action;
89994 fra.me.has_broke = 0;
89995 fra.me.REG_size = 9;
89996 fra.me.REG[0] = NIT_NULL;
89997 fra.me.REG[1] = NIT_NULL;
89998 fra.me.REG[2] = NIT_NULL;
89999 fra.me.REG[3] = NIT_NULL;
90000 fra.me.REG[4] = NIT_NULL;
90001 fra.me.REG[5] = NIT_NULL;
90002 fra.me.REG[6] = NIT_NULL;
90003 fra.me.REG[7] = NIT_NULL;
90004 fra.me.REG[8] = NIT_NULL;
90005 fra.me.REG[0] = p0;
90006 fra.me.REG[1] = p1;
90007 fra.me.REG[0] = NIT_NULL;
90008 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90009 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90010 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90011 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90012 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90013 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90014 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90015 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90016 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90017 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
90018 /* ./parser//parser.nit:33785 */
90019 if (UNTAG_Bool(REGB0)) {
90020 } else {
90021 fprintf(stderr, "Assert failed");
90022 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33785);
90023 nit_exit(1);
90024 }
90025 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
90026 /* ./parser//parser.nit:33787 */
90027 if (UNTAG_Bool(REGB0)) {
90028 } else {
90029 fprintf(stderr, "Assert failed");
90030 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33787);
90031 nit_exit(1);
90032 }
90033 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
90034 /* ./parser//parser.nit:33789 */
90035 if (UNTAG_Bool(REGB0)) {
90036 } else {
90037 fprintf(stderr, "Assert failed");
90038 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33789);
90039 nit_exit(1);
90040 }
90041 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
90042 /* ./parser//parser.nit:33791 */
90043 if (UNTAG_Bool(REGB0)) {
90044 } else {
90045 fprintf(stderr, "Assert failed");
90046 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33791);
90047 nit_exit(1);
90048 }
90049 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
90050 /* ./parser//parser.nit:33793 */
90051 if (UNTAG_Bool(REGB0)) {
90052 } else {
90053 fprintf(stderr, "Assert failed");
90054 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33793);
90055 nit_exit(1);
90056 }
90057 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
90058 /* ./parser//parser.nit:33795 */
90059 if (UNTAG_Bool(REGB0)) {
90060 } else {
90061 fprintf(stderr, "Assert failed");
90062 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33795);
90063 nit_exit(1);
90064 }
90065 fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
90066 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
90067 /* ./parser//parser.nit:33801 */
90068 if (UNTAG_Bool(REGB0)) {
90069 } else {
90070 fprintf(stderr, "Assert failed");
90071 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33801);
90072 nit_exit(1);
90073 }
90074 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
90075 fra.me.REG[0] = fra.me.REG[2];
90076 REGB0 = TAG_Int(76);
90077 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
90078 /* ./parser//parser.nit:33812 */
90079 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
90080 stack_frame_head = fra.me.prev;
90081 return;
90082 }
90083 void parser___ReduceAction840___init(val_t p0, int* init_table){
90084 int itpos844 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction840].i;
90085 struct {struct stack_frame_t me;} fra;
90086 val_t tmp;
90087 if (init_table[itpos844]) return;
90088 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90089 fra.me.file = LOCATE_parser;
90090 fra.me.line = 33814;
90091 fra.me.meth = LOCATE_parser___ReduceAction840___init;
90092 fra.me.has_broke = 0;
90093 fra.me.REG_size = 1;
90094 fra.me.REG[0] = NIT_NULL;
90095 fra.me.REG[0] = p0;
90096 /* ./parser//parser.nit:33814 */
90097 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
90098 stack_frame_head = fra.me.prev;
90099 init_table[itpos844] = 1;
90100 return;
90101 }
90102 void parser___ReduceAction841___action(val_t p0, val_t p1){
90103 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
90104 val_t REGB0;
90105 val_t tmp;
90106 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90107 fra.me.file = LOCATE_parser;
90108 fra.me.line = 33818;
90109 fra.me.meth = LOCATE_parser___ReduceAction841___action;
90110 fra.me.has_broke = 0;
90111 fra.me.REG_size = 8;
90112 fra.me.REG[0] = NIT_NULL;
90113 fra.me.REG[1] = NIT_NULL;
90114 fra.me.REG[2] = NIT_NULL;
90115 fra.me.REG[3] = NIT_NULL;
90116 fra.me.REG[4] = NIT_NULL;
90117 fra.me.REG[5] = NIT_NULL;
90118 fra.me.REG[6] = NIT_NULL;
90119 fra.me.REG[7] = NIT_NULL;
90120 fra.me.REG[0] = p0;
90121 fra.me.REG[1] = p1;
90122 fra.me.REG[0] = NIT_NULL;
90123 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90124 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90125 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90126 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90127 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90128 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90129 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90130 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90131 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
90132 /* ./parser//parser.nit:33830 */
90133 if (UNTAG_Bool(REGB0)) {
90134 } else {
90135 fprintf(stderr, "Assert failed");
90136 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33830);
90137 nit_exit(1);
90138 }
90139 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
90140 /* ./parser//parser.nit:33832 */
90141 if (UNTAG_Bool(REGB0)) {
90142 } else {
90143 fprintf(stderr, "Assert failed");
90144 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33832);
90145 nit_exit(1);
90146 }
90147 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
90148 /* ./parser//parser.nit:33834 */
90149 if (UNTAG_Bool(REGB0)) {
90150 } else {
90151 fprintf(stderr, "Assert failed");
90152 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33834);
90153 nit_exit(1);
90154 }
90155 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
90156 /* ./parser//parser.nit:33836 */
90157 if (UNTAG_Bool(REGB0)) {
90158 } else {
90159 fprintf(stderr, "Assert failed");
90160 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33836);
90161 nit_exit(1);
90162 }
90163 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
90164 /* ./parser//parser.nit:33838 */
90165 if (UNTAG_Bool(REGB0)) {
90166 } else {
90167 fprintf(stderr, "Assert failed");
90168 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33838);
90169 nit_exit(1);
90170 }
90171 fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
90172 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
90173 /* ./parser//parser.nit:33843 */
90174 if (UNTAG_Bool(REGB0)) {
90175 } else {
90176 fprintf(stderr, "Assert failed");
90177 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33843);
90178 nit_exit(1);
90179 }
90180 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
90181 fra.me.REG[0] = fra.me.REG[2];
90182 REGB0 = TAG_Int(76);
90183 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
90184 /* ./parser//parser.nit:33854 */
90185 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
90186 stack_frame_head = fra.me.prev;
90187 return;
90188 }
90189 void parser___ReduceAction841___init(val_t p0, int* init_table){
90190 int itpos845 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction841].i;
90191 struct {struct stack_frame_t me;} fra;
90192 val_t tmp;
90193 if (init_table[itpos845]) return;
90194 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90195 fra.me.file = LOCATE_parser;
90196 fra.me.line = 33856;
90197 fra.me.meth = LOCATE_parser___ReduceAction841___init;
90198 fra.me.has_broke = 0;
90199 fra.me.REG_size = 1;
90200 fra.me.REG[0] = NIT_NULL;
90201 fra.me.REG[0] = p0;
90202 /* ./parser//parser.nit:33856 */
90203 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
90204 stack_frame_head = fra.me.prev;
90205 init_table[itpos845] = 1;
90206 return;
90207 }
90208 void parser___ReduceAction842___action(val_t p0, val_t p1){
90209 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
90210 val_t REGB0;
90211 val_t tmp;
90212 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90213 fra.me.file = LOCATE_parser;
90214 fra.me.line = 33860;
90215 fra.me.meth = LOCATE_parser___ReduceAction842___action;
90216 fra.me.has_broke = 0;
90217 fra.me.REG_size = 9;
90218 fra.me.REG[0] = NIT_NULL;
90219 fra.me.REG[1] = NIT_NULL;
90220 fra.me.REG[2] = NIT_NULL;
90221 fra.me.REG[3] = NIT_NULL;
90222 fra.me.REG[4] = NIT_NULL;
90223 fra.me.REG[5] = NIT_NULL;
90224 fra.me.REG[6] = NIT_NULL;
90225 fra.me.REG[7] = NIT_NULL;
90226 fra.me.REG[8] = NIT_NULL;
90227 fra.me.REG[0] = p0;
90228 fra.me.REG[1] = p1;
90229 fra.me.REG[0] = NIT_NULL;
90230 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90231 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90232 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90233 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90234 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90235 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90236 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90237 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90238 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90239 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
90240 /* ./parser//parser.nit:33873 */
90241 if (UNTAG_Bool(REGB0)) {
90242 } else {
90243 fprintf(stderr, "Assert failed");
90244 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33873);
90245 nit_exit(1);
90246 }
90247 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
90248 /* ./parser//parser.nit:33875 */
90249 if (UNTAG_Bool(REGB0)) {
90250 } else {
90251 fprintf(stderr, "Assert failed");
90252 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33875);
90253 nit_exit(1);
90254 }
90255 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
90256 /* ./parser//parser.nit:33877 */
90257 if (UNTAG_Bool(REGB0)) {
90258 } else {
90259 fprintf(stderr, "Assert failed");
90260 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33877);
90261 nit_exit(1);
90262 }
90263 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
90264 /* ./parser//parser.nit:33879 */
90265 if (UNTAG_Bool(REGB0)) {
90266 } else {
90267 fprintf(stderr, "Assert failed");
90268 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33879);
90269 nit_exit(1);
90270 }
90271 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
90272 /* ./parser//parser.nit:33881 */
90273 if (UNTAG_Bool(REGB0)) {
90274 } else {
90275 fprintf(stderr, "Assert failed");
90276 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33881);
90277 nit_exit(1);
90278 }
90279 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
90280 /* ./parser//parser.nit:33883 */
90281 if (UNTAG_Bool(REGB0)) {
90282 } else {
90283 fprintf(stderr, "Assert failed");
90284 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33883);
90285 nit_exit(1);
90286 }
90287 fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
90288 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
90289 /* ./parser//parser.nit:33889 */
90290 if (UNTAG_Bool(REGB0)) {
90291 } else {
90292 fprintf(stderr, "Assert failed");
90293 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33889);
90294 nit_exit(1);
90295 }
90296 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
90297 fra.me.REG[0] = fra.me.REG[2];
90298 REGB0 = TAG_Int(76);
90299 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
90300 /* ./parser//parser.nit:33900 */
90301 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
90302 stack_frame_head = fra.me.prev;
90303 return;
90304 }
90305 void parser___ReduceAction842___init(val_t p0, int* init_table){
90306 int itpos846 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction842].i;
90307 struct {struct stack_frame_t me;} fra;
90308 val_t tmp;
90309 if (init_table[itpos846]) return;
90310 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90311 fra.me.file = LOCATE_parser;
90312 fra.me.line = 33902;
90313 fra.me.meth = LOCATE_parser___ReduceAction842___init;
90314 fra.me.has_broke = 0;
90315 fra.me.REG_size = 1;
90316 fra.me.REG[0] = NIT_NULL;
90317 fra.me.REG[0] = p0;
90318 /* ./parser//parser.nit:33902 */
90319 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
90320 stack_frame_head = fra.me.prev;
90321 init_table[itpos846] = 1;
90322 return;
90323 }
90324 void parser___ReduceAction843___action(val_t p0, val_t p1){
90325 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
90326 val_t REGB0;
90327 val_t tmp;
90328 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90329 fra.me.file = LOCATE_parser;
90330 fra.me.line = 33906;
90331 fra.me.meth = LOCATE_parser___ReduceAction843___action;
90332 fra.me.has_broke = 0;
90333 fra.me.REG_size = 10;
90334 fra.me.REG[0] = NIT_NULL;
90335 fra.me.REG[1] = NIT_NULL;
90336 fra.me.REG[2] = NIT_NULL;
90337 fra.me.REG[3] = NIT_NULL;
90338 fra.me.REG[4] = NIT_NULL;
90339 fra.me.REG[5] = NIT_NULL;
90340 fra.me.REG[6] = NIT_NULL;
90341 fra.me.REG[7] = NIT_NULL;
90342 fra.me.REG[8] = NIT_NULL;
90343 fra.me.REG[9] = NIT_NULL;
90344 fra.me.REG[0] = p0;
90345 fra.me.REG[1] = p1;
90346 fra.me.REG[0] = NIT_NULL;
90347 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90348 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90349 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90350 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90351 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90352 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90353 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90354 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90355 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90356 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90357 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
90358 /* ./parser//parser.nit:33920 */
90359 if (UNTAG_Bool(REGB0)) {
90360 } else {
90361 fprintf(stderr, "Assert failed");
90362 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33920);
90363 nit_exit(1);
90364 }
90365 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
90366 /* ./parser//parser.nit:33922 */
90367 if (UNTAG_Bool(REGB0)) {
90368 } else {
90369 fprintf(stderr, "Assert failed");
90370 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33922);
90371 nit_exit(1);
90372 }
90373 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
90374 /* ./parser//parser.nit:33924 */
90375 if (UNTAG_Bool(REGB0)) {
90376 } else {
90377 fprintf(stderr, "Assert failed");
90378 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33924);
90379 nit_exit(1);
90380 }
90381 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
90382 /* ./parser//parser.nit:33926 */
90383 if (UNTAG_Bool(REGB0)) {
90384 } else {
90385 fprintf(stderr, "Assert failed");
90386 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33926);
90387 nit_exit(1);
90388 }
90389 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
90390 /* ./parser//parser.nit:33928 */
90391 if (UNTAG_Bool(REGB0)) {
90392 } else {
90393 fprintf(stderr, "Assert failed");
90394 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33928);
90395 nit_exit(1);
90396 }
90397 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
90398 /* ./parser//parser.nit:33930 */
90399 if (UNTAG_Bool(REGB0)) {
90400 } else {
90401 fprintf(stderr, "Assert failed");
90402 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33930);
90403 nit_exit(1);
90404 }
90405 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
90406 /* ./parser//parser.nit:33932 */
90407 if (UNTAG_Bool(REGB0)) {
90408 } else {
90409 fprintf(stderr, "Assert failed");
90410 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33932);
90411 nit_exit(1);
90412 }
90413 fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
90414 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
90415 /* ./parser//parser.nit:33939 */
90416 if (UNTAG_Bool(REGB0)) {
90417 } else {
90418 fprintf(stderr, "Assert failed");
90419 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33939);
90420 nit_exit(1);
90421 }
90422 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
90423 fra.me.REG[0] = fra.me.REG[2];
90424 REGB0 = TAG_Int(76);
90425 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
90426 /* ./parser//parser.nit:33950 */
90427 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
90428 stack_frame_head = fra.me.prev;
90429 return;
90430 }
90431 void parser___ReduceAction843___init(val_t p0, int* init_table){
90432 int itpos847 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction843].i;
90433 struct {struct stack_frame_t me;} fra;
90434 val_t tmp;
90435 if (init_table[itpos847]) return;
90436 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90437 fra.me.file = LOCATE_parser;
90438 fra.me.line = 33952;
90439 fra.me.meth = LOCATE_parser___ReduceAction843___init;
90440 fra.me.has_broke = 0;
90441 fra.me.REG_size = 1;
90442 fra.me.REG[0] = NIT_NULL;
90443 fra.me.REG[0] = p0;
90444 /* ./parser//parser.nit:33952 */
90445 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
90446 stack_frame_head = fra.me.prev;
90447 init_table[itpos847] = 1;
90448 return;
90449 }
90450 void parser___ReduceAction844___action(val_t p0, val_t p1){
90451 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
90452 val_t REGB0;
90453 val_t tmp;
90454 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90455 fra.me.file = LOCATE_parser;
90456 fra.me.line = 33956;
90457 fra.me.meth = LOCATE_parser___ReduceAction844___action;
90458 fra.me.has_broke = 0;
90459 fra.me.REG_size = 8;
90460 fra.me.REG[0] = NIT_NULL;
90461 fra.me.REG[1] = NIT_NULL;
90462 fra.me.REG[2] = NIT_NULL;
90463 fra.me.REG[3] = NIT_NULL;
90464 fra.me.REG[4] = NIT_NULL;
90465 fra.me.REG[5] = NIT_NULL;
90466 fra.me.REG[6] = NIT_NULL;
90467 fra.me.REG[7] = NIT_NULL;
90468 fra.me.REG[0] = p0;
90469 fra.me.REG[1] = p1;
90470 fra.me.REG[0] = NIT_NULL;
90471 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90472 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90473 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90474 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90475 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90476 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90477 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90478 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90479 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
90480 /* ./parser//parser.nit:33968 */
90481 if (UNTAG_Bool(REGB0)) {
90482 } else {
90483 fprintf(stderr, "Assert failed");
90484 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33968);
90485 nit_exit(1);
90486 }
90487 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
90488 /* ./parser//parser.nit:33970 */
90489 if (UNTAG_Bool(REGB0)) {
90490 } else {
90491 fprintf(stderr, "Assert failed");
90492 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33970);
90493 nit_exit(1);
90494 }
90495 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
90496 /* ./parser//parser.nit:33972 */
90497 if (UNTAG_Bool(REGB0)) {
90498 } else {
90499 fprintf(stderr, "Assert failed");
90500 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33972);
90501 nit_exit(1);
90502 }
90503 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
90504 /* ./parser//parser.nit:33974 */
90505 if (UNTAG_Bool(REGB0)) {
90506 } else {
90507 fprintf(stderr, "Assert failed");
90508 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33974);
90509 nit_exit(1);
90510 }
90511 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
90512 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
90513 /* ./parser//parser.nit:33979 */
90514 if (UNTAG_Bool(REGB0)) {
90515 } else {
90516 fprintf(stderr, "Assert failed");
90517 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33979);
90518 nit_exit(1);
90519 }
90520 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
90521 /* ./parser//parser.nit:33981 */
90522 if (UNTAG_Bool(REGB0)) {
90523 } else {
90524 fprintf(stderr, "Assert failed");
90525 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33981);
90526 nit_exit(1);
90527 }
90528 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
90529 fra.me.REG[0] = fra.me.REG[2];
90530 REGB0 = TAG_Int(76);
90531 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
90532 /* ./parser//parser.nit:33992 */
90533 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
90534 stack_frame_head = fra.me.prev;
90535 return;
90536 }
90537 void parser___ReduceAction844___init(val_t p0, int* init_table){
90538 int itpos848 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction844].i;
90539 struct {struct stack_frame_t me;} fra;
90540 val_t tmp;
90541 if (init_table[itpos848]) return;
90542 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90543 fra.me.file = LOCATE_parser;
90544 fra.me.line = 33994;
90545 fra.me.meth = LOCATE_parser___ReduceAction844___init;
90546 fra.me.has_broke = 0;
90547 fra.me.REG_size = 1;
90548 fra.me.REG[0] = NIT_NULL;
90549 fra.me.REG[0] = p0;
90550 /* ./parser//parser.nit:33994 */
90551 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
90552 stack_frame_head = fra.me.prev;
90553 init_table[itpos848] = 1;
90554 return;
90555 }
90556 void parser___ReduceAction845___action(val_t p0, val_t p1){
90557 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
90558 val_t REGB0;
90559 val_t tmp;
90560 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90561 fra.me.file = LOCATE_parser;
90562 fra.me.line = 33998;
90563 fra.me.meth = LOCATE_parser___ReduceAction845___action;
90564 fra.me.has_broke = 0;
90565 fra.me.REG_size = 8;
90566 fra.me.REG[0] = NIT_NULL;
90567 fra.me.REG[1] = NIT_NULL;
90568 fra.me.REG[2] = NIT_NULL;
90569 fra.me.REG[3] = NIT_NULL;
90570 fra.me.REG[4] = NIT_NULL;
90571 fra.me.REG[5] = NIT_NULL;
90572 fra.me.REG[6] = NIT_NULL;
90573 fra.me.REG[7] = NIT_NULL;
90574 fra.me.REG[0] = p0;
90575 fra.me.REG[1] = p1;
90576 fra.me.REG[0] = NIT_NULL;
90577 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90578 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90579 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90580 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90581 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90582 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90583 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90584 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90585 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
90586 /* ./parser//parser.nit:34010 */
90587 if (UNTAG_Bool(REGB0)) {
90588 } else {
90589 fprintf(stderr, "Assert failed");
90590 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34010);
90591 nit_exit(1);
90592 }
90593 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
90594 /* ./parser//parser.nit:34012 */
90595 if (UNTAG_Bool(REGB0)) {
90596 } else {
90597 fprintf(stderr, "Assert failed");
90598 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34012);
90599 nit_exit(1);
90600 }
90601 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
90602 /* ./parser//parser.nit:34014 */
90603 if (UNTAG_Bool(REGB0)) {
90604 } else {
90605 fprintf(stderr, "Assert failed");
90606 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34014);
90607 nit_exit(1);
90608 }
90609 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
90610 /* ./parser//parser.nit:34016 */
90611 if (UNTAG_Bool(REGB0)) {
90612 } else {
90613 fprintf(stderr, "Assert failed");
90614 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34016);
90615 nit_exit(1);
90616 }
90617 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
90618 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
90619 /* ./parser//parser.nit:34021 */
90620 if (UNTAG_Bool(REGB0)) {
90621 } else {
90622 fprintf(stderr, "Assert failed");
90623 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34021);
90624 nit_exit(1);
90625 }
90626 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
90627 /* ./parser//parser.nit:34023 */
90628 if (UNTAG_Bool(REGB0)) {
90629 } else {
90630 fprintf(stderr, "Assert failed");
90631 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34023);
90632 nit_exit(1);
90633 }
90634 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
90635 fra.me.REG[0] = fra.me.REG[2];
90636 REGB0 = TAG_Int(76);
90637 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
90638 /* ./parser//parser.nit:34034 */
90639 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
90640 stack_frame_head = fra.me.prev;
90641 return;
90642 }
90643 void parser___ReduceAction845___init(val_t p0, int* init_table){
90644 int itpos849 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction845].i;
90645 struct {struct stack_frame_t me;} fra;
90646 val_t tmp;
90647 if (init_table[itpos849]) return;
90648 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90649 fra.me.file = LOCATE_parser;
90650 fra.me.line = 34036;
90651 fra.me.meth = LOCATE_parser___ReduceAction845___init;
90652 fra.me.has_broke = 0;
90653 fra.me.REG_size = 1;
90654 fra.me.REG[0] = NIT_NULL;
90655 fra.me.REG[0] = p0;
90656 /* ./parser//parser.nit:34036 */
90657 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
90658 stack_frame_head = fra.me.prev;
90659 init_table[itpos849] = 1;
90660 return;
90661 }
90662 void parser___ReduceAction846___action(val_t p0, val_t p1){
90663 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
90664 val_t REGB0;
90665 val_t tmp;
90666 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90667 fra.me.file = LOCATE_parser;
90668 fra.me.line = 34040;
90669 fra.me.meth = LOCATE_parser___ReduceAction846___action;
90670 fra.me.has_broke = 0;
90671 fra.me.REG_size = 8;
90672 fra.me.REG[0] = NIT_NULL;
90673 fra.me.REG[1] = NIT_NULL;
90674 fra.me.REG[2] = NIT_NULL;
90675 fra.me.REG[3] = NIT_NULL;
90676 fra.me.REG[4] = NIT_NULL;
90677 fra.me.REG[5] = NIT_NULL;
90678 fra.me.REG[6] = NIT_NULL;
90679 fra.me.REG[7] = NIT_NULL;
90680 fra.me.REG[0] = p0;
90681 fra.me.REG[1] = p1;
90682 fra.me.REG[0] = NIT_NULL;
90683 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90684 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90685 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90686 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90687 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90688 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90689 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90690 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90691 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
90692 /* ./parser//parser.nit:34052 */
90693 if (UNTAG_Bool(REGB0)) {
90694 } else {
90695 fprintf(stderr, "Assert failed");
90696 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34052);
90697 nit_exit(1);
90698 }
90699 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
90700 /* ./parser//parser.nit:34054 */
90701 if (UNTAG_Bool(REGB0)) {
90702 } else {
90703 fprintf(stderr, "Assert failed");
90704 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34054);
90705 nit_exit(1);
90706 }
90707 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
90708 /* ./parser//parser.nit:34056 */
90709 if (UNTAG_Bool(REGB0)) {
90710 } else {
90711 fprintf(stderr, "Assert failed");
90712 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34056);
90713 nit_exit(1);
90714 }
90715 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
90716 /* ./parser//parser.nit:34058 */
90717 if (UNTAG_Bool(REGB0)) {
90718 } else {
90719 fprintf(stderr, "Assert failed");
90720 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34058);
90721 nit_exit(1);
90722 }
90723 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
90724 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
90725 /* ./parser//parser.nit:34063 */
90726 if (UNTAG_Bool(REGB0)) {
90727 } else {
90728 fprintf(stderr, "Assert failed");
90729 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34063);
90730 nit_exit(1);
90731 }
90732 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
90733 /* ./parser//parser.nit:34065 */
90734 if (UNTAG_Bool(REGB0)) {
90735 } else {
90736 fprintf(stderr, "Assert failed");
90737 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34065);
90738 nit_exit(1);
90739 }
90740 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
90741 fra.me.REG[0] = fra.me.REG[2];
90742 REGB0 = TAG_Int(76);
90743 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
90744 /* ./parser//parser.nit:34076 */
90745 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
90746 stack_frame_head = fra.me.prev;
90747 return;
90748 }
90749 void parser___ReduceAction846___init(val_t p0, int* init_table){
90750 int itpos850 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction846].i;
90751 struct {struct stack_frame_t me;} fra;
90752 val_t tmp;
90753 if (init_table[itpos850]) return;
90754 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90755 fra.me.file = LOCATE_parser;
90756 fra.me.line = 34078;
90757 fra.me.meth = LOCATE_parser___ReduceAction846___init;
90758 fra.me.has_broke = 0;
90759 fra.me.REG_size = 1;
90760 fra.me.REG[0] = NIT_NULL;
90761 fra.me.REG[0] = p0;
90762 /* ./parser//parser.nit:34078 */
90763 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
90764 stack_frame_head = fra.me.prev;
90765 init_table[itpos850] = 1;
90766 return;
90767 }
90768 void parser___ReduceAction847___action(val_t p0, val_t p1){
90769 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
90770 val_t REGB0;
90771 val_t tmp;
90772 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90773 fra.me.file = LOCATE_parser;
90774 fra.me.line = 34082;
90775 fra.me.meth = LOCATE_parser___ReduceAction847___action;
90776 fra.me.has_broke = 0;
90777 fra.me.REG_size = 8;
90778 fra.me.REG[0] = NIT_NULL;
90779 fra.me.REG[1] = NIT_NULL;
90780 fra.me.REG[2] = NIT_NULL;
90781 fra.me.REG[3] = NIT_NULL;
90782 fra.me.REG[4] = NIT_NULL;
90783 fra.me.REG[5] = NIT_NULL;
90784 fra.me.REG[6] = NIT_NULL;
90785 fra.me.REG[7] = NIT_NULL;
90786 fra.me.REG[0] = p0;
90787 fra.me.REG[1] = p1;
90788 fra.me.REG[0] = NIT_NULL;
90789 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90790 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90791 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90792 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90793 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90794 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90795 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90796 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90797 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
90798 /* ./parser//parser.nit:34094 */
90799 if (UNTAG_Bool(REGB0)) {
90800 } else {
90801 fprintf(stderr, "Assert failed");
90802 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34094);
90803 nit_exit(1);
90804 }
90805 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
90806 /* ./parser//parser.nit:34096 */
90807 if (UNTAG_Bool(REGB0)) {
90808 } else {
90809 fprintf(stderr, "Assert failed");
90810 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34096);
90811 nit_exit(1);
90812 }
90813 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
90814 /* ./parser//parser.nit:34098 */
90815 if (UNTAG_Bool(REGB0)) {
90816 } else {
90817 fprintf(stderr, "Assert failed");
90818 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34098);
90819 nit_exit(1);
90820 }
90821 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
90822 /* ./parser//parser.nit:34100 */
90823 if (UNTAG_Bool(REGB0)) {
90824 } else {
90825 fprintf(stderr, "Assert failed");
90826 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34100);
90827 nit_exit(1);
90828 }
90829 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
90830 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
90831 /* ./parser//parser.nit:34105 */
90832 if (UNTAG_Bool(REGB0)) {
90833 } else {
90834 fprintf(stderr, "Assert failed");
90835 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34105);
90836 nit_exit(1);
90837 }
90838 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
90839 /* ./parser//parser.nit:34107 */
90840 if (UNTAG_Bool(REGB0)) {
90841 } else {
90842 fprintf(stderr, "Assert failed");
90843 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34107);
90844 nit_exit(1);
90845 }
90846 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
90847 fra.me.REG[0] = fra.me.REG[2];
90848 REGB0 = TAG_Int(76);
90849 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
90850 /* ./parser//parser.nit:34118 */
90851 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
90852 stack_frame_head = fra.me.prev;
90853 return;
90854 }
90855 void parser___ReduceAction847___init(val_t p0, int* init_table){
90856 int itpos851 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction847].i;
90857 struct {struct stack_frame_t me;} fra;
90858 val_t tmp;
90859 if (init_table[itpos851]) return;
90860 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90861 fra.me.file = LOCATE_parser;
90862 fra.me.line = 34120;
90863 fra.me.meth = LOCATE_parser___ReduceAction847___init;
90864 fra.me.has_broke = 0;
90865 fra.me.REG_size = 1;
90866 fra.me.REG[0] = NIT_NULL;
90867 fra.me.REG[0] = p0;
90868 /* ./parser//parser.nit:34120 */
90869 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
90870 stack_frame_head = fra.me.prev;
90871 init_table[itpos851] = 1;
90872 return;
90873 }
90874 void parser___ReduceAction848___action(val_t p0, val_t p1){
90875 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
90876 val_t REGB0;
90877 val_t tmp;
90878 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90879 fra.me.file = LOCATE_parser;
90880 fra.me.line = 34124;
90881 fra.me.meth = LOCATE_parser___ReduceAction848___action;
90882 fra.me.has_broke = 0;
90883 fra.me.REG_size = 8;
90884 fra.me.REG[0] = NIT_NULL;
90885 fra.me.REG[1] = NIT_NULL;
90886 fra.me.REG[2] = NIT_NULL;
90887 fra.me.REG[3] = NIT_NULL;
90888 fra.me.REG[4] = NIT_NULL;
90889 fra.me.REG[5] = NIT_NULL;
90890 fra.me.REG[6] = NIT_NULL;
90891 fra.me.REG[7] = NIT_NULL;
90892 fra.me.REG[0] = p0;
90893 fra.me.REG[1] = p1;
90894 fra.me.REG[0] = NIT_NULL;
90895 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90896 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90897 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90898 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90899 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90900 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90901 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90902 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
90903 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
90904 /* ./parser//parser.nit:34136 */
90905 if (UNTAG_Bool(REGB0)) {
90906 } else {
90907 fprintf(stderr, "Assert failed");
90908 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34136);
90909 nit_exit(1);
90910 }
90911 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
90912 /* ./parser//parser.nit:34138 */
90913 if (UNTAG_Bool(REGB0)) {
90914 } else {
90915 fprintf(stderr, "Assert failed");
90916 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34138);
90917 nit_exit(1);
90918 }
90919 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
90920 /* ./parser//parser.nit:34140 */
90921 if (UNTAG_Bool(REGB0)) {
90922 } else {
90923 fprintf(stderr, "Assert failed");
90924 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34140);
90925 nit_exit(1);
90926 }
90927 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
90928 /* ./parser//parser.nit:34142 */
90929 if (UNTAG_Bool(REGB0)) {
90930 } else {
90931 fprintf(stderr, "Assert failed");
90932 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34142);
90933 nit_exit(1);
90934 }
90935 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
90936 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
90937 /* ./parser//parser.nit:34147 */
90938 if (UNTAG_Bool(REGB0)) {
90939 } else {
90940 fprintf(stderr, "Assert failed");
90941 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34147);
90942 nit_exit(1);
90943 }
90944 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
90945 /* ./parser//parser.nit:34149 */
90946 if (UNTAG_Bool(REGB0)) {
90947 } else {
90948 fprintf(stderr, "Assert failed");
90949 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34149);
90950 nit_exit(1);
90951 }
90952 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
90953 fra.me.REG[0] = fra.me.REG[2];
90954 REGB0 = TAG_Int(76);
90955 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
90956 /* ./parser//parser.nit:34160 */
90957 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
90958 stack_frame_head = fra.me.prev;
90959 return;
90960 }
90961 void parser___ReduceAction848___init(val_t p0, int* init_table){
90962 int itpos852 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction848].i;
90963 struct {struct stack_frame_t me;} fra;
90964 val_t tmp;
90965 if (init_table[itpos852]) return;
90966 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90967 fra.me.file = LOCATE_parser;
90968 fra.me.line = 34162;
90969 fra.me.meth = LOCATE_parser___ReduceAction848___init;
90970 fra.me.has_broke = 0;
90971 fra.me.REG_size = 1;
90972 fra.me.REG[0] = NIT_NULL;
90973 fra.me.REG[0] = p0;
90974 /* ./parser//parser.nit:34162 */
90975 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
90976 stack_frame_head = fra.me.prev;
90977 init_table[itpos852] = 1;
90978 return;
90979 }
90980 void parser___ReduceAction849___action(val_t p0, val_t p1){
90981 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
90982 val_t REGB0;
90983 val_t tmp;
90984 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90985 fra.me.file = LOCATE_parser;
90986 fra.me.line = 34166;
90987 fra.me.meth = LOCATE_parser___ReduceAction849___action;
90988 fra.me.has_broke = 0;
90989 fra.me.REG_size = 8;
90990 fra.me.REG[0] = NIT_NULL;
90991 fra.me.REG[1] = NIT_NULL;
90992 fra.me.REG[2] = NIT_NULL;
90993 fra.me.REG[3] = NIT_NULL;
90994 fra.me.REG[4] = NIT_NULL;
90995 fra.me.REG[5] = NIT_NULL;
90996 fra.me.REG[6] = NIT_NULL;
90997 fra.me.REG[7] = NIT_NULL;
90998 fra.me.REG[0] = p0;
90999 fra.me.REG[1] = p1;
91000 fra.me.REG[0] = NIT_NULL;
91001 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91002 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91003 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91004 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91005 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91006 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91007 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91008 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91009 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
91010 /* ./parser//parser.nit:34178 */
91011 if (UNTAG_Bool(REGB0)) {
91012 } else {
91013 fprintf(stderr, "Assert failed");
91014 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34178);
91015 nit_exit(1);
91016 }
91017 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
91018 /* ./parser//parser.nit:34180 */
91019 if (UNTAG_Bool(REGB0)) {
91020 } else {
91021 fprintf(stderr, "Assert failed");
91022 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34180);
91023 nit_exit(1);
91024 }
91025 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
91026 /* ./parser//parser.nit:34182 */
91027 if (UNTAG_Bool(REGB0)) {
91028 } else {
91029 fprintf(stderr, "Assert failed");
91030 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34182);
91031 nit_exit(1);
91032 }
91033 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
91034 /* ./parser//parser.nit:34184 */
91035 if (UNTAG_Bool(REGB0)) {
91036 } else {
91037 fprintf(stderr, "Assert failed");
91038 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34184);
91039 nit_exit(1);
91040 }
91041 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
91042 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
91043 /* ./parser//parser.nit:34189 */
91044 if (UNTAG_Bool(REGB0)) {
91045 } else {
91046 fprintf(stderr, "Assert failed");
91047 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34189);
91048 nit_exit(1);
91049 }
91050 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
91051 /* ./parser//parser.nit:34191 */
91052 if (UNTAG_Bool(REGB0)) {
91053 } else {
91054 fprintf(stderr, "Assert failed");
91055 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34191);
91056 nit_exit(1);
91057 }
91058 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
91059 fra.me.REG[0] = fra.me.REG[2];
91060 REGB0 = TAG_Int(76);
91061 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
91062 /* ./parser//parser.nit:34202 */
91063 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
91064 stack_frame_head = fra.me.prev;
91065 return;
91066 }
91067 void parser___ReduceAction849___init(val_t p0, int* init_table){
91068 int itpos853 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction849].i;
91069 struct {struct stack_frame_t me;} fra;
91070 val_t tmp;
91071 if (init_table[itpos853]) return;
91072 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91073 fra.me.file = LOCATE_parser;
91074 fra.me.line = 34204;
91075 fra.me.meth = LOCATE_parser___ReduceAction849___init;
91076 fra.me.has_broke = 0;
91077 fra.me.REG_size = 1;
91078 fra.me.REG[0] = NIT_NULL;
91079 fra.me.REG[0] = p0;
91080 /* ./parser//parser.nit:34204 */
91081 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
91082 stack_frame_head = fra.me.prev;
91083 init_table[itpos853] = 1;
91084 return;
91085 }
91086 void parser___ReduceAction850___action(val_t p0, val_t p1){
91087 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
91088 val_t REGB0;
91089 val_t tmp;
91090 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91091 fra.me.file = LOCATE_parser;
91092 fra.me.line = 34208;
91093 fra.me.meth = LOCATE_parser___ReduceAction850___action;
91094 fra.me.has_broke = 0;
91095 fra.me.REG_size = 8;
91096 fra.me.REG[0] = NIT_NULL;
91097 fra.me.REG[1] = NIT_NULL;
91098 fra.me.REG[2] = NIT_NULL;
91099 fra.me.REG[3] = NIT_NULL;
91100 fra.me.REG[4] = NIT_NULL;
91101 fra.me.REG[5] = NIT_NULL;
91102 fra.me.REG[6] = NIT_NULL;
91103 fra.me.REG[7] = NIT_NULL;
91104 fra.me.REG[0] = p0;
91105 fra.me.REG[1] = p1;
91106 fra.me.REG[0] = NIT_NULL;
91107 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91108 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91109 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91110 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91111 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91112 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91113 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91114 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91115 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
91116 /* ./parser//parser.nit:34220 */
91117 if (UNTAG_Bool(REGB0)) {
91118 } else {
91119 fprintf(stderr, "Assert failed");
91120 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34220);
91121 nit_exit(1);
91122 }
91123 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
91124 /* ./parser//parser.nit:34222 */
91125 if (UNTAG_Bool(REGB0)) {
91126 } else {
91127 fprintf(stderr, "Assert failed");
91128 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34222);
91129 nit_exit(1);
91130 }
91131 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
91132 /* ./parser//parser.nit:34224 */
91133 if (UNTAG_Bool(REGB0)) {
91134 } else {
91135 fprintf(stderr, "Assert failed");
91136 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34224);
91137 nit_exit(1);
91138 }
91139 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
91140 /* ./parser//parser.nit:34226 */
91141 if (UNTAG_Bool(REGB0)) {
91142 } else {
91143 fprintf(stderr, "Assert failed");
91144 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34226);
91145 nit_exit(1);
91146 }
91147 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
91148 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
91149 /* ./parser//parser.nit:34231 */
91150 if (UNTAG_Bool(REGB0)) {
91151 } else {
91152 fprintf(stderr, "Assert failed");
91153 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34231);
91154 nit_exit(1);
91155 }
91156 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
91157 /* ./parser//parser.nit:34233 */
91158 if (UNTAG_Bool(REGB0)) {
91159 } else {
91160 fprintf(stderr, "Assert failed");
91161 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34233);
91162 nit_exit(1);
91163 }
91164 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
91165 fra.me.REG[0] = fra.me.REG[2];
91166 REGB0 = TAG_Int(76);
91167 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
91168 /* ./parser//parser.nit:34244 */
91169 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
91170 stack_frame_head = fra.me.prev;
91171 return;
91172 }
91173 void parser___ReduceAction850___init(val_t p0, int* init_table){
91174 int itpos854 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction850].i;
91175 struct {struct stack_frame_t me;} fra;
91176 val_t tmp;
91177 if (init_table[itpos854]) return;
91178 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91179 fra.me.file = LOCATE_parser;
91180 fra.me.line = 34246;
91181 fra.me.meth = LOCATE_parser___ReduceAction850___init;
91182 fra.me.has_broke = 0;
91183 fra.me.REG_size = 1;
91184 fra.me.REG[0] = NIT_NULL;
91185 fra.me.REG[0] = p0;
91186 /* ./parser//parser.nit:34246 */
91187 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
91188 stack_frame_head = fra.me.prev;
91189 init_table[itpos854] = 1;
91190 return;
91191 }
91192 void parser___ReduceAction851___action(val_t p0, val_t p1){
91193 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
91194 val_t REGB0;
91195 val_t tmp;
91196 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91197 fra.me.file = LOCATE_parser;
91198 fra.me.line = 34250;
91199 fra.me.meth = LOCATE_parser___ReduceAction851___action;
91200 fra.me.has_broke = 0;
91201 fra.me.REG_size = 8;
91202 fra.me.REG[0] = NIT_NULL;
91203 fra.me.REG[1] = NIT_NULL;
91204 fra.me.REG[2] = NIT_NULL;
91205 fra.me.REG[3] = NIT_NULL;
91206 fra.me.REG[4] = NIT_NULL;
91207 fra.me.REG[5] = NIT_NULL;
91208 fra.me.REG[6] = NIT_NULL;
91209 fra.me.REG[7] = NIT_NULL;
91210 fra.me.REG[0] = p0;
91211 fra.me.REG[1] = p1;
91212 fra.me.REG[0] = NIT_NULL;
91213 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91214 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91215 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91216 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91217 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91218 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91219 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91220 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91221 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
91222 /* ./parser//parser.nit:34262 */
91223 if (UNTAG_Bool(REGB0)) {
91224 } else {
91225 fprintf(stderr, "Assert failed");
91226 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34262);
91227 nit_exit(1);
91228 }
91229 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
91230 /* ./parser//parser.nit:34264 */
91231 if (UNTAG_Bool(REGB0)) {
91232 } else {
91233 fprintf(stderr, "Assert failed");
91234 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34264);
91235 nit_exit(1);
91236 }
91237 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
91238 /* ./parser//parser.nit:34266 */
91239 if (UNTAG_Bool(REGB0)) {
91240 } else {
91241 fprintf(stderr, "Assert failed");
91242 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34266);
91243 nit_exit(1);
91244 }
91245 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
91246 /* ./parser//parser.nit:34268 */
91247 if (UNTAG_Bool(REGB0)) {
91248 } else {
91249 fprintf(stderr, "Assert failed");
91250 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34268);
91251 nit_exit(1);
91252 }
91253 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
91254 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
91255 /* ./parser//parser.nit:34273 */
91256 if (UNTAG_Bool(REGB0)) {
91257 } else {
91258 fprintf(stderr, "Assert failed");
91259 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34273);
91260 nit_exit(1);
91261 }
91262 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
91263 /* ./parser//parser.nit:34275 */
91264 if (UNTAG_Bool(REGB0)) {
91265 } else {
91266 fprintf(stderr, "Assert failed");
91267 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34275);
91268 nit_exit(1);
91269 }
91270 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
91271 fra.me.REG[0] = fra.me.REG[2];
91272 REGB0 = TAG_Int(76);
91273 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
91274 /* ./parser//parser.nit:34286 */
91275 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
91276 stack_frame_head = fra.me.prev;
91277 return;
91278 }
91279 void parser___ReduceAction851___init(val_t p0, int* init_table){
91280 int itpos855 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction851].i;
91281 struct {struct stack_frame_t me;} fra;
91282 val_t tmp;
91283 if (init_table[itpos855]) return;
91284 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91285 fra.me.file = LOCATE_parser;
91286 fra.me.line = 34288;
91287 fra.me.meth = LOCATE_parser___ReduceAction851___init;
91288 fra.me.has_broke = 0;
91289 fra.me.REG_size = 1;
91290 fra.me.REG[0] = NIT_NULL;
91291 fra.me.REG[0] = p0;
91292 /* ./parser//parser.nit:34288 */
91293 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
91294 stack_frame_head = fra.me.prev;
91295 init_table[itpos855] = 1;
91296 return;
91297 }
91298 void parser___ReduceAction852___action(val_t p0, val_t p1){
91299 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
91300 val_t REGB0;
91301 val_t tmp;
91302 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91303 fra.me.file = LOCATE_parser;
91304 fra.me.line = 34292;
91305 fra.me.meth = LOCATE_parser___ReduceAction852___action;
91306 fra.me.has_broke = 0;
91307 fra.me.REG_size = 8;
91308 fra.me.REG[0] = NIT_NULL;
91309 fra.me.REG[1] = NIT_NULL;
91310 fra.me.REG[2] = NIT_NULL;
91311 fra.me.REG[3] = NIT_NULL;
91312 fra.me.REG[4] = NIT_NULL;
91313 fra.me.REG[5] = NIT_NULL;
91314 fra.me.REG[6] = NIT_NULL;
91315 fra.me.REG[7] = NIT_NULL;
91316 fra.me.REG[0] = p0;
91317 fra.me.REG[1] = p1;
91318 fra.me.REG[0] = NIT_NULL;
91319 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91320 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91321 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91322 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91323 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91324 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91325 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91326 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91327 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
91328 /* ./parser//parser.nit:34304 */
91329 if (UNTAG_Bool(REGB0)) {
91330 } else {
91331 fprintf(stderr, "Assert failed");
91332 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34304);
91333 nit_exit(1);
91334 }
91335 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
91336 /* ./parser//parser.nit:34306 */
91337 if (UNTAG_Bool(REGB0)) {
91338 } else {
91339 fprintf(stderr, "Assert failed");
91340 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34306);
91341 nit_exit(1);
91342 }
91343 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
91344 /* ./parser//parser.nit:34308 */
91345 if (UNTAG_Bool(REGB0)) {
91346 } else {
91347 fprintf(stderr, "Assert failed");
91348 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34308);
91349 nit_exit(1);
91350 }
91351 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
91352 /* ./parser//parser.nit:34310 */
91353 if (UNTAG_Bool(REGB0)) {
91354 } else {
91355 fprintf(stderr, "Assert failed");
91356 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34310);
91357 nit_exit(1);
91358 }
91359 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
91360 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
91361 /* ./parser//parser.nit:34315 */
91362 if (UNTAG_Bool(REGB0)) {
91363 } else {
91364 fprintf(stderr, "Assert failed");
91365 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34315);
91366 nit_exit(1);
91367 }
91368 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
91369 /* ./parser//parser.nit:34317 */
91370 if (UNTAG_Bool(REGB0)) {
91371 } else {
91372 fprintf(stderr, "Assert failed");
91373 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34317);
91374 nit_exit(1);
91375 }
91376 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
91377 fra.me.REG[0] = fra.me.REG[2];
91378 REGB0 = TAG_Int(76);
91379 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
91380 /* ./parser//parser.nit:34328 */
91381 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
91382 stack_frame_head = fra.me.prev;
91383 return;
91384 }
91385 void parser___ReduceAction852___init(val_t p0, int* init_table){
91386 int itpos856 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction852].i;
91387 struct {struct stack_frame_t me;} fra;
91388 val_t tmp;
91389 if (init_table[itpos856]) return;
91390 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91391 fra.me.file = LOCATE_parser;
91392 fra.me.line = 34330;
91393 fra.me.meth = LOCATE_parser___ReduceAction852___init;
91394 fra.me.has_broke = 0;
91395 fra.me.REG_size = 1;
91396 fra.me.REG[0] = NIT_NULL;
91397 fra.me.REG[0] = p0;
91398 /* ./parser//parser.nit:34330 */
91399 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
91400 stack_frame_head = fra.me.prev;
91401 init_table[itpos856] = 1;
91402 return;
91403 }
91404 void parser___ReduceAction853___action(val_t p0, val_t p1){
91405 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
91406 val_t REGB0;
91407 val_t tmp;
91408 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91409 fra.me.file = LOCATE_parser;
91410 fra.me.line = 34334;
91411 fra.me.meth = LOCATE_parser___ReduceAction853___action;
91412 fra.me.has_broke = 0;
91413 fra.me.REG_size = 8;
91414 fra.me.REG[0] = NIT_NULL;
91415 fra.me.REG[1] = NIT_NULL;
91416 fra.me.REG[2] = NIT_NULL;
91417 fra.me.REG[3] = NIT_NULL;
91418 fra.me.REG[4] = NIT_NULL;
91419 fra.me.REG[5] = NIT_NULL;
91420 fra.me.REG[6] = NIT_NULL;
91421 fra.me.REG[7] = NIT_NULL;
91422 fra.me.REG[0] = p0;
91423 fra.me.REG[1] = p1;
91424 fra.me.REG[0] = NIT_NULL;
91425 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91426 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91427 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91428 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91429 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91430 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91431 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91432 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91433 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
91434 /* ./parser//parser.nit:34346 */
91435 if (UNTAG_Bool(REGB0)) {
91436 } else {
91437 fprintf(stderr, "Assert failed");
91438 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34346);
91439 nit_exit(1);
91440 }
91441 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
91442 /* ./parser//parser.nit:34348 */
91443 if (UNTAG_Bool(REGB0)) {
91444 } else {
91445 fprintf(stderr, "Assert failed");
91446 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34348);
91447 nit_exit(1);
91448 }
91449 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
91450 /* ./parser//parser.nit:34350 */
91451 if (UNTAG_Bool(REGB0)) {
91452 } else {
91453 fprintf(stderr, "Assert failed");
91454 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34350);
91455 nit_exit(1);
91456 }
91457 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
91458 /* ./parser//parser.nit:34352 */
91459 if (UNTAG_Bool(REGB0)) {
91460 } else {
91461 fprintf(stderr, "Assert failed");
91462 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34352);
91463 nit_exit(1);
91464 }
91465 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
91466 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
91467 /* ./parser//parser.nit:34357 */
91468 if (UNTAG_Bool(REGB0)) {
91469 } else {
91470 fprintf(stderr, "Assert failed");
91471 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34357);
91472 nit_exit(1);
91473 }
91474 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
91475 /* ./parser//parser.nit:34359 */
91476 if (UNTAG_Bool(REGB0)) {
91477 } else {
91478 fprintf(stderr, "Assert failed");
91479 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34359);
91480 nit_exit(1);
91481 }
91482 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
91483 fra.me.REG[0] = fra.me.REG[2];
91484 REGB0 = TAG_Int(76);
91485 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
91486 /* ./parser//parser.nit:34370 */
91487 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
91488 stack_frame_head = fra.me.prev;
91489 return;
91490 }
91491 void parser___ReduceAction853___init(val_t p0, int* init_table){
91492 int itpos857 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction853].i;
91493 struct {struct stack_frame_t me;} fra;
91494 val_t tmp;
91495 if (init_table[itpos857]) return;
91496 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91497 fra.me.file = LOCATE_parser;
91498 fra.me.line = 34372;
91499 fra.me.meth = LOCATE_parser___ReduceAction853___init;
91500 fra.me.has_broke = 0;
91501 fra.me.REG_size = 1;
91502 fra.me.REG[0] = NIT_NULL;
91503 fra.me.REG[0] = p0;
91504 /* ./parser//parser.nit:34372 */
91505 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
91506 stack_frame_head = fra.me.prev;
91507 init_table[itpos857] = 1;
91508 return;
91509 }
91510 void parser___ReduceAction854___action(val_t p0, val_t p1){
91511 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
91512 val_t REGB0;
91513 val_t tmp;
91514 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91515 fra.me.file = LOCATE_parser;
91516 fra.me.line = 34376;
91517 fra.me.meth = LOCATE_parser___ReduceAction854___action;
91518 fra.me.has_broke = 0;
91519 fra.me.REG_size = 8;
91520 fra.me.REG[0] = NIT_NULL;
91521 fra.me.REG[1] = NIT_NULL;
91522 fra.me.REG[2] = NIT_NULL;
91523 fra.me.REG[3] = NIT_NULL;
91524 fra.me.REG[4] = NIT_NULL;
91525 fra.me.REG[5] = NIT_NULL;
91526 fra.me.REG[6] = NIT_NULL;
91527 fra.me.REG[7] = NIT_NULL;
91528 fra.me.REG[0] = p0;
91529 fra.me.REG[1] = p1;
91530 fra.me.REG[0] = NIT_NULL;
91531 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91532 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91533 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91534 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91535 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91536 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91537 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91538 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91539 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
91540 /* ./parser//parser.nit:34388 */
91541 if (UNTAG_Bool(REGB0)) {
91542 } else {
91543 fprintf(stderr, "Assert failed");
91544 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34388);
91545 nit_exit(1);
91546 }
91547 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
91548 /* ./parser//parser.nit:34390 */
91549 if (UNTAG_Bool(REGB0)) {
91550 } else {
91551 fprintf(stderr, "Assert failed");
91552 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34390);
91553 nit_exit(1);
91554 }
91555 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
91556 /* ./parser//parser.nit:34392 */
91557 if (UNTAG_Bool(REGB0)) {
91558 } else {
91559 fprintf(stderr, "Assert failed");
91560 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34392);
91561 nit_exit(1);
91562 }
91563 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
91564 /* ./parser//parser.nit:34394 */
91565 if (UNTAG_Bool(REGB0)) {
91566 } else {
91567 fprintf(stderr, "Assert failed");
91568 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34394);
91569 nit_exit(1);
91570 }
91571 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
91572 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
91573 /* ./parser//parser.nit:34399 */
91574 if (UNTAG_Bool(REGB0)) {
91575 } else {
91576 fprintf(stderr, "Assert failed");
91577 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34399);
91578 nit_exit(1);
91579 }
91580 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
91581 /* ./parser//parser.nit:34401 */
91582 if (UNTAG_Bool(REGB0)) {
91583 } else {
91584 fprintf(stderr, "Assert failed");
91585 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34401);
91586 nit_exit(1);
91587 }
91588 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
91589 fra.me.REG[0] = fra.me.REG[2];
91590 REGB0 = TAG_Int(76);
91591 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
91592 /* ./parser//parser.nit:34412 */
91593 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
91594 stack_frame_head = fra.me.prev;
91595 return;
91596 }
91597 void parser___ReduceAction854___init(val_t p0, int* init_table){
91598 int itpos858 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction854].i;
91599 struct {struct stack_frame_t me;} fra;
91600 val_t tmp;
91601 if (init_table[itpos858]) return;
91602 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91603 fra.me.file = LOCATE_parser;
91604 fra.me.line = 34414;
91605 fra.me.meth = LOCATE_parser___ReduceAction854___init;
91606 fra.me.has_broke = 0;
91607 fra.me.REG_size = 1;
91608 fra.me.REG[0] = NIT_NULL;
91609 fra.me.REG[0] = p0;
91610 /* ./parser//parser.nit:34414 */
91611 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
91612 stack_frame_head = fra.me.prev;
91613 init_table[itpos858] = 1;
91614 return;
91615 }
91616 void parser___ReduceAction855___action(val_t p0, val_t p1){
91617 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
91618 val_t REGB0;
91619 val_t tmp;
91620 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91621 fra.me.file = LOCATE_parser;
91622 fra.me.line = 34418;
91623 fra.me.meth = LOCATE_parser___ReduceAction855___action;
91624 fra.me.has_broke = 0;
91625 fra.me.REG_size = 8;
91626 fra.me.REG[0] = NIT_NULL;
91627 fra.me.REG[1] = NIT_NULL;
91628 fra.me.REG[2] = NIT_NULL;
91629 fra.me.REG[3] = NIT_NULL;
91630 fra.me.REG[4] = NIT_NULL;
91631 fra.me.REG[5] = NIT_NULL;
91632 fra.me.REG[6] = NIT_NULL;
91633 fra.me.REG[7] = NIT_NULL;
91634 fra.me.REG[0] = p0;
91635 fra.me.REG[1] = p1;
91636 fra.me.REG[0] = NIT_NULL;
91637 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91638 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91639 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91640 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91641 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91642 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91643 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91644 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91645 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
91646 /* ./parser//parser.nit:34430 */
91647 if (UNTAG_Bool(REGB0)) {
91648 } else {
91649 fprintf(stderr, "Assert failed");
91650 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34430);
91651 nit_exit(1);
91652 }
91653 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
91654 /* ./parser//parser.nit:34432 */
91655 if (UNTAG_Bool(REGB0)) {
91656 } else {
91657 fprintf(stderr, "Assert failed");
91658 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34432);
91659 nit_exit(1);
91660 }
91661 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
91662 /* ./parser//parser.nit:34434 */
91663 if (UNTAG_Bool(REGB0)) {
91664 } else {
91665 fprintf(stderr, "Assert failed");
91666 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34434);
91667 nit_exit(1);
91668 }
91669 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
91670 /* ./parser//parser.nit:34436 */
91671 if (UNTAG_Bool(REGB0)) {
91672 } else {
91673 fprintf(stderr, "Assert failed");
91674 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34436);
91675 nit_exit(1);
91676 }
91677 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
91678 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
91679 /* ./parser//parser.nit:34441 */
91680 if (UNTAG_Bool(REGB0)) {
91681 } else {
91682 fprintf(stderr, "Assert failed");
91683 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34441);
91684 nit_exit(1);
91685 }
91686 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
91687 /* ./parser//parser.nit:34443 */
91688 if (UNTAG_Bool(REGB0)) {
91689 } else {
91690 fprintf(stderr, "Assert failed");
91691 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34443);
91692 nit_exit(1);
91693 }
91694 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
91695 fra.me.REG[0] = fra.me.REG[2];
91696 REGB0 = TAG_Int(76);
91697 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
91698 /* ./parser//parser.nit:34454 */
91699 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
91700 stack_frame_head = fra.me.prev;
91701 return;
91702 }
91703 void parser___ReduceAction855___init(val_t p0, int* init_table){
91704 int itpos859 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction855].i;
91705 struct {struct stack_frame_t me;} fra;
91706 val_t tmp;
91707 if (init_table[itpos859]) return;
91708 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91709 fra.me.file = LOCATE_parser;
91710 fra.me.line = 34456;
91711 fra.me.meth = LOCATE_parser___ReduceAction855___init;
91712 fra.me.has_broke = 0;
91713 fra.me.REG_size = 1;
91714 fra.me.REG[0] = NIT_NULL;
91715 fra.me.REG[0] = p0;
91716 /* ./parser//parser.nit:34456 */
91717 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
91718 stack_frame_head = fra.me.prev;
91719 init_table[itpos859] = 1;
91720 return;
91721 }
91722 void parser___ReduceAction856___action(val_t p0, val_t p1){
91723 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
91724 val_t REGB0;
91725 val_t tmp;
91726 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91727 fra.me.file = LOCATE_parser;
91728 fra.me.line = 34460;
91729 fra.me.meth = LOCATE_parser___ReduceAction856___action;
91730 fra.me.has_broke = 0;
91731 fra.me.REG_size = 9;
91732 fra.me.REG[0] = NIT_NULL;
91733 fra.me.REG[1] = NIT_NULL;
91734 fra.me.REG[2] = NIT_NULL;
91735 fra.me.REG[3] = NIT_NULL;
91736 fra.me.REG[4] = NIT_NULL;
91737 fra.me.REG[5] = NIT_NULL;
91738 fra.me.REG[6] = NIT_NULL;
91739 fra.me.REG[7] = NIT_NULL;
91740 fra.me.REG[8] = NIT_NULL;
91741 fra.me.REG[0] = p0;
91742 fra.me.REG[1] = p1;
91743 fra.me.REG[0] = NIT_NULL;
91744 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91745 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91746 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91747 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91748 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91749 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91750 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91751 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91752 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91753 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
91754 /* ./parser//parser.nit:34473 */
91755 if (UNTAG_Bool(REGB0)) {
91756 } else {
91757 fprintf(stderr, "Assert failed");
91758 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34473);
91759 nit_exit(1);
91760 }
91761 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
91762 /* ./parser//parser.nit:34475 */
91763 if (UNTAG_Bool(REGB0)) {
91764 } else {
91765 fprintf(stderr, "Assert failed");
91766 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34475);
91767 nit_exit(1);
91768 }
91769 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
91770 /* ./parser//parser.nit:34477 */
91771 if (UNTAG_Bool(REGB0)) {
91772 } else {
91773 fprintf(stderr, "Assert failed");
91774 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34477);
91775 nit_exit(1);
91776 }
91777 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
91778 /* ./parser//parser.nit:34479 */
91779 if (UNTAG_Bool(REGB0)) {
91780 } else {
91781 fprintf(stderr, "Assert failed");
91782 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34479);
91783 nit_exit(1);
91784 }
91785 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
91786 /* ./parser//parser.nit:34481 */
91787 if (UNTAG_Bool(REGB0)) {
91788 } else {
91789 fprintf(stderr, "Assert failed");
91790 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34481);
91791 nit_exit(1);
91792 }
91793 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
91794 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
91795 /* ./parser//parser.nit:34487 */
91796 if (UNTAG_Bool(REGB0)) {
91797 } else {
91798 fprintf(stderr, "Assert failed");
91799 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34487);
91800 nit_exit(1);
91801 }
91802 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
91803 /* ./parser//parser.nit:34489 */
91804 if (UNTAG_Bool(REGB0)) {
91805 } else {
91806 fprintf(stderr, "Assert failed");
91807 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34489);
91808 nit_exit(1);
91809 }
91810 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
91811 fra.me.REG[0] = fra.me.REG[2];
91812 REGB0 = TAG_Int(76);
91813 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
91814 /* ./parser//parser.nit:34500 */
91815 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
91816 stack_frame_head = fra.me.prev;
91817 return;
91818 }
91819 void parser___ReduceAction856___init(val_t p0, int* init_table){
91820 int itpos860 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction856].i;
91821 struct {struct stack_frame_t me;} fra;
91822 val_t tmp;
91823 if (init_table[itpos860]) return;
91824 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91825 fra.me.file = LOCATE_parser;
91826 fra.me.line = 34502;
91827 fra.me.meth = LOCATE_parser___ReduceAction856___init;
91828 fra.me.has_broke = 0;
91829 fra.me.REG_size = 1;
91830 fra.me.REG[0] = NIT_NULL;
91831 fra.me.REG[0] = p0;
91832 /* ./parser//parser.nit:34502 */
91833 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
91834 stack_frame_head = fra.me.prev;
91835 init_table[itpos860] = 1;
91836 return;
91837 }
91838 void parser___ReduceAction857___action(val_t p0, val_t p1){
91839 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
91840 val_t REGB0;
91841 val_t tmp;
91842 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91843 fra.me.file = LOCATE_parser;
91844 fra.me.line = 34506;
91845 fra.me.meth = LOCATE_parser___ReduceAction857___action;
91846 fra.me.has_broke = 0;
91847 fra.me.REG_size = 8;
91848 fra.me.REG[0] = NIT_NULL;
91849 fra.me.REG[1] = NIT_NULL;
91850 fra.me.REG[2] = NIT_NULL;
91851 fra.me.REG[3] = NIT_NULL;
91852 fra.me.REG[4] = NIT_NULL;
91853 fra.me.REG[5] = NIT_NULL;
91854 fra.me.REG[6] = NIT_NULL;
91855 fra.me.REG[7] = NIT_NULL;
91856 fra.me.REG[0] = p0;
91857 fra.me.REG[1] = p1;
91858 fra.me.REG[0] = NIT_NULL;
91859 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91860 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91861 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91862 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91863 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91864 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91865 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91866 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91867 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
91868 /* ./parser//parser.nit:34518 */
91869 if (UNTAG_Bool(REGB0)) {
91870 } else {
91871 fprintf(stderr, "Assert failed");
91872 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34518);
91873 nit_exit(1);
91874 }
91875 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
91876 /* ./parser//parser.nit:34520 */
91877 if (UNTAG_Bool(REGB0)) {
91878 } else {
91879 fprintf(stderr, "Assert failed");
91880 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34520);
91881 nit_exit(1);
91882 }
91883 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
91884 /* ./parser//parser.nit:34522 */
91885 if (UNTAG_Bool(REGB0)) {
91886 } else {
91887 fprintf(stderr, "Assert failed");
91888 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34522);
91889 nit_exit(1);
91890 }
91891 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
91892 /* ./parser//parser.nit:34524 */
91893 if (UNTAG_Bool(REGB0)) {
91894 } else {
91895 fprintf(stderr, "Assert failed");
91896 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34524);
91897 nit_exit(1);
91898 }
91899 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
91900 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
91901 /* ./parser//parser.nit:34529 */
91902 if (UNTAG_Bool(REGB0)) {
91903 } else {
91904 fprintf(stderr, "Assert failed");
91905 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34529);
91906 nit_exit(1);
91907 }
91908 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
91909 /* ./parser//parser.nit:34531 */
91910 if (UNTAG_Bool(REGB0)) {
91911 } else {
91912 fprintf(stderr, "Assert failed");
91913 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34531);
91914 nit_exit(1);
91915 }
91916 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
91917 fra.me.REG[0] = fra.me.REG[2];
91918 REGB0 = TAG_Int(76);
91919 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
91920 /* ./parser//parser.nit:34542 */
91921 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
91922 stack_frame_head = fra.me.prev;
91923 return;
91924 }
91925 void parser___ReduceAction857___init(val_t p0, int* init_table){
91926 int itpos861 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction857].i;
91927 struct {struct stack_frame_t me;} fra;
91928 val_t tmp;
91929 if (init_table[itpos861]) return;
91930 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91931 fra.me.file = LOCATE_parser;
91932 fra.me.line = 34544;
91933 fra.me.meth = LOCATE_parser___ReduceAction857___init;
91934 fra.me.has_broke = 0;
91935 fra.me.REG_size = 1;
91936 fra.me.REG[0] = NIT_NULL;
91937 fra.me.REG[0] = p0;
91938 /* ./parser//parser.nit:34544 */
91939 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
91940 stack_frame_head = fra.me.prev;
91941 init_table[itpos861] = 1;
91942 return;
91943 }
91944 void parser___ReduceAction858___action(val_t p0, val_t p1){
91945 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
91946 val_t REGB0;
91947 val_t tmp;
91948 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91949 fra.me.file = LOCATE_parser;
91950 fra.me.line = 34548;
91951 fra.me.meth = LOCATE_parser___ReduceAction858___action;
91952 fra.me.has_broke = 0;
91953 fra.me.REG_size = 9;
91954 fra.me.REG[0] = NIT_NULL;
91955 fra.me.REG[1] = NIT_NULL;
91956 fra.me.REG[2] = NIT_NULL;
91957 fra.me.REG[3] = NIT_NULL;
91958 fra.me.REG[4] = NIT_NULL;
91959 fra.me.REG[5] = NIT_NULL;
91960 fra.me.REG[6] = NIT_NULL;
91961 fra.me.REG[7] = NIT_NULL;
91962 fra.me.REG[8] = NIT_NULL;
91963 fra.me.REG[0] = p0;
91964 fra.me.REG[1] = p1;
91965 fra.me.REG[0] = NIT_NULL;
91966 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91967 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91968 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91969 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91970 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91971 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91972 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91973 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91974 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
91975 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
91976 /* ./parser//parser.nit:34561 */
91977 if (UNTAG_Bool(REGB0)) {
91978 } else {
91979 fprintf(stderr, "Assert failed");
91980 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34561);
91981 nit_exit(1);
91982 }
91983 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
91984 /* ./parser//parser.nit:34563 */
91985 if (UNTAG_Bool(REGB0)) {
91986 } else {
91987 fprintf(stderr, "Assert failed");
91988 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34563);
91989 nit_exit(1);
91990 }
91991 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
91992 /* ./parser//parser.nit:34565 */
91993 if (UNTAG_Bool(REGB0)) {
91994 } else {
91995 fprintf(stderr, "Assert failed");
91996 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34565);
91997 nit_exit(1);
91998 }
91999 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
92000 /* ./parser//parser.nit:34567 */
92001 if (UNTAG_Bool(REGB0)) {
92002 } else {
92003 fprintf(stderr, "Assert failed");
92004 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34567);
92005 nit_exit(1);
92006 }
92007 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
92008 /* ./parser//parser.nit:34569 */
92009 if (UNTAG_Bool(REGB0)) {
92010 } else {
92011 fprintf(stderr, "Assert failed");
92012 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34569);
92013 nit_exit(1);
92014 }
92015 fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
92016 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
92017 /* ./parser//parser.nit:34575 */
92018 if (UNTAG_Bool(REGB0)) {
92019 } else {
92020 fprintf(stderr, "Assert failed");
92021 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34575);
92022 nit_exit(1);
92023 }
92024 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
92025 /* ./parser//parser.nit:34577 */
92026 if (UNTAG_Bool(REGB0)) {
92027 } else {
92028 fprintf(stderr, "Assert failed");
92029 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34577);
92030 nit_exit(1);
92031 }
92032 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
92033 fra.me.REG[0] = fra.me.REG[2];
92034 REGB0 = TAG_Int(76);
92035 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
92036 /* ./parser//parser.nit:34588 */
92037 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
92038 stack_frame_head = fra.me.prev;
92039 return;
92040 }
92041 void parser___ReduceAction858___init(val_t p0, int* init_table){
92042 int itpos862 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction858].i;
92043 struct {struct stack_frame_t me;} fra;
92044 val_t tmp;
92045 if (init_table[itpos862]) return;
92046 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
92047 fra.me.file = LOCATE_parser;
92048 fra.me.line = 34590;
92049 fra.me.meth = LOCATE_parser___ReduceAction858___init;
92050 fra.me.has_broke = 0;
92051 fra.me.REG_size = 1;
92052 fra.me.REG[0] = NIT_NULL;
92053 fra.me.REG[0] = p0;
92054 /* ./parser//parser.nit:34590 */
92055 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
92056 stack_frame_head = fra.me.prev;
92057 init_table[itpos862] = 1;
92058 return;
92059 }
92060 void parser___ReduceAction859___action(val_t p0, val_t p1){
92061 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
92062 val_t REGB0;
92063 val_t tmp;
92064 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
92065 fra.me.file = LOCATE_parser;
92066 fra.me.line = 34594;
92067 fra.me.meth = LOCATE_parser___ReduceAction859___action;
92068 fra.me.has_broke = 0;
92069 fra.me.REG_size = 10;
92070 fra.me.REG[0] = NIT_NULL;
92071 fra.me.REG[1] = NIT_NULL;
92072 fra.me.REG[2] = NIT_NULL;
92073 fra.me.REG[3] = NIT_NULL;
92074 fra.me.REG[4] = NIT_NULL;
92075 fra.me.REG[5] = NIT_NULL;
92076 fra.me.REG[6] = NIT_NULL;
92077 fra.me.REG[7] = NIT_NULL;
92078 fra.me.REG[8] = NIT_NULL;
92079 fra.me.REG[9] = NIT_NULL;
92080 fra.me.REG[0] = p0;
92081 fra.me.REG[1] = p1;
92082 fra.me.REG[0] = NIT_NULL;
92083 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92084 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92085 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92086 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92087 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92088 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92089 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92090 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92091 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92092 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92093 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
92094 /* ./parser//parser.nit:34608 */
92095 if (UNTAG_Bool(REGB0)) {
92096 } else {
92097 fprintf(stderr, "Assert failed");
92098 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34608);
92099 nit_exit(1);
92100 }
92101 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
92102 /* ./parser//parser.nit:34610 */
92103 if (UNTAG_Bool(REGB0)) {
92104 } else {
92105 fprintf(stderr, "Assert failed");
92106 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34610);
92107 nit_exit(1);
92108 }
92109 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
92110 /* ./parser//parser.nit:34612 */
92111 if (UNTAG_Bool(REGB0)) {
92112 } else {
92113 fprintf(stderr, "Assert failed");
92114 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34612);
92115 nit_exit(1);
92116 }
92117 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
92118 /* ./parser//parser.nit:34614 */
92119 if (UNTAG_Bool(REGB0)) {
92120 } else {
92121 fprintf(stderr, "Assert failed");
92122 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34614);
92123 nit_exit(1);
92124 }
92125 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
92126 /* ./parser//parser.nit:34616 */
92127 if (UNTAG_Bool(REGB0)) {
92128 } else {
92129 fprintf(stderr, "Assert failed");
92130 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34616);
92131 nit_exit(1);
92132 }
92133 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
92134 /* ./parser//parser.nit:34618 */
92135 if (UNTAG_Bool(REGB0)) {
92136 } else {
92137 fprintf(stderr, "Assert failed");
92138 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34618);
92139 nit_exit(1);
92140 }
92141 fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
92142 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
92143 /* ./parser//parser.nit:34625 */
92144 if (UNTAG_Bool(REGB0)) {
92145 } else {
92146 fprintf(stderr, "Assert failed");
92147 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34625);
92148 nit_exit(1);
92149 }
92150 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
92151 /* ./parser//parser.nit:34627 */
92152 if (UNTAG_Bool(REGB0)) {
92153 } else {
92154 fprintf(stderr, "Assert failed");
92155 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34627);
92156 nit_exit(1);
92157 }
92158 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
92159 fra.me.REG[0] = fra.me.REG[2];
92160 REGB0 = TAG_Int(76);
92161 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
92162 /* ./parser//parser.nit:34638 */
92163 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
92164 stack_frame_head = fra.me.prev;
92165 return;
92166 }
92167 void parser___ReduceAction859___init(val_t p0, int* init_table){
92168 int itpos863 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction859].i;
92169 struct {struct stack_frame_t me;} fra;
92170 val_t tmp;
92171 if (init_table[itpos863]) return;
92172 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
92173 fra.me.file = LOCATE_parser;
92174 fra.me.line = 34640;
92175 fra.me.meth = LOCATE_parser___ReduceAction859___init;
92176 fra.me.has_broke = 0;
92177 fra.me.REG_size = 1;
92178 fra.me.REG[0] = NIT_NULL;
92179 fra.me.REG[0] = p0;
92180 /* ./parser//parser.nit:34640 */
92181 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
92182 stack_frame_head = fra.me.prev;
92183 init_table[itpos863] = 1;
92184 return;
92185 }
92186 void parser___ReduceAction860___action(val_t p0, val_t p1){
92187 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
92188 val_t REGB0;
92189 val_t tmp;
92190 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
92191 fra.me.file = LOCATE_parser;
92192 fra.me.line = 34644;
92193 fra.me.meth = LOCATE_parser___ReduceAction860___action;
92194 fra.me.has_broke = 0;
92195 fra.me.REG_size = 9;
92196 fra.me.REG[0] = NIT_NULL;
92197 fra.me.REG[1] = NIT_NULL;
92198 fra.me.REG[2] = NIT_NULL;
92199 fra.me.REG[3] = NIT_NULL;
92200 fra.me.REG[4] = NIT_NULL;
92201 fra.me.REG[5] = NIT_NULL;
92202 fra.me.REG[6] = NIT_NULL;
92203 fra.me.REG[7] = NIT_NULL;
92204 fra.me.REG[8] = NIT_NULL;
92205 fra.me.REG[0] = p0;
92206 fra.me.REG[1] = p1;
92207 fra.me.REG[0] = NIT_NULL;
92208 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92209 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92210 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92211 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92212 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92213 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92214 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92215 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92216 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92217 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
92218 /* ./parser//parser.nit:34657 */
92219 if (UNTAG_Bool(REGB0)) {
92220 } else {
92221 fprintf(stderr, "Assert failed");
92222 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34657);
92223 nit_exit(1);
92224 }
92225 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
92226 /* ./parser//parser.nit:34659 */
92227 if (UNTAG_Bool(REGB0)) {
92228 } else {
92229 fprintf(stderr, "Assert failed");
92230 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34659);
92231 nit_exit(1);
92232 }
92233 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
92234 /* ./parser//parser.nit:34661 */
92235 if (UNTAG_Bool(REGB0)) {
92236 } else {
92237 fprintf(stderr, "Assert failed");
92238 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34661);
92239 nit_exit(1);
92240 }
92241 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
92242 /* ./parser//parser.nit:34663 */
92243 if (UNTAG_Bool(REGB0)) {
92244 } else {
92245 fprintf(stderr, "Assert failed");
92246 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34663);
92247 nit_exit(1);
92248 }
92249 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
92250 /* ./parser//parser.nit:34665 */
92251 if (UNTAG_Bool(REGB0)) {
92252 } else {
92253 fprintf(stderr, "Assert failed");
92254 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34665);
92255 nit_exit(1);
92256 }
92257 fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]);
92258 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
92259 /* ./parser//parser.nit:34670 */
92260 if (UNTAG_Bool(REGB0)) {
92261 } else {
92262 fprintf(stderr, "Assert failed");
92263 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34670);
92264 nit_exit(1);
92265 }
92266 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
92267 /* ./parser//parser.nit:34672 */
92268 if (UNTAG_Bool(REGB0)) {
92269 } else {
92270 fprintf(stderr, "Assert failed");
92271 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34672);
92272 nit_exit(1);
92273 }
92274 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
92275 fra.me.REG[0] = fra.me.REG[2];
92276 REGB0 = TAG_Int(76);
92277 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
92278 /* ./parser//parser.nit:34683 */
92279 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
92280 stack_frame_head = fra.me.prev;
92281 return;
92282 }
92283 void parser___ReduceAction860___init(val_t p0, int* init_table){
92284 int itpos864 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction860].i;
92285 struct {struct stack_frame_t me;} fra;
92286 val_t tmp;
92287 if (init_table[itpos864]) return;
92288 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
92289 fra.me.file = LOCATE_parser;
92290 fra.me.line = 34685;
92291 fra.me.meth = LOCATE_parser___ReduceAction860___init;
92292 fra.me.has_broke = 0;
92293 fra.me.REG_size = 1;
92294 fra.me.REG[0] = NIT_NULL;
92295 fra.me.REG[0] = p0;
92296 /* ./parser//parser.nit:34685 */
92297 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
92298 stack_frame_head = fra.me.prev;
92299 init_table[itpos864] = 1;
92300 return;
92301 }
92302 void parser___ReduceAction861___action(val_t p0, val_t p1){
92303 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
92304 val_t REGB0;
92305 val_t tmp;
92306 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
92307 fra.me.file = LOCATE_parser;
92308 fra.me.line = 34689;
92309 fra.me.meth = LOCATE_parser___ReduceAction861___action;
92310 fra.me.has_broke = 0;
92311 fra.me.REG_size = 9;
92312 fra.me.REG[0] = NIT_NULL;
92313 fra.me.REG[1] = NIT_NULL;
92314 fra.me.REG[2] = NIT_NULL;
92315 fra.me.REG[3] = NIT_NULL;
92316 fra.me.REG[4] = NIT_NULL;
92317 fra.me.REG[5] = NIT_NULL;
92318 fra.me.REG[6] = NIT_NULL;
92319 fra.me.REG[7] = NIT_NULL;
92320 fra.me.REG[8] = NIT_NULL;
92321 fra.me.REG[0] = p0;
92322 fra.me.REG[1] = p1;
92323 fra.me.REG[0] = NIT_NULL;
92324 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92325 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92326 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92327 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92328 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92329 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92330 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92331 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92332 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92333 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
92334 /* ./parser//parser.nit:34702 */
92335 if (UNTAG_Bool(REGB0)) {
92336 } else {
92337 fprintf(stderr, "Assert failed");
92338 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34702);
92339 nit_exit(1);
92340 }
92341 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
92342 /* ./parser//parser.nit:34704 */
92343 if (UNTAG_Bool(REGB0)) {
92344 } else {
92345 fprintf(stderr, "Assert failed");
92346 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34704);
92347 nit_exit(1);
92348 }
92349 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
92350 /* ./parser//parser.nit:34706 */
92351 if (UNTAG_Bool(REGB0)) {
92352 } else {
92353 fprintf(stderr, "Assert failed");
92354 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34706);
92355 nit_exit(1);
92356 }
92357 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
92358 /* ./parser//parser.nit:34708 */
92359 if (UNTAG_Bool(REGB0)) {
92360 } else {
92361 fprintf(stderr, "Assert failed");
92362 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34708);
92363 nit_exit(1);
92364 }
92365 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/;
92366 /* ./parser//parser.nit:34710 */
92367 if (UNTAG_Bool(REGB0)) {
92368 } else {
92369 fprintf(stderr, "Assert failed");
92370 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34710);
92371 nit_exit(1);
92372 }
92373 fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]);
92374 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
92375 /* ./parser//parser.nit:34715 */
92376 if (UNTAG_Bool(REGB0)) {
92377 } else {
92378 fprintf(stderr, "Assert failed");
92379 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34715);
92380 nit_exit(1);
92381 }
92382 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
92383 /* ./parser//parser.nit:34717 */
92384 if (UNTAG_Bool(REGB0)) {
92385 } else {
92386 fprintf(stderr, "Assert failed");
92387 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34717);
92388 nit_exit(1);
92389 }
92390 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
92391 fra.me.REG[0] = fra.me.REG[2];
92392 REGB0 = TAG_Int(76);
92393 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
92394 /* ./parser//parser.nit:34728 */
92395 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
92396 stack_frame_head = fra.me.prev;
92397 return;
92398 }
92399 void parser___ReduceAction861___init(val_t p0, int* init_table){
92400 int itpos865 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction861].i;
92401 struct {struct stack_frame_t me;} fra;
92402 val_t tmp;
92403 if (init_table[itpos865]) return;
92404 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
92405 fra.me.file = LOCATE_parser;
92406 fra.me.line = 34730;
92407 fra.me.meth = LOCATE_parser___ReduceAction861___init;
92408 fra.me.has_broke = 0;
92409 fra.me.REG_size = 1;
92410 fra.me.REG[0] = NIT_NULL;
92411 fra.me.REG[0] = p0;
92412 /* ./parser//parser.nit:34730 */
92413 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
92414 stack_frame_head = fra.me.prev;
92415 init_table[itpos865] = 1;
92416 return;
92417 }
92418 void parser___ReduceAction862___action(val_t p0, val_t p1){
92419 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
92420 val_t REGB0;
92421 val_t tmp;
92422 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
92423 fra.me.file = LOCATE_parser;
92424 fra.me.line = 34734;
92425 fra.me.meth = LOCATE_parser___ReduceAction862___action;
92426 fra.me.has_broke = 0;
92427 fra.me.REG_size = 9;
92428 fra.me.REG[0] = NIT_NULL;
92429 fra.me.REG[1] = NIT_NULL;
92430 fra.me.REG[2] = NIT_NULL;
92431 fra.me.REG[3] = NIT_NULL;
92432 fra.me.REG[4] = NIT_NULL;
92433 fra.me.REG[5] = NIT_NULL;
92434 fra.me.REG[6] = NIT_NULL;
92435 fra.me.REG[7] = NIT_NULL;
92436 fra.me.REG[8] = NIT_NULL;
92437 fra.me.REG[0] = p0;
92438 fra.me.REG[1] = p1;
92439 fra.me.REG[0] = NIT_NULL;
92440 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92441 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92442 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92443 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92444 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92445 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92446 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92447 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92448 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92449 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
92450 /* ./parser//parser.nit:34747 */
92451 if (UNTAG_Bool(REGB0)) {
92452 } else {
92453 fprintf(stderr, "Assert failed");
92454 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34747);
92455 nit_exit(1);
92456 }
92457 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
92458 /* ./parser//parser.nit:34749 */
92459 if (UNTAG_Bool(REGB0)) {
92460 } else {
92461 fprintf(stderr, "Assert failed");
92462 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34749);
92463 nit_exit(1);
92464 }
92465 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
92466 /* ./parser//parser.nit:34751 */
92467 if (UNTAG_Bool(REGB0)) {
92468 } else {
92469 fprintf(stderr, "Assert failed");
92470 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34751);
92471 nit_exit(1);
92472 }
92473 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
92474 /* ./parser//parser.nit:34753 */
92475 if (UNTAG_Bool(REGB0)) {
92476 } else {
92477 fprintf(stderr, "Assert failed");
92478 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34753);
92479 nit_exit(1);
92480 }
92481 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
92482 /* ./parser//parser.nit:34755 */
92483 if (UNTAG_Bool(REGB0)) {
92484 } else {
92485 fprintf(stderr, "Assert failed");
92486 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34755);
92487 nit_exit(1);
92488 }
92489 fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]);
92490 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
92491 /* ./parser//parser.nit:34760 */
92492 if (UNTAG_Bool(REGB0)) {
92493 } else {
92494 fprintf(stderr, "Assert failed");
92495 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34760);
92496 nit_exit(1);
92497 }
92498 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
92499 /* ./parser//parser.nit:34762 */
92500 if (UNTAG_Bool(REGB0)) {
92501 } else {
92502 fprintf(stderr, "Assert failed");
92503 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34762);
92504 nit_exit(1);
92505 }
92506 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
92507 fra.me.REG[0] = fra.me.REG[2];
92508 REGB0 = TAG_Int(76);
92509 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
92510 /* ./parser//parser.nit:34773 */
92511 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
92512 stack_frame_head = fra.me.prev;
92513 return;
92514 }
92515 void parser___ReduceAction862___init(val_t p0, int* init_table){
92516 int itpos866 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction862].i;
92517 struct {struct stack_frame_t me;} fra;
92518 val_t tmp;
92519 if (init_table[itpos866]) return;
92520 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
92521 fra.me.file = LOCATE_parser;
92522 fra.me.line = 34775;
92523 fra.me.meth = LOCATE_parser___ReduceAction862___init;
92524 fra.me.has_broke = 0;
92525 fra.me.REG_size = 1;
92526 fra.me.REG[0] = NIT_NULL;
92527 fra.me.REG[0] = p0;
92528 /* ./parser//parser.nit:34775 */
92529 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
92530 stack_frame_head = fra.me.prev;
92531 init_table[itpos866] = 1;
92532 return;
92533 }
92534 void parser___ReduceAction863___action(val_t p0, val_t p1){
92535 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
92536 val_t REGB0;
92537 val_t tmp;
92538 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
92539 fra.me.file = LOCATE_parser;
92540 fra.me.line = 34779;
92541 fra.me.meth = LOCATE_parser___ReduceAction863___action;
92542 fra.me.has_broke = 0;
92543 fra.me.REG_size = 9;
92544 fra.me.REG[0] = NIT_NULL;
92545 fra.me.REG[1] = NIT_NULL;
92546 fra.me.REG[2] = NIT_NULL;
92547 fra.me.REG[3] = NIT_NULL;
92548 fra.me.REG[4] = NIT_NULL;
92549 fra.me.REG[5] = NIT_NULL;
92550 fra.me.REG[6] = NIT_NULL;
92551 fra.me.REG[7] = NIT_NULL;
92552 fra.me.REG[8] = NIT_NULL;
92553 fra.me.REG[0] = p0;
92554 fra.me.REG[1] = p1;
92555 fra.me.REG[0] = NIT_NULL;
92556 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92557 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92558 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92559 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92560 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92561 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92562 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92563 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92564 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92565 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
92566 /* ./parser//parser.nit:34792 */
92567 if (UNTAG_Bool(REGB0)) {
92568 } else {
92569 fprintf(stderr, "Assert failed");
92570 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34792);
92571 nit_exit(1);
92572 }
92573 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
92574 /* ./parser//parser.nit:34794 */
92575 if (UNTAG_Bool(REGB0)) {
92576 } else {
92577 fprintf(stderr, "Assert failed");
92578 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34794);
92579 nit_exit(1);
92580 }
92581 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
92582 /* ./parser//parser.nit:34796 */
92583 if (UNTAG_Bool(REGB0)) {
92584 } else {
92585 fprintf(stderr, "Assert failed");
92586 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34796);
92587 nit_exit(1);
92588 }
92589 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
92590 /* ./parser//parser.nit:34798 */
92591 if (UNTAG_Bool(REGB0)) {
92592 } else {
92593 fprintf(stderr, "Assert failed");
92594 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34798);
92595 nit_exit(1);
92596 }
92597 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/;
92598 /* ./parser//parser.nit:34800 */
92599 if (UNTAG_Bool(REGB0)) {
92600 } else {
92601 fprintf(stderr, "Assert failed");
92602 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34800);
92603 nit_exit(1);
92604 }
92605 fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]);
92606 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
92607 /* ./parser//parser.nit:34805 */
92608 if (UNTAG_Bool(REGB0)) {
92609 } else {
92610 fprintf(stderr, "Assert failed");
92611 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34805);
92612 nit_exit(1);
92613 }
92614 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
92615 /* ./parser//parser.nit:34807 */
92616 if (UNTAG_Bool(REGB0)) {
92617 } else {
92618 fprintf(stderr, "Assert failed");
92619 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34807);
92620 nit_exit(1);
92621 }
92622 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
92623 fra.me.REG[0] = fra.me.REG[2];
92624 REGB0 = TAG_Int(76);
92625 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
92626 /* ./parser//parser.nit:34818 */
92627 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
92628 stack_frame_head = fra.me.prev;
92629 return;
92630 }
92631 void parser___ReduceAction863___init(val_t p0, int* init_table){
92632 int itpos867 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction863].i;
92633 struct {struct stack_frame_t me;} fra;
92634 val_t tmp;
92635 if (init_table[itpos867]) return;
92636 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
92637 fra.me.file = LOCATE_parser;
92638 fra.me.line = 34820;
92639 fra.me.meth = LOCATE_parser___ReduceAction863___init;
92640 fra.me.has_broke = 0;
92641 fra.me.REG_size = 1;
92642 fra.me.REG[0] = NIT_NULL;
92643 fra.me.REG[0] = p0;
92644 /* ./parser//parser.nit:34820 */
92645 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
92646 stack_frame_head = fra.me.prev;
92647 init_table[itpos867] = 1;
92648 return;
92649 }
92650 void parser___ReduceAction864___action(val_t p0, val_t p1){
92651 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
92652 val_t REGB0;
92653 val_t tmp;
92654 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
92655 fra.me.file = LOCATE_parser;
92656 fra.me.line = 34824;
92657 fra.me.meth = LOCATE_parser___ReduceAction864___action;
92658 fra.me.has_broke = 0;
92659 fra.me.REG_size = 9;
92660 fra.me.REG[0] = NIT_NULL;
92661 fra.me.REG[1] = NIT_NULL;
92662 fra.me.REG[2] = NIT_NULL;
92663 fra.me.REG[3] = NIT_NULL;
92664 fra.me.REG[4] = NIT_NULL;
92665 fra.me.REG[5] = NIT_NULL;
92666 fra.me.REG[6] = NIT_NULL;
92667 fra.me.REG[7] = NIT_NULL;
92668 fra.me.REG[8] = NIT_NULL;
92669 fra.me.REG[0] = p0;
92670 fra.me.REG[1] = p1;
92671 fra.me.REG[0] = NIT_NULL;
92672 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92673 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92674 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92675 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92676 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92677 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92678 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92679 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92680 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92681 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
92682 /* ./parser//parser.nit:34837 */
92683 if (UNTAG_Bool(REGB0)) {
92684 } else {
92685 fprintf(stderr, "Assert failed");
92686 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34837);
92687 nit_exit(1);
92688 }
92689 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
92690 /* ./parser//parser.nit:34839 */
92691 if (UNTAG_Bool(REGB0)) {
92692 } else {
92693 fprintf(stderr, "Assert failed");
92694 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34839);
92695 nit_exit(1);
92696 }
92697 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
92698 /* ./parser//parser.nit:34841 */
92699 if (UNTAG_Bool(REGB0)) {
92700 } else {
92701 fprintf(stderr, "Assert failed");
92702 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34841);
92703 nit_exit(1);
92704 }
92705 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
92706 /* ./parser//parser.nit:34843 */
92707 if (UNTAG_Bool(REGB0)) {
92708 } else {
92709 fprintf(stderr, "Assert failed");
92710 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34843);
92711 nit_exit(1);
92712 }
92713 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/;
92714 /* ./parser//parser.nit:34845 */
92715 if (UNTAG_Bool(REGB0)) {
92716 } else {
92717 fprintf(stderr, "Assert failed");
92718 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34845);
92719 nit_exit(1);
92720 }
92721 fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]);
92722 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
92723 /* ./parser//parser.nit:34850 */
92724 if (UNTAG_Bool(REGB0)) {
92725 } else {
92726 fprintf(stderr, "Assert failed");
92727 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34850);
92728 nit_exit(1);
92729 }
92730 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
92731 /* ./parser//parser.nit:34852 */
92732 if (UNTAG_Bool(REGB0)) {
92733 } else {
92734 fprintf(stderr, "Assert failed");
92735 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34852);
92736 nit_exit(1);
92737 }
92738 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
92739 fra.me.REG[0] = fra.me.REG[2];
92740 REGB0 = TAG_Int(76);
92741 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
92742 /* ./parser//parser.nit:34863 */
92743 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
92744 stack_frame_head = fra.me.prev;
92745 return;
92746 }
92747 void parser___ReduceAction864___init(val_t p0, int* init_table){
92748 int itpos868 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction864].i;
92749 struct {struct stack_frame_t me;} fra;
92750 val_t tmp;
92751 if (init_table[itpos868]) return;
92752 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
92753 fra.me.file = LOCATE_parser;
92754 fra.me.line = 34865;
92755 fra.me.meth = LOCATE_parser___ReduceAction864___init;
92756 fra.me.has_broke = 0;
92757 fra.me.REG_size = 1;
92758 fra.me.REG[0] = NIT_NULL;
92759 fra.me.REG[0] = p0;
92760 /* ./parser//parser.nit:34865 */
92761 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
92762 stack_frame_head = fra.me.prev;
92763 init_table[itpos868] = 1;
92764 return;
92765 }
92766 void parser___ReduceAction865___action(val_t p0, val_t p1){
92767 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
92768 val_t REGB0;
92769 val_t tmp;
92770 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
92771 fra.me.file = LOCATE_parser;
92772 fra.me.line = 34869;
92773 fra.me.meth = LOCATE_parser___ReduceAction865___action;
92774 fra.me.has_broke = 0;
92775 fra.me.REG_size = 9;
92776 fra.me.REG[0] = NIT_NULL;
92777 fra.me.REG[1] = NIT_NULL;
92778 fra.me.REG[2] = NIT_NULL;
92779 fra.me.REG[3] = NIT_NULL;
92780 fra.me.REG[4] = NIT_NULL;
92781 fra.me.REG[5] = NIT_NULL;
92782 fra.me.REG[6] = NIT_NULL;
92783 fra.me.REG[7] = NIT_NULL;
92784 fra.me.REG[8] = NIT_NULL;
92785 fra.me.REG[0] = p0;
92786 fra.me.REG[1] = p1;
92787 fra.me.REG[0] = NIT_NULL;
92788 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92789 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92790 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92791 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92792 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92793 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92794 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92795 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92796 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92797 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
92798 /* ./parser//parser.nit:34882 */
92799 if (UNTAG_Bool(REGB0)) {
92800 } else {
92801 fprintf(stderr, "Assert failed");
92802 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34882);
92803 nit_exit(1);
92804 }
92805 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
92806 /* ./parser//parser.nit:34884 */
92807 if (UNTAG_Bool(REGB0)) {
92808 } else {
92809 fprintf(stderr, "Assert failed");
92810 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34884);
92811 nit_exit(1);
92812 }
92813 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
92814 /* ./parser//parser.nit:34886 */
92815 if (UNTAG_Bool(REGB0)) {
92816 } else {
92817 fprintf(stderr, "Assert failed");
92818 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34886);
92819 nit_exit(1);
92820 }
92821 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
92822 /* ./parser//parser.nit:34888 */
92823 if (UNTAG_Bool(REGB0)) {
92824 } else {
92825 fprintf(stderr, "Assert failed");
92826 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34888);
92827 nit_exit(1);
92828 }
92829 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/;
92830 /* ./parser//parser.nit:34890 */
92831 if (UNTAG_Bool(REGB0)) {
92832 } else {
92833 fprintf(stderr, "Assert failed");
92834 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34890);
92835 nit_exit(1);
92836 }
92837 fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]);
92838 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
92839 /* ./parser//parser.nit:34895 */
92840 if (UNTAG_Bool(REGB0)) {
92841 } else {
92842 fprintf(stderr, "Assert failed");
92843 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34895);
92844 nit_exit(1);
92845 }
92846 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
92847 /* ./parser//parser.nit:34897 */
92848 if (UNTAG_Bool(REGB0)) {
92849 } else {
92850 fprintf(stderr, "Assert failed");
92851 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34897);
92852 nit_exit(1);
92853 }
92854 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
92855 fra.me.REG[0] = fra.me.REG[2];
92856 REGB0 = TAG_Int(76);
92857 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
92858 /* ./parser//parser.nit:34908 */
92859 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
92860 stack_frame_head = fra.me.prev;
92861 return;
92862 }
92863 void parser___ReduceAction865___init(val_t p0, int* init_table){
92864 int itpos869 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction865].i;
92865 struct {struct stack_frame_t me;} fra;
92866 val_t tmp;
92867 if (init_table[itpos869]) return;
92868 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
92869 fra.me.file = LOCATE_parser;
92870 fra.me.line = 34910;
92871 fra.me.meth = LOCATE_parser___ReduceAction865___init;
92872 fra.me.has_broke = 0;
92873 fra.me.REG_size = 1;
92874 fra.me.REG[0] = NIT_NULL;
92875 fra.me.REG[0] = p0;
92876 /* ./parser//parser.nit:34910 */
92877 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
92878 stack_frame_head = fra.me.prev;
92879 init_table[itpos869] = 1;
92880 return;
92881 }
92882 void parser___ReduceAction866___action(val_t p0, val_t p1){
92883 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
92884 val_t REGB0;
92885 val_t tmp;
92886 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
92887 fra.me.file = LOCATE_parser;
92888 fra.me.line = 34914;
92889 fra.me.meth = LOCATE_parser___ReduceAction866___action;
92890 fra.me.has_broke = 0;
92891 fra.me.REG_size = 9;
92892 fra.me.REG[0] = NIT_NULL;
92893 fra.me.REG[1] = NIT_NULL;
92894 fra.me.REG[2] = NIT_NULL;
92895 fra.me.REG[3] = NIT_NULL;
92896 fra.me.REG[4] = NIT_NULL;
92897 fra.me.REG[5] = NIT_NULL;
92898 fra.me.REG[6] = NIT_NULL;
92899 fra.me.REG[7] = NIT_NULL;
92900 fra.me.REG[8] = NIT_NULL;
92901 fra.me.REG[0] = p0;
92902 fra.me.REG[1] = p1;
92903 fra.me.REG[0] = NIT_NULL;
92904 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92905 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92906 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92907 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92908 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92909 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92910 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92911 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92912 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
92913 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
92914 /* ./parser//parser.nit:34927 */
92915 if (UNTAG_Bool(REGB0)) {
92916 } else {
92917 fprintf(stderr, "Assert failed");
92918 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34927);
92919 nit_exit(1);
92920 }
92921 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
92922 /* ./parser//parser.nit:34929 */
92923 if (UNTAG_Bool(REGB0)) {
92924 } else {
92925 fprintf(stderr, "Assert failed");
92926 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34929);
92927 nit_exit(1);
92928 }
92929 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
92930 /* ./parser//parser.nit:34931 */
92931 if (UNTAG_Bool(REGB0)) {
92932 } else {
92933 fprintf(stderr, "Assert failed");
92934 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34931);
92935 nit_exit(1);
92936 }
92937 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
92938 /* ./parser//parser.nit:34933 */
92939 if (UNTAG_Bool(REGB0)) {
92940 } else {
92941 fprintf(stderr, "Assert failed");
92942 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34933);
92943 nit_exit(1);
92944 }
92945 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/;
92946 /* ./parser//parser.nit:34935 */
92947 if (UNTAG_Bool(REGB0)) {
92948 } else {
92949 fprintf(stderr, "Assert failed");
92950 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34935);
92951 nit_exit(1);
92952 }
92953 fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]);
92954 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
92955 /* ./parser//parser.nit:34940 */
92956 if (UNTAG_Bool(REGB0)) {
92957 } else {
92958 fprintf(stderr, "Assert failed");
92959 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34940);
92960 nit_exit(1);
92961 }
92962 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
92963 /* ./parser//parser.nit:34942 */
92964 if (UNTAG_Bool(REGB0)) {
92965 } else {
92966 fprintf(stderr, "Assert failed");
92967 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34942);
92968 nit_exit(1);
92969 }
92970 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
92971 fra.me.REG[0] = fra.me.REG[2];
92972 REGB0 = TAG_Int(76);
92973 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
92974 /* ./parser//parser.nit:34953 */
92975 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
92976 stack_frame_head = fra.me.prev;
92977 return;
92978 }
92979 void parser___ReduceAction866___init(val_t p0, int* init_table){
92980 int itpos870 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction866].i;
92981 struct {struct stack_frame_t me;} fra;
92982 val_t tmp;
92983 if (init_table[itpos870]) return;
92984 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
92985 fra.me.file = LOCATE_parser;
92986 fra.me.line = 34955;
92987 fra.me.meth = LOCATE_parser___ReduceAction866___init;
92988 fra.me.has_broke = 0;
92989 fra.me.REG_size = 1;
92990 fra.me.REG[0] = NIT_NULL;
92991 fra.me.REG[0] = p0;
92992 /* ./parser//parser.nit:34955 */
92993 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
92994 stack_frame_head = fra.me.prev;
92995 init_table[itpos870] = 1;
92996 return;
92997 }
92998 void parser___ReduceAction867___action(val_t p0, val_t p1){
92999 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
93000 val_t REGB0;
93001 val_t tmp;
93002 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93003 fra.me.file = LOCATE_parser;
93004 fra.me.line = 34959;
93005 fra.me.meth = LOCATE_parser___ReduceAction867___action;
93006 fra.me.has_broke = 0;
93007 fra.me.REG_size = 9;
93008 fra.me.REG[0] = NIT_NULL;
93009 fra.me.REG[1] = NIT_NULL;
93010 fra.me.REG[2] = NIT_NULL;
93011 fra.me.REG[3] = NIT_NULL;
93012 fra.me.REG[4] = NIT_NULL;
93013 fra.me.REG[5] = NIT_NULL;
93014 fra.me.REG[6] = NIT_NULL;
93015 fra.me.REG[7] = NIT_NULL;
93016 fra.me.REG[8] = NIT_NULL;
93017 fra.me.REG[0] = p0;
93018 fra.me.REG[1] = p1;
93019 fra.me.REG[0] = NIT_NULL;
93020 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93021 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93022 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93023 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93024 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93025 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93026 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93027 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93028 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93029 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
93030 /* ./parser//parser.nit:34972 */
93031 if (UNTAG_Bool(REGB0)) {
93032 } else {
93033 fprintf(stderr, "Assert failed");
93034 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34972);
93035 nit_exit(1);
93036 }
93037 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
93038 /* ./parser//parser.nit:34974 */
93039 if (UNTAG_Bool(REGB0)) {
93040 } else {
93041 fprintf(stderr, "Assert failed");
93042 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34974);
93043 nit_exit(1);
93044 }
93045 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
93046 /* ./parser//parser.nit:34976 */
93047 if (UNTAG_Bool(REGB0)) {
93048 } else {
93049 fprintf(stderr, "Assert failed");
93050 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34976);
93051 nit_exit(1);
93052 }
93053 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
93054 /* ./parser//parser.nit:34978 */
93055 if (UNTAG_Bool(REGB0)) {
93056 } else {
93057 fprintf(stderr, "Assert failed");
93058 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34978);
93059 nit_exit(1);
93060 }
93061 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/;
93062 /* ./parser//parser.nit:34980 */
93063 if (UNTAG_Bool(REGB0)) {
93064 } else {
93065 fprintf(stderr, "Assert failed");
93066 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34980);
93067 nit_exit(1);
93068 }
93069 fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]);
93070 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
93071 /* ./parser//parser.nit:34985 */
93072 if (UNTAG_Bool(REGB0)) {
93073 } else {
93074 fprintf(stderr, "Assert failed");
93075 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34985);
93076 nit_exit(1);
93077 }
93078 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
93079 /* ./parser//parser.nit:34987 */
93080 if (UNTAG_Bool(REGB0)) {
93081 } else {
93082 fprintf(stderr, "Assert failed");
93083 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34987);
93084 nit_exit(1);
93085 }
93086 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
93087 fra.me.REG[0] = fra.me.REG[2];
93088 REGB0 = TAG_Int(76);
93089 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
93090 /* ./parser//parser.nit:34998 */
93091 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
93092 stack_frame_head = fra.me.prev;
93093 return;
93094 }
93095 void parser___ReduceAction867___init(val_t p0, int* init_table){
93096 int itpos871 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction867].i;
93097 struct {struct stack_frame_t me;} fra;
93098 val_t tmp;
93099 if (init_table[itpos871]) return;
93100 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93101 fra.me.file = LOCATE_parser;
93102 fra.me.line = 35000;
93103 fra.me.meth = LOCATE_parser___ReduceAction867___init;
93104 fra.me.has_broke = 0;
93105 fra.me.REG_size = 1;
93106 fra.me.REG[0] = NIT_NULL;
93107 fra.me.REG[0] = p0;
93108 /* ./parser//parser.nit:35000 */
93109 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
93110 stack_frame_head = fra.me.prev;
93111 init_table[itpos871] = 1;
93112 return;
93113 }
93114 void parser___ReduceAction868___action(val_t p0, val_t p1){
93115 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
93116 val_t REGB0;
93117 val_t tmp;
93118 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93119 fra.me.file = LOCATE_parser;
93120 fra.me.line = 35004;
93121 fra.me.meth = LOCATE_parser___ReduceAction868___action;
93122 fra.me.has_broke = 0;
93123 fra.me.REG_size = 9;
93124 fra.me.REG[0] = NIT_NULL;
93125 fra.me.REG[1] = NIT_NULL;
93126 fra.me.REG[2] = NIT_NULL;
93127 fra.me.REG[3] = NIT_NULL;
93128 fra.me.REG[4] = NIT_NULL;
93129 fra.me.REG[5] = NIT_NULL;
93130 fra.me.REG[6] = NIT_NULL;
93131 fra.me.REG[7] = NIT_NULL;
93132 fra.me.REG[8] = NIT_NULL;
93133 fra.me.REG[0] = p0;
93134 fra.me.REG[1] = p1;
93135 fra.me.REG[0] = NIT_NULL;
93136 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93137 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93138 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93139 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93140 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93141 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93142 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93143 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93144 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93145 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
93146 /* ./parser//parser.nit:35017 */
93147 if (UNTAG_Bool(REGB0)) {
93148 } else {
93149 fprintf(stderr, "Assert failed");
93150 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35017);
93151 nit_exit(1);
93152 }
93153 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
93154 /* ./parser//parser.nit:35019 */
93155 if (UNTAG_Bool(REGB0)) {
93156 } else {
93157 fprintf(stderr, "Assert failed");
93158 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35019);
93159 nit_exit(1);
93160 }
93161 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
93162 /* ./parser//parser.nit:35021 */
93163 if (UNTAG_Bool(REGB0)) {
93164 } else {
93165 fprintf(stderr, "Assert failed");
93166 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35021);
93167 nit_exit(1);
93168 }
93169 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
93170 /* ./parser//parser.nit:35023 */
93171 if (UNTAG_Bool(REGB0)) {
93172 } else {
93173 fprintf(stderr, "Assert failed");
93174 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35023);
93175 nit_exit(1);
93176 }
93177 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/;
93178 /* ./parser//parser.nit:35025 */
93179 if (UNTAG_Bool(REGB0)) {
93180 } else {
93181 fprintf(stderr, "Assert failed");
93182 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35025);
93183 nit_exit(1);
93184 }
93185 fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]);
93186 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
93187 /* ./parser//parser.nit:35030 */
93188 if (UNTAG_Bool(REGB0)) {
93189 } else {
93190 fprintf(stderr, "Assert failed");
93191 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35030);
93192 nit_exit(1);
93193 }
93194 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
93195 /* ./parser//parser.nit:35032 */
93196 if (UNTAG_Bool(REGB0)) {
93197 } else {
93198 fprintf(stderr, "Assert failed");
93199 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35032);
93200 nit_exit(1);
93201 }
93202 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
93203 fra.me.REG[0] = fra.me.REG[2];
93204 REGB0 = TAG_Int(76);
93205 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
93206 /* ./parser//parser.nit:35043 */
93207 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
93208 stack_frame_head = fra.me.prev;
93209 return;
93210 }
93211 void parser___ReduceAction868___init(val_t p0, int* init_table){
93212 int itpos872 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction868].i;
93213 struct {struct stack_frame_t me;} fra;
93214 val_t tmp;
93215 if (init_table[itpos872]) return;
93216 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93217 fra.me.file = LOCATE_parser;
93218 fra.me.line = 35045;
93219 fra.me.meth = LOCATE_parser___ReduceAction868___init;
93220 fra.me.has_broke = 0;
93221 fra.me.REG_size = 1;
93222 fra.me.REG[0] = NIT_NULL;
93223 fra.me.REG[0] = p0;
93224 /* ./parser//parser.nit:35045 */
93225 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
93226 stack_frame_head = fra.me.prev;
93227 init_table[itpos872] = 1;
93228 return;
93229 }
93230 void parser___ReduceAction869___action(val_t p0, val_t p1){
93231 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
93232 val_t REGB0;
93233 val_t tmp;
93234 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93235 fra.me.file = LOCATE_parser;
93236 fra.me.line = 35049;
93237 fra.me.meth = LOCATE_parser___ReduceAction869___action;
93238 fra.me.has_broke = 0;
93239 fra.me.REG_size = 9;
93240 fra.me.REG[0] = NIT_NULL;
93241 fra.me.REG[1] = NIT_NULL;
93242 fra.me.REG[2] = NIT_NULL;
93243 fra.me.REG[3] = NIT_NULL;
93244 fra.me.REG[4] = NIT_NULL;
93245 fra.me.REG[5] = NIT_NULL;
93246 fra.me.REG[6] = NIT_NULL;
93247 fra.me.REG[7] = NIT_NULL;
93248 fra.me.REG[8] = NIT_NULL;
93249 fra.me.REG[0] = p0;
93250 fra.me.REG[1] = p1;
93251 fra.me.REG[0] = NIT_NULL;
93252 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93253 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93254 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93255 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93256 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93257 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93258 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93259 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93260 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93261 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
93262 /* ./parser//parser.nit:35062 */
93263 if (UNTAG_Bool(REGB0)) {
93264 } else {
93265 fprintf(stderr, "Assert failed");
93266 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35062);
93267 nit_exit(1);
93268 }
93269 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
93270 /* ./parser//parser.nit:35064 */
93271 if (UNTAG_Bool(REGB0)) {
93272 } else {
93273 fprintf(stderr, "Assert failed");
93274 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35064);
93275 nit_exit(1);
93276 }
93277 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
93278 /* ./parser//parser.nit:35066 */
93279 if (UNTAG_Bool(REGB0)) {
93280 } else {
93281 fprintf(stderr, "Assert failed");
93282 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35066);
93283 nit_exit(1);
93284 }
93285 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
93286 /* ./parser//parser.nit:35068 */
93287 if (UNTAG_Bool(REGB0)) {
93288 } else {
93289 fprintf(stderr, "Assert failed");
93290 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35068);
93291 nit_exit(1);
93292 }
93293 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/;
93294 /* ./parser//parser.nit:35070 */
93295 if (UNTAG_Bool(REGB0)) {
93296 } else {
93297 fprintf(stderr, "Assert failed");
93298 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35070);
93299 nit_exit(1);
93300 }
93301 fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]);
93302 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
93303 /* ./parser//parser.nit:35075 */
93304 if (UNTAG_Bool(REGB0)) {
93305 } else {
93306 fprintf(stderr, "Assert failed");
93307 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35075);
93308 nit_exit(1);
93309 }
93310 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
93311 /* ./parser//parser.nit:35077 */
93312 if (UNTAG_Bool(REGB0)) {
93313 } else {
93314 fprintf(stderr, "Assert failed");
93315 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35077);
93316 nit_exit(1);
93317 }
93318 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
93319 fra.me.REG[0] = fra.me.REG[2];
93320 REGB0 = TAG_Int(76);
93321 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
93322 /* ./parser//parser.nit:35088 */
93323 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
93324 stack_frame_head = fra.me.prev;
93325 return;
93326 }
93327 void parser___ReduceAction869___init(val_t p0, int* init_table){
93328 int itpos873 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction869].i;
93329 struct {struct stack_frame_t me;} fra;
93330 val_t tmp;
93331 if (init_table[itpos873]) return;
93332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93333 fra.me.file = LOCATE_parser;
93334 fra.me.line = 35090;
93335 fra.me.meth = LOCATE_parser___ReduceAction869___init;
93336 fra.me.has_broke = 0;
93337 fra.me.REG_size = 1;
93338 fra.me.REG[0] = NIT_NULL;
93339 fra.me.REG[0] = p0;
93340 /* ./parser//parser.nit:35090 */
93341 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
93342 stack_frame_head = fra.me.prev;
93343 init_table[itpos873] = 1;
93344 return;
93345 }
93346 void parser___ReduceAction870___action(val_t p0, val_t p1){
93347 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
93348 val_t REGB0;
93349 val_t tmp;
93350 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93351 fra.me.file = LOCATE_parser;
93352 fra.me.line = 35094;
93353 fra.me.meth = LOCATE_parser___ReduceAction870___action;
93354 fra.me.has_broke = 0;
93355 fra.me.REG_size = 9;
93356 fra.me.REG[0] = NIT_NULL;
93357 fra.me.REG[1] = NIT_NULL;
93358 fra.me.REG[2] = NIT_NULL;
93359 fra.me.REG[3] = NIT_NULL;
93360 fra.me.REG[4] = NIT_NULL;
93361 fra.me.REG[5] = NIT_NULL;
93362 fra.me.REG[6] = NIT_NULL;
93363 fra.me.REG[7] = NIT_NULL;
93364 fra.me.REG[8] = NIT_NULL;
93365 fra.me.REG[0] = p0;
93366 fra.me.REG[1] = p1;
93367 fra.me.REG[0] = NIT_NULL;
93368 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93369 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93370 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93371 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93372 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93373 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93374 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93375 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93376 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93377 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
93378 /* ./parser//parser.nit:35107 */
93379 if (UNTAG_Bool(REGB0)) {
93380 } else {
93381 fprintf(stderr, "Assert failed");
93382 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35107);
93383 nit_exit(1);
93384 }
93385 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
93386 /* ./parser//parser.nit:35109 */
93387 if (UNTAG_Bool(REGB0)) {
93388 } else {
93389 fprintf(stderr, "Assert failed");
93390 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35109);
93391 nit_exit(1);
93392 }
93393 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
93394 /* ./parser//parser.nit:35111 */
93395 if (UNTAG_Bool(REGB0)) {
93396 } else {
93397 fprintf(stderr, "Assert failed");
93398 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35111);
93399 nit_exit(1);
93400 }
93401 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
93402 /* ./parser//parser.nit:35113 */
93403 if (UNTAG_Bool(REGB0)) {
93404 } else {
93405 fprintf(stderr, "Assert failed");
93406 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35113);
93407 nit_exit(1);
93408 }
93409 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/;
93410 /* ./parser//parser.nit:35115 */
93411 if (UNTAG_Bool(REGB0)) {
93412 } else {
93413 fprintf(stderr, "Assert failed");
93414 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35115);
93415 nit_exit(1);
93416 }
93417 fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]);
93418 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
93419 /* ./parser//parser.nit:35120 */
93420 if (UNTAG_Bool(REGB0)) {
93421 } else {
93422 fprintf(stderr, "Assert failed");
93423 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35120);
93424 nit_exit(1);
93425 }
93426 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
93427 /* ./parser//parser.nit:35122 */
93428 if (UNTAG_Bool(REGB0)) {
93429 } else {
93430 fprintf(stderr, "Assert failed");
93431 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35122);
93432 nit_exit(1);
93433 }
93434 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
93435 fra.me.REG[0] = fra.me.REG[2];
93436 REGB0 = TAG_Int(76);
93437 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
93438 /* ./parser//parser.nit:35133 */
93439 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
93440 stack_frame_head = fra.me.prev;
93441 return;
93442 }
93443 void parser___ReduceAction870___init(val_t p0, int* init_table){
93444 int itpos874 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction870].i;
93445 struct {struct stack_frame_t me;} fra;
93446 val_t tmp;
93447 if (init_table[itpos874]) return;
93448 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93449 fra.me.file = LOCATE_parser;
93450 fra.me.line = 35135;
93451 fra.me.meth = LOCATE_parser___ReduceAction870___init;
93452 fra.me.has_broke = 0;
93453 fra.me.REG_size = 1;
93454 fra.me.REG[0] = NIT_NULL;
93455 fra.me.REG[0] = p0;
93456 /* ./parser//parser.nit:35135 */
93457 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
93458 stack_frame_head = fra.me.prev;
93459 init_table[itpos874] = 1;
93460 return;
93461 }
93462 void parser___ReduceAction871___action(val_t p0, val_t p1){
93463 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
93464 val_t REGB0;
93465 val_t tmp;
93466 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93467 fra.me.file = LOCATE_parser;
93468 fra.me.line = 35139;
93469 fra.me.meth = LOCATE_parser___ReduceAction871___action;
93470 fra.me.has_broke = 0;
93471 fra.me.REG_size = 9;
93472 fra.me.REG[0] = NIT_NULL;
93473 fra.me.REG[1] = NIT_NULL;
93474 fra.me.REG[2] = NIT_NULL;
93475 fra.me.REG[3] = NIT_NULL;
93476 fra.me.REG[4] = NIT_NULL;
93477 fra.me.REG[5] = NIT_NULL;
93478 fra.me.REG[6] = NIT_NULL;
93479 fra.me.REG[7] = NIT_NULL;
93480 fra.me.REG[8] = NIT_NULL;
93481 fra.me.REG[0] = p0;
93482 fra.me.REG[1] = p1;
93483 fra.me.REG[0] = NIT_NULL;
93484 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93485 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93486 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93487 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93488 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93489 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93490 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93491 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93492 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93493 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
93494 /* ./parser//parser.nit:35152 */
93495 if (UNTAG_Bool(REGB0)) {
93496 } else {
93497 fprintf(stderr, "Assert failed");
93498 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35152);
93499 nit_exit(1);
93500 }
93501 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
93502 /* ./parser//parser.nit:35154 */
93503 if (UNTAG_Bool(REGB0)) {
93504 } else {
93505 fprintf(stderr, "Assert failed");
93506 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35154);
93507 nit_exit(1);
93508 }
93509 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
93510 /* ./parser//parser.nit:35156 */
93511 if (UNTAG_Bool(REGB0)) {
93512 } else {
93513 fprintf(stderr, "Assert failed");
93514 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35156);
93515 nit_exit(1);
93516 }
93517 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
93518 /* ./parser//parser.nit:35158 */
93519 if (UNTAG_Bool(REGB0)) {
93520 } else {
93521 fprintf(stderr, "Assert failed");
93522 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35158);
93523 nit_exit(1);
93524 }
93525 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/;
93526 /* ./parser//parser.nit:35160 */
93527 if (UNTAG_Bool(REGB0)) {
93528 } else {
93529 fprintf(stderr, "Assert failed");
93530 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35160);
93531 nit_exit(1);
93532 }
93533 fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]);
93534 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
93535 /* ./parser//parser.nit:35165 */
93536 if (UNTAG_Bool(REGB0)) {
93537 } else {
93538 fprintf(stderr, "Assert failed");
93539 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35165);
93540 nit_exit(1);
93541 }
93542 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
93543 /* ./parser//parser.nit:35167 */
93544 if (UNTAG_Bool(REGB0)) {
93545 } else {
93546 fprintf(stderr, "Assert failed");
93547 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35167);
93548 nit_exit(1);
93549 }
93550 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
93551 fra.me.REG[0] = fra.me.REG[2];
93552 REGB0 = TAG_Int(76);
93553 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
93554 /* ./parser//parser.nit:35178 */
93555 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
93556 stack_frame_head = fra.me.prev;
93557 return;
93558 }
93559 void parser___ReduceAction871___init(val_t p0, int* init_table){
93560 int itpos875 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction871].i;
93561 struct {struct stack_frame_t me;} fra;
93562 val_t tmp;
93563 if (init_table[itpos875]) return;
93564 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93565 fra.me.file = LOCATE_parser;
93566 fra.me.line = 35180;
93567 fra.me.meth = LOCATE_parser___ReduceAction871___init;
93568 fra.me.has_broke = 0;
93569 fra.me.REG_size = 1;
93570 fra.me.REG[0] = NIT_NULL;
93571 fra.me.REG[0] = p0;
93572 /* ./parser//parser.nit:35180 */
93573 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
93574 stack_frame_head = fra.me.prev;
93575 init_table[itpos875] = 1;
93576 return;
93577 }
93578 void parser___ReduceAction872___action(val_t p0, val_t p1){
93579 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
93580 val_t REGB0;
93581 val_t tmp;
93582 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93583 fra.me.file = LOCATE_parser;
93584 fra.me.line = 35184;
93585 fra.me.meth = LOCATE_parser___ReduceAction872___action;
93586 fra.me.has_broke = 0;
93587 fra.me.REG_size = 10;
93588 fra.me.REG[0] = NIT_NULL;
93589 fra.me.REG[1] = NIT_NULL;
93590 fra.me.REG[2] = NIT_NULL;
93591 fra.me.REG[3] = NIT_NULL;
93592 fra.me.REG[4] = NIT_NULL;
93593 fra.me.REG[5] = NIT_NULL;
93594 fra.me.REG[6] = NIT_NULL;
93595 fra.me.REG[7] = NIT_NULL;
93596 fra.me.REG[8] = NIT_NULL;
93597 fra.me.REG[9] = NIT_NULL;
93598 fra.me.REG[0] = p0;
93599 fra.me.REG[1] = p1;
93600 fra.me.REG[0] = NIT_NULL;
93601 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93602 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93603 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93604 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93605 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93606 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93607 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93608 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93609 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93610 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93611 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
93612 /* ./parser//parser.nit:35198 */
93613 if (UNTAG_Bool(REGB0)) {
93614 } else {
93615 fprintf(stderr, "Assert failed");
93616 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35198);
93617 nit_exit(1);
93618 }
93619 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
93620 /* ./parser//parser.nit:35200 */
93621 if (UNTAG_Bool(REGB0)) {
93622 } else {
93623 fprintf(stderr, "Assert failed");
93624 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35200);
93625 nit_exit(1);
93626 }
93627 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
93628 /* ./parser//parser.nit:35202 */
93629 if (UNTAG_Bool(REGB0)) {
93630 } else {
93631 fprintf(stderr, "Assert failed");
93632 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35202);
93633 nit_exit(1);
93634 }
93635 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
93636 /* ./parser//parser.nit:35204 */
93637 if (UNTAG_Bool(REGB0)) {
93638 } else {
93639 fprintf(stderr, "Assert failed");
93640 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35204);
93641 nit_exit(1);
93642 }
93643 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
93644 /* ./parser//parser.nit:35206 */
93645 if (UNTAG_Bool(REGB0)) {
93646 } else {
93647 fprintf(stderr, "Assert failed");
93648 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35206);
93649 nit_exit(1);
93650 }
93651 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
93652 /* ./parser//parser.nit:35208 */
93653 if (UNTAG_Bool(REGB0)) {
93654 } else {
93655 fprintf(stderr, "Assert failed");
93656 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35208);
93657 nit_exit(1);
93658 }
93659 fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]);
93660 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
93661 /* ./parser//parser.nit:35214 */
93662 if (UNTAG_Bool(REGB0)) {
93663 } else {
93664 fprintf(stderr, "Assert failed");
93665 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35214);
93666 nit_exit(1);
93667 }
93668 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
93669 /* ./parser//parser.nit:35216 */
93670 if (UNTAG_Bool(REGB0)) {
93671 } else {
93672 fprintf(stderr, "Assert failed");
93673 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35216);
93674 nit_exit(1);
93675 }
93676 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
93677 fra.me.REG[0] = fra.me.REG[2];
93678 REGB0 = TAG_Int(76);
93679 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
93680 /* ./parser//parser.nit:35227 */
93681 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
93682 stack_frame_head = fra.me.prev;
93683 return;
93684 }
93685 void parser___ReduceAction872___init(val_t p0, int* init_table){
93686 int itpos876 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction872].i;
93687 struct {struct stack_frame_t me;} fra;
93688 val_t tmp;
93689 if (init_table[itpos876]) return;
93690 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93691 fra.me.file = LOCATE_parser;
93692 fra.me.line = 35229;
93693 fra.me.meth = LOCATE_parser___ReduceAction872___init;
93694 fra.me.has_broke = 0;
93695 fra.me.REG_size = 1;
93696 fra.me.REG[0] = NIT_NULL;
93697 fra.me.REG[0] = p0;
93698 /* ./parser//parser.nit:35229 */
93699 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
93700 stack_frame_head = fra.me.prev;
93701 init_table[itpos876] = 1;
93702 return;
93703 }
93704 void parser___ReduceAction873___action(val_t p0, val_t p1){
93705 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
93706 val_t REGB0;
93707 val_t tmp;
93708 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93709 fra.me.file = LOCATE_parser;
93710 fra.me.line = 35233;
93711 fra.me.meth = LOCATE_parser___ReduceAction873___action;
93712 fra.me.has_broke = 0;
93713 fra.me.REG_size = 9;
93714 fra.me.REG[0] = NIT_NULL;
93715 fra.me.REG[1] = NIT_NULL;
93716 fra.me.REG[2] = NIT_NULL;
93717 fra.me.REG[3] = NIT_NULL;
93718 fra.me.REG[4] = NIT_NULL;
93719 fra.me.REG[5] = NIT_NULL;
93720 fra.me.REG[6] = NIT_NULL;
93721 fra.me.REG[7] = NIT_NULL;
93722 fra.me.REG[8] = NIT_NULL;
93723 fra.me.REG[0] = p0;
93724 fra.me.REG[1] = p1;
93725 fra.me.REG[0] = NIT_NULL;
93726 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93727 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93728 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93729 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93730 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93731 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93732 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93733 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93734 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93735 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
93736 /* ./parser//parser.nit:35246 */
93737 if (UNTAG_Bool(REGB0)) {
93738 } else {
93739 fprintf(stderr, "Assert failed");
93740 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35246);
93741 nit_exit(1);
93742 }
93743 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
93744 /* ./parser//parser.nit:35248 */
93745 if (UNTAG_Bool(REGB0)) {
93746 } else {
93747 fprintf(stderr, "Assert failed");
93748 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35248);
93749 nit_exit(1);
93750 }
93751 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
93752 /* ./parser//parser.nit:35250 */
93753 if (UNTAG_Bool(REGB0)) {
93754 } else {
93755 fprintf(stderr, "Assert failed");
93756 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35250);
93757 nit_exit(1);
93758 }
93759 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
93760 /* ./parser//parser.nit:35252 */
93761 if (UNTAG_Bool(REGB0)) {
93762 } else {
93763 fprintf(stderr, "Assert failed");
93764 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35252);
93765 nit_exit(1);
93766 }
93767 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/;
93768 /* ./parser//parser.nit:35254 */
93769 if (UNTAG_Bool(REGB0)) {
93770 } else {
93771 fprintf(stderr, "Assert failed");
93772 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35254);
93773 nit_exit(1);
93774 }
93775 fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]);
93776 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
93777 /* ./parser//parser.nit:35259 */
93778 if (UNTAG_Bool(REGB0)) {
93779 } else {
93780 fprintf(stderr, "Assert failed");
93781 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35259);
93782 nit_exit(1);
93783 }
93784 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
93785 /* ./parser//parser.nit:35261 */
93786 if (UNTAG_Bool(REGB0)) {
93787 } else {
93788 fprintf(stderr, "Assert failed");
93789 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35261);
93790 nit_exit(1);
93791 }
93792 fra.me.REG[2] = NEW_AExternMethPropdef_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], fra.me.REG[2]);
93793 fra.me.REG[0] = fra.me.REG[2];
93794 REGB0 = TAG_Int(76);
93795 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
93796 /* ./parser//parser.nit:35272 */
93797 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
93798 stack_frame_head = fra.me.prev;
93799 return;
93800 }
93801 void parser___ReduceAction873___init(val_t p0, int* init_table){
93802 int itpos877 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction873].i;
93803 struct {struct stack_frame_t me;} fra;
93804 val_t tmp;
93805 if (init_table[itpos877]) return;
93806 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93807 fra.me.file = LOCATE_parser;
93808 fra.me.line = 35274;
93809 fra.me.meth = LOCATE_parser___ReduceAction873___init;
93810 fra.me.has_broke = 0;
93811 fra.me.REG_size = 1;
93812 fra.me.REG[0] = NIT_NULL;
93813 fra.me.REG[0] = p0;
93814 /* ./parser//parser.nit:35274 */
93815 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
93816 stack_frame_head = fra.me.prev;
93817 init_table[itpos877] = 1;
93818 return;
93819 }
93820 void parser___ReduceAction874___action(val_t p0, val_t p1){
93821 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
93822 val_t REGB0;
93823 val_t tmp;
93824 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93825 fra.me.file = LOCATE_parser;
93826 fra.me.line = 35278;
93827 fra.me.meth = LOCATE_parser___ReduceAction874___action;
93828 fra.me.has_broke = 0;
93829 fra.me.REG_size = 10;
93830 fra.me.REG[0] = NIT_NULL;
93831 fra.me.REG[1] = NIT_NULL;
93832 fra.me.REG[2] = NIT_NULL;
93833 fra.me.REG[3] = NIT_NULL;
93834 fra.me.REG[4] = NIT_NULL;
93835 fra.me.REG[5] = NIT_NULL;
93836 fra.me.REG[6] = NIT_NULL;
93837 fra.me.REG[7] = NIT_NULL;
93838 fra.me.REG[8] = NIT_NULL;
93839 fra.me.REG[9] = NIT_NULL;
93840 fra.me.REG[0] = p0;
93841 fra.me.REG[1] = p1;
93842 fra.me.REG[0] = NIT_NULL;
93843 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93844 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93845 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93846 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93847 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93848 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93849 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93850 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93851 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93852 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93853 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
93854 /* ./parser//parser.nit:35292 */
93855 if (UNTAG_Bool(REGB0)) {
93856 } else {
93857 fprintf(stderr, "Assert failed");
93858 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35292);
93859 nit_exit(1);
93860 }
93861 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
93862 /* ./parser//parser.nit:35294 */
93863 if (UNTAG_Bool(REGB0)) {
93864 } else {
93865 fprintf(stderr, "Assert failed");
93866 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35294);
93867 nit_exit(1);
93868 }
93869 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
93870 /* ./parser//parser.nit:35296 */
93871 if (UNTAG_Bool(REGB0)) {
93872 } else {
93873 fprintf(stderr, "Assert failed");
93874 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35296);
93875 nit_exit(1);
93876 }
93877 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
93878 /* ./parser//parser.nit:35298 */
93879 if (UNTAG_Bool(REGB0)) {
93880 } else {
93881 fprintf(stderr, "Assert failed");
93882 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35298);
93883 nit_exit(1);
93884 }
93885 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
93886 /* ./parser//parser.nit:35300 */
93887 if (UNTAG_Bool(REGB0)) {
93888 } else {
93889 fprintf(stderr, "Assert failed");
93890 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35300);
93891 nit_exit(1);
93892 }
93893 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
93894 /* ./parser//parser.nit:35302 */
93895 if (UNTAG_Bool(REGB0)) {
93896 } else {
93897 fprintf(stderr, "Assert failed");
93898 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35302);
93899 nit_exit(1);
93900 }
93901 fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]);
93902 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
93903 /* ./parser//parser.nit:35308 */
93904 if (UNTAG_Bool(REGB0)) {
93905 } else {
93906 fprintf(stderr, "Assert failed");
93907 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35308);
93908 nit_exit(1);
93909 }
93910 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
93911 /* ./parser//parser.nit:35310 */
93912 if (UNTAG_Bool(REGB0)) {
93913 } else {
93914 fprintf(stderr, "Assert failed");
93915 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35310);
93916 nit_exit(1);
93917 }
93918 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
93919 fra.me.REG[0] = fra.me.REG[2];
93920 REGB0 = TAG_Int(76);
93921 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
93922 /* ./parser//parser.nit:35321 */
93923 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
93924 stack_frame_head = fra.me.prev;
93925 return;
93926 }
93927 void parser___ReduceAction874___init(val_t p0, int* init_table){
93928 int itpos878 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction874].i;
93929 struct {struct stack_frame_t me;} fra;
93930 val_t tmp;
93931 if (init_table[itpos878]) return;
93932 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93933 fra.me.file = LOCATE_parser;
93934 fra.me.line = 35323;
93935 fra.me.meth = LOCATE_parser___ReduceAction874___init;
93936 fra.me.has_broke = 0;
93937 fra.me.REG_size = 1;
93938 fra.me.REG[0] = NIT_NULL;
93939 fra.me.REG[0] = p0;
93940 /* ./parser//parser.nit:35323 */
93941 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
93942 stack_frame_head = fra.me.prev;
93943 init_table[itpos878] = 1;
93944 return;
93945 }
93946 void parser___ReduceAction875___action(val_t p0, val_t p1){
93947 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
93948 val_t REGB0;
93949 val_t tmp;
93950 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93951 fra.me.file = LOCATE_parser;
93952 fra.me.line = 35327;
93953 fra.me.meth = LOCATE_parser___ReduceAction875___action;
93954 fra.me.has_broke = 0;
93955 fra.me.REG_size = 11;
93956 fra.me.REG[0] = NIT_NULL;
93957 fra.me.REG[1] = NIT_NULL;
93958 fra.me.REG[2] = NIT_NULL;
93959 fra.me.REG[3] = NIT_NULL;
93960 fra.me.REG[4] = NIT_NULL;
93961 fra.me.REG[5] = NIT_NULL;
93962 fra.me.REG[6] = NIT_NULL;
93963 fra.me.REG[7] = NIT_NULL;
93964 fra.me.REG[8] = NIT_NULL;
93965 fra.me.REG[9] = NIT_NULL;
93966 fra.me.REG[10] = NIT_NULL;
93967 fra.me.REG[0] = p0;
93968 fra.me.REG[1] = p1;
93969 fra.me.REG[0] = NIT_NULL;
93970 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93971 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93972 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93973 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93974 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93975 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93976 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93977 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93978 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93979 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93980 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
93981 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/;
93982 /* ./parser//parser.nit:35342 */
93983 if (UNTAG_Bool(REGB0)) {
93984 } else {
93985 fprintf(stderr, "Assert failed");
93986 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35342);
93987 nit_exit(1);
93988 }
93989 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/;
93990 /* ./parser//parser.nit:35344 */
93991 if (UNTAG_Bool(REGB0)) {
93992 } else {
93993 fprintf(stderr, "Assert failed");
93994 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35344);
93995 nit_exit(1);
93996 }
93997 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/;
93998 /* ./parser//parser.nit:35346 */
93999 if (UNTAG_Bool(REGB0)) {
94000 } else {
94001 fprintf(stderr, "Assert failed");
94002 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35346);
94003 nit_exit(1);
94004 }
94005 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/;
94006 /* ./parser//parser.nit:35348 */
94007 if (UNTAG_Bool(REGB0)) {
94008 } else {
94009 fprintf(stderr, "Assert failed");
94010 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35348);
94011 nit_exit(1);
94012 }
94013 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/;
94014 /* ./parser//parser.nit:35350 */
94015 if (UNTAG_Bool(REGB0)) {
94016 } else {
94017 fprintf(stderr, "Assert failed");
94018 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35350);
94019 nit_exit(1);
94020 }
94021 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/;
94022 /* ./parser//parser.nit:35352 */
94023 if (UNTAG_Bool(REGB0)) {
94024 } else {
94025 fprintf(stderr, "Assert failed");
94026 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35352);
94027 nit_exit(1);
94028 }
94029 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
94030 /* ./parser//parser.nit:35354 */
94031 if (UNTAG_Bool(REGB0)) {
94032 } else {
94033 fprintf(stderr, "Assert failed");
94034 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35354);
94035 nit_exit(1);
94036 }
94037 fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]);
94038 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/;
94039 /* ./parser//parser.nit:35361 */
94040 if (UNTAG_Bool(REGB0)) {
94041 } else {
94042 fprintf(stderr, "Assert failed");
94043 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35361);
94044 nit_exit(1);
94045 }
94046 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
94047 /* ./parser//parser.nit:35363 */
94048 if (UNTAG_Bool(REGB0)) {
94049 } else {
94050 fprintf(stderr, "Assert failed");
94051 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35363);
94052 nit_exit(1);
94053 }
94054 fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
94055 fra.me.REG[0] = fra.me.REG[2];
94056 REGB0 = TAG_Int(76);
94057 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
94058 /* ./parser//parser.nit:35374 */
94059 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
94060 stack_frame_head = fra.me.prev;
94061 return;
94062 }
94063 void parser___ReduceAction875___init(val_t p0, int* init_table){
94064 int itpos879 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction875].i;
94065 struct {struct stack_frame_t me;} fra;
94066 val_t tmp;
94067 if (init_table[itpos879]) return;
94068 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94069 fra.me.file = LOCATE_parser;
94070 fra.me.line = 35376;
94071 fra.me.meth = LOCATE_parser___ReduceAction875___init;
94072 fra.me.has_broke = 0;
94073 fra.me.REG_size = 1;
94074 fra.me.REG[0] = NIT_NULL;
94075 fra.me.REG[0] = p0;
94076 /* ./parser//parser.nit:35376 */
94077 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
94078 stack_frame_head = fra.me.prev;
94079 init_table[itpos879] = 1;
94080 return;
94081 }
94082 void parser___ReduceAction876___action(val_t p0, val_t p1){
94083 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
94084 val_t REGB0;
94085 val_t tmp;
94086 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94087 fra.me.file = LOCATE_parser;
94088 fra.me.line = 35380;
94089 fra.me.meth = LOCATE_parser___ReduceAction876___action;
94090 fra.me.has_broke = 0;
94091 fra.me.REG_size = 6;
94092 fra.me.REG[0] = NIT_NULL;
94093 fra.me.REG[1] = NIT_NULL;
94094 fra.me.REG[2] = NIT_NULL;
94095 fra.me.REG[3] = NIT_NULL;
94096 fra.me.REG[4] = NIT_NULL;
94097 fra.me.REG[5] = NIT_NULL;
94098 fra.me.REG[0] = p0;
94099 fra.me.REG[1] = p1;
94100 fra.me.REG[0] = NIT_NULL;
94101 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94102 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94103 fra.me.REG[4] = NEW_Array_array___Array___init();
94104 fra.me.REG[5] = NEW_Array_array___Array___init();
94105 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
94106 /* ./parser//parser.nit:35388 */
94107 if (UNTAG_Bool(REGB0)) {
94108 } else {
94109 fprintf(stderr, "Assert failed");
94110 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35388);
94111 nit_exit(1);
94112 }
94113 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
94114 /* ./parser//parser.nit:35390 */
94115 if (UNTAG_Bool(REGB0)) {
94116 } else {
94117 fprintf(stderr, "Assert failed");
94118 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35390);
94119 nit_exit(1);
94120 }
94121 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
94122 /* ./parser//parser.nit:35392 */
94123 if (UNTAG_Bool(REGB0)) {
94124 fra.me.REG[5] = fra.me.REG[2];
94125 /* ./parser//parser.nit:35393 */
94126 } else {
94127 /* ./parser//parser.nit:35395 */
94128 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
94129 }
94130 fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
94131 fra.me.REG[0] = fra.me.REG[5];
94132 REGB0 = TAG_Int(77);
94133 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
94134 /* ./parser//parser.nit:35404 */
94135 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
94136 stack_frame_head = fra.me.prev;
94137 return;
94138 }
94139 void parser___ReduceAction876___init(val_t p0, int* init_table){
94140 int itpos880 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction876].i;
94141 struct {struct stack_frame_t me;} fra;
94142 val_t tmp;
94143 if (init_table[itpos880]) return;
94144 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94145 fra.me.file = LOCATE_parser;
94146 fra.me.line = 35406;
94147 fra.me.meth = LOCATE_parser___ReduceAction876___init;
94148 fra.me.has_broke = 0;
94149 fra.me.REG_size = 1;
94150 fra.me.REG[0] = NIT_NULL;
94151 fra.me.REG[0] = p0;
94152 /* ./parser//parser.nit:35406 */
94153 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
94154 stack_frame_head = fra.me.prev;
94155 init_table[itpos880] = 1;
94156 return;
94157 }
94158 void parser___ReduceAction877___action(val_t p0, val_t p1){
94159 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
94160 val_t REGB0;
94161 val_t tmp;
94162 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94163 fra.me.file = LOCATE_parser;
94164 fra.me.line = 35410;
94165 fra.me.meth = LOCATE_parser___ReduceAction877___action;
94166 fra.me.has_broke = 0;
94167 fra.me.REG_size = 7;
94168 fra.me.REG[0] = NIT_NULL;
94169 fra.me.REG[1] = NIT_NULL;
94170 fra.me.REG[2] = NIT_NULL;
94171 fra.me.REG[3] = NIT_NULL;
94172 fra.me.REG[4] = NIT_NULL;
94173 fra.me.REG[5] = NIT_NULL;
94174 fra.me.REG[6] = NIT_NULL;
94175 fra.me.REG[0] = p0;
94176 fra.me.REG[1] = p1;
94177 fra.me.REG[0] = NIT_NULL;
94178 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94179 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94180 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94181 fra.me.REG[5] = NEW_Array_array___Array___init();
94182 fra.me.REG[6] = NEW_Array_array___Array___init();
94183 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
94184 /* ./parser//parser.nit:35419 */
94185 if (UNTAG_Bool(REGB0)) {
94186 } else {
94187 fprintf(stderr, "Assert failed");
94188 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35419);
94189 nit_exit(1);
94190 }
94191 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
94192 /* ./parser//parser.nit:35421 */
94193 if (UNTAG_Bool(REGB0)) {
94194 fra.me.REG[5] = fra.me.REG[4];
94195 /* ./parser//parser.nit:35422 */
94196 } else {
94197 /* ./parser//parser.nit:35424 */
94198 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
94199 }
94200 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
94201 /* ./parser//parser.nit:35428 */
94202 if (UNTAG_Bool(REGB0)) {
94203 } else {
94204 fprintf(stderr, "Assert failed");
94205 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35428);
94206 nit_exit(1);
94207 }
94208 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
94209 /* ./parser//parser.nit:35430 */
94210 if (UNTAG_Bool(REGB0)) {
94211 } else {
94212 fprintf(stderr, "Assert failed");
94213 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35430);
94214 nit_exit(1);
94215 }
94216 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
94217 /* ./parser//parser.nit:35432 */
94218 if (UNTAG_Bool(REGB0)) {
94219 fra.me.REG[6] = fra.me.REG[2];
94220 /* ./parser//parser.nit:35433 */
94221 } else {
94222 /* ./parser//parser.nit:35435 */
94223 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
94224 }
94225 fra.me.REG[6] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[3], fra.me.REG[6]);
94226 fra.me.REG[0] = fra.me.REG[6];
94227 REGB0 = TAG_Int(77);
94228 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
94229 /* ./parser//parser.nit:35444 */
94230 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
94231 stack_frame_head = fra.me.prev;
94232 return;
94233 }
94234 void parser___ReduceAction877___init(val_t p0, int* init_table){
94235 int itpos881 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction877].i;
94236 struct {struct stack_frame_t me;} fra;
94237 val_t tmp;
94238 if (init_table[itpos881]) return;
94239 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94240 fra.me.file = LOCATE_parser;
94241 fra.me.line = 35446;
94242 fra.me.meth = LOCATE_parser___ReduceAction877___init;
94243 fra.me.has_broke = 0;
94244 fra.me.REG_size = 1;
94245 fra.me.REG[0] = NIT_NULL;
94246 fra.me.REG[0] = p0;
94247 /* ./parser//parser.nit:35446 */
94248 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
94249 stack_frame_head = fra.me.prev;
94250 init_table[itpos881] = 1;
94251 return;
94252 }
94253 void parser___ReduceAction878___action(val_t p0, val_t p1){
94254 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
94255 val_t REGB0;
94256 val_t tmp;
94257 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94258 fra.me.file = LOCATE_parser;
94259 fra.me.line = 35450;
94260 fra.me.meth = LOCATE_parser___ReduceAction878___action;
94261 fra.me.has_broke = 0;
94262 fra.me.REG_size = 5;
94263 fra.me.REG[0] = NIT_NULL;
94264 fra.me.REG[1] = NIT_NULL;
94265 fra.me.REG[2] = NIT_NULL;
94266 fra.me.REG[3] = NIT_NULL;
94267 fra.me.REG[4] = NIT_NULL;
94268 fra.me.REG[0] = p0;
94269 fra.me.REG[1] = p1;
94270 fra.me.REG[0] = NIT_NULL;
94271 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94272 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94273 fra.me.REG[3] = NEW_Array_array___Array___init();
94274 fra.me.REG[4] = NEW_Array_array___Array___init();
94275 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
94276 /* ./parser//parser.nit:35458 */
94277 if (UNTAG_Bool(REGB0)) {
94278 } else {
94279 fprintf(stderr, "Assert failed");
94280 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35458);
94281 nit_exit(1);
94282 }
94283 fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], fra.me.REG[2], fra.me.REG[4]);
94284 fra.me.REG[0] = fra.me.REG[4];
94285 REGB0 = TAG_Int(77);
94286 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
94287 /* ./parser//parser.nit:35465 */
94288 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
94289 stack_frame_head = fra.me.prev;
94290 return;
94291 }
94292 void parser___ReduceAction878___init(val_t p0, int* init_table){
94293 int itpos882 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction878].i;
94294 struct {struct stack_frame_t me;} fra;
94295 val_t tmp;
94296 if (init_table[itpos882]) return;
94297 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94298 fra.me.file = LOCATE_parser;
94299 fra.me.line = 35467;
94300 fra.me.meth = LOCATE_parser___ReduceAction878___init;
94301 fra.me.has_broke = 0;
94302 fra.me.REG_size = 1;
94303 fra.me.REG[0] = NIT_NULL;
94304 fra.me.REG[0] = p0;
94305 /* ./parser//parser.nit:35467 */
94306 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
94307 stack_frame_head = fra.me.prev;
94308 init_table[itpos882] = 1;
94309 return;
94310 }
94311 void parser___ReduceAction879___action(val_t p0, val_t p1){
94312 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
94313 val_t REGB0;
94314 val_t tmp;
94315 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94316 fra.me.file = LOCATE_parser;
94317 fra.me.line = 35471;
94318 fra.me.meth = LOCATE_parser___ReduceAction879___action;
94319 fra.me.has_broke = 0;
94320 fra.me.REG_size = 6;
94321 fra.me.REG[0] = NIT_NULL;
94322 fra.me.REG[1] = NIT_NULL;
94323 fra.me.REG[2] = NIT_NULL;
94324 fra.me.REG[3] = NIT_NULL;
94325 fra.me.REG[4] = NIT_NULL;
94326 fra.me.REG[5] = NIT_NULL;
94327 fra.me.REG[0] = p0;
94328 fra.me.REG[1] = p1;
94329 fra.me.REG[0] = NIT_NULL;
94330 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94331 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94332 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94333 fra.me.REG[4] = NEW_Array_array___Array___init();
94334 fra.me.REG[5] = NEW_Array_array___Array___init();
94335 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
94336 /* ./parser//parser.nit:35480 */
94337 if (UNTAG_Bool(REGB0)) {
94338 } else {
94339 fprintf(stderr, "Assert failed");
94340 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35480);
94341 nit_exit(1);
94342 }
94343 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
94344 /* ./parser//parser.nit:35482 */
94345 if (UNTAG_Bool(REGB0)) {
94346 fra.me.REG[4] = fra.me.REG[3];
94347 /* ./parser//parser.nit:35483 */
94348 } else {
94349 /* ./parser//parser.nit:35485 */
94350 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
94351 }
94352 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
94353 /* ./parser//parser.nit:35489 */
94354 if (UNTAG_Bool(REGB0)) {
94355 } else {
94356 fprintf(stderr, "Assert failed");
94357 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35489);
94358 nit_exit(1);
94359 }
94360 fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[2], fra.me.REG[5]);
94361 fra.me.REG[0] = fra.me.REG[5];
94362 REGB0 = TAG_Int(77);
94363 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
94364 /* ./parser//parser.nit:35496 */
94365 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
94366 stack_frame_head = fra.me.prev;
94367 return;
94368 }
94369 void parser___ReduceAction879___init(val_t p0, int* init_table){
94370 int itpos883 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction879].i;
94371 struct {struct stack_frame_t me;} fra;
94372 val_t tmp;
94373 if (init_table[itpos883]) return;
94374 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94375 fra.me.file = LOCATE_parser;
94376 fra.me.line = 35498;
94377 fra.me.meth = LOCATE_parser___ReduceAction879___init;
94378 fra.me.has_broke = 0;
94379 fra.me.REG_size = 1;
94380 fra.me.REG[0] = NIT_NULL;
94381 fra.me.REG[0] = p0;
94382 /* ./parser//parser.nit:35498 */
94383 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
94384 stack_frame_head = fra.me.prev;
94385 init_table[itpos883] = 1;
94386 return;
94387 }
94388 void parser___ReduceAction880___action(val_t p0, val_t p1){
94389 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
94390 val_t REGB0;
94391 val_t tmp;
94392 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94393 fra.me.file = LOCATE_parser;
94394 fra.me.line = 35502;
94395 fra.me.meth = LOCATE_parser___ReduceAction880___action;
94396 fra.me.has_broke = 0;
94397 fra.me.REG_size = 4;
94398 fra.me.REG[0] = NIT_NULL;
94399 fra.me.REG[1] = NIT_NULL;
94400 fra.me.REG[2] = NIT_NULL;
94401 fra.me.REG[3] = NIT_NULL;
94402 fra.me.REG[0] = p0;
94403 fra.me.REG[1] = p1;
94404 fra.me.REG[0] = NIT_NULL;
94405 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94406 fra.me.REG[3] = NEW_Array_array___Array___init();
94407 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
94408 /* ./parser//parser.nit:35508 */
94409 if (UNTAG_Bool(REGB0)) {
94410 } else {
94411 fprintf(stderr, "Assert failed");
94412 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35508);
94413 nit_exit(1);
94414 }
94415 fra.me.REG[3] = NEW_AType_parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[2], fra.me.REG[3]);
94416 fra.me.REG[0] = fra.me.REG[3];
94417 REGB0 = TAG_Int(78);
94418 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
94419 /* ./parser//parser.nit:35515 */
94420 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
94421 stack_frame_head = fra.me.prev;
94422 return;
94423 }
94424 void parser___ReduceAction880___init(val_t p0, int* init_table){
94425 int itpos884 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction880].i;
94426 struct {struct stack_frame_t me;} fra;
94427 val_t tmp;
94428 if (init_table[itpos884]) return;
94429 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94430 fra.me.file = LOCATE_parser;
94431 fra.me.line = 35517;
94432 fra.me.meth = LOCATE_parser___ReduceAction880___init;
94433 fra.me.has_broke = 0;
94434 fra.me.REG_size = 1;
94435 fra.me.REG[0] = NIT_NULL;
94436 fra.me.REG[0] = p0;
94437 /* ./parser//parser.nit:35517 */
94438 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
94439 stack_frame_head = fra.me.prev;
94440 init_table[itpos884] = 1;
94441 return;
94442 }
94443 void parser___ReduceAction881___action(val_t p0, val_t p1){
94444 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
94445 val_t REGB0;
94446 val_t tmp;
94447 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94448 fra.me.file = LOCATE_parser;
94449 fra.me.line = 35521;
94450 fra.me.meth = LOCATE_parser___ReduceAction881___action;
94451 fra.me.has_broke = 0;
94452 fra.me.REG_size = 5;
94453 fra.me.REG[0] = NIT_NULL;
94454 fra.me.REG[1] = NIT_NULL;
94455 fra.me.REG[2] = NIT_NULL;
94456 fra.me.REG[3] = NIT_NULL;
94457 fra.me.REG[4] = NIT_NULL;
94458 fra.me.REG[0] = p0;
94459 fra.me.REG[1] = p1;
94460 fra.me.REG[0] = NIT_NULL;
94461 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94462 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94463 fra.me.REG[4] = NEW_Array_array___Array___init();
94464 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnullable, ID_TKwnullable)) /*cast nullable TKwnullable*/;
94465 /* ./parser//parser.nit:35528 */
94466 if (UNTAG_Bool(REGB0)) {
94467 } else {
94468 fprintf(stderr, "Assert failed");
94469 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35528);
94470 nit_exit(1);
94471 }
94472 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/;
94473 /* ./parser//parser.nit:35530 */
94474 if (UNTAG_Bool(REGB0)) {
94475 } else {
94476 fprintf(stderr, "Assert failed");
94477 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35530);
94478 nit_exit(1);
94479 }
94480 fra.me.REG[4] = NEW_AType_parser_prod___AType___init_atype(fra.me.REG[3], fra.me.REG[2], fra.me.REG[4]);
94481 fra.me.REG[0] = fra.me.REG[4];
94482 REGB0 = TAG_Int(78);
94483 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
94484 /* ./parser//parser.nit:35537 */
94485 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
94486 stack_frame_head = fra.me.prev;
94487 return;
94488 }
94489 void parser___ReduceAction881___init(val_t p0, int* init_table){
94490 int itpos885 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction881].i;
94491 struct {struct stack_frame_t me;} fra;
94492 val_t tmp;
94493 if (init_table[itpos885]) return;
94494 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94495 fra.me.file = LOCATE_parser;
94496 fra.me.line = 35539;
94497 fra.me.meth = LOCATE_parser___ReduceAction881___init;
94498 fra.me.has_broke = 0;
94499 fra.me.REG_size = 1;
94500 fra.me.REG[0] = NIT_NULL;
94501 fra.me.REG[0] = p0;
94502 /* ./parser//parser.nit:35539 */
94503 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
94504 stack_frame_head = fra.me.prev;
94505 init_table[itpos885] = 1;
94506 return;
94507 }
94508 void parser___ReduceAction882___action(val_t p0, val_t p1){
94509 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
94510 val_t REGB0;
94511 val_t tmp;
94512 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94513 fra.me.file = LOCATE_parser;
94514 fra.me.line = 35543;
94515 fra.me.meth = LOCATE_parser___ReduceAction882___action;
94516 fra.me.has_broke = 0;
94517 fra.me.REG_size = 3;
94518 fra.me.REG[0] = NIT_NULL;
94519 fra.me.REG[1] = NIT_NULL;
94520 fra.me.REG[2] = NIT_NULL;
94521 fra.me.REG[0] = p0;
94522 fra.me.REG[1] = p1;
94523 fra.me.REG[0] = NIT_NULL;
94524 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94525 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
94526 /* ./parser//parser.nit:35548 */
94527 if (UNTAG_Bool(REGB0)) {
94528 } else {
94529 fprintf(stderr, "Assert failed");
94530 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35548);
94531 nit_exit(1);
94532 }
94533 fra.me.REG[0] = fra.me.REG[2];
94534 REGB0 = TAG_Int(79);
94535 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
94536 /* ./parser//parser.nit:35550 */
94537 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
94538 stack_frame_head = fra.me.prev;
94539 return;
94540 }
94541 void parser___ReduceAction882___init(val_t p0, int* init_table){
94542 int itpos886 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction882].i;
94543 struct {struct stack_frame_t me;} fra;
94544 val_t tmp;
94545 if (init_table[itpos886]) return;
94546 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94547 fra.me.file = LOCATE_parser;
94548 fra.me.line = 35552;
94549 fra.me.meth = LOCATE_parser___ReduceAction882___init;
94550 fra.me.has_broke = 0;
94551 fra.me.REG_size = 1;
94552 fra.me.REG[0] = NIT_NULL;
94553 fra.me.REG[0] = p0;
94554 /* ./parser//parser.nit:35552 */
94555 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
94556 stack_frame_head = fra.me.prev;
94557 init_table[itpos886] = 1;
94558 return;
94559 }
94560 void parser___ReduceAction883___action(val_t p0, val_t p1){
94561 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
94562 val_t REGB0;
94563 val_t tmp;
94564 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94565 fra.me.file = LOCATE_parser;
94566 fra.me.line = 35556;
94567 fra.me.meth = LOCATE_parser___ReduceAction883___action;
94568 fra.me.has_broke = 0;
94569 fra.me.REG_size = 8;
94570 fra.me.REG[0] = NIT_NULL;
94571 fra.me.REG[1] = NIT_NULL;
94572 fra.me.REG[2] = NIT_NULL;
94573 fra.me.REG[3] = NIT_NULL;
94574 fra.me.REG[4] = NIT_NULL;
94575 fra.me.REG[5] = NIT_NULL;
94576 fra.me.REG[6] = NIT_NULL;
94577 fra.me.REG[7] = NIT_NULL;
94578 fra.me.REG[0] = p0;
94579 fra.me.REG[1] = p1;
94580 fra.me.REG[0] = NIT_NULL;
94581 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94582 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94583 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94584 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94585 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94586 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94587 fra.me.REG[6] = NEW_Array_array___Array___init();
94588 fra.me.REG[7] = NEW_Array_array___Array___init();
94589 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
94590 /* ./parser//parser.nit:35568 */
94591 if (UNTAG_Bool(REGB0)) {
94592 } else {
94593 fprintf(stderr, "Assert failed");
94594 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35568);
94595 nit_exit(1);
94596 }
94597 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
94598 /* ./parser//parser.nit:35570 */
94599 if (UNTAG_Bool(REGB0)) {
94600 } else {
94601 fprintf(stderr, "Assert failed");
94602 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35570);
94603 nit_exit(1);
94604 }
94605 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
94606 /* ./parser//parser.nit:35572 */
94607 if (UNTAG_Bool(REGB0)) {
94608 } else {
94609 fprintf(stderr, "Assert failed");
94610 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35572);
94611 nit_exit(1);
94612 }
94613 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
94614 /* ./parser//parser.nit:35574 */
94615 if (UNTAG_Bool(REGB0)) {
94616 fra.me.REG[6] = fra.me.REG[3];
94617 /* ./parser//parser.nit:35575 */
94618 } else {
94619 /* ./parser//parser.nit:35577 */
94620 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
94621 }
94622 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
94623 /* ./parser//parser.nit:35581 */
94624 if (UNTAG_Bool(REGB0)) {
94625 } else {
94626 fprintf(stderr, "Assert failed");
94627 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35581);
94628 nit_exit(1);
94629 }
94630 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
94631 /* ./parser//parser.nit:35583 */
94632 if (UNTAG_Bool(REGB0)) {
94633 fra.me.REG[7] = fra.me.REG[2];
94634 /* ./parser//parser.nit:35584 */
94635 } else {
94636 /* ./parser//parser.nit:35586 */
94637 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]);
94638 }
94639 fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]);
94640 fra.me.REG[0] = fra.me.REG[7];
94641 REGB0 = TAG_Int(79);
94642 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
94643 /* ./parser//parser.nit:35596 */
94644 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
94645 stack_frame_head = fra.me.prev;
94646 return;
94647 }
94648 void parser___ReduceAction883___init(val_t p0, int* init_table){
94649 int itpos887 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction883].i;
94650 struct {struct stack_frame_t me;} fra;
94651 val_t tmp;
94652 if (init_table[itpos887]) return;
94653 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94654 fra.me.file = LOCATE_parser;
94655 fra.me.line = 35598;
94656 fra.me.meth = LOCATE_parser___ReduceAction883___init;
94657 fra.me.has_broke = 0;
94658 fra.me.REG_size = 1;
94659 fra.me.REG[0] = NIT_NULL;
94660 fra.me.REG[0] = p0;
94661 /* ./parser//parser.nit:35598 */
94662 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
94663 stack_frame_head = fra.me.prev;
94664 init_table[itpos887] = 1;
94665 return;
94666 }
94667 void parser___ReduceAction884___action(val_t p0, val_t p1){
94668 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
94669 val_t REGB0;
94670 val_t tmp;
94671 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94672 fra.me.file = LOCATE_parser;
94673 fra.me.line = 35602;
94674 fra.me.meth = LOCATE_parser___ReduceAction884___action;
94675 fra.me.has_broke = 0;
94676 fra.me.REG_size = 8;
94677 fra.me.REG[0] = NIT_NULL;
94678 fra.me.REG[1] = NIT_NULL;
94679 fra.me.REG[2] = NIT_NULL;
94680 fra.me.REG[3] = NIT_NULL;
94681 fra.me.REG[4] = NIT_NULL;
94682 fra.me.REG[5] = NIT_NULL;
94683 fra.me.REG[6] = NIT_NULL;
94684 fra.me.REG[7] = NIT_NULL;
94685 fra.me.REG[0] = p0;
94686 fra.me.REG[1] = p1;
94687 fra.me.REG[0] = NIT_NULL;
94688 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94689 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94690 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94691 fra.me.REG[5] = NEW_Array_array___Array___init();
94692 fra.me.REG[6] = NEW_Array_array___Array___init();
94693 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
94694 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
94695 /* ./parser//parser.nit:35613 */
94696 if (UNTAG_Bool(REGB0)) {
94697 } else {
94698 fprintf(stderr, "Assert failed");
94699 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35613);
94700 nit_exit(1);
94701 }
94702 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
94703 /* ./parser//parser.nit:35615 */
94704 if (UNTAG_Bool(REGB0)) {
94705 } else {
94706 fprintf(stderr, "Assert failed");
94707 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35615);
94708 nit_exit(1);
94709 }
94710 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
94711 /* ./parser//parser.nit:35617 */
94712 if (UNTAG_Bool(REGB0)) {
94713 fra.me.REG[5] = fra.me.REG[3];
94714 /* ./parser//parser.nit:35618 */
94715 } else {
94716 /* ./parser//parser.nit:35620 */
94717 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
94718 }
94719 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
94720 /* ./parser//parser.nit:35624 */
94721 if (UNTAG_Bool(REGB0)) {
94722 } else {
94723 fprintf(stderr, "Assert failed");
94724 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35624);
94725 nit_exit(1);
94726 }
94727 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
94728 /* ./parser//parser.nit:35626 */
94729 if (UNTAG_Bool(REGB0)) {
94730 fra.me.REG[6] = fra.me.REG[2];
94731 /* ./parser//parser.nit:35627 */
94732 } else {
94733 /* ./parser//parser.nit:35629 */
94734 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
94735 }
94736 fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
94737 fra.me.REG[0] = fra.me.REG[6];
94738 REGB0 = TAG_Int(79);
94739 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
94740 /* ./parser//parser.nit:35639 */
94741 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
94742 stack_frame_head = fra.me.prev;
94743 return;
94744 }
94745 void parser___ReduceAction884___init(val_t p0, int* init_table){
94746 int itpos888 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction884].i;
94747 struct {struct stack_frame_t me;} fra;
94748 val_t tmp;
94749 if (init_table[itpos888]) return;
94750 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94751 fra.me.file = LOCATE_parser;
94752 fra.me.line = 35641;
94753 fra.me.meth = LOCATE_parser___ReduceAction884___init;
94754 fra.me.has_broke = 0;
94755 fra.me.REG_size = 1;
94756 fra.me.REG[0] = NIT_NULL;
94757 fra.me.REG[0] = p0;
94758 /* ./parser//parser.nit:35641 */
94759 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
94760 stack_frame_head = fra.me.prev;
94761 init_table[itpos888] = 1;
94762 return;
94763 }
94764 void parser___ReduceAction885___action(val_t p0, val_t p1){
94765 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
94766 val_t REGB0;
94767 val_t tmp;
94768 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94769 fra.me.file = LOCATE_parser;
94770 fra.me.line = 35645;
94771 fra.me.meth = LOCATE_parser___ReduceAction885___action;
94772 fra.me.has_broke = 0;
94773 fra.me.REG_size = 3;
94774 fra.me.REG[0] = NIT_NULL;
94775 fra.me.REG[1] = NIT_NULL;
94776 fra.me.REG[2] = NIT_NULL;
94777 fra.me.REG[0] = p0;
94778 fra.me.REG[1] = p1;
94779 fra.me.REG[0] = NIT_NULL;
94780 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94781 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
94782 /* ./parser//parser.nit:35650 */
94783 if (UNTAG_Bool(REGB0)) {
94784 } else {
94785 fprintf(stderr, "Assert failed");
94786 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35650);
94787 nit_exit(1);
94788 }
94789 fra.me.REG[0] = fra.me.REG[2];
94790 REGB0 = TAG_Int(80);
94791 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
94792 /* ./parser//parser.nit:35652 */
94793 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
94794 stack_frame_head = fra.me.prev;
94795 return;
94796 }
94797 void parser___ReduceAction885___init(val_t p0, int* init_table){
94798 int itpos889 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction885].i;
94799 struct {struct stack_frame_t me;} fra;
94800 val_t tmp;
94801 if (init_table[itpos889]) return;
94802 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94803 fra.me.file = LOCATE_parser;
94804 fra.me.line = 35654;
94805 fra.me.meth = LOCATE_parser___ReduceAction885___init;
94806 fra.me.has_broke = 0;
94807 fra.me.REG_size = 1;
94808 fra.me.REG[0] = NIT_NULL;
94809 fra.me.REG[0] = p0;
94810 /* ./parser//parser.nit:35654 */
94811 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
94812 stack_frame_head = fra.me.prev;
94813 init_table[itpos889] = 1;
94814 return;
94815 }
94816 void parser___ReduceAction886___action(val_t p0, val_t p1){
94817 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
94818 val_t REGB0;
94819 val_t tmp;
94820 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94821 fra.me.file = LOCATE_parser;
94822 fra.me.line = 35658;
94823 fra.me.meth = LOCATE_parser___ReduceAction886___action;
94824 fra.me.has_broke = 0;
94825 fra.me.REG_size = 8;
94826 fra.me.REG[0] = NIT_NULL;
94827 fra.me.REG[1] = NIT_NULL;
94828 fra.me.REG[2] = NIT_NULL;
94829 fra.me.REG[3] = NIT_NULL;
94830 fra.me.REG[4] = NIT_NULL;
94831 fra.me.REG[5] = NIT_NULL;
94832 fra.me.REG[6] = NIT_NULL;
94833 fra.me.REG[7] = NIT_NULL;
94834 fra.me.REG[0] = p0;
94835 fra.me.REG[1] = p1;
94836 fra.me.REG[0] = NIT_NULL;
94837 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94838 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94839 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94840 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94841 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94842 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94843 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94844 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94845 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94846 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94847 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94848 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/;
94849 /* ./parser//parser.nit:35673 */
94850 if (UNTAG_Bool(REGB0)) {
94851 } else {
94852 fprintf(stderr, "Assert failed");
94853 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35673);
94854 nit_exit(1);
94855 }
94856 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
94857 /* ./parser//parser.nit:35675 */
94858 if (UNTAG_Bool(REGB0)) {
94859 } else {
94860 fprintf(stderr, "Assert failed");
94861 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35675);
94862 nit_exit(1);
94863 }
94864 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwthen, ID_TKwthen)) /*cast nullable TKwthen*/;
94865 /* ./parser//parser.nit:35677 */
94866 if (UNTAG_Bool(REGB0)) {
94867 } else {
94868 fprintf(stderr, "Assert failed");
94869 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35677);
94870 nit_exit(1);
94871 }
94872 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
94873 /* ./parser//parser.nit:35679 */
94874 if (UNTAG_Bool(REGB0)) {
94875 } else {
94876 fprintf(stderr, "Assert failed");
94877 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35679);
94878 nit_exit(1);
94879 }
94880 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwelse, ID_TKwelse)) /*cast nullable TKwelse*/;
94881 /* ./parser//parser.nit:35681 */
94882 if (UNTAG_Bool(REGB0)) {
94883 } else {
94884 fprintf(stderr, "Assert failed");
94885 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35681);
94886 nit_exit(1);
94887 }
94888 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
94889 /* ./parser//parser.nit:35683 */
94890 if (UNTAG_Bool(REGB0)) {
94891 } else {
94892 fprintf(stderr, "Assert failed");
94893 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35683);
94894 nit_exit(1);
94895 }
94896 fra.me.REG[2] = NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
94897 fra.me.REG[0] = fra.me.REG[2];
94898 REGB0 = TAG_Int(80);
94899 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
94900 /* ./parser//parser.nit:35693 */
94901 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
94902 stack_frame_head = fra.me.prev;
94903 return;
94904 }
94905 void parser___ReduceAction886___init(val_t p0, int* init_table){
94906 int itpos890 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction886].i;
94907 struct {struct stack_frame_t me;} fra;
94908 val_t tmp;
94909 if (init_table[itpos890]) return;
94910 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94911 fra.me.file = LOCATE_parser;
94912 fra.me.line = 35695;
94913 fra.me.meth = LOCATE_parser___ReduceAction886___init;
94914 fra.me.has_broke = 0;
94915 fra.me.REG_size = 1;
94916 fra.me.REG[0] = NIT_NULL;
94917 fra.me.REG[0] = p0;
94918 /* ./parser//parser.nit:35695 */
94919 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
94920 stack_frame_head = fra.me.prev;
94921 init_table[itpos890] = 1;
94922 return;
94923 }
94924 void parser___ReduceAction887___action(val_t p0, val_t p1){
94925 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
94926 val_t REGB0;
94927 val_t tmp;
94928 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94929 fra.me.file = LOCATE_parser;
94930 fra.me.line = 35699;
94931 fra.me.meth = LOCATE_parser___ReduceAction887___action;
94932 fra.me.has_broke = 0;
94933 fra.me.REG_size = 3;
94934 fra.me.REG[0] = NIT_NULL;
94935 fra.me.REG[1] = NIT_NULL;
94936 fra.me.REG[2] = NIT_NULL;
94937 fra.me.REG[0] = p0;
94938 fra.me.REG[1] = p1;
94939 fra.me.REG[0] = NIT_NULL;
94940 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94941 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
94942 /* ./parser//parser.nit:35704 */
94943 if (UNTAG_Bool(REGB0)) {
94944 } else {
94945 fprintf(stderr, "Assert failed");
94946 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35704);
94947 nit_exit(1);
94948 }
94949 fra.me.REG[0] = fra.me.REG[2];
94950 REGB0 = TAG_Int(81);
94951 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
94952 /* ./parser//parser.nit:35706 */
94953 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
94954 stack_frame_head = fra.me.prev;
94955 return;
94956 }
94957 void parser___ReduceAction887___init(val_t p0, int* init_table){
94958 int itpos891 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction887].i;
94959 struct {struct stack_frame_t me;} fra;
94960 val_t tmp;
94961 if (init_table[itpos891]) return;
94962 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94963 fra.me.file = LOCATE_parser;
94964 fra.me.line = 35708;
94965 fra.me.meth = LOCATE_parser___ReduceAction887___init;
94966 fra.me.has_broke = 0;
94967 fra.me.REG_size = 1;
94968 fra.me.REG[0] = NIT_NULL;
94969 fra.me.REG[0] = p0;
94970 /* ./parser//parser.nit:35708 */
94971 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
94972 stack_frame_head = fra.me.prev;
94973 init_table[itpos891] = 1;
94974 return;
94975 }
94976 void parser___ReduceAction888___action(val_t p0, val_t p1){
94977 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
94978 val_t REGB0;
94979 val_t tmp;
94980 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94981 fra.me.file = LOCATE_parser;
94982 fra.me.line = 35712;
94983 fra.me.meth = LOCATE_parser___ReduceAction888___action;
94984 fra.me.has_broke = 0;
94985 fra.me.REG_size = 4;
94986 fra.me.REG[0] = NIT_NULL;
94987 fra.me.REG[1] = NIT_NULL;
94988 fra.me.REG[2] = NIT_NULL;
94989 fra.me.REG[3] = NIT_NULL;
94990 fra.me.REG[0] = p0;
94991 fra.me.REG[1] = p1;
94992 fra.me.REG[0] = NIT_NULL;
94993 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94994 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94995 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94996 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
94997 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
94998 /* ./parser//parser.nit:35720 */
94999 if (UNTAG_Bool(REGB0)) {
95000 } else {
95001 fprintf(stderr, "Assert failed");
95002 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35720);
95003 nit_exit(1);
95004 }
95005 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95006 /* ./parser//parser.nit:35722 */
95007 if (UNTAG_Bool(REGB0)) {
95008 } else {
95009 fprintf(stderr, "Assert failed");
95010 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35722);
95011 nit_exit(1);
95012 }
95013 fra.me.REG[2] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr(fra.me.REG[3], fra.me.REG[2]);
95014 fra.me.REG[0] = fra.me.REG[2];
95015 REGB0 = TAG_Int(81);
95016 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
95017 /* ./parser//parser.nit:35728 */
95018 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
95019 stack_frame_head = fra.me.prev;
95020 return;
95021 }
95022 void parser___ReduceAction888___init(val_t p0, int* init_table){
95023 int itpos892 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction888].i;
95024 struct {struct stack_frame_t me;} fra;
95025 val_t tmp;
95026 if (init_table[itpos892]) return;
95027 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95028 fra.me.file = LOCATE_parser;
95029 fra.me.line = 35730;
95030 fra.me.meth = LOCATE_parser___ReduceAction888___init;
95031 fra.me.has_broke = 0;
95032 fra.me.REG_size = 1;
95033 fra.me.REG[0] = NIT_NULL;
95034 fra.me.REG[0] = p0;
95035 /* ./parser//parser.nit:35730 */
95036 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
95037 stack_frame_head = fra.me.prev;
95038 init_table[itpos892] = 1;
95039 return;
95040 }
95041 void parser___ReduceAction889___action(val_t p0, val_t p1){
95042 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
95043 val_t REGB0;
95044 val_t tmp;
95045 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95046 fra.me.file = LOCATE_parser;
95047 fra.me.line = 35734;
95048 fra.me.meth = LOCATE_parser___ReduceAction889___action;
95049 fra.me.has_broke = 0;
95050 fra.me.REG_size = 4;
95051 fra.me.REG[0] = NIT_NULL;
95052 fra.me.REG[1] = NIT_NULL;
95053 fra.me.REG[2] = NIT_NULL;
95054 fra.me.REG[3] = NIT_NULL;
95055 fra.me.REG[0] = p0;
95056 fra.me.REG[1] = p1;
95057 fra.me.REG[0] = NIT_NULL;
95058 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95059 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95060 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95061 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95062 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95063 /* ./parser//parser.nit:35742 */
95064 if (UNTAG_Bool(REGB0)) {
95065 } else {
95066 fprintf(stderr, "Assert failed");
95067 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35742);
95068 nit_exit(1);
95069 }
95070 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95071 /* ./parser//parser.nit:35744 */
95072 if (UNTAG_Bool(REGB0)) {
95073 } else {
95074 fprintf(stderr, "Assert failed");
95075 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35744);
95076 nit_exit(1);
95077 }
95078 fra.me.REG[2] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr(fra.me.REG[3], fra.me.REG[2]);
95079 fra.me.REG[0] = fra.me.REG[2];
95080 REGB0 = TAG_Int(81);
95081 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
95082 /* ./parser//parser.nit:35750 */
95083 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
95084 stack_frame_head = fra.me.prev;
95085 return;
95086 }
95087 void parser___ReduceAction889___init(val_t p0, int* init_table){
95088 int itpos893 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction889].i;
95089 struct {struct stack_frame_t me;} fra;
95090 val_t tmp;
95091 if (init_table[itpos893]) return;
95092 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95093 fra.me.file = LOCATE_parser;
95094 fra.me.line = 35752;
95095 fra.me.meth = LOCATE_parser___ReduceAction889___init;
95096 fra.me.has_broke = 0;
95097 fra.me.REG_size = 1;
95098 fra.me.REG[0] = NIT_NULL;
95099 fra.me.REG[0] = p0;
95100 /* ./parser//parser.nit:35752 */
95101 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
95102 stack_frame_head = fra.me.prev;
95103 init_table[itpos893] = 1;
95104 return;
95105 }
95106 void parser___ReduceAction890___action(val_t p0, val_t p1){
95107 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
95108 val_t REGB0;
95109 val_t tmp;
95110 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95111 fra.me.file = LOCATE_parser;
95112 fra.me.line = 35756;
95113 fra.me.meth = LOCATE_parser___ReduceAction890___action;
95114 fra.me.has_broke = 0;
95115 fra.me.REG_size = 3;
95116 fra.me.REG[0] = NIT_NULL;
95117 fra.me.REG[1] = NIT_NULL;
95118 fra.me.REG[2] = NIT_NULL;
95119 fra.me.REG[0] = p0;
95120 fra.me.REG[1] = p1;
95121 fra.me.REG[0] = NIT_NULL;
95122 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95123 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95124 /* ./parser//parser.nit:35761 */
95125 if (UNTAG_Bool(REGB0)) {
95126 } else {
95127 fprintf(stderr, "Assert failed");
95128 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35761);
95129 nit_exit(1);
95130 }
95131 fra.me.REG[0] = fra.me.REG[2];
95132 REGB0 = TAG_Int(82);
95133 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
95134 /* ./parser//parser.nit:35763 */
95135 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
95136 stack_frame_head = fra.me.prev;
95137 return;
95138 }
95139 void parser___ReduceAction890___init(val_t p0, int* init_table){
95140 int itpos894 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction890].i;
95141 struct {struct stack_frame_t me;} fra;
95142 val_t tmp;
95143 if (init_table[itpos894]) return;
95144 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95145 fra.me.file = LOCATE_parser;
95146 fra.me.line = 35765;
95147 fra.me.meth = LOCATE_parser___ReduceAction890___init;
95148 fra.me.has_broke = 0;
95149 fra.me.REG_size = 1;
95150 fra.me.REG[0] = NIT_NULL;
95151 fra.me.REG[0] = p0;
95152 /* ./parser//parser.nit:35765 */
95153 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
95154 stack_frame_head = fra.me.prev;
95155 init_table[itpos894] = 1;
95156 return;
95157 }
95158 void parser___ReduceAction891___action(val_t p0, val_t p1){
95159 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
95160 val_t REGB0;
95161 val_t tmp;
95162 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95163 fra.me.file = LOCATE_parser;
95164 fra.me.line = 35769;
95165 fra.me.meth = LOCATE_parser___ReduceAction891___action;
95166 fra.me.has_broke = 0;
95167 fra.me.REG_size = 4;
95168 fra.me.REG[0] = NIT_NULL;
95169 fra.me.REG[1] = NIT_NULL;
95170 fra.me.REG[2] = NIT_NULL;
95171 fra.me.REG[3] = NIT_NULL;
95172 fra.me.REG[0] = p0;
95173 fra.me.REG[1] = p1;
95174 fra.me.REG[0] = NIT_NULL;
95175 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95176 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95177 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95178 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnot, ID_TKwnot)) /*cast nullable TKwnot*/;
95179 /* ./parser//parser.nit:35776 */
95180 if (UNTAG_Bool(REGB0)) {
95181 } else {
95182 fprintf(stderr, "Assert failed");
95183 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35776);
95184 nit_exit(1);
95185 }
95186 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95187 /* ./parser//parser.nit:35778 */
95188 if (UNTAG_Bool(REGB0)) {
95189 } else {
95190 fprintf(stderr, "Assert failed");
95191 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35778);
95192 nit_exit(1);
95193 }
95194 fra.me.REG[2] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr(fra.me.REG[3], fra.me.REG[2]);
95195 fra.me.REG[0] = fra.me.REG[2];
95196 REGB0 = TAG_Int(82);
95197 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
95198 /* ./parser//parser.nit:35784 */
95199 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
95200 stack_frame_head = fra.me.prev;
95201 return;
95202 }
95203 void parser___ReduceAction891___init(val_t p0, int* init_table){
95204 int itpos895 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction891].i;
95205 struct {struct stack_frame_t me;} fra;
95206 val_t tmp;
95207 if (init_table[itpos895]) return;
95208 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95209 fra.me.file = LOCATE_parser;
95210 fra.me.line = 35786;
95211 fra.me.meth = LOCATE_parser___ReduceAction891___init;
95212 fra.me.has_broke = 0;
95213 fra.me.REG_size = 1;
95214 fra.me.REG[0] = NIT_NULL;
95215 fra.me.REG[0] = p0;
95216 /* ./parser//parser.nit:35786 */
95217 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
95218 stack_frame_head = fra.me.prev;
95219 init_table[itpos895] = 1;
95220 return;
95221 }
95222 void parser___ReduceAction892___action(val_t p0, val_t p1){
95223 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
95224 val_t REGB0;
95225 val_t tmp;
95226 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95227 fra.me.file = LOCATE_parser;
95228 fra.me.line = 35790;
95229 fra.me.meth = LOCATE_parser___ReduceAction892___action;
95230 fra.me.has_broke = 0;
95231 fra.me.REG_size = 3;
95232 fra.me.REG[0] = NIT_NULL;
95233 fra.me.REG[1] = NIT_NULL;
95234 fra.me.REG[2] = NIT_NULL;
95235 fra.me.REG[0] = p0;
95236 fra.me.REG[1] = p1;
95237 fra.me.REG[0] = NIT_NULL;
95238 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95239 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95240 /* ./parser//parser.nit:35795 */
95241 if (UNTAG_Bool(REGB0)) {
95242 } else {
95243 fprintf(stderr, "Assert failed");
95244 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35795);
95245 nit_exit(1);
95246 }
95247 fra.me.REG[0] = fra.me.REG[2];
95248 REGB0 = TAG_Int(83);
95249 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
95250 /* ./parser//parser.nit:35797 */
95251 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
95252 stack_frame_head = fra.me.prev;
95253 return;
95254 }
95255 void parser___ReduceAction892___init(val_t p0, int* init_table){
95256 int itpos896 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction892].i;
95257 struct {struct stack_frame_t me;} fra;
95258 val_t tmp;
95259 if (init_table[itpos896]) return;
95260 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95261 fra.me.file = LOCATE_parser;
95262 fra.me.line = 35799;
95263 fra.me.meth = LOCATE_parser___ReduceAction892___init;
95264 fra.me.has_broke = 0;
95265 fra.me.REG_size = 1;
95266 fra.me.REG[0] = NIT_NULL;
95267 fra.me.REG[0] = p0;
95268 /* ./parser//parser.nit:35799 */
95269 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
95270 stack_frame_head = fra.me.prev;
95271 init_table[itpos896] = 1;
95272 return;
95273 }
95274 void parser___ReduceAction893___action(val_t p0, val_t p1){
95275 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
95276 val_t REGB0;
95277 val_t tmp;
95278 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95279 fra.me.file = LOCATE_parser;
95280 fra.me.line = 35803;
95281 fra.me.meth = LOCATE_parser___ReduceAction893___action;
95282 fra.me.has_broke = 0;
95283 fra.me.REG_size = 4;
95284 fra.me.REG[0] = NIT_NULL;
95285 fra.me.REG[1] = NIT_NULL;
95286 fra.me.REG[2] = NIT_NULL;
95287 fra.me.REG[3] = NIT_NULL;
95288 fra.me.REG[0] = p0;
95289 fra.me.REG[1] = p1;
95290 fra.me.REG[0] = NIT_NULL;
95291 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95292 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95293 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95294 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95295 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95296 /* ./parser//parser.nit:35811 */
95297 if (UNTAG_Bool(REGB0)) {
95298 } else {
95299 fprintf(stderr, "Assert failed");
95300 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35811);
95301 nit_exit(1);
95302 }
95303 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95304 /* ./parser//parser.nit:35813 */
95305 if (UNTAG_Bool(REGB0)) {
95306 } else {
95307 fprintf(stderr, "Assert failed");
95308 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35813);
95309 nit_exit(1);
95310 }
95311 fra.me.REG[2] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr(fra.me.REG[3], fra.me.REG[2]);
95312 fra.me.REG[0] = fra.me.REG[2];
95313 REGB0 = TAG_Int(83);
95314 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
95315 /* ./parser//parser.nit:35819 */
95316 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
95317 stack_frame_head = fra.me.prev;
95318 return;
95319 }
95320 void parser___ReduceAction893___init(val_t p0, int* init_table){
95321 int itpos897 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction893].i;
95322 struct {struct stack_frame_t me;} fra;
95323 val_t tmp;
95324 if (init_table[itpos897]) return;
95325 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95326 fra.me.file = LOCATE_parser;
95327 fra.me.line = 35821;
95328 fra.me.meth = LOCATE_parser___ReduceAction893___init;
95329 fra.me.has_broke = 0;
95330 fra.me.REG_size = 1;
95331 fra.me.REG[0] = NIT_NULL;
95332 fra.me.REG[0] = p0;
95333 /* ./parser//parser.nit:35821 */
95334 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
95335 stack_frame_head = fra.me.prev;
95336 init_table[itpos897] = 1;
95337 return;
95338 }
95339 void parser___ReduceAction894___action(val_t p0, val_t p1){
95340 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
95341 val_t REGB0;
95342 val_t tmp;
95343 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95344 fra.me.file = LOCATE_parser;
95345 fra.me.line = 35825;
95346 fra.me.meth = LOCATE_parser___ReduceAction894___action;
95347 fra.me.has_broke = 0;
95348 fra.me.REG_size = 4;
95349 fra.me.REG[0] = NIT_NULL;
95350 fra.me.REG[1] = NIT_NULL;
95351 fra.me.REG[2] = NIT_NULL;
95352 fra.me.REG[3] = NIT_NULL;
95353 fra.me.REG[0] = p0;
95354 fra.me.REG[1] = p1;
95355 fra.me.REG[0] = NIT_NULL;
95356 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95357 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95358 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95359 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95360 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95361 /* ./parser//parser.nit:35833 */
95362 if (UNTAG_Bool(REGB0)) {
95363 } else {
95364 fprintf(stderr, "Assert failed");
95365 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35833);
95366 nit_exit(1);
95367 }
95368 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95369 /* ./parser//parser.nit:35835 */
95370 if (UNTAG_Bool(REGB0)) {
95371 } else {
95372 fprintf(stderr, "Assert failed");
95373 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35835);
95374 nit_exit(1);
95375 }
95376 fra.me.REG[2] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr(fra.me.REG[3], fra.me.REG[2]);
95377 fra.me.REG[0] = fra.me.REG[2];
95378 REGB0 = TAG_Int(83);
95379 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
95380 /* ./parser//parser.nit:35841 */
95381 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
95382 stack_frame_head = fra.me.prev;
95383 return;
95384 }
95385 void parser___ReduceAction894___init(val_t p0, int* init_table){
95386 int itpos898 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction894].i;
95387 struct {struct stack_frame_t me;} fra;
95388 val_t tmp;
95389 if (init_table[itpos898]) return;
95390 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95391 fra.me.file = LOCATE_parser;
95392 fra.me.line = 35843;
95393 fra.me.meth = LOCATE_parser___ReduceAction894___init;
95394 fra.me.has_broke = 0;
95395 fra.me.REG_size = 1;
95396 fra.me.REG[0] = NIT_NULL;
95397 fra.me.REG[0] = p0;
95398 /* ./parser//parser.nit:35843 */
95399 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
95400 stack_frame_head = fra.me.prev;
95401 init_table[itpos898] = 1;
95402 return;
95403 }
95404 void parser___ReduceAction895___action(val_t p0, val_t p1){
95405 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
95406 val_t REGB0;
95407 val_t tmp;
95408 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95409 fra.me.file = LOCATE_parser;
95410 fra.me.line = 35847;
95411 fra.me.meth = LOCATE_parser___ReduceAction895___action;
95412 fra.me.has_broke = 0;
95413 fra.me.REG_size = 4;
95414 fra.me.REG[0] = NIT_NULL;
95415 fra.me.REG[1] = NIT_NULL;
95416 fra.me.REG[2] = NIT_NULL;
95417 fra.me.REG[3] = NIT_NULL;
95418 fra.me.REG[0] = p0;
95419 fra.me.REG[1] = p1;
95420 fra.me.REG[0] = NIT_NULL;
95421 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95422 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95423 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95424 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95425 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95426 /* ./parser//parser.nit:35855 */
95427 if (UNTAG_Bool(REGB0)) {
95428 } else {
95429 fprintf(stderr, "Assert failed");
95430 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35855);
95431 nit_exit(1);
95432 }
95433 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95434 /* ./parser//parser.nit:35857 */
95435 if (UNTAG_Bool(REGB0)) {
95436 } else {
95437 fprintf(stderr, "Assert failed");
95438 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35857);
95439 nit_exit(1);
95440 }
95441 fra.me.REG[2] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr(fra.me.REG[3], fra.me.REG[2]);
95442 fra.me.REG[0] = fra.me.REG[2];
95443 REGB0 = TAG_Int(83);
95444 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
95445 /* ./parser//parser.nit:35863 */
95446 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
95447 stack_frame_head = fra.me.prev;
95448 return;
95449 }
95450 void parser___ReduceAction895___init(val_t p0, int* init_table){
95451 int itpos899 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction895].i;
95452 struct {struct stack_frame_t me;} fra;
95453 val_t tmp;
95454 if (init_table[itpos899]) return;
95455 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95456 fra.me.file = LOCATE_parser;
95457 fra.me.line = 35865;
95458 fra.me.meth = LOCATE_parser___ReduceAction895___init;
95459 fra.me.has_broke = 0;
95460 fra.me.REG_size = 1;
95461 fra.me.REG[0] = NIT_NULL;
95462 fra.me.REG[0] = p0;
95463 /* ./parser//parser.nit:35865 */
95464 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
95465 stack_frame_head = fra.me.prev;
95466 init_table[itpos899] = 1;
95467 return;
95468 }
95469 void parser___ReduceAction896___action(val_t p0, val_t p1){
95470 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
95471 val_t REGB0;
95472 val_t tmp;
95473 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95474 fra.me.file = LOCATE_parser;
95475 fra.me.line = 35869;
95476 fra.me.meth = LOCATE_parser___ReduceAction896___action;
95477 fra.me.has_broke = 0;
95478 fra.me.REG_size = 4;
95479 fra.me.REG[0] = NIT_NULL;
95480 fra.me.REG[1] = NIT_NULL;
95481 fra.me.REG[2] = NIT_NULL;
95482 fra.me.REG[3] = NIT_NULL;
95483 fra.me.REG[0] = p0;
95484 fra.me.REG[1] = p1;
95485 fra.me.REG[0] = NIT_NULL;
95486 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95487 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95488 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95489 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95490 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95491 /* ./parser//parser.nit:35877 */
95492 if (UNTAG_Bool(REGB0)) {
95493 } else {
95494 fprintf(stderr, "Assert failed");
95495 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35877);
95496 nit_exit(1);
95497 }
95498 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95499 /* ./parser//parser.nit:35879 */
95500 if (UNTAG_Bool(REGB0)) {
95501 } else {
95502 fprintf(stderr, "Assert failed");
95503 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35879);
95504 nit_exit(1);
95505 }
95506 fra.me.REG[2] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr(fra.me.REG[3], fra.me.REG[2]);
95507 fra.me.REG[0] = fra.me.REG[2];
95508 REGB0 = TAG_Int(83);
95509 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
95510 /* ./parser//parser.nit:35885 */
95511 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
95512 stack_frame_head = fra.me.prev;
95513 return;
95514 }
95515 void parser___ReduceAction896___init(val_t p0, int* init_table){
95516 int itpos900 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction896].i;
95517 struct {struct stack_frame_t me;} fra;
95518 val_t tmp;
95519 if (init_table[itpos900]) return;
95520 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95521 fra.me.file = LOCATE_parser;
95522 fra.me.line = 35887;
95523 fra.me.meth = LOCATE_parser___ReduceAction896___init;
95524 fra.me.has_broke = 0;
95525 fra.me.REG_size = 1;
95526 fra.me.REG[0] = NIT_NULL;
95527 fra.me.REG[0] = p0;
95528 /* ./parser//parser.nit:35887 */
95529 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
95530 stack_frame_head = fra.me.prev;
95531 init_table[itpos900] = 1;
95532 return;
95533 }
95534 void parser___ReduceAction897___action(val_t p0, val_t p1){
95535 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
95536 val_t REGB0;
95537 val_t tmp;
95538 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95539 fra.me.file = LOCATE_parser;
95540 fra.me.line = 35891;
95541 fra.me.meth = LOCATE_parser___ReduceAction897___action;
95542 fra.me.has_broke = 0;
95543 fra.me.REG_size = 4;
95544 fra.me.REG[0] = NIT_NULL;
95545 fra.me.REG[1] = NIT_NULL;
95546 fra.me.REG[2] = NIT_NULL;
95547 fra.me.REG[3] = NIT_NULL;
95548 fra.me.REG[0] = p0;
95549 fra.me.REG[1] = p1;
95550 fra.me.REG[0] = NIT_NULL;
95551 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95552 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95553 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95554 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95555 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95556 /* ./parser//parser.nit:35899 */
95557 if (UNTAG_Bool(REGB0)) {
95558 } else {
95559 fprintf(stderr, "Assert failed");
95560 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35899);
95561 nit_exit(1);
95562 }
95563 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95564 /* ./parser//parser.nit:35901 */
95565 if (UNTAG_Bool(REGB0)) {
95566 } else {
95567 fprintf(stderr, "Assert failed");
95568 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35901);
95569 nit_exit(1);
95570 }
95571 fra.me.REG[2] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr(fra.me.REG[3], fra.me.REG[2]);
95572 fra.me.REG[0] = fra.me.REG[2];
95573 REGB0 = TAG_Int(83);
95574 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
95575 /* ./parser//parser.nit:35907 */
95576 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
95577 stack_frame_head = fra.me.prev;
95578 return;
95579 }
95580 void parser___ReduceAction897___init(val_t p0, int* init_table){
95581 int itpos901 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction897].i;
95582 struct {struct stack_frame_t me;} fra;
95583 val_t tmp;
95584 if (init_table[itpos901]) return;
95585 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95586 fra.me.file = LOCATE_parser;
95587 fra.me.line = 35909;
95588 fra.me.meth = LOCATE_parser___ReduceAction897___init;
95589 fra.me.has_broke = 0;
95590 fra.me.REG_size = 1;
95591 fra.me.REG[0] = NIT_NULL;
95592 fra.me.REG[0] = p0;
95593 /* ./parser//parser.nit:35909 */
95594 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
95595 stack_frame_head = fra.me.prev;
95596 init_table[itpos901] = 1;
95597 return;
95598 }
95599 void parser___ReduceAction898___action(val_t p0, val_t p1){
95600 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
95601 val_t REGB0;
95602 val_t tmp;
95603 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95604 fra.me.file = LOCATE_parser;
95605 fra.me.line = 35913;
95606 fra.me.meth = LOCATE_parser___ReduceAction898___action;
95607 fra.me.has_broke = 0;
95608 fra.me.REG_size = 4;
95609 fra.me.REG[0] = NIT_NULL;
95610 fra.me.REG[1] = NIT_NULL;
95611 fra.me.REG[2] = NIT_NULL;
95612 fra.me.REG[3] = NIT_NULL;
95613 fra.me.REG[0] = p0;
95614 fra.me.REG[1] = p1;
95615 fra.me.REG[0] = NIT_NULL;
95616 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95617 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95618 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95619 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95620 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95621 /* ./parser//parser.nit:35921 */
95622 if (UNTAG_Bool(REGB0)) {
95623 } else {
95624 fprintf(stderr, "Assert failed");
95625 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35921);
95626 nit_exit(1);
95627 }
95628 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95629 /* ./parser//parser.nit:35923 */
95630 if (UNTAG_Bool(REGB0)) {
95631 } else {
95632 fprintf(stderr, "Assert failed");
95633 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35923);
95634 nit_exit(1);
95635 }
95636 fra.me.REG[2] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr(fra.me.REG[3], fra.me.REG[2]);
95637 fra.me.REG[0] = fra.me.REG[2];
95638 REGB0 = TAG_Int(83);
95639 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
95640 /* ./parser//parser.nit:35929 */
95641 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
95642 stack_frame_head = fra.me.prev;
95643 return;
95644 }
95645 void parser___ReduceAction898___init(val_t p0, int* init_table){
95646 int itpos902 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction898].i;
95647 struct {struct stack_frame_t me;} fra;
95648 val_t tmp;
95649 if (init_table[itpos902]) return;
95650 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95651 fra.me.file = LOCATE_parser;
95652 fra.me.line = 35931;
95653 fra.me.meth = LOCATE_parser___ReduceAction898___init;
95654 fra.me.has_broke = 0;
95655 fra.me.REG_size = 1;
95656 fra.me.REG[0] = NIT_NULL;
95657 fra.me.REG[0] = p0;
95658 /* ./parser//parser.nit:35931 */
95659 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
95660 stack_frame_head = fra.me.prev;
95661 init_table[itpos902] = 1;
95662 return;
95663 }
95664 void parser___ReduceAction899___action(val_t p0, val_t p1){
95665 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
95666 val_t REGB0;
95667 val_t tmp;
95668 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95669 fra.me.file = LOCATE_parser;
95670 fra.me.line = 35935;
95671 fra.me.meth = LOCATE_parser___ReduceAction899___action;
95672 fra.me.has_broke = 0;
95673 fra.me.REG_size = 4;
95674 fra.me.REG[0] = NIT_NULL;
95675 fra.me.REG[1] = NIT_NULL;
95676 fra.me.REG[2] = NIT_NULL;
95677 fra.me.REG[3] = NIT_NULL;
95678 fra.me.REG[0] = p0;
95679 fra.me.REG[1] = p1;
95680 fra.me.REG[0] = NIT_NULL;
95681 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95682 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95683 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95684 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95685 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95686 /* ./parser//parser.nit:35943 */
95687 if (UNTAG_Bool(REGB0)) {
95688 } else {
95689 fprintf(stderr, "Assert failed");
95690 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35943);
95691 nit_exit(1);
95692 }
95693 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95694 /* ./parser//parser.nit:35945 */
95695 if (UNTAG_Bool(REGB0)) {
95696 } else {
95697 fprintf(stderr, "Assert failed");
95698 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35945);
95699 nit_exit(1);
95700 }
95701 fra.me.REG[2] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr(fra.me.REG[3], fra.me.REG[2]);
95702 fra.me.REG[0] = fra.me.REG[2];
95703 REGB0 = TAG_Int(83);
95704 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
95705 /* ./parser//parser.nit:35951 */
95706 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
95707 stack_frame_head = fra.me.prev;
95708 return;
95709 }
95710 void parser___ReduceAction899___init(val_t p0, int* init_table){
95711 int itpos903 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction899].i;
95712 struct {struct stack_frame_t me;} fra;
95713 val_t tmp;
95714 if (init_table[itpos903]) return;
95715 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95716 fra.me.file = LOCATE_parser;
95717 fra.me.line = 35953;
95718 fra.me.meth = LOCATE_parser___ReduceAction899___init;
95719 fra.me.has_broke = 0;
95720 fra.me.REG_size = 1;
95721 fra.me.REG[0] = NIT_NULL;
95722 fra.me.REG[0] = p0;
95723 /* ./parser//parser.nit:35953 */
95724 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
95725 stack_frame_head = fra.me.prev;
95726 init_table[itpos903] = 1;
95727 return;
95728 }
95729 void parser___ReduceAction900___action(val_t p0, val_t p1){
95730 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
95731 val_t REGB0;
95732 val_t tmp;
95733 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95734 fra.me.file = LOCATE_parser;
95735 fra.me.line = 35957;
95736 fra.me.meth = LOCATE_parser___ReduceAction900___action;
95737 fra.me.has_broke = 0;
95738 fra.me.REG_size = 4;
95739 fra.me.REG[0] = NIT_NULL;
95740 fra.me.REG[1] = NIT_NULL;
95741 fra.me.REG[2] = NIT_NULL;
95742 fra.me.REG[3] = NIT_NULL;
95743 fra.me.REG[0] = p0;
95744 fra.me.REG[1] = p1;
95745 fra.me.REG[0] = NIT_NULL;
95746 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95747 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95748 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95749 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95750 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95751 /* ./parser//parser.nit:35965 */
95752 if (UNTAG_Bool(REGB0)) {
95753 } else {
95754 fprintf(stderr, "Assert failed");
95755 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35965);
95756 nit_exit(1);
95757 }
95758 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95759 /* ./parser//parser.nit:35967 */
95760 if (UNTAG_Bool(REGB0)) {
95761 } else {
95762 fprintf(stderr, "Assert failed");
95763 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35967);
95764 nit_exit(1);
95765 }
95766 fra.me.REG[2] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr(fra.me.REG[3], fra.me.REG[2]);
95767 fra.me.REG[0] = fra.me.REG[2];
95768 REGB0 = TAG_Int(83);
95769 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
95770 /* ./parser//parser.nit:35973 */
95771 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
95772 stack_frame_head = fra.me.prev;
95773 return;
95774 }
95775 void parser___ReduceAction900___init(val_t p0, int* init_table){
95776 int itpos904 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction900].i;
95777 struct {struct stack_frame_t me;} fra;
95778 val_t tmp;
95779 if (init_table[itpos904]) return;
95780 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95781 fra.me.file = LOCATE_parser;
95782 fra.me.line = 35975;
95783 fra.me.meth = LOCATE_parser___ReduceAction900___init;
95784 fra.me.has_broke = 0;
95785 fra.me.REG_size = 1;
95786 fra.me.REG[0] = NIT_NULL;
95787 fra.me.REG[0] = p0;
95788 /* ./parser//parser.nit:35975 */
95789 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
95790 stack_frame_head = fra.me.prev;
95791 init_table[itpos904] = 1;
95792 return;
95793 }
95794 void parser___ReduceAction901___action(val_t p0, val_t p1){
95795 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
95796 val_t REGB0;
95797 val_t tmp;
95798 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95799 fra.me.file = LOCATE_parser;
95800 fra.me.line = 35979;
95801 fra.me.meth = LOCATE_parser___ReduceAction901___action;
95802 fra.me.has_broke = 0;
95803 fra.me.REG_size = 4;
95804 fra.me.REG[0] = NIT_NULL;
95805 fra.me.REG[1] = NIT_NULL;
95806 fra.me.REG[2] = NIT_NULL;
95807 fra.me.REG[3] = NIT_NULL;
95808 fra.me.REG[0] = p0;
95809 fra.me.REG[1] = p1;
95810 fra.me.REG[0] = NIT_NULL;
95811 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95812 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95813 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95814 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95815 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95816 /* ./parser//parser.nit:35987 */
95817 if (UNTAG_Bool(REGB0)) {
95818 } else {
95819 fprintf(stderr, "Assert failed");
95820 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35987);
95821 nit_exit(1);
95822 }
95823 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
95824 /* ./parser//parser.nit:35989 */
95825 if (UNTAG_Bool(REGB0)) {
95826 } else {
95827 fprintf(stderr, "Assert failed");
95828 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35989);
95829 nit_exit(1);
95830 }
95831 fra.me.REG[2] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr(fra.me.REG[3], fra.me.REG[2]);
95832 fra.me.REG[0] = fra.me.REG[2];
95833 REGB0 = TAG_Int(83);
95834 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
95835 /* ./parser//parser.nit:35995 */
95836 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
95837 stack_frame_head = fra.me.prev;
95838 return;
95839 }
95840 void parser___ReduceAction901___init(val_t p0, int* init_table){
95841 int itpos905 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction901].i;
95842 struct {struct stack_frame_t me;} fra;
95843 val_t tmp;
95844 if (init_table[itpos905]) return;
95845 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95846 fra.me.file = LOCATE_parser;
95847 fra.me.line = 35997;
95848 fra.me.meth = LOCATE_parser___ReduceAction901___init;
95849 fra.me.has_broke = 0;
95850 fra.me.REG_size = 1;
95851 fra.me.REG[0] = NIT_NULL;
95852 fra.me.REG[0] = p0;
95853 /* ./parser//parser.nit:35997 */
95854 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
95855 stack_frame_head = fra.me.prev;
95856 init_table[itpos905] = 1;
95857 return;
95858 }
95859 void parser___ReduceAction902___action(val_t p0, val_t p1){
95860 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
95861 val_t REGB0;
95862 val_t tmp;
95863 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95864 fra.me.file = LOCATE_parser;
95865 fra.me.line = 36001;
95866 fra.me.meth = LOCATE_parser___ReduceAction902___action;
95867 fra.me.has_broke = 0;
95868 fra.me.REG_size = 3;
95869 fra.me.REG[0] = NIT_NULL;
95870 fra.me.REG[1] = NIT_NULL;
95871 fra.me.REG[2] = NIT_NULL;
95872 fra.me.REG[0] = p0;
95873 fra.me.REG[1] = p1;
95874 fra.me.REG[0] = NIT_NULL;
95875 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95876 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95877 /* ./parser//parser.nit:36006 */
95878 if (UNTAG_Bool(REGB0)) {
95879 } else {
95880 fprintf(stderr, "Assert failed");
95881 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36006);
95882 nit_exit(1);
95883 }
95884 fra.me.REG[0] = fra.me.REG[2];
95885 REGB0 = TAG_Int(84);
95886 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
95887 /* ./parser//parser.nit:36008 */
95888 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
95889 stack_frame_head = fra.me.prev;
95890 return;
95891 }
95892 void parser___ReduceAction902___init(val_t p0, int* init_table){
95893 int itpos906 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction902].i;
95894 struct {struct stack_frame_t me;} fra;
95895 val_t tmp;
95896 if (init_table[itpos906]) return;
95897 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95898 fra.me.file = LOCATE_parser;
95899 fra.me.line = 36010;
95900 fra.me.meth = LOCATE_parser___ReduceAction902___init;
95901 fra.me.has_broke = 0;
95902 fra.me.REG_size = 1;
95903 fra.me.REG[0] = NIT_NULL;
95904 fra.me.REG[0] = p0;
95905 /* ./parser//parser.nit:36010 */
95906 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
95907 stack_frame_head = fra.me.prev;
95908 init_table[itpos906] = 1;
95909 return;
95910 }
95911 void parser___ReduceAction903___action(val_t p0, val_t p1){
95912 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
95913 val_t REGB0;
95914 val_t tmp;
95915 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95916 fra.me.file = LOCATE_parser;
95917 fra.me.line = 36014;
95918 fra.me.meth = LOCATE_parser___ReduceAction903___action;
95919 fra.me.has_broke = 0;
95920 fra.me.REG_size = 4;
95921 fra.me.REG[0] = NIT_NULL;
95922 fra.me.REG[1] = NIT_NULL;
95923 fra.me.REG[2] = NIT_NULL;
95924 fra.me.REG[3] = NIT_NULL;
95925 fra.me.REG[0] = p0;
95926 fra.me.REG[1] = p1;
95927 fra.me.REG[0] = NIT_NULL;
95928 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95929 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95930 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95931 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95932 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95933 /* ./parser//parser.nit:36022 */
95934 if (UNTAG_Bool(REGB0)) {
95935 } else {
95936 fprintf(stderr, "Assert failed");
95937 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36022);
95938 nit_exit(1);
95939 }
95940 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95941 /* ./parser//parser.nit:36024 */
95942 if (UNTAG_Bool(REGB0)) {
95943 } else {
95944 fprintf(stderr, "Assert failed");
95945 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36024);
95946 nit_exit(1);
95947 }
95948 fra.me.REG[2] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr(fra.me.REG[3], fra.me.REG[2]);
95949 fra.me.REG[0] = fra.me.REG[2];
95950 REGB0 = TAG_Int(84);
95951 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
95952 /* ./parser//parser.nit:36030 */
95953 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
95954 stack_frame_head = fra.me.prev;
95955 return;
95956 }
95957 void parser___ReduceAction903___init(val_t p0, int* init_table){
95958 int itpos907 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction903].i;
95959 struct {struct stack_frame_t me;} fra;
95960 val_t tmp;
95961 if (init_table[itpos907]) return;
95962 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95963 fra.me.file = LOCATE_parser;
95964 fra.me.line = 36032;
95965 fra.me.meth = LOCATE_parser___ReduceAction903___init;
95966 fra.me.has_broke = 0;
95967 fra.me.REG_size = 1;
95968 fra.me.REG[0] = NIT_NULL;
95969 fra.me.REG[0] = p0;
95970 /* ./parser//parser.nit:36032 */
95971 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
95972 stack_frame_head = fra.me.prev;
95973 init_table[itpos907] = 1;
95974 return;
95975 }
95976 void parser___ReduceAction904___action(val_t p0, val_t p1){
95977 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
95978 val_t REGB0;
95979 val_t tmp;
95980 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95981 fra.me.file = LOCATE_parser;
95982 fra.me.line = 36036;
95983 fra.me.meth = LOCATE_parser___ReduceAction904___action;
95984 fra.me.has_broke = 0;
95985 fra.me.REG_size = 4;
95986 fra.me.REG[0] = NIT_NULL;
95987 fra.me.REG[1] = NIT_NULL;
95988 fra.me.REG[2] = NIT_NULL;
95989 fra.me.REG[3] = NIT_NULL;
95990 fra.me.REG[0] = p0;
95991 fra.me.REG[1] = p1;
95992 fra.me.REG[0] = NIT_NULL;
95993 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95994 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95995 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95996 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
95997 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
95998 /* ./parser//parser.nit:36044 */
95999 if (UNTAG_Bool(REGB0)) {
96000 } else {
96001 fprintf(stderr, "Assert failed");
96002 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36044);
96003 nit_exit(1);
96004 }
96005 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
96006 /* ./parser//parser.nit:36046 */
96007 if (UNTAG_Bool(REGB0)) {
96008 } else {
96009 fprintf(stderr, "Assert failed");
96010 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36046);
96011 nit_exit(1);
96012 }
96013 fra.me.REG[2] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr(fra.me.REG[3], fra.me.REG[2]);
96014 fra.me.REG[0] = fra.me.REG[2];
96015 REGB0 = TAG_Int(84);
96016 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
96017 /* ./parser//parser.nit:36052 */
96018 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
96019 stack_frame_head = fra.me.prev;
96020 return;
96021 }
96022 void parser___ReduceAction904___init(val_t p0, int* init_table){
96023 int itpos908 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction904].i;
96024 struct {struct stack_frame_t me;} fra;
96025 val_t tmp;
96026 if (init_table[itpos908]) return;
96027 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96028 fra.me.file = LOCATE_parser;
96029 fra.me.line = 36054;
96030 fra.me.meth = LOCATE_parser___ReduceAction904___init;
96031 fra.me.has_broke = 0;
96032 fra.me.REG_size = 1;
96033 fra.me.REG[0] = NIT_NULL;
96034 fra.me.REG[0] = p0;
96035 /* ./parser//parser.nit:36054 */
96036 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
96037 stack_frame_head = fra.me.prev;
96038 init_table[itpos908] = 1;
96039 return;
96040 }
96041 void parser___ReduceAction905___action(val_t p0, val_t p1){
96042 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
96043 val_t REGB0;
96044 val_t tmp;
96045 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96046 fra.me.file = LOCATE_parser;
96047 fra.me.line = 36058;
96048 fra.me.meth = LOCATE_parser___ReduceAction905___action;
96049 fra.me.has_broke = 0;
96050 fra.me.REG_size = 3;
96051 fra.me.REG[0] = NIT_NULL;
96052 fra.me.REG[1] = NIT_NULL;
96053 fra.me.REG[2] = NIT_NULL;
96054 fra.me.REG[0] = p0;
96055 fra.me.REG[1] = p1;
96056 fra.me.REG[0] = NIT_NULL;
96057 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96058 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
96059 /* ./parser//parser.nit:36063 */
96060 if (UNTAG_Bool(REGB0)) {
96061 } else {
96062 fprintf(stderr, "Assert failed");
96063 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36063);
96064 nit_exit(1);
96065 }
96066 fra.me.REG[0] = fra.me.REG[2];
96067 REGB0 = TAG_Int(85);
96068 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
96069 /* ./parser//parser.nit:36065 */
96070 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
96071 stack_frame_head = fra.me.prev;
96072 return;
96073 }
96074 void parser___ReduceAction905___init(val_t p0, int* init_table){
96075 int itpos909 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction905].i;
96076 struct {struct stack_frame_t me;} fra;
96077 val_t tmp;
96078 if (init_table[itpos909]) return;
96079 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96080 fra.me.file = LOCATE_parser;
96081 fra.me.line = 36067;
96082 fra.me.meth = LOCATE_parser___ReduceAction905___init;
96083 fra.me.has_broke = 0;
96084 fra.me.REG_size = 1;
96085 fra.me.REG[0] = NIT_NULL;
96086 fra.me.REG[0] = p0;
96087 /* ./parser//parser.nit:36067 */
96088 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
96089 stack_frame_head = fra.me.prev;
96090 init_table[itpos909] = 1;
96091 return;
96092 }
96093 void parser___ReduceAction906___action(val_t p0, val_t p1){
96094 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
96095 val_t REGB0;
96096 val_t tmp;
96097 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96098 fra.me.file = LOCATE_parser;
96099 fra.me.line = 36071;
96100 fra.me.meth = LOCATE_parser___ReduceAction906___action;
96101 fra.me.has_broke = 0;
96102 fra.me.REG_size = 4;
96103 fra.me.REG[0] = NIT_NULL;
96104 fra.me.REG[1] = NIT_NULL;
96105 fra.me.REG[2] = NIT_NULL;
96106 fra.me.REG[3] = NIT_NULL;
96107 fra.me.REG[0] = p0;
96108 fra.me.REG[1] = p1;
96109 fra.me.REG[0] = NIT_NULL;
96110 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96111 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96112 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96113 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96114 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
96115 /* ./parser//parser.nit:36079 */
96116 if (UNTAG_Bool(REGB0)) {
96117 } else {
96118 fprintf(stderr, "Assert failed");
96119 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36079);
96120 nit_exit(1);
96121 }
96122 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
96123 /* ./parser//parser.nit:36081 */
96124 if (UNTAG_Bool(REGB0)) {
96125 } else {
96126 fprintf(stderr, "Assert failed");
96127 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36081);
96128 nit_exit(1);
96129 }
96130 fra.me.REG[2] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr(fra.me.REG[3], fra.me.REG[2]);
96131 fra.me.REG[0] = fra.me.REG[2];
96132 REGB0 = TAG_Int(85);
96133 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
96134 /* ./parser//parser.nit:36087 */
96135 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
96136 stack_frame_head = fra.me.prev;
96137 return;
96138 }
96139 void parser___ReduceAction906___init(val_t p0, int* init_table){
96140 int itpos910 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction906].i;
96141 struct {struct stack_frame_t me;} fra;
96142 val_t tmp;
96143 if (init_table[itpos910]) return;
96144 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96145 fra.me.file = LOCATE_parser;
96146 fra.me.line = 36089;
96147 fra.me.meth = LOCATE_parser___ReduceAction906___init;
96148 fra.me.has_broke = 0;
96149 fra.me.REG_size = 1;
96150 fra.me.REG[0] = NIT_NULL;
96151 fra.me.REG[0] = p0;
96152 /* ./parser//parser.nit:36089 */
96153 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
96154 stack_frame_head = fra.me.prev;
96155 init_table[itpos910] = 1;
96156 return;
96157 }
96158 void parser___ReduceAction907___action(val_t p0, val_t p1){
96159 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
96160 val_t REGB0;
96161 val_t tmp;
96162 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96163 fra.me.file = LOCATE_parser;
96164 fra.me.line = 36093;
96165 fra.me.meth = LOCATE_parser___ReduceAction907___action;
96166 fra.me.has_broke = 0;
96167 fra.me.REG_size = 4;
96168 fra.me.REG[0] = NIT_NULL;
96169 fra.me.REG[1] = NIT_NULL;
96170 fra.me.REG[2] = NIT_NULL;
96171 fra.me.REG[3] = NIT_NULL;
96172 fra.me.REG[0] = p0;
96173 fra.me.REG[1] = p1;
96174 fra.me.REG[0] = NIT_NULL;
96175 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96176 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96177 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96178 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96179 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
96180 /* ./parser//parser.nit:36101 */
96181 if (UNTAG_Bool(REGB0)) {
96182 } else {
96183 fprintf(stderr, "Assert failed");
96184 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36101);
96185 nit_exit(1);
96186 }
96187 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
96188 /* ./parser//parser.nit:36103 */
96189 if (UNTAG_Bool(REGB0)) {
96190 } else {
96191 fprintf(stderr, "Assert failed");
96192 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36103);
96193 nit_exit(1);
96194 }
96195 fra.me.REG[2] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr(fra.me.REG[3], fra.me.REG[2]);
96196 fra.me.REG[0] = fra.me.REG[2];
96197 REGB0 = TAG_Int(85);
96198 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
96199 /* ./parser//parser.nit:36109 */
96200 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
96201 stack_frame_head = fra.me.prev;
96202 return;
96203 }
96204 void parser___ReduceAction907___init(val_t p0, int* init_table){
96205 int itpos911 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction907].i;
96206 struct {struct stack_frame_t me;} fra;
96207 val_t tmp;
96208 if (init_table[itpos911]) return;
96209 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96210 fra.me.file = LOCATE_parser;
96211 fra.me.line = 36111;
96212 fra.me.meth = LOCATE_parser___ReduceAction907___init;
96213 fra.me.has_broke = 0;
96214 fra.me.REG_size = 1;
96215 fra.me.REG[0] = NIT_NULL;
96216 fra.me.REG[0] = p0;
96217 /* ./parser//parser.nit:36111 */
96218 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
96219 stack_frame_head = fra.me.prev;
96220 init_table[itpos911] = 1;
96221 return;
96222 }
96223 void parser___ReduceAction908___action(val_t p0, val_t p1){
96224 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
96225 val_t REGB0;
96226 val_t tmp;
96227 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96228 fra.me.file = LOCATE_parser;
96229 fra.me.line = 36115;
96230 fra.me.meth = LOCATE_parser___ReduceAction908___action;
96231 fra.me.has_broke = 0;
96232 fra.me.REG_size = 4;
96233 fra.me.REG[0] = NIT_NULL;
96234 fra.me.REG[1] = NIT_NULL;
96235 fra.me.REG[2] = NIT_NULL;
96236 fra.me.REG[3] = NIT_NULL;
96237 fra.me.REG[0] = p0;
96238 fra.me.REG[1] = p1;
96239 fra.me.REG[0] = NIT_NULL;
96240 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96241 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96242 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96243 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96244 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
96245 /* ./parser//parser.nit:36123 */
96246 if (UNTAG_Bool(REGB0)) {
96247 } else {
96248 fprintf(stderr, "Assert failed");
96249 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36123);
96250 nit_exit(1);
96251 }
96252 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
96253 /* ./parser//parser.nit:36125 */
96254 if (UNTAG_Bool(REGB0)) {
96255 } else {
96256 fprintf(stderr, "Assert failed");
96257 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36125);
96258 nit_exit(1);
96259 }
96260 fra.me.REG[2] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr(fra.me.REG[3], fra.me.REG[2]);
96261 fra.me.REG[0] = fra.me.REG[2];
96262 REGB0 = TAG_Int(85);
96263 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
96264 /* ./parser//parser.nit:36131 */
96265 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
96266 stack_frame_head = fra.me.prev;
96267 return;
96268 }
96269 void parser___ReduceAction908___init(val_t p0, int* init_table){
96270 int itpos912 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction908].i;
96271 struct {struct stack_frame_t me;} fra;
96272 val_t tmp;
96273 if (init_table[itpos912]) return;
96274 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96275 fra.me.file = LOCATE_parser;
96276 fra.me.line = 36133;
96277 fra.me.meth = LOCATE_parser___ReduceAction908___init;
96278 fra.me.has_broke = 0;
96279 fra.me.REG_size = 1;
96280 fra.me.REG[0] = NIT_NULL;
96281 fra.me.REG[0] = p0;
96282 /* ./parser//parser.nit:36133 */
96283 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
96284 stack_frame_head = fra.me.prev;
96285 init_table[itpos912] = 1;
96286 return;
96287 }
96288 void parser___ReduceAction909___action(val_t p0, val_t p1){
96289 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
96290 val_t REGB0;
96291 val_t tmp;
96292 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96293 fra.me.file = LOCATE_parser;
96294 fra.me.line = 36137;
96295 fra.me.meth = LOCATE_parser___ReduceAction909___action;
96296 fra.me.has_broke = 0;
96297 fra.me.REG_size = 3;
96298 fra.me.REG[0] = NIT_NULL;
96299 fra.me.REG[1] = NIT_NULL;
96300 fra.me.REG[2] = NIT_NULL;
96301 fra.me.REG[0] = p0;
96302 fra.me.REG[1] = p1;
96303 fra.me.REG[0] = NIT_NULL;
96304 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96305 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
96306 /* ./parser//parser.nit:36142 */
96307 if (UNTAG_Bool(REGB0)) {
96308 } else {
96309 fprintf(stderr, "Assert failed");
96310 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36142);
96311 nit_exit(1);
96312 }
96313 fra.me.REG[0] = fra.me.REG[2];
96314 REGB0 = TAG_Int(86);
96315 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
96316 /* ./parser//parser.nit:36144 */
96317 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
96318 stack_frame_head = fra.me.prev;
96319 return;
96320 }
96321 void parser___ReduceAction909___init(val_t p0, int* init_table){
96322 int itpos913 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction909].i;
96323 struct {struct stack_frame_t me;} fra;
96324 val_t tmp;
96325 if (init_table[itpos913]) return;
96326 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96327 fra.me.file = LOCATE_parser;
96328 fra.me.line = 36146;
96329 fra.me.meth = LOCATE_parser___ReduceAction909___init;
96330 fra.me.has_broke = 0;
96331 fra.me.REG_size = 1;
96332 fra.me.REG[0] = NIT_NULL;
96333 fra.me.REG[0] = p0;
96334 /* ./parser//parser.nit:36146 */
96335 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
96336 stack_frame_head = fra.me.prev;
96337 init_table[itpos913] = 1;
96338 return;
96339 }
96340 void parser___ReduceAction910___action(val_t p0, val_t p1){
96341 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
96342 val_t REGB0;
96343 val_t tmp;
96344 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96345 fra.me.file = LOCATE_parser;
96346 fra.me.line = 36150;
96347 fra.me.meth = LOCATE_parser___ReduceAction910___action;
96348 fra.me.has_broke = 0;
96349 fra.me.REG_size = 4;
96350 fra.me.REG[0] = NIT_NULL;
96351 fra.me.REG[1] = NIT_NULL;
96352 fra.me.REG[2] = NIT_NULL;
96353 fra.me.REG[3] = NIT_NULL;
96354 fra.me.REG[0] = p0;
96355 fra.me.REG[1] = p1;
96356 fra.me.REG[0] = NIT_NULL;
96357 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96358 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96359 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96360 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
96361 /* ./parser//parser.nit:36157 */
96362 if (UNTAG_Bool(REGB0)) {
96363 } else {
96364 fprintf(stderr, "Assert failed");
96365 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36157);
96366 nit_exit(1);
96367 }
96368 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
96369 /* ./parser//parser.nit:36159 */
96370 if (UNTAG_Bool(REGB0)) {
96371 } else {
96372 fprintf(stderr, "Assert failed");
96373 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36159);
96374 nit_exit(1);
96375 }
96376 fra.me.REG[2] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr(fra.me.REG[3], fra.me.REG[2]);
96377 fra.me.REG[0] = fra.me.REG[2];
96378 REGB0 = TAG_Int(86);
96379 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
96380 /* ./parser//parser.nit:36165 */
96381 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
96382 stack_frame_head = fra.me.prev;
96383 return;
96384 }
96385 void parser___ReduceAction910___init(val_t p0, int* init_table){
96386 int itpos914 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction910].i;
96387 struct {struct stack_frame_t me;} fra;
96388 val_t tmp;
96389 if (init_table[itpos914]) return;
96390 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96391 fra.me.file = LOCATE_parser;
96392 fra.me.line = 36167;
96393 fra.me.meth = LOCATE_parser___ReduceAction910___init;
96394 fra.me.has_broke = 0;
96395 fra.me.REG_size = 1;
96396 fra.me.REG[0] = NIT_NULL;
96397 fra.me.REG[0] = p0;
96398 /* ./parser//parser.nit:36167 */
96399 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
96400 stack_frame_head = fra.me.prev;
96401 init_table[itpos914] = 1;
96402 return;
96403 }
96404 void parser___ReduceAction911___action(val_t p0, val_t p1){
96405 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
96406 val_t REGB0;
96407 val_t tmp;
96408 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96409 fra.me.file = LOCATE_parser;
96410 fra.me.line = 36171;
96411 fra.me.meth = LOCATE_parser___ReduceAction911___action;
96412 fra.me.has_broke = 0;
96413 fra.me.REG_size = 4;
96414 fra.me.REG[0] = NIT_NULL;
96415 fra.me.REG[1] = NIT_NULL;
96416 fra.me.REG[2] = NIT_NULL;
96417 fra.me.REG[3] = NIT_NULL;
96418 fra.me.REG[0] = p0;
96419 fra.me.REG[1] = p1;
96420 fra.me.REG[0] = NIT_NULL;
96421 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96422 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96423 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96424 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwonce, ID_TKwonce)) /*cast nullable TKwonce*/;
96425 /* ./parser//parser.nit:36178 */
96426 if (UNTAG_Bool(REGB0)) {
96427 } else {
96428 fprintf(stderr, "Assert failed");
96429 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36178);
96430 nit_exit(1);
96431 }
96432 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
96433 /* ./parser//parser.nit:36180 */
96434 if (UNTAG_Bool(REGB0)) {
96435 } else {
96436 fprintf(stderr, "Assert failed");
96437 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36180);
96438 nit_exit(1);
96439 }
96440 fra.me.REG[2] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr(fra.me.REG[3], fra.me.REG[2]);
96441 fra.me.REG[0] = fra.me.REG[2];
96442 REGB0 = TAG_Int(86);
96443 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
96444 /* ./parser//parser.nit:36186 */
96445 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
96446 stack_frame_head = fra.me.prev;
96447 return;
96448 }
96449 void parser___ReduceAction911___init(val_t p0, int* init_table){
96450 int itpos915 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction911].i;
96451 struct {struct stack_frame_t me;} fra;
96452 val_t tmp;
96453 if (init_table[itpos915]) return;
96454 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96455 fra.me.file = LOCATE_parser;
96456 fra.me.line = 36188;
96457 fra.me.meth = LOCATE_parser___ReduceAction911___init;
96458 fra.me.has_broke = 0;
96459 fra.me.REG_size = 1;
96460 fra.me.REG[0] = NIT_NULL;
96461 fra.me.REG[0] = p0;
96462 /* ./parser//parser.nit:36188 */
96463 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
96464 stack_frame_head = fra.me.prev;
96465 init_table[itpos915] = 1;
96466 return;
96467 }
96468 void parser___ReduceAction912___action(val_t p0, val_t p1){
96469 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
96470 val_t REGB0;
96471 val_t tmp;
96472 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96473 fra.me.file = LOCATE_parser;
96474 fra.me.line = 36192;
96475 fra.me.meth = LOCATE_parser___ReduceAction912___action;
96476 fra.me.has_broke = 0;
96477 fra.me.REG_size = 3;
96478 fra.me.REG[0] = NIT_NULL;
96479 fra.me.REG[1] = NIT_NULL;
96480 fra.me.REG[2] = NIT_NULL;
96481 fra.me.REG[0] = p0;
96482 fra.me.REG[1] = p1;
96483 fra.me.REG[0] = NIT_NULL;
96484 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96485 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
96486 /* ./parser//parser.nit:36197 */
96487 if (UNTAG_Bool(REGB0)) {
96488 } else {
96489 fprintf(stderr, "Assert failed");
96490 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36197);
96491 nit_exit(1);
96492 }
96493 fra.me.REG[0] = fra.me.REG[2];
96494 REGB0 = TAG_Int(87);
96495 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
96496 /* ./parser//parser.nit:36199 */
96497 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
96498 stack_frame_head = fra.me.prev;
96499 return;
96500 }
96501 void parser___ReduceAction912___init(val_t p0, int* init_table){
96502 int itpos916 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction912].i;
96503 struct {struct stack_frame_t me;} fra;
96504 val_t tmp;
96505 if (init_table[itpos916]) return;
96506 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96507 fra.me.file = LOCATE_parser;
96508 fra.me.line = 36201;
96509 fra.me.meth = LOCATE_parser___ReduceAction912___init;
96510 fra.me.has_broke = 0;
96511 fra.me.REG_size = 1;
96512 fra.me.REG[0] = NIT_NULL;
96513 fra.me.REG[0] = p0;
96514 /* ./parser//parser.nit:36201 */
96515 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
96516 stack_frame_head = fra.me.prev;
96517 init_table[itpos916] = 1;
96518 return;
96519 }
96520 void parser___ReduceAction913___action(val_t p0, val_t p1){
96521 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
96522 val_t REGB0;
96523 val_t tmp;
96524 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96525 fra.me.file = LOCATE_parser;
96526 fra.me.line = 36205;
96527 fra.me.meth = LOCATE_parser___ReduceAction913___action;
96528 fra.me.has_broke = 0;
96529 fra.me.REG_size = 6;
96530 fra.me.REG[0] = NIT_NULL;
96531 fra.me.REG[1] = NIT_NULL;
96532 fra.me.REG[2] = NIT_NULL;
96533 fra.me.REG[3] = NIT_NULL;
96534 fra.me.REG[4] = NIT_NULL;
96535 fra.me.REG[5] = NIT_NULL;
96536 fra.me.REG[0] = p0;
96537 fra.me.REG[1] = p1;
96538 fra.me.REG[0] = NIT_NULL;
96539 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96540 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96541 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96542 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96543 fra.me.REG[5] = NEW_Array_array___Array___init();
96544 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwnew, ID_TKwnew)) /*cast nullable TKwnew*/;
96545 /* ./parser//parser.nit:36214 */
96546 if (UNTAG_Bool(REGB0)) {
96547 } else {
96548 fprintf(stderr, "Assert failed");
96549 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36214);
96550 nit_exit(1);
96551 }
96552 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
96553 /* ./parser//parser.nit:36216 */
96554 if (UNTAG_Bool(REGB0)) {
96555 } else {
96556 fprintf(stderr, "Assert failed");
96557 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36216);
96558 nit_exit(1);
96559 }
96560 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
96561 /* ./parser//parser.nit:36218 */
96562 if (UNTAG_Bool(REGB0)) {
96563 } else {
96564 fprintf(stderr, "Assert failed");
96565 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36218);
96566 nit_exit(1);
96567 }
96568 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
96569 /* ./parser//parser.nit:36220 */
96570 if (UNTAG_Bool(REGB0)) {
96571 fra.me.REG[5] = fra.me.REG[2];
96572 /* ./parser//parser.nit:36221 */
96573 } else {
96574 /* ./parser//parser.nit:36223 */
96575 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
96576 }
96577 fra.me.REG[5] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[5]);
96578 fra.me.REG[0] = fra.me.REG[5];
96579 REGB0 = TAG_Int(87);
96580 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
96581 /* ./parser//parser.nit:36233 */
96582 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
96583 stack_frame_head = fra.me.prev;
96584 return;
96585 }
96586 void parser___ReduceAction913___init(val_t p0, int* init_table){
96587 int itpos917 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction913].i;
96588 struct {struct stack_frame_t me;} fra;
96589 val_t tmp;
96590 if (init_table[itpos917]) return;
96591 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96592 fra.me.file = LOCATE_parser;
96593 fra.me.line = 36235;
96594 fra.me.meth = LOCATE_parser___ReduceAction913___init;
96595 fra.me.has_broke = 0;
96596 fra.me.REG_size = 1;
96597 fra.me.REG[0] = NIT_NULL;
96598 fra.me.REG[0] = p0;
96599 /* ./parser//parser.nit:36235 */
96600 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
96601 stack_frame_head = fra.me.prev;
96602 init_table[itpos917] = 1;
96603 return;
96604 }
96605 void parser___ReduceAction914___action(val_t p0, val_t p1){
96606 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
96607 val_t REGB0;
96608 val_t tmp;
96609 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96610 fra.me.file = LOCATE_parser;
96611 fra.me.line = 36239;
96612 fra.me.meth = LOCATE_parser___ReduceAction914___action;
96613 fra.me.has_broke = 0;
96614 fra.me.REG_size = 5;
96615 fra.me.REG[0] = NIT_NULL;
96616 fra.me.REG[1] = NIT_NULL;
96617 fra.me.REG[2] = NIT_NULL;
96618 fra.me.REG[3] = NIT_NULL;
96619 fra.me.REG[4] = NIT_NULL;
96620 fra.me.REG[0] = p0;
96621 fra.me.REG[1] = p1;
96622 fra.me.REG[0] = NIT_NULL;
96623 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96624 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96625 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96626 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96627 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96628 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwisset, ID_TKwisset)) /*cast nullable TKwisset*/;
96629 /* ./parser//parser.nit:36248 */
96630 if (UNTAG_Bool(REGB0)) {
96631 } else {
96632 fprintf(stderr, "Assert failed");
96633 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36248);
96634 nit_exit(1);
96635 }
96636 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
96637 /* ./parser//parser.nit:36250 */
96638 if (UNTAG_Bool(REGB0)) {
96639 } else {
96640 fprintf(stderr, "Assert failed");
96641 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36250);
96642 nit_exit(1);
96643 }
96644 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
96645 /* ./parser//parser.nit:36252 */
96646 if (UNTAG_Bool(REGB0)) {
96647 } else {
96648 fprintf(stderr, "Assert failed");
96649 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36252);
96650 nit_exit(1);
96651 }
96652 fra.me.REG[2] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
96653 fra.me.REG[0] = fra.me.REG[2];
96654 REGB0 = TAG_Int(87);
96655 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
96656 /* ./parser//parser.nit:36259 */
96657 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
96658 stack_frame_head = fra.me.prev;
96659 return;
96660 }
96661 void parser___ReduceAction914___init(val_t p0, int* init_table){
96662 int itpos918 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction914].i;
96663 struct {struct stack_frame_t me;} fra;
96664 val_t tmp;
96665 if (init_table[itpos918]) return;
96666 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96667 fra.me.file = LOCATE_parser;
96668 fra.me.line = 36261;
96669 fra.me.meth = LOCATE_parser___ReduceAction914___init;
96670 fra.me.has_broke = 0;
96671 fra.me.REG_size = 1;
96672 fra.me.REG[0] = NIT_NULL;
96673 fra.me.REG[0] = p0;
96674 /* ./parser//parser.nit:36261 */
96675 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
96676 stack_frame_head = fra.me.prev;
96677 init_table[itpos918] = 1;
96678 return;
96679 }
96680 void parser___ReduceAction915___action(val_t p0, val_t p1){
96681 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
96682 val_t REGB0;
96683 val_t tmp;
96684 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96685 fra.me.file = LOCATE_parser;
96686 fra.me.line = 36265;
96687 fra.me.meth = LOCATE_parser___ReduceAction915___action;
96688 fra.me.has_broke = 0;
96689 fra.me.REG_size = 5;
96690 fra.me.REG[0] = NIT_NULL;
96691 fra.me.REG[1] = NIT_NULL;
96692 fra.me.REG[2] = NIT_NULL;
96693 fra.me.REG[3] = NIT_NULL;
96694 fra.me.REG[4] = NIT_NULL;
96695 fra.me.REG[0] = p0;
96696 fra.me.REG[1] = p1;
96697 fra.me.REG[0] = NIT_NULL;
96698 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96699 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96700 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwisset, ID_TKwisset)) /*cast nullable TKwisset*/;
96701 /* ./parser//parser.nit:36271 */
96702 if (UNTAG_Bool(REGB0)) {
96703 } else {
96704 fprintf(stderr, "Assert failed");
96705 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36271);
96706 nit_exit(1);
96707 }
96708 fra.me.REG[4] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
96709 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
96710 /* ./parser//parser.nit:36275 */
96711 if (UNTAG_Bool(REGB0)) {
96712 } else {
96713 fprintf(stderr, "Assert failed");
96714 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36275);
96715 nit_exit(1);
96716 }
96717 fra.me.REG[2] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]);
96718 fra.me.REG[0] = fra.me.REG[2];
96719 REGB0 = TAG_Int(87);
96720 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
96721 /* ./parser//parser.nit:36282 */
96722 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
96723 stack_frame_head = fra.me.prev;
96724 return;
96725 }
96726 void parser___ReduceAction915___init(val_t p0, int* init_table){
96727 int itpos919 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction915].i;
96728 struct {struct stack_frame_t me;} fra;
96729 val_t tmp;
96730 if (init_table[itpos919]) return;
96731 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96732 fra.me.file = LOCATE_parser;
96733 fra.me.line = 36284;
96734 fra.me.meth = LOCATE_parser___ReduceAction915___init;
96735 fra.me.has_broke = 0;
96736 fra.me.REG_size = 1;
96737 fra.me.REG[0] = NIT_NULL;
96738 fra.me.REG[0] = p0;
96739 /* ./parser//parser.nit:36284 */
96740 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
96741 stack_frame_head = fra.me.prev;
96742 init_table[itpos919] = 1;
96743 return;
96744 }
96745 void parser___ReduceAction916___action(val_t p0, val_t p1){
96746 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
96747 val_t REGB0;
96748 val_t tmp;
96749 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96750 fra.me.file = LOCATE_parser;
96751 fra.me.line = 36288;
96752 fra.me.meth = LOCATE_parser___ReduceAction916___action;
96753 fra.me.has_broke = 0;
96754 fra.me.REG_size = 4;
96755 fra.me.REG[0] = NIT_NULL;
96756 fra.me.REG[1] = NIT_NULL;
96757 fra.me.REG[2] = NIT_NULL;
96758 fra.me.REG[3] = NIT_NULL;
96759 fra.me.REG[0] = p0;
96760 fra.me.REG[1] = p1;
96761 fra.me.REG[0] = NIT_NULL;
96762 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96763 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96764 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96765 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96766 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
96767 /* ./parser//parser.nit:36296 */
96768 if (UNTAG_Bool(REGB0)) {
96769 } else {
96770 fprintf(stderr, "Assert failed");
96771 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36296);
96772 nit_exit(1);
96773 }
96774 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
96775 /* ./parser//parser.nit:36298 */
96776 if (UNTAG_Bool(REGB0)) {
96777 } else {
96778 fprintf(stderr, "Assert failed");
96779 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36298);
96780 nit_exit(1);
96781 }
96782 fra.me.REG[2] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[3], fra.me.REG[2]);
96783 fra.me.REG[0] = fra.me.REG[2];
96784 REGB0 = TAG_Int(88);
96785 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
96786 /* ./parser//parser.nit:36304 */
96787 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
96788 stack_frame_head = fra.me.prev;
96789 return;
96790 }
96791 void parser___ReduceAction916___init(val_t p0, int* init_table){
96792 int itpos920 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction916].i;
96793 struct {struct stack_frame_t me;} fra;
96794 val_t tmp;
96795 if (init_table[itpos920]) return;
96796 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96797 fra.me.file = LOCATE_parser;
96798 fra.me.line = 36306;
96799 fra.me.meth = LOCATE_parser___ReduceAction916___init;
96800 fra.me.has_broke = 0;
96801 fra.me.REG_size = 1;
96802 fra.me.REG[0] = NIT_NULL;
96803 fra.me.REG[0] = p0;
96804 /* ./parser//parser.nit:36306 */
96805 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
96806 stack_frame_head = fra.me.prev;
96807 init_table[itpos920] = 1;
96808 return;
96809 }
96810 void parser___ReduceAction917___action(val_t p0, val_t p1){
96811 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
96812 val_t REGB0;
96813 val_t tmp;
96814 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96815 fra.me.file = LOCATE_parser;
96816 fra.me.line = 36310;
96817 fra.me.meth = LOCATE_parser___ReduceAction917___action;
96818 fra.me.has_broke = 0;
96819 fra.me.REG_size = 4;
96820 fra.me.REG[0] = NIT_NULL;
96821 fra.me.REG[1] = NIT_NULL;
96822 fra.me.REG[2] = NIT_NULL;
96823 fra.me.REG[3] = NIT_NULL;
96824 fra.me.REG[0] = p0;
96825 fra.me.REG[1] = p1;
96826 fra.me.REG[0] = NIT_NULL;
96827 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96828 fra.me.REG[3] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
96829 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
96830 /* ./parser//parser.nit:36317 */
96831 if (UNTAG_Bool(REGB0)) {
96832 } else {
96833 fprintf(stderr, "Assert failed");
96834 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36317);
96835 nit_exit(1);
96836 }
96837 fra.me.REG[2] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[3], fra.me.REG[2]);
96838 fra.me.REG[0] = fra.me.REG[2];
96839 REGB0 = TAG_Int(88);
96840 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
96841 /* ./parser//parser.nit:36323 */
96842 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
96843 stack_frame_head = fra.me.prev;
96844 return;
96845 }
96846 void parser___ReduceAction917___init(val_t p0, int* init_table){
96847 int itpos921 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction917].i;
96848 struct {struct stack_frame_t me;} fra;
96849 val_t tmp;
96850 if (init_table[itpos921]) return;
96851 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96852 fra.me.file = LOCATE_parser;
96853 fra.me.line = 36325;
96854 fra.me.meth = LOCATE_parser___ReduceAction917___init;
96855 fra.me.has_broke = 0;
96856 fra.me.REG_size = 1;
96857 fra.me.REG[0] = NIT_NULL;
96858 fra.me.REG[0] = p0;
96859 /* ./parser//parser.nit:36325 */
96860 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
96861 stack_frame_head = fra.me.prev;
96862 init_table[itpos921] = 1;
96863 return;
96864 }
96865 void parser___ReduceAction918___action(val_t p0, val_t p1){
96866 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
96867 val_t REGB0;
96868 val_t tmp;
96869 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96870 fra.me.file = LOCATE_parser;
96871 fra.me.line = 36329;
96872 fra.me.meth = LOCATE_parser___ReduceAction918___action;
96873 fra.me.has_broke = 0;
96874 fra.me.REG_size = 7;
96875 fra.me.REG[0] = NIT_NULL;
96876 fra.me.REG[1] = NIT_NULL;
96877 fra.me.REG[2] = NIT_NULL;
96878 fra.me.REG[3] = NIT_NULL;
96879 fra.me.REG[4] = NIT_NULL;
96880 fra.me.REG[5] = NIT_NULL;
96881 fra.me.REG[6] = NIT_NULL;
96882 fra.me.REG[0] = p0;
96883 fra.me.REG[1] = p1;
96884 fra.me.REG[0] = NIT_NULL;
96885 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96886 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96887 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96888 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96889 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96890 fra.me.REG[5] = NEW_Array_array___Array___init();
96891 fra.me.REG[6] = NEW_Array_array___Array___init();
96892 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
96893 /* ./parser//parser.nit:36340 */
96894 if (UNTAG_Bool(REGB0)) {
96895 } else {
96896 fprintf(stderr, "Assert failed");
96897 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36340);
96898 nit_exit(1);
96899 }
96900 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
96901 /* ./parser//parser.nit:36342 */
96902 if (UNTAG_Bool(REGB0)) {
96903 } else {
96904 fprintf(stderr, "Assert failed");
96905 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36342);
96906 nit_exit(1);
96907 }
96908 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
96909 /* ./parser//parser.nit:36344 */
96910 if (UNTAG_Bool(REGB0)) {
96911 } else {
96912 fprintf(stderr, "Assert failed");
96913 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36344);
96914 nit_exit(1);
96915 }
96916 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
96917 /* ./parser//parser.nit:36346 */
96918 if (UNTAG_Bool(REGB0)) {
96919 fra.me.REG[5] = fra.me.REG[2];
96920 /* ./parser//parser.nit:36347 */
96921 } else {
96922 /* ./parser//parser.nit:36349 */
96923 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
96924 }
96925 fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[6]);
96926 fra.me.REG[0] = fra.me.REG[6];
96927 REGB0 = TAG_Int(88);
96928 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
96929 /* ./parser//parser.nit:36359 */
96930 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
96931 stack_frame_head = fra.me.prev;
96932 return;
96933 }
96934 void parser___ReduceAction918___init(val_t p0, int* init_table){
96935 int itpos922 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction918].i;
96936 struct {struct stack_frame_t me;} fra;
96937 val_t tmp;
96938 if (init_table[itpos922]) return;
96939 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96940 fra.me.file = LOCATE_parser;
96941 fra.me.line = 36361;
96942 fra.me.meth = LOCATE_parser___ReduceAction918___init;
96943 fra.me.has_broke = 0;
96944 fra.me.REG_size = 1;
96945 fra.me.REG[0] = NIT_NULL;
96946 fra.me.REG[0] = p0;
96947 /* ./parser//parser.nit:36361 */
96948 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
96949 stack_frame_head = fra.me.prev;
96950 init_table[itpos922] = 1;
96951 return;
96952 }
96953 void parser___ReduceAction919___action(val_t p0, val_t p1){
96954 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
96955 val_t REGB0;
96956 val_t tmp;
96957 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96958 fra.me.file = LOCATE_parser;
96959 fra.me.line = 36365;
96960 fra.me.meth = LOCATE_parser___ReduceAction919___action;
96961 fra.me.has_broke = 0;
96962 fra.me.REG_size = 7;
96963 fra.me.REG[0] = NIT_NULL;
96964 fra.me.REG[1] = NIT_NULL;
96965 fra.me.REG[2] = NIT_NULL;
96966 fra.me.REG[3] = NIT_NULL;
96967 fra.me.REG[4] = NIT_NULL;
96968 fra.me.REG[5] = NIT_NULL;
96969 fra.me.REG[6] = NIT_NULL;
96970 fra.me.REG[0] = p0;
96971 fra.me.REG[1] = p1;
96972 fra.me.REG[0] = NIT_NULL;
96973 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96974 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
96975 fra.me.REG[4] = NEW_Array_array___Array___init();
96976 fra.me.REG[5] = NEW_Array_array___Array___init();
96977 fra.me.REG[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
96978 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
96979 /* ./parser//parser.nit:36375 */
96980 if (UNTAG_Bool(REGB0)) {
96981 } else {
96982 fprintf(stderr, "Assert failed");
96983 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36375);
96984 nit_exit(1);
96985 }
96986 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
96987 /* ./parser//parser.nit:36377 */
96988 if (UNTAG_Bool(REGB0)) {
96989 } else {
96990 fprintf(stderr, "Assert failed");
96991 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36377);
96992 nit_exit(1);
96993 }
96994 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
96995 /* ./parser//parser.nit:36379 */
96996 if (UNTAG_Bool(REGB0)) {
96997 fra.me.REG[4] = fra.me.REG[2];
96998 /* ./parser//parser.nit:36380 */
96999 } else {
97000 /* ./parser//parser.nit:36382 */
97001 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
97002 }
97003 fra.me.REG[5] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[6], fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]);
97004 fra.me.REG[0] = fra.me.REG[5];
97005 REGB0 = TAG_Int(88);
97006 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
97007 /* ./parser//parser.nit:36392 */
97008 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
97009 stack_frame_head = fra.me.prev;
97010 return;
97011 }
97012 void parser___ReduceAction919___init(val_t p0, int* init_table){
97013 int itpos923 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction919].i;
97014 struct {struct stack_frame_t me;} fra;
97015 val_t tmp;
97016 if (init_table[itpos923]) return;
97017 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97018 fra.me.file = LOCATE_parser;
97019 fra.me.line = 36394;
97020 fra.me.meth = LOCATE_parser___ReduceAction919___init;
97021 fra.me.has_broke = 0;
97022 fra.me.REG_size = 1;
97023 fra.me.REG[0] = NIT_NULL;
97024 fra.me.REG[0] = p0;
97025 /* ./parser//parser.nit:36394 */
97026 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
97027 stack_frame_head = fra.me.prev;
97028 init_table[itpos923] = 1;
97029 return;
97030 }
97031 void parser___ReduceAction920___action(val_t p0, val_t p1){
97032 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
97033 val_t REGB0;
97034 val_t tmp;
97035 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97036 fra.me.file = LOCATE_parser;
97037 fra.me.line = 36398;
97038 fra.me.meth = LOCATE_parser___ReduceAction920___action;
97039 fra.me.has_broke = 0;
97040 fra.me.REG_size = 5;
97041 fra.me.REG[0] = NIT_NULL;
97042 fra.me.REG[1] = NIT_NULL;
97043 fra.me.REG[2] = NIT_NULL;
97044 fra.me.REG[3] = NIT_NULL;
97045 fra.me.REG[4] = NIT_NULL;
97046 fra.me.REG[0] = p0;
97047 fra.me.REG[1] = p1;
97048 fra.me.REG[0] = NIT_NULL;
97049 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97050 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97051 fra.me.REG[4] = NEW_Array_array___Array___init();
97052 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/;
97053 /* ./parser//parser.nit:36405 */
97054 if (UNTAG_Bool(REGB0)) {
97055 } else {
97056 fprintf(stderr, "Assert failed");
97057 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36405);
97058 nit_exit(1);
97059 }
97060 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
97061 /* ./parser//parser.nit:36407 */
97062 if (UNTAG_Bool(REGB0)) {
97063 } else {
97064 fprintf(stderr, "Assert failed");
97065 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36407);
97066 nit_exit(1);
97067 }
97068 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
97069 /* ./parser//parser.nit:36409 */
97070 if (UNTAG_Bool(REGB0)) {
97071 fra.me.REG[4] = fra.me.REG[2];
97072 /* ./parser//parser.nit:36410 */
97073 } else {
97074 /* ./parser//parser.nit:36412 */
97075 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
97076 }
97077 fra.me.REG[4] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
97078 fra.me.REG[0] = fra.me.REG[4];
97079 REGB0 = TAG_Int(88);
97080 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
97081 /* ./parser//parser.nit:36421 */
97082 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
97083 stack_frame_head = fra.me.prev;
97084 return;
97085 }
97086 void parser___ReduceAction920___init(val_t p0, int* init_table){
97087 int itpos924 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction920].i;
97088 struct {struct stack_frame_t me;} fra;
97089 val_t tmp;
97090 if (init_table[itpos924]) return;
97091 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97092 fra.me.file = LOCATE_parser;
97093 fra.me.line = 36423;
97094 fra.me.meth = LOCATE_parser___ReduceAction920___init;
97095 fra.me.has_broke = 0;
97096 fra.me.REG_size = 1;
97097 fra.me.REG[0] = NIT_NULL;
97098 fra.me.REG[0] = p0;
97099 /* ./parser//parser.nit:36423 */
97100 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
97101 stack_frame_head = fra.me.prev;
97102 init_table[itpos924] = 1;
97103 return;
97104 }
97105 void parser___ReduceAction921___action(val_t p0, val_t p1){
97106 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
97107 val_t REGB0;
97108 val_t tmp;
97109 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97110 fra.me.file = LOCATE_parser;
97111 fra.me.line = 36427;
97112 fra.me.meth = LOCATE_parser___ReduceAction921___action;
97113 fra.me.has_broke = 0;
97114 fra.me.REG_size = 6;
97115 fra.me.REG[0] = NIT_NULL;
97116 fra.me.REG[1] = NIT_NULL;
97117 fra.me.REG[2] = NIT_NULL;
97118 fra.me.REG[3] = NIT_NULL;
97119 fra.me.REG[4] = NIT_NULL;
97120 fra.me.REG[5] = NIT_NULL;
97121 fra.me.REG[0] = p0;
97122 fra.me.REG[1] = p1;
97123 fra.me.REG[0] = NIT_NULL;
97124 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97125 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97126 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97127 fra.me.REG[5] = NEW_Array_array___Array___init();
97128 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AQualified, ID_AQualified)) /*cast nullable AQualified*/;
97129 /* ./parser//parser.nit:36435 */
97130 if (UNTAG_Bool(REGB0)) {
97131 } else {
97132 fprintf(stderr, "Assert failed");
97133 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36435);
97134 nit_exit(1);
97135 }
97136 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/;
97137 /* ./parser//parser.nit:36437 */
97138 if (UNTAG_Bool(REGB0)) {
97139 } else {
97140 fprintf(stderr, "Assert failed");
97141 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36437);
97142 nit_exit(1);
97143 }
97144 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
97145 /* ./parser//parser.nit:36439 */
97146 if (UNTAG_Bool(REGB0)) {
97147 } else {
97148 fprintf(stderr, "Assert failed");
97149 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36439);
97150 nit_exit(1);
97151 }
97152 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
97153 /* ./parser//parser.nit:36441 */
97154 if (UNTAG_Bool(REGB0)) {
97155 fra.me.REG[5] = fra.me.REG[2];
97156 /* ./parser//parser.nit:36442 */
97157 } else {
97158 /* ./parser//parser.nit:36444 */
97159 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
97160 }
97161 fra.me.REG[5] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
97162 fra.me.REG[0] = fra.me.REG[5];
97163 REGB0 = TAG_Int(88);
97164 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
97165 /* ./parser//parser.nit:36453 */
97166 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
97167 stack_frame_head = fra.me.prev;
97168 return;
97169 }
97170 void parser___ReduceAction921___init(val_t p0, int* init_table){
97171 int itpos925 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction921].i;
97172 struct {struct stack_frame_t me;} fra;
97173 val_t tmp;
97174 if (init_table[itpos925]) return;
97175 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97176 fra.me.file = LOCATE_parser;
97177 fra.me.line = 36455;
97178 fra.me.meth = LOCATE_parser___ReduceAction921___init;
97179 fra.me.has_broke = 0;
97180 fra.me.REG_size = 1;
97181 fra.me.REG[0] = NIT_NULL;
97182 fra.me.REG[0] = p0;
97183 /* ./parser//parser.nit:36455 */
97184 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
97185 stack_frame_head = fra.me.prev;
97186 init_table[itpos925] = 1;
97187 return;
97188 }
97189 void parser___ReduceAction922___action(val_t p0, val_t p1){
97190 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
97191 val_t REGB0;
97192 val_t tmp;
97193 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97194 fra.me.file = LOCATE_parser;
97195 fra.me.line = 36459;
97196 fra.me.meth = LOCATE_parser___ReduceAction922___action;
97197 fra.me.has_broke = 0;
97198 fra.me.REG_size = 6;
97199 fra.me.REG[0] = NIT_NULL;
97200 fra.me.REG[1] = NIT_NULL;
97201 fra.me.REG[2] = NIT_NULL;
97202 fra.me.REG[3] = NIT_NULL;
97203 fra.me.REG[4] = NIT_NULL;
97204 fra.me.REG[5] = NIT_NULL;
97205 fra.me.REG[0] = p0;
97206 fra.me.REG[1] = p1;
97207 fra.me.REG[0] = NIT_NULL;
97208 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97209 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97210 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97211 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97212 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97213 fra.me.REG[5] = NEW_Array_array___Array___init();
97214 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
97215 /* ./parser//parser.nit:36469 */
97216 if (UNTAG_Bool(REGB0)) {
97217 } else {
97218 fprintf(stderr, "Assert failed");
97219 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36469);
97220 nit_exit(1);
97221 }
97222 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
97223 /* ./parser//parser.nit:36471 */
97224 if (UNTAG_Bool(REGB0)) {
97225 } else {
97226 fprintf(stderr, "Assert failed");
97227 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36471);
97228 nit_exit(1);
97229 }
97230 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
97231 /* ./parser//parser.nit:36473 */
97232 if (UNTAG_Bool(REGB0)) {
97233 } else {
97234 fprintf(stderr, "Assert failed");
97235 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36473);
97236 nit_exit(1);
97237 }
97238 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
97239 /* ./parser//parser.nit:36475 */
97240 if (UNTAG_Bool(REGB0)) {
97241 fra.me.REG[5] = fra.me.REG[2];
97242 /* ./parser//parser.nit:36476 */
97243 } else {
97244 /* ./parser//parser.nit:36478 */
97245 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
97246 }
97247 fra.me.REG[5] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
97248 fra.me.REG[0] = fra.me.REG[5];
97249 REGB0 = TAG_Int(88);
97250 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
97251 /* ./parser//parser.nit:36487 */
97252 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
97253 stack_frame_head = fra.me.prev;
97254 return;
97255 }
97256 void parser___ReduceAction922___init(val_t p0, int* init_table){
97257 int itpos926 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction922].i;
97258 struct {struct stack_frame_t me;} fra;
97259 val_t tmp;
97260 if (init_table[itpos926]) return;
97261 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97262 fra.me.file = LOCATE_parser;
97263 fra.me.line = 36489;
97264 fra.me.meth = LOCATE_parser___ReduceAction922___init;
97265 fra.me.has_broke = 0;
97266 fra.me.REG_size = 1;
97267 fra.me.REG[0] = NIT_NULL;
97268 fra.me.REG[0] = p0;
97269 /* ./parser//parser.nit:36489 */
97270 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
97271 stack_frame_head = fra.me.prev;
97272 init_table[itpos926] = 1;
97273 return;
97274 }
97275 void parser___ReduceAction923___action(val_t p0, val_t p1){
97276 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
97277 val_t REGB0;
97278 val_t tmp;
97279 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97280 fra.me.file = LOCATE_parser;
97281 fra.me.line = 36493;
97282 fra.me.meth = LOCATE_parser___ReduceAction923___action;
97283 fra.me.has_broke = 0;
97284 fra.me.REG_size = 6;
97285 fra.me.REG[0] = NIT_NULL;
97286 fra.me.REG[1] = NIT_NULL;
97287 fra.me.REG[2] = NIT_NULL;
97288 fra.me.REG[3] = NIT_NULL;
97289 fra.me.REG[4] = NIT_NULL;
97290 fra.me.REG[5] = NIT_NULL;
97291 fra.me.REG[0] = p0;
97292 fra.me.REG[1] = p1;
97293 fra.me.REG[0] = NIT_NULL;
97294 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97295 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97296 fra.me.REG[4] = NEW_Array_array___Array___init();
97297 fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
97298 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
97299 /* ./parser//parser.nit:36502 */
97300 if (UNTAG_Bool(REGB0)) {
97301 } else {
97302 fprintf(stderr, "Assert failed");
97303 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36502);
97304 nit_exit(1);
97305 }
97306 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
97307 /* ./parser//parser.nit:36504 */
97308 if (UNTAG_Bool(REGB0)) {
97309 } else {
97310 fprintf(stderr, "Assert failed");
97311 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36504);
97312 nit_exit(1);
97313 }
97314 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
97315 /* ./parser//parser.nit:36506 */
97316 if (UNTAG_Bool(REGB0)) {
97317 fra.me.REG[4] = fra.me.REG[2];
97318 /* ./parser//parser.nit:36507 */
97319 } else {
97320 /* ./parser//parser.nit:36509 */
97321 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
97322 }
97323 fra.me.REG[4] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[3], fra.me.REG[4]);
97324 fra.me.REG[0] = fra.me.REG[4];
97325 REGB0 = TAG_Int(88);
97326 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
97327 /* ./parser//parser.nit:36518 */
97328 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
97329 stack_frame_head = fra.me.prev;
97330 return;
97331 }
97332 void parser___ReduceAction923___init(val_t p0, int* init_table){
97333 int itpos927 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction923].i;
97334 struct {struct stack_frame_t me;} fra;
97335 val_t tmp;
97336 if (init_table[itpos927]) return;
97337 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97338 fra.me.file = LOCATE_parser;
97339 fra.me.line = 36520;
97340 fra.me.meth = LOCATE_parser___ReduceAction923___init;
97341 fra.me.has_broke = 0;
97342 fra.me.REG_size = 1;
97343 fra.me.REG[0] = NIT_NULL;
97344 fra.me.REG[0] = p0;
97345 /* ./parser//parser.nit:36520 */
97346 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
97347 stack_frame_head = fra.me.prev;
97348 init_table[itpos927] = 1;
97349 return;
97350 }
97351 void parser___ReduceAction924___action(val_t p0, val_t p1){
97352 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
97353 val_t REGB0;
97354 val_t tmp;
97355 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97356 fra.me.file = LOCATE_parser;
97357 fra.me.line = 36524;
97358 fra.me.meth = LOCATE_parser___ReduceAction924___action;
97359 fra.me.has_broke = 0;
97360 fra.me.REG_size = 7;
97361 fra.me.REG[0] = NIT_NULL;
97362 fra.me.REG[1] = NIT_NULL;
97363 fra.me.REG[2] = NIT_NULL;
97364 fra.me.REG[3] = NIT_NULL;
97365 fra.me.REG[4] = NIT_NULL;
97366 fra.me.REG[5] = NIT_NULL;
97367 fra.me.REG[6] = NIT_NULL;
97368 fra.me.REG[0] = p0;
97369 fra.me.REG[1] = p1;
97370 fra.me.REG[0] = NIT_NULL;
97371 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97372 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97373 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97374 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97375 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97376 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97377 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97378 fra.me.REG[6] = NEW_Array_array___Array___init();
97379 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwnew, ID_TKwnew)) /*cast nullable TKwnew*/;
97380 /* ./parser//parser.nit:36536 */
97381 if (UNTAG_Bool(REGB0)) {
97382 } else {
97383 fprintf(stderr, "Assert failed");
97384 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36536);
97385 nit_exit(1);
97386 }
97387 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
97388 /* ./parser//parser.nit:36538 */
97389 if (UNTAG_Bool(REGB0)) {
97390 } else {
97391 fprintf(stderr, "Assert failed");
97392 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36538);
97393 nit_exit(1);
97394 }
97395 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
97396 /* ./parser//parser.nit:36540 */
97397 if (UNTAG_Bool(REGB0)) {
97398 } else {
97399 fprintf(stderr, "Assert failed");
97400 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36540);
97401 nit_exit(1);
97402 }
97403 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
97404 /* ./parser//parser.nit:36542 */
97405 if (UNTAG_Bool(REGB0)) {
97406 } else {
97407 fprintf(stderr, "Assert failed");
97408 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36542);
97409 nit_exit(1);
97410 }
97411 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
97412 /* ./parser//parser.nit:36544 */
97413 if (UNTAG_Bool(REGB0)) {
97414 fra.me.REG[6] = fra.me.REG[2];
97415 /* ./parser//parser.nit:36545 */
97416 } else {
97417 /* ./parser//parser.nit:36547 */
97418 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
97419 }
97420 fra.me.REG[6] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6]);
97421 fra.me.REG[0] = fra.me.REG[6];
97422 REGB0 = TAG_Int(88);
97423 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
97424 /* ./parser//parser.nit:36557 */
97425 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
97426 stack_frame_head = fra.me.prev;
97427 return;
97428 }
97429 void parser___ReduceAction924___init(val_t p0, int* init_table){
97430 int itpos928 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction924].i;
97431 struct {struct stack_frame_t me;} fra;
97432 val_t tmp;
97433 if (init_table[itpos928]) return;
97434 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97435 fra.me.file = LOCATE_parser;
97436 fra.me.line = 36559;
97437 fra.me.meth = LOCATE_parser___ReduceAction924___init;
97438 fra.me.has_broke = 0;
97439 fra.me.REG_size = 1;
97440 fra.me.REG[0] = NIT_NULL;
97441 fra.me.REG[0] = p0;
97442 /* ./parser//parser.nit:36559 */
97443 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
97444 stack_frame_head = fra.me.prev;
97445 init_table[itpos928] = 1;
97446 return;
97447 }
97448 void parser___ReduceAction925___action(val_t p0, val_t p1){
97449 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
97450 val_t REGB0;
97451 val_t tmp;
97452 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97453 fra.me.file = LOCATE_parser;
97454 fra.me.line = 36563;
97455 fra.me.meth = LOCATE_parser___ReduceAction925___action;
97456 fra.me.has_broke = 0;
97457 fra.me.REG_size = 3;
97458 fra.me.REG[0] = NIT_NULL;
97459 fra.me.REG[1] = NIT_NULL;
97460 fra.me.REG[2] = NIT_NULL;
97461 fra.me.REG[0] = p0;
97462 fra.me.REG[1] = p1;
97463 fra.me.REG[0] = NIT_NULL;
97464 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97465 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwself, ID_TKwself)) /*cast nullable TKwself*/;
97466 /* ./parser//parser.nit:36568 */
97467 if (UNTAG_Bool(REGB0)) {
97468 } else {
97469 fprintf(stderr, "Assert failed");
97470 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36568);
97471 nit_exit(1);
97472 }
97473 fra.me.REG[2] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr(fra.me.REG[2]);
97474 fra.me.REG[0] = fra.me.REG[2];
97475 REGB0 = TAG_Int(88);
97476 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
97477 /* ./parser//parser.nit:36573 */
97478 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
97479 stack_frame_head = fra.me.prev;
97480 return;
97481 }
97482 void parser___ReduceAction925___init(val_t p0, int* init_table){
97483 int itpos929 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction925].i;
97484 struct {struct stack_frame_t me;} fra;
97485 val_t tmp;
97486 if (init_table[itpos929]) return;
97487 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97488 fra.me.file = LOCATE_parser;
97489 fra.me.line = 36575;
97490 fra.me.meth = LOCATE_parser___ReduceAction925___init;
97491 fra.me.has_broke = 0;
97492 fra.me.REG_size = 1;
97493 fra.me.REG[0] = NIT_NULL;
97494 fra.me.REG[0] = p0;
97495 /* ./parser//parser.nit:36575 */
97496 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
97497 stack_frame_head = fra.me.prev;
97498 init_table[itpos929] = 1;
97499 return;
97500 }
97501 void parser___ReduceAction926___action(val_t p0, val_t p1){
97502 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
97503 val_t REGB0;
97504 val_t tmp;
97505 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97506 fra.me.file = LOCATE_parser;
97507 fra.me.line = 36579;
97508 fra.me.meth = LOCATE_parser___ReduceAction926___action;
97509 fra.me.has_broke = 0;
97510 fra.me.REG_size = 3;
97511 fra.me.REG[0] = NIT_NULL;
97512 fra.me.REG[1] = NIT_NULL;
97513 fra.me.REG[2] = NIT_NULL;
97514 fra.me.REG[0] = p0;
97515 fra.me.REG[1] = p1;
97516 fra.me.REG[0] = NIT_NULL;
97517 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97518 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwtrue, ID_TKwtrue)) /*cast nullable TKwtrue*/;
97519 /* ./parser//parser.nit:36584 */
97520 if (UNTAG_Bool(REGB0)) {
97521 } else {
97522 fprintf(stderr, "Assert failed");
97523 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36584);
97524 nit_exit(1);
97525 }
97526 fra.me.REG[2] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr(fra.me.REG[2]);
97527 fra.me.REG[0] = fra.me.REG[2];
97528 REGB0 = TAG_Int(88);
97529 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
97530 /* ./parser//parser.nit:36589 */
97531 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
97532 stack_frame_head = fra.me.prev;
97533 return;
97534 }
97535 void parser___ReduceAction926___init(val_t p0, int* init_table){
97536 int itpos930 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction926].i;
97537 struct {struct stack_frame_t me;} fra;
97538 val_t tmp;
97539 if (init_table[itpos930]) return;
97540 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97541 fra.me.file = LOCATE_parser;
97542 fra.me.line = 36591;
97543 fra.me.meth = LOCATE_parser___ReduceAction926___init;
97544 fra.me.has_broke = 0;
97545 fra.me.REG_size = 1;
97546 fra.me.REG[0] = NIT_NULL;
97547 fra.me.REG[0] = p0;
97548 /* ./parser//parser.nit:36591 */
97549 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
97550 stack_frame_head = fra.me.prev;
97551 init_table[itpos930] = 1;
97552 return;
97553 }
97554 void parser___ReduceAction927___action(val_t p0, val_t p1){
97555 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
97556 val_t REGB0;
97557 val_t tmp;
97558 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97559 fra.me.file = LOCATE_parser;
97560 fra.me.line = 36595;
97561 fra.me.meth = LOCATE_parser___ReduceAction927___action;
97562 fra.me.has_broke = 0;
97563 fra.me.REG_size = 3;
97564 fra.me.REG[0] = NIT_NULL;
97565 fra.me.REG[1] = NIT_NULL;
97566 fra.me.REG[2] = NIT_NULL;
97567 fra.me.REG[0] = p0;
97568 fra.me.REG[1] = p1;
97569 fra.me.REG[0] = NIT_NULL;
97570 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97571 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwfalse, ID_TKwfalse)) /*cast nullable TKwfalse*/;
97572 /* ./parser//parser.nit:36600 */
97573 if (UNTAG_Bool(REGB0)) {
97574 } else {
97575 fprintf(stderr, "Assert failed");
97576 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36600);
97577 nit_exit(1);
97578 }
97579 fra.me.REG[2] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr(fra.me.REG[2]);
97580 fra.me.REG[0] = fra.me.REG[2];
97581 REGB0 = TAG_Int(88);
97582 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
97583 /* ./parser//parser.nit:36605 */
97584 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
97585 stack_frame_head = fra.me.prev;
97586 return;
97587 }
97588 void parser___ReduceAction927___init(val_t p0, int* init_table){
97589 int itpos931 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction927].i;
97590 struct {struct stack_frame_t me;} fra;
97591 val_t tmp;
97592 if (init_table[itpos931]) return;
97593 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97594 fra.me.file = LOCATE_parser;
97595 fra.me.line = 36607;
97596 fra.me.meth = LOCATE_parser___ReduceAction927___init;
97597 fra.me.has_broke = 0;
97598 fra.me.REG_size = 1;
97599 fra.me.REG[0] = NIT_NULL;
97600 fra.me.REG[0] = p0;
97601 /* ./parser//parser.nit:36607 */
97602 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
97603 stack_frame_head = fra.me.prev;
97604 init_table[itpos931] = 1;
97605 return;
97606 }
97607 void parser___ReduceAction928___action(val_t p0, val_t p1){
97608 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
97609 val_t REGB0;
97610 val_t tmp;
97611 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97612 fra.me.file = LOCATE_parser;
97613 fra.me.line = 36611;
97614 fra.me.meth = LOCATE_parser___ReduceAction928___action;
97615 fra.me.has_broke = 0;
97616 fra.me.REG_size = 3;
97617 fra.me.REG[0] = NIT_NULL;
97618 fra.me.REG[1] = NIT_NULL;
97619 fra.me.REG[2] = NIT_NULL;
97620 fra.me.REG[0] = p0;
97621 fra.me.REG[1] = p1;
97622 fra.me.REG[0] = NIT_NULL;
97623 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97624 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast nullable TKwnull*/;
97625 /* ./parser//parser.nit:36616 */
97626 if (UNTAG_Bool(REGB0)) {
97627 } else {
97628 fprintf(stderr, "Assert failed");
97629 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36616);
97630 nit_exit(1);
97631 }
97632 fra.me.REG[2] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr(fra.me.REG[2]);
97633 fra.me.REG[0] = fra.me.REG[2];
97634 REGB0 = TAG_Int(88);
97635 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
97636 /* ./parser//parser.nit:36621 */
97637 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
97638 stack_frame_head = fra.me.prev;
97639 return;
97640 }
97641 void parser___ReduceAction928___init(val_t p0, int* init_table){
97642 int itpos932 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction928].i;
97643 struct {struct stack_frame_t me;} fra;
97644 val_t tmp;
97645 if (init_table[itpos932]) return;
97646 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97647 fra.me.file = LOCATE_parser;
97648 fra.me.line = 36623;
97649 fra.me.meth = LOCATE_parser___ReduceAction928___init;
97650 fra.me.has_broke = 0;
97651 fra.me.REG_size = 1;
97652 fra.me.REG[0] = NIT_NULL;
97653 fra.me.REG[0] = p0;
97654 /* ./parser//parser.nit:36623 */
97655 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
97656 stack_frame_head = fra.me.prev;
97657 init_table[itpos932] = 1;
97658 return;
97659 }
97660 void parser___ReduceAction929___action(val_t p0, val_t p1){
97661 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
97662 val_t REGB0;
97663 val_t tmp;
97664 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97665 fra.me.file = LOCATE_parser;
97666 fra.me.line = 36627;
97667 fra.me.meth = LOCATE_parser___ReduceAction929___action;
97668 fra.me.has_broke = 0;
97669 fra.me.REG_size = 3;
97670 fra.me.REG[0] = NIT_NULL;
97671 fra.me.REG[1] = NIT_NULL;
97672 fra.me.REG[2] = NIT_NULL;
97673 fra.me.REG[0] = p0;
97674 fra.me.REG[1] = p1;
97675 fra.me.REG[0] = NIT_NULL;
97676 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97677 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TNumber, ID_TNumber)) /*cast nullable TNumber*/;
97678 /* ./parser//parser.nit:36632 */
97679 if (UNTAG_Bool(REGB0)) {
97680 } else {
97681 fprintf(stderr, "Assert failed");
97682 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36632);
97683 nit_exit(1);
97684 }
97685 fra.me.REG[2] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr(fra.me.REG[2]);
97686 fra.me.REG[0] = fra.me.REG[2];
97687 REGB0 = TAG_Int(88);
97688 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
97689 /* ./parser//parser.nit:36637 */
97690 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
97691 stack_frame_head = fra.me.prev;
97692 return;
97693 }
97694 void parser___ReduceAction929___init(val_t p0, int* init_table){
97695 int itpos933 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction929].i;
97696 struct {struct stack_frame_t me;} fra;
97697 val_t tmp;
97698 if (init_table[itpos933]) return;
97699 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97700 fra.me.file = LOCATE_parser;
97701 fra.me.line = 36639;
97702 fra.me.meth = LOCATE_parser___ReduceAction929___init;
97703 fra.me.has_broke = 0;
97704 fra.me.REG_size = 1;
97705 fra.me.REG[0] = NIT_NULL;
97706 fra.me.REG[0] = p0;
97707 /* ./parser//parser.nit:36639 */
97708 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
97709 stack_frame_head = fra.me.prev;
97710 init_table[itpos933] = 1;
97711 return;
97712 }
97713 void parser___ReduceAction930___action(val_t p0, val_t p1){
97714 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
97715 val_t REGB0;
97716 val_t tmp;
97717 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97718 fra.me.file = LOCATE_parser;
97719 fra.me.line = 36643;
97720 fra.me.meth = LOCATE_parser___ReduceAction930___action;
97721 fra.me.has_broke = 0;
97722 fra.me.REG_size = 3;
97723 fra.me.REG[0] = NIT_NULL;
97724 fra.me.REG[1] = NIT_NULL;
97725 fra.me.REG[2] = NIT_NULL;
97726 fra.me.REG[0] = p0;
97727 fra.me.REG[1] = p1;
97728 fra.me.REG[0] = NIT_NULL;
97729 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97730 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TFloat, ID_TFloat)) /*cast nullable TFloat*/;
97731 /* ./parser//parser.nit:36648 */
97732 if (UNTAG_Bool(REGB0)) {
97733 } else {
97734 fprintf(stderr, "Assert failed");
97735 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36648);
97736 nit_exit(1);
97737 }
97738 fra.me.REG[2] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr(fra.me.REG[2]);
97739 fra.me.REG[0] = fra.me.REG[2];
97740 REGB0 = TAG_Int(88);
97741 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
97742 /* ./parser//parser.nit:36653 */
97743 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
97744 stack_frame_head = fra.me.prev;
97745 return;
97746 }
97747 void parser___ReduceAction930___init(val_t p0, int* init_table){
97748 int itpos934 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction930].i;
97749 struct {struct stack_frame_t me;} fra;
97750 val_t tmp;
97751 if (init_table[itpos934]) return;
97752 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97753 fra.me.file = LOCATE_parser;
97754 fra.me.line = 36655;
97755 fra.me.meth = LOCATE_parser___ReduceAction930___init;
97756 fra.me.has_broke = 0;
97757 fra.me.REG_size = 1;
97758 fra.me.REG[0] = NIT_NULL;
97759 fra.me.REG[0] = p0;
97760 /* ./parser//parser.nit:36655 */
97761 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
97762 stack_frame_head = fra.me.prev;
97763 init_table[itpos934] = 1;
97764 return;
97765 }
97766 void parser___ReduceAction931___action(val_t p0, val_t p1){
97767 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
97768 val_t REGB0;
97769 val_t tmp;
97770 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97771 fra.me.file = LOCATE_parser;
97772 fra.me.line = 36659;
97773 fra.me.meth = LOCATE_parser___ReduceAction931___action;
97774 fra.me.has_broke = 0;
97775 fra.me.REG_size = 3;
97776 fra.me.REG[0] = NIT_NULL;
97777 fra.me.REG[1] = NIT_NULL;
97778 fra.me.REG[2] = NIT_NULL;
97779 fra.me.REG[0] = p0;
97780 fra.me.REG[1] = p1;
97781 fra.me.REG[0] = NIT_NULL;
97782 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97783 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TChar, ID_TChar)) /*cast nullable TChar*/;
97784 /* ./parser//parser.nit:36664 */
97785 if (UNTAG_Bool(REGB0)) {
97786 } else {
97787 fprintf(stderr, "Assert failed");
97788 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36664);
97789 nit_exit(1);
97790 }
97791 fra.me.REG[2] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr(fra.me.REG[2]);
97792 fra.me.REG[0] = fra.me.REG[2];
97793 REGB0 = TAG_Int(88);
97794 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
97795 /* ./parser//parser.nit:36669 */
97796 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
97797 stack_frame_head = fra.me.prev;
97798 return;
97799 }
97800 void parser___ReduceAction931___init(val_t p0, int* init_table){
97801 int itpos935 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction931].i;
97802 struct {struct stack_frame_t me;} fra;
97803 val_t tmp;
97804 if (init_table[itpos935]) return;
97805 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97806 fra.me.file = LOCATE_parser;
97807 fra.me.line = 36671;
97808 fra.me.meth = LOCATE_parser___ReduceAction931___init;
97809 fra.me.has_broke = 0;
97810 fra.me.REG_size = 1;
97811 fra.me.REG[0] = NIT_NULL;
97812 fra.me.REG[0] = p0;
97813 /* ./parser//parser.nit:36671 */
97814 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
97815 stack_frame_head = fra.me.prev;
97816 init_table[itpos935] = 1;
97817 return;
97818 }
97819 void parser___ReduceAction932___action(val_t p0, val_t p1){
97820 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
97821 val_t REGB0;
97822 val_t tmp;
97823 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97824 fra.me.file = LOCATE_parser;
97825 fra.me.line = 36675;
97826 fra.me.meth = LOCATE_parser___ReduceAction932___action;
97827 fra.me.has_broke = 0;
97828 fra.me.REG_size = 3;
97829 fra.me.REG[0] = NIT_NULL;
97830 fra.me.REG[1] = NIT_NULL;
97831 fra.me.REG[2] = NIT_NULL;
97832 fra.me.REG[0] = p0;
97833 fra.me.REG[1] = p1;
97834 fra.me.REG[0] = NIT_NULL;
97835 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97836 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
97837 /* ./parser//parser.nit:36680 */
97838 if (UNTAG_Bool(REGB0)) {
97839 } else {
97840 fprintf(stderr, "Assert failed");
97841 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36680);
97842 nit_exit(1);
97843 }
97844 fra.me.REG[2] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr(fra.me.REG[2]);
97845 fra.me.REG[0] = fra.me.REG[2];
97846 REGB0 = TAG_Int(88);
97847 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
97848 /* ./parser//parser.nit:36685 */
97849 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
97850 stack_frame_head = fra.me.prev;
97851 return;
97852 }
97853 void parser___ReduceAction932___init(val_t p0, int* init_table){
97854 int itpos936 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction932].i;
97855 struct {struct stack_frame_t me;} fra;
97856 val_t tmp;
97857 if (init_table[itpos936]) return;
97858 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97859 fra.me.file = LOCATE_parser;
97860 fra.me.line = 36687;
97861 fra.me.meth = LOCATE_parser___ReduceAction932___init;
97862 fra.me.has_broke = 0;
97863 fra.me.REG_size = 1;
97864 fra.me.REG[0] = NIT_NULL;
97865 fra.me.REG[0] = p0;
97866 /* ./parser//parser.nit:36687 */
97867 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
97868 stack_frame_head = fra.me.prev;
97869 init_table[itpos936] = 1;
97870 return;
97871 }
97872 void parser___ReduceAction933___action(val_t p0, val_t p1){
97873 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
97874 val_t REGB0;
97875 val_t tmp;
97876 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97877 fra.me.file = LOCATE_parser;
97878 fra.me.line = 36691;
97879 fra.me.meth = LOCATE_parser___ReduceAction933___action;
97880 fra.me.has_broke = 0;
97881 fra.me.REG_size = 3;
97882 fra.me.REG[0] = NIT_NULL;
97883 fra.me.REG[1] = NIT_NULL;
97884 fra.me.REG[2] = NIT_NULL;
97885 fra.me.REG[0] = p0;
97886 fra.me.REG[1] = p1;
97887 fra.me.REG[0] = NIT_NULL;
97888 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97889 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
97890 /* ./parser//parser.nit:36696 */
97891 if (UNTAG_Bool(REGB0)) {
97892 } else {
97893 fprintf(stderr, "Assert failed");
97894 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36696);
97895 nit_exit(1);
97896 }
97897 fra.me.REG[0] = fra.me.REG[2];
97898 REGB0 = TAG_Int(88);
97899 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
97900 /* ./parser//parser.nit:36698 */
97901 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
97902 stack_frame_head = fra.me.prev;
97903 return;
97904 }
97905 void parser___ReduceAction933___init(val_t p0, int* init_table){
97906 int itpos937 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction933].i;
97907 struct {struct stack_frame_t me;} fra;
97908 val_t tmp;
97909 if (init_table[itpos937]) return;
97910 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97911 fra.me.file = LOCATE_parser;
97912 fra.me.line = 36700;
97913 fra.me.meth = LOCATE_parser___ReduceAction933___init;
97914 fra.me.has_broke = 0;
97915 fra.me.REG_size = 1;
97916 fra.me.REG[0] = NIT_NULL;
97917 fra.me.REG[0] = p0;
97918 /* ./parser//parser.nit:36700 */
97919 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
97920 stack_frame_head = fra.me.prev;
97921 init_table[itpos937] = 1;
97922 return;
97923 }
97924 void parser___ReduceAction934___action(val_t p0, val_t p1){
97925 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
97926 val_t REGB0;
97927 val_t tmp;
97928 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97929 fra.me.file = LOCATE_parser;
97930 fra.me.line = 36704;
97931 fra.me.meth = LOCATE_parser___ReduceAction934___action;
97932 fra.me.has_broke = 0;
97933 fra.me.REG_size = 4;
97934 fra.me.REG[0] = NIT_NULL;
97935 fra.me.REG[1] = NIT_NULL;
97936 fra.me.REG[2] = NIT_NULL;
97937 fra.me.REG[3] = NIT_NULL;
97938 fra.me.REG[0] = p0;
97939 fra.me.REG[1] = p1;
97940 fra.me.REG[0] = NIT_NULL;
97941 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97942 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97943 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97944 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
97945 /* ./parser//parser.nit:36711 */
97946 if (UNTAG_Bool(REGB0)) {
97947 } else {
97948 fprintf(stderr, "Assert failed");
97949 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36711);
97950 nit_exit(1);
97951 }
97952 fra.me.REG[0] = fra.me.REG[2];
97953 REGB0 = TAG_Int(88);
97954 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
97955 /* ./parser//parser.nit:36713 */
97956 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
97957 stack_frame_head = fra.me.prev;
97958 return;
97959 }
97960 void parser___ReduceAction934___init(val_t p0, int* init_table){
97961 int itpos938 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction934].i;
97962 struct {struct stack_frame_t me;} fra;
97963 val_t tmp;
97964 if (init_table[itpos938]) return;
97965 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97966 fra.me.file = LOCATE_parser;
97967 fra.me.line = 36715;
97968 fra.me.meth = LOCATE_parser___ReduceAction934___init;
97969 fra.me.has_broke = 0;
97970 fra.me.REG_size = 1;
97971 fra.me.REG[0] = NIT_NULL;
97972 fra.me.REG[0] = p0;
97973 /* ./parser//parser.nit:36715 */
97974 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
97975 stack_frame_head = fra.me.prev;
97976 init_table[itpos938] = 1;
97977 return;
97978 }
97979 void parser___ReduceAction935___action(val_t p0, val_t p1){
97980 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
97981 val_t REGB0;
97982 val_t tmp;
97983 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97984 fra.me.file = LOCATE_parser;
97985 fra.me.line = 36719;
97986 fra.me.meth = LOCATE_parser___ReduceAction935___action;
97987 fra.me.has_broke = 0;
97988 fra.me.REG_size = 5;
97989 fra.me.REG[0] = NIT_NULL;
97990 fra.me.REG[1] = NIT_NULL;
97991 fra.me.REG[2] = NIT_NULL;
97992 fra.me.REG[3] = NIT_NULL;
97993 fra.me.REG[4] = NIT_NULL;
97994 fra.me.REG[0] = p0;
97995 fra.me.REG[1] = p1;
97996 fra.me.REG[0] = NIT_NULL;
97997 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97998 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
97999 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98000 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98001 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98002 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98003 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98004 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98005 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98006 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98007 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
98008 /* ./parser//parser.nit:36733 */
98009 if (UNTAG_Bool(REGB0)) {
98010 } else {
98011 fprintf(stderr, "Assert failed");
98012 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36733);
98013 nit_exit(1);
98014 }
98015 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwas, ID_TKwas)) /*cast nullable TKwas*/;
98016 /* ./parser//parser.nit:36735 */
98017 if (UNTAG_Bool(REGB0)) {
98018 } else {
98019 fprintf(stderr, "Assert failed");
98020 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36735);
98021 nit_exit(1);
98022 }
98023 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
98024 /* ./parser//parser.nit:36737 */
98025 if (UNTAG_Bool(REGB0)) {
98026 } else {
98027 fprintf(stderr, "Assert failed");
98028 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36737);
98029 nit_exit(1);
98030 }
98031 fra.me.REG[2] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
98032 fra.me.REG[0] = fra.me.REG[2];
98033 REGB0 = TAG_Int(88);
98034 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
98035 /* ./parser//parser.nit:36744 */
98036 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
98037 stack_frame_head = fra.me.prev;
98038 return;
98039 }
98040 void parser___ReduceAction935___init(val_t p0, int* init_table){
98041 int itpos939 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction935].i;
98042 struct {struct stack_frame_t me;} fra;
98043 val_t tmp;
98044 if (init_table[itpos939]) return;
98045 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98046 fra.me.file = LOCATE_parser;
98047 fra.me.line = 36746;
98048 fra.me.meth = LOCATE_parser___ReduceAction935___init;
98049 fra.me.has_broke = 0;
98050 fra.me.REG_size = 1;
98051 fra.me.REG[0] = NIT_NULL;
98052 fra.me.REG[0] = p0;
98053 /* ./parser//parser.nit:36746 */
98054 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
98055 stack_frame_head = fra.me.prev;
98056 init_table[itpos939] = 1;
98057 return;
98058 }
98059 void parser___ReduceAction936___action(val_t p0, val_t p1){
98060 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
98061 val_t REGB0;
98062 val_t tmp;
98063 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98064 fra.me.file = LOCATE_parser;
98065 fra.me.line = 36750;
98066 fra.me.meth = LOCATE_parser___ReduceAction936___action;
98067 fra.me.has_broke = 0;
98068 fra.me.REG_size = 6;
98069 fra.me.REG[0] = NIT_NULL;
98070 fra.me.REG[1] = NIT_NULL;
98071 fra.me.REG[2] = NIT_NULL;
98072 fra.me.REG[3] = NIT_NULL;
98073 fra.me.REG[4] = NIT_NULL;
98074 fra.me.REG[5] = NIT_NULL;
98075 fra.me.REG[0] = p0;
98076 fra.me.REG[1] = p1;
98077 fra.me.REG[0] = NIT_NULL;
98078 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98079 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98080 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98081 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98082 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98083 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98084 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98085 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98086 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98087 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98088 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98089 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98090 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
98091 /* ./parser//parser.nit:36766 */
98092 if (UNTAG_Bool(REGB0)) {
98093 } else {
98094 fprintf(stderr, "Assert failed");
98095 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36766);
98096 nit_exit(1);
98097 }
98098 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwas, ID_TKwas)) /*cast nullable TKwas*/;
98099 /* ./parser//parser.nit:36768 */
98100 if (UNTAG_Bool(REGB0)) {
98101 } else {
98102 fprintf(stderr, "Assert failed");
98103 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36768);
98104 nit_exit(1);
98105 }
98106 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnot, ID_TKwnot)) /*cast nullable TKwnot*/;
98107 /* ./parser//parser.nit:36770 */
98108 if (UNTAG_Bool(REGB0)) {
98109 } else {
98110 fprintf(stderr, "Assert failed");
98111 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36770);
98112 nit_exit(1);
98113 }
98114 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast nullable TKwnull*/;
98115 /* ./parser//parser.nit:36772 */
98116 if (UNTAG_Bool(REGB0)) {
98117 } else {
98118 fprintf(stderr, "Assert failed");
98119 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36772);
98120 nit_exit(1);
98121 }
98122 fra.me.REG[2] = NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___init_aasnotnullexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
98123 fra.me.REG[0] = fra.me.REG[2];
98124 REGB0 = TAG_Int(88);
98125 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
98126 /* ./parser//parser.nit:36780 */
98127 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
98128 stack_frame_head = fra.me.prev;
98129 return;
98130 }
98131 void parser___ReduceAction936___init(val_t p0, int* init_table){
98132 int itpos940 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction936].i;
98133 struct {struct stack_frame_t me;} fra;
98134 val_t tmp;
98135 if (init_table[itpos940]) return;
98136 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98137 fra.me.file = LOCATE_parser;
98138 fra.me.line = 36782;
98139 fra.me.meth = LOCATE_parser___ReduceAction936___init;
98140 fra.me.has_broke = 0;
98141 fra.me.REG_size = 1;
98142 fra.me.REG[0] = NIT_NULL;
98143 fra.me.REG[0] = p0;
98144 /* ./parser//parser.nit:36782 */
98145 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
98146 stack_frame_head = fra.me.prev;
98147 init_table[itpos940] = 1;
98148 return;
98149 }
98150 void parser___ReduceAction937___action(val_t p0, val_t p1){
98151 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
98152 val_t REGB0;
98153 val_t REGB1;
98154 val_t tmp;
98155 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98156 fra.me.file = LOCATE_parser;
98157 fra.me.line = 36786;
98158 fra.me.meth = LOCATE_parser___ReduceAction937___action;
98159 fra.me.has_broke = 0;
98160 fra.me.REG_size = 4;
98161 fra.me.REG[0] = NIT_NULL;
98162 fra.me.REG[1] = NIT_NULL;
98163 fra.me.REG[2] = NIT_NULL;
98164 fra.me.REG[3] = NIT_NULL;
98165 fra.me.REG[0] = p0;
98166 fra.me.REG[1] = p1;
98167 fra.me.REG[0] = NIT_NULL;
98168 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98169 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98170 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98171 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98172 fra.me.REG[3] = NEW_Array_array___Array___init();
98173 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
98174 /* ./parser//parser.nit:36795 */
98175 if (UNTAG_Bool(REGB0)) {
98176 } else {
98177 fprintf(stderr, "Assert failed");
98178 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36795);
98179 nit_exit(1);
98180 }
98181 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
98182 /* ./parser//parser.nit:36796 */
98183 if (UNTAG_Bool(REGB0)) {
98184 } else {
98185 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
98186 if (UNTAG_Bool(REGB1)) {
98187 REGB1 = TAG_Bool(false);
98188 REGB0 = REGB1;
98189 } else {
98190 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
98191 REGB0 = REGB1;
98192 }
98193 }
98194 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
98195 if (UNTAG_Bool(REGB0)) {
98196 /* ./parser//parser.nit:36797 */
98197 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
98198 }
98199 fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]);
98200 fra.me.REG[0] = fra.me.REG[3];
98201 REGB0 = TAG_Int(89);
98202 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
98203 /* ./parser//parser.nit:36803 */
98204 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
98205 stack_frame_head = fra.me.prev;
98206 return;
98207 }
98208 void parser___ReduceAction937___init(val_t p0, int* init_table){
98209 int itpos941 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction937].i;
98210 struct {struct stack_frame_t me;} fra;
98211 val_t tmp;
98212 if (init_table[itpos941]) return;
98213 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98214 fra.me.file = LOCATE_parser;
98215 fra.me.line = 36805;
98216 fra.me.meth = LOCATE_parser___ReduceAction937___init;
98217 fra.me.has_broke = 0;
98218 fra.me.REG_size = 1;
98219 fra.me.REG[0] = NIT_NULL;
98220 fra.me.REG[0] = p0;
98221 /* ./parser//parser.nit:36805 */
98222 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
98223 stack_frame_head = fra.me.prev;
98224 init_table[itpos941] = 1;
98225 return;
98226 }
98227 void parser___ReduceAction938___action(val_t p0, val_t p1){
98228 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
98229 val_t REGB0;
98230 val_t REGB1;
98231 val_t tmp;
98232 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98233 fra.me.file = LOCATE_parser;
98234 fra.me.line = 36809;
98235 fra.me.meth = LOCATE_parser___ReduceAction938___action;
98236 fra.me.has_broke = 0;
98237 fra.me.REG_size = 5;
98238 fra.me.REG[0] = NIT_NULL;
98239 fra.me.REG[1] = NIT_NULL;
98240 fra.me.REG[2] = NIT_NULL;
98241 fra.me.REG[3] = NIT_NULL;
98242 fra.me.REG[4] = NIT_NULL;
98243 fra.me.REG[0] = p0;
98244 fra.me.REG[1] = p1;
98245 fra.me.REG[0] = NIT_NULL;
98246 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98247 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98248 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98249 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98250 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98251 fra.me.REG[4] = NEW_Array_array___Array___init();
98252 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
98253 /* ./parser//parser.nit:36819 */
98254 if (UNTAG_Bool(REGB0)) {
98255 } else {
98256 fprintf(stderr, "Assert failed");
98257 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36819);
98258 nit_exit(1);
98259 }
98260 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
98261 /* ./parser//parser.nit:36821 */
98262 if (UNTAG_Bool(REGB0)) {
98263 } else {
98264 fprintf(stderr, "Assert failed");
98265 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36821);
98266 nit_exit(1);
98267 }
98268 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
98269 /* ./parser//parser.nit:36822 */
98270 if (UNTAG_Bool(REGB0)) {
98271 } else {
98272 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
98273 if (UNTAG_Bool(REGB1)) {
98274 REGB1 = TAG_Bool(false);
98275 REGB0 = REGB1;
98276 } else {
98277 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
98278 REGB0 = REGB1;
98279 }
98280 }
98281 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
98282 if (UNTAG_Bool(REGB0)) {
98283 /* ./parser//parser.nit:36823 */
98284 array___Array___add(fra.me.REG[4], fra.me.REG[3]);
98285 }
98286 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
98287 /* ./parser//parser.nit:36826 */
98288 if (UNTAG_Bool(REGB0)) {
98289 fra.me.REG[4] = fra.me.REG[2];
98290 /* ./parser//parser.nit:36827 */
98291 } else {
98292 /* ./parser//parser.nit:36829 */
98293 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
98294 }
98295 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
98296 fra.me.REG[0] = fra.me.REG[4];
98297 REGB0 = TAG_Int(89);
98298 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
98299 /* ./parser//parser.nit:36836 */
98300 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
98301 stack_frame_head = fra.me.prev;
98302 return;
98303 }
98304 void parser___ReduceAction938___init(val_t p0, int* init_table){
98305 int itpos942 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction938].i;
98306 struct {struct stack_frame_t me;} fra;
98307 val_t tmp;
98308 if (init_table[itpos942]) return;
98309 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98310 fra.me.file = LOCATE_parser;
98311 fra.me.line = 36838;
98312 fra.me.meth = LOCATE_parser___ReduceAction938___init;
98313 fra.me.has_broke = 0;
98314 fra.me.REG_size = 1;
98315 fra.me.REG[0] = NIT_NULL;
98316 fra.me.REG[0] = p0;
98317 /* ./parser//parser.nit:36838 */
98318 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
98319 stack_frame_head = fra.me.prev;
98320 init_table[itpos942] = 1;
98321 return;
98322 }
98323 void parser___ReduceAction939___action(val_t p0, val_t p1){
98324 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
98325 val_t REGB0;
98326 val_t tmp;
98327 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98328 fra.me.file = LOCATE_parser;
98329 fra.me.line = 36842;
98330 fra.me.meth = LOCATE_parser___ReduceAction939___action;
98331 fra.me.has_broke = 0;
98332 fra.me.REG_size = 3;
98333 fra.me.REG[0] = NIT_NULL;
98334 fra.me.REG[1] = NIT_NULL;
98335 fra.me.REG[2] = NIT_NULL;
98336 fra.me.REG[0] = p0;
98337 fra.me.REG[1] = p1;
98338 fra.me.REG[0] = NIT_NULL;
98339 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98340 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98341 fra.me.REG[2] = NEW_Array_array___Array___init();
98342 fra.me.REG[2] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[2]);
98343 fra.me.REG[0] = fra.me.REG[2];
98344 REGB0 = TAG_Int(89);
98345 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
98346 /* ./parser//parser.nit:36852 */
98347 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
98348 stack_frame_head = fra.me.prev;
98349 return;
98350 }
98351 void parser___ReduceAction939___init(val_t p0, int* init_table){
98352 int itpos943 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction939].i;
98353 struct {struct stack_frame_t me;} fra;
98354 val_t tmp;
98355 if (init_table[itpos943]) return;
98356 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98357 fra.me.file = LOCATE_parser;
98358 fra.me.line = 36854;
98359 fra.me.meth = LOCATE_parser___ReduceAction939___init;
98360 fra.me.has_broke = 0;
98361 fra.me.REG_size = 1;
98362 fra.me.REG[0] = NIT_NULL;
98363 fra.me.REG[0] = p0;
98364 /* ./parser//parser.nit:36854 */
98365 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
98366 stack_frame_head = fra.me.prev;
98367 init_table[itpos943] = 1;
98368 return;
98369 }
98370 void parser___ReduceAction940___action(val_t p0, val_t p1){
98371 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
98372 val_t REGB0;
98373 val_t tmp;
98374 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98375 fra.me.file = LOCATE_parser;
98376 fra.me.line = 36858;
98377 fra.me.meth = LOCATE_parser___ReduceAction940___action;
98378 fra.me.has_broke = 0;
98379 fra.me.REG_size = 3;
98380 fra.me.REG[0] = NIT_NULL;
98381 fra.me.REG[1] = NIT_NULL;
98382 fra.me.REG[2] = NIT_NULL;
98383 fra.me.REG[0] = p0;
98384 fra.me.REG[1] = p1;
98385 fra.me.REG[0] = NIT_NULL;
98386 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98387 fra.me.REG[2] = NEW_Array_array___Array___init();
98388 fra.me.REG[2] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[2]);
98389 fra.me.REG[0] = fra.me.REG[2];
98390 REGB0 = TAG_Int(89);
98391 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
98392 /* ./parser//parser.nit:36867 */
98393 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
98394 stack_frame_head = fra.me.prev;
98395 return;
98396 }
98397 void parser___ReduceAction940___init(val_t p0, int* init_table){
98398 int itpos944 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction940].i;
98399 struct {struct stack_frame_t me;} fra;
98400 val_t tmp;
98401 if (init_table[itpos944]) return;
98402 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98403 fra.me.file = LOCATE_parser;
98404 fra.me.line = 36869;
98405 fra.me.meth = LOCATE_parser___ReduceAction940___init;
98406 fra.me.has_broke = 0;
98407 fra.me.REG_size = 1;
98408 fra.me.REG[0] = NIT_NULL;
98409 fra.me.REG[0] = p0;
98410 /* ./parser//parser.nit:36869 */
98411 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
98412 stack_frame_head = fra.me.prev;
98413 init_table[itpos944] = 1;
98414 return;
98415 }
98416 void parser___ReduceAction941___action(val_t p0, val_t p1){
98417 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
98418 val_t REGB0;
98419 val_t tmp;
98420 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98421 fra.me.file = LOCATE_parser;
98422 fra.me.line = 36873;
98423 fra.me.meth = LOCATE_parser___ReduceAction941___action;
98424 fra.me.has_broke = 0;
98425 fra.me.REG_size = 3;
98426 fra.me.REG[0] = NIT_NULL;
98427 fra.me.REG[1] = NIT_NULL;
98428 fra.me.REG[2] = NIT_NULL;
98429 fra.me.REG[0] = p0;
98430 fra.me.REG[1] = p1;
98431 fra.me.REG[0] = NIT_NULL;
98432 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98433 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
98434 /* ./parser//parser.nit:36878 */
98435 if (UNTAG_Bool(REGB0)) {
98436 } else {
98437 fprintf(stderr, "Assert failed");
98438 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36878);
98439 nit_exit(1);
98440 }
98441 fra.me.REG[0] = fra.me.REG[2];
98442 REGB0 = TAG_Int(89);
98443 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
98444 /* ./parser//parser.nit:36880 */
98445 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
98446 stack_frame_head = fra.me.prev;
98447 return;
98448 }
98449 void parser___ReduceAction941___init(val_t p0, int* init_table){
98450 int itpos945 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction941].i;
98451 struct {struct stack_frame_t me;} fra;
98452 val_t tmp;
98453 if (init_table[itpos945]) return;
98454 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98455 fra.me.file = LOCATE_parser;
98456 fra.me.line = 36882;
98457 fra.me.meth = LOCATE_parser___ReduceAction941___init;
98458 fra.me.has_broke = 0;
98459 fra.me.REG_size = 1;
98460 fra.me.REG[0] = NIT_NULL;
98461 fra.me.REG[0] = p0;
98462 /* ./parser//parser.nit:36882 */
98463 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
98464 stack_frame_head = fra.me.prev;
98465 init_table[itpos945] = 1;
98466 return;
98467 }
98468 void parser___ReduceAction942___action(val_t p0, val_t p1){
98469 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
98470 val_t REGB0;
98471 val_t tmp;
98472 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98473 fra.me.file = LOCATE_parser;
98474 fra.me.line = 36886;
98475 fra.me.meth = LOCATE_parser___ReduceAction942___action;
98476 fra.me.has_broke = 0;
98477 fra.me.REG_size = 3;
98478 fra.me.REG[0] = NIT_NULL;
98479 fra.me.REG[1] = NIT_NULL;
98480 fra.me.REG[2] = NIT_NULL;
98481 fra.me.REG[0] = p0;
98482 fra.me.REG[1] = p1;
98483 fra.me.REG[0] = NIT_NULL;
98484 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98485 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
98486 /* ./parser//parser.nit:36891 */
98487 if (UNTAG_Bool(REGB0)) {
98488 } else {
98489 fprintf(stderr, "Assert failed");
98490 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36891);
98491 nit_exit(1);
98492 }
98493 fra.me.REG[0] = fra.me.REG[2];
98494 REGB0 = TAG_Int(90);
98495 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
98496 /* ./parser//parser.nit:36893 */
98497 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
98498 stack_frame_head = fra.me.prev;
98499 return;
98500 }
98501 void parser___ReduceAction942___init(val_t p0, int* init_table){
98502 int itpos946 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction942].i;
98503 struct {struct stack_frame_t me;} fra;
98504 val_t tmp;
98505 if (init_table[itpos946]) return;
98506 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98507 fra.me.file = LOCATE_parser;
98508 fra.me.line = 36895;
98509 fra.me.meth = LOCATE_parser___ReduceAction942___init;
98510 fra.me.has_broke = 0;
98511 fra.me.REG_size = 1;
98512 fra.me.REG[0] = NIT_NULL;
98513 fra.me.REG[0] = p0;
98514 /* ./parser//parser.nit:36895 */
98515 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
98516 stack_frame_head = fra.me.prev;
98517 init_table[itpos946] = 1;
98518 return;
98519 }
98520 void parser___ReduceAction943___action(val_t p0, val_t p1){
98521 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
98522 val_t REGB0;
98523 val_t tmp;
98524 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98525 fra.me.file = LOCATE_parser;
98526 fra.me.line = 36899;
98527 fra.me.meth = LOCATE_parser___ReduceAction943___action;
98528 fra.me.has_broke = 0;
98529 fra.me.REG_size = 3;
98530 fra.me.REG[0] = NIT_NULL;
98531 fra.me.REG[1] = NIT_NULL;
98532 fra.me.REG[2] = NIT_NULL;
98533 fra.me.REG[0] = p0;
98534 fra.me.REG[1] = p1;
98535 fra.me.REG[0] = NIT_NULL;
98536 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98537 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
98538 /* ./parser//parser.nit:36904 */
98539 if (UNTAG_Bool(REGB0)) {
98540 } else {
98541 fprintf(stderr, "Assert failed");
98542 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36904);
98543 nit_exit(1);
98544 }
98545 fra.me.REG[0] = fra.me.REG[2];
98546 REGB0 = TAG_Int(90);
98547 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
98548 /* ./parser//parser.nit:36906 */
98549 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
98550 stack_frame_head = fra.me.prev;
98551 return;
98552 }
98553 void parser___ReduceAction943___init(val_t p0, int* init_table){
98554 int itpos947 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction943].i;
98555 struct {struct stack_frame_t me;} fra;
98556 val_t tmp;
98557 if (init_table[itpos947]) return;
98558 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98559 fra.me.file = LOCATE_parser;
98560 fra.me.line = 36908;
98561 fra.me.meth = LOCATE_parser___ReduceAction943___init;
98562 fra.me.has_broke = 0;
98563 fra.me.REG_size = 1;
98564 fra.me.REG[0] = NIT_NULL;
98565 fra.me.REG[0] = p0;
98566 /* ./parser//parser.nit:36908 */
98567 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
98568 stack_frame_head = fra.me.prev;
98569 init_table[itpos947] = 1;
98570 return;
98571 }
98572 void parser___ReduceAction944___action(val_t p0, val_t p1){
98573 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
98574 val_t REGB0;
98575 val_t tmp;
98576 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98577 fra.me.file = LOCATE_parser;
98578 fra.me.line = 36912;
98579 fra.me.meth = LOCATE_parser___ReduceAction944___action;
98580 fra.me.has_broke = 0;
98581 fra.me.REG_size = 3;
98582 fra.me.REG[0] = NIT_NULL;
98583 fra.me.REG[1] = NIT_NULL;
98584 fra.me.REG[2] = NIT_NULL;
98585 fra.me.REG[0] = p0;
98586 fra.me.REG[1] = p1;
98587 fra.me.REG[0] = NIT_NULL;
98588 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98589 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwreturn, ID_TKwreturn)) /*cast nullable TKwreturn*/;
98590 /* ./parser//parser.nit:36917 */
98591 if (UNTAG_Bool(REGB0)) {
98592 } else {
98593 fprintf(stderr, "Assert failed");
98594 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36917);
98595 nit_exit(1);
98596 }
98597 fra.me.REG[2] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[2], NIT_NULL);
98598 fra.me.REG[0] = fra.me.REG[2];
98599 REGB0 = TAG_Int(90);
98600 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
98601 /* ./parser//parser.nit:36923 */
98602 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
98603 stack_frame_head = fra.me.prev;
98604 return;
98605 }
98606 void parser___ReduceAction944___init(val_t p0, int* init_table){
98607 int itpos948 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction944].i;
98608 struct {struct stack_frame_t me;} fra;
98609 val_t tmp;
98610 if (init_table[itpos948]) return;
98611 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98612 fra.me.file = LOCATE_parser;
98613 fra.me.line = 36925;
98614 fra.me.meth = LOCATE_parser___ReduceAction944___init;
98615 fra.me.has_broke = 0;
98616 fra.me.REG_size = 1;
98617 fra.me.REG[0] = NIT_NULL;
98618 fra.me.REG[0] = p0;
98619 /* ./parser//parser.nit:36925 */
98620 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
98621 stack_frame_head = fra.me.prev;
98622 init_table[itpos948] = 1;
98623 return;
98624 }
98625 void parser___ReduceAction945___action(val_t p0, val_t p1){
98626 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
98627 val_t REGB0;
98628 val_t tmp;
98629 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98630 fra.me.file = LOCATE_parser;
98631 fra.me.line = 36929;
98632 fra.me.meth = LOCATE_parser___ReduceAction945___action;
98633 fra.me.has_broke = 0;
98634 fra.me.REG_size = 4;
98635 fra.me.REG[0] = NIT_NULL;
98636 fra.me.REG[1] = NIT_NULL;
98637 fra.me.REG[2] = NIT_NULL;
98638 fra.me.REG[3] = NIT_NULL;
98639 fra.me.REG[0] = p0;
98640 fra.me.REG[1] = p1;
98641 fra.me.REG[0] = NIT_NULL;
98642 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98643 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98644 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwreturn, ID_TKwreturn)) /*cast nullable TKwreturn*/;
98645 /* ./parser//parser.nit:36935 */
98646 if (UNTAG_Bool(REGB0)) {
98647 } else {
98648 fprintf(stderr, "Assert failed");
98649 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36935);
98650 nit_exit(1);
98651 }
98652 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
98653 /* ./parser//parser.nit:36937 */
98654 if (UNTAG_Bool(REGB0)) {
98655 } else {
98656 fprintf(stderr, "Assert failed");
98657 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36937);
98658 nit_exit(1);
98659 }
98660 fra.me.REG[2] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[3], fra.me.REG[2]);
98661 fra.me.REG[0] = fra.me.REG[2];
98662 REGB0 = TAG_Int(90);
98663 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
98664 /* ./parser//parser.nit:36943 */
98665 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
98666 stack_frame_head = fra.me.prev;
98667 return;
98668 }
98669 void parser___ReduceAction945___init(val_t p0, int* init_table){
98670 int itpos949 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction945].i;
98671 struct {struct stack_frame_t me;} fra;
98672 val_t tmp;
98673 if (init_table[itpos949]) return;
98674 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98675 fra.me.file = LOCATE_parser;
98676 fra.me.line = 36945;
98677 fra.me.meth = LOCATE_parser___ReduceAction945___init;
98678 fra.me.has_broke = 0;
98679 fra.me.REG_size = 1;
98680 fra.me.REG[0] = NIT_NULL;
98681 fra.me.REG[0] = p0;
98682 /* ./parser//parser.nit:36945 */
98683 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
98684 stack_frame_head = fra.me.prev;
98685 init_table[itpos949] = 1;
98686 return;
98687 }
98688 void parser___ReduceAction946___action(val_t p0, val_t p1){
98689 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
98690 val_t REGB0;
98691 val_t tmp;
98692 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98693 fra.me.file = LOCATE_parser;
98694 fra.me.line = 36949;
98695 fra.me.meth = LOCATE_parser___ReduceAction946___action;
98696 fra.me.has_broke = 0;
98697 fra.me.REG_size = 3;
98698 fra.me.REG[0] = NIT_NULL;
98699 fra.me.REG[1] = NIT_NULL;
98700 fra.me.REG[2] = NIT_NULL;
98701 fra.me.REG[0] = p0;
98702 fra.me.REG[1] = p1;
98703 fra.me.REG[0] = NIT_NULL;
98704 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98705 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/;
98706 /* ./parser//parser.nit:36954 */
98707 if (UNTAG_Bool(REGB0)) {
98708 } else {
98709 fprintf(stderr, "Assert failed");
98710 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36954);
98711 nit_exit(1);
98712 }
98713 fra.me.REG[2] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[2], NIT_NULL, NIT_NULL);
98714 fra.me.REG[0] = fra.me.REG[2];
98715 REGB0 = TAG_Int(90);
98716 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
98717 /* ./parser//parser.nit:36961 */
98718 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
98719 stack_frame_head = fra.me.prev;
98720 return;
98721 }
98722 void parser___ReduceAction946___init(val_t p0, int* init_table){
98723 int itpos950 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction946].i;
98724 struct {struct stack_frame_t me;} fra;
98725 val_t tmp;
98726 if (init_table[itpos950]) return;
98727 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98728 fra.me.file = LOCATE_parser;
98729 fra.me.line = 36963;
98730 fra.me.meth = LOCATE_parser___ReduceAction946___init;
98731 fra.me.has_broke = 0;
98732 fra.me.REG_size = 1;
98733 fra.me.REG[0] = NIT_NULL;
98734 fra.me.REG[0] = p0;
98735 /* ./parser//parser.nit:36963 */
98736 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
98737 stack_frame_head = fra.me.prev;
98738 init_table[itpos950] = 1;
98739 return;
98740 }
98741 void parser___ReduceAction947___action(val_t p0, val_t p1){
98742 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
98743 val_t REGB0;
98744 val_t tmp;
98745 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98746 fra.me.file = LOCATE_parser;
98747 fra.me.line = 36967;
98748 fra.me.meth = LOCATE_parser___ReduceAction947___action;
98749 fra.me.has_broke = 0;
98750 fra.me.REG_size = 4;
98751 fra.me.REG[0] = NIT_NULL;
98752 fra.me.REG[1] = NIT_NULL;
98753 fra.me.REG[2] = NIT_NULL;
98754 fra.me.REG[3] = NIT_NULL;
98755 fra.me.REG[0] = p0;
98756 fra.me.REG[1] = p1;
98757 fra.me.REG[0] = NIT_NULL;
98758 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98759 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98760 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/;
98761 /* ./parser//parser.nit:36973 */
98762 if (UNTAG_Bool(REGB0)) {
98763 } else {
98764 fprintf(stderr, "Assert failed");
98765 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36973);
98766 nit_exit(1);
98767 }
98768 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
98769 /* ./parser//parser.nit:36975 */
98770 if (UNTAG_Bool(REGB0)) {
98771 } else {
98772 fprintf(stderr, "Assert failed");
98773 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36975);
98774 nit_exit(1);
98775 }
98776 fra.me.REG[2] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL);
98777 fra.me.REG[0] = fra.me.REG[2];
98778 REGB0 = TAG_Int(90);
98779 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
98780 /* ./parser//parser.nit:36982 */
98781 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
98782 stack_frame_head = fra.me.prev;
98783 return;
98784 }
98785 void parser___ReduceAction947___init(val_t p0, int* init_table){
98786 int itpos951 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction947].i;
98787 struct {struct stack_frame_t me;} fra;
98788 val_t tmp;
98789 if (init_table[itpos951]) return;
98790 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98791 fra.me.file = LOCATE_parser;
98792 fra.me.line = 36984;
98793 fra.me.meth = LOCATE_parser___ReduceAction947___init;
98794 fra.me.has_broke = 0;
98795 fra.me.REG_size = 1;
98796 fra.me.REG[0] = NIT_NULL;
98797 fra.me.REG[0] = p0;
98798 /* ./parser//parser.nit:36984 */
98799 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
98800 stack_frame_head = fra.me.prev;
98801 init_table[itpos951] = 1;
98802 return;
98803 }
98804 void parser___ReduceAction948___action(val_t p0, val_t p1){
98805 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
98806 val_t REGB0;
98807 val_t tmp;
98808 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98809 fra.me.file = LOCATE_parser;
98810 fra.me.line = 36988;
98811 fra.me.meth = LOCATE_parser___ReduceAction948___action;
98812 fra.me.has_broke = 0;
98813 fra.me.REG_size = 4;
98814 fra.me.REG[0] = NIT_NULL;
98815 fra.me.REG[1] = NIT_NULL;
98816 fra.me.REG[2] = NIT_NULL;
98817 fra.me.REG[3] = NIT_NULL;
98818 fra.me.REG[0] = p0;
98819 fra.me.REG[1] = p1;
98820 fra.me.REG[0] = NIT_NULL;
98821 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98822 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98823 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/;
98824 /* ./parser//parser.nit:36994 */
98825 if (UNTAG_Bool(REGB0)) {
98826 } else {
98827 fprintf(stderr, "Assert failed");
98828 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36994);
98829 nit_exit(1);
98830 }
98831 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
98832 /* ./parser//parser.nit:36996 */
98833 if (UNTAG_Bool(REGB0)) {
98834 } else {
98835 fprintf(stderr, "Assert failed");
98836 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36996);
98837 nit_exit(1);
98838 }
98839 fra.me.REG[2] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
98840 fra.me.REG[0] = fra.me.REG[2];
98841 REGB0 = TAG_Int(90);
98842 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
98843 /* ./parser//parser.nit:37003 */
98844 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
98845 stack_frame_head = fra.me.prev;
98846 return;
98847 }
98848 void parser___ReduceAction948___init(val_t p0, int* init_table){
98849 int itpos952 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction948].i;
98850 struct {struct stack_frame_t me;} fra;
98851 val_t tmp;
98852 if (init_table[itpos952]) return;
98853 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98854 fra.me.file = LOCATE_parser;
98855 fra.me.line = 37005;
98856 fra.me.meth = LOCATE_parser___ReduceAction948___init;
98857 fra.me.has_broke = 0;
98858 fra.me.REG_size = 1;
98859 fra.me.REG[0] = NIT_NULL;
98860 fra.me.REG[0] = p0;
98861 /* ./parser//parser.nit:37005 */
98862 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
98863 stack_frame_head = fra.me.prev;
98864 init_table[itpos952] = 1;
98865 return;
98866 }
98867 void parser___ReduceAction949___action(val_t p0, val_t p1){
98868 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
98869 val_t REGB0;
98870 val_t tmp;
98871 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98872 fra.me.file = LOCATE_parser;
98873 fra.me.line = 37009;
98874 fra.me.meth = LOCATE_parser___ReduceAction949___action;
98875 fra.me.has_broke = 0;
98876 fra.me.REG_size = 5;
98877 fra.me.REG[0] = NIT_NULL;
98878 fra.me.REG[1] = NIT_NULL;
98879 fra.me.REG[2] = NIT_NULL;
98880 fra.me.REG[3] = NIT_NULL;
98881 fra.me.REG[4] = NIT_NULL;
98882 fra.me.REG[0] = p0;
98883 fra.me.REG[1] = p1;
98884 fra.me.REG[0] = NIT_NULL;
98885 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98886 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98887 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98888 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/;
98889 /* ./parser//parser.nit:37016 */
98890 if (UNTAG_Bool(REGB0)) {
98891 } else {
98892 fprintf(stderr, "Assert failed");
98893 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37016);
98894 nit_exit(1);
98895 }
98896 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
98897 /* ./parser//parser.nit:37018 */
98898 if (UNTAG_Bool(REGB0)) {
98899 } else {
98900 fprintf(stderr, "Assert failed");
98901 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37018);
98902 nit_exit(1);
98903 }
98904 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
98905 /* ./parser//parser.nit:37020 */
98906 if (UNTAG_Bool(REGB0)) {
98907 } else {
98908 fprintf(stderr, "Assert failed");
98909 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37020);
98910 nit_exit(1);
98911 }
98912 fra.me.REG[2] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
98913 fra.me.REG[0] = fra.me.REG[2];
98914 REGB0 = TAG_Int(90);
98915 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
98916 /* ./parser//parser.nit:37027 */
98917 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
98918 stack_frame_head = fra.me.prev;
98919 return;
98920 }
98921 void parser___ReduceAction949___init(val_t p0, int* init_table){
98922 int itpos953 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction949].i;
98923 struct {struct stack_frame_t me;} fra;
98924 val_t tmp;
98925 if (init_table[itpos953]) return;
98926 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98927 fra.me.file = LOCATE_parser;
98928 fra.me.line = 37029;
98929 fra.me.meth = LOCATE_parser___ReduceAction949___init;
98930 fra.me.has_broke = 0;
98931 fra.me.REG_size = 1;
98932 fra.me.REG[0] = NIT_NULL;
98933 fra.me.REG[0] = p0;
98934 /* ./parser//parser.nit:37029 */
98935 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
98936 stack_frame_head = fra.me.prev;
98937 init_table[itpos953] = 1;
98938 return;
98939 }
98940 void parser___ReduceAction950___action(val_t p0, val_t p1){
98941 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
98942 val_t REGB0;
98943 val_t tmp;
98944 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98945 fra.me.file = LOCATE_parser;
98946 fra.me.line = 37033;
98947 fra.me.meth = LOCATE_parser___ReduceAction950___action;
98948 fra.me.has_broke = 0;
98949 fra.me.REG_size = 3;
98950 fra.me.REG[0] = NIT_NULL;
98951 fra.me.REG[1] = NIT_NULL;
98952 fra.me.REG[2] = NIT_NULL;
98953 fra.me.REG[0] = p0;
98954 fra.me.REG[1] = p1;
98955 fra.me.REG[0] = NIT_NULL;
98956 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
98957 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwabort, ID_TKwabort)) /*cast nullable TKwabort*/;
98958 /* ./parser//parser.nit:37038 */
98959 if (UNTAG_Bool(REGB0)) {
98960 } else {
98961 fprintf(stderr, "Assert failed");
98962 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37038);
98963 nit_exit(1);
98964 }
98965 fra.me.REG[2] = NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr(fra.me.REG[2]);
98966 fra.me.REG[0] = fra.me.REG[2];
98967 REGB0 = TAG_Int(90);
98968 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
98969 /* ./parser//parser.nit:37043 */
98970 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
98971 stack_frame_head = fra.me.prev;
98972 return;
98973 }
98974 void parser___ReduceAction950___init(val_t p0, int* init_table){
98975 int itpos954 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction950].i;
98976 struct {struct stack_frame_t me;} fra;
98977 val_t tmp;
98978 if (init_table[itpos954]) return;
98979 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98980 fra.me.file = LOCATE_parser;
98981 fra.me.line = 37045;
98982 fra.me.meth = LOCATE_parser___ReduceAction950___init;
98983 fra.me.has_broke = 0;
98984 fra.me.REG_size = 1;
98985 fra.me.REG[0] = NIT_NULL;
98986 fra.me.REG[0] = p0;
98987 /* ./parser//parser.nit:37045 */
98988 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
98989 stack_frame_head = fra.me.prev;
98990 init_table[itpos954] = 1;
98991 return;
98992 }
98993 void parser___ReduceAction951___action(val_t p0, val_t p1){
98994 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
98995 val_t REGB0;
98996 val_t tmp;
98997 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98998 fra.me.file = LOCATE_parser;
98999 fra.me.line = 37049;
99000 fra.me.meth = LOCATE_parser___ReduceAction951___action;
99001 fra.me.has_broke = 0;
99002 fra.me.REG_size = 3;
99003 fra.me.REG[0] = NIT_NULL;
99004 fra.me.REG[1] = NIT_NULL;
99005 fra.me.REG[2] = NIT_NULL;
99006 fra.me.REG[0] = p0;
99007 fra.me.REG[1] = p1;
99008 fra.me.REG[0] = NIT_NULL;
99009 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99010 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast nullable TKwcontinue*/;
99011 /* ./parser//parser.nit:37054 */
99012 if (UNTAG_Bool(REGB0)) {
99013 } else {
99014 fprintf(stderr, "Assert failed");
99015 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37054);
99016 nit_exit(1);
99017 }
99018 fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[2], NIT_NULL, NIT_NULL);
99019 fra.me.REG[0] = fra.me.REG[2];
99020 REGB0 = TAG_Int(90);
99021 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
99022 /* ./parser//parser.nit:37061 */
99023 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
99024 stack_frame_head = fra.me.prev;
99025 return;
99026 }
99027 void parser___ReduceAction951___init(val_t p0, int* init_table){
99028 int itpos955 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction951].i;
99029 struct {struct stack_frame_t me;} fra;
99030 val_t tmp;
99031 if (init_table[itpos955]) return;
99032 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99033 fra.me.file = LOCATE_parser;
99034 fra.me.line = 37063;
99035 fra.me.meth = LOCATE_parser___ReduceAction951___init;
99036 fra.me.has_broke = 0;
99037 fra.me.REG_size = 1;
99038 fra.me.REG[0] = NIT_NULL;
99039 fra.me.REG[0] = p0;
99040 /* ./parser//parser.nit:37063 */
99041 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
99042 stack_frame_head = fra.me.prev;
99043 init_table[itpos955] = 1;
99044 return;
99045 }
99046 void parser___ReduceAction952___action(val_t p0, val_t p1){
99047 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
99048 val_t REGB0;
99049 val_t tmp;
99050 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99051 fra.me.file = LOCATE_parser;
99052 fra.me.line = 37067;
99053 fra.me.meth = LOCATE_parser___ReduceAction952___action;
99054 fra.me.has_broke = 0;
99055 fra.me.REG_size = 4;
99056 fra.me.REG[0] = NIT_NULL;
99057 fra.me.REG[1] = NIT_NULL;
99058 fra.me.REG[2] = NIT_NULL;
99059 fra.me.REG[3] = NIT_NULL;
99060 fra.me.REG[0] = p0;
99061 fra.me.REG[1] = p1;
99062 fra.me.REG[0] = NIT_NULL;
99063 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99064 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99065 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast nullable TKwcontinue*/;
99066 /* ./parser//parser.nit:37073 */
99067 if (UNTAG_Bool(REGB0)) {
99068 } else {
99069 fprintf(stderr, "Assert failed");
99070 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37073);
99071 nit_exit(1);
99072 }
99073 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
99074 /* ./parser//parser.nit:37075 */
99075 if (UNTAG_Bool(REGB0)) {
99076 } else {
99077 fprintf(stderr, "Assert failed");
99078 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37075);
99079 nit_exit(1);
99080 }
99081 fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL);
99082 fra.me.REG[0] = fra.me.REG[2];
99083 REGB0 = TAG_Int(90);
99084 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
99085 /* ./parser//parser.nit:37082 */
99086 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
99087 stack_frame_head = fra.me.prev;
99088 return;
99089 }
99090 void parser___ReduceAction952___init(val_t p0, int* init_table){
99091 int itpos956 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction952].i;
99092 struct {struct stack_frame_t me;} fra;
99093 val_t tmp;
99094 if (init_table[itpos956]) return;
99095 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99096 fra.me.file = LOCATE_parser;
99097 fra.me.line = 37084;
99098 fra.me.meth = LOCATE_parser___ReduceAction952___init;
99099 fra.me.has_broke = 0;
99100 fra.me.REG_size = 1;
99101 fra.me.REG[0] = NIT_NULL;
99102 fra.me.REG[0] = p0;
99103 /* ./parser//parser.nit:37084 */
99104 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
99105 stack_frame_head = fra.me.prev;
99106 init_table[itpos956] = 1;
99107 return;
99108 }
99109 void parser___ReduceAction953___action(val_t p0, val_t p1){
99110 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
99111 val_t REGB0;
99112 val_t tmp;
99113 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99114 fra.me.file = LOCATE_parser;
99115 fra.me.line = 37088;
99116 fra.me.meth = LOCATE_parser___ReduceAction953___action;
99117 fra.me.has_broke = 0;
99118 fra.me.REG_size = 4;
99119 fra.me.REG[0] = NIT_NULL;
99120 fra.me.REG[1] = NIT_NULL;
99121 fra.me.REG[2] = NIT_NULL;
99122 fra.me.REG[3] = NIT_NULL;
99123 fra.me.REG[0] = p0;
99124 fra.me.REG[1] = p1;
99125 fra.me.REG[0] = NIT_NULL;
99126 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99127 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99128 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast nullable TKwcontinue*/;
99129 /* ./parser//parser.nit:37094 */
99130 if (UNTAG_Bool(REGB0)) {
99131 } else {
99132 fprintf(stderr, "Assert failed");
99133 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37094);
99134 nit_exit(1);
99135 }
99136 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
99137 /* ./parser//parser.nit:37096 */
99138 if (UNTAG_Bool(REGB0)) {
99139 } else {
99140 fprintf(stderr, "Assert failed");
99141 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37096);
99142 nit_exit(1);
99143 }
99144 fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[3], NIT_NULL, fra.me.REG[2]);
99145 fra.me.REG[0] = fra.me.REG[2];
99146 REGB0 = TAG_Int(90);
99147 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
99148 /* ./parser//parser.nit:37103 */
99149 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
99150 stack_frame_head = fra.me.prev;
99151 return;
99152 }
99153 void parser___ReduceAction953___init(val_t p0, int* init_table){
99154 int itpos957 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction953].i;
99155 struct {struct stack_frame_t me;} fra;
99156 val_t tmp;
99157 if (init_table[itpos957]) return;
99158 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99159 fra.me.file = LOCATE_parser;
99160 fra.me.line = 37105;
99161 fra.me.meth = LOCATE_parser___ReduceAction953___init;
99162 fra.me.has_broke = 0;
99163 fra.me.REG_size = 1;
99164 fra.me.REG[0] = NIT_NULL;
99165 fra.me.REG[0] = p0;
99166 /* ./parser//parser.nit:37105 */
99167 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
99168 stack_frame_head = fra.me.prev;
99169 init_table[itpos957] = 1;
99170 return;
99171 }
99172 void parser___ReduceAction954___action(val_t p0, val_t p1){
99173 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
99174 val_t REGB0;
99175 val_t tmp;
99176 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99177 fra.me.file = LOCATE_parser;
99178 fra.me.line = 37109;
99179 fra.me.meth = LOCATE_parser___ReduceAction954___action;
99180 fra.me.has_broke = 0;
99181 fra.me.REG_size = 5;
99182 fra.me.REG[0] = NIT_NULL;
99183 fra.me.REG[1] = NIT_NULL;
99184 fra.me.REG[2] = NIT_NULL;
99185 fra.me.REG[3] = NIT_NULL;
99186 fra.me.REG[4] = NIT_NULL;
99187 fra.me.REG[0] = p0;
99188 fra.me.REG[1] = p1;
99189 fra.me.REG[0] = NIT_NULL;
99190 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99191 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99192 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99193 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast nullable TKwcontinue*/;
99194 /* ./parser//parser.nit:37116 */
99195 if (UNTAG_Bool(REGB0)) {
99196 } else {
99197 fprintf(stderr, "Assert failed");
99198 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37116);
99199 nit_exit(1);
99200 }
99201 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
99202 /* ./parser//parser.nit:37118 */
99203 if (UNTAG_Bool(REGB0)) {
99204 } else {
99205 fprintf(stderr, "Assert failed");
99206 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37118);
99207 nit_exit(1);
99208 }
99209 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
99210 /* ./parser//parser.nit:37120 */
99211 if (UNTAG_Bool(REGB0)) {
99212 } else {
99213 fprintf(stderr, "Assert failed");
99214 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37120);
99215 nit_exit(1);
99216 }
99217 fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
99218 fra.me.REG[0] = fra.me.REG[2];
99219 REGB0 = TAG_Int(90);
99220 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
99221 /* ./parser//parser.nit:37127 */
99222 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
99223 stack_frame_head = fra.me.prev;
99224 return;
99225 }
99226 void parser___ReduceAction954___init(val_t p0, int* init_table){
99227 int itpos958 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction954].i;
99228 struct {struct stack_frame_t me;} fra;
99229 val_t tmp;
99230 if (init_table[itpos958]) return;
99231 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99232 fra.me.file = LOCATE_parser;
99233 fra.me.line = 37129;
99234 fra.me.meth = LOCATE_parser___ReduceAction954___init;
99235 fra.me.has_broke = 0;
99236 fra.me.REG_size = 1;
99237 fra.me.REG[0] = NIT_NULL;
99238 fra.me.REG[0] = p0;
99239 /* ./parser//parser.nit:37129 */
99240 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
99241 stack_frame_head = fra.me.prev;
99242 init_table[itpos958] = 1;
99243 return;
99244 }
99245 void parser___ReduceAction955___action(val_t p0, val_t p1){
99246 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
99247 val_t REGB0;
99248 val_t tmp;
99249 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99250 fra.me.file = LOCATE_parser;
99251 fra.me.line = 37133;
99252 fra.me.meth = LOCATE_parser___ReduceAction955___action;
99253 fra.me.has_broke = 0;
99254 fra.me.REG_size = 3;
99255 fra.me.REG[0] = NIT_NULL;
99256 fra.me.REG[1] = NIT_NULL;
99257 fra.me.REG[2] = NIT_NULL;
99258 fra.me.REG[0] = p0;
99259 fra.me.REG[1] = p1;
99260 fra.me.REG[0] = NIT_NULL;
99261 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99262 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
99263 /* ./parser//parser.nit:37138 */
99264 if (UNTAG_Bool(REGB0)) {
99265 } else {
99266 fprintf(stderr, "Assert failed");
99267 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37138);
99268 nit_exit(1);
99269 }
99270 fra.me.REG[0] = fra.me.REG[2];
99271 REGB0 = TAG_Int(90);
99272 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
99273 /* ./parser//parser.nit:37140 */
99274 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
99275 stack_frame_head = fra.me.prev;
99276 return;
99277 }
99278 void parser___ReduceAction955___init(val_t p0, int* init_table){
99279 int itpos959 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction955].i;
99280 struct {struct stack_frame_t me;} fra;
99281 val_t tmp;
99282 if (init_table[itpos959]) return;
99283 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99284 fra.me.file = LOCATE_parser;
99285 fra.me.line = 37142;
99286 fra.me.meth = LOCATE_parser___ReduceAction955___init;
99287 fra.me.has_broke = 0;
99288 fra.me.REG_size = 1;
99289 fra.me.REG[0] = NIT_NULL;
99290 fra.me.REG[0] = p0;
99291 /* ./parser//parser.nit:37142 */
99292 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
99293 stack_frame_head = fra.me.prev;
99294 init_table[itpos959] = 1;
99295 return;
99296 }
99297 void parser___ReduceAction956___action(val_t p0, val_t p1){
99298 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
99299 val_t REGB0;
99300 val_t tmp;
99301 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99302 fra.me.file = LOCATE_parser;
99303 fra.me.line = 37146;
99304 fra.me.meth = LOCATE_parser___ReduceAction956___action;
99305 fra.me.has_broke = 0;
99306 fra.me.REG_size = 3;
99307 fra.me.REG[0] = NIT_NULL;
99308 fra.me.REG[1] = NIT_NULL;
99309 fra.me.REG[2] = NIT_NULL;
99310 fra.me.REG[0] = p0;
99311 fra.me.REG[1] = p1;
99312 fra.me.REG[0] = NIT_NULL;
99313 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99314 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
99315 /* ./parser//parser.nit:37151 */
99316 if (UNTAG_Bool(REGB0)) {
99317 } else {
99318 fprintf(stderr, "Assert failed");
99319 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37151);
99320 nit_exit(1);
99321 }
99322 fra.me.REG[0] = fra.me.REG[2];
99323 REGB0 = TAG_Int(90);
99324 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
99325 /* ./parser//parser.nit:37153 */
99326 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
99327 stack_frame_head = fra.me.prev;
99328 return;
99329 }
99330 void parser___ReduceAction956___init(val_t p0, int* init_table){
99331 int itpos960 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction956].i;
99332 struct {struct stack_frame_t me;} fra;
99333 val_t tmp;
99334 if (init_table[itpos960]) return;
99335 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99336 fra.me.file = LOCATE_parser;
99337 fra.me.line = 37155;
99338 fra.me.meth = LOCATE_parser___ReduceAction956___init;
99339 fra.me.has_broke = 0;
99340 fra.me.REG_size = 1;
99341 fra.me.REG[0] = NIT_NULL;
99342 fra.me.REG[0] = p0;
99343 /* ./parser//parser.nit:37155 */
99344 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
99345 stack_frame_head = fra.me.prev;
99346 init_table[itpos960] = 1;
99347 return;
99348 }
99349 void parser___ReduceAction957___action(val_t p0, val_t p1){
99350 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
99351 val_t REGB0;
99352 val_t tmp;
99353 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99354 fra.me.file = LOCATE_parser;
99355 fra.me.line = 37159;
99356 fra.me.meth = LOCATE_parser___ReduceAction957___action;
99357 fra.me.has_broke = 0;
99358 fra.me.REG_size = 3;
99359 fra.me.REG[0] = NIT_NULL;
99360 fra.me.REG[1] = NIT_NULL;
99361 fra.me.REG[2] = NIT_NULL;
99362 fra.me.REG[0] = p0;
99363 fra.me.REG[1] = p1;
99364 fra.me.REG[0] = NIT_NULL;
99365 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99366 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
99367 /* ./parser//parser.nit:37164 */
99368 if (UNTAG_Bool(REGB0)) {
99369 } else {
99370 fprintf(stderr, "Assert failed");
99371 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37164);
99372 nit_exit(1);
99373 }
99374 fra.me.REG[0] = fra.me.REG[2];
99375 REGB0 = TAG_Int(90);
99376 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
99377 /* ./parser//parser.nit:37166 */
99378 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
99379 stack_frame_head = fra.me.prev;
99380 return;
99381 }
99382 void parser___ReduceAction957___init(val_t p0, int* init_table){
99383 int itpos961 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction957].i;
99384 struct {struct stack_frame_t me;} fra;
99385 val_t tmp;
99386 if (init_table[itpos961]) return;
99387 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99388 fra.me.file = LOCATE_parser;
99389 fra.me.line = 37168;
99390 fra.me.meth = LOCATE_parser___ReduceAction957___init;
99391 fra.me.has_broke = 0;
99392 fra.me.REG_size = 1;
99393 fra.me.REG[0] = NIT_NULL;
99394 fra.me.REG[0] = p0;
99395 /* ./parser//parser.nit:37168 */
99396 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
99397 stack_frame_head = fra.me.prev;
99398 init_table[itpos961] = 1;
99399 return;
99400 }
99401 void parser___ReduceAction958___action(val_t p0, val_t p1){
99402 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
99403 val_t REGB0;
99404 val_t tmp;
99405 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99406 fra.me.file = LOCATE_parser;
99407 fra.me.line = 37172;
99408 fra.me.meth = LOCATE_parser___ReduceAction958___action;
99409 fra.me.has_broke = 0;
99410 fra.me.REG_size = 3;
99411 fra.me.REG[0] = NIT_NULL;
99412 fra.me.REG[1] = NIT_NULL;
99413 fra.me.REG[2] = NIT_NULL;
99414 fra.me.REG[0] = p0;
99415 fra.me.REG[1] = p1;
99416 fra.me.REG[0] = NIT_NULL;
99417 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99418 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
99419 /* ./parser//parser.nit:37177 */
99420 if (UNTAG_Bool(REGB0)) {
99421 } else {
99422 fprintf(stderr, "Assert failed");
99423 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37177);
99424 nit_exit(1);
99425 }
99426 fra.me.REG[0] = fra.me.REG[2];
99427 REGB0 = TAG_Int(90);
99428 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
99429 /* ./parser//parser.nit:37179 */
99430 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
99431 stack_frame_head = fra.me.prev;
99432 return;
99433 }
99434 void parser___ReduceAction958___init(val_t p0, int* init_table){
99435 int itpos962 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction958].i;
99436 struct {struct stack_frame_t me;} fra;
99437 val_t tmp;
99438 if (init_table[itpos962]) return;
99439 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99440 fra.me.file = LOCATE_parser;
99441 fra.me.line = 37181;
99442 fra.me.meth = LOCATE_parser___ReduceAction958___init;
99443 fra.me.has_broke = 0;
99444 fra.me.REG_size = 1;
99445 fra.me.REG[0] = NIT_NULL;
99446 fra.me.REG[0] = p0;
99447 /* ./parser//parser.nit:37181 */
99448 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
99449 stack_frame_head = fra.me.prev;
99450 init_table[itpos962] = 1;
99451 return;
99452 }
99453 void parser___ReduceAction959___action(val_t p0, val_t p1){
99454 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
99455 val_t REGB0;
99456 val_t tmp;
99457 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99458 fra.me.file = LOCATE_parser;
99459 fra.me.line = 37185;
99460 fra.me.meth = LOCATE_parser___ReduceAction959___action;
99461 fra.me.has_broke = 0;
99462 fra.me.REG_size = 3;
99463 fra.me.REG[0] = NIT_NULL;
99464 fra.me.REG[1] = NIT_NULL;
99465 fra.me.REG[2] = NIT_NULL;
99466 fra.me.REG[0] = p0;
99467 fra.me.REG[1] = p1;
99468 fra.me.REG[0] = NIT_NULL;
99469 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99470 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
99471 /* ./parser//parser.nit:37190 */
99472 if (UNTAG_Bool(REGB0)) {
99473 } else {
99474 fprintf(stderr, "Assert failed");
99475 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37190);
99476 nit_exit(1);
99477 }
99478 fra.me.REG[0] = fra.me.REG[2];
99479 REGB0 = TAG_Int(90);
99480 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
99481 /* ./parser//parser.nit:37192 */
99482 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
99483 stack_frame_head = fra.me.prev;
99484 return;
99485 }
99486 void parser___ReduceAction959___init(val_t p0, int* init_table){
99487 int itpos963 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction959].i;
99488 struct {struct stack_frame_t me;} fra;
99489 val_t tmp;
99490 if (init_table[itpos963]) return;
99491 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99492 fra.me.file = LOCATE_parser;
99493 fra.me.line = 37194;
99494 fra.me.meth = LOCATE_parser___ReduceAction959___init;
99495 fra.me.has_broke = 0;
99496 fra.me.REG_size = 1;
99497 fra.me.REG[0] = NIT_NULL;
99498 fra.me.REG[0] = p0;
99499 /* ./parser//parser.nit:37194 */
99500 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
99501 stack_frame_head = fra.me.prev;
99502 init_table[itpos963] = 1;
99503 return;
99504 }
99505 void parser___ReduceAction960___action(val_t p0, val_t p1){
99506 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
99507 val_t REGB0;
99508 val_t tmp;
99509 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99510 fra.me.file = LOCATE_parser;
99511 fra.me.line = 37198;
99512 fra.me.meth = LOCATE_parser___ReduceAction960___action;
99513 fra.me.has_broke = 0;
99514 fra.me.REG_size = 3;
99515 fra.me.REG[0] = NIT_NULL;
99516 fra.me.REG[1] = NIT_NULL;
99517 fra.me.REG[2] = NIT_NULL;
99518 fra.me.REG[0] = p0;
99519 fra.me.REG[1] = p1;
99520 fra.me.REG[0] = NIT_NULL;
99521 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99522 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
99523 /* ./parser//parser.nit:37203 */
99524 if (UNTAG_Bool(REGB0)) {
99525 } else {
99526 fprintf(stderr, "Assert failed");
99527 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37203);
99528 nit_exit(1);
99529 }
99530 fra.me.REG[0] = fra.me.REG[2];
99531 REGB0 = TAG_Int(90);
99532 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
99533 /* ./parser//parser.nit:37205 */
99534 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
99535 stack_frame_head = fra.me.prev;
99536 return;
99537 }
99538 void parser___ReduceAction960___init(val_t p0, int* init_table){
99539 int itpos964 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction960].i;
99540 struct {struct stack_frame_t me;} fra;
99541 val_t tmp;
99542 if (init_table[itpos964]) return;
99543 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99544 fra.me.file = LOCATE_parser;
99545 fra.me.line = 37207;
99546 fra.me.meth = LOCATE_parser___ReduceAction960___init;
99547 fra.me.has_broke = 0;
99548 fra.me.REG_size = 1;
99549 fra.me.REG[0] = NIT_NULL;
99550 fra.me.REG[0] = p0;
99551 /* ./parser//parser.nit:37207 */
99552 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
99553 stack_frame_head = fra.me.prev;
99554 init_table[itpos964] = 1;
99555 return;
99556 }
99557 void parser___ReduceAction961___action(val_t p0, val_t p1){
99558 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
99559 val_t REGB0;
99560 val_t tmp;
99561 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99562 fra.me.file = LOCATE_parser;
99563 fra.me.line = 37211;
99564 fra.me.meth = LOCATE_parser___ReduceAction961___action;
99565 fra.me.has_broke = 0;
99566 fra.me.REG_size = 7;
99567 fra.me.REG[0] = NIT_NULL;
99568 fra.me.REG[1] = NIT_NULL;
99569 fra.me.REG[2] = NIT_NULL;
99570 fra.me.REG[3] = NIT_NULL;
99571 fra.me.REG[4] = NIT_NULL;
99572 fra.me.REG[5] = NIT_NULL;
99573 fra.me.REG[6] = NIT_NULL;
99574 fra.me.REG[0] = p0;
99575 fra.me.REG[1] = p1;
99576 fra.me.REG[0] = NIT_NULL;
99577 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99578 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99579 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99580 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99581 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99582 fra.me.REG[5] = NEW_Array_array___Array___init();
99583 fra.me.REG[6] = NEW_Array_array___Array___init();
99584 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
99585 /* ./parser//parser.nit:37222 */
99586 if (UNTAG_Bool(REGB0)) {
99587 } else {
99588 fprintf(stderr, "Assert failed");
99589 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37222);
99590 nit_exit(1);
99591 }
99592 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
99593 /* ./parser//parser.nit:37224 */
99594 if (UNTAG_Bool(REGB0)) {
99595 } else {
99596 fprintf(stderr, "Assert failed");
99597 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37224);
99598 nit_exit(1);
99599 }
99600 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
99601 /* ./parser//parser.nit:37226 */
99602 if (UNTAG_Bool(REGB0)) {
99603 } else {
99604 fprintf(stderr, "Assert failed");
99605 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37226);
99606 nit_exit(1);
99607 }
99608 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
99609 /* ./parser//parser.nit:37228 */
99610 if (UNTAG_Bool(REGB0)) {
99611 fra.me.REG[5] = fra.me.REG[2];
99612 /* ./parser//parser.nit:37229 */
99613 } else {
99614 /* ./parser//parser.nit:37231 */
99615 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
99616 }
99617 fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[6]);
99618 fra.me.REG[0] = fra.me.REG[6];
99619 REGB0 = TAG_Int(90);
99620 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
99621 /* ./parser//parser.nit:37241 */
99622 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
99623 stack_frame_head = fra.me.prev;
99624 return;
99625 }
99626 void parser___ReduceAction961___init(val_t p0, int* init_table){
99627 int itpos965 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction961].i;
99628 struct {struct stack_frame_t me;} fra;
99629 val_t tmp;
99630 if (init_table[itpos965]) return;
99631 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99632 fra.me.file = LOCATE_parser;
99633 fra.me.line = 37243;
99634 fra.me.meth = LOCATE_parser___ReduceAction961___init;
99635 fra.me.has_broke = 0;
99636 fra.me.REG_size = 1;
99637 fra.me.REG[0] = NIT_NULL;
99638 fra.me.REG[0] = p0;
99639 /* ./parser//parser.nit:37243 */
99640 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
99641 stack_frame_head = fra.me.prev;
99642 init_table[itpos965] = 1;
99643 return;
99644 }
99645 void parser___ReduceAction962___action(val_t p0, val_t p1){
99646 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
99647 val_t REGB0;
99648 val_t tmp;
99649 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99650 fra.me.file = LOCATE_parser;
99651 fra.me.line = 37247;
99652 fra.me.meth = LOCATE_parser___ReduceAction962___action;
99653 fra.me.has_broke = 0;
99654 fra.me.REG_size = 7;
99655 fra.me.REG[0] = NIT_NULL;
99656 fra.me.REG[1] = NIT_NULL;
99657 fra.me.REG[2] = NIT_NULL;
99658 fra.me.REG[3] = NIT_NULL;
99659 fra.me.REG[4] = NIT_NULL;
99660 fra.me.REG[5] = NIT_NULL;
99661 fra.me.REG[6] = NIT_NULL;
99662 fra.me.REG[0] = p0;
99663 fra.me.REG[1] = p1;
99664 fra.me.REG[0] = NIT_NULL;
99665 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99666 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99667 fra.me.REG[4] = NEW_Array_array___Array___init();
99668 fra.me.REG[5] = NEW_Array_array___Array___init();
99669 fra.me.REG[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
99670 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
99671 /* ./parser//parser.nit:37257 */
99672 if (UNTAG_Bool(REGB0)) {
99673 } else {
99674 fprintf(stderr, "Assert failed");
99675 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37257);
99676 nit_exit(1);
99677 }
99678 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
99679 /* ./parser//parser.nit:37259 */
99680 if (UNTAG_Bool(REGB0)) {
99681 } else {
99682 fprintf(stderr, "Assert failed");
99683 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37259);
99684 nit_exit(1);
99685 }
99686 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
99687 /* ./parser//parser.nit:37261 */
99688 if (UNTAG_Bool(REGB0)) {
99689 fra.me.REG[4] = fra.me.REG[2];
99690 /* ./parser//parser.nit:37262 */
99691 } else {
99692 /* ./parser//parser.nit:37264 */
99693 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
99694 }
99695 fra.me.REG[5] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[6], fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]);
99696 fra.me.REG[0] = fra.me.REG[5];
99697 REGB0 = TAG_Int(90);
99698 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
99699 /* ./parser//parser.nit:37274 */
99700 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
99701 stack_frame_head = fra.me.prev;
99702 return;
99703 }
99704 void parser___ReduceAction962___init(val_t p0, int* init_table){
99705 int itpos966 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction962].i;
99706 struct {struct stack_frame_t me;} fra;
99707 val_t tmp;
99708 if (init_table[itpos966]) return;
99709 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99710 fra.me.file = LOCATE_parser;
99711 fra.me.line = 37276;
99712 fra.me.meth = LOCATE_parser___ReduceAction962___init;
99713 fra.me.has_broke = 0;
99714 fra.me.REG_size = 1;
99715 fra.me.REG[0] = NIT_NULL;
99716 fra.me.REG[0] = p0;
99717 /* ./parser//parser.nit:37276 */
99718 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
99719 stack_frame_head = fra.me.prev;
99720 init_table[itpos966] = 1;
99721 return;
99722 }
99723 void parser___ReduceAction963___action(val_t p0, val_t p1){
99724 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
99725 val_t REGB0;
99726 val_t tmp;
99727 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99728 fra.me.file = LOCATE_parser;
99729 fra.me.line = 37280;
99730 fra.me.meth = LOCATE_parser___ReduceAction963___action;
99731 fra.me.has_broke = 0;
99732 fra.me.REG_size = 8;
99733 fra.me.REG[0] = NIT_NULL;
99734 fra.me.REG[1] = NIT_NULL;
99735 fra.me.REG[2] = NIT_NULL;
99736 fra.me.REG[3] = NIT_NULL;
99737 fra.me.REG[4] = NIT_NULL;
99738 fra.me.REG[5] = NIT_NULL;
99739 fra.me.REG[6] = NIT_NULL;
99740 fra.me.REG[7] = NIT_NULL;
99741 fra.me.REG[0] = p0;
99742 fra.me.REG[1] = p1;
99743 fra.me.REG[0] = NIT_NULL;
99744 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99745 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99746 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99747 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99748 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99749 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99750 fra.me.REG[6] = NEW_Array_array___Array___init();
99751 fra.me.REG[7] = NEW_Array_array___Array___init();
99752 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
99753 /* ./parser//parser.nit:37292 */
99754 if (UNTAG_Bool(REGB0)) {
99755 } else {
99756 fprintf(stderr, "Assert failed");
99757 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37292);
99758 nit_exit(1);
99759 }
99760 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
99761 /* ./parser//parser.nit:37294 */
99762 if (UNTAG_Bool(REGB0)) {
99763 } else {
99764 fprintf(stderr, "Assert failed");
99765 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37294);
99766 nit_exit(1);
99767 }
99768 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
99769 /* ./parser//parser.nit:37296 */
99770 if (UNTAG_Bool(REGB0)) {
99771 } else {
99772 fprintf(stderr, "Assert failed");
99773 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37296);
99774 nit_exit(1);
99775 }
99776 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
99777 /* ./parser//parser.nit:37298 */
99778 if (UNTAG_Bool(REGB0)) {
99779 fra.me.REG[6] = fra.me.REG[3];
99780 /* ./parser//parser.nit:37299 */
99781 } else {
99782 /* ./parser//parser.nit:37301 */
99783 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
99784 }
99785 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
99786 /* ./parser//parser.nit:37305 */
99787 if (UNTAG_Bool(REGB0)) {
99788 } else {
99789 fprintf(stderr, "Assert failed");
99790 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37305);
99791 nit_exit(1);
99792 }
99793 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
99794 /* ./parser//parser.nit:37307 */
99795 if (UNTAG_Bool(REGB0)) {
99796 fra.me.REG[7] = fra.me.REG[2];
99797 /* ./parser//parser.nit:37308 */
99798 } else {
99799 /* ./parser//parser.nit:37310 */
99800 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]);
99801 }
99802 fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]);
99803 fra.me.REG[0] = fra.me.REG[7];
99804 REGB0 = TAG_Int(90);
99805 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
99806 /* ./parser//parser.nit:37320 */
99807 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
99808 stack_frame_head = fra.me.prev;
99809 return;
99810 }
99811 void parser___ReduceAction963___init(val_t p0, int* init_table){
99812 int itpos967 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction963].i;
99813 struct {struct stack_frame_t me;} fra;
99814 val_t tmp;
99815 if (init_table[itpos967]) return;
99816 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99817 fra.me.file = LOCATE_parser;
99818 fra.me.line = 37322;
99819 fra.me.meth = LOCATE_parser___ReduceAction963___init;
99820 fra.me.has_broke = 0;
99821 fra.me.REG_size = 1;
99822 fra.me.REG[0] = NIT_NULL;
99823 fra.me.REG[0] = p0;
99824 /* ./parser//parser.nit:37322 */
99825 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
99826 stack_frame_head = fra.me.prev;
99827 init_table[itpos967] = 1;
99828 return;
99829 }
99830 void parser___ReduceAction964___action(val_t p0, val_t p1){
99831 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
99832 val_t REGB0;
99833 val_t tmp;
99834 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99835 fra.me.file = LOCATE_parser;
99836 fra.me.line = 37326;
99837 fra.me.meth = LOCATE_parser___ReduceAction964___action;
99838 fra.me.has_broke = 0;
99839 fra.me.REG_size = 8;
99840 fra.me.REG[0] = NIT_NULL;
99841 fra.me.REG[1] = NIT_NULL;
99842 fra.me.REG[2] = NIT_NULL;
99843 fra.me.REG[3] = NIT_NULL;
99844 fra.me.REG[4] = NIT_NULL;
99845 fra.me.REG[5] = NIT_NULL;
99846 fra.me.REG[6] = NIT_NULL;
99847 fra.me.REG[7] = NIT_NULL;
99848 fra.me.REG[0] = p0;
99849 fra.me.REG[1] = p1;
99850 fra.me.REG[0] = NIT_NULL;
99851 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99852 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99853 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99854 fra.me.REG[5] = NEW_Array_array___Array___init();
99855 fra.me.REG[6] = NEW_Array_array___Array___init();
99856 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
99857 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
99858 /* ./parser//parser.nit:37337 */
99859 if (UNTAG_Bool(REGB0)) {
99860 } else {
99861 fprintf(stderr, "Assert failed");
99862 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37337);
99863 nit_exit(1);
99864 }
99865 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
99866 /* ./parser//parser.nit:37339 */
99867 if (UNTAG_Bool(REGB0)) {
99868 } else {
99869 fprintf(stderr, "Assert failed");
99870 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37339);
99871 nit_exit(1);
99872 }
99873 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
99874 /* ./parser//parser.nit:37341 */
99875 if (UNTAG_Bool(REGB0)) {
99876 fra.me.REG[5] = fra.me.REG[3];
99877 /* ./parser//parser.nit:37342 */
99878 } else {
99879 /* ./parser//parser.nit:37344 */
99880 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
99881 }
99882 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
99883 /* ./parser//parser.nit:37348 */
99884 if (UNTAG_Bool(REGB0)) {
99885 } else {
99886 fprintf(stderr, "Assert failed");
99887 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37348);
99888 nit_exit(1);
99889 }
99890 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
99891 /* ./parser//parser.nit:37350 */
99892 if (UNTAG_Bool(REGB0)) {
99893 fra.me.REG[6] = fra.me.REG[2];
99894 /* ./parser//parser.nit:37351 */
99895 } else {
99896 /* ./parser//parser.nit:37353 */
99897 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
99898 }
99899 fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
99900 fra.me.REG[0] = fra.me.REG[6];
99901 REGB0 = TAG_Int(90);
99902 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
99903 /* ./parser//parser.nit:37363 */
99904 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
99905 stack_frame_head = fra.me.prev;
99906 return;
99907 }
99908 void parser___ReduceAction964___init(val_t p0, int* init_table){
99909 int itpos968 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction964].i;
99910 struct {struct stack_frame_t me;} fra;
99911 val_t tmp;
99912 if (init_table[itpos968]) return;
99913 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99914 fra.me.file = LOCATE_parser;
99915 fra.me.line = 37365;
99916 fra.me.meth = LOCATE_parser___ReduceAction964___init;
99917 fra.me.has_broke = 0;
99918 fra.me.REG_size = 1;
99919 fra.me.REG[0] = NIT_NULL;
99920 fra.me.REG[0] = p0;
99921 /* ./parser//parser.nit:37365 */
99922 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
99923 stack_frame_head = fra.me.prev;
99924 init_table[itpos968] = 1;
99925 return;
99926 }
99927 void parser___ReduceAction965___action(val_t p0, val_t p1){
99928 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
99929 val_t REGB0;
99930 val_t tmp;
99931 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99932 fra.me.file = LOCATE_parser;
99933 fra.me.line = 37369;
99934 fra.me.meth = LOCATE_parser___ReduceAction965___action;
99935 fra.me.has_broke = 0;
99936 fra.me.REG_size = 5;
99937 fra.me.REG[0] = NIT_NULL;
99938 fra.me.REG[1] = NIT_NULL;
99939 fra.me.REG[2] = NIT_NULL;
99940 fra.me.REG[3] = NIT_NULL;
99941 fra.me.REG[4] = NIT_NULL;
99942 fra.me.REG[0] = p0;
99943 fra.me.REG[1] = p1;
99944 fra.me.REG[0] = NIT_NULL;
99945 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99946 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
99947 fra.me.REG[4] = NEW_Array_array___Array___init();
99948 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/;
99949 /* ./parser//parser.nit:37376 */
99950 if (UNTAG_Bool(REGB0)) {
99951 } else {
99952 fprintf(stderr, "Assert failed");
99953 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37376);
99954 nit_exit(1);
99955 }
99956 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
99957 /* ./parser//parser.nit:37378 */
99958 if (UNTAG_Bool(REGB0)) {
99959 } else {
99960 fprintf(stderr, "Assert failed");
99961 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37378);
99962 nit_exit(1);
99963 }
99964 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
99965 /* ./parser//parser.nit:37380 */
99966 if (UNTAG_Bool(REGB0)) {
99967 fra.me.REG[4] = fra.me.REG[2];
99968 /* ./parser//parser.nit:37381 */
99969 } else {
99970 /* ./parser//parser.nit:37383 */
99971 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
99972 }
99973 fra.me.REG[4] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
99974 fra.me.REG[0] = fra.me.REG[4];
99975 REGB0 = TAG_Int(90);
99976 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
99977 /* ./parser//parser.nit:37392 */
99978 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
99979 stack_frame_head = fra.me.prev;
99980 return;
99981 }
99982 void parser___ReduceAction965___init(val_t p0, int* init_table){
99983 int itpos969 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction965].i;
99984 struct {struct stack_frame_t me;} fra;
99985 val_t tmp;
99986 if (init_table[itpos969]) return;
99987 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
99988 fra.me.file = LOCATE_parser;
99989 fra.me.line = 37394;
99990 fra.me.meth = LOCATE_parser___ReduceAction965___init;
99991 fra.me.has_broke = 0;
99992 fra.me.REG_size = 1;
99993 fra.me.REG[0] = NIT_NULL;
99994 fra.me.REG[0] = p0;
99995 /* ./parser//parser.nit:37394 */
99996 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
99997 stack_frame_head = fra.me.prev;
99998 init_table[itpos969] = 1;
99999 return;
100000 }
100001 void parser___ReduceAction966___action(val_t p0, val_t p1){
100002 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
100003 val_t REGB0;
100004 val_t tmp;
100005 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100006 fra.me.file = LOCATE_parser;
100007 fra.me.line = 37398;
100008 fra.me.meth = LOCATE_parser___ReduceAction966___action;
100009 fra.me.has_broke = 0;
100010 fra.me.REG_size = 6;
100011 fra.me.REG[0] = NIT_NULL;
100012 fra.me.REG[1] = NIT_NULL;
100013 fra.me.REG[2] = NIT_NULL;
100014 fra.me.REG[3] = NIT_NULL;
100015 fra.me.REG[4] = NIT_NULL;
100016 fra.me.REG[5] = NIT_NULL;
100017 fra.me.REG[0] = p0;
100018 fra.me.REG[1] = p1;
100019 fra.me.REG[0] = NIT_NULL;
100020 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100021 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100022 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100023 fra.me.REG[5] = NEW_Array_array___Array___init();
100024 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AQualified, ID_AQualified)) /*cast nullable AQualified*/;
100025 /* ./parser//parser.nit:37406 */
100026 if (UNTAG_Bool(REGB0)) {
100027 } else {
100028 fprintf(stderr, "Assert failed");
100029 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37406);
100030 nit_exit(1);
100031 }
100032 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/;
100033 /* ./parser//parser.nit:37408 */
100034 if (UNTAG_Bool(REGB0)) {
100035 } else {
100036 fprintf(stderr, "Assert failed");
100037 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37408);
100038 nit_exit(1);
100039 }
100040 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
100041 /* ./parser//parser.nit:37410 */
100042 if (UNTAG_Bool(REGB0)) {
100043 } else {
100044 fprintf(stderr, "Assert failed");
100045 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37410);
100046 nit_exit(1);
100047 }
100048 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
100049 /* ./parser//parser.nit:37412 */
100050 if (UNTAG_Bool(REGB0)) {
100051 fra.me.REG[5] = fra.me.REG[2];
100052 /* ./parser//parser.nit:37413 */
100053 } else {
100054 /* ./parser//parser.nit:37415 */
100055 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
100056 }
100057 fra.me.REG[5] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
100058 fra.me.REG[0] = fra.me.REG[5];
100059 REGB0 = TAG_Int(90);
100060 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
100061 /* ./parser//parser.nit:37424 */
100062 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
100063 stack_frame_head = fra.me.prev;
100064 return;
100065 }
100066 void parser___ReduceAction966___init(val_t p0, int* init_table){
100067 int itpos970 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction966].i;
100068 struct {struct stack_frame_t me;} fra;
100069 val_t tmp;
100070 if (init_table[itpos970]) return;
100071 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100072 fra.me.file = LOCATE_parser;
100073 fra.me.line = 37426;
100074 fra.me.meth = LOCATE_parser___ReduceAction966___init;
100075 fra.me.has_broke = 0;
100076 fra.me.REG_size = 1;
100077 fra.me.REG[0] = NIT_NULL;
100078 fra.me.REG[0] = p0;
100079 /* ./parser//parser.nit:37426 */
100080 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
100081 stack_frame_head = fra.me.prev;
100082 init_table[itpos970] = 1;
100083 return;
100084 }
100085 void parser___ReduceAction967___action(val_t p0, val_t p1){
100086 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
100087 val_t REGB0;
100088 val_t tmp;
100089 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100090 fra.me.file = LOCATE_parser;
100091 fra.me.line = 37430;
100092 fra.me.meth = LOCATE_parser___ReduceAction967___action;
100093 fra.me.has_broke = 0;
100094 fra.me.REG_size = 6;
100095 fra.me.REG[0] = NIT_NULL;
100096 fra.me.REG[1] = NIT_NULL;
100097 fra.me.REG[2] = NIT_NULL;
100098 fra.me.REG[3] = NIT_NULL;
100099 fra.me.REG[4] = NIT_NULL;
100100 fra.me.REG[5] = NIT_NULL;
100101 fra.me.REG[0] = p0;
100102 fra.me.REG[1] = p1;
100103 fra.me.REG[0] = NIT_NULL;
100104 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100105 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100106 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100107 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100108 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100109 fra.me.REG[5] = NEW_Array_array___Array___init();
100110 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
100111 /* ./parser//parser.nit:37440 */
100112 if (UNTAG_Bool(REGB0)) {
100113 } else {
100114 fprintf(stderr, "Assert failed");
100115 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37440);
100116 nit_exit(1);
100117 }
100118 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
100119 /* ./parser//parser.nit:37442 */
100120 if (UNTAG_Bool(REGB0)) {
100121 } else {
100122 fprintf(stderr, "Assert failed");
100123 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37442);
100124 nit_exit(1);
100125 }
100126 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
100127 /* ./parser//parser.nit:37444 */
100128 if (UNTAG_Bool(REGB0)) {
100129 } else {
100130 fprintf(stderr, "Assert failed");
100131 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37444);
100132 nit_exit(1);
100133 }
100134 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
100135 /* ./parser//parser.nit:37446 */
100136 if (UNTAG_Bool(REGB0)) {
100137 fra.me.REG[5] = fra.me.REG[2];
100138 /* ./parser//parser.nit:37447 */
100139 } else {
100140 /* ./parser//parser.nit:37449 */
100141 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
100142 }
100143 fra.me.REG[5] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
100144 fra.me.REG[0] = fra.me.REG[5];
100145 REGB0 = TAG_Int(90);
100146 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
100147 /* ./parser//parser.nit:37458 */
100148 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
100149 stack_frame_head = fra.me.prev;
100150 return;
100151 }
100152 void parser___ReduceAction967___init(val_t p0, int* init_table){
100153 int itpos971 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction967].i;
100154 struct {struct stack_frame_t me;} fra;
100155 val_t tmp;
100156 if (init_table[itpos971]) return;
100157 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100158 fra.me.file = LOCATE_parser;
100159 fra.me.line = 37460;
100160 fra.me.meth = LOCATE_parser___ReduceAction967___init;
100161 fra.me.has_broke = 0;
100162 fra.me.REG_size = 1;
100163 fra.me.REG[0] = NIT_NULL;
100164 fra.me.REG[0] = p0;
100165 /* ./parser//parser.nit:37460 */
100166 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
100167 stack_frame_head = fra.me.prev;
100168 init_table[itpos971] = 1;
100169 return;
100170 }
100171 void parser___ReduceAction968___action(val_t p0, val_t p1){
100172 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
100173 val_t REGB0;
100174 val_t tmp;
100175 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100176 fra.me.file = LOCATE_parser;
100177 fra.me.line = 37464;
100178 fra.me.meth = LOCATE_parser___ReduceAction968___action;
100179 fra.me.has_broke = 0;
100180 fra.me.REG_size = 6;
100181 fra.me.REG[0] = NIT_NULL;
100182 fra.me.REG[1] = NIT_NULL;
100183 fra.me.REG[2] = NIT_NULL;
100184 fra.me.REG[3] = NIT_NULL;
100185 fra.me.REG[4] = NIT_NULL;
100186 fra.me.REG[5] = NIT_NULL;
100187 fra.me.REG[0] = p0;
100188 fra.me.REG[1] = p1;
100189 fra.me.REG[0] = NIT_NULL;
100190 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100191 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100192 fra.me.REG[4] = NEW_Array_array___Array___init();
100193 fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
100194 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
100195 /* ./parser//parser.nit:37473 */
100196 if (UNTAG_Bool(REGB0)) {
100197 } else {
100198 fprintf(stderr, "Assert failed");
100199 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37473);
100200 nit_exit(1);
100201 }
100202 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
100203 /* ./parser//parser.nit:37475 */
100204 if (UNTAG_Bool(REGB0)) {
100205 } else {
100206 fprintf(stderr, "Assert failed");
100207 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37475);
100208 nit_exit(1);
100209 }
100210 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
100211 /* ./parser//parser.nit:37477 */
100212 if (UNTAG_Bool(REGB0)) {
100213 fra.me.REG[4] = fra.me.REG[2];
100214 /* ./parser//parser.nit:37478 */
100215 } else {
100216 /* ./parser//parser.nit:37480 */
100217 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
100218 }
100219 fra.me.REG[4] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[3], fra.me.REG[4]);
100220 fra.me.REG[0] = fra.me.REG[4];
100221 REGB0 = TAG_Int(90);
100222 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
100223 /* ./parser//parser.nit:37489 */
100224 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
100225 stack_frame_head = fra.me.prev;
100226 return;
100227 }
100228 void parser___ReduceAction968___init(val_t p0, int* init_table){
100229 int itpos972 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction968].i;
100230 struct {struct stack_frame_t me;} fra;
100231 val_t tmp;
100232 if (init_table[itpos972]) return;
100233 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100234 fra.me.file = LOCATE_parser;
100235 fra.me.line = 37491;
100236 fra.me.meth = LOCATE_parser___ReduceAction968___init;
100237 fra.me.has_broke = 0;
100238 fra.me.REG_size = 1;
100239 fra.me.REG[0] = NIT_NULL;
100240 fra.me.REG[0] = p0;
100241 /* ./parser//parser.nit:37491 */
100242 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
100243 stack_frame_head = fra.me.prev;
100244 init_table[itpos972] = 1;
100245 return;
100246 }
100247 void parser___ReduceAction969___action(val_t p0, val_t p1){
100248 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
100249 val_t REGB0;
100250 val_t REGB1;
100251 val_t tmp;
100252 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100253 fra.me.file = LOCATE_parser;
100254 fra.me.line = 37495;
100255 fra.me.meth = LOCATE_parser___ReduceAction969___action;
100256 fra.me.has_broke = 0;
100257 fra.me.REG_size = 4;
100258 fra.me.REG[0] = NIT_NULL;
100259 fra.me.REG[1] = NIT_NULL;
100260 fra.me.REG[2] = NIT_NULL;
100261 fra.me.REG[3] = NIT_NULL;
100262 fra.me.REG[0] = p0;
100263 fra.me.REG[1] = p1;
100264 fra.me.REG[0] = NIT_NULL;
100265 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100266 fra.me.REG[3] = NEW_Array_array___Array___init();
100267 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClosureDef, ID_AClosureDef)) /*cast nullable AClosureDef*/;
100268 /* ./parser//parser.nit:37501 */
100269 if (UNTAG_Bool(REGB0)) {
100270 } else {
100271 fprintf(stderr, "Assert failed");
100272 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37501);
100273 nit_exit(1);
100274 }
100275 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
100276 /* ./parser//parser.nit:37502 */
100277 if (UNTAG_Bool(REGB0)) {
100278 } else {
100279 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
100280 if (UNTAG_Bool(REGB1)) {
100281 REGB1 = TAG_Bool(false);
100282 REGB0 = REGB1;
100283 } else {
100284 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
100285 REGB0 = REGB1;
100286 }
100287 }
100288 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
100289 if (UNTAG_Bool(REGB0)) {
100290 /* ./parser//parser.nit:37503 */
100291 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
100292 }
100293 fra.me.REG[0] = fra.me.REG[3];
100294 REGB0 = TAG_Int(91);
100295 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
100296 /* ./parser//parser.nit:37506 */
100297 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
100298 stack_frame_head = fra.me.prev;
100299 return;
100300 }
100301 void parser___ReduceAction969___init(val_t p0, int* init_table){
100302 int itpos973 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction969].i;
100303 struct {struct stack_frame_t me;} fra;
100304 val_t tmp;
100305 if (init_table[itpos973]) return;
100306 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100307 fra.me.file = LOCATE_parser;
100308 fra.me.line = 37508;
100309 fra.me.meth = LOCATE_parser___ReduceAction969___init;
100310 fra.me.has_broke = 0;
100311 fra.me.REG_size = 1;
100312 fra.me.REG[0] = NIT_NULL;
100313 fra.me.REG[0] = p0;
100314 /* ./parser//parser.nit:37508 */
100315 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
100316 stack_frame_head = fra.me.prev;
100317 init_table[itpos973] = 1;
100318 return;
100319 }
100320 void parser___ReduceAction970___action(val_t p0, val_t p1){
100321 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
100322 val_t REGB0;
100323 val_t REGB1;
100324 val_t tmp;
100325 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100326 fra.me.file = LOCATE_parser;
100327 fra.me.line = 37512;
100328 fra.me.meth = LOCATE_parser___ReduceAction970___action;
100329 fra.me.has_broke = 0;
100330 fra.me.REG_size = 5;
100331 fra.me.REG[0] = NIT_NULL;
100332 fra.me.REG[1] = NIT_NULL;
100333 fra.me.REG[2] = NIT_NULL;
100334 fra.me.REG[3] = NIT_NULL;
100335 fra.me.REG[4] = NIT_NULL;
100336 fra.me.REG[0] = p0;
100337 fra.me.REG[1] = p1;
100338 fra.me.REG[0] = NIT_NULL;
100339 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100340 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100341 fra.me.REG[4] = NEW_Array_array___Array___init();
100342 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureDef, ID_AClosureDef)) /*cast nullable AClosureDef*/;
100343 /* ./parser//parser.nit:37519 */
100344 if (UNTAG_Bool(REGB0)) {
100345 } else {
100346 fprintf(stderr, "Assert failed");
100347 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37519);
100348 nit_exit(1);
100349 }
100350 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
100351 /* ./parser//parser.nit:37521 */
100352 if (UNTAG_Bool(REGB0)) {
100353 } else {
100354 fprintf(stderr, "Assert failed");
100355 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37521);
100356 nit_exit(1);
100357 }
100358 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
100359 /* ./parser//parser.nit:37522 */
100360 if (UNTAG_Bool(REGB0)) {
100361 } else {
100362 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
100363 if (UNTAG_Bool(REGB1)) {
100364 REGB1 = TAG_Bool(false);
100365 REGB0 = REGB1;
100366 } else {
100367 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
100368 REGB0 = REGB1;
100369 }
100370 }
100371 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
100372 if (UNTAG_Bool(REGB0)) {
100373 /* ./parser//parser.nit:37523 */
100374 array___Array___add(fra.me.REG[4], fra.me.REG[3]);
100375 }
100376 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
100377 /* ./parser//parser.nit:37526 */
100378 if (UNTAG_Bool(REGB0)) {
100379 fra.me.REG[4] = fra.me.REG[2];
100380 /* ./parser//parser.nit:37527 */
100381 } else {
100382 /* ./parser//parser.nit:37529 */
100383 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
100384 }
100385 fra.me.REG[0] = fra.me.REG[4];
100386 REGB0 = TAG_Int(91);
100387 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
100388 /* ./parser//parser.nit:37533 */
100389 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
100390 stack_frame_head = fra.me.prev;
100391 return;
100392 }
100393 void parser___ReduceAction970___init(val_t p0, int* init_table){
100394 int itpos974 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction970].i;
100395 struct {struct stack_frame_t me;} fra;
100396 val_t tmp;
100397 if (init_table[itpos974]) return;
100398 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100399 fra.me.file = LOCATE_parser;
100400 fra.me.line = 37535;
100401 fra.me.meth = LOCATE_parser___ReduceAction970___init;
100402 fra.me.has_broke = 0;
100403 fra.me.REG_size = 1;
100404 fra.me.REG[0] = NIT_NULL;
100405 fra.me.REG[0] = p0;
100406 /* ./parser//parser.nit:37535 */
100407 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
100408 stack_frame_head = fra.me.prev;
100409 init_table[itpos974] = 1;
100410 return;
100411 }
100412 void parser___ReduceAction971___action(val_t p0, val_t p1){
100413 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
100414 val_t REGB0;
100415 val_t REGB1;
100416 val_t tmp;
100417 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100418 fra.me.file = LOCATE_parser;
100419 fra.me.line = 37539;
100420 fra.me.meth = LOCATE_parser___ReduceAction971___action;
100421 fra.me.has_broke = 0;
100422 fra.me.REG_size = 8;
100423 fra.me.REG[0] = NIT_NULL;
100424 fra.me.REG[1] = NIT_NULL;
100425 fra.me.REG[2] = NIT_NULL;
100426 fra.me.REG[3] = NIT_NULL;
100427 fra.me.REG[4] = NIT_NULL;
100428 fra.me.REG[5] = NIT_NULL;
100429 fra.me.REG[6] = NIT_NULL;
100430 fra.me.REG[7] = NIT_NULL;
100431 fra.me.REG[0] = p0;
100432 fra.me.REG[1] = p1;
100433 fra.me.REG[0] = NIT_NULL;
100434 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100435 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100436 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100437 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100438 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100439 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100440 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100441 fra.me.REG[6] = NEW_Array_array___Array___init();
100442 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
100443 /* ./parser//parser.nit:37551 */
100444 if (UNTAG_Bool(REGB0)) {
100445 } else {
100446 fprintf(stderr, "Assert failed");
100447 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37551);
100448 nit_exit(1);
100449 }
100450 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
100451 /* ./parser//parser.nit:37553 */
100452 if (UNTAG_Bool(REGB0)) {
100453 } else {
100454 fprintf(stderr, "Assert failed");
100455 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37553);
100456 nit_exit(1);
100457 }
100458 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
100459 /* ./parser//parser.nit:37555 */
100460 if (UNTAG_Bool(REGB0)) {
100461 } else {
100462 fprintf(stderr, "Assert failed");
100463 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37555);
100464 nit_exit(1);
100465 }
100466 fra.me.REG[7] = NEW_Array_array___Array___init();
100467 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
100468 /* ./parser//parser.nit:37558 */
100469 if (UNTAG_Bool(REGB0)) {
100470 } else {
100471 fprintf(stderr, "Assert failed");
100472 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37558);
100473 nit_exit(1);
100474 }
100475 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
100476 /* ./parser//parser.nit:37559 */
100477 if (UNTAG_Bool(REGB0)) {
100478 } else {
100479 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
100480 if (UNTAG_Bool(REGB1)) {
100481 REGB1 = TAG_Bool(false);
100482 REGB0 = REGB1;
100483 } else {
100484 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
100485 REGB0 = REGB1;
100486 }
100487 }
100488 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
100489 if (UNTAG_Bool(REGB0)) {
100490 /* ./parser//parser.nit:37560 */
100491 array___Array___add(fra.me.REG[7], fra.me.REG[2]);
100492 }
100493 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
100494 fra.me.REG[7] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[7], NIT_NULL);
100495 fra.me.REG[0] = fra.me.REG[7];
100496 REGB0 = TAG_Int(92);
100497 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
100498 /* ./parser//parser.nit:37574 */
100499 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
100500 stack_frame_head = fra.me.prev;
100501 return;
100502 }
100503 void parser___ReduceAction971___init(val_t p0, int* init_table){
100504 int itpos975 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction971].i;
100505 struct {struct stack_frame_t me;} fra;
100506 val_t tmp;
100507 if (init_table[itpos975]) return;
100508 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100509 fra.me.file = LOCATE_parser;
100510 fra.me.line = 37576;
100511 fra.me.meth = LOCATE_parser___ReduceAction971___init;
100512 fra.me.has_broke = 0;
100513 fra.me.REG_size = 1;
100514 fra.me.REG[0] = NIT_NULL;
100515 fra.me.REG[0] = p0;
100516 /* ./parser//parser.nit:37576 */
100517 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
100518 stack_frame_head = fra.me.prev;
100519 init_table[itpos975] = 1;
100520 return;
100521 }
100522 void parser___ReduceAction972___action(val_t p0, val_t p1){
100523 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
100524 val_t REGB0;
100525 val_t REGB1;
100526 val_t tmp;
100527 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100528 fra.me.file = LOCATE_parser;
100529 fra.me.line = 37580;
100530 fra.me.meth = LOCATE_parser___ReduceAction972___action;
100531 fra.me.has_broke = 0;
100532 fra.me.REG_size = 9;
100533 fra.me.REG[0] = NIT_NULL;
100534 fra.me.REG[1] = NIT_NULL;
100535 fra.me.REG[2] = NIT_NULL;
100536 fra.me.REG[3] = NIT_NULL;
100537 fra.me.REG[4] = NIT_NULL;
100538 fra.me.REG[5] = NIT_NULL;
100539 fra.me.REG[6] = NIT_NULL;
100540 fra.me.REG[7] = NIT_NULL;
100541 fra.me.REG[8] = NIT_NULL;
100542 fra.me.REG[0] = p0;
100543 fra.me.REG[1] = p1;
100544 fra.me.REG[0] = NIT_NULL;
100545 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100546 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100547 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100548 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100549 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100550 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100551 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100552 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100553 fra.me.REG[7] = NEW_Array_array___Array___init();
100554 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
100555 /* ./parser//parser.nit:37593 */
100556 if (UNTAG_Bool(REGB0)) {
100557 } else {
100558 fprintf(stderr, "Assert failed");
100559 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37593);
100560 nit_exit(1);
100561 }
100562 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
100563 /* ./parser//parser.nit:37595 */
100564 if (UNTAG_Bool(REGB0)) {
100565 } else {
100566 fprintf(stderr, "Assert failed");
100567 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37595);
100568 nit_exit(1);
100569 }
100570 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
100571 /* ./parser//parser.nit:37597 */
100572 if (UNTAG_Bool(REGB0)) {
100573 } else {
100574 fprintf(stderr, "Assert failed");
100575 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37597);
100576 nit_exit(1);
100577 }
100578 fra.me.REG[8] = NEW_Array_array___Array___init();
100579 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
100580 /* ./parser//parser.nit:37600 */
100581 if (UNTAG_Bool(REGB0)) {
100582 } else {
100583 fprintf(stderr, "Assert failed");
100584 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37600);
100585 nit_exit(1);
100586 }
100587 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
100588 /* ./parser//parser.nit:37602 */
100589 if (UNTAG_Bool(REGB0)) {
100590 } else {
100591 fprintf(stderr, "Assert failed");
100592 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37602);
100593 nit_exit(1);
100594 }
100595 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
100596 /* ./parser//parser.nit:37603 */
100597 if (UNTAG_Bool(REGB0)) {
100598 } else {
100599 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
100600 if (UNTAG_Bool(REGB1)) {
100601 REGB1 = TAG_Bool(false);
100602 REGB0 = REGB1;
100603 } else {
100604 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
100605 REGB0 = REGB1;
100606 }
100607 }
100608 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
100609 if (UNTAG_Bool(REGB0)) {
100610 /* ./parser//parser.nit:37604 */
100611 array___Array___add(fra.me.REG[8], fra.me.REG[3]);
100612 }
100613 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
100614 /* ./parser//parser.nit:37607 */
100615 if (UNTAG_Bool(REGB0)) {
100616 fra.me.REG[8] = fra.me.REG[2];
100617 /* ./parser//parser.nit:37608 */
100618 } else {
100619 /* ./parser//parser.nit:37610 */
100620 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[2]);
100621 }
100622 fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]);
100623 fra.me.REG[8] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[4], fra.me.REG[8], NIT_NULL);
100624 fra.me.REG[0] = fra.me.REG[8];
100625 REGB0 = TAG_Int(92);
100626 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
100627 /* ./parser//parser.nit:37625 */
100628 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
100629 stack_frame_head = fra.me.prev;
100630 return;
100631 }
100632 void parser___ReduceAction972___init(val_t p0, int* init_table){
100633 int itpos976 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction972].i;
100634 struct {struct stack_frame_t me;} fra;
100635 val_t tmp;
100636 if (init_table[itpos976]) return;
100637 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100638 fra.me.file = LOCATE_parser;
100639 fra.me.line = 37627;
100640 fra.me.meth = LOCATE_parser___ReduceAction972___init;
100641 fra.me.has_broke = 0;
100642 fra.me.REG_size = 1;
100643 fra.me.REG[0] = NIT_NULL;
100644 fra.me.REG[0] = p0;
100645 /* ./parser//parser.nit:37627 */
100646 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
100647 stack_frame_head = fra.me.prev;
100648 init_table[itpos976] = 1;
100649 return;
100650 }
100651 void parser___ReduceAction973___action(val_t p0, val_t p1){
100652 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
100653 val_t REGB0;
100654 val_t tmp;
100655 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100656 fra.me.file = LOCATE_parser;
100657 fra.me.line = 37631;
100658 fra.me.meth = LOCATE_parser___ReduceAction973___action;
100659 fra.me.has_broke = 0;
100660 fra.me.REG_size = 7;
100661 fra.me.REG[0] = NIT_NULL;
100662 fra.me.REG[1] = NIT_NULL;
100663 fra.me.REG[2] = NIT_NULL;
100664 fra.me.REG[3] = NIT_NULL;
100665 fra.me.REG[4] = NIT_NULL;
100666 fra.me.REG[5] = NIT_NULL;
100667 fra.me.REG[6] = NIT_NULL;
100668 fra.me.REG[0] = p0;
100669 fra.me.REG[1] = p1;
100670 fra.me.REG[0] = NIT_NULL;
100671 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100672 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100673 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100674 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100675 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100676 fra.me.REG[5] = NEW_Array_array___Array___init();
100677 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
100678 /* ./parser//parser.nit:37641 */
100679 if (UNTAG_Bool(REGB0)) {
100680 } else {
100681 fprintf(stderr, "Assert failed");
100682 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37641);
100683 nit_exit(1);
100684 }
100685 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
100686 /* ./parser//parser.nit:37643 */
100687 if (UNTAG_Bool(REGB0)) {
100688 } else {
100689 fprintf(stderr, "Assert failed");
100690 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37643);
100691 nit_exit(1);
100692 }
100693 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
100694 /* ./parser//parser.nit:37645 */
100695 if (UNTAG_Bool(REGB0)) {
100696 } else {
100697 fprintf(stderr, "Assert failed");
100698 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37645);
100699 nit_exit(1);
100700 }
100701 fra.me.REG[6] = NEW_Array_array___Array___init();
100702 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
100703 fra.me.REG[6] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[2], fra.me.REG[6], NIT_NULL);
100704 fra.me.REG[0] = fra.me.REG[6];
100705 REGB0 = TAG_Int(92);
100706 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
100707 /* ./parser//parser.nit:37659 */
100708 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
100709 stack_frame_head = fra.me.prev;
100710 return;
100711 }
100712 void parser___ReduceAction973___init(val_t p0, int* init_table){
100713 int itpos977 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction973].i;
100714 struct {struct stack_frame_t me;} fra;
100715 val_t tmp;
100716 if (init_table[itpos977]) return;
100717 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100718 fra.me.file = LOCATE_parser;
100719 fra.me.line = 37661;
100720 fra.me.meth = LOCATE_parser___ReduceAction973___init;
100721 fra.me.has_broke = 0;
100722 fra.me.REG_size = 1;
100723 fra.me.REG[0] = NIT_NULL;
100724 fra.me.REG[0] = p0;
100725 /* ./parser//parser.nit:37661 */
100726 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
100727 stack_frame_head = fra.me.prev;
100728 init_table[itpos977] = 1;
100729 return;
100730 }
100731 void parser___ReduceAction974___action(val_t p0, val_t p1){
100732 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
100733 val_t REGB0;
100734 val_t tmp;
100735 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100736 fra.me.file = LOCATE_parser;
100737 fra.me.line = 37665;
100738 fra.me.meth = LOCATE_parser___ReduceAction974___action;
100739 fra.me.has_broke = 0;
100740 fra.me.REG_size = 7;
100741 fra.me.REG[0] = NIT_NULL;
100742 fra.me.REG[1] = NIT_NULL;
100743 fra.me.REG[2] = NIT_NULL;
100744 fra.me.REG[3] = NIT_NULL;
100745 fra.me.REG[4] = NIT_NULL;
100746 fra.me.REG[5] = NIT_NULL;
100747 fra.me.REG[6] = NIT_NULL;
100748 fra.me.REG[0] = p0;
100749 fra.me.REG[1] = p1;
100750 fra.me.REG[0] = NIT_NULL;
100751 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100752 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100753 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100754 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100755 fra.me.REG[5] = NEW_Array_array___Array___init();
100756 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
100757 /* ./parser//parser.nit:37674 */
100758 if (UNTAG_Bool(REGB0)) {
100759 } else {
100760 fprintf(stderr, "Assert failed");
100761 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37674);
100762 nit_exit(1);
100763 }
100764 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
100765 /* ./parser//parser.nit:37676 */
100766 if (UNTAG_Bool(REGB0)) {
100767 } else {
100768 fprintf(stderr, "Assert failed");
100769 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37676);
100770 nit_exit(1);
100771 }
100772 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
100773 /* ./parser//parser.nit:37678 */
100774 if (UNTAG_Bool(REGB0)) {
100775 } else {
100776 fprintf(stderr, "Assert failed");
100777 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37678);
100778 nit_exit(1);
100779 }
100780 fra.me.REG[6] = NEW_Array_array___Array___init();
100781 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
100782 fra.me.REG[6] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[2], fra.me.REG[6], NIT_NULL);
100783 fra.me.REG[0] = fra.me.REG[6];
100784 REGB0 = TAG_Int(92);
100785 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
100786 /* ./parser//parser.nit:37692 */
100787 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
100788 stack_frame_head = fra.me.prev;
100789 return;
100790 }
100791 void parser___ReduceAction974___init(val_t p0, int* init_table){
100792 int itpos978 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction974].i;
100793 struct {struct stack_frame_t me;} fra;
100794 val_t tmp;
100795 if (init_table[itpos978]) return;
100796 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100797 fra.me.file = LOCATE_parser;
100798 fra.me.line = 37694;
100799 fra.me.meth = LOCATE_parser___ReduceAction974___init;
100800 fra.me.has_broke = 0;
100801 fra.me.REG_size = 1;
100802 fra.me.REG[0] = NIT_NULL;
100803 fra.me.REG[0] = p0;
100804 /* ./parser//parser.nit:37694 */
100805 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
100806 stack_frame_head = fra.me.prev;
100807 init_table[itpos978] = 1;
100808 return;
100809 }
100810 void parser___ReduceAction975___action(val_t p0, val_t p1){
100811 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
100812 val_t REGB0;
100813 val_t REGB1;
100814 val_t tmp;
100815 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100816 fra.me.file = LOCATE_parser;
100817 fra.me.line = 37698;
100818 fra.me.meth = LOCATE_parser___ReduceAction975___action;
100819 fra.me.has_broke = 0;
100820 fra.me.REG_size = 8;
100821 fra.me.REG[0] = NIT_NULL;
100822 fra.me.REG[1] = NIT_NULL;
100823 fra.me.REG[2] = NIT_NULL;
100824 fra.me.REG[3] = NIT_NULL;
100825 fra.me.REG[4] = NIT_NULL;
100826 fra.me.REG[5] = NIT_NULL;
100827 fra.me.REG[6] = NIT_NULL;
100828 fra.me.REG[7] = NIT_NULL;
100829 fra.me.REG[0] = p0;
100830 fra.me.REG[1] = p1;
100831 fra.me.REG[0] = NIT_NULL;
100832 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100833 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100834 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100835 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100836 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100837 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100838 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100839 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100840 fra.me.REG[7] = NEW_Array_array___Array___init();
100841 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
100842 /* ./parser//parser.nit:37711 */
100843 if (UNTAG_Bool(REGB0)) {
100844 } else {
100845 fprintf(stderr, "Assert failed");
100846 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37711);
100847 nit_exit(1);
100848 }
100849 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
100850 /* ./parser//parser.nit:37713 */
100851 if (UNTAG_Bool(REGB0)) {
100852 } else {
100853 fprintf(stderr, "Assert failed");
100854 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37713);
100855 nit_exit(1);
100856 }
100857 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
100858 /* ./parser//parser.nit:37715 */
100859 if (UNTAG_Bool(REGB0)) {
100860 } else {
100861 fprintf(stderr, "Assert failed");
100862 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37715);
100863 nit_exit(1);
100864 }
100865 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
100866 /* ./parser//parser.nit:37717 */
100867 if (UNTAG_Bool(REGB0)) {
100868 fra.me.REG[7] = fra.me.REG[4];
100869 /* ./parser//parser.nit:37718 */
100870 } else {
100871 /* ./parser//parser.nit:37720 */
100872 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
100873 }
100874 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
100875 /* ./parser//parser.nit:37724 */
100876 if (UNTAG_Bool(REGB0)) {
100877 } else {
100878 fprintf(stderr, "Assert failed");
100879 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37724);
100880 nit_exit(1);
100881 }
100882 fra.me.REG[4] = NEW_Array_array___Array___init();
100883 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
100884 /* ./parser//parser.nit:37727 */
100885 if (UNTAG_Bool(REGB0)) {
100886 } else {
100887 fprintf(stderr, "Assert failed");
100888 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37727);
100889 nit_exit(1);
100890 }
100891 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
100892 /* ./parser//parser.nit:37728 */
100893 if (UNTAG_Bool(REGB0)) {
100894 } else {
100895 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
100896 if (UNTAG_Bool(REGB1)) {
100897 REGB1 = TAG_Bool(false);
100898 REGB0 = REGB1;
100899 } else {
100900 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
100901 REGB0 = REGB1;
100902 }
100903 }
100904 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
100905 if (UNTAG_Bool(REGB0)) {
100906 /* ./parser//parser.nit:37729 */
100907 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
100908 }
100909 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
100910 fra.me.REG[4] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[4], NIT_NULL);
100911 fra.me.REG[0] = fra.me.REG[4];
100912 REGB0 = TAG_Int(92);
100913 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
100914 /* ./parser//parser.nit:37743 */
100915 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
100916 stack_frame_head = fra.me.prev;
100917 return;
100918 }
100919 void parser___ReduceAction975___init(val_t p0, int* init_table){
100920 int itpos979 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction975].i;
100921 struct {struct stack_frame_t me;} fra;
100922 val_t tmp;
100923 if (init_table[itpos979]) return;
100924 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100925 fra.me.file = LOCATE_parser;
100926 fra.me.line = 37745;
100927 fra.me.meth = LOCATE_parser___ReduceAction975___init;
100928 fra.me.has_broke = 0;
100929 fra.me.REG_size = 1;
100930 fra.me.REG[0] = NIT_NULL;
100931 fra.me.REG[0] = p0;
100932 /* ./parser//parser.nit:37745 */
100933 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
100934 stack_frame_head = fra.me.prev;
100935 init_table[itpos979] = 1;
100936 return;
100937 }
100938 void parser___ReduceAction976___action(val_t p0, val_t p1){
100939 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
100940 val_t REGB0;
100941 val_t REGB1;
100942 val_t tmp;
100943 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
100944 fra.me.file = LOCATE_parser;
100945 fra.me.line = 37749;
100946 fra.me.meth = LOCATE_parser___ReduceAction976___action;
100947 fra.me.has_broke = 0;
100948 fra.me.REG_size = 9;
100949 fra.me.REG[0] = NIT_NULL;
100950 fra.me.REG[1] = NIT_NULL;
100951 fra.me.REG[2] = NIT_NULL;
100952 fra.me.REG[3] = NIT_NULL;
100953 fra.me.REG[4] = NIT_NULL;
100954 fra.me.REG[5] = NIT_NULL;
100955 fra.me.REG[6] = NIT_NULL;
100956 fra.me.REG[7] = NIT_NULL;
100957 fra.me.REG[8] = NIT_NULL;
100958 fra.me.REG[0] = p0;
100959 fra.me.REG[1] = p1;
100960 fra.me.REG[0] = NIT_NULL;
100961 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100962 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100963 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100964 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100965 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100966 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100967 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100968 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100969 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
100970 fra.me.REG[8] = NEW_Array_array___Array___init();
100971 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
100972 /* ./parser//parser.nit:37763 */
100973 if (UNTAG_Bool(REGB0)) {
100974 } else {
100975 fprintf(stderr, "Assert failed");
100976 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37763);
100977 nit_exit(1);
100978 }
100979 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
100980 /* ./parser//parser.nit:37765 */
100981 if (UNTAG_Bool(REGB0)) {
100982 } else {
100983 fprintf(stderr, "Assert failed");
100984 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37765);
100985 nit_exit(1);
100986 }
100987 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
100988 /* ./parser//parser.nit:37767 */
100989 if (UNTAG_Bool(REGB0)) {
100990 } else {
100991 fprintf(stderr, "Assert failed");
100992 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37767);
100993 nit_exit(1);
100994 }
100995 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
100996 /* ./parser//parser.nit:37769 */
100997 if (UNTAG_Bool(REGB0)) {
100998 fra.me.REG[8] = fra.me.REG[5];
100999 /* ./parser//parser.nit:37770 */
101000 } else {
101001 /* ./parser//parser.nit:37772 */
101002 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
101003 }
101004 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
101005 /* ./parser//parser.nit:37776 */
101006 if (UNTAG_Bool(REGB0)) {
101007 } else {
101008 fprintf(stderr, "Assert failed");
101009 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37776);
101010 nit_exit(1);
101011 }
101012 fra.me.REG[5] = NEW_Array_array___Array___init();
101013 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
101014 /* ./parser//parser.nit:37779 */
101015 if (UNTAG_Bool(REGB0)) {
101016 } else {
101017 fprintf(stderr, "Assert failed");
101018 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37779);
101019 nit_exit(1);
101020 }
101021 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
101022 /* ./parser//parser.nit:37781 */
101023 if (UNTAG_Bool(REGB0)) {
101024 } else {
101025 fprintf(stderr, "Assert failed");
101026 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37781);
101027 nit_exit(1);
101028 }
101029 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
101030 /* ./parser//parser.nit:37782 */
101031 if (UNTAG_Bool(REGB0)) {
101032 } else {
101033 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
101034 if (UNTAG_Bool(REGB1)) {
101035 REGB1 = TAG_Bool(false);
101036 REGB0 = REGB1;
101037 } else {
101038 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
101039 REGB0 = REGB1;
101040 }
101041 }
101042 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
101043 if (UNTAG_Bool(REGB0)) {
101044 /* ./parser//parser.nit:37783 */
101045 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
101046 }
101047 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
101048 /* ./parser//parser.nit:37786 */
101049 if (UNTAG_Bool(REGB0)) {
101050 fra.me.REG[5] = fra.me.REG[2];
101051 /* ./parser//parser.nit:37787 */
101052 } else {
101053 /* ./parser//parser.nit:37789 */
101054 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
101055 }
101056 fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
101057 fra.me.REG[5] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[5], NIT_NULL);
101058 fra.me.REG[0] = fra.me.REG[5];
101059 REGB0 = TAG_Int(92);
101060 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
101061 /* ./parser//parser.nit:37804 */
101062 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
101063 stack_frame_head = fra.me.prev;
101064 return;
101065 }
101066 void parser___ReduceAction976___init(val_t p0, int* init_table){
101067 int itpos980 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction976].i;
101068 struct {struct stack_frame_t me;} fra;
101069 val_t tmp;
101070 if (init_table[itpos980]) return;
101071 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
101072 fra.me.file = LOCATE_parser;
101073 fra.me.line = 37806;
101074 fra.me.meth = LOCATE_parser___ReduceAction976___init;
101075 fra.me.has_broke = 0;
101076 fra.me.REG_size = 1;
101077 fra.me.REG[0] = NIT_NULL;
101078 fra.me.REG[0] = p0;
101079 /* ./parser//parser.nit:37806 */
101080 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
101081 stack_frame_head = fra.me.prev;
101082 init_table[itpos980] = 1;
101083 return;
101084 }
101085 void parser___ReduceAction977___action(val_t p0, val_t p1){
101086 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
101087 val_t REGB0;
101088 val_t tmp;
101089 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
101090 fra.me.file = LOCATE_parser;
101091 fra.me.line = 37810;
101092 fra.me.meth = LOCATE_parser___ReduceAction977___action;
101093 fra.me.has_broke = 0;
101094 fra.me.REG_size = 7;
101095 fra.me.REG[0] = NIT_NULL;
101096 fra.me.REG[1] = NIT_NULL;
101097 fra.me.REG[2] = NIT_NULL;
101098 fra.me.REG[3] = NIT_NULL;
101099 fra.me.REG[4] = NIT_NULL;
101100 fra.me.REG[5] = NIT_NULL;
101101 fra.me.REG[6] = NIT_NULL;
101102 fra.me.REG[0] = p0;
101103 fra.me.REG[1] = p1;
101104 fra.me.REG[0] = NIT_NULL;
101105 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101106 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101107 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101108 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101109 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101110 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101111 fra.me.REG[6] = NEW_Array_array___Array___init();
101112 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
101113 /* ./parser//parser.nit:37821 */
101114 if (UNTAG_Bool(REGB0)) {
101115 } else {
101116 fprintf(stderr, "Assert failed");
101117 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37821);
101118 nit_exit(1);
101119 }
101120 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
101121 /* ./parser//parser.nit:37823 */
101122 if (UNTAG_Bool(REGB0)) {
101123 } else {
101124 fprintf(stderr, "Assert failed");
101125 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37823);
101126 nit_exit(1);
101127 }
101128 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
101129 /* ./parser//parser.nit:37825 */
101130 if (UNTAG_Bool(REGB0)) {
101131 } else {
101132 fprintf(stderr, "Assert failed");
101133 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37825);
101134 nit_exit(1);
101135 }
101136 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
101137 /* ./parser//parser.nit:37827 */
101138 if (UNTAG_Bool(REGB0)) {
101139 fra.me.REG[6] = fra.me.REG[3];
101140 /* ./parser//parser.nit:37828 */
101141 } else {
101142 /* ./parser//parser.nit:37830 */
101143 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
101144 }
101145 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
101146 /* ./parser//parser.nit:37834 */
101147 if (UNTAG_Bool(REGB0)) {
101148 } else {
101149 fprintf(stderr, "Assert failed");
101150 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37834);
101151 nit_exit(1);
101152 }
101153 fra.me.REG[3] = NEW_Array_array___Array___init();
101154 fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]);
101155 fra.me.REG[3] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[2], fra.me.REG[3], NIT_NULL);
101156 fra.me.REG[0] = fra.me.REG[3];
101157 REGB0 = TAG_Int(92);
101158 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
101159 /* ./parser//parser.nit:37848 */
101160 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
101161 stack_frame_head = fra.me.prev;
101162 return;
101163 }
101164 void parser___ReduceAction977___init(val_t p0, int* init_table){
101165 int itpos981 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction977].i;
101166 struct {struct stack_frame_t me;} fra;
101167 val_t tmp;
101168 if (init_table[itpos981]) return;
101169 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
101170 fra.me.file = LOCATE_parser;
101171 fra.me.line = 37850;
101172 fra.me.meth = LOCATE_parser___ReduceAction977___init;
101173 fra.me.has_broke = 0;
101174 fra.me.REG_size = 1;
101175 fra.me.REG[0] = NIT_NULL;
101176 fra.me.REG[0] = p0;
101177 /* ./parser//parser.nit:37850 */
101178 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
101179 stack_frame_head = fra.me.prev;
101180 init_table[itpos981] = 1;
101181 return;
101182 }
101183 void parser___ReduceAction978___action(val_t p0, val_t p1){
101184 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
101185 val_t REGB0;
101186 val_t tmp;
101187 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
101188 fra.me.file = LOCATE_parser;
101189 fra.me.line = 37854;
101190 fra.me.meth = LOCATE_parser___ReduceAction978___action;
101191 fra.me.has_broke = 0;
101192 fra.me.REG_size = 7;
101193 fra.me.REG[0] = NIT_NULL;
101194 fra.me.REG[1] = NIT_NULL;
101195 fra.me.REG[2] = NIT_NULL;
101196 fra.me.REG[3] = NIT_NULL;
101197 fra.me.REG[4] = NIT_NULL;
101198 fra.me.REG[5] = NIT_NULL;
101199 fra.me.REG[6] = NIT_NULL;
101200 fra.me.REG[0] = p0;
101201 fra.me.REG[1] = p1;
101202 fra.me.REG[0] = NIT_NULL;
101203 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101204 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101205 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101206 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101207 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101208 fra.me.REG[6] = NEW_Array_array___Array___init();
101209 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
101210 /* ./parser//parser.nit:37864 */
101211 if (UNTAG_Bool(REGB0)) {
101212 } else {
101213 fprintf(stderr, "Assert failed");
101214 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37864);
101215 nit_exit(1);
101216 }
101217 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
101218 /* ./parser//parser.nit:37866 */
101219 if (UNTAG_Bool(REGB0)) {
101220 } else {
101221 fprintf(stderr, "Assert failed");
101222 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37866);
101223 nit_exit(1);
101224 }
101225 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
101226 /* ./parser//parser.nit:37868 */
101227 if (UNTAG_Bool(REGB0)) {
101228 } else {
101229 fprintf(stderr, "Assert failed");
101230 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37868);
101231 nit_exit(1);
101232 }
101233 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
101234 /* ./parser//parser.nit:37870 */
101235 if (UNTAG_Bool(REGB0)) {
101236 fra.me.REG[6] = fra.me.REG[3];
101237 /* ./parser//parser.nit:37871 */
101238 } else {
101239 /* ./parser//parser.nit:37873 */
101240 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
101241 }
101242 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
101243 /* ./parser//parser.nit:37877 */
101244 if (UNTAG_Bool(REGB0)) {
101245 } else {
101246 fprintf(stderr, "Assert failed");
101247 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37877);
101248 nit_exit(1);
101249 }
101250 fra.me.REG[3] = NEW_Array_array___Array___init();
101251 fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]);
101252 fra.me.REG[3] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[2], fra.me.REG[3], NIT_NULL);
101253 fra.me.REG[0] = fra.me.REG[3];
101254 REGB0 = TAG_Int(92);
101255 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
101256 /* ./parser//parser.nit:37891 */
101257 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
101258 stack_frame_head = fra.me.prev;
101259 return;
101260 }
101261 void parser___ReduceAction978___init(val_t p0, int* init_table){
101262 int itpos982 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction978].i;
101263 struct {struct stack_frame_t me;} fra;
101264 val_t tmp;
101265 if (init_table[itpos982]) return;
101266 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
101267 fra.me.file = LOCATE_parser;
101268 fra.me.line = 37893;
101269 fra.me.meth = LOCATE_parser___ReduceAction978___init;
101270 fra.me.has_broke = 0;
101271 fra.me.REG_size = 1;
101272 fra.me.REG[0] = NIT_NULL;
101273 fra.me.REG[0] = p0;
101274 /* ./parser//parser.nit:37893 */
101275 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
101276 stack_frame_head = fra.me.prev;
101277 init_table[itpos982] = 1;
101278 return;
101279 }
101280 void parser___ReduceAction979___action(val_t p0, val_t p1){
101281 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
101282 val_t REGB0;
101283 val_t REGB1;
101284 val_t tmp;
101285 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
101286 fra.me.file = LOCATE_parser;
101287 fra.me.line = 37897;
101288 fra.me.meth = LOCATE_parser___ReduceAction979___action;
101289 fra.me.has_broke = 0;
101290 fra.me.REG_size = 9;
101291 fra.me.REG[0] = NIT_NULL;
101292 fra.me.REG[1] = NIT_NULL;
101293 fra.me.REG[2] = NIT_NULL;
101294 fra.me.REG[3] = NIT_NULL;
101295 fra.me.REG[4] = NIT_NULL;
101296 fra.me.REG[5] = NIT_NULL;
101297 fra.me.REG[6] = NIT_NULL;
101298 fra.me.REG[7] = NIT_NULL;
101299 fra.me.REG[8] = NIT_NULL;
101300 fra.me.REG[0] = p0;
101301 fra.me.REG[1] = p1;
101302 fra.me.REG[0] = NIT_NULL;
101303 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101304 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101305 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101306 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101307 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101308 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101309 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101310 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101311 fra.me.REG[7] = NEW_Array_array___Array___init();
101312 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
101313 /* ./parser//parser.nit:37910 */
101314 if (UNTAG_Bool(REGB0)) {
101315 } else {
101316 fprintf(stderr, "Assert failed");
101317 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37910);
101318 nit_exit(1);
101319 }
101320 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
101321 /* ./parser//parser.nit:37912 */
101322 if (UNTAG_Bool(REGB0)) {
101323 } else {
101324 fprintf(stderr, "Assert failed");
101325 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37912);
101326 nit_exit(1);
101327 }
101328 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
101329 /* ./parser//parser.nit:37914 */
101330 if (UNTAG_Bool(REGB0)) {
101331 } else {
101332 fprintf(stderr, "Assert failed");
101333 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37914);
101334 nit_exit(1);
101335 }
101336 fra.me.REG[8] = NEW_Array_array___Array___init();
101337 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
101338 /* ./parser//parser.nit:37917 */
101339 if (UNTAG_Bool(REGB0)) {
101340 } else {
101341 fprintf(stderr, "Assert failed");
101342 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37917);
101343 nit_exit(1);
101344 }
101345 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
101346 /* ./parser//parser.nit:37918 */
101347 if (UNTAG_Bool(REGB0)) {
101348 } else {
101349 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
101350 if (UNTAG_Bool(REGB1)) {
101351 REGB1 = TAG_Bool(false);
101352 REGB0 = REGB1;
101353 } else {
101354 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
101355 REGB0 = REGB1;
101356 }
101357 }
101358 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
101359 if (UNTAG_Bool(REGB0)) {
101360 /* ./parser//parser.nit:37919 */
101361 array___Array___add(fra.me.REG[8], fra.me.REG[3]);
101362 }
101363 fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]);
101364 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
101365 /* ./parser//parser.nit:37925 */
101366 if (UNTAG_Bool(REGB0)) {
101367 } else {
101368 fprintf(stderr, "Assert failed");
101369 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37925);
101370 nit_exit(1);
101371 }
101372 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[4], fra.me.REG[8], fra.me.REG[2]);
101373 fra.me.REG[0] = fra.me.REG[2];
101374 REGB0 = TAG_Int(92);
101375 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
101376 /* ./parser//parser.nit:37935 */
101377 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
101378 stack_frame_head = fra.me.prev;
101379 return;
101380 }
101381 void parser___ReduceAction979___init(val_t p0, int* init_table){
101382 int itpos983 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction979].i;
101383 struct {struct stack_frame_t me;} fra;
101384 val_t tmp;
101385 if (init_table[itpos983]) return;
101386 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
101387 fra.me.file = LOCATE_parser;
101388 fra.me.line = 37937;
101389 fra.me.meth = LOCATE_parser___ReduceAction979___init;
101390 fra.me.has_broke = 0;
101391 fra.me.REG_size = 1;
101392 fra.me.REG[0] = NIT_NULL;
101393 fra.me.REG[0] = p0;
101394 /* ./parser//parser.nit:37937 */
101395 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
101396 stack_frame_head = fra.me.prev;
101397 init_table[itpos983] = 1;
101398 return;
101399 }
101400 void parser___ReduceAction980___action(val_t p0, val_t p1){
101401 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
101402 val_t REGB0;
101403 val_t REGB1;
101404 val_t tmp;
101405 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
101406 fra.me.file = LOCATE_parser;
101407 fra.me.line = 37941;
101408 fra.me.meth = LOCATE_parser___ReduceAction980___action;
101409 fra.me.has_broke = 0;
101410 fra.me.REG_size = 10;
101411 fra.me.REG[0] = NIT_NULL;
101412 fra.me.REG[1] = NIT_NULL;
101413 fra.me.REG[2] = NIT_NULL;
101414 fra.me.REG[3] = NIT_NULL;
101415 fra.me.REG[4] = NIT_NULL;
101416 fra.me.REG[5] = NIT_NULL;
101417 fra.me.REG[6] = NIT_NULL;
101418 fra.me.REG[7] = NIT_NULL;
101419 fra.me.REG[8] = NIT_NULL;
101420 fra.me.REG[9] = NIT_NULL;
101421 fra.me.REG[0] = p0;
101422 fra.me.REG[1] = p1;
101423 fra.me.REG[0] = NIT_NULL;
101424 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101425 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101426 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101427 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101428 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101429 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101430 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101431 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101432 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101433 fra.me.REG[8] = NEW_Array_array___Array___init();
101434 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
101435 /* ./parser//parser.nit:37955 */
101436 if (UNTAG_Bool(REGB0)) {
101437 } else {
101438 fprintf(stderr, "Assert failed");
101439 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37955);
101440 nit_exit(1);
101441 }
101442 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
101443 /* ./parser//parser.nit:37957 */
101444 if (UNTAG_Bool(REGB0)) {
101445 } else {
101446 fprintf(stderr, "Assert failed");
101447 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37957);
101448 nit_exit(1);
101449 }
101450 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
101451 /* ./parser//parser.nit:37959 */
101452 if (UNTAG_Bool(REGB0)) {
101453 } else {
101454 fprintf(stderr, "Assert failed");
101455 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37959);
101456 nit_exit(1);
101457 }
101458 fra.me.REG[9] = NEW_Array_array___Array___init();
101459 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
101460 /* ./parser//parser.nit:37962 */
101461 if (UNTAG_Bool(REGB0)) {
101462 } else {
101463 fprintf(stderr, "Assert failed");
101464 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37962);
101465 nit_exit(1);
101466 }
101467 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
101468 /* ./parser//parser.nit:37964 */
101469 if (UNTAG_Bool(REGB0)) {
101470 } else {
101471 fprintf(stderr, "Assert failed");
101472 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37964);
101473 nit_exit(1);
101474 }
101475 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
101476 /* ./parser//parser.nit:37965 */
101477 if (UNTAG_Bool(REGB0)) {
101478 } else {
101479 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
101480 if (UNTAG_Bool(REGB1)) {
101481 REGB1 = TAG_Bool(false);
101482 REGB0 = REGB1;
101483 } else {
101484 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
101485 REGB0 = REGB1;
101486 }
101487 }
101488 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
101489 if (UNTAG_Bool(REGB0)) {
101490 /* ./parser//parser.nit:37966 */
101491 array___Array___add(fra.me.REG[9], fra.me.REG[4]);
101492 }
101493 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]);
101494 /* ./parser//parser.nit:37969 */
101495 if (UNTAG_Bool(REGB0)) {
101496 fra.me.REG[9] = fra.me.REG[3];
101497 /* ./parser//parser.nit:37970 */
101498 } else {
101499 /* ./parser//parser.nit:37972 */
101500 CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
101501 }
101502 fra.me.REG[9] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[9]);
101503 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
101504 /* ./parser//parser.nit:37979 */
101505 if (UNTAG_Bool(REGB0)) {
101506 } else {
101507 fprintf(stderr, "Assert failed");
101508 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37979);
101509 nit_exit(1);
101510 }
101511 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[5], fra.me.REG[9], fra.me.REG[2]);
101512 fra.me.REG[0] = fra.me.REG[2];
101513 REGB0 = TAG_Int(92);
101514 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
101515 /* ./parser//parser.nit:37989 */
101516 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
101517 stack_frame_head = fra.me.prev;
101518 return;
101519 }
101520 void parser___ReduceAction980___init(val_t p0, int* init_table){
101521 int itpos984 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction980].i;
101522 struct {struct stack_frame_t me;} fra;
101523 val_t tmp;
101524 if (init_table[itpos984]) return;
101525 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
101526 fra.me.file = LOCATE_parser;
101527 fra.me.line = 37991;
101528 fra.me.meth = LOCATE_parser___ReduceAction980___init;
101529 fra.me.has_broke = 0;
101530 fra.me.REG_size = 1;
101531 fra.me.REG[0] = NIT_NULL;
101532 fra.me.REG[0] = p0;
101533 /* ./parser//parser.nit:37991 */
101534 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
101535 stack_frame_head = fra.me.prev;
101536 init_table[itpos984] = 1;
101537 return;
101538 }
101539 void parser___ReduceAction981___action(val_t p0, val_t p1){
101540 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
101541 val_t REGB0;
101542 val_t tmp;
101543 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
101544 fra.me.file = LOCATE_parser;
101545 fra.me.line = 37995;
101546 fra.me.meth = LOCATE_parser___ReduceAction981___action;
101547 fra.me.has_broke = 0;
101548 fra.me.REG_size = 8;
101549 fra.me.REG[0] = NIT_NULL;
101550 fra.me.REG[1] = NIT_NULL;
101551 fra.me.REG[2] = NIT_NULL;
101552 fra.me.REG[3] = NIT_NULL;
101553 fra.me.REG[4] = NIT_NULL;
101554 fra.me.REG[5] = NIT_NULL;
101555 fra.me.REG[6] = NIT_NULL;
101556 fra.me.REG[7] = NIT_NULL;
101557 fra.me.REG[0] = p0;
101558 fra.me.REG[1] = p1;
101559 fra.me.REG[0] = NIT_NULL;
101560 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101561 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101562 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101563 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101564 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101565 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101566 fra.me.REG[6] = NEW_Array_array___Array___init();
101567 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
101568 /* ./parser//parser.nit:38006 */
101569 if (UNTAG_Bool(REGB0)) {
101570 } else {
101571 fprintf(stderr, "Assert failed");
101572 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38006);
101573 nit_exit(1);
101574 }
101575 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
101576 /* ./parser//parser.nit:38008 */
101577 if (UNTAG_Bool(REGB0)) {
101578 } else {
101579 fprintf(stderr, "Assert failed");
101580 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38008);
101581 nit_exit(1);
101582 }
101583 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
101584 /* ./parser//parser.nit:38010 */
101585 if (UNTAG_Bool(REGB0)) {
101586 } else {
101587 fprintf(stderr, "Assert failed");
101588 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38010);
101589 nit_exit(1);
101590 }
101591 fra.me.REG[7] = NEW_Array_array___Array___init();
101592 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
101593 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
101594 /* ./parser//parser.nit:38016 */
101595 if (UNTAG_Bool(REGB0)) {
101596 } else {
101597 fprintf(stderr, "Assert failed");
101598 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38016);
101599 nit_exit(1);
101600 }
101601 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[7], fra.me.REG[2]);
101602 fra.me.REG[0] = fra.me.REG[2];
101603 REGB0 = TAG_Int(92);
101604 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
101605 /* ./parser//parser.nit:38026 */
101606 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
101607 stack_frame_head = fra.me.prev;
101608 return;
101609 }
101610 void parser___ReduceAction981___init(val_t p0, int* init_table){
101611 int itpos985 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction981].i;
101612 struct {struct stack_frame_t me;} fra;
101613 val_t tmp;
101614 if (init_table[itpos985]) return;
101615 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
101616 fra.me.file = LOCATE_parser;
101617 fra.me.line = 38028;
101618 fra.me.meth = LOCATE_parser___ReduceAction981___init;
101619 fra.me.has_broke = 0;
101620 fra.me.REG_size = 1;
101621 fra.me.REG[0] = NIT_NULL;
101622 fra.me.REG[0] = p0;
101623 /* ./parser//parser.nit:38028 */
101624 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
101625 stack_frame_head = fra.me.prev;
101626 init_table[itpos985] = 1;
101627 return;
101628 }
101629 void parser___ReduceAction982___action(val_t p0, val_t p1){
101630 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
101631 val_t REGB0;
101632 val_t tmp;
101633 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
101634 fra.me.file = LOCATE_parser;
101635 fra.me.line = 38032;
101636 fra.me.meth = LOCATE_parser___ReduceAction982___action;
101637 fra.me.has_broke = 0;
101638 fra.me.REG_size = 8;
101639 fra.me.REG[0] = NIT_NULL;
101640 fra.me.REG[1] = NIT_NULL;
101641 fra.me.REG[2] = NIT_NULL;
101642 fra.me.REG[3] = NIT_NULL;
101643 fra.me.REG[4] = NIT_NULL;
101644 fra.me.REG[5] = NIT_NULL;
101645 fra.me.REG[6] = NIT_NULL;
101646 fra.me.REG[7] = NIT_NULL;
101647 fra.me.REG[0] = p0;
101648 fra.me.REG[1] = p1;
101649 fra.me.REG[0] = NIT_NULL;
101650 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101651 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101652 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101653 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101654 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101655 fra.me.REG[6] = NEW_Array_array___Array___init();
101656 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
101657 /* ./parser//parser.nit:38042 */
101658 if (UNTAG_Bool(REGB0)) {
101659 } else {
101660 fprintf(stderr, "Assert failed");
101661 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38042);
101662 nit_exit(1);
101663 }
101664 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
101665 /* ./parser//parser.nit:38044 */
101666 if (UNTAG_Bool(REGB0)) {
101667 } else {
101668 fprintf(stderr, "Assert failed");
101669 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38044);
101670 nit_exit(1);
101671 }
101672 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
101673 /* ./parser//parser.nit:38046 */
101674 if (UNTAG_Bool(REGB0)) {
101675 } else {
101676 fprintf(stderr, "Assert failed");
101677 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38046);
101678 nit_exit(1);
101679 }
101680 fra.me.REG[7] = NEW_Array_array___Array___init();
101681 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
101682 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
101683 /* ./parser//parser.nit:38052 */
101684 if (UNTAG_Bool(REGB0)) {
101685 } else {
101686 fprintf(stderr, "Assert failed");
101687 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38052);
101688 nit_exit(1);
101689 }
101690 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[7], fra.me.REG[2]);
101691 fra.me.REG[0] = fra.me.REG[2];
101692 REGB0 = TAG_Int(92);
101693 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
101694 /* ./parser//parser.nit:38062 */
101695 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
101696 stack_frame_head = fra.me.prev;
101697 return;
101698 }
101699 void parser___ReduceAction982___init(val_t p0, int* init_table){
101700 int itpos986 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction982].i;
101701 struct {struct stack_frame_t me;} fra;
101702 val_t tmp;
101703 if (init_table[itpos986]) return;
101704 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
101705 fra.me.file = LOCATE_parser;
101706 fra.me.line = 38064;
101707 fra.me.meth = LOCATE_parser___ReduceAction982___init;
101708 fra.me.has_broke = 0;
101709 fra.me.REG_size = 1;
101710 fra.me.REG[0] = NIT_NULL;
101711 fra.me.REG[0] = p0;
101712 /* ./parser//parser.nit:38064 */
101713 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
101714 stack_frame_head = fra.me.prev;
101715 init_table[itpos986] = 1;
101716 return;
101717 }
101718 void parser___ReduceAction983___action(val_t p0, val_t p1){
101719 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
101720 val_t REGB0;
101721 val_t REGB1;
101722 val_t tmp;
101723 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
101724 fra.me.file = LOCATE_parser;
101725 fra.me.line = 38068;
101726 fra.me.meth = LOCATE_parser___ReduceAction983___action;
101727 fra.me.has_broke = 0;
101728 fra.me.REG_size = 9;
101729 fra.me.REG[0] = NIT_NULL;
101730 fra.me.REG[1] = NIT_NULL;
101731 fra.me.REG[2] = NIT_NULL;
101732 fra.me.REG[3] = NIT_NULL;
101733 fra.me.REG[4] = NIT_NULL;
101734 fra.me.REG[5] = NIT_NULL;
101735 fra.me.REG[6] = NIT_NULL;
101736 fra.me.REG[7] = NIT_NULL;
101737 fra.me.REG[8] = NIT_NULL;
101738 fra.me.REG[0] = p0;
101739 fra.me.REG[1] = p1;
101740 fra.me.REG[0] = NIT_NULL;
101741 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101742 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101743 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101744 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101745 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101746 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101747 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101748 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101749 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101750 fra.me.REG[8] = NEW_Array_array___Array___init();
101751 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
101752 /* ./parser//parser.nit:38082 */
101753 if (UNTAG_Bool(REGB0)) {
101754 } else {
101755 fprintf(stderr, "Assert failed");
101756 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38082);
101757 nit_exit(1);
101758 }
101759 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
101760 /* ./parser//parser.nit:38084 */
101761 if (UNTAG_Bool(REGB0)) {
101762 } else {
101763 fprintf(stderr, "Assert failed");
101764 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38084);
101765 nit_exit(1);
101766 }
101767 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
101768 /* ./parser//parser.nit:38086 */
101769 if (UNTAG_Bool(REGB0)) {
101770 } else {
101771 fprintf(stderr, "Assert failed");
101772 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38086);
101773 nit_exit(1);
101774 }
101775 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
101776 /* ./parser//parser.nit:38088 */
101777 if (UNTAG_Bool(REGB0)) {
101778 fra.me.REG[8] = fra.me.REG[5];
101779 /* ./parser//parser.nit:38089 */
101780 } else {
101781 /* ./parser//parser.nit:38091 */
101782 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
101783 }
101784 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
101785 /* ./parser//parser.nit:38095 */
101786 if (UNTAG_Bool(REGB0)) {
101787 } else {
101788 fprintf(stderr, "Assert failed");
101789 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38095);
101790 nit_exit(1);
101791 }
101792 fra.me.REG[5] = NEW_Array_array___Array___init();
101793 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
101794 /* ./parser//parser.nit:38098 */
101795 if (UNTAG_Bool(REGB0)) {
101796 } else {
101797 fprintf(stderr, "Assert failed");
101798 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38098);
101799 nit_exit(1);
101800 }
101801 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
101802 /* ./parser//parser.nit:38099 */
101803 if (UNTAG_Bool(REGB0)) {
101804 } else {
101805 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
101806 if (UNTAG_Bool(REGB1)) {
101807 REGB1 = TAG_Bool(false);
101808 REGB0 = REGB1;
101809 } else {
101810 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
101811 REGB0 = REGB1;
101812 }
101813 }
101814 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
101815 if (UNTAG_Bool(REGB0)) {
101816 /* ./parser//parser.nit:38100 */
101817 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
101818 }
101819 fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
101820 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
101821 /* ./parser//parser.nit:38106 */
101822 if (UNTAG_Bool(REGB0)) {
101823 } else {
101824 fprintf(stderr, "Assert failed");
101825 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38106);
101826 nit_exit(1);
101827 }
101828 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[5], fra.me.REG[2]);
101829 fra.me.REG[0] = fra.me.REG[2];
101830 REGB0 = TAG_Int(92);
101831 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
101832 /* ./parser//parser.nit:38116 */
101833 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
101834 stack_frame_head = fra.me.prev;
101835 return;
101836 }
101837 void parser___ReduceAction983___init(val_t p0, int* init_table){
101838 int itpos987 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction983].i;
101839 struct {struct stack_frame_t me;} fra;
101840 val_t tmp;
101841 if (init_table[itpos987]) return;
101842 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
101843 fra.me.file = LOCATE_parser;
101844 fra.me.line = 38118;
101845 fra.me.meth = LOCATE_parser___ReduceAction983___init;
101846 fra.me.has_broke = 0;
101847 fra.me.REG_size = 1;
101848 fra.me.REG[0] = NIT_NULL;
101849 fra.me.REG[0] = p0;
101850 /* ./parser//parser.nit:38118 */
101851 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
101852 stack_frame_head = fra.me.prev;
101853 init_table[itpos987] = 1;
101854 return;
101855 }
101856 void parser___ReduceAction984___action(val_t p0, val_t p1){
101857 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
101858 val_t REGB0;
101859 val_t REGB1;
101860 val_t tmp;
101861 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
101862 fra.me.file = LOCATE_parser;
101863 fra.me.line = 38122;
101864 fra.me.meth = LOCATE_parser___ReduceAction984___action;
101865 fra.me.has_broke = 0;
101866 fra.me.REG_size = 10;
101867 fra.me.REG[0] = NIT_NULL;
101868 fra.me.REG[1] = NIT_NULL;
101869 fra.me.REG[2] = NIT_NULL;
101870 fra.me.REG[3] = NIT_NULL;
101871 fra.me.REG[4] = NIT_NULL;
101872 fra.me.REG[5] = NIT_NULL;
101873 fra.me.REG[6] = NIT_NULL;
101874 fra.me.REG[7] = NIT_NULL;
101875 fra.me.REG[8] = NIT_NULL;
101876 fra.me.REG[9] = NIT_NULL;
101877 fra.me.REG[0] = p0;
101878 fra.me.REG[1] = p1;
101879 fra.me.REG[0] = NIT_NULL;
101880 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101881 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101882 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101883 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101884 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101885 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101886 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101887 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101888 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101889 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
101890 fra.me.REG[9] = NEW_Array_array___Array___init();
101891 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
101892 /* ./parser//parser.nit:38137 */
101893 if (UNTAG_Bool(REGB0)) {
101894 } else {
101895 fprintf(stderr, "Assert failed");
101896 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38137);
101897 nit_exit(1);
101898 }
101899 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
101900 /* ./parser//parser.nit:38139 */
101901 if (UNTAG_Bool(REGB0)) {
101902 } else {
101903 fprintf(stderr, "Assert failed");
101904 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38139);
101905 nit_exit(1);
101906 }
101907 REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
101908 /* ./parser//parser.nit:38141 */
101909 if (UNTAG_Bool(REGB0)) {
101910 } else {
101911 fprintf(stderr, "Assert failed");
101912 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38141);
101913 nit_exit(1);
101914 }
101915 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]);
101916 /* ./parser//parser.nit:38143 */
101917 if (UNTAG_Bool(REGB0)) {
101918 fra.me.REG[9] = fra.me.REG[6];
101919 /* ./parser//parser.nit:38144 */
101920 } else {
101921 /* ./parser//parser.nit:38146 */
101922 CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[6]);
101923 }
101924 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
101925 /* ./parser//parser.nit:38150 */
101926 if (UNTAG_Bool(REGB0)) {
101927 } else {
101928 fprintf(stderr, "Assert failed");
101929 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38150);
101930 nit_exit(1);
101931 }
101932 fra.me.REG[6] = NEW_Array_array___Array___init();
101933 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
101934 /* ./parser//parser.nit:38153 */
101935 if (UNTAG_Bool(REGB0)) {
101936 } else {
101937 fprintf(stderr, "Assert failed");
101938 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38153);
101939 nit_exit(1);
101940 }
101941 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
101942 /* ./parser//parser.nit:38155 */
101943 if (UNTAG_Bool(REGB0)) {
101944 } else {
101945 fprintf(stderr, "Assert failed");
101946 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38155);
101947 nit_exit(1);
101948 }
101949 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
101950 /* ./parser//parser.nit:38156 */
101951 if (UNTAG_Bool(REGB0)) {
101952 } else {
101953 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
101954 if (UNTAG_Bool(REGB1)) {
101955 REGB1 = TAG_Bool(false);
101956 REGB0 = REGB1;
101957 } else {
101958 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
101959 REGB0 = REGB1;
101960 }
101961 }
101962 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
101963 if (UNTAG_Bool(REGB0)) {
101964 /* ./parser//parser.nit:38157 */
101965 array___Array___add(fra.me.REG[6], fra.me.REG[4]);
101966 }
101967 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
101968 /* ./parser//parser.nit:38160 */
101969 if (UNTAG_Bool(REGB0)) {
101970 fra.me.REG[6] = fra.me.REG[3];
101971 /* ./parser//parser.nit:38161 */
101972 } else {
101973 /* ./parser//parser.nit:38163 */
101974 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
101975 }
101976 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
101977 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
101978 /* ./parser//parser.nit:38170 */
101979 if (UNTAG_Bool(REGB0)) {
101980 } else {
101981 fprintf(stderr, "Assert failed");
101982 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38170);
101983 nit_exit(1);
101984 }
101985 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[9], fra.me.REG[5], fra.me.REG[6], fra.me.REG[2]);
101986 fra.me.REG[0] = fra.me.REG[2];
101987 REGB0 = TAG_Int(92);
101988 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
101989 /* ./parser//parser.nit:38180 */
101990 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
101991 stack_frame_head = fra.me.prev;
101992 return;
101993 }
101994 void parser___ReduceAction984___init(val_t p0, int* init_table){
101995 int itpos988 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction984].i;
101996 struct {struct stack_frame_t me;} fra;
101997 val_t tmp;
101998 if (init_table[itpos988]) return;
101999 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102000 fra.me.file = LOCATE_parser;
102001 fra.me.line = 38182;
102002 fra.me.meth = LOCATE_parser___ReduceAction984___init;
102003 fra.me.has_broke = 0;
102004 fra.me.REG_size = 1;
102005 fra.me.REG[0] = NIT_NULL;
102006 fra.me.REG[0] = p0;
102007 /* ./parser//parser.nit:38182 */
102008 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
102009 stack_frame_head = fra.me.prev;
102010 init_table[itpos988] = 1;
102011 return;
102012 }
102013 void parser___ReduceAction985___action(val_t p0, val_t p1){
102014 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
102015 val_t REGB0;
102016 val_t tmp;
102017 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102018 fra.me.file = LOCATE_parser;
102019 fra.me.line = 38186;
102020 fra.me.meth = LOCATE_parser___ReduceAction985___action;
102021 fra.me.has_broke = 0;
102022 fra.me.REG_size = 8;
102023 fra.me.REG[0] = NIT_NULL;
102024 fra.me.REG[1] = NIT_NULL;
102025 fra.me.REG[2] = NIT_NULL;
102026 fra.me.REG[3] = NIT_NULL;
102027 fra.me.REG[4] = NIT_NULL;
102028 fra.me.REG[5] = NIT_NULL;
102029 fra.me.REG[6] = NIT_NULL;
102030 fra.me.REG[7] = NIT_NULL;
102031 fra.me.REG[0] = p0;
102032 fra.me.REG[1] = p1;
102033 fra.me.REG[0] = NIT_NULL;
102034 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102035 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102036 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102037 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102038 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102039 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102040 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102041 fra.me.REG[7] = NEW_Array_array___Array___init();
102042 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
102043 /* ./parser//parser.nit:38198 */
102044 if (UNTAG_Bool(REGB0)) {
102045 } else {
102046 fprintf(stderr, "Assert failed");
102047 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38198);
102048 nit_exit(1);
102049 }
102050 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
102051 /* ./parser//parser.nit:38200 */
102052 if (UNTAG_Bool(REGB0)) {
102053 } else {
102054 fprintf(stderr, "Assert failed");
102055 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38200);
102056 nit_exit(1);
102057 }
102058 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
102059 /* ./parser//parser.nit:38202 */
102060 if (UNTAG_Bool(REGB0)) {
102061 } else {
102062 fprintf(stderr, "Assert failed");
102063 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38202);
102064 nit_exit(1);
102065 }
102066 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
102067 /* ./parser//parser.nit:38204 */
102068 if (UNTAG_Bool(REGB0)) {
102069 fra.me.REG[7] = fra.me.REG[4];
102070 /* ./parser//parser.nit:38205 */
102071 } else {
102072 /* ./parser//parser.nit:38207 */
102073 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
102074 }
102075 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
102076 /* ./parser//parser.nit:38211 */
102077 if (UNTAG_Bool(REGB0)) {
102078 } else {
102079 fprintf(stderr, "Assert failed");
102080 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38211);
102081 nit_exit(1);
102082 }
102083 fra.me.REG[4] = NEW_Array_array___Array___init();
102084 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
102085 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
102086 /* ./parser//parser.nit:38217 */
102087 if (UNTAG_Bool(REGB0)) {
102088 } else {
102089 fprintf(stderr, "Assert failed");
102090 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38217);
102091 nit_exit(1);
102092 }
102093 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]);
102094 fra.me.REG[0] = fra.me.REG[2];
102095 REGB0 = TAG_Int(92);
102096 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
102097 /* ./parser//parser.nit:38227 */
102098 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
102099 stack_frame_head = fra.me.prev;
102100 return;
102101 }
102102 void parser___ReduceAction985___init(val_t p0, int* init_table){
102103 int itpos989 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction985].i;
102104 struct {struct stack_frame_t me;} fra;
102105 val_t tmp;
102106 if (init_table[itpos989]) return;
102107 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102108 fra.me.file = LOCATE_parser;
102109 fra.me.line = 38229;
102110 fra.me.meth = LOCATE_parser___ReduceAction985___init;
102111 fra.me.has_broke = 0;
102112 fra.me.REG_size = 1;
102113 fra.me.REG[0] = NIT_NULL;
102114 fra.me.REG[0] = p0;
102115 /* ./parser//parser.nit:38229 */
102116 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
102117 stack_frame_head = fra.me.prev;
102118 init_table[itpos989] = 1;
102119 return;
102120 }
102121 void parser___ReduceAction986___action(val_t p0, val_t p1){
102122 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
102123 val_t REGB0;
102124 val_t tmp;
102125 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102126 fra.me.file = LOCATE_parser;
102127 fra.me.line = 38233;
102128 fra.me.meth = LOCATE_parser___ReduceAction986___action;
102129 fra.me.has_broke = 0;
102130 fra.me.REG_size = 8;
102131 fra.me.REG[0] = NIT_NULL;
102132 fra.me.REG[1] = NIT_NULL;
102133 fra.me.REG[2] = NIT_NULL;
102134 fra.me.REG[3] = NIT_NULL;
102135 fra.me.REG[4] = NIT_NULL;
102136 fra.me.REG[5] = NIT_NULL;
102137 fra.me.REG[6] = NIT_NULL;
102138 fra.me.REG[7] = NIT_NULL;
102139 fra.me.REG[0] = p0;
102140 fra.me.REG[1] = p1;
102141 fra.me.REG[0] = NIT_NULL;
102142 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102143 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102144 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102145 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102146 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102147 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102148 fra.me.REG[7] = NEW_Array_array___Array___init();
102149 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
102150 /* ./parser//parser.nit:38244 */
102151 if (UNTAG_Bool(REGB0)) {
102152 } else {
102153 fprintf(stderr, "Assert failed");
102154 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38244);
102155 nit_exit(1);
102156 }
102157 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
102158 /* ./parser//parser.nit:38246 */
102159 if (UNTAG_Bool(REGB0)) {
102160 } else {
102161 fprintf(stderr, "Assert failed");
102162 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38246);
102163 nit_exit(1);
102164 }
102165 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
102166 /* ./parser//parser.nit:38248 */
102167 if (UNTAG_Bool(REGB0)) {
102168 } else {
102169 fprintf(stderr, "Assert failed");
102170 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38248);
102171 nit_exit(1);
102172 }
102173 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
102174 /* ./parser//parser.nit:38250 */
102175 if (UNTAG_Bool(REGB0)) {
102176 fra.me.REG[7] = fra.me.REG[4];
102177 /* ./parser//parser.nit:38251 */
102178 } else {
102179 /* ./parser//parser.nit:38253 */
102180 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
102181 }
102182 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
102183 /* ./parser//parser.nit:38257 */
102184 if (UNTAG_Bool(REGB0)) {
102185 } else {
102186 fprintf(stderr, "Assert failed");
102187 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38257);
102188 nit_exit(1);
102189 }
102190 fra.me.REG[4] = NEW_Array_array___Array___init();
102191 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
102192 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
102193 /* ./parser//parser.nit:38263 */
102194 if (UNTAG_Bool(REGB0)) {
102195 } else {
102196 fprintf(stderr, "Assert failed");
102197 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38263);
102198 nit_exit(1);
102199 }
102200 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]);
102201 fra.me.REG[0] = fra.me.REG[2];
102202 REGB0 = TAG_Int(92);
102203 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
102204 /* ./parser//parser.nit:38273 */
102205 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
102206 stack_frame_head = fra.me.prev;
102207 return;
102208 }
102209 void parser___ReduceAction986___init(val_t p0, int* init_table){
102210 int itpos990 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction986].i;
102211 struct {struct stack_frame_t me;} fra;
102212 val_t tmp;
102213 if (init_table[itpos990]) return;
102214 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102215 fra.me.file = LOCATE_parser;
102216 fra.me.line = 38275;
102217 fra.me.meth = LOCATE_parser___ReduceAction986___init;
102218 fra.me.has_broke = 0;
102219 fra.me.REG_size = 1;
102220 fra.me.REG[0] = NIT_NULL;
102221 fra.me.REG[0] = p0;
102222 /* ./parser//parser.nit:38275 */
102223 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
102224 stack_frame_head = fra.me.prev;
102225 init_table[itpos990] = 1;
102226 return;
102227 }
102228 void parser___ReduceAction987___action(val_t p0, val_t p1){
102229 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
102230 val_t REGB0;
102231 val_t tmp;
102232 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102233 fra.me.file = LOCATE_parser;
102234 fra.me.line = 38279;
102235 fra.me.meth = LOCATE_parser___ReduceAction987___action;
102236 fra.me.has_broke = 0;
102237 fra.me.REG_size = 7;
102238 fra.me.REG[0] = NIT_NULL;
102239 fra.me.REG[1] = NIT_NULL;
102240 fra.me.REG[2] = NIT_NULL;
102241 fra.me.REG[3] = NIT_NULL;
102242 fra.me.REG[4] = NIT_NULL;
102243 fra.me.REG[5] = NIT_NULL;
102244 fra.me.REG[6] = NIT_NULL;
102245 fra.me.REG[0] = p0;
102246 fra.me.REG[1] = p1;
102247 fra.me.REG[0] = NIT_NULL;
102248 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102249 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102250 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102251 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102252 fra.me.REG[6] = NEW_Array_array___Array___init();
102253 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
102254 /* ./parser//parser.nit:38288 */
102255 if (UNTAG_Bool(REGB0)) {
102256 } else {
102257 fprintf(stderr, "Assert failed");
102258 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38288);
102259 nit_exit(1);
102260 }
102261 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
102262 /* ./parser//parser.nit:38290 */
102263 if (UNTAG_Bool(REGB0)) {
102264 } else {
102265 fprintf(stderr, "Assert failed");
102266 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38290);
102267 nit_exit(1);
102268 }
102269 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
102270 /* ./parser//parser.nit:38292 */
102271 if (UNTAG_Bool(REGB0)) {
102272 } else {
102273 fprintf(stderr, "Assert failed");
102274 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38292);
102275 nit_exit(1);
102276 }
102277 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
102278 /* ./parser//parser.nit:38294 */
102279 if (UNTAG_Bool(REGB0)) {
102280 } else {
102281 fprintf(stderr, "Assert failed");
102282 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38294);
102283 nit_exit(1);
102284 }
102285 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
102286 fra.me.REG[0] = fra.me.REG[2];
102287 REGB0 = TAG_Int(92);
102288 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
102289 /* ./parser//parser.nit:38304 */
102290 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
102291 stack_frame_head = fra.me.prev;
102292 return;
102293 }
102294 void parser___ReduceAction987___init(val_t p0, int* init_table){
102295 int itpos991 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction987].i;
102296 struct {struct stack_frame_t me;} fra;
102297 val_t tmp;
102298 if (init_table[itpos991]) return;
102299 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102300 fra.me.file = LOCATE_parser;
102301 fra.me.line = 38306;
102302 fra.me.meth = LOCATE_parser___ReduceAction987___init;
102303 fra.me.has_broke = 0;
102304 fra.me.REG_size = 1;
102305 fra.me.REG[0] = NIT_NULL;
102306 fra.me.REG[0] = p0;
102307 /* ./parser//parser.nit:38306 */
102308 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
102309 stack_frame_head = fra.me.prev;
102310 init_table[itpos991] = 1;
102311 return;
102312 }
102313 void parser___ReduceAction988___action(val_t p0, val_t p1){
102314 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
102315 val_t REGB0;
102316 val_t tmp;
102317 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102318 fra.me.file = LOCATE_parser;
102319 fra.me.line = 38310;
102320 fra.me.meth = LOCATE_parser___ReduceAction988___action;
102321 fra.me.has_broke = 0;
102322 fra.me.REG_size = 8;
102323 fra.me.REG[0] = NIT_NULL;
102324 fra.me.REG[1] = NIT_NULL;
102325 fra.me.REG[2] = NIT_NULL;
102326 fra.me.REG[3] = NIT_NULL;
102327 fra.me.REG[4] = NIT_NULL;
102328 fra.me.REG[5] = NIT_NULL;
102329 fra.me.REG[6] = NIT_NULL;
102330 fra.me.REG[7] = NIT_NULL;
102331 fra.me.REG[0] = p0;
102332 fra.me.REG[1] = p1;
102333 fra.me.REG[0] = NIT_NULL;
102334 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102335 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102336 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102337 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102338 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102339 fra.me.REG[7] = NEW_Array_array___Array___init();
102340 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
102341 /* ./parser//parser.nit:38320 */
102342 if (UNTAG_Bool(REGB0)) {
102343 } else {
102344 fprintf(stderr, "Assert failed");
102345 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38320);
102346 nit_exit(1);
102347 }
102348 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
102349 /* ./parser//parser.nit:38322 */
102350 if (UNTAG_Bool(REGB0)) {
102351 } else {
102352 fprintf(stderr, "Assert failed");
102353 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38322);
102354 nit_exit(1);
102355 }
102356 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
102357 /* ./parser//parser.nit:38324 */
102358 if (UNTAG_Bool(REGB0)) {
102359 } else {
102360 fprintf(stderr, "Assert failed");
102361 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38324);
102362 nit_exit(1);
102363 }
102364 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
102365 /* ./parser//parser.nit:38326 */
102366 if (UNTAG_Bool(REGB0)) {
102367 fra.me.REG[7] = fra.me.REG[4];
102368 /* ./parser//parser.nit:38327 */
102369 } else {
102370 /* ./parser//parser.nit:38329 */
102371 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
102372 }
102373 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
102374 /* ./parser//parser.nit:38333 */
102375 if (UNTAG_Bool(REGB0)) {
102376 } else {
102377 fprintf(stderr, "Assert failed");
102378 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38333);
102379 nit_exit(1);
102380 }
102381 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
102382 /* ./parser//parser.nit:38335 */
102383 if (UNTAG_Bool(REGB0)) {
102384 } else {
102385 fprintf(stderr, "Assert failed");
102386 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38335);
102387 nit_exit(1);
102388 }
102389 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
102390 fra.me.REG[0] = fra.me.REG[2];
102391 REGB0 = TAG_Int(92);
102392 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
102393 /* ./parser//parser.nit:38345 */
102394 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
102395 stack_frame_head = fra.me.prev;
102396 return;
102397 }
102398 void parser___ReduceAction988___init(val_t p0, int* init_table){
102399 int itpos992 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction988].i;
102400 struct {struct stack_frame_t me;} fra;
102401 val_t tmp;
102402 if (init_table[itpos992]) return;
102403 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102404 fra.me.file = LOCATE_parser;
102405 fra.me.line = 38347;
102406 fra.me.meth = LOCATE_parser___ReduceAction988___init;
102407 fra.me.has_broke = 0;
102408 fra.me.REG_size = 1;
102409 fra.me.REG[0] = NIT_NULL;
102410 fra.me.REG[0] = p0;
102411 /* ./parser//parser.nit:38347 */
102412 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
102413 stack_frame_head = fra.me.prev;
102414 init_table[itpos992] = 1;
102415 return;
102416 }
102417 void parser___ReduceAction989___action(val_t p0, val_t p1){
102418 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
102419 val_t REGB0;
102420 val_t tmp;
102421 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102422 fra.me.file = LOCATE_parser;
102423 fra.me.line = 38351;
102424 fra.me.meth = LOCATE_parser___ReduceAction989___action;
102425 fra.me.has_broke = 0;
102426 fra.me.REG_size = 6;
102427 fra.me.REG[0] = NIT_NULL;
102428 fra.me.REG[1] = NIT_NULL;
102429 fra.me.REG[2] = NIT_NULL;
102430 fra.me.REG[3] = NIT_NULL;
102431 fra.me.REG[4] = NIT_NULL;
102432 fra.me.REG[5] = NIT_NULL;
102433 fra.me.REG[0] = p0;
102434 fra.me.REG[1] = p1;
102435 fra.me.REG[0] = NIT_NULL;
102436 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102437 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102438 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102439 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102440 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102441 fra.me.REG[5] = NEW_Array_array___Array___init();
102442 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
102443 /* ./parser//parser.nit:38361 */
102444 if (UNTAG_Bool(REGB0)) {
102445 } else {
102446 fprintf(stderr, "Assert failed");
102447 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38361);
102448 nit_exit(1);
102449 }
102450 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
102451 /* ./parser//parser.nit:38363 */
102452 if (UNTAG_Bool(REGB0)) {
102453 } else {
102454 fprintf(stderr, "Assert failed");
102455 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38363);
102456 nit_exit(1);
102457 }
102458 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
102459 /* ./parser//parser.nit:38365 */
102460 if (UNTAG_Bool(REGB0)) {
102461 } else {
102462 fprintf(stderr, "Assert failed");
102463 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38365);
102464 nit_exit(1);
102465 }
102466 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], NIT_NULL, fra.me.REG[2], NIT_NULL);
102467 fra.me.REG[0] = fra.me.REG[2];
102468 REGB0 = TAG_Int(92);
102469 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
102470 /* ./parser//parser.nit:38375 */
102471 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
102472 stack_frame_head = fra.me.prev;
102473 return;
102474 }
102475 void parser___ReduceAction989___init(val_t p0, int* init_table){
102476 int itpos993 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction989].i;
102477 struct {struct stack_frame_t me;} fra;
102478 val_t tmp;
102479 if (init_table[itpos993]) return;
102480 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102481 fra.me.file = LOCATE_parser;
102482 fra.me.line = 38377;
102483 fra.me.meth = LOCATE_parser___ReduceAction989___init;
102484 fra.me.has_broke = 0;
102485 fra.me.REG_size = 1;
102486 fra.me.REG[0] = NIT_NULL;
102487 fra.me.REG[0] = p0;
102488 /* ./parser//parser.nit:38377 */
102489 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
102490 stack_frame_head = fra.me.prev;
102491 init_table[itpos993] = 1;
102492 return;
102493 }
102494 void parser___ReduceAction990___action(val_t p0, val_t p1){
102495 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
102496 val_t REGB0;
102497 val_t tmp;
102498 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102499 fra.me.file = LOCATE_parser;
102500 fra.me.line = 38381;
102501 fra.me.meth = LOCATE_parser___ReduceAction990___action;
102502 fra.me.has_broke = 0;
102503 fra.me.REG_size = 7;
102504 fra.me.REG[0] = NIT_NULL;
102505 fra.me.REG[1] = NIT_NULL;
102506 fra.me.REG[2] = NIT_NULL;
102507 fra.me.REG[3] = NIT_NULL;
102508 fra.me.REG[4] = NIT_NULL;
102509 fra.me.REG[5] = NIT_NULL;
102510 fra.me.REG[6] = NIT_NULL;
102511 fra.me.REG[0] = p0;
102512 fra.me.REG[1] = p1;
102513 fra.me.REG[0] = NIT_NULL;
102514 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102515 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102516 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102517 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102518 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102519 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102520 fra.me.REG[6] = NEW_Array_array___Array___init();
102521 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/;
102522 /* ./parser//parser.nit:38392 */
102523 if (UNTAG_Bool(REGB0)) {
102524 } else {
102525 fprintf(stderr, "Assert failed");
102526 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38392);
102527 nit_exit(1);
102528 }
102529 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/;
102530 /* ./parser//parser.nit:38394 */
102531 if (UNTAG_Bool(REGB0)) {
102532 } else {
102533 fprintf(stderr, "Assert failed");
102534 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38394);
102535 nit_exit(1);
102536 }
102537 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
102538 /* ./parser//parser.nit:38396 */
102539 if (UNTAG_Bool(REGB0)) {
102540 } else {
102541 fprintf(stderr, "Assert failed");
102542 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38396);
102543 nit_exit(1);
102544 }
102545 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
102546 /* ./parser//parser.nit:38398 */
102547 if (UNTAG_Bool(REGB0)) {
102548 fra.me.REG[6] = fra.me.REG[3];
102549 /* ./parser//parser.nit:38399 */
102550 } else {
102551 /* ./parser//parser.nit:38401 */
102552 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
102553 }
102554 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
102555 /* ./parser//parser.nit:38405 */
102556 if (UNTAG_Bool(REGB0)) {
102557 } else {
102558 fprintf(stderr, "Assert failed");
102559 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38405);
102560 nit_exit(1);
102561 }
102562 fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], NIT_NULL, fra.me.REG[2], NIT_NULL);
102563 fra.me.REG[0] = fra.me.REG[2];
102564 REGB0 = TAG_Int(92);
102565 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
102566 /* ./parser//parser.nit:38415 */
102567 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
102568 stack_frame_head = fra.me.prev;
102569 return;
102570 }
102571 void parser___ReduceAction990___init(val_t p0, int* init_table){
102572 int itpos994 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction990].i;
102573 struct {struct stack_frame_t me;} fra;
102574 val_t tmp;
102575 if (init_table[itpos994]) return;
102576 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102577 fra.me.file = LOCATE_parser;
102578 fra.me.line = 38417;
102579 fra.me.meth = LOCATE_parser___ReduceAction990___init;
102580 fra.me.has_broke = 0;
102581 fra.me.REG_size = 1;
102582 fra.me.REG[0] = NIT_NULL;
102583 fra.me.REG[0] = p0;
102584 /* ./parser//parser.nit:38417 */
102585 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
102586 stack_frame_head = fra.me.prev;
102587 init_table[itpos994] = 1;
102588 return;
102589 }
102590 void parser___ReduceAction991___action(val_t p0, val_t p1){
102591 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
102592 val_t REGB0;
102593 val_t tmp;
102594 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102595 fra.me.file = LOCATE_parser;
102596 fra.me.line = 38421;
102597 fra.me.meth = LOCATE_parser___ReduceAction991___action;
102598 fra.me.has_broke = 0;
102599 fra.me.REG_size = 3;
102600 fra.me.REG[0] = NIT_NULL;
102601 fra.me.REG[1] = NIT_NULL;
102602 fra.me.REG[2] = NIT_NULL;
102603 fra.me.REG[0] = p0;
102604 fra.me.REG[1] = p1;
102605 fra.me.REG[0] = NIT_NULL;
102606 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102607 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
102608 /* ./parser//parser.nit:38426 */
102609 if (UNTAG_Bool(REGB0)) {
102610 } else {
102611 fprintf(stderr, "Assert failed");
102612 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38426);
102613 nit_exit(1);
102614 }
102615 fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(NIT_NULL, NIT_NULL, fra.me.REG[2]);
102616 fra.me.REG[0] = fra.me.REG[2];
102617 REGB0 = TAG_Int(93);
102618 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
102619 /* ./parser//parser.nit:38433 */
102620 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
102621 stack_frame_head = fra.me.prev;
102622 return;
102623 }
102624 void parser___ReduceAction991___init(val_t p0, int* init_table){
102625 int itpos995 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction991].i;
102626 struct {struct stack_frame_t me;} fra;
102627 val_t tmp;
102628 if (init_table[itpos995]) return;
102629 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102630 fra.me.file = LOCATE_parser;
102631 fra.me.line = 38435;
102632 fra.me.meth = LOCATE_parser___ReduceAction991___init;
102633 fra.me.has_broke = 0;
102634 fra.me.REG_size = 1;
102635 fra.me.REG[0] = NIT_NULL;
102636 fra.me.REG[0] = p0;
102637 /* ./parser//parser.nit:38435 */
102638 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
102639 stack_frame_head = fra.me.prev;
102640 init_table[itpos995] = 1;
102641 return;
102642 }
102643 void parser___ReduceAction992___action(val_t p0, val_t p1){
102644 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
102645 val_t REGB0;
102646 val_t tmp;
102647 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102648 fra.me.file = LOCATE_parser;
102649 fra.me.line = 38439;
102650 fra.me.meth = LOCATE_parser___ReduceAction992___action;
102651 fra.me.has_broke = 0;
102652 fra.me.REG_size = 4;
102653 fra.me.REG[0] = NIT_NULL;
102654 fra.me.REG[1] = NIT_NULL;
102655 fra.me.REG[2] = NIT_NULL;
102656 fra.me.REG[3] = NIT_NULL;
102657 fra.me.REG[0] = p0;
102658 fra.me.REG[1] = p1;
102659 fra.me.REG[0] = NIT_NULL;
102660 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102661 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102662 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
102663 /* ./parser//parser.nit:38445 */
102664 if (UNTAG_Bool(REGB0)) {
102665 } else {
102666 fprintf(stderr, "Assert failed");
102667 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38445);
102668 nit_exit(1);
102669 }
102670 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/;
102671 /* ./parser//parser.nit:38447 */
102672 if (UNTAG_Bool(REGB0)) {
102673 } else {
102674 fprintf(stderr, "Assert failed");
102675 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38447);
102676 nit_exit(1);
102677 }
102678 fra.me.REG[2] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL, NIT_NULL);
102679 fra.me.REG[0] = fra.me.REG[2];
102680 REGB0 = TAG_Int(94);
102681 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
102682 /* ./parser//parser.nit:38456 */
102683 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
102684 stack_frame_head = fra.me.prev;
102685 return;
102686 }
102687 void parser___ReduceAction992___init(val_t p0, int* init_table){
102688 int itpos996 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction992].i;
102689 struct {struct stack_frame_t me;} fra;
102690 val_t tmp;
102691 if (init_table[itpos996]) return;
102692 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102693 fra.me.file = LOCATE_parser;
102694 fra.me.line = 38458;
102695 fra.me.meth = LOCATE_parser___ReduceAction992___init;
102696 fra.me.has_broke = 0;
102697 fra.me.REG_size = 1;
102698 fra.me.REG[0] = NIT_NULL;
102699 fra.me.REG[0] = p0;
102700 /* ./parser//parser.nit:38458 */
102701 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
102702 stack_frame_head = fra.me.prev;
102703 init_table[itpos996] = 1;
102704 return;
102705 }
102706 void parser___ReduceAction993___action(val_t p0, val_t p1){
102707 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
102708 val_t REGB0;
102709 val_t tmp;
102710 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102711 fra.me.file = LOCATE_parser;
102712 fra.me.line = 38462;
102713 fra.me.meth = LOCATE_parser___ReduceAction993___action;
102714 fra.me.has_broke = 0;
102715 fra.me.REG_size = 5;
102716 fra.me.REG[0] = NIT_NULL;
102717 fra.me.REG[1] = NIT_NULL;
102718 fra.me.REG[2] = NIT_NULL;
102719 fra.me.REG[3] = NIT_NULL;
102720 fra.me.REG[4] = NIT_NULL;
102721 fra.me.REG[0] = p0;
102722 fra.me.REG[1] = p1;
102723 fra.me.REG[0] = NIT_NULL;
102724 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102725 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102726 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102727 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
102728 /* ./parser//parser.nit:38469 */
102729 if (UNTAG_Bool(REGB0)) {
102730 } else {
102731 fprintf(stderr, "Assert failed");
102732 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38469);
102733 nit_exit(1);
102734 }
102735 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
102736 /* ./parser//parser.nit:38471 */
102737 if (UNTAG_Bool(REGB0)) {
102738 } else {
102739 fprintf(stderr, "Assert failed");
102740 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38471);
102741 nit_exit(1);
102742 }
102743 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
102744 /* ./parser//parser.nit:38473 */
102745 if (UNTAG_Bool(REGB0)) {
102746 } else {
102747 fprintf(stderr, "Assert failed");
102748 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38473);
102749 nit_exit(1);
102750 }
102751 fra.me.REG[2] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL);
102752 fra.me.REG[0] = fra.me.REG[2];
102753 REGB0 = TAG_Int(94);
102754 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
102755 /* ./parser//parser.nit:38482 */
102756 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
102757 stack_frame_head = fra.me.prev;
102758 return;
102759 }
102760 void parser___ReduceAction993___init(val_t p0, int* init_table){
102761 int itpos997 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction993].i;
102762 struct {struct stack_frame_t me;} fra;
102763 val_t tmp;
102764 if (init_table[itpos997]) return;
102765 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102766 fra.me.file = LOCATE_parser;
102767 fra.me.line = 38484;
102768 fra.me.meth = LOCATE_parser___ReduceAction993___init;
102769 fra.me.has_broke = 0;
102770 fra.me.REG_size = 1;
102771 fra.me.REG[0] = NIT_NULL;
102772 fra.me.REG[0] = p0;
102773 /* ./parser//parser.nit:38484 */
102774 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
102775 stack_frame_head = fra.me.prev;
102776 init_table[itpos997] = 1;
102777 return;
102778 }
102779 void parser___ReduceAction994___action(val_t p0, val_t p1){
102780 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
102781 val_t REGB0;
102782 val_t tmp;
102783 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102784 fra.me.file = LOCATE_parser;
102785 fra.me.line = 38488;
102786 fra.me.meth = LOCATE_parser___ReduceAction994___action;
102787 fra.me.has_broke = 0;
102788 fra.me.REG_size = 6;
102789 fra.me.REG[0] = NIT_NULL;
102790 fra.me.REG[1] = NIT_NULL;
102791 fra.me.REG[2] = NIT_NULL;
102792 fra.me.REG[3] = NIT_NULL;
102793 fra.me.REG[4] = NIT_NULL;
102794 fra.me.REG[5] = NIT_NULL;
102795 fra.me.REG[0] = p0;
102796 fra.me.REG[1] = p1;
102797 fra.me.REG[0] = NIT_NULL;
102798 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102799 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102800 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102801 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102802 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102803 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
102804 /* ./parser//parser.nit:38497 */
102805 if (UNTAG_Bool(REGB0)) {
102806 } else {
102807 fprintf(stderr, "Assert failed");
102808 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38497);
102809 nit_exit(1);
102810 }
102811 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
102812 /* ./parser//parser.nit:38499 */
102813 if (UNTAG_Bool(REGB0)) {
102814 } else {
102815 fprintf(stderr, "Assert failed");
102816 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38499);
102817 nit_exit(1);
102818 }
102819 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
102820 /* ./parser//parser.nit:38501 */
102821 if (UNTAG_Bool(REGB0)) {
102822 } else {
102823 fprintf(stderr, "Assert failed");
102824 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38501);
102825 nit_exit(1);
102826 }
102827 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
102828 /* ./parser//parser.nit:38503 */
102829 if (UNTAG_Bool(REGB0)) {
102830 } else {
102831 fprintf(stderr, "Assert failed");
102832 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38503);
102833 nit_exit(1);
102834 }
102835 fra.me.REG[2] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]);
102836 fra.me.REG[0] = fra.me.REG[2];
102837 REGB0 = TAG_Int(94);
102838 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
102839 /* ./parser//parser.nit:38512 */
102840 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
102841 stack_frame_head = fra.me.prev;
102842 return;
102843 }
102844 void parser___ReduceAction994___init(val_t p0, int* init_table){
102845 int itpos998 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction994].i;
102846 struct {struct stack_frame_t me;} fra;
102847 val_t tmp;
102848 if (init_table[itpos998]) return;
102849 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102850 fra.me.file = LOCATE_parser;
102851 fra.me.line = 38514;
102852 fra.me.meth = LOCATE_parser___ReduceAction994___init;
102853 fra.me.has_broke = 0;
102854 fra.me.REG_size = 1;
102855 fra.me.REG[0] = NIT_NULL;
102856 fra.me.REG[0] = p0;
102857 /* ./parser//parser.nit:38514 */
102858 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
102859 stack_frame_head = fra.me.prev;
102860 init_table[itpos998] = 1;
102861 return;
102862 }
102863 void parser___ReduceAction995___action(val_t p0, val_t p1){
102864 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
102865 val_t REGB0;
102866 val_t tmp;
102867 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102868 fra.me.file = LOCATE_parser;
102869 fra.me.line = 38518;
102870 fra.me.meth = LOCATE_parser___ReduceAction995___action;
102871 fra.me.has_broke = 0;
102872 fra.me.REG_size = 7;
102873 fra.me.REG[0] = NIT_NULL;
102874 fra.me.REG[1] = NIT_NULL;
102875 fra.me.REG[2] = NIT_NULL;
102876 fra.me.REG[3] = NIT_NULL;
102877 fra.me.REG[4] = NIT_NULL;
102878 fra.me.REG[5] = NIT_NULL;
102879 fra.me.REG[6] = NIT_NULL;
102880 fra.me.REG[0] = p0;
102881 fra.me.REG[1] = p1;
102882 fra.me.REG[0] = NIT_NULL;
102883 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102884 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102885 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102886 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102887 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102888 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102889 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/;
102890 /* ./parser//parser.nit:38528 */
102891 if (UNTAG_Bool(REGB0)) {
102892 } else {
102893 fprintf(stderr, "Assert failed");
102894 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38528);
102895 nit_exit(1);
102896 }
102897 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
102898 /* ./parser//parser.nit:38530 */
102899 if (UNTAG_Bool(REGB0)) {
102900 } else {
102901 fprintf(stderr, "Assert failed");
102902 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38530);
102903 nit_exit(1);
102904 }
102905 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
102906 /* ./parser//parser.nit:38532 */
102907 if (UNTAG_Bool(REGB0)) {
102908 } else {
102909 fprintf(stderr, "Assert failed");
102910 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38532);
102911 nit_exit(1);
102912 }
102913 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
102914 /* ./parser//parser.nit:38534 */
102915 if (UNTAG_Bool(REGB0)) {
102916 } else {
102917 fprintf(stderr, "Assert failed");
102918 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38534);
102919 nit_exit(1);
102920 }
102921 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
102922 /* ./parser//parser.nit:38536 */
102923 if (UNTAG_Bool(REGB0)) {
102924 } else {
102925 fprintf(stderr, "Assert failed");
102926 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38536);
102927 nit_exit(1);
102928 }
102929 fra.me.REG[2] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
102930 fra.me.REG[0] = fra.me.REG[2];
102931 REGB0 = TAG_Int(94);
102932 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
102933 /* ./parser//parser.nit:38545 */
102934 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
102935 stack_frame_head = fra.me.prev;
102936 return;
102937 }
102938 void parser___ReduceAction995___init(val_t p0, int* init_table){
102939 int itpos999 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction995].i;
102940 struct {struct stack_frame_t me;} fra;
102941 val_t tmp;
102942 if (init_table[itpos999]) return;
102943 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102944 fra.me.file = LOCATE_parser;
102945 fra.me.line = 38547;
102946 fra.me.meth = LOCATE_parser___ReduceAction995___init;
102947 fra.me.has_broke = 0;
102948 fra.me.REG_size = 1;
102949 fra.me.REG[0] = NIT_NULL;
102950 fra.me.REG[0] = p0;
102951 /* ./parser//parser.nit:38547 */
102952 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
102953 stack_frame_head = fra.me.prev;
102954 init_table[itpos999] = 1;
102955 return;
102956 }
102957 void parser___ReduceAction996___action(val_t p0, val_t p1){
102958 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
102959 val_t REGB0;
102960 val_t tmp;
102961 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
102962 fra.me.file = LOCATE_parser;
102963 fra.me.line = 38551;
102964 fra.me.meth = LOCATE_parser___ReduceAction996___action;
102965 fra.me.has_broke = 0;
102966 fra.me.REG_size = 6;
102967 fra.me.REG[0] = NIT_NULL;
102968 fra.me.REG[1] = NIT_NULL;
102969 fra.me.REG[2] = NIT_NULL;
102970 fra.me.REG[3] = NIT_NULL;
102971 fra.me.REG[4] = NIT_NULL;
102972 fra.me.REG[5] = NIT_NULL;
102973 fra.me.REG[0] = p0;
102974 fra.me.REG[1] = p1;
102975 fra.me.REG[0] = NIT_NULL;
102976 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102977 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102978 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102979 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102980 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102981 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
102982 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
102983 /* ./parser//parser.nit:38561 */
102984 if (UNTAG_Bool(REGB0)) {
102985 } else {
102986 fprintf(stderr, "Assert failed");
102987 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38561);
102988 nit_exit(1);
102989 }
102990 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
102991 /* ./parser//parser.nit:38563 */
102992 if (UNTAG_Bool(REGB0)) {
102993 } else {
102994 fprintf(stderr, "Assert failed");
102995 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38563);
102996 nit_exit(1);
102997 }
102998 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
102999 /* ./parser//parser.nit:38565 */
103000 if (UNTAG_Bool(REGB0)) {
103001 } else {
103002 fprintf(stderr, "Assert failed");
103003 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38565);
103004 nit_exit(1);
103005 }
103006 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
103007 /* ./parser//parser.nit:38567 */
103008 if (UNTAG_Bool(REGB0)) {
103009 } else {
103010 fprintf(stderr, "Assert failed");
103011 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38567);
103012 nit_exit(1);
103013 }
103014 fra.me.REG[2] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
103015 fra.me.REG[0] = fra.me.REG[2];
103016 REGB0 = TAG_Int(95);
103017 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
103018 /* ./parser//parser.nit:38575 */
103019 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
103020 stack_frame_head = fra.me.prev;
103021 return;
103022 }
103023 void parser___ReduceAction996___init(val_t p0, int* init_table){
103024 int itpos1000 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction996].i;
103025 struct {struct stack_frame_t me;} fra;
103026 val_t tmp;
103027 if (init_table[itpos1000]) return;
103028 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103029 fra.me.file = LOCATE_parser;
103030 fra.me.line = 38577;
103031 fra.me.meth = LOCATE_parser___ReduceAction996___init;
103032 fra.me.has_broke = 0;
103033 fra.me.REG_size = 1;
103034 fra.me.REG[0] = NIT_NULL;
103035 fra.me.REG[0] = p0;
103036 /* ./parser//parser.nit:38577 */
103037 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
103038 stack_frame_head = fra.me.prev;
103039 init_table[itpos1000] = 1;
103040 return;
103041 }
103042 void parser___ReduceAction997___action(val_t p0, val_t p1){
103043 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
103044 val_t REGB0;
103045 val_t tmp;
103046 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103047 fra.me.file = LOCATE_parser;
103048 fra.me.line = 38581;
103049 fra.me.meth = LOCATE_parser___ReduceAction997___action;
103050 fra.me.has_broke = 0;
103051 fra.me.REG_size = 6;
103052 fra.me.REG[0] = NIT_NULL;
103053 fra.me.REG[1] = NIT_NULL;
103054 fra.me.REG[2] = NIT_NULL;
103055 fra.me.REG[3] = NIT_NULL;
103056 fra.me.REG[4] = NIT_NULL;
103057 fra.me.REG[5] = NIT_NULL;
103058 fra.me.REG[0] = p0;
103059 fra.me.REG[1] = p1;
103060 fra.me.REG[0] = NIT_NULL;
103061 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103062 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103063 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103064 fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
103065 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
103066 /* ./parser//parser.nit:38590 */
103067 if (UNTAG_Bool(REGB0)) {
103068 } else {
103069 fprintf(stderr, "Assert failed");
103070 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38590);
103071 nit_exit(1);
103072 }
103073 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
103074 /* ./parser//parser.nit:38592 */
103075 if (UNTAG_Bool(REGB0)) {
103076 } else {
103077 fprintf(stderr, "Assert failed");
103078 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38592);
103079 nit_exit(1);
103080 }
103081 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
103082 /* ./parser//parser.nit:38594 */
103083 if (UNTAG_Bool(REGB0)) {
103084 } else {
103085 fprintf(stderr, "Assert failed");
103086 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38594);
103087 nit_exit(1);
103088 }
103089 fra.me.REG[2] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
103090 fra.me.REG[0] = fra.me.REG[2];
103091 REGB0 = TAG_Int(95);
103092 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
103093 /* ./parser//parser.nit:38602 */
103094 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
103095 stack_frame_head = fra.me.prev;
103096 return;
103097 }
103098 void parser___ReduceAction997___init(val_t p0, int* init_table){
103099 int itpos1001 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction997].i;
103100 struct {struct stack_frame_t me;} fra;
103101 val_t tmp;
103102 if (init_table[itpos1001]) return;
103103 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103104 fra.me.file = LOCATE_parser;
103105 fra.me.line = 38604;
103106 fra.me.meth = LOCATE_parser___ReduceAction997___init;
103107 fra.me.has_broke = 0;
103108 fra.me.REG_size = 1;
103109 fra.me.REG[0] = NIT_NULL;
103110 fra.me.REG[0] = p0;
103111 /* ./parser//parser.nit:38604 */
103112 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
103113 stack_frame_head = fra.me.prev;
103114 init_table[itpos1001] = 1;
103115 return;
103116 }
103117 void parser___ReduceAction998___action(val_t p0, val_t p1){
103118 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
103119 val_t REGB0;
103120 val_t tmp;
103121 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103122 fra.me.file = LOCATE_parser;
103123 fra.me.line = 38608;
103124 fra.me.meth = LOCATE_parser___ReduceAction998___action;
103125 fra.me.has_broke = 0;
103126 fra.me.REG_size = 8;
103127 fra.me.REG[0] = NIT_NULL;
103128 fra.me.REG[1] = NIT_NULL;
103129 fra.me.REG[2] = NIT_NULL;
103130 fra.me.REG[3] = NIT_NULL;
103131 fra.me.REG[4] = NIT_NULL;
103132 fra.me.REG[5] = NIT_NULL;
103133 fra.me.REG[6] = NIT_NULL;
103134 fra.me.REG[7] = NIT_NULL;
103135 fra.me.REG[0] = p0;
103136 fra.me.REG[1] = p1;
103137 fra.me.REG[0] = NIT_NULL;
103138 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103139 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103140 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103141 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103142 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103143 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103144 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103145 fra.me.REG[7] = NEW_Array_array___Array___init();
103146 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
103147 /* ./parser//parser.nit:38620 */
103148 if (UNTAG_Bool(REGB0)) {
103149 } else {
103150 fprintf(stderr, "Assert failed");
103151 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38620);
103152 nit_exit(1);
103153 }
103154 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
103155 /* ./parser//parser.nit:38622 */
103156 if (UNTAG_Bool(REGB0)) {
103157 } else {
103158 fprintf(stderr, "Assert failed");
103159 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38622);
103160 nit_exit(1);
103161 }
103162 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
103163 /* ./parser//parser.nit:38624 */
103164 if (UNTAG_Bool(REGB0)) {
103165 } else {
103166 fprintf(stderr, "Assert failed");
103167 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38624);
103168 nit_exit(1);
103169 }
103170 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
103171 /* ./parser//parser.nit:38626 */
103172 if (UNTAG_Bool(REGB0)) {
103173 fra.me.REG[7] = fra.me.REG[4];
103174 /* ./parser//parser.nit:38627 */
103175 } else {
103176 /* ./parser//parser.nit:38629 */
103177 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
103178 }
103179 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
103180 /* ./parser//parser.nit:38633 */
103181 if (UNTAG_Bool(REGB0)) {
103182 } else {
103183 fprintf(stderr, "Assert failed");
103184 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38633);
103185 nit_exit(1);
103186 }
103187 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
103188 /* ./parser//parser.nit:38635 */
103189 if (UNTAG_Bool(REGB0)) {
103190 } else {
103191 fprintf(stderr, "Assert failed");
103192 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38635);
103193 nit_exit(1);
103194 }
103195 fra.me.REG[2] = NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___init_acallassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[2]);
103196 fra.me.REG[0] = fra.me.REG[2];
103197 REGB0 = TAG_Int(95);
103198 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
103199 /* ./parser//parser.nit:38644 */
103200 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
103201 stack_frame_head = fra.me.prev;
103202 return;
103203 }
103204 void parser___ReduceAction998___init(val_t p0, int* init_table){
103205 int itpos1002 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction998].i;
103206 struct {struct stack_frame_t me;} fra;
103207 val_t tmp;
103208 if (init_table[itpos1002]) return;
103209 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103210 fra.me.file = LOCATE_parser;
103211 fra.me.line = 38646;
103212 fra.me.meth = LOCATE_parser___ReduceAction998___init;
103213 fra.me.has_broke = 0;
103214 fra.me.REG_size = 1;
103215 fra.me.REG[0] = NIT_NULL;
103216 fra.me.REG[0] = p0;
103217 /* ./parser//parser.nit:38646 */
103218 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
103219 stack_frame_head = fra.me.prev;
103220 init_table[itpos1002] = 1;
103221 return;
103222 }
103223 void parser___ReduceAction999___action(val_t p0, val_t p1){
103224 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
103225 val_t REGB0;
103226 val_t tmp;
103227 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103228 fra.me.file = LOCATE_parser;
103229 fra.me.line = 38650;
103230 fra.me.meth = LOCATE_parser___ReduceAction999___action;
103231 fra.me.has_broke = 0;
103232 fra.me.REG_size = 8;
103233 fra.me.REG[0] = NIT_NULL;
103234 fra.me.REG[1] = NIT_NULL;
103235 fra.me.REG[2] = NIT_NULL;
103236 fra.me.REG[3] = NIT_NULL;
103237 fra.me.REG[4] = NIT_NULL;
103238 fra.me.REG[5] = NIT_NULL;
103239 fra.me.REG[6] = NIT_NULL;
103240 fra.me.REG[7] = NIT_NULL;
103241 fra.me.REG[0] = p0;
103242 fra.me.REG[1] = p1;
103243 fra.me.REG[0] = NIT_NULL;
103244 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103245 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103246 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103247 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103248 fra.me.REG[6] = NEW_Array_array___Array___init();
103249 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
103250 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
103251 /* ./parser//parser.nit:38661 */
103252 if (UNTAG_Bool(REGB0)) {
103253 } else {
103254 fprintf(stderr, "Assert failed");
103255 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38661);
103256 nit_exit(1);
103257 }
103258 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
103259 /* ./parser//parser.nit:38663 */
103260 if (UNTAG_Bool(REGB0)) {
103261 } else {
103262 fprintf(stderr, "Assert failed");
103263 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38663);
103264 nit_exit(1);
103265 }
103266 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
103267 /* ./parser//parser.nit:38665 */
103268 if (UNTAG_Bool(REGB0)) {
103269 fra.me.REG[6] = fra.me.REG[4];
103270 /* ./parser//parser.nit:38666 */
103271 } else {
103272 /* ./parser//parser.nit:38668 */
103273 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
103274 }
103275 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
103276 /* ./parser//parser.nit:38672 */
103277 if (UNTAG_Bool(REGB0)) {
103278 } else {
103279 fprintf(stderr, "Assert failed");
103280 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38672);
103281 nit_exit(1);
103282 }
103283 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
103284 /* ./parser//parser.nit:38674 */
103285 if (UNTAG_Bool(REGB0)) {
103286 } else {
103287 fprintf(stderr, "Assert failed");
103288 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38674);
103289 nit_exit(1);
103290 }
103291 fra.me.REG[2] = NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___init_acallassignexpr(fra.me.REG[7], fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]);
103292 fra.me.REG[0] = fra.me.REG[2];
103293 REGB0 = TAG_Int(95);
103294 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
103295 /* ./parser//parser.nit:38683 */
103296 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
103297 stack_frame_head = fra.me.prev;
103298 return;
103299 }
103300 void parser___ReduceAction999___init(val_t p0, int* init_table){
103301 int itpos1003 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction999].i;
103302 struct {struct stack_frame_t me;} fra;
103303 val_t tmp;
103304 if (init_table[itpos1003]) return;
103305 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103306 fra.me.file = LOCATE_parser;
103307 fra.me.line = 38685;
103308 fra.me.meth = LOCATE_parser___ReduceAction999___init;
103309 fra.me.has_broke = 0;
103310 fra.me.REG_size = 1;
103311 fra.me.REG[0] = NIT_NULL;
103312 fra.me.REG[0] = p0;
103313 /* ./parser//parser.nit:38685 */
103314 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
103315 stack_frame_head = fra.me.prev;
103316 init_table[itpos1003] = 1;
103317 return;
103318 }
103319 void parser___ReduceAction1000___action(val_t p0, val_t p1){
103320 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
103321 val_t REGB0;
103322 val_t tmp;
103323 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103324 fra.me.file = LOCATE_parser;
103325 fra.me.line = 38689;
103326 fra.me.meth = LOCATE_parser___ReduceAction1000___action;
103327 fra.me.has_broke = 0;
103328 fra.me.REG_size = 7;
103329 fra.me.REG[0] = NIT_NULL;
103330 fra.me.REG[1] = NIT_NULL;
103331 fra.me.REG[2] = NIT_NULL;
103332 fra.me.REG[3] = NIT_NULL;
103333 fra.me.REG[4] = NIT_NULL;
103334 fra.me.REG[5] = NIT_NULL;
103335 fra.me.REG[6] = NIT_NULL;
103336 fra.me.REG[0] = p0;
103337 fra.me.REG[1] = p1;
103338 fra.me.REG[0] = NIT_NULL;
103339 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103340 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103341 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103342 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103343 fra.me.REG[6] = NEW_Array_array___Array___init();
103344 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
103345 /* ./parser//parser.nit:38698 */
103346 if (UNTAG_Bool(REGB0)) {
103347 } else {
103348 fprintf(stderr, "Assert failed");
103349 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38698);
103350 nit_exit(1);
103351 }
103352 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
103353 /* ./parser//parser.nit:38700 */
103354 if (UNTAG_Bool(REGB0)) {
103355 } else {
103356 fprintf(stderr, "Assert failed");
103357 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38700);
103358 nit_exit(1);
103359 }
103360 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
103361 /* ./parser//parser.nit:38702 */
103362 if (UNTAG_Bool(REGB0)) {
103363 fra.me.REG[6] = fra.me.REG[4];
103364 /* ./parser//parser.nit:38703 */
103365 } else {
103366 /* ./parser//parser.nit:38705 */
103367 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
103368 }
103369 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/;
103370 /* ./parser//parser.nit:38709 */
103371 if (UNTAG_Bool(REGB0)) {
103372 } else {
103373 fprintf(stderr, "Assert failed");
103374 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38709);
103375 nit_exit(1);
103376 }
103377 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
103378 /* ./parser//parser.nit:38711 */
103379 if (UNTAG_Bool(REGB0)) {
103380 } else {
103381 fprintf(stderr, "Assert failed");
103382 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38711);
103383 nit_exit(1);
103384 }
103385 fra.me.REG[2] = NEW_ABraAssignExpr_parser_prod___ABraAssignExpr___init_abraassignexpr(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]);
103386 fra.me.REG[0] = fra.me.REG[2];
103387 REGB0 = TAG_Int(95);
103388 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
103389 /* ./parser//parser.nit:38719 */
103390 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
103391 stack_frame_head = fra.me.prev;
103392 return;
103393 }
103394 void parser___ReduceAction1000___init(val_t p0, int* init_table){
103395 int itpos1004 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1000].i;
103396 struct {struct stack_frame_t me;} fra;
103397 val_t tmp;
103398 if (init_table[itpos1004]) return;
103399 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103400 fra.me.file = LOCATE_parser;
103401 fra.me.line = 38721;
103402 fra.me.meth = LOCATE_parser___ReduceAction1000___init;
103403 fra.me.has_broke = 0;
103404 fra.me.REG_size = 1;
103405 fra.me.REG[0] = NIT_NULL;
103406 fra.me.REG[0] = p0;
103407 /* ./parser//parser.nit:38721 */
103408 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
103409 stack_frame_head = fra.me.prev;
103410 init_table[itpos1004] = 1;
103411 return;
103412 }
103413 void parser___ReduceAction1001___action(val_t p0, val_t p1){
103414 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
103415 val_t REGB0;
103416 val_t tmp;
103417 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103418 fra.me.file = LOCATE_parser;
103419 fra.me.line = 38725;
103420 fra.me.meth = LOCATE_parser___ReduceAction1001___action;
103421 fra.me.has_broke = 0;
103422 fra.me.REG_size = 6;
103423 fra.me.REG[0] = NIT_NULL;
103424 fra.me.REG[1] = NIT_NULL;
103425 fra.me.REG[2] = NIT_NULL;
103426 fra.me.REG[3] = NIT_NULL;
103427 fra.me.REG[4] = NIT_NULL;
103428 fra.me.REG[5] = NIT_NULL;
103429 fra.me.REG[0] = p0;
103430 fra.me.REG[1] = p1;
103431 fra.me.REG[0] = NIT_NULL;
103432 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103433 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103434 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103435 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103436 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103437 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103438 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
103439 /* ./parser//parser.nit:38735 */
103440 if (UNTAG_Bool(REGB0)) {
103441 } else {
103442 fprintf(stderr, "Assert failed");
103443 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38735);
103444 nit_exit(1);
103445 }
103446 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
103447 /* ./parser//parser.nit:38737 */
103448 if (UNTAG_Bool(REGB0)) {
103449 } else {
103450 fprintf(stderr, "Assert failed");
103451 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38737);
103452 nit_exit(1);
103453 }
103454 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/;
103455 /* ./parser//parser.nit:38739 */
103456 if (UNTAG_Bool(REGB0)) {
103457 } else {
103458 fprintf(stderr, "Assert failed");
103459 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38739);
103460 nit_exit(1);
103461 }
103462 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
103463 /* ./parser//parser.nit:38741 */
103464 if (UNTAG_Bool(REGB0)) {
103465 } else {
103466 fprintf(stderr, "Assert failed");
103467 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38741);
103468 nit_exit(1);
103469 }
103470 fra.me.REG[2] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
103471 fra.me.REG[0] = fra.me.REG[2];
103472 REGB0 = TAG_Int(95);
103473 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
103474 /* ./parser//parser.nit:38749 */
103475 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
103476 stack_frame_head = fra.me.prev;
103477 return;
103478 }
103479 void parser___ReduceAction1001___init(val_t p0, int* init_table){
103480 int itpos1005 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1001].i;
103481 struct {struct stack_frame_t me;} fra;
103482 val_t tmp;
103483 if (init_table[itpos1005]) return;
103484 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103485 fra.me.file = LOCATE_parser;
103486 fra.me.line = 38751;
103487 fra.me.meth = LOCATE_parser___ReduceAction1001___init;
103488 fra.me.has_broke = 0;
103489 fra.me.REG_size = 1;
103490 fra.me.REG[0] = NIT_NULL;
103491 fra.me.REG[0] = p0;
103492 /* ./parser//parser.nit:38751 */
103493 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
103494 stack_frame_head = fra.me.prev;
103495 init_table[itpos1005] = 1;
103496 return;
103497 }
103498 void parser___ReduceAction1002___action(val_t p0, val_t p1){
103499 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
103500 val_t REGB0;
103501 val_t tmp;
103502 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103503 fra.me.file = LOCATE_parser;
103504 fra.me.line = 38755;
103505 fra.me.meth = LOCATE_parser___ReduceAction1002___action;
103506 fra.me.has_broke = 0;
103507 fra.me.REG_size = 6;
103508 fra.me.REG[0] = NIT_NULL;
103509 fra.me.REG[1] = NIT_NULL;
103510 fra.me.REG[2] = NIT_NULL;
103511 fra.me.REG[3] = NIT_NULL;
103512 fra.me.REG[4] = NIT_NULL;
103513 fra.me.REG[5] = NIT_NULL;
103514 fra.me.REG[0] = p0;
103515 fra.me.REG[1] = p1;
103516 fra.me.REG[0] = NIT_NULL;
103517 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103518 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103519 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103520 fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
103521 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
103522 /* ./parser//parser.nit:38764 */
103523 if (UNTAG_Bool(REGB0)) {
103524 } else {
103525 fprintf(stderr, "Assert failed");
103526 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38764);
103527 nit_exit(1);
103528 }
103529 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/;
103530 /* ./parser//parser.nit:38766 */
103531 if (UNTAG_Bool(REGB0)) {
103532 } else {
103533 fprintf(stderr, "Assert failed");
103534 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38766);
103535 nit_exit(1);
103536 }
103537 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
103538 /* ./parser//parser.nit:38768 */
103539 if (UNTAG_Bool(REGB0)) {
103540 } else {
103541 fprintf(stderr, "Assert failed");
103542 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38768);
103543 nit_exit(1);
103544 }
103545 fra.me.REG[2] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
103546 fra.me.REG[0] = fra.me.REG[2];
103547 REGB0 = TAG_Int(95);
103548 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
103549 /* ./parser//parser.nit:38776 */
103550 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
103551 stack_frame_head = fra.me.prev;
103552 return;
103553 }
103554 void parser___ReduceAction1002___init(val_t p0, int* init_table){
103555 int itpos1006 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1002].i;
103556 struct {struct stack_frame_t me;} fra;
103557 val_t tmp;
103558 if (init_table[itpos1006]) return;
103559 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103560 fra.me.file = LOCATE_parser;
103561 fra.me.line = 38778;
103562 fra.me.meth = LOCATE_parser___ReduceAction1002___init;
103563 fra.me.has_broke = 0;
103564 fra.me.REG_size = 1;
103565 fra.me.REG[0] = NIT_NULL;
103566 fra.me.REG[0] = p0;
103567 /* ./parser//parser.nit:38778 */
103568 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
103569 stack_frame_head = fra.me.prev;
103570 init_table[itpos1006] = 1;
103571 return;
103572 }
103573 void parser___ReduceAction1003___action(val_t p0, val_t p1){
103574 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
103575 val_t REGB0;
103576 val_t tmp;
103577 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103578 fra.me.file = LOCATE_parser;
103579 fra.me.line = 38782;
103580 fra.me.meth = LOCATE_parser___ReduceAction1003___action;
103581 fra.me.has_broke = 0;
103582 fra.me.REG_size = 8;
103583 fra.me.REG[0] = NIT_NULL;
103584 fra.me.REG[1] = NIT_NULL;
103585 fra.me.REG[2] = NIT_NULL;
103586 fra.me.REG[3] = NIT_NULL;
103587 fra.me.REG[4] = NIT_NULL;
103588 fra.me.REG[5] = NIT_NULL;
103589 fra.me.REG[6] = NIT_NULL;
103590 fra.me.REG[7] = NIT_NULL;
103591 fra.me.REG[0] = p0;
103592 fra.me.REG[1] = p1;
103593 fra.me.REG[0] = NIT_NULL;
103594 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103595 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103596 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103597 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103598 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103599 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103600 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103601 fra.me.REG[7] = NEW_Array_array___Array___init();
103602 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
103603 /* ./parser//parser.nit:38794 */
103604 if (UNTAG_Bool(REGB0)) {
103605 } else {
103606 fprintf(stderr, "Assert failed");
103607 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38794);
103608 nit_exit(1);
103609 }
103610 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
103611 /* ./parser//parser.nit:38796 */
103612 if (UNTAG_Bool(REGB0)) {
103613 } else {
103614 fprintf(stderr, "Assert failed");
103615 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38796);
103616 nit_exit(1);
103617 }
103618 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
103619 /* ./parser//parser.nit:38798 */
103620 if (UNTAG_Bool(REGB0)) {
103621 } else {
103622 fprintf(stderr, "Assert failed");
103623 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38798);
103624 nit_exit(1);
103625 }
103626 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
103627 /* ./parser//parser.nit:38800 */
103628 if (UNTAG_Bool(REGB0)) {
103629 fra.me.REG[7] = fra.me.REG[4];
103630 /* ./parser//parser.nit:38801 */
103631 } else {
103632 /* ./parser//parser.nit:38803 */
103633 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
103634 }
103635 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/;
103636 /* ./parser//parser.nit:38807 */
103637 if (UNTAG_Bool(REGB0)) {
103638 } else {
103639 fprintf(stderr, "Assert failed");
103640 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38807);
103641 nit_exit(1);
103642 }
103643 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
103644 /* ./parser//parser.nit:38809 */
103645 if (UNTAG_Bool(REGB0)) {
103646 } else {
103647 fprintf(stderr, "Assert failed");
103648 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38809);
103649 nit_exit(1);
103650 }
103651 fra.me.REG[2] = NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___init_acallreassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[2]);
103652 fra.me.REG[0] = fra.me.REG[2];
103653 REGB0 = TAG_Int(95);
103654 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
103655 /* ./parser//parser.nit:38818 */
103656 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
103657 stack_frame_head = fra.me.prev;
103658 return;
103659 }
103660 void parser___ReduceAction1003___init(val_t p0, int* init_table){
103661 int itpos1007 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1003].i;
103662 struct {struct stack_frame_t me;} fra;
103663 val_t tmp;
103664 if (init_table[itpos1007]) return;
103665 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103666 fra.me.file = LOCATE_parser;
103667 fra.me.line = 38820;
103668 fra.me.meth = LOCATE_parser___ReduceAction1003___init;
103669 fra.me.has_broke = 0;
103670 fra.me.REG_size = 1;
103671 fra.me.REG[0] = NIT_NULL;
103672 fra.me.REG[0] = p0;
103673 /* ./parser//parser.nit:38820 */
103674 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
103675 stack_frame_head = fra.me.prev;
103676 init_table[itpos1007] = 1;
103677 return;
103678 }
103679 void parser___ReduceAction1004___action(val_t p0, val_t p1){
103680 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
103681 val_t REGB0;
103682 val_t tmp;
103683 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103684 fra.me.file = LOCATE_parser;
103685 fra.me.line = 38824;
103686 fra.me.meth = LOCATE_parser___ReduceAction1004___action;
103687 fra.me.has_broke = 0;
103688 fra.me.REG_size = 8;
103689 fra.me.REG[0] = NIT_NULL;
103690 fra.me.REG[1] = NIT_NULL;
103691 fra.me.REG[2] = NIT_NULL;
103692 fra.me.REG[3] = NIT_NULL;
103693 fra.me.REG[4] = NIT_NULL;
103694 fra.me.REG[5] = NIT_NULL;
103695 fra.me.REG[6] = NIT_NULL;
103696 fra.me.REG[7] = NIT_NULL;
103697 fra.me.REG[0] = p0;
103698 fra.me.REG[1] = p1;
103699 fra.me.REG[0] = NIT_NULL;
103700 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103701 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103702 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103703 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103704 fra.me.REG[6] = NEW_Array_array___Array___init();
103705 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
103706 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
103707 /* ./parser//parser.nit:38835 */
103708 if (UNTAG_Bool(REGB0)) {
103709 } else {
103710 fprintf(stderr, "Assert failed");
103711 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38835);
103712 nit_exit(1);
103713 }
103714 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
103715 /* ./parser//parser.nit:38837 */
103716 if (UNTAG_Bool(REGB0)) {
103717 } else {
103718 fprintf(stderr, "Assert failed");
103719 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38837);
103720 nit_exit(1);
103721 }
103722 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
103723 /* ./parser//parser.nit:38839 */
103724 if (UNTAG_Bool(REGB0)) {
103725 fra.me.REG[6] = fra.me.REG[4];
103726 /* ./parser//parser.nit:38840 */
103727 } else {
103728 /* ./parser//parser.nit:38842 */
103729 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
103730 }
103731 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/;
103732 /* ./parser//parser.nit:38846 */
103733 if (UNTAG_Bool(REGB0)) {
103734 } else {
103735 fprintf(stderr, "Assert failed");
103736 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38846);
103737 nit_exit(1);
103738 }
103739 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
103740 /* ./parser//parser.nit:38848 */
103741 if (UNTAG_Bool(REGB0)) {
103742 } else {
103743 fprintf(stderr, "Assert failed");
103744 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38848);
103745 nit_exit(1);
103746 }
103747 fra.me.REG[2] = NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___init_acallreassignexpr(fra.me.REG[7], fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]);
103748 fra.me.REG[0] = fra.me.REG[2];
103749 REGB0 = TAG_Int(95);
103750 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
103751 /* ./parser//parser.nit:38857 */
103752 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
103753 stack_frame_head = fra.me.prev;
103754 return;
103755 }
103756 void parser___ReduceAction1004___init(val_t p0, int* init_table){
103757 int itpos1008 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1004].i;
103758 struct {struct stack_frame_t me;} fra;
103759 val_t tmp;
103760 if (init_table[itpos1008]) return;
103761 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103762 fra.me.file = LOCATE_parser;
103763 fra.me.line = 38859;
103764 fra.me.meth = LOCATE_parser___ReduceAction1004___init;
103765 fra.me.has_broke = 0;
103766 fra.me.REG_size = 1;
103767 fra.me.REG[0] = NIT_NULL;
103768 fra.me.REG[0] = p0;
103769 /* ./parser//parser.nit:38859 */
103770 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
103771 stack_frame_head = fra.me.prev;
103772 init_table[itpos1008] = 1;
103773 return;
103774 }
103775 void parser___ReduceAction1005___action(val_t p0, val_t p1){
103776 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
103777 val_t REGB0;
103778 val_t tmp;
103779 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103780 fra.me.file = LOCATE_parser;
103781 fra.me.line = 38863;
103782 fra.me.meth = LOCATE_parser___ReduceAction1005___action;
103783 fra.me.has_broke = 0;
103784 fra.me.REG_size = 7;
103785 fra.me.REG[0] = NIT_NULL;
103786 fra.me.REG[1] = NIT_NULL;
103787 fra.me.REG[2] = NIT_NULL;
103788 fra.me.REG[3] = NIT_NULL;
103789 fra.me.REG[4] = NIT_NULL;
103790 fra.me.REG[5] = NIT_NULL;
103791 fra.me.REG[6] = NIT_NULL;
103792 fra.me.REG[0] = p0;
103793 fra.me.REG[1] = p1;
103794 fra.me.REG[0] = NIT_NULL;
103795 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103796 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103797 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103798 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103799 fra.me.REG[6] = NEW_Array_array___Array___init();
103800 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
103801 /* ./parser//parser.nit:38872 */
103802 if (UNTAG_Bool(REGB0)) {
103803 } else {
103804 fprintf(stderr, "Assert failed");
103805 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38872);
103806 nit_exit(1);
103807 }
103808 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
103809 /* ./parser//parser.nit:38874 */
103810 if (UNTAG_Bool(REGB0)) {
103811 } else {
103812 fprintf(stderr, "Assert failed");
103813 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38874);
103814 nit_exit(1);
103815 }
103816 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
103817 /* ./parser//parser.nit:38876 */
103818 if (UNTAG_Bool(REGB0)) {
103819 fra.me.REG[6] = fra.me.REG[4];
103820 /* ./parser//parser.nit:38877 */
103821 } else {
103822 /* ./parser//parser.nit:38879 */
103823 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
103824 }
103825 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/;
103826 /* ./parser//parser.nit:38883 */
103827 if (UNTAG_Bool(REGB0)) {
103828 } else {
103829 fprintf(stderr, "Assert failed");
103830 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38883);
103831 nit_exit(1);
103832 }
103833 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
103834 /* ./parser//parser.nit:38885 */
103835 if (UNTAG_Bool(REGB0)) {
103836 } else {
103837 fprintf(stderr, "Assert failed");
103838 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38885);
103839 nit_exit(1);
103840 }
103841 fra.me.REG[2] = NEW_ABraReassignExpr_parser_prod___ABraReassignExpr___init_abrareassignexpr(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]);
103842 fra.me.REG[0] = fra.me.REG[2];
103843 REGB0 = TAG_Int(95);
103844 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
103845 /* ./parser//parser.nit:38893 */
103846 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
103847 stack_frame_head = fra.me.prev;
103848 return;
103849 }
103850 void parser___ReduceAction1005___init(val_t p0, int* init_table){
103851 int itpos1009 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1005].i;
103852 struct {struct stack_frame_t me;} fra;
103853 val_t tmp;
103854 if (init_table[itpos1009]) return;
103855 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103856 fra.me.file = LOCATE_parser;
103857 fra.me.line = 38895;
103858 fra.me.meth = LOCATE_parser___ReduceAction1005___init;
103859 fra.me.has_broke = 0;
103860 fra.me.REG_size = 1;
103861 fra.me.REG[0] = NIT_NULL;
103862 fra.me.REG[0] = p0;
103863 /* ./parser//parser.nit:38895 */
103864 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
103865 stack_frame_head = fra.me.prev;
103866 init_table[itpos1009] = 1;
103867 return;
103868 }
103869 void parser___ReduceAction1006___action(val_t p0, val_t p1){
103870 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
103871 val_t REGB0;
103872 val_t REGB1;
103873 val_t tmp;
103874 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103875 fra.me.file = LOCATE_parser;
103876 fra.me.line = 38899;
103877 fra.me.meth = LOCATE_parser___ReduceAction1006___action;
103878 fra.me.has_broke = 0;
103879 fra.me.REG_size = 5;
103880 fra.me.REG[0] = NIT_NULL;
103881 fra.me.REG[1] = NIT_NULL;
103882 fra.me.REG[2] = NIT_NULL;
103883 fra.me.REG[3] = NIT_NULL;
103884 fra.me.REG[4] = NIT_NULL;
103885 fra.me.REG[0] = p0;
103886 fra.me.REG[1] = p1;
103887 fra.me.REG[0] = NIT_NULL;
103888 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103889 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103890 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103891 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103892 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103893 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
103894 /* ./parser//parser.nit:38908 */
103895 if (UNTAG_Bool(REGB0)) {
103896 } else {
103897 fprintf(stderr, "Assert failed");
103898 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38908);
103899 nit_exit(1);
103900 }
103901 fra.me.REG[4] = NEW_Array_array___Array___init();
103902 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
103903 /* ./parser//parser.nit:38911 */
103904 if (UNTAG_Bool(REGB0)) {
103905 } else {
103906 fprintf(stderr, "Assert failed");
103907 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38911);
103908 nit_exit(1);
103909 }
103910 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
103911 /* ./parser//parser.nit:38912 */
103912 if (UNTAG_Bool(REGB0)) {
103913 } else {
103914 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
103915 if (UNTAG_Bool(REGB1)) {
103916 REGB1 = TAG_Bool(false);
103917 REGB0 = REGB1;
103918 } else {
103919 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
103920 REGB0 = REGB1;
103921 }
103922 }
103923 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
103924 if (UNTAG_Bool(REGB0)) {
103925 /* ./parser//parser.nit:38913 */
103926 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
103927 }
103928 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
103929 fra.me.REG[4] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[3], fra.me.REG[4], NIT_NULL);
103930 fra.me.REG[0] = fra.me.REG[4];
103931 REGB0 = TAG_Int(96);
103932 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
103933 /* ./parser//parser.nit:38924 */
103934 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
103935 stack_frame_head = fra.me.prev;
103936 return;
103937 }
103938 void parser___ReduceAction1006___init(val_t p0, int* init_table){
103939 int itpos1010 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1006].i;
103940 struct {struct stack_frame_t me;} fra;
103941 val_t tmp;
103942 if (init_table[itpos1010]) return;
103943 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103944 fra.me.file = LOCATE_parser;
103945 fra.me.line = 38926;
103946 fra.me.meth = LOCATE_parser___ReduceAction1006___init;
103947 fra.me.has_broke = 0;
103948 fra.me.REG_size = 1;
103949 fra.me.REG[0] = NIT_NULL;
103950 fra.me.REG[0] = p0;
103951 /* ./parser//parser.nit:38926 */
103952 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
103953 stack_frame_head = fra.me.prev;
103954 init_table[itpos1010] = 1;
103955 return;
103956 }
103957 void parser___ReduceAction1007___action(val_t p0, val_t p1){
103958 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
103959 val_t REGB0;
103960 val_t REGB1;
103961 val_t tmp;
103962 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
103963 fra.me.file = LOCATE_parser;
103964 fra.me.line = 38930;
103965 fra.me.meth = LOCATE_parser___ReduceAction1007___action;
103966 fra.me.has_broke = 0;
103967 fra.me.REG_size = 6;
103968 fra.me.REG[0] = NIT_NULL;
103969 fra.me.REG[1] = NIT_NULL;
103970 fra.me.REG[2] = NIT_NULL;
103971 fra.me.REG[3] = NIT_NULL;
103972 fra.me.REG[4] = NIT_NULL;
103973 fra.me.REG[5] = NIT_NULL;
103974 fra.me.REG[0] = p0;
103975 fra.me.REG[1] = p1;
103976 fra.me.REG[0] = NIT_NULL;
103977 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103978 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103979 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103980 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103981 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103982 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
103983 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
103984 /* ./parser//parser.nit:38940 */
103985 if (UNTAG_Bool(REGB0)) {
103986 } else {
103987 fprintf(stderr, "Assert failed");
103988 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38940);
103989 nit_exit(1);
103990 }
103991 fra.me.REG[5] = NEW_Array_array___Array___init();
103992 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
103993 /* ./parser//parser.nit:38943 */
103994 if (UNTAG_Bool(REGB0)) {
103995 } else {
103996 fprintf(stderr, "Assert failed");
103997 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38943);
103998 nit_exit(1);
103999 }
104000 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
104001 /* ./parser//parser.nit:38945 */
104002 if (UNTAG_Bool(REGB0)) {
104003 } else {
104004 fprintf(stderr, "Assert failed");
104005 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38945);
104006 nit_exit(1);
104007 }
104008 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
104009 /* ./parser//parser.nit:38946 */
104010 if (UNTAG_Bool(REGB0)) {
104011 } else {
104012 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
104013 if (UNTAG_Bool(REGB1)) {
104014 REGB1 = TAG_Bool(false);
104015 REGB0 = REGB1;
104016 } else {
104017 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
104018 REGB0 = REGB1;
104019 }
104020 }
104021 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
104022 if (UNTAG_Bool(REGB0)) {
104023 /* ./parser//parser.nit:38947 */
104024 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
104025 }
104026 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
104027 /* ./parser//parser.nit:38950 */
104028 if (UNTAG_Bool(REGB0)) {
104029 fra.me.REG[5] = fra.me.REG[2];
104030 /* ./parser//parser.nit:38951 */
104031 } else {
104032 /* ./parser//parser.nit:38953 */
104033 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
104034 }
104035 fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
104036 fra.me.REG[5] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[4], fra.me.REG[5], NIT_NULL);
104037 fra.me.REG[0] = fra.me.REG[5];
104038 REGB0 = TAG_Int(96);
104039 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
104040 /* ./parser//parser.nit:38965 */
104041 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
104042 stack_frame_head = fra.me.prev;
104043 return;
104044 }
104045 void parser___ReduceAction1007___init(val_t p0, int* init_table){
104046 int itpos1011 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1007].i;
104047 struct {struct stack_frame_t me;} fra;
104048 val_t tmp;
104049 if (init_table[itpos1011]) return;
104050 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104051 fra.me.file = LOCATE_parser;
104052 fra.me.line = 38967;
104053 fra.me.meth = LOCATE_parser___ReduceAction1007___init;
104054 fra.me.has_broke = 0;
104055 fra.me.REG_size = 1;
104056 fra.me.REG[0] = NIT_NULL;
104057 fra.me.REG[0] = p0;
104058 /* ./parser//parser.nit:38967 */
104059 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
104060 stack_frame_head = fra.me.prev;
104061 init_table[itpos1011] = 1;
104062 return;
104063 }
104064 void parser___ReduceAction1008___action(val_t p0, val_t p1){
104065 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
104066 val_t REGB0;
104067 val_t tmp;
104068 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104069 fra.me.file = LOCATE_parser;
104070 fra.me.line = 38971;
104071 fra.me.meth = LOCATE_parser___ReduceAction1008___action;
104072 fra.me.has_broke = 0;
104073 fra.me.REG_size = 4;
104074 fra.me.REG[0] = NIT_NULL;
104075 fra.me.REG[1] = NIT_NULL;
104076 fra.me.REG[2] = NIT_NULL;
104077 fra.me.REG[3] = NIT_NULL;
104078 fra.me.REG[0] = p0;
104079 fra.me.REG[1] = p1;
104080 fra.me.REG[0] = NIT_NULL;
104081 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104082 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104083 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104084 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
104085 /* ./parser//parser.nit:38978 */
104086 if (UNTAG_Bool(REGB0)) {
104087 } else {
104088 fprintf(stderr, "Assert failed");
104089 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38978);
104090 nit_exit(1);
104091 }
104092 fra.me.REG[3] = NEW_Array_array___Array___init();
104093 fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]);
104094 fra.me.REG[3] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[2], fra.me.REG[3], NIT_NULL);
104095 fra.me.REG[0] = fra.me.REG[3];
104096 REGB0 = TAG_Int(96);
104097 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
104098 /* ./parser//parser.nit:38989 */
104099 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
104100 stack_frame_head = fra.me.prev;
104101 return;
104102 }
104103 void parser___ReduceAction1008___init(val_t p0, int* init_table){
104104 int itpos1012 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1008].i;
104105 struct {struct stack_frame_t me;} fra;
104106 val_t tmp;
104107 if (init_table[itpos1012]) return;
104108 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104109 fra.me.file = LOCATE_parser;
104110 fra.me.line = 38991;
104111 fra.me.meth = LOCATE_parser___ReduceAction1008___init;
104112 fra.me.has_broke = 0;
104113 fra.me.REG_size = 1;
104114 fra.me.REG[0] = NIT_NULL;
104115 fra.me.REG[0] = p0;
104116 /* ./parser//parser.nit:38991 */
104117 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
104118 stack_frame_head = fra.me.prev;
104119 init_table[itpos1012] = 1;
104120 return;
104121 }
104122 void parser___ReduceAction1009___action(val_t p0, val_t p1){
104123 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
104124 val_t REGB0;
104125 val_t tmp;
104126 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104127 fra.me.file = LOCATE_parser;
104128 fra.me.line = 38995;
104129 fra.me.meth = LOCATE_parser___ReduceAction1009___action;
104130 fra.me.has_broke = 0;
104131 fra.me.REG_size = 4;
104132 fra.me.REG[0] = NIT_NULL;
104133 fra.me.REG[1] = NIT_NULL;
104134 fra.me.REG[2] = NIT_NULL;
104135 fra.me.REG[3] = NIT_NULL;
104136 fra.me.REG[0] = p0;
104137 fra.me.REG[1] = p1;
104138 fra.me.REG[0] = NIT_NULL;
104139 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104140 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104141 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
104142 /* ./parser//parser.nit:39001 */
104143 if (UNTAG_Bool(REGB0)) {
104144 } else {
104145 fprintf(stderr, "Assert failed");
104146 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39001);
104147 nit_exit(1);
104148 }
104149 fra.me.REG[3] = NEW_Array_array___Array___init();
104150 fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]);
104151 fra.me.REG[3] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[2], fra.me.REG[3], NIT_NULL);
104152 fra.me.REG[0] = fra.me.REG[3];
104153 REGB0 = TAG_Int(96);
104154 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
104155 /* ./parser//parser.nit:39012 */
104156 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
104157 stack_frame_head = fra.me.prev;
104158 return;
104159 }
104160 void parser___ReduceAction1009___init(val_t p0, int* init_table){
104161 int itpos1013 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1009].i;
104162 struct {struct stack_frame_t me;} fra;
104163 val_t tmp;
104164 if (init_table[itpos1013]) return;
104165 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104166 fra.me.file = LOCATE_parser;
104167 fra.me.line = 39014;
104168 fra.me.meth = LOCATE_parser___ReduceAction1009___init;
104169 fra.me.has_broke = 0;
104170 fra.me.REG_size = 1;
104171 fra.me.REG[0] = NIT_NULL;
104172 fra.me.REG[0] = p0;
104173 /* ./parser//parser.nit:39014 */
104174 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
104175 stack_frame_head = fra.me.prev;
104176 init_table[itpos1013] = 1;
104177 return;
104178 }
104179 void parser___ReduceAction1010___action(val_t p0, val_t p1){
104180 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
104181 val_t REGB0;
104182 val_t REGB1;
104183 val_t tmp;
104184 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104185 fra.me.file = LOCATE_parser;
104186 fra.me.line = 39018;
104187 fra.me.meth = LOCATE_parser___ReduceAction1010___action;
104188 fra.me.has_broke = 0;
104189 fra.me.REG_size = 6;
104190 fra.me.REG[0] = NIT_NULL;
104191 fra.me.REG[1] = NIT_NULL;
104192 fra.me.REG[2] = NIT_NULL;
104193 fra.me.REG[3] = NIT_NULL;
104194 fra.me.REG[4] = NIT_NULL;
104195 fra.me.REG[5] = NIT_NULL;
104196 fra.me.REG[0] = p0;
104197 fra.me.REG[1] = p1;
104198 fra.me.REG[0] = NIT_NULL;
104199 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104200 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104201 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104202 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104203 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104204 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104205 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
104206 /* ./parser//parser.nit:39028 */
104207 if (UNTAG_Bool(REGB0)) {
104208 } else {
104209 fprintf(stderr, "Assert failed");
104210 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39028);
104211 nit_exit(1);
104212 }
104213 fra.me.REG[5] = NEW_Array_array___Array___init();
104214 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
104215 /* ./parser//parser.nit:39031 */
104216 if (UNTAG_Bool(REGB0)) {
104217 } else {
104218 fprintf(stderr, "Assert failed");
104219 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39031);
104220 nit_exit(1);
104221 }
104222 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
104223 /* ./parser//parser.nit:39032 */
104224 if (UNTAG_Bool(REGB0)) {
104225 } else {
104226 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
104227 if (UNTAG_Bool(REGB1)) {
104228 REGB1 = TAG_Bool(false);
104229 REGB0 = REGB1;
104230 } else {
104231 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
104232 REGB0 = REGB1;
104233 }
104234 }
104235 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
104236 if (UNTAG_Bool(REGB0)) {
104237 /* ./parser//parser.nit:39033 */
104238 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
104239 }
104240 fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
104241 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
104242 /* ./parser//parser.nit:39039 */
104243 if (UNTAG_Bool(REGB0)) {
104244 } else {
104245 fprintf(stderr, "Assert failed");
104246 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39039);
104247 nit_exit(1);
104248 }
104249 fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[2]);
104250 fra.me.REG[0] = fra.me.REG[2];
104251 REGB0 = TAG_Int(96);
104252 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
104253 /* ./parser//parser.nit:39046 */
104254 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
104255 stack_frame_head = fra.me.prev;
104256 return;
104257 }
104258 void parser___ReduceAction1010___init(val_t p0, int* init_table){
104259 int itpos1014 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1010].i;
104260 struct {struct stack_frame_t me;} fra;
104261 val_t tmp;
104262 if (init_table[itpos1014]) return;
104263 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104264 fra.me.file = LOCATE_parser;
104265 fra.me.line = 39048;
104266 fra.me.meth = LOCATE_parser___ReduceAction1010___init;
104267 fra.me.has_broke = 0;
104268 fra.me.REG_size = 1;
104269 fra.me.REG[0] = NIT_NULL;
104270 fra.me.REG[0] = p0;
104271 /* ./parser//parser.nit:39048 */
104272 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
104273 stack_frame_head = fra.me.prev;
104274 init_table[itpos1014] = 1;
104275 return;
104276 }
104277 void parser___ReduceAction1011___action(val_t p0, val_t p1){
104278 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
104279 val_t REGB0;
104280 val_t REGB1;
104281 val_t tmp;
104282 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104283 fra.me.file = LOCATE_parser;
104284 fra.me.line = 39052;
104285 fra.me.meth = LOCATE_parser___ReduceAction1011___action;
104286 fra.me.has_broke = 0;
104287 fra.me.REG_size = 7;
104288 fra.me.REG[0] = NIT_NULL;
104289 fra.me.REG[1] = NIT_NULL;
104290 fra.me.REG[2] = NIT_NULL;
104291 fra.me.REG[3] = NIT_NULL;
104292 fra.me.REG[4] = NIT_NULL;
104293 fra.me.REG[5] = NIT_NULL;
104294 fra.me.REG[6] = NIT_NULL;
104295 fra.me.REG[0] = p0;
104296 fra.me.REG[1] = p1;
104297 fra.me.REG[0] = NIT_NULL;
104298 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104299 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104300 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104301 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104302 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104303 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104304 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104305 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
104306 /* ./parser//parser.nit:39063 */
104307 if (UNTAG_Bool(REGB0)) {
104308 } else {
104309 fprintf(stderr, "Assert failed");
104310 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39063);
104311 nit_exit(1);
104312 }
104313 fra.me.REG[6] = NEW_Array_array___Array___init();
104314 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
104315 /* ./parser//parser.nit:39066 */
104316 if (UNTAG_Bool(REGB0)) {
104317 } else {
104318 fprintf(stderr, "Assert failed");
104319 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39066);
104320 nit_exit(1);
104321 }
104322 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
104323 /* ./parser//parser.nit:39068 */
104324 if (UNTAG_Bool(REGB0)) {
104325 } else {
104326 fprintf(stderr, "Assert failed");
104327 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39068);
104328 nit_exit(1);
104329 }
104330 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
104331 /* ./parser//parser.nit:39069 */
104332 if (UNTAG_Bool(REGB0)) {
104333 } else {
104334 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
104335 if (UNTAG_Bool(REGB1)) {
104336 REGB1 = TAG_Bool(false);
104337 REGB0 = REGB1;
104338 } else {
104339 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
104340 REGB0 = REGB1;
104341 }
104342 }
104343 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
104344 if (UNTAG_Bool(REGB0)) {
104345 /* ./parser//parser.nit:39070 */
104346 array___Array___add(fra.me.REG[6], fra.me.REG[4]);
104347 }
104348 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
104349 /* ./parser//parser.nit:39073 */
104350 if (UNTAG_Bool(REGB0)) {
104351 fra.me.REG[6] = fra.me.REG[3];
104352 /* ./parser//parser.nit:39074 */
104353 } else {
104354 /* ./parser//parser.nit:39076 */
104355 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
104356 }
104357 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
104358 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
104359 /* ./parser//parser.nit:39083 */
104360 if (UNTAG_Bool(REGB0)) {
104361 } else {
104362 fprintf(stderr, "Assert failed");
104363 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39083);
104364 nit_exit(1);
104365 }
104366 fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[5], fra.me.REG[6], fra.me.REG[2]);
104367 fra.me.REG[0] = fra.me.REG[2];
104368 REGB0 = TAG_Int(96);
104369 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
104370 /* ./parser//parser.nit:39090 */
104371 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
104372 stack_frame_head = fra.me.prev;
104373 return;
104374 }
104375 void parser___ReduceAction1011___init(val_t p0, int* init_table){
104376 int itpos1015 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1011].i;
104377 struct {struct stack_frame_t me;} fra;
104378 val_t tmp;
104379 if (init_table[itpos1015]) return;
104380 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104381 fra.me.file = LOCATE_parser;
104382 fra.me.line = 39092;
104383 fra.me.meth = LOCATE_parser___ReduceAction1011___init;
104384 fra.me.has_broke = 0;
104385 fra.me.REG_size = 1;
104386 fra.me.REG[0] = NIT_NULL;
104387 fra.me.REG[0] = p0;
104388 /* ./parser//parser.nit:39092 */
104389 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
104390 stack_frame_head = fra.me.prev;
104391 init_table[itpos1015] = 1;
104392 return;
104393 }
104394 void parser___ReduceAction1012___action(val_t p0, val_t p1){
104395 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
104396 val_t REGB0;
104397 val_t tmp;
104398 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104399 fra.me.file = LOCATE_parser;
104400 fra.me.line = 39096;
104401 fra.me.meth = LOCATE_parser___ReduceAction1012___action;
104402 fra.me.has_broke = 0;
104403 fra.me.REG_size = 5;
104404 fra.me.REG[0] = NIT_NULL;
104405 fra.me.REG[1] = NIT_NULL;
104406 fra.me.REG[2] = NIT_NULL;
104407 fra.me.REG[3] = NIT_NULL;
104408 fra.me.REG[4] = NIT_NULL;
104409 fra.me.REG[0] = p0;
104410 fra.me.REG[1] = p1;
104411 fra.me.REG[0] = NIT_NULL;
104412 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104413 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104414 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104415 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104416 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
104417 /* ./parser//parser.nit:39104 */
104418 if (UNTAG_Bool(REGB0)) {
104419 } else {
104420 fprintf(stderr, "Assert failed");
104421 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39104);
104422 nit_exit(1);
104423 }
104424 fra.me.REG[4] = NEW_Array_array___Array___init();
104425 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
104426 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
104427 /* ./parser//parser.nit:39110 */
104428 if (UNTAG_Bool(REGB0)) {
104429 } else {
104430 fprintf(stderr, "Assert failed");
104431 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39110);
104432 nit_exit(1);
104433 }
104434 fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]);
104435 fra.me.REG[0] = fra.me.REG[2];
104436 REGB0 = TAG_Int(96);
104437 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
104438 /* ./parser//parser.nit:39117 */
104439 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
104440 stack_frame_head = fra.me.prev;
104441 return;
104442 }
104443 void parser___ReduceAction1012___init(val_t p0, int* init_table){
104444 int itpos1016 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1012].i;
104445 struct {struct stack_frame_t me;} fra;
104446 val_t tmp;
104447 if (init_table[itpos1016]) return;
104448 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104449 fra.me.file = LOCATE_parser;
104450 fra.me.line = 39119;
104451 fra.me.meth = LOCATE_parser___ReduceAction1012___init;
104452 fra.me.has_broke = 0;
104453 fra.me.REG_size = 1;
104454 fra.me.REG[0] = NIT_NULL;
104455 fra.me.REG[0] = p0;
104456 /* ./parser//parser.nit:39119 */
104457 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
104458 stack_frame_head = fra.me.prev;
104459 init_table[itpos1016] = 1;
104460 return;
104461 }
104462 void parser___ReduceAction1013___action(val_t p0, val_t p1){
104463 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
104464 val_t REGB0;
104465 val_t tmp;
104466 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104467 fra.me.file = LOCATE_parser;
104468 fra.me.line = 39123;
104469 fra.me.meth = LOCATE_parser___ReduceAction1013___action;
104470 fra.me.has_broke = 0;
104471 fra.me.REG_size = 5;
104472 fra.me.REG[0] = NIT_NULL;
104473 fra.me.REG[1] = NIT_NULL;
104474 fra.me.REG[2] = NIT_NULL;
104475 fra.me.REG[3] = NIT_NULL;
104476 fra.me.REG[4] = NIT_NULL;
104477 fra.me.REG[0] = p0;
104478 fra.me.REG[1] = p1;
104479 fra.me.REG[0] = NIT_NULL;
104480 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104481 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104482 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104483 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
104484 /* ./parser//parser.nit:39130 */
104485 if (UNTAG_Bool(REGB0)) {
104486 } else {
104487 fprintf(stderr, "Assert failed");
104488 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39130);
104489 nit_exit(1);
104490 }
104491 fra.me.REG[4] = NEW_Array_array___Array___init();
104492 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
104493 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
104494 /* ./parser//parser.nit:39136 */
104495 if (UNTAG_Bool(REGB0)) {
104496 } else {
104497 fprintf(stderr, "Assert failed");
104498 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39136);
104499 nit_exit(1);
104500 }
104501 fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]);
104502 fra.me.REG[0] = fra.me.REG[2];
104503 REGB0 = TAG_Int(96);
104504 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
104505 /* ./parser//parser.nit:39143 */
104506 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
104507 stack_frame_head = fra.me.prev;
104508 return;
104509 }
104510 void parser___ReduceAction1013___init(val_t p0, int* init_table){
104511 int itpos1017 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1013].i;
104512 struct {struct stack_frame_t me;} fra;
104513 val_t tmp;
104514 if (init_table[itpos1017]) return;
104515 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104516 fra.me.file = LOCATE_parser;
104517 fra.me.line = 39145;
104518 fra.me.meth = LOCATE_parser___ReduceAction1013___init;
104519 fra.me.has_broke = 0;
104520 fra.me.REG_size = 1;
104521 fra.me.REG[0] = NIT_NULL;
104522 fra.me.REG[0] = p0;
104523 /* ./parser//parser.nit:39145 */
104524 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
104525 stack_frame_head = fra.me.prev;
104526 init_table[itpos1017] = 1;
104527 return;
104528 }
104529 void parser___ReduceAction1014___action(val_t p0, val_t p1){
104530 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
104531 val_t REGB0;
104532 val_t tmp;
104533 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104534 fra.me.file = LOCATE_parser;
104535 fra.me.line = 39149;
104536 fra.me.meth = LOCATE_parser___ReduceAction1014___action;
104537 fra.me.has_broke = 0;
104538 fra.me.REG_size = 4;
104539 fra.me.REG[0] = NIT_NULL;
104540 fra.me.REG[1] = NIT_NULL;
104541 fra.me.REG[2] = NIT_NULL;
104542 fra.me.REG[3] = NIT_NULL;
104543 fra.me.REG[0] = p0;
104544 fra.me.REG[1] = p1;
104545 fra.me.REG[0] = NIT_NULL;
104546 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104547 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104548 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
104549 /* ./parser//parser.nit:39155 */
104550 if (UNTAG_Bool(REGB0)) {
104551 } else {
104552 fprintf(stderr, "Assert failed");
104553 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39155);
104554 nit_exit(1);
104555 }
104556 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
104557 /* ./parser//parser.nit:39157 */
104558 if (UNTAG_Bool(REGB0)) {
104559 } else {
104560 fprintf(stderr, "Assert failed");
104561 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39157);
104562 nit_exit(1);
104563 }
104564 fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL);
104565 fra.me.REG[0] = fra.me.REG[2];
104566 REGB0 = TAG_Int(96);
104567 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
104568 /* ./parser//parser.nit:39164 */
104569 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
104570 stack_frame_head = fra.me.prev;
104571 return;
104572 }
104573 void parser___ReduceAction1014___init(val_t p0, int* init_table){
104574 int itpos1018 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1014].i;
104575 struct {struct stack_frame_t me;} fra;
104576 val_t tmp;
104577 if (init_table[itpos1018]) return;
104578 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104579 fra.me.file = LOCATE_parser;
104580 fra.me.line = 39166;
104581 fra.me.meth = LOCATE_parser___ReduceAction1014___init;
104582 fra.me.has_broke = 0;
104583 fra.me.REG_size = 1;
104584 fra.me.REG[0] = NIT_NULL;
104585 fra.me.REG[0] = p0;
104586 /* ./parser//parser.nit:39166 */
104587 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
104588 stack_frame_head = fra.me.prev;
104589 init_table[itpos1018] = 1;
104590 return;
104591 }
104592 void parser___ReduceAction1015___action(val_t p0, val_t p1){
104593 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
104594 val_t REGB0;
104595 val_t tmp;
104596 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104597 fra.me.file = LOCATE_parser;
104598 fra.me.line = 39170;
104599 fra.me.meth = LOCATE_parser___ReduceAction1015___action;
104600 fra.me.has_broke = 0;
104601 fra.me.REG_size = 6;
104602 fra.me.REG[0] = NIT_NULL;
104603 fra.me.REG[1] = NIT_NULL;
104604 fra.me.REG[2] = NIT_NULL;
104605 fra.me.REG[3] = NIT_NULL;
104606 fra.me.REG[4] = NIT_NULL;
104607 fra.me.REG[5] = NIT_NULL;
104608 fra.me.REG[0] = p0;
104609 fra.me.REG[1] = p1;
104610 fra.me.REG[0] = NIT_NULL;
104611 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104612 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104613 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104614 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104615 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104616 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104617 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104618 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104619 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/;
104620 /* ./parser//parser.nit:39182 */
104621 if (UNTAG_Bool(REGB0)) {
104622 } else {
104623 fprintf(stderr, "Assert failed");
104624 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39182);
104625 nit_exit(1);
104626 }
104627 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
104628 /* ./parser//parser.nit:39184 */
104629 if (UNTAG_Bool(REGB0)) {
104630 } else {
104631 fprintf(stderr, "Assert failed");
104632 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39184);
104633 nit_exit(1);
104634 }
104635 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
104636 /* ./parser//parser.nit:39186 */
104637 if (UNTAG_Bool(REGB0)) {
104638 } else {
104639 fprintf(stderr, "Assert failed");
104640 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39186);
104641 nit_exit(1);
104642 }
104643 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
104644 /* ./parser//parser.nit:39188 */
104645 if (UNTAG_Bool(REGB0)) {
104646 } else {
104647 fprintf(stderr, "Assert failed");
104648 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39188);
104649 nit_exit(1);
104650 }
104651 fra.me.REG[2] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
104652 fra.me.REG[0] = fra.me.REG[2];
104653 REGB0 = TAG_Int(97);
104654 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
104655 /* ./parser//parser.nit:39196 */
104656 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
104657 stack_frame_head = fra.me.prev;
104658 return;
104659 }
104660 void parser___ReduceAction1015___init(val_t p0, int* init_table){
104661 int itpos1019 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1015].i;
104662 struct {struct stack_frame_t me;} fra;
104663 val_t tmp;
104664 if (init_table[itpos1019]) return;
104665 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104666 fra.me.file = LOCATE_parser;
104667 fra.me.line = 39198;
104668 fra.me.meth = LOCATE_parser___ReduceAction1015___init;
104669 fra.me.has_broke = 0;
104670 fra.me.REG_size = 1;
104671 fra.me.REG[0] = NIT_NULL;
104672 fra.me.REG[0] = p0;
104673 /* ./parser//parser.nit:39198 */
104674 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
104675 stack_frame_head = fra.me.prev;
104676 init_table[itpos1019] = 1;
104677 return;
104678 }
104679 void parser___ReduceAction1016___action(val_t p0, val_t p1){
104680 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
104681 val_t REGB0;
104682 val_t REGB1;
104683 val_t tmp;
104684 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104685 fra.me.file = LOCATE_parser;
104686 fra.me.line = 39202;
104687 fra.me.meth = LOCATE_parser___ReduceAction1016___action;
104688 fra.me.has_broke = 0;
104689 fra.me.REG_size = 5;
104690 fra.me.REG[0] = NIT_NULL;
104691 fra.me.REG[1] = NIT_NULL;
104692 fra.me.REG[2] = NIT_NULL;
104693 fra.me.REG[3] = NIT_NULL;
104694 fra.me.REG[4] = NIT_NULL;
104695 fra.me.REG[0] = p0;
104696 fra.me.REG[1] = p1;
104697 fra.me.REG[0] = NIT_NULL;
104698 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104699 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104700 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104701 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104702 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104703 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
104704 /* ./parser//parser.nit:39211 */
104705 if (UNTAG_Bool(REGB0)) {
104706 } else {
104707 fprintf(stderr, "Assert failed");
104708 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39211);
104709 nit_exit(1);
104710 }
104711 fra.me.REG[4] = NEW_Array_array___Array___init();
104712 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
104713 /* ./parser//parser.nit:39214 */
104714 if (UNTAG_Bool(REGB0)) {
104715 } else {
104716 fprintf(stderr, "Assert failed");
104717 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39214);
104718 nit_exit(1);
104719 }
104720 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
104721 /* ./parser//parser.nit:39215 */
104722 if (UNTAG_Bool(REGB0)) {
104723 } else {
104724 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
104725 if (UNTAG_Bool(REGB1)) {
104726 REGB1 = TAG_Bool(false);
104727 REGB0 = REGB1;
104728 } else {
104729 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
104730 REGB0 = REGB1;
104731 }
104732 }
104733 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
104734 if (UNTAG_Bool(REGB0)) {
104735 /* ./parser//parser.nit:39216 */
104736 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
104737 }
104738 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
104739 fra.me.REG[4] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[3], fra.me.REG[4], NIT_NULL);
104740 fra.me.REG[0] = fra.me.REG[4];
104741 REGB0 = TAG_Int(98);
104742 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
104743 /* ./parser//parser.nit:39227 */
104744 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
104745 stack_frame_head = fra.me.prev;
104746 return;
104747 }
104748 void parser___ReduceAction1016___init(val_t p0, int* init_table){
104749 int itpos1020 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1016].i;
104750 struct {struct stack_frame_t me;} fra;
104751 val_t tmp;
104752 if (init_table[itpos1020]) return;
104753 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104754 fra.me.file = LOCATE_parser;
104755 fra.me.line = 39229;
104756 fra.me.meth = LOCATE_parser___ReduceAction1016___init;
104757 fra.me.has_broke = 0;
104758 fra.me.REG_size = 1;
104759 fra.me.REG[0] = NIT_NULL;
104760 fra.me.REG[0] = p0;
104761 /* ./parser//parser.nit:39229 */
104762 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
104763 stack_frame_head = fra.me.prev;
104764 init_table[itpos1020] = 1;
104765 return;
104766 }
104767 void parser___ReduceAction1017___action(val_t p0, val_t p1){
104768 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
104769 val_t REGB0;
104770 val_t REGB1;
104771 val_t tmp;
104772 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104773 fra.me.file = LOCATE_parser;
104774 fra.me.line = 39233;
104775 fra.me.meth = LOCATE_parser___ReduceAction1017___action;
104776 fra.me.has_broke = 0;
104777 fra.me.REG_size = 6;
104778 fra.me.REG[0] = NIT_NULL;
104779 fra.me.REG[1] = NIT_NULL;
104780 fra.me.REG[2] = NIT_NULL;
104781 fra.me.REG[3] = NIT_NULL;
104782 fra.me.REG[4] = NIT_NULL;
104783 fra.me.REG[5] = NIT_NULL;
104784 fra.me.REG[0] = p0;
104785 fra.me.REG[1] = p1;
104786 fra.me.REG[0] = NIT_NULL;
104787 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104788 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104789 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104790 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104791 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104792 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104793 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
104794 /* ./parser//parser.nit:39243 */
104795 if (UNTAG_Bool(REGB0)) {
104796 } else {
104797 fprintf(stderr, "Assert failed");
104798 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39243);
104799 nit_exit(1);
104800 }
104801 fra.me.REG[5] = NEW_Array_array___Array___init();
104802 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
104803 /* ./parser//parser.nit:39246 */
104804 if (UNTAG_Bool(REGB0)) {
104805 } else {
104806 fprintf(stderr, "Assert failed");
104807 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39246);
104808 nit_exit(1);
104809 }
104810 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
104811 /* ./parser//parser.nit:39248 */
104812 if (UNTAG_Bool(REGB0)) {
104813 } else {
104814 fprintf(stderr, "Assert failed");
104815 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39248);
104816 nit_exit(1);
104817 }
104818 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
104819 /* ./parser//parser.nit:39249 */
104820 if (UNTAG_Bool(REGB0)) {
104821 } else {
104822 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
104823 if (UNTAG_Bool(REGB1)) {
104824 REGB1 = TAG_Bool(false);
104825 REGB0 = REGB1;
104826 } else {
104827 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
104828 REGB0 = REGB1;
104829 }
104830 }
104831 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
104832 if (UNTAG_Bool(REGB0)) {
104833 /* ./parser//parser.nit:39250 */
104834 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
104835 }
104836 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
104837 /* ./parser//parser.nit:39253 */
104838 if (UNTAG_Bool(REGB0)) {
104839 fra.me.REG[5] = fra.me.REG[2];
104840 /* ./parser//parser.nit:39254 */
104841 } else {
104842 /* ./parser//parser.nit:39256 */
104843 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
104844 }
104845 fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
104846 fra.me.REG[5] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[4], fra.me.REG[5], NIT_NULL);
104847 fra.me.REG[0] = fra.me.REG[5];
104848 REGB0 = TAG_Int(98);
104849 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
104850 /* ./parser//parser.nit:39268 */
104851 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
104852 stack_frame_head = fra.me.prev;
104853 return;
104854 }
104855 void parser___ReduceAction1017___init(val_t p0, int* init_table){
104856 int itpos1021 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1017].i;
104857 struct {struct stack_frame_t me;} fra;
104858 val_t tmp;
104859 if (init_table[itpos1021]) return;
104860 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104861 fra.me.file = LOCATE_parser;
104862 fra.me.line = 39270;
104863 fra.me.meth = LOCATE_parser___ReduceAction1017___init;
104864 fra.me.has_broke = 0;
104865 fra.me.REG_size = 1;
104866 fra.me.REG[0] = NIT_NULL;
104867 fra.me.REG[0] = p0;
104868 /* ./parser//parser.nit:39270 */
104869 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
104870 stack_frame_head = fra.me.prev;
104871 init_table[itpos1021] = 1;
104872 return;
104873 }
104874 void parser___ReduceAction1018___action(val_t p0, val_t p1){
104875 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
104876 val_t REGB0;
104877 val_t tmp;
104878 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104879 fra.me.file = LOCATE_parser;
104880 fra.me.line = 39274;
104881 fra.me.meth = LOCATE_parser___ReduceAction1018___action;
104882 fra.me.has_broke = 0;
104883 fra.me.REG_size = 4;
104884 fra.me.REG[0] = NIT_NULL;
104885 fra.me.REG[1] = NIT_NULL;
104886 fra.me.REG[2] = NIT_NULL;
104887 fra.me.REG[3] = NIT_NULL;
104888 fra.me.REG[0] = p0;
104889 fra.me.REG[1] = p1;
104890 fra.me.REG[0] = NIT_NULL;
104891 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104892 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104893 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104894 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
104895 /* ./parser//parser.nit:39281 */
104896 if (UNTAG_Bool(REGB0)) {
104897 } else {
104898 fprintf(stderr, "Assert failed");
104899 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39281);
104900 nit_exit(1);
104901 }
104902 fra.me.REG[3] = NEW_Array_array___Array___init();
104903 fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]);
104904 fra.me.REG[3] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[2], fra.me.REG[3], NIT_NULL);
104905 fra.me.REG[0] = fra.me.REG[3];
104906 REGB0 = TAG_Int(98);
104907 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
104908 /* ./parser//parser.nit:39292 */
104909 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
104910 stack_frame_head = fra.me.prev;
104911 return;
104912 }
104913 void parser___ReduceAction1018___init(val_t p0, int* init_table){
104914 int itpos1022 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1018].i;
104915 struct {struct stack_frame_t me;} fra;
104916 val_t tmp;
104917 if (init_table[itpos1022]) return;
104918 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104919 fra.me.file = LOCATE_parser;
104920 fra.me.line = 39294;
104921 fra.me.meth = LOCATE_parser___ReduceAction1018___init;
104922 fra.me.has_broke = 0;
104923 fra.me.REG_size = 1;
104924 fra.me.REG[0] = NIT_NULL;
104925 fra.me.REG[0] = p0;
104926 /* ./parser//parser.nit:39294 */
104927 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
104928 stack_frame_head = fra.me.prev;
104929 init_table[itpos1022] = 1;
104930 return;
104931 }
104932 void parser___ReduceAction1019___action(val_t p0, val_t p1){
104933 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
104934 val_t REGB0;
104935 val_t tmp;
104936 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104937 fra.me.file = LOCATE_parser;
104938 fra.me.line = 39298;
104939 fra.me.meth = LOCATE_parser___ReduceAction1019___action;
104940 fra.me.has_broke = 0;
104941 fra.me.REG_size = 4;
104942 fra.me.REG[0] = NIT_NULL;
104943 fra.me.REG[1] = NIT_NULL;
104944 fra.me.REG[2] = NIT_NULL;
104945 fra.me.REG[3] = NIT_NULL;
104946 fra.me.REG[0] = p0;
104947 fra.me.REG[1] = p1;
104948 fra.me.REG[0] = NIT_NULL;
104949 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104950 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
104951 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
104952 /* ./parser//parser.nit:39304 */
104953 if (UNTAG_Bool(REGB0)) {
104954 } else {
104955 fprintf(stderr, "Assert failed");
104956 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39304);
104957 nit_exit(1);
104958 }
104959 fra.me.REG[3] = NEW_Array_array___Array___init();
104960 fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]);
104961 fra.me.REG[3] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[2], fra.me.REG[3], NIT_NULL);
104962 fra.me.REG[0] = fra.me.REG[3];
104963 REGB0 = TAG_Int(98);
104964 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
104965 /* ./parser//parser.nit:39315 */
104966 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
104967 stack_frame_head = fra.me.prev;
104968 return;
104969 }
104970 void parser___ReduceAction1019___init(val_t p0, int* init_table){
104971 int itpos1023 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1019].i;
104972 struct {struct stack_frame_t me;} fra;
104973 val_t tmp;
104974 if (init_table[itpos1023]) return;
104975 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104976 fra.me.file = LOCATE_parser;
104977 fra.me.line = 39317;
104978 fra.me.meth = LOCATE_parser___ReduceAction1019___init;
104979 fra.me.has_broke = 0;
104980 fra.me.REG_size = 1;
104981 fra.me.REG[0] = NIT_NULL;
104982 fra.me.REG[0] = p0;
104983 /* ./parser//parser.nit:39317 */
104984 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
104985 stack_frame_head = fra.me.prev;
104986 init_table[itpos1023] = 1;
104987 return;
104988 }
104989 void parser___ReduceAction1020___action(val_t p0, val_t p1){
104990 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
104991 val_t REGB0;
104992 val_t REGB1;
104993 val_t tmp;
104994 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104995 fra.me.file = LOCATE_parser;
104996 fra.me.line = 39321;
104997 fra.me.meth = LOCATE_parser___ReduceAction1020___action;
104998 fra.me.has_broke = 0;
104999 fra.me.REG_size = 6;
105000 fra.me.REG[0] = NIT_NULL;
105001 fra.me.REG[1] = NIT_NULL;
105002 fra.me.REG[2] = NIT_NULL;
105003 fra.me.REG[3] = NIT_NULL;
105004 fra.me.REG[4] = NIT_NULL;
105005 fra.me.REG[5] = NIT_NULL;
105006 fra.me.REG[0] = p0;
105007 fra.me.REG[1] = p1;
105008 fra.me.REG[0] = NIT_NULL;
105009 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105010 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105011 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105012 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105013 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105014 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105015 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
105016 /* ./parser//parser.nit:39331 */
105017 if (UNTAG_Bool(REGB0)) {
105018 } else {
105019 fprintf(stderr, "Assert failed");
105020 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39331);
105021 nit_exit(1);
105022 }
105023 fra.me.REG[5] = NEW_Array_array___Array___init();
105024 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
105025 /* ./parser//parser.nit:39334 */
105026 if (UNTAG_Bool(REGB0)) {
105027 } else {
105028 fprintf(stderr, "Assert failed");
105029 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39334);
105030 nit_exit(1);
105031 }
105032 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
105033 /* ./parser//parser.nit:39335 */
105034 if (UNTAG_Bool(REGB0)) {
105035 } else {
105036 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
105037 if (UNTAG_Bool(REGB1)) {
105038 REGB1 = TAG_Bool(false);
105039 REGB0 = REGB1;
105040 } else {
105041 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
105042 REGB0 = REGB1;
105043 }
105044 }
105045 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
105046 if (UNTAG_Bool(REGB0)) {
105047 /* ./parser//parser.nit:39336 */
105048 array___Array___add(fra.me.REG[5], fra.me.REG[3]);
105049 }
105050 fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
105051 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
105052 /* ./parser//parser.nit:39342 */
105053 if (UNTAG_Bool(REGB0)) {
105054 } else {
105055 fprintf(stderr, "Assert failed");
105056 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39342);
105057 nit_exit(1);
105058 }
105059 fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[2]);
105060 fra.me.REG[0] = fra.me.REG[2];
105061 REGB0 = TAG_Int(98);
105062 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
105063 /* ./parser//parser.nit:39349 */
105064 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
105065 stack_frame_head = fra.me.prev;
105066 return;
105067 }
105068 void parser___ReduceAction1020___init(val_t p0, int* init_table){
105069 int itpos1024 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1020].i;
105070 struct {struct stack_frame_t me;} fra;
105071 val_t tmp;
105072 if (init_table[itpos1024]) return;
105073 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105074 fra.me.file = LOCATE_parser;
105075 fra.me.line = 39351;
105076 fra.me.meth = LOCATE_parser___ReduceAction1020___init;
105077 fra.me.has_broke = 0;
105078 fra.me.REG_size = 1;
105079 fra.me.REG[0] = NIT_NULL;
105080 fra.me.REG[0] = p0;
105081 /* ./parser//parser.nit:39351 */
105082 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
105083 stack_frame_head = fra.me.prev;
105084 init_table[itpos1024] = 1;
105085 return;
105086 }
105087 void parser___ReduceAction1021___action(val_t p0, val_t p1){
105088 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
105089 val_t REGB0;
105090 val_t REGB1;
105091 val_t tmp;
105092 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105093 fra.me.file = LOCATE_parser;
105094 fra.me.line = 39355;
105095 fra.me.meth = LOCATE_parser___ReduceAction1021___action;
105096 fra.me.has_broke = 0;
105097 fra.me.REG_size = 7;
105098 fra.me.REG[0] = NIT_NULL;
105099 fra.me.REG[1] = NIT_NULL;
105100 fra.me.REG[2] = NIT_NULL;
105101 fra.me.REG[3] = NIT_NULL;
105102 fra.me.REG[4] = NIT_NULL;
105103 fra.me.REG[5] = NIT_NULL;
105104 fra.me.REG[6] = NIT_NULL;
105105 fra.me.REG[0] = p0;
105106 fra.me.REG[1] = p1;
105107 fra.me.REG[0] = NIT_NULL;
105108 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105109 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105110 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105111 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105112 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105113 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105114 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105115 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
105116 /* ./parser//parser.nit:39366 */
105117 if (UNTAG_Bool(REGB0)) {
105118 } else {
105119 fprintf(stderr, "Assert failed");
105120 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39366);
105121 nit_exit(1);
105122 }
105123 fra.me.REG[6] = NEW_Array_array___Array___init();
105124 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
105125 /* ./parser//parser.nit:39369 */
105126 if (UNTAG_Bool(REGB0)) {
105127 } else {
105128 fprintf(stderr, "Assert failed");
105129 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39369);
105130 nit_exit(1);
105131 }
105132 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
105133 /* ./parser//parser.nit:39371 */
105134 if (UNTAG_Bool(REGB0)) {
105135 } else {
105136 fprintf(stderr, "Assert failed");
105137 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39371);
105138 nit_exit(1);
105139 }
105140 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
105141 /* ./parser//parser.nit:39372 */
105142 if (UNTAG_Bool(REGB0)) {
105143 } else {
105144 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
105145 if (UNTAG_Bool(REGB1)) {
105146 REGB1 = TAG_Bool(false);
105147 REGB0 = REGB1;
105148 } else {
105149 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
105150 REGB0 = REGB1;
105151 }
105152 }
105153 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
105154 if (UNTAG_Bool(REGB0)) {
105155 /* ./parser//parser.nit:39373 */
105156 array___Array___add(fra.me.REG[6], fra.me.REG[4]);
105157 }
105158 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
105159 /* ./parser//parser.nit:39376 */
105160 if (UNTAG_Bool(REGB0)) {
105161 fra.me.REG[6] = fra.me.REG[3];
105162 /* ./parser//parser.nit:39377 */
105163 } else {
105164 /* ./parser//parser.nit:39379 */
105165 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
105166 }
105167 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
105168 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
105169 /* ./parser//parser.nit:39386 */
105170 if (UNTAG_Bool(REGB0)) {
105171 } else {
105172 fprintf(stderr, "Assert failed");
105173 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39386);
105174 nit_exit(1);
105175 }
105176 fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[5], fra.me.REG[6], fra.me.REG[2]);
105177 fra.me.REG[0] = fra.me.REG[2];
105178 REGB0 = TAG_Int(98);
105179 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
105180 /* ./parser//parser.nit:39393 */
105181 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
105182 stack_frame_head = fra.me.prev;
105183 return;
105184 }
105185 void parser___ReduceAction1021___init(val_t p0, int* init_table){
105186 int itpos1025 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1021].i;
105187 struct {struct stack_frame_t me;} fra;
105188 val_t tmp;
105189 if (init_table[itpos1025]) return;
105190 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105191 fra.me.file = LOCATE_parser;
105192 fra.me.line = 39395;
105193 fra.me.meth = LOCATE_parser___ReduceAction1021___init;
105194 fra.me.has_broke = 0;
105195 fra.me.REG_size = 1;
105196 fra.me.REG[0] = NIT_NULL;
105197 fra.me.REG[0] = p0;
105198 /* ./parser//parser.nit:39395 */
105199 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
105200 stack_frame_head = fra.me.prev;
105201 init_table[itpos1025] = 1;
105202 return;
105203 }
105204 void parser___ReduceAction1022___action(val_t p0, val_t p1){
105205 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
105206 val_t REGB0;
105207 val_t tmp;
105208 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105209 fra.me.file = LOCATE_parser;
105210 fra.me.line = 39399;
105211 fra.me.meth = LOCATE_parser___ReduceAction1022___action;
105212 fra.me.has_broke = 0;
105213 fra.me.REG_size = 5;
105214 fra.me.REG[0] = NIT_NULL;
105215 fra.me.REG[1] = NIT_NULL;
105216 fra.me.REG[2] = NIT_NULL;
105217 fra.me.REG[3] = NIT_NULL;
105218 fra.me.REG[4] = NIT_NULL;
105219 fra.me.REG[0] = p0;
105220 fra.me.REG[1] = p1;
105221 fra.me.REG[0] = NIT_NULL;
105222 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105223 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105224 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105225 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105226 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
105227 /* ./parser//parser.nit:39407 */
105228 if (UNTAG_Bool(REGB0)) {
105229 } else {
105230 fprintf(stderr, "Assert failed");
105231 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39407);
105232 nit_exit(1);
105233 }
105234 fra.me.REG[4] = NEW_Array_array___Array___init();
105235 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
105236 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
105237 /* ./parser//parser.nit:39413 */
105238 if (UNTAG_Bool(REGB0)) {
105239 } else {
105240 fprintf(stderr, "Assert failed");
105241 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39413);
105242 nit_exit(1);
105243 }
105244 fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]);
105245 fra.me.REG[0] = fra.me.REG[2];
105246 REGB0 = TAG_Int(98);
105247 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
105248 /* ./parser//parser.nit:39420 */
105249 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
105250 stack_frame_head = fra.me.prev;
105251 return;
105252 }
105253 void parser___ReduceAction1022___init(val_t p0, int* init_table){
105254 int itpos1026 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1022].i;
105255 struct {struct stack_frame_t me;} fra;
105256 val_t tmp;
105257 if (init_table[itpos1026]) return;
105258 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105259 fra.me.file = LOCATE_parser;
105260 fra.me.line = 39422;
105261 fra.me.meth = LOCATE_parser___ReduceAction1022___init;
105262 fra.me.has_broke = 0;
105263 fra.me.REG_size = 1;
105264 fra.me.REG[0] = NIT_NULL;
105265 fra.me.REG[0] = p0;
105266 /* ./parser//parser.nit:39422 */
105267 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
105268 stack_frame_head = fra.me.prev;
105269 init_table[itpos1026] = 1;
105270 return;
105271 }
105272 void parser___ReduceAction1023___action(val_t p0, val_t p1){
105273 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
105274 val_t REGB0;
105275 val_t tmp;
105276 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105277 fra.me.file = LOCATE_parser;
105278 fra.me.line = 39426;
105279 fra.me.meth = LOCATE_parser___ReduceAction1023___action;
105280 fra.me.has_broke = 0;
105281 fra.me.REG_size = 5;
105282 fra.me.REG[0] = NIT_NULL;
105283 fra.me.REG[1] = NIT_NULL;
105284 fra.me.REG[2] = NIT_NULL;
105285 fra.me.REG[3] = NIT_NULL;
105286 fra.me.REG[4] = NIT_NULL;
105287 fra.me.REG[0] = p0;
105288 fra.me.REG[1] = p1;
105289 fra.me.REG[0] = NIT_NULL;
105290 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105291 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105292 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105293 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
105294 /* ./parser//parser.nit:39433 */
105295 if (UNTAG_Bool(REGB0)) {
105296 } else {
105297 fprintf(stderr, "Assert failed");
105298 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39433);
105299 nit_exit(1);
105300 }
105301 fra.me.REG[4] = NEW_Array_array___Array___init();
105302 fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
105303 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
105304 /* ./parser//parser.nit:39439 */
105305 if (UNTAG_Bool(REGB0)) {
105306 } else {
105307 fprintf(stderr, "Assert failed");
105308 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39439);
105309 nit_exit(1);
105310 }
105311 fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]);
105312 fra.me.REG[0] = fra.me.REG[2];
105313 REGB0 = TAG_Int(98);
105314 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
105315 /* ./parser//parser.nit:39446 */
105316 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
105317 stack_frame_head = fra.me.prev;
105318 return;
105319 }
105320 void parser___ReduceAction1023___init(val_t p0, int* init_table){
105321 int itpos1027 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1023].i;
105322 struct {struct stack_frame_t me;} fra;
105323 val_t tmp;
105324 if (init_table[itpos1027]) return;
105325 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105326 fra.me.file = LOCATE_parser;
105327 fra.me.line = 39448;
105328 fra.me.meth = LOCATE_parser___ReduceAction1023___init;
105329 fra.me.has_broke = 0;
105330 fra.me.REG_size = 1;
105331 fra.me.REG[0] = NIT_NULL;
105332 fra.me.REG[0] = p0;
105333 /* ./parser//parser.nit:39448 */
105334 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
105335 stack_frame_head = fra.me.prev;
105336 init_table[itpos1027] = 1;
105337 return;
105338 }
105339 void parser___ReduceAction1024___action(val_t p0, val_t p1){
105340 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
105341 val_t REGB0;
105342 val_t tmp;
105343 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105344 fra.me.file = LOCATE_parser;
105345 fra.me.line = 39452;
105346 fra.me.meth = LOCATE_parser___ReduceAction1024___action;
105347 fra.me.has_broke = 0;
105348 fra.me.REG_size = 4;
105349 fra.me.REG[0] = NIT_NULL;
105350 fra.me.REG[1] = NIT_NULL;
105351 fra.me.REG[2] = NIT_NULL;
105352 fra.me.REG[3] = NIT_NULL;
105353 fra.me.REG[0] = p0;
105354 fra.me.REG[1] = p1;
105355 fra.me.REG[0] = NIT_NULL;
105356 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105357 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105358 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/;
105359 /* ./parser//parser.nit:39458 */
105360 if (UNTAG_Bool(REGB0)) {
105361 } else {
105362 fprintf(stderr, "Assert failed");
105363 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39458);
105364 nit_exit(1);
105365 }
105366 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
105367 /* ./parser//parser.nit:39460 */
105368 if (UNTAG_Bool(REGB0)) {
105369 } else {
105370 fprintf(stderr, "Assert failed");
105371 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39460);
105372 nit_exit(1);
105373 }
105374 fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL);
105375 fra.me.REG[0] = fra.me.REG[2];
105376 REGB0 = TAG_Int(98);
105377 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
105378 /* ./parser//parser.nit:39467 */
105379 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
105380 stack_frame_head = fra.me.prev;
105381 return;
105382 }
105383 void parser___ReduceAction1024___init(val_t p0, int* init_table){
105384 int itpos1028 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1024].i;
105385 struct {struct stack_frame_t me;} fra;
105386 val_t tmp;
105387 if (init_table[itpos1028]) return;
105388 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105389 fra.me.file = LOCATE_parser;
105390 fra.me.line = 39469;
105391 fra.me.meth = LOCATE_parser___ReduceAction1024___init;
105392 fra.me.has_broke = 0;
105393 fra.me.REG_size = 1;
105394 fra.me.REG[0] = NIT_NULL;
105395 fra.me.REG[0] = p0;
105396 /* ./parser//parser.nit:39469 */
105397 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
105398 stack_frame_head = fra.me.prev;
105399 init_table[itpos1028] = 1;
105400 return;
105401 }
105402 void parser___ReduceAction1025___action(val_t p0, val_t p1){
105403 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
105404 val_t REGB0;
105405 val_t REGB1;
105406 val_t tmp;
105407 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105408 fra.me.file = LOCATE_parser;
105409 fra.me.line = 39473;
105410 fra.me.meth = LOCATE_parser___ReduceAction1025___action;
105411 fra.me.has_broke = 0;
105412 fra.me.REG_size = 7;
105413 fra.me.REG[0] = NIT_NULL;
105414 fra.me.REG[1] = NIT_NULL;
105415 fra.me.REG[2] = NIT_NULL;
105416 fra.me.REG[3] = NIT_NULL;
105417 fra.me.REG[4] = NIT_NULL;
105418 fra.me.REG[5] = NIT_NULL;
105419 fra.me.REG[6] = NIT_NULL;
105420 fra.me.REG[0] = p0;
105421 fra.me.REG[1] = p1;
105422 fra.me.REG[0] = NIT_NULL;
105423 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105424 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105425 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105426 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105427 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105428 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105429 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105430 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105431 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105432 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
105433 /* ./parser//parser.nit:39486 */
105434 if (UNTAG_Bool(REGB0)) {
105435 } else {
105436 fprintf(stderr, "Assert failed");
105437 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39486);
105438 nit_exit(1);
105439 }
105440 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
105441 /* ./parser//parser.nit:39488 */
105442 if (UNTAG_Bool(REGB0)) {
105443 } else {
105444 fprintf(stderr, "Assert failed");
105445 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39488);
105446 nit_exit(1);
105447 }
105448 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
105449 /* ./parser//parser.nit:39490 */
105450 if (UNTAG_Bool(REGB0)) {
105451 } else {
105452 fprintf(stderr, "Assert failed");
105453 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39490);
105454 nit_exit(1);
105455 }
105456 fra.me.REG[6] = NEW_Array_array___Array___init();
105457 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
105458 /* ./parser//parser.nit:39493 */
105459 if (UNTAG_Bool(REGB0)) {
105460 } else {
105461 fprintf(stderr, "Assert failed");
105462 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39493);
105463 nit_exit(1);
105464 }
105465 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
105466 /* ./parser//parser.nit:39494 */
105467 if (UNTAG_Bool(REGB0)) {
105468 } else {
105469 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
105470 if (UNTAG_Bool(REGB1)) {
105471 REGB1 = TAG_Bool(false);
105472 REGB0 = REGB1;
105473 } else {
105474 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
105475 REGB0 = REGB1;
105476 }
105477 }
105478 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
105479 if (UNTAG_Bool(REGB0)) {
105480 /* ./parser//parser.nit:39495 */
105481 array___Array___add(fra.me.REG[6], fra.me.REG[2]);
105482 }
105483 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
105484 fra.me.REG[6] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6], NIT_NULL);
105485 fra.me.REG[0] = fra.me.REG[6];
105486 REGB0 = TAG_Int(99);
105487 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
105488 /* ./parser//parser.nit:39508 */
105489 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
105490 stack_frame_head = fra.me.prev;
105491 return;
105492 }
105493 void parser___ReduceAction1025___init(val_t p0, int* init_table){
105494 int itpos1029 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1025].i;
105495 struct {struct stack_frame_t me;} fra;
105496 val_t tmp;
105497 if (init_table[itpos1029]) return;
105498 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105499 fra.me.file = LOCATE_parser;
105500 fra.me.line = 39510;
105501 fra.me.meth = LOCATE_parser___ReduceAction1025___init;
105502 fra.me.has_broke = 0;
105503 fra.me.REG_size = 1;
105504 fra.me.REG[0] = NIT_NULL;
105505 fra.me.REG[0] = p0;
105506 /* ./parser//parser.nit:39510 */
105507 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
105508 stack_frame_head = fra.me.prev;
105509 init_table[itpos1029] = 1;
105510 return;
105511 }
105512 void parser___ReduceAction1026___action(val_t p0, val_t p1){
105513 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
105514 val_t REGB0;
105515 val_t REGB1;
105516 val_t tmp;
105517 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105518 fra.me.file = LOCATE_parser;
105519 fra.me.line = 39514;
105520 fra.me.meth = LOCATE_parser___ReduceAction1026___action;
105521 fra.me.has_broke = 0;
105522 fra.me.REG_size = 8;
105523 fra.me.REG[0] = NIT_NULL;
105524 fra.me.REG[1] = NIT_NULL;
105525 fra.me.REG[2] = NIT_NULL;
105526 fra.me.REG[3] = NIT_NULL;
105527 fra.me.REG[4] = NIT_NULL;
105528 fra.me.REG[5] = NIT_NULL;
105529 fra.me.REG[6] = NIT_NULL;
105530 fra.me.REG[7] = NIT_NULL;
105531 fra.me.REG[0] = p0;
105532 fra.me.REG[1] = p1;
105533 fra.me.REG[0] = NIT_NULL;
105534 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105535 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105536 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105537 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105538 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105539 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105540 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105541 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105542 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105543 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105544 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
105545 /* ./parser//parser.nit:39528 */
105546 if (UNTAG_Bool(REGB0)) {
105547 } else {
105548 fprintf(stderr, "Assert failed");
105549 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39528);
105550 nit_exit(1);
105551 }
105552 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
105553 /* ./parser//parser.nit:39530 */
105554 if (UNTAG_Bool(REGB0)) {
105555 } else {
105556 fprintf(stderr, "Assert failed");
105557 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39530);
105558 nit_exit(1);
105559 }
105560 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
105561 /* ./parser//parser.nit:39532 */
105562 if (UNTAG_Bool(REGB0)) {
105563 } else {
105564 fprintf(stderr, "Assert failed");
105565 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39532);
105566 nit_exit(1);
105567 }
105568 fra.me.REG[7] = NEW_Array_array___Array___init();
105569 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
105570 /* ./parser//parser.nit:39535 */
105571 if (UNTAG_Bool(REGB0)) {
105572 } else {
105573 fprintf(stderr, "Assert failed");
105574 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39535);
105575 nit_exit(1);
105576 }
105577 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
105578 /* ./parser//parser.nit:39537 */
105579 if (UNTAG_Bool(REGB0)) {
105580 } else {
105581 fprintf(stderr, "Assert failed");
105582 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39537);
105583 nit_exit(1);
105584 }
105585 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
105586 /* ./parser//parser.nit:39538 */
105587 if (UNTAG_Bool(REGB0)) {
105588 } else {
105589 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
105590 if (UNTAG_Bool(REGB1)) {
105591 REGB1 = TAG_Bool(false);
105592 REGB0 = REGB1;
105593 } else {
105594 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
105595 REGB0 = REGB1;
105596 }
105597 }
105598 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
105599 if (UNTAG_Bool(REGB0)) {
105600 /* ./parser//parser.nit:39539 */
105601 array___Array___add(fra.me.REG[7], fra.me.REG[3]);
105602 }
105603 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
105604 /* ./parser//parser.nit:39542 */
105605 if (UNTAG_Bool(REGB0)) {
105606 fra.me.REG[7] = fra.me.REG[2];
105607 /* ./parser//parser.nit:39543 */
105608 } else {
105609 /* ./parser//parser.nit:39545 */
105610 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]);
105611 }
105612 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
105613 fra.me.REG[7] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[7], NIT_NULL);
105614 fra.me.REG[0] = fra.me.REG[7];
105615 REGB0 = TAG_Int(99);
105616 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
105617 /* ./parser//parser.nit:39559 */
105618 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
105619 stack_frame_head = fra.me.prev;
105620 return;
105621 }
105622 void parser___ReduceAction1026___init(val_t p0, int* init_table){
105623 int itpos1030 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1026].i;
105624 struct {struct stack_frame_t me;} fra;
105625 val_t tmp;
105626 if (init_table[itpos1030]) return;
105627 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105628 fra.me.file = LOCATE_parser;
105629 fra.me.line = 39561;
105630 fra.me.meth = LOCATE_parser___ReduceAction1026___init;
105631 fra.me.has_broke = 0;
105632 fra.me.REG_size = 1;
105633 fra.me.REG[0] = NIT_NULL;
105634 fra.me.REG[0] = p0;
105635 /* ./parser//parser.nit:39561 */
105636 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
105637 stack_frame_head = fra.me.prev;
105638 init_table[itpos1030] = 1;
105639 return;
105640 }
105641 void parser___ReduceAction1027___action(val_t p0, val_t p1){
105642 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
105643 val_t REGB0;
105644 val_t tmp;
105645 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105646 fra.me.file = LOCATE_parser;
105647 fra.me.line = 39565;
105648 fra.me.meth = LOCATE_parser___ReduceAction1027___action;
105649 fra.me.has_broke = 0;
105650 fra.me.REG_size = 6;
105651 fra.me.REG[0] = NIT_NULL;
105652 fra.me.REG[1] = NIT_NULL;
105653 fra.me.REG[2] = NIT_NULL;
105654 fra.me.REG[3] = NIT_NULL;
105655 fra.me.REG[4] = NIT_NULL;
105656 fra.me.REG[5] = NIT_NULL;
105657 fra.me.REG[0] = p0;
105658 fra.me.REG[1] = p1;
105659 fra.me.REG[0] = NIT_NULL;
105660 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105661 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105662 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105663 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105664 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105665 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105666 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105667 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
105668 /* ./parser//parser.nit:39576 */
105669 if (UNTAG_Bool(REGB0)) {
105670 } else {
105671 fprintf(stderr, "Assert failed");
105672 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39576);
105673 nit_exit(1);
105674 }
105675 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
105676 /* ./parser//parser.nit:39578 */
105677 if (UNTAG_Bool(REGB0)) {
105678 } else {
105679 fprintf(stderr, "Assert failed");
105680 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39578);
105681 nit_exit(1);
105682 }
105683 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
105684 /* ./parser//parser.nit:39580 */
105685 if (UNTAG_Bool(REGB0)) {
105686 } else {
105687 fprintf(stderr, "Assert failed");
105688 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39580);
105689 nit_exit(1);
105690 }
105691 fra.me.REG[5] = NEW_Array_array___Array___init();
105692 fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
105693 fra.me.REG[5] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[5], NIT_NULL);
105694 fra.me.REG[0] = fra.me.REG[5];
105695 REGB0 = TAG_Int(99);
105696 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
105697 /* ./parser//parser.nit:39593 */
105698 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
105699 stack_frame_head = fra.me.prev;
105700 return;
105701 }
105702 void parser___ReduceAction1027___init(val_t p0, int* init_table){
105703 int itpos1031 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1027].i;
105704 struct {struct stack_frame_t me;} fra;
105705 val_t tmp;
105706 if (init_table[itpos1031]) return;
105707 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105708 fra.me.file = LOCATE_parser;
105709 fra.me.line = 39595;
105710 fra.me.meth = LOCATE_parser___ReduceAction1027___init;
105711 fra.me.has_broke = 0;
105712 fra.me.REG_size = 1;
105713 fra.me.REG[0] = NIT_NULL;
105714 fra.me.REG[0] = p0;
105715 /* ./parser//parser.nit:39595 */
105716 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
105717 stack_frame_head = fra.me.prev;
105718 init_table[itpos1031] = 1;
105719 return;
105720 }
105721 void parser___ReduceAction1028___action(val_t p0, val_t p1){
105722 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
105723 val_t REGB0;
105724 val_t tmp;
105725 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105726 fra.me.file = LOCATE_parser;
105727 fra.me.line = 39599;
105728 fra.me.meth = LOCATE_parser___ReduceAction1028___action;
105729 fra.me.has_broke = 0;
105730 fra.me.REG_size = 6;
105731 fra.me.REG[0] = NIT_NULL;
105732 fra.me.REG[1] = NIT_NULL;
105733 fra.me.REG[2] = NIT_NULL;
105734 fra.me.REG[3] = NIT_NULL;
105735 fra.me.REG[4] = NIT_NULL;
105736 fra.me.REG[5] = NIT_NULL;
105737 fra.me.REG[0] = p0;
105738 fra.me.REG[1] = p1;
105739 fra.me.REG[0] = NIT_NULL;
105740 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105741 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105742 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105743 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105744 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105745 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105746 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
105747 /* ./parser//parser.nit:39609 */
105748 if (UNTAG_Bool(REGB0)) {
105749 } else {
105750 fprintf(stderr, "Assert failed");
105751 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39609);
105752 nit_exit(1);
105753 }
105754 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
105755 /* ./parser//parser.nit:39611 */
105756 if (UNTAG_Bool(REGB0)) {
105757 } else {
105758 fprintf(stderr, "Assert failed");
105759 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39611);
105760 nit_exit(1);
105761 }
105762 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
105763 /* ./parser//parser.nit:39613 */
105764 if (UNTAG_Bool(REGB0)) {
105765 } else {
105766 fprintf(stderr, "Assert failed");
105767 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39613);
105768 nit_exit(1);
105769 }
105770 fra.me.REG[5] = NEW_Array_array___Array___init();
105771 fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
105772 fra.me.REG[5] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[5], NIT_NULL);
105773 fra.me.REG[0] = fra.me.REG[5];
105774 REGB0 = TAG_Int(99);
105775 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
105776 /* ./parser//parser.nit:39626 */
105777 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
105778 stack_frame_head = fra.me.prev;
105779 return;
105780 }
105781 void parser___ReduceAction1028___init(val_t p0, int* init_table){
105782 int itpos1032 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1028].i;
105783 struct {struct stack_frame_t me;} fra;
105784 val_t tmp;
105785 if (init_table[itpos1032]) return;
105786 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105787 fra.me.file = LOCATE_parser;
105788 fra.me.line = 39628;
105789 fra.me.meth = LOCATE_parser___ReduceAction1028___init;
105790 fra.me.has_broke = 0;
105791 fra.me.REG_size = 1;
105792 fra.me.REG[0] = NIT_NULL;
105793 fra.me.REG[0] = p0;
105794 /* ./parser//parser.nit:39628 */
105795 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
105796 stack_frame_head = fra.me.prev;
105797 init_table[itpos1032] = 1;
105798 return;
105799 }
105800 void parser___ReduceAction1029___action(val_t p0, val_t p1){
105801 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
105802 val_t REGB0;
105803 val_t REGB1;
105804 val_t tmp;
105805 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105806 fra.me.file = LOCATE_parser;
105807 fra.me.line = 39632;
105808 fra.me.meth = LOCATE_parser___ReduceAction1029___action;
105809 fra.me.has_broke = 0;
105810 fra.me.REG_size = 8;
105811 fra.me.REG[0] = NIT_NULL;
105812 fra.me.REG[1] = NIT_NULL;
105813 fra.me.REG[2] = NIT_NULL;
105814 fra.me.REG[3] = NIT_NULL;
105815 fra.me.REG[4] = NIT_NULL;
105816 fra.me.REG[5] = NIT_NULL;
105817 fra.me.REG[6] = NIT_NULL;
105818 fra.me.REG[7] = NIT_NULL;
105819 fra.me.REG[0] = p0;
105820 fra.me.REG[1] = p1;
105821 fra.me.REG[0] = NIT_NULL;
105822 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105823 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105824 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105825 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105826 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105827 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105828 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105829 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105830 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105831 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105832 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
105833 /* ./parser//parser.nit:39646 */
105834 if (UNTAG_Bool(REGB0)) {
105835 } else {
105836 fprintf(stderr, "Assert failed");
105837 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39646);
105838 nit_exit(1);
105839 }
105840 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
105841 /* ./parser//parser.nit:39648 */
105842 if (UNTAG_Bool(REGB0)) {
105843 } else {
105844 fprintf(stderr, "Assert failed");
105845 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39648);
105846 nit_exit(1);
105847 }
105848 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
105849 /* ./parser//parser.nit:39650 */
105850 if (UNTAG_Bool(REGB0)) {
105851 } else {
105852 fprintf(stderr, "Assert failed");
105853 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39650);
105854 nit_exit(1);
105855 }
105856 fra.me.REG[7] = NEW_Array_array___Array___init();
105857 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
105858 /* ./parser//parser.nit:39653 */
105859 if (UNTAG_Bool(REGB0)) {
105860 } else {
105861 fprintf(stderr, "Assert failed");
105862 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39653);
105863 nit_exit(1);
105864 }
105865 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
105866 /* ./parser//parser.nit:39654 */
105867 if (UNTAG_Bool(REGB0)) {
105868 } else {
105869 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
105870 if (UNTAG_Bool(REGB1)) {
105871 REGB1 = TAG_Bool(false);
105872 REGB0 = REGB1;
105873 } else {
105874 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
105875 REGB0 = REGB1;
105876 }
105877 }
105878 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
105879 if (UNTAG_Bool(REGB0)) {
105880 /* ./parser//parser.nit:39655 */
105881 array___Array___add(fra.me.REG[7], fra.me.REG[3]);
105882 }
105883 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
105884 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
105885 /* ./parser//parser.nit:39661 */
105886 if (UNTAG_Bool(REGB0)) {
105887 } else {
105888 fprintf(stderr, "Assert failed");
105889 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39661);
105890 nit_exit(1);
105891 }
105892 fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[7], fra.me.REG[2]);
105893 fra.me.REG[0] = fra.me.REG[2];
105894 REGB0 = TAG_Int(99);
105895 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
105896 /* ./parser//parser.nit:39670 */
105897 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
105898 stack_frame_head = fra.me.prev;
105899 return;
105900 }
105901 void parser___ReduceAction1029___init(val_t p0, int* init_table){
105902 int itpos1033 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1029].i;
105903 struct {struct stack_frame_t me;} fra;
105904 val_t tmp;
105905 if (init_table[itpos1033]) return;
105906 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105907 fra.me.file = LOCATE_parser;
105908 fra.me.line = 39672;
105909 fra.me.meth = LOCATE_parser___ReduceAction1029___init;
105910 fra.me.has_broke = 0;
105911 fra.me.REG_size = 1;
105912 fra.me.REG[0] = NIT_NULL;
105913 fra.me.REG[0] = p0;
105914 /* ./parser//parser.nit:39672 */
105915 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
105916 stack_frame_head = fra.me.prev;
105917 init_table[itpos1033] = 1;
105918 return;
105919 }
105920 void parser___ReduceAction1030___action(val_t p0, val_t p1){
105921 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
105922 val_t REGB0;
105923 val_t REGB1;
105924 val_t tmp;
105925 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
105926 fra.me.file = LOCATE_parser;
105927 fra.me.line = 39676;
105928 fra.me.meth = LOCATE_parser___ReduceAction1030___action;
105929 fra.me.has_broke = 0;
105930 fra.me.REG_size = 9;
105931 fra.me.REG[0] = NIT_NULL;
105932 fra.me.REG[1] = NIT_NULL;
105933 fra.me.REG[2] = NIT_NULL;
105934 fra.me.REG[3] = NIT_NULL;
105935 fra.me.REG[4] = NIT_NULL;
105936 fra.me.REG[5] = NIT_NULL;
105937 fra.me.REG[6] = NIT_NULL;
105938 fra.me.REG[7] = NIT_NULL;
105939 fra.me.REG[8] = NIT_NULL;
105940 fra.me.REG[0] = p0;
105941 fra.me.REG[1] = p1;
105942 fra.me.REG[0] = NIT_NULL;
105943 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105944 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105945 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105946 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105947 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105948 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105949 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105950 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105951 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105952 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105953 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
105954 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
105955 /* ./parser//parser.nit:39691 */
105956 if (UNTAG_Bool(REGB0)) {
105957 } else {
105958 fprintf(stderr, "Assert failed");
105959 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39691);
105960 nit_exit(1);
105961 }
105962 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
105963 /* ./parser//parser.nit:39693 */
105964 if (UNTAG_Bool(REGB0)) {
105965 } else {
105966 fprintf(stderr, "Assert failed");
105967 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39693);
105968 nit_exit(1);
105969 }
105970 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
105971 /* ./parser//parser.nit:39695 */
105972 if (UNTAG_Bool(REGB0)) {
105973 } else {
105974 fprintf(stderr, "Assert failed");
105975 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39695);
105976 nit_exit(1);
105977 }
105978 fra.me.REG[8] = NEW_Array_array___Array___init();
105979 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
105980 /* ./parser//parser.nit:39698 */
105981 if (UNTAG_Bool(REGB0)) {
105982 } else {
105983 fprintf(stderr, "Assert failed");
105984 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39698);
105985 nit_exit(1);
105986 }
105987 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
105988 /* ./parser//parser.nit:39700 */
105989 if (UNTAG_Bool(REGB0)) {
105990 } else {
105991 fprintf(stderr, "Assert failed");
105992 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39700);
105993 nit_exit(1);
105994 }
105995 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
105996 /* ./parser//parser.nit:39701 */
105997 if (UNTAG_Bool(REGB0)) {
105998 } else {
105999 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
106000 if (UNTAG_Bool(REGB1)) {
106001 REGB1 = TAG_Bool(false);
106002 REGB0 = REGB1;
106003 } else {
106004 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
106005 REGB0 = REGB1;
106006 }
106007 }
106008 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
106009 if (UNTAG_Bool(REGB0)) {
106010 /* ./parser//parser.nit:39702 */
106011 array___Array___add(fra.me.REG[8], fra.me.REG[4]);
106012 }
106013 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
106014 /* ./parser//parser.nit:39705 */
106015 if (UNTAG_Bool(REGB0)) {
106016 fra.me.REG[8] = fra.me.REG[3];
106017 /* ./parser//parser.nit:39706 */
106018 } else {
106019 /* ./parser//parser.nit:39708 */
106020 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
106021 }
106022 fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]);
106023 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
106024 /* ./parser//parser.nit:39715 */
106025 if (UNTAG_Bool(REGB0)) {
106026 } else {
106027 fprintf(stderr, "Assert failed");
106028 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39715);
106029 nit_exit(1);
106030 }
106031 fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[8], fra.me.REG[2]);
106032 fra.me.REG[0] = fra.me.REG[2];
106033 REGB0 = TAG_Int(99);
106034 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
106035 /* ./parser//parser.nit:39724 */
106036 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
106037 stack_frame_head = fra.me.prev;
106038 return;
106039 }
106040 void parser___ReduceAction1030___init(val_t p0, int* init_table){
106041 int itpos1034 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1030].i;
106042 struct {struct stack_frame_t me;} fra;
106043 val_t tmp;
106044 if (init_table[itpos1034]) return;
106045 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106046 fra.me.file = LOCATE_parser;
106047 fra.me.line = 39726;
106048 fra.me.meth = LOCATE_parser___ReduceAction1030___init;
106049 fra.me.has_broke = 0;
106050 fra.me.REG_size = 1;
106051 fra.me.REG[0] = NIT_NULL;
106052 fra.me.REG[0] = p0;
106053 /* ./parser//parser.nit:39726 */
106054 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
106055 stack_frame_head = fra.me.prev;
106056 init_table[itpos1034] = 1;
106057 return;
106058 }
106059 void parser___ReduceAction1031___action(val_t p0, val_t p1){
106060 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
106061 val_t REGB0;
106062 val_t tmp;
106063 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106064 fra.me.file = LOCATE_parser;
106065 fra.me.line = 39730;
106066 fra.me.meth = LOCATE_parser___ReduceAction1031___action;
106067 fra.me.has_broke = 0;
106068 fra.me.REG_size = 7;
106069 fra.me.REG[0] = NIT_NULL;
106070 fra.me.REG[1] = NIT_NULL;
106071 fra.me.REG[2] = NIT_NULL;
106072 fra.me.REG[3] = NIT_NULL;
106073 fra.me.REG[4] = NIT_NULL;
106074 fra.me.REG[5] = NIT_NULL;
106075 fra.me.REG[6] = NIT_NULL;
106076 fra.me.REG[0] = p0;
106077 fra.me.REG[1] = p1;
106078 fra.me.REG[0] = NIT_NULL;
106079 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106080 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106081 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106082 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106083 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106084 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106085 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106086 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106087 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
106088 /* ./parser//parser.nit:39742 */
106089 if (UNTAG_Bool(REGB0)) {
106090 } else {
106091 fprintf(stderr, "Assert failed");
106092 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39742);
106093 nit_exit(1);
106094 }
106095 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
106096 /* ./parser//parser.nit:39744 */
106097 if (UNTAG_Bool(REGB0)) {
106098 } else {
106099 fprintf(stderr, "Assert failed");
106100 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39744);
106101 nit_exit(1);
106102 }
106103 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
106104 /* ./parser//parser.nit:39746 */
106105 if (UNTAG_Bool(REGB0)) {
106106 } else {
106107 fprintf(stderr, "Assert failed");
106108 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39746);
106109 nit_exit(1);
106110 }
106111 fra.me.REG[6] = NEW_Array_array___Array___init();
106112 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
106113 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
106114 /* ./parser//parser.nit:39752 */
106115 if (UNTAG_Bool(REGB0)) {
106116 } else {
106117 fprintf(stderr, "Assert failed");
106118 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39752);
106119 nit_exit(1);
106120 }
106121 fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6], fra.me.REG[2]);
106122 fra.me.REG[0] = fra.me.REG[2];
106123 REGB0 = TAG_Int(99);
106124 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
106125 /* ./parser//parser.nit:39761 */
106126 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
106127 stack_frame_head = fra.me.prev;
106128 return;
106129 }
106130 void parser___ReduceAction1031___init(val_t p0, int* init_table){
106131 int itpos1035 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1031].i;
106132 struct {struct stack_frame_t me;} fra;
106133 val_t tmp;
106134 if (init_table[itpos1035]) return;
106135 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106136 fra.me.file = LOCATE_parser;
106137 fra.me.line = 39763;
106138 fra.me.meth = LOCATE_parser___ReduceAction1031___init;
106139 fra.me.has_broke = 0;
106140 fra.me.REG_size = 1;
106141 fra.me.REG[0] = NIT_NULL;
106142 fra.me.REG[0] = p0;
106143 /* ./parser//parser.nit:39763 */
106144 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
106145 stack_frame_head = fra.me.prev;
106146 init_table[itpos1035] = 1;
106147 return;
106148 }
106149 void parser___ReduceAction1032___action(val_t p0, val_t p1){
106150 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
106151 val_t REGB0;
106152 val_t tmp;
106153 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106154 fra.me.file = LOCATE_parser;
106155 fra.me.line = 39767;
106156 fra.me.meth = LOCATE_parser___ReduceAction1032___action;
106157 fra.me.has_broke = 0;
106158 fra.me.REG_size = 7;
106159 fra.me.REG[0] = NIT_NULL;
106160 fra.me.REG[1] = NIT_NULL;
106161 fra.me.REG[2] = NIT_NULL;
106162 fra.me.REG[3] = NIT_NULL;
106163 fra.me.REG[4] = NIT_NULL;
106164 fra.me.REG[5] = NIT_NULL;
106165 fra.me.REG[6] = NIT_NULL;
106166 fra.me.REG[0] = p0;
106167 fra.me.REG[1] = p1;
106168 fra.me.REG[0] = NIT_NULL;
106169 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106170 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106171 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106172 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106173 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106174 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106175 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106176 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
106177 /* ./parser//parser.nit:39778 */
106178 if (UNTAG_Bool(REGB0)) {
106179 } else {
106180 fprintf(stderr, "Assert failed");
106181 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39778);
106182 nit_exit(1);
106183 }
106184 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
106185 /* ./parser//parser.nit:39780 */
106186 if (UNTAG_Bool(REGB0)) {
106187 } else {
106188 fprintf(stderr, "Assert failed");
106189 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39780);
106190 nit_exit(1);
106191 }
106192 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
106193 /* ./parser//parser.nit:39782 */
106194 if (UNTAG_Bool(REGB0)) {
106195 } else {
106196 fprintf(stderr, "Assert failed");
106197 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39782);
106198 nit_exit(1);
106199 }
106200 fra.me.REG[6] = NEW_Array_array___Array___init();
106201 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
106202 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
106203 /* ./parser//parser.nit:39788 */
106204 if (UNTAG_Bool(REGB0)) {
106205 } else {
106206 fprintf(stderr, "Assert failed");
106207 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39788);
106208 nit_exit(1);
106209 }
106210 fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6], fra.me.REG[2]);
106211 fra.me.REG[0] = fra.me.REG[2];
106212 REGB0 = TAG_Int(99);
106213 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
106214 /* ./parser//parser.nit:39797 */
106215 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
106216 stack_frame_head = fra.me.prev;
106217 return;
106218 }
106219 void parser___ReduceAction1032___init(val_t p0, int* init_table){
106220 int itpos1036 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1032].i;
106221 struct {struct stack_frame_t me;} fra;
106222 val_t tmp;
106223 if (init_table[itpos1036]) return;
106224 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106225 fra.me.file = LOCATE_parser;
106226 fra.me.line = 39799;
106227 fra.me.meth = LOCATE_parser___ReduceAction1032___init;
106228 fra.me.has_broke = 0;
106229 fra.me.REG_size = 1;
106230 fra.me.REG[0] = NIT_NULL;
106231 fra.me.REG[0] = p0;
106232 /* ./parser//parser.nit:39799 */
106233 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
106234 stack_frame_head = fra.me.prev;
106235 init_table[itpos1036] = 1;
106236 return;
106237 }
106238 void parser___ReduceAction1033___action(val_t p0, val_t p1){
106239 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
106240 val_t REGB0;
106241 val_t tmp;
106242 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106243 fra.me.file = LOCATE_parser;
106244 fra.me.line = 39803;
106245 fra.me.meth = LOCATE_parser___ReduceAction1033___action;
106246 fra.me.has_broke = 0;
106247 fra.me.REG_size = 6;
106248 fra.me.REG[0] = NIT_NULL;
106249 fra.me.REG[1] = NIT_NULL;
106250 fra.me.REG[2] = NIT_NULL;
106251 fra.me.REG[3] = NIT_NULL;
106252 fra.me.REG[4] = NIT_NULL;
106253 fra.me.REG[5] = NIT_NULL;
106254 fra.me.REG[0] = p0;
106255 fra.me.REG[1] = p1;
106256 fra.me.REG[0] = NIT_NULL;
106257 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106258 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106259 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106260 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106261 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106262 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106263 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/;
106264 /* ./parser//parser.nit:39813 */
106265 if (UNTAG_Bool(REGB0)) {
106266 } else {
106267 fprintf(stderr, "Assert failed");
106268 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39813);
106269 nit_exit(1);
106270 }
106271 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
106272 /* ./parser//parser.nit:39815 */
106273 if (UNTAG_Bool(REGB0)) {
106274 } else {
106275 fprintf(stderr, "Assert failed");
106276 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39815);
106277 nit_exit(1);
106278 }
106279 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
106280 /* ./parser//parser.nit:39817 */
106281 if (UNTAG_Bool(REGB0)) {
106282 } else {
106283 fprintf(stderr, "Assert failed");
106284 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39817);
106285 nit_exit(1);
106286 }
106287 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
106288 /* ./parser//parser.nit:39819 */
106289 if (UNTAG_Bool(REGB0)) {
106290 } else {
106291 fprintf(stderr, "Assert failed");
106292 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39819);
106293 nit_exit(1);
106294 }
106295 fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
106296 fra.me.REG[0] = fra.me.REG[2];
106297 REGB0 = TAG_Int(99);
106298 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
106299 /* ./parser//parser.nit:39828 */
106300 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
106301 stack_frame_head = fra.me.prev;
106302 return;
106303 }
106304 void parser___ReduceAction1033___init(val_t p0, int* init_table){
106305 int itpos1037 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1033].i;
106306 struct {struct stack_frame_t me;} fra;
106307 val_t tmp;
106308 if (init_table[itpos1037]) return;
106309 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106310 fra.me.file = LOCATE_parser;
106311 fra.me.line = 39830;
106312 fra.me.meth = LOCATE_parser___ReduceAction1033___init;
106313 fra.me.has_broke = 0;
106314 fra.me.REG_size = 1;
106315 fra.me.REG[0] = NIT_NULL;
106316 fra.me.REG[0] = p0;
106317 /* ./parser//parser.nit:39830 */
106318 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
106319 stack_frame_head = fra.me.prev;
106320 init_table[itpos1037] = 1;
106321 return;
106322 }
106323 void parser___ReduceAction1034___action(val_t p0, val_t p1){
106324 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
106325 val_t REGB0;
106326 val_t REGB1;
106327 val_t tmp;
106328 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106329 fra.me.file = LOCATE_parser;
106330 fra.me.line = 39834;
106331 fra.me.meth = LOCATE_parser___ReduceAction1034___action;
106332 fra.me.has_broke = 0;
106333 fra.me.REG_size = 8;
106334 fra.me.REG[0] = NIT_NULL;
106335 fra.me.REG[1] = NIT_NULL;
106336 fra.me.REG[2] = NIT_NULL;
106337 fra.me.REG[3] = NIT_NULL;
106338 fra.me.REG[4] = NIT_NULL;
106339 fra.me.REG[5] = NIT_NULL;
106340 fra.me.REG[6] = NIT_NULL;
106341 fra.me.REG[7] = NIT_NULL;
106342 fra.me.REG[0] = p0;
106343 fra.me.REG[1] = p1;
106344 fra.me.REG[0] = NIT_NULL;
106345 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106346 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106347 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106348 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106349 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106350 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106351 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106352 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106353 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106354 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106355 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106356 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106357 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106358 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
106359 /* ./parser//parser.nit:39851 */
106360 if (UNTAG_Bool(REGB0)) {
106361 } else {
106362 fprintf(stderr, "Assert failed");
106363 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39851);
106364 nit_exit(1);
106365 }
106366 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
106367 /* ./parser//parser.nit:39853 */
106368 if (UNTAG_Bool(REGB0)) {
106369 } else {
106370 fprintf(stderr, "Assert failed");
106371 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39853);
106372 nit_exit(1);
106373 }
106374 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
106375 /* ./parser//parser.nit:39855 */
106376 if (UNTAG_Bool(REGB0)) {
106377 } else {
106378 fprintf(stderr, "Assert failed");
106379 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39855);
106380 nit_exit(1);
106381 }
106382 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
106383 /* ./parser//parser.nit:39857 */
106384 if (UNTAG_Bool(REGB0)) {
106385 } else {
106386 fprintf(stderr, "Assert failed");
106387 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39857);
106388 nit_exit(1);
106389 }
106390 fra.me.REG[7] = NEW_Array_array___Array___init();
106391 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
106392 /* ./parser//parser.nit:39860 */
106393 if (UNTAG_Bool(REGB0)) {
106394 } else {
106395 fprintf(stderr, "Assert failed");
106396 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39860);
106397 nit_exit(1);
106398 }
106399 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
106400 /* ./parser//parser.nit:39861 */
106401 if (UNTAG_Bool(REGB0)) {
106402 } else {
106403 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
106404 if (UNTAG_Bool(REGB1)) {
106405 REGB1 = TAG_Bool(false);
106406 REGB0 = REGB1;
106407 } else {
106408 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
106409 REGB0 = REGB1;
106410 }
106411 }
106412 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
106413 if (UNTAG_Bool(REGB0)) {
106414 /* ./parser//parser.nit:39862 */
106415 array___Array___add(fra.me.REG[7], fra.me.REG[2]);
106416 }
106417 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
106418 fra.me.REG[7] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], NIT_NULL);
106419 fra.me.REG[0] = fra.me.REG[7];
106420 REGB0 = TAG_Int(100);
106421 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
106422 /* ./parser//parser.nit:39876 */
106423 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
106424 stack_frame_head = fra.me.prev;
106425 return;
106426 }
106427 void parser___ReduceAction1034___init(val_t p0, int* init_table){
106428 int itpos1038 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1034].i;
106429 struct {struct stack_frame_t me;} fra;
106430 val_t tmp;
106431 if (init_table[itpos1038]) return;
106432 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106433 fra.me.file = LOCATE_parser;
106434 fra.me.line = 39878;
106435 fra.me.meth = LOCATE_parser___ReduceAction1034___init;
106436 fra.me.has_broke = 0;
106437 fra.me.REG_size = 1;
106438 fra.me.REG[0] = NIT_NULL;
106439 fra.me.REG[0] = p0;
106440 /* ./parser//parser.nit:39878 */
106441 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
106442 stack_frame_head = fra.me.prev;
106443 init_table[itpos1038] = 1;
106444 return;
106445 }
106446 void parser___ReduceAction1035___action(val_t p0, val_t p1){
106447 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
106448 val_t REGB0;
106449 val_t REGB1;
106450 val_t tmp;
106451 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106452 fra.me.file = LOCATE_parser;
106453 fra.me.line = 39882;
106454 fra.me.meth = LOCATE_parser___ReduceAction1035___action;
106455 fra.me.has_broke = 0;
106456 fra.me.REG_size = 9;
106457 fra.me.REG[0] = NIT_NULL;
106458 fra.me.REG[1] = NIT_NULL;
106459 fra.me.REG[2] = NIT_NULL;
106460 fra.me.REG[3] = NIT_NULL;
106461 fra.me.REG[4] = NIT_NULL;
106462 fra.me.REG[5] = NIT_NULL;
106463 fra.me.REG[6] = NIT_NULL;
106464 fra.me.REG[7] = NIT_NULL;
106465 fra.me.REG[8] = NIT_NULL;
106466 fra.me.REG[0] = p0;
106467 fra.me.REG[1] = p1;
106468 fra.me.REG[0] = NIT_NULL;
106469 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106470 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106471 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106472 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106473 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106474 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106475 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106476 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106477 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106478 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106479 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106480 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106481 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106482 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106483 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
106484 /* ./parser//parser.nit:39900 */
106485 if (UNTAG_Bool(REGB0)) {
106486 } else {
106487 fprintf(stderr, "Assert failed");
106488 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39900);
106489 nit_exit(1);
106490 }
106491 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TId, ID_TId)) /*cast nullable TId*/;
106492 /* ./parser//parser.nit:39902 */
106493 if (UNTAG_Bool(REGB0)) {
106494 } else {
106495 fprintf(stderr, "Assert failed");
106496 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39902);
106497 nit_exit(1);
106498 }
106499 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
106500 /* ./parser//parser.nit:39904 */
106501 if (UNTAG_Bool(REGB0)) {
106502 } else {
106503 fprintf(stderr, "Assert failed");
106504 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39904);
106505 nit_exit(1);
106506 }
106507 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
106508 /* ./parser//parser.nit:39906 */
106509 if (UNTAG_Bool(REGB0)) {
106510 } else {
106511 fprintf(stderr, "Assert failed");
106512 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39906);
106513 nit_exit(1);
106514 }
106515 fra.me.REG[8] = NEW_Array_array___Array___init();
106516 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
106517 /* ./parser//parser.nit:39909 */
106518 if (UNTAG_Bool(REGB0)) {
106519 } else {
106520 fprintf(stderr, "Assert failed");
106521 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39909);
106522 nit_exit(1);
106523 }
106524 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
106525 /* ./parser//parser.nit:39911 */
106526 if (UNTAG_Bool(REGB0)) {
106527 } else {
106528 fprintf(stderr, "Assert failed");
106529 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39911);
106530 nit_exit(1);
106531 }
106532 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
106533 /* ./parser//parser.nit:39912 */
106534 if (UNTAG_Bool(REGB0)) {
106535 } else {
106536 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
106537 if (UNTAG_Bool(REGB1)) {
106538 REGB1 = TAG_Bool(false);
106539 REGB0 = REGB1;
106540 } else {
106541 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
106542 REGB0 = REGB1;
106543 }
106544 }
106545 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
106546 if (UNTAG_Bool(REGB0)) {
106547 /* ./parser//parser.nit:39913 */
106548 array___Array___add(fra.me.REG[8], fra.me.REG[3]);
106549 }
106550 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]);
106551 /* ./parser//parser.nit:39916 */
106552 if (UNTAG_Bool(REGB0)) {
106553 fra.me.REG[8] = fra.me.REG[2];
106554 /* ./parser//parser.nit:39917 */
106555 } else {
106556 /* ./parser//parser.nit:39919 */
106557 CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[2]);
106558 }
106559 fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]);
106560 fra.me.REG[8] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], NIT_NULL);
106561 fra.me.REG[0] = fra.me.REG[8];
106562 REGB0 = TAG_Int(100);
106563 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
106564 /* ./parser//parser.nit:39934 */
106565 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
106566 stack_frame_head = fra.me.prev;
106567 return;
106568 }
106569 void parser___ReduceAction1035___init(val_t p0, int* init_table){
106570 int itpos1039 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1035].i;
106571 struct {struct stack_frame_t me;} fra;
106572 val_t tmp;
106573 if (init_table[itpos1039]) return;
106574 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106575 fra.me.file = LOCATE_parser;
106576 fra.me.line = 39936;
106577 fra.me.meth = LOCATE_parser___ReduceAction1035___init;
106578 fra.me.has_broke = 0;
106579 fra.me.REG_size = 1;
106580 fra.me.REG[0] = NIT_NULL;
106581 fra.me.REG[0] = p0;
106582 /* ./parser//parser.nit:39936 */
106583 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
106584 stack_frame_head = fra.me.prev;
106585 init_table[itpos1039] = 1;
106586 return;
106587 }
106588 void parser___ReduceAction1036___action(val_t p0, val_t p1){
106589 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
106590 val_t REGB0;
106591 val_t tmp;
106592 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106593 fra.me.file = LOCATE_parser;
106594 fra.me.line = 39940;
106595 fra.me.meth = LOCATE_parser___ReduceAction1036___action;
106596 fra.me.has_broke = 0;
106597 fra.me.REG_size = 7;
106598 fra.me.REG[0] = NIT_NULL;
106599 fra.me.REG[1] = NIT_NULL;
106600 fra.me.REG[2] = NIT_NULL;
106601 fra.me.REG[3] = NIT_NULL;
106602 fra.me.REG[4] = NIT_NULL;
106603 fra.me.REG[5] = NIT_NULL;
106604 fra.me.REG[6] = NIT_NULL;
106605 fra.me.REG[0] = p0;
106606 fra.me.REG[1] = p1;
106607 fra.me.REG[0] = NIT_NULL;
106608 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106609 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106610 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106611 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106612 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106613 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106614 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106615 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106616 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106617 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106618 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106619 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
106620 /* ./parser//parser.nit:39955 */
106621 if (UNTAG_Bool(REGB0)) {
106622 } else {
106623 fprintf(stderr, "Assert failed");
106624 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39955);
106625 nit_exit(1);
106626 }
106627 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
106628 /* ./parser//parser.nit:39957 */
106629 if (UNTAG_Bool(REGB0)) {
106630 } else {
106631 fprintf(stderr, "Assert failed");
106632 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39957);
106633 nit_exit(1);
106634 }
106635 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
106636 /* ./parser//parser.nit:39959 */
106637 if (UNTAG_Bool(REGB0)) {
106638 } else {
106639 fprintf(stderr, "Assert failed");
106640 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39959);
106641 nit_exit(1);
106642 }
106643 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
106644 /* ./parser//parser.nit:39961 */
106645 if (UNTAG_Bool(REGB0)) {
106646 } else {
106647 fprintf(stderr, "Assert failed");
106648 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39961);
106649 nit_exit(1);
106650 }
106651 fra.me.REG[6] = NEW_Array_array___Array___init();
106652 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
106653 fra.me.REG[6] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[6], NIT_NULL);
106654 fra.me.REG[0] = fra.me.REG[6];
106655 REGB0 = TAG_Int(100);
106656 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
106657 /* ./parser//parser.nit:39975 */
106658 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
106659 stack_frame_head = fra.me.prev;
106660 return;
106661 }
106662 void parser___ReduceAction1036___init(val_t p0, int* init_table){
106663 int itpos1040 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1036].i;
106664 struct {struct stack_frame_t me;} fra;
106665 val_t tmp;
106666 if (init_table[itpos1040]) return;
106667 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106668 fra.me.file = LOCATE_parser;
106669 fra.me.line = 39977;
106670 fra.me.meth = LOCATE_parser___ReduceAction1036___init;
106671 fra.me.has_broke = 0;
106672 fra.me.REG_size = 1;
106673 fra.me.REG[0] = NIT_NULL;
106674 fra.me.REG[0] = p0;
106675 /* ./parser//parser.nit:39977 */
106676 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
106677 stack_frame_head = fra.me.prev;
106678 init_table[itpos1040] = 1;
106679 return;
106680 }
106681 void parser___ReduceAction1037___action(val_t p0, val_t p1){
106682 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
106683 val_t REGB0;
106684 val_t tmp;
106685 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106686 fra.me.file = LOCATE_parser;
106687 fra.me.line = 39981;
106688 fra.me.meth = LOCATE_parser___ReduceAction1037___action;
106689 fra.me.has_broke = 0;
106690 fra.me.REG_size = 7;
106691 fra.me.REG[0] = NIT_NULL;
106692 fra.me.REG[1] = NIT_NULL;
106693 fra.me.REG[2] = NIT_NULL;
106694 fra.me.REG[3] = NIT_NULL;
106695 fra.me.REG[4] = NIT_NULL;
106696 fra.me.REG[5] = NIT_NULL;
106697 fra.me.REG[6] = NIT_NULL;
106698 fra.me.REG[0] = p0;
106699 fra.me.REG[1] = p1;
106700 fra.me.REG[0] = NIT_NULL;
106701 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106702 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106703 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106704 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106705 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106706 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106707 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106708 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106709 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106710 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106711 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
106712 /* ./parser//parser.nit:39995 */
106713 if (UNTAG_Bool(REGB0)) {
106714 } else {
106715 fprintf(stderr, "Assert failed");
106716 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39995);
106717 nit_exit(1);
106718 }
106719 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
106720 /* ./parser//parser.nit:39997 */
106721 if (UNTAG_Bool(REGB0)) {
106722 } else {
106723 fprintf(stderr, "Assert failed");
106724 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39997);
106725 nit_exit(1);
106726 }
106727 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
106728 /* ./parser//parser.nit:39999 */
106729 if (UNTAG_Bool(REGB0)) {
106730 } else {
106731 fprintf(stderr, "Assert failed");
106732 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39999);
106733 nit_exit(1);
106734 }
106735 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
106736 /* ./parser//parser.nit:40001 */
106737 if (UNTAG_Bool(REGB0)) {
106738 } else {
106739 fprintf(stderr, "Assert failed");
106740 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40001);
106741 nit_exit(1);
106742 }
106743 fra.me.REG[6] = NEW_Array_array___Array___init();
106744 fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]);
106745 fra.me.REG[6] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[6], NIT_NULL);
106746 fra.me.REG[0] = fra.me.REG[6];
106747 REGB0 = TAG_Int(100);
106748 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
106749 /* ./parser//parser.nit:40015 */
106750 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
106751 stack_frame_head = fra.me.prev;
106752 return;
106753 }
106754 void parser___ReduceAction1037___init(val_t p0, int* init_table){
106755 int itpos1041 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1037].i;
106756 struct {struct stack_frame_t me;} fra;
106757 val_t tmp;
106758 if (init_table[itpos1041]) return;
106759 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106760 fra.me.file = LOCATE_parser;
106761 fra.me.line = 40017;
106762 fra.me.meth = LOCATE_parser___ReduceAction1037___init;
106763 fra.me.has_broke = 0;
106764 fra.me.REG_size = 1;
106765 fra.me.REG[0] = NIT_NULL;
106766 fra.me.REG[0] = p0;
106767 /* ./parser//parser.nit:40017 */
106768 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
106769 stack_frame_head = fra.me.prev;
106770 init_table[itpos1041] = 1;
106771 return;
106772 }
106773 void parser___ReduceAction1038___action(val_t p0, val_t p1){
106774 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
106775 val_t REGB0;
106776 val_t REGB1;
106777 val_t tmp;
106778 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106779 fra.me.file = LOCATE_parser;
106780 fra.me.line = 40021;
106781 fra.me.meth = LOCATE_parser___ReduceAction1038___action;
106782 fra.me.has_broke = 0;
106783 fra.me.REG_size = 9;
106784 fra.me.REG[0] = NIT_NULL;
106785 fra.me.REG[1] = NIT_NULL;
106786 fra.me.REG[2] = NIT_NULL;
106787 fra.me.REG[3] = NIT_NULL;
106788 fra.me.REG[4] = NIT_NULL;
106789 fra.me.REG[5] = NIT_NULL;
106790 fra.me.REG[6] = NIT_NULL;
106791 fra.me.REG[7] = NIT_NULL;
106792 fra.me.REG[8] = NIT_NULL;
106793 fra.me.REG[0] = p0;
106794 fra.me.REG[1] = p1;
106795 fra.me.REG[0] = NIT_NULL;
106796 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106797 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106798 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106799 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106800 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106801 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106802 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106803 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106804 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106805 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106806 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106807 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106808 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106809 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106810 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
106811 /* ./parser//parser.nit:40039 */
106812 if (UNTAG_Bool(REGB0)) {
106813 } else {
106814 fprintf(stderr, "Assert failed");
106815 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40039);
106816 nit_exit(1);
106817 }
106818 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TId, ID_TId)) /*cast nullable TId*/;
106819 /* ./parser//parser.nit:40041 */
106820 if (UNTAG_Bool(REGB0)) {
106821 } else {
106822 fprintf(stderr, "Assert failed");
106823 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40041);
106824 nit_exit(1);
106825 }
106826 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
106827 /* ./parser//parser.nit:40043 */
106828 if (UNTAG_Bool(REGB0)) {
106829 } else {
106830 fprintf(stderr, "Assert failed");
106831 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40043);
106832 nit_exit(1);
106833 }
106834 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
106835 /* ./parser//parser.nit:40045 */
106836 if (UNTAG_Bool(REGB0)) {
106837 } else {
106838 fprintf(stderr, "Assert failed");
106839 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40045);
106840 nit_exit(1);
106841 }
106842 fra.me.REG[8] = NEW_Array_array___Array___init();
106843 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
106844 /* ./parser//parser.nit:40048 */
106845 if (UNTAG_Bool(REGB0)) {
106846 } else {
106847 fprintf(stderr, "Assert failed");
106848 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40048);
106849 nit_exit(1);
106850 }
106851 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
106852 /* ./parser//parser.nit:40049 */
106853 if (UNTAG_Bool(REGB0)) {
106854 } else {
106855 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
106856 if (UNTAG_Bool(REGB1)) {
106857 REGB1 = TAG_Bool(false);
106858 REGB0 = REGB1;
106859 } else {
106860 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
106861 REGB0 = REGB1;
106862 }
106863 }
106864 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
106865 if (UNTAG_Bool(REGB0)) {
106866 /* ./parser//parser.nit:40050 */
106867 array___Array___add(fra.me.REG[8], fra.me.REG[3]);
106868 }
106869 fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]);
106870 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
106871 /* ./parser//parser.nit:40056 */
106872 if (UNTAG_Bool(REGB0)) {
106873 } else {
106874 fprintf(stderr, "Assert failed");
106875 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40056);
106876 nit_exit(1);
106877 }
106878 fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], fra.me.REG[2]);
106879 fra.me.REG[0] = fra.me.REG[2];
106880 REGB0 = TAG_Int(100);
106881 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
106882 /* ./parser//parser.nit:40066 */
106883 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
106884 stack_frame_head = fra.me.prev;
106885 return;
106886 }
106887 void parser___ReduceAction1038___init(val_t p0, int* init_table){
106888 int itpos1042 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1038].i;
106889 struct {struct stack_frame_t me;} fra;
106890 val_t tmp;
106891 if (init_table[itpos1042]) return;
106892 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106893 fra.me.file = LOCATE_parser;
106894 fra.me.line = 40068;
106895 fra.me.meth = LOCATE_parser___ReduceAction1038___init;
106896 fra.me.has_broke = 0;
106897 fra.me.REG_size = 1;
106898 fra.me.REG[0] = NIT_NULL;
106899 fra.me.REG[0] = p0;
106900 /* ./parser//parser.nit:40068 */
106901 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
106902 stack_frame_head = fra.me.prev;
106903 init_table[itpos1042] = 1;
106904 return;
106905 }
106906 void parser___ReduceAction1039___action(val_t p0, val_t p1){
106907 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
106908 val_t REGB0;
106909 val_t REGB1;
106910 val_t tmp;
106911 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106912 fra.me.file = LOCATE_parser;
106913 fra.me.line = 40072;
106914 fra.me.meth = LOCATE_parser___ReduceAction1039___action;
106915 fra.me.has_broke = 0;
106916 fra.me.REG_size = 10;
106917 fra.me.REG[0] = NIT_NULL;
106918 fra.me.REG[1] = NIT_NULL;
106919 fra.me.REG[2] = NIT_NULL;
106920 fra.me.REG[3] = NIT_NULL;
106921 fra.me.REG[4] = NIT_NULL;
106922 fra.me.REG[5] = NIT_NULL;
106923 fra.me.REG[6] = NIT_NULL;
106924 fra.me.REG[7] = NIT_NULL;
106925 fra.me.REG[8] = NIT_NULL;
106926 fra.me.REG[9] = NIT_NULL;
106927 fra.me.REG[0] = p0;
106928 fra.me.REG[1] = p1;
106929 fra.me.REG[0] = NIT_NULL;
106930 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106931 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106932 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106933 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106934 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106935 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106936 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106937 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106938 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106939 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106940 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106941 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106942 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106943 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106944 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
106945 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
106946 /* ./parser//parser.nit:40091 */
106947 if (UNTAG_Bool(REGB0)) {
106948 } else {
106949 fprintf(stderr, "Assert failed");
106950 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40091);
106951 nit_exit(1);
106952 }
106953 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TId, ID_TId)) /*cast nullable TId*/;
106954 /* ./parser//parser.nit:40093 */
106955 if (UNTAG_Bool(REGB0)) {
106956 } else {
106957 fprintf(stderr, "Assert failed");
106958 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40093);
106959 nit_exit(1);
106960 }
106961 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
106962 /* ./parser//parser.nit:40095 */
106963 if (UNTAG_Bool(REGB0)) {
106964 } else {
106965 fprintf(stderr, "Assert failed");
106966 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40095);
106967 nit_exit(1);
106968 }
106969 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
106970 /* ./parser//parser.nit:40097 */
106971 if (UNTAG_Bool(REGB0)) {
106972 } else {
106973 fprintf(stderr, "Assert failed");
106974 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40097);
106975 nit_exit(1);
106976 }
106977 fra.me.REG[9] = NEW_Array_array___Array___init();
106978 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
106979 /* ./parser//parser.nit:40100 */
106980 if (UNTAG_Bool(REGB0)) {
106981 } else {
106982 fprintf(stderr, "Assert failed");
106983 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40100);
106984 nit_exit(1);
106985 }
106986 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
106987 /* ./parser//parser.nit:40102 */
106988 if (UNTAG_Bool(REGB0)) {
106989 } else {
106990 fprintf(stderr, "Assert failed");
106991 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40102);
106992 nit_exit(1);
106993 }
106994 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
106995 /* ./parser//parser.nit:40103 */
106996 if (UNTAG_Bool(REGB0)) {
106997 } else {
106998 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
106999 if (UNTAG_Bool(REGB1)) {
107000 REGB1 = TAG_Bool(false);
107001 REGB0 = REGB1;
107002 } else {
107003 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
107004 REGB0 = REGB1;
107005 }
107006 }
107007 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
107008 if (UNTAG_Bool(REGB0)) {
107009 /* ./parser//parser.nit:40104 */
107010 array___Array___add(fra.me.REG[9], fra.me.REG[4]);
107011 }
107012 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]);
107013 /* ./parser//parser.nit:40107 */
107014 if (UNTAG_Bool(REGB0)) {
107015 fra.me.REG[9] = fra.me.REG[3];
107016 /* ./parser//parser.nit:40108 */
107017 } else {
107018 /* ./parser//parser.nit:40110 */
107019 CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
107020 }
107021 fra.me.REG[9] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[9]);
107022 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
107023 /* ./parser//parser.nit:40117 */
107024 if (UNTAG_Bool(REGB0)) {
107025 } else {
107026 fprintf(stderr, "Assert failed");
107027 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40117);
107028 nit_exit(1);
107029 }
107030 fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[9], fra.me.REG[2]);
107031 fra.me.REG[0] = fra.me.REG[2];
107032 REGB0 = TAG_Int(100);
107033 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
107034 /* ./parser//parser.nit:40127 */
107035 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
107036 stack_frame_head = fra.me.prev;
107037 return;
107038 }
107039 void parser___ReduceAction1039___init(val_t p0, int* init_table){
107040 int itpos1043 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1039].i;
107041 struct {struct stack_frame_t me;} fra;
107042 val_t tmp;
107043 if (init_table[itpos1043]) return;
107044 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107045 fra.me.file = LOCATE_parser;
107046 fra.me.line = 40129;
107047 fra.me.meth = LOCATE_parser___ReduceAction1039___init;
107048 fra.me.has_broke = 0;
107049 fra.me.REG_size = 1;
107050 fra.me.REG[0] = NIT_NULL;
107051 fra.me.REG[0] = p0;
107052 /* ./parser//parser.nit:40129 */
107053 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
107054 stack_frame_head = fra.me.prev;
107055 init_table[itpos1043] = 1;
107056 return;
107057 }
107058 void parser___ReduceAction1040___action(val_t p0, val_t p1){
107059 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
107060 val_t REGB0;
107061 val_t tmp;
107062 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107063 fra.me.file = LOCATE_parser;
107064 fra.me.line = 40133;
107065 fra.me.meth = LOCATE_parser___ReduceAction1040___action;
107066 fra.me.has_broke = 0;
107067 fra.me.REG_size = 8;
107068 fra.me.REG[0] = NIT_NULL;
107069 fra.me.REG[1] = NIT_NULL;
107070 fra.me.REG[2] = NIT_NULL;
107071 fra.me.REG[3] = NIT_NULL;
107072 fra.me.REG[4] = NIT_NULL;
107073 fra.me.REG[5] = NIT_NULL;
107074 fra.me.REG[6] = NIT_NULL;
107075 fra.me.REG[7] = NIT_NULL;
107076 fra.me.REG[0] = p0;
107077 fra.me.REG[1] = p1;
107078 fra.me.REG[0] = NIT_NULL;
107079 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107080 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107081 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107082 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107083 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107084 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107085 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107086 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107087 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107088 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107089 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107090 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107091 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
107092 /* ./parser//parser.nit:40149 */
107093 if (UNTAG_Bool(REGB0)) {
107094 } else {
107095 fprintf(stderr, "Assert failed");
107096 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40149);
107097 nit_exit(1);
107098 }
107099 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
107100 /* ./parser//parser.nit:40151 */
107101 if (UNTAG_Bool(REGB0)) {
107102 } else {
107103 fprintf(stderr, "Assert failed");
107104 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40151);
107105 nit_exit(1);
107106 }
107107 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
107108 /* ./parser//parser.nit:40153 */
107109 if (UNTAG_Bool(REGB0)) {
107110 } else {
107111 fprintf(stderr, "Assert failed");
107112 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40153);
107113 nit_exit(1);
107114 }
107115 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
107116 /* ./parser//parser.nit:40155 */
107117 if (UNTAG_Bool(REGB0)) {
107118 } else {
107119 fprintf(stderr, "Assert failed");
107120 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40155);
107121 nit_exit(1);
107122 }
107123 fra.me.REG[7] = NEW_Array_array___Array___init();
107124 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
107125 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
107126 /* ./parser//parser.nit:40161 */
107127 if (UNTAG_Bool(REGB0)) {
107128 } else {
107129 fprintf(stderr, "Assert failed");
107130 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40161);
107131 nit_exit(1);
107132 }
107133 fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], fra.me.REG[2]);
107134 fra.me.REG[0] = fra.me.REG[2];
107135 REGB0 = TAG_Int(100);
107136 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
107137 /* ./parser//parser.nit:40171 */
107138 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
107139 stack_frame_head = fra.me.prev;
107140 return;
107141 }
107142 void parser___ReduceAction1040___init(val_t p0, int* init_table){
107143 int itpos1044 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1040].i;
107144 struct {struct stack_frame_t me;} fra;
107145 val_t tmp;
107146 if (init_table[itpos1044]) return;
107147 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107148 fra.me.file = LOCATE_parser;
107149 fra.me.line = 40173;
107150 fra.me.meth = LOCATE_parser___ReduceAction1040___init;
107151 fra.me.has_broke = 0;
107152 fra.me.REG_size = 1;
107153 fra.me.REG[0] = NIT_NULL;
107154 fra.me.REG[0] = p0;
107155 /* ./parser//parser.nit:40173 */
107156 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
107157 stack_frame_head = fra.me.prev;
107158 init_table[itpos1044] = 1;
107159 return;
107160 }
107161 void parser___ReduceAction1041___action(val_t p0, val_t p1){
107162 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
107163 val_t REGB0;
107164 val_t tmp;
107165 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107166 fra.me.file = LOCATE_parser;
107167 fra.me.line = 40177;
107168 fra.me.meth = LOCATE_parser___ReduceAction1041___action;
107169 fra.me.has_broke = 0;
107170 fra.me.REG_size = 8;
107171 fra.me.REG[0] = NIT_NULL;
107172 fra.me.REG[1] = NIT_NULL;
107173 fra.me.REG[2] = NIT_NULL;
107174 fra.me.REG[3] = NIT_NULL;
107175 fra.me.REG[4] = NIT_NULL;
107176 fra.me.REG[5] = NIT_NULL;
107177 fra.me.REG[6] = NIT_NULL;
107178 fra.me.REG[7] = NIT_NULL;
107179 fra.me.REG[0] = p0;
107180 fra.me.REG[1] = p1;
107181 fra.me.REG[0] = NIT_NULL;
107182 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107183 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107184 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107185 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107186 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107187 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107188 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107189 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107190 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107191 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107192 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107193 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
107194 /* ./parser//parser.nit:40192 */
107195 if (UNTAG_Bool(REGB0)) {
107196 } else {
107197 fprintf(stderr, "Assert failed");
107198 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40192);
107199 nit_exit(1);
107200 }
107201 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
107202 /* ./parser//parser.nit:40194 */
107203 if (UNTAG_Bool(REGB0)) {
107204 } else {
107205 fprintf(stderr, "Assert failed");
107206 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40194);
107207 nit_exit(1);
107208 }
107209 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
107210 /* ./parser//parser.nit:40196 */
107211 if (UNTAG_Bool(REGB0)) {
107212 } else {
107213 fprintf(stderr, "Assert failed");
107214 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40196);
107215 nit_exit(1);
107216 }
107217 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
107218 /* ./parser//parser.nit:40198 */
107219 if (UNTAG_Bool(REGB0)) {
107220 } else {
107221 fprintf(stderr, "Assert failed");
107222 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40198);
107223 nit_exit(1);
107224 }
107225 fra.me.REG[7] = NEW_Array_array___Array___init();
107226 fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]);
107227 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/;
107228 /* ./parser//parser.nit:40204 */
107229 if (UNTAG_Bool(REGB0)) {
107230 } else {
107231 fprintf(stderr, "Assert failed");
107232 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40204);
107233 nit_exit(1);
107234 }
107235 fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], fra.me.REG[2]);
107236 fra.me.REG[0] = fra.me.REG[2];
107237 REGB0 = TAG_Int(100);
107238 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
107239 /* ./parser//parser.nit:40214 */
107240 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
107241 stack_frame_head = fra.me.prev;
107242 return;
107243 }
107244 void parser___ReduceAction1041___init(val_t p0, int* init_table){
107245 int itpos1045 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1041].i;
107246 struct {struct stack_frame_t me;} fra;
107247 val_t tmp;
107248 if (init_table[itpos1045]) return;
107249 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107250 fra.me.file = LOCATE_parser;
107251 fra.me.line = 40216;
107252 fra.me.meth = LOCATE_parser___ReduceAction1041___init;
107253 fra.me.has_broke = 0;
107254 fra.me.REG_size = 1;
107255 fra.me.REG[0] = NIT_NULL;
107256 fra.me.REG[0] = p0;
107257 /* ./parser//parser.nit:40216 */
107258 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
107259 stack_frame_head = fra.me.prev;
107260 init_table[itpos1045] = 1;
107261 return;
107262 }
107263 void parser___ReduceAction1042___action(val_t p0, val_t p1){
107264 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
107265 val_t REGB0;
107266 val_t tmp;
107267 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107268 fra.me.file = LOCATE_parser;
107269 fra.me.line = 40220;
107270 fra.me.meth = LOCATE_parser___ReduceAction1042___action;
107271 fra.me.has_broke = 0;
107272 fra.me.REG_size = 7;
107273 fra.me.REG[0] = NIT_NULL;
107274 fra.me.REG[1] = NIT_NULL;
107275 fra.me.REG[2] = NIT_NULL;
107276 fra.me.REG[3] = NIT_NULL;
107277 fra.me.REG[4] = NIT_NULL;
107278 fra.me.REG[5] = NIT_NULL;
107279 fra.me.REG[6] = NIT_NULL;
107280 fra.me.REG[0] = p0;
107281 fra.me.REG[1] = p1;
107282 fra.me.REG[0] = NIT_NULL;
107283 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107284 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107285 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107286 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107287 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107288 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107289 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107290 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107291 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107292 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107293 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/;
107294 /* ./parser//parser.nit:40234 */
107295 if (UNTAG_Bool(REGB0)) {
107296 } else {
107297 fprintf(stderr, "Assert failed");
107298 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40234);
107299 nit_exit(1);
107300 }
107301 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/;
107302 /* ./parser//parser.nit:40236 */
107303 if (UNTAG_Bool(REGB0)) {
107304 } else {
107305 fprintf(stderr, "Assert failed");
107306 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40236);
107307 nit_exit(1);
107308 }
107309 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
107310 /* ./parser//parser.nit:40238 */
107311 if (UNTAG_Bool(REGB0)) {
107312 } else {
107313 fprintf(stderr, "Assert failed");
107314 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40238);
107315 nit_exit(1);
107316 }
107317 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/;
107318 /* ./parser//parser.nit:40240 */
107319 if (UNTAG_Bool(REGB0)) {
107320 } else {
107321 fprintf(stderr, "Assert failed");
107322 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40240);
107323 nit_exit(1);
107324 }
107325 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
107326 /* ./parser//parser.nit:40242 */
107327 if (UNTAG_Bool(REGB0)) {
107328 } else {
107329 fprintf(stderr, "Assert failed");
107330 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40242);
107331 nit_exit(1);
107332 }
107333 fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL);
107334 fra.me.REG[0] = fra.me.REG[2];
107335 REGB0 = TAG_Int(100);
107336 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
107337 /* ./parser//parser.nit:40252 */
107338 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
107339 stack_frame_head = fra.me.prev;
107340 return;
107341 }
107342 void parser___ReduceAction1042___init(val_t p0, int* init_table){
107343 int itpos1046 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1042].i;
107344 struct {struct stack_frame_t me;} fra;
107345 val_t tmp;
107346 if (init_table[itpos1046]) return;
107347 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107348 fra.me.file = LOCATE_parser;
107349 fra.me.line = 40254;
107350 fra.me.meth = LOCATE_parser___ReduceAction1042___init;
107351 fra.me.has_broke = 0;
107352 fra.me.REG_size = 1;
107353 fra.me.REG[0] = NIT_NULL;
107354 fra.me.REG[0] = p0;
107355 /* ./parser//parser.nit:40254 */
107356 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
107357 stack_frame_head = fra.me.prev;
107358 init_table[itpos1046] = 1;
107359 return;
107360 }
107361 void parser___ReduceAction1043___action(val_t p0, val_t p1){
107362 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
107363 val_t REGB0;
107364 val_t tmp;
107365 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107366 fra.me.file = LOCATE_parser;
107367 fra.me.line = 40258;
107368 fra.me.meth = LOCATE_parser___ReduceAction1043___action;
107369 fra.me.has_broke = 0;
107370 fra.me.REG_size = 5;
107371 fra.me.REG[0] = NIT_NULL;
107372 fra.me.REG[1] = NIT_NULL;
107373 fra.me.REG[2] = NIT_NULL;
107374 fra.me.REG[3] = NIT_NULL;
107375 fra.me.REG[4] = NIT_NULL;
107376 fra.me.REG[0] = p0;
107377 fra.me.REG[1] = p1;
107378 fra.me.REG[0] = NIT_NULL;
107379 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107380 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107381 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107382 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107383 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwassert, ID_TKwassert)) /*cast nullable TKwassert*/;
107384 /* ./parser//parser.nit:40266 */
107385 if (UNTAG_Bool(REGB0)) {
107386 } else {
107387 fprintf(stderr, "Assert failed");
107388 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40266);
107389 nit_exit(1);
107390 }
107391 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
107392 /* ./parser//parser.nit:40268 */
107393 if (UNTAG_Bool(REGB0)) {
107394 } else {
107395 fprintf(stderr, "Assert failed");
107396 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40268);
107397 nit_exit(1);
107398 }
107399 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
107400 /* ./parser//parser.nit:40270 */
107401 if (UNTAG_Bool(REGB0)) {
107402 } else {
107403 fprintf(stderr, "Assert failed");
107404 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40270);
107405 nit_exit(1);
107406 }
107407 fra.me.REG[2] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]);
107408 fra.me.REG[0] = fra.me.REG[2];
107409 REGB0 = TAG_Int(101);
107410 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
107411 /* ./parser//parser.nit:40278 */
107412 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
107413 stack_frame_head = fra.me.prev;
107414 return;
107415 }
107416 void parser___ReduceAction1043___init(val_t p0, int* init_table){
107417 int itpos1047 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1043].i;
107418 struct {struct stack_frame_t me;} fra;
107419 val_t tmp;
107420 if (init_table[itpos1047]) return;
107421 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107422 fra.me.file = LOCATE_parser;
107423 fra.me.line = 40280;
107424 fra.me.meth = LOCATE_parser___ReduceAction1043___init;
107425 fra.me.has_broke = 0;
107426 fra.me.REG_size = 1;
107427 fra.me.REG[0] = NIT_NULL;
107428 fra.me.REG[0] = p0;
107429 /* ./parser//parser.nit:40280 */
107430 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
107431 stack_frame_head = fra.me.prev;
107432 init_table[itpos1047] = 1;
107433 return;
107434 }
107435 void parser___ReduceAction1044___action(val_t p0, val_t p1){
107436 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
107437 val_t REGB0;
107438 val_t tmp;
107439 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107440 fra.me.file = LOCATE_parser;
107441 fra.me.line = 40284;
107442 fra.me.meth = LOCATE_parser___ReduceAction1044___action;
107443 fra.me.has_broke = 0;
107444 fra.me.REG_size = 6;
107445 fra.me.REG[0] = NIT_NULL;
107446 fra.me.REG[1] = NIT_NULL;
107447 fra.me.REG[2] = NIT_NULL;
107448 fra.me.REG[3] = NIT_NULL;
107449 fra.me.REG[4] = NIT_NULL;
107450 fra.me.REG[5] = NIT_NULL;
107451 fra.me.REG[0] = p0;
107452 fra.me.REG[1] = p1;
107453 fra.me.REG[0] = NIT_NULL;
107454 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107455 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107456 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107457 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107458 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107459 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwassert, ID_TKwassert)) /*cast nullable TKwassert*/;
107460 /* ./parser//parser.nit:40293 */
107461 if (UNTAG_Bool(REGB0)) {
107462 } else {
107463 fprintf(stderr, "Assert failed");
107464 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40293);
107465 nit_exit(1);
107466 }
107467 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
107468 /* ./parser//parser.nit:40295 */
107469 if (UNTAG_Bool(REGB0)) {
107470 } else {
107471 fprintf(stderr, "Assert failed");
107472 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40295);
107473 nit_exit(1);
107474 }
107475 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
107476 /* ./parser//parser.nit:40297 */
107477 if (UNTAG_Bool(REGB0)) {
107478 } else {
107479 fprintf(stderr, "Assert failed");
107480 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40297);
107481 nit_exit(1);
107482 }
107483 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
107484 /* ./parser//parser.nit:40299 */
107485 if (UNTAG_Bool(REGB0)) {
107486 } else {
107487 fprintf(stderr, "Assert failed");
107488 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40299);
107489 nit_exit(1);
107490 }
107491 fra.me.REG[2] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
107492 fra.me.REG[0] = fra.me.REG[2];
107493 REGB0 = TAG_Int(101);
107494 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
107495 /* ./parser//parser.nit:40307 */
107496 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
107497 stack_frame_head = fra.me.prev;
107498 return;
107499 }
107500 void parser___ReduceAction1044___init(val_t p0, int* init_table){
107501 int itpos1048 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1044].i;
107502 struct {struct stack_frame_t me;} fra;
107503 val_t tmp;
107504 if (init_table[itpos1048]) return;
107505 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107506 fra.me.file = LOCATE_parser;
107507 fra.me.line = 40309;
107508 fra.me.meth = LOCATE_parser___ReduceAction1044___init;
107509 fra.me.has_broke = 0;
107510 fra.me.REG_size = 1;
107511 fra.me.REG[0] = NIT_NULL;
107512 fra.me.REG[0] = p0;
107513 /* ./parser//parser.nit:40309 */
107514 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
107515 stack_frame_head = fra.me.prev;
107516 init_table[itpos1048] = 1;
107517 return;
107518 }
107519 void parser___ReduceAction1045___action(val_t p0, val_t p1){
107520 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
107521 val_t REGB0;
107522 val_t tmp;
107523 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107524 fra.me.file = LOCATE_parser;
107525 fra.me.line = 40313;
107526 fra.me.meth = LOCATE_parser___ReduceAction1045___action;
107527 fra.me.has_broke = 0;
107528 fra.me.REG_size = 3;
107529 fra.me.REG[0] = NIT_NULL;
107530 fra.me.REG[1] = NIT_NULL;
107531 fra.me.REG[2] = NIT_NULL;
107532 fra.me.REG[0] = p0;
107533 fra.me.REG[1] = p1;
107534 fra.me.REG[0] = NIT_NULL;
107535 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107536 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
107537 /* ./parser//parser.nit:40318 */
107538 if (UNTAG_Bool(REGB0)) {
107539 } else {
107540 fprintf(stderr, "Assert failed");
107541 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40318);
107542 nit_exit(1);
107543 }
107544 fra.me.REG[0] = fra.me.REG[2];
107545 REGB0 = TAG_Int(102);
107546 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
107547 /* ./parser//parser.nit:40320 */
107548 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
107549 stack_frame_head = fra.me.prev;
107550 return;
107551 }
107552 void parser___ReduceAction1045___init(val_t p0, int* init_table){
107553 int itpos1049 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1045].i;
107554 struct {struct stack_frame_t me;} fra;
107555 val_t tmp;
107556 if (init_table[itpos1049]) return;
107557 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107558 fra.me.file = LOCATE_parser;
107559 fra.me.line = 40322;
107560 fra.me.meth = LOCATE_parser___ReduceAction1045___init;
107561 fra.me.has_broke = 0;
107562 fra.me.REG_size = 1;
107563 fra.me.REG[0] = NIT_NULL;
107564 fra.me.REG[0] = p0;
107565 /* ./parser//parser.nit:40322 */
107566 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
107567 stack_frame_head = fra.me.prev;
107568 init_table[itpos1049] = 1;
107569 return;
107570 }
107571 void parser___ReduceAction1046___action(val_t p0, val_t p1){
107572 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
107573 val_t REGB0;
107574 val_t tmp;
107575 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107576 fra.me.file = LOCATE_parser;
107577 fra.me.line = 40326;
107578 fra.me.meth = LOCATE_parser___ReduceAction1046___action;
107579 fra.me.has_broke = 0;
107580 fra.me.REG_size = 8;
107581 fra.me.REG[0] = NIT_NULL;
107582 fra.me.REG[1] = NIT_NULL;
107583 fra.me.REG[2] = NIT_NULL;
107584 fra.me.REG[3] = NIT_NULL;
107585 fra.me.REG[4] = NIT_NULL;
107586 fra.me.REG[5] = NIT_NULL;
107587 fra.me.REG[6] = NIT_NULL;
107588 fra.me.REG[7] = NIT_NULL;
107589 fra.me.REG[0] = p0;
107590 fra.me.REG[1] = p1;
107591 fra.me.REG[0] = NIT_NULL;
107592 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107593 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107594 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107595 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107596 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107597 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107598 fra.me.REG[6] = NEW_Array_array___Array___init();
107599 fra.me.REG[7] = NEW_Array_array___Array___init();
107600 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
107601 /* ./parser//parser.nit:40338 */
107602 if (UNTAG_Bool(REGB0)) {
107603 } else {
107604 fprintf(stderr, "Assert failed");
107605 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40338);
107606 nit_exit(1);
107607 }
107608 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
107609 /* ./parser//parser.nit:40340 */
107610 if (UNTAG_Bool(REGB0)) {
107611 } else {
107612 fprintf(stderr, "Assert failed");
107613 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40340);
107614 nit_exit(1);
107615 }
107616 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
107617 /* ./parser//parser.nit:40342 */
107618 if (UNTAG_Bool(REGB0)) {
107619 } else {
107620 fprintf(stderr, "Assert failed");
107621 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40342);
107622 nit_exit(1);
107623 }
107624 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
107625 /* ./parser//parser.nit:40344 */
107626 if (UNTAG_Bool(REGB0)) {
107627 fra.me.REG[6] = fra.me.REG[3];
107628 /* ./parser//parser.nit:40345 */
107629 } else {
107630 /* ./parser//parser.nit:40347 */
107631 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
107632 }
107633 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
107634 /* ./parser//parser.nit:40351 */
107635 if (UNTAG_Bool(REGB0)) {
107636 } else {
107637 fprintf(stderr, "Assert failed");
107638 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40351);
107639 nit_exit(1);
107640 }
107641 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
107642 /* ./parser//parser.nit:40353 */
107643 if (UNTAG_Bool(REGB0)) {
107644 fra.me.REG[7] = fra.me.REG[2];
107645 /* ./parser//parser.nit:40354 */
107646 } else {
107647 /* ./parser//parser.nit:40356 */
107648 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]);
107649 }
107650 fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]);
107651 fra.me.REG[0] = fra.me.REG[7];
107652 REGB0 = TAG_Int(102);
107653 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
107654 /* ./parser//parser.nit:40366 */
107655 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
107656 stack_frame_head = fra.me.prev;
107657 return;
107658 }
107659 void parser___ReduceAction1046___init(val_t p0, int* init_table){
107660 int itpos1050 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1046].i;
107661 struct {struct stack_frame_t me;} fra;
107662 val_t tmp;
107663 if (init_table[itpos1050]) return;
107664 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107665 fra.me.file = LOCATE_parser;
107666 fra.me.line = 40368;
107667 fra.me.meth = LOCATE_parser___ReduceAction1046___init;
107668 fra.me.has_broke = 0;
107669 fra.me.REG_size = 1;
107670 fra.me.REG[0] = NIT_NULL;
107671 fra.me.REG[0] = p0;
107672 /* ./parser//parser.nit:40368 */
107673 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
107674 stack_frame_head = fra.me.prev;
107675 init_table[itpos1050] = 1;
107676 return;
107677 }
107678 void parser___ReduceAction1047___action(val_t p0, val_t p1){
107679 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
107680 val_t REGB0;
107681 val_t tmp;
107682 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107683 fra.me.file = LOCATE_parser;
107684 fra.me.line = 40372;
107685 fra.me.meth = LOCATE_parser___ReduceAction1047___action;
107686 fra.me.has_broke = 0;
107687 fra.me.REG_size = 8;
107688 fra.me.REG[0] = NIT_NULL;
107689 fra.me.REG[1] = NIT_NULL;
107690 fra.me.REG[2] = NIT_NULL;
107691 fra.me.REG[3] = NIT_NULL;
107692 fra.me.REG[4] = NIT_NULL;
107693 fra.me.REG[5] = NIT_NULL;
107694 fra.me.REG[6] = NIT_NULL;
107695 fra.me.REG[7] = NIT_NULL;
107696 fra.me.REG[0] = p0;
107697 fra.me.REG[1] = p1;
107698 fra.me.REG[0] = NIT_NULL;
107699 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107700 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107701 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107702 fra.me.REG[5] = NEW_Array_array___Array___init();
107703 fra.me.REG[6] = NEW_Array_array___Array___init();
107704 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
107705 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
107706 /* ./parser//parser.nit:40383 */
107707 if (UNTAG_Bool(REGB0)) {
107708 } else {
107709 fprintf(stderr, "Assert failed");
107710 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40383);
107711 nit_exit(1);
107712 }
107713 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
107714 /* ./parser//parser.nit:40385 */
107715 if (UNTAG_Bool(REGB0)) {
107716 } else {
107717 fprintf(stderr, "Assert failed");
107718 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40385);
107719 nit_exit(1);
107720 }
107721 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
107722 /* ./parser//parser.nit:40387 */
107723 if (UNTAG_Bool(REGB0)) {
107724 fra.me.REG[5] = fra.me.REG[3];
107725 /* ./parser//parser.nit:40388 */
107726 } else {
107727 /* ./parser//parser.nit:40390 */
107728 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
107729 }
107730 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
107731 /* ./parser//parser.nit:40394 */
107732 if (UNTAG_Bool(REGB0)) {
107733 } else {
107734 fprintf(stderr, "Assert failed");
107735 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40394);
107736 nit_exit(1);
107737 }
107738 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
107739 /* ./parser//parser.nit:40396 */
107740 if (UNTAG_Bool(REGB0)) {
107741 fra.me.REG[6] = fra.me.REG[2];
107742 /* ./parser//parser.nit:40397 */
107743 } else {
107744 /* ./parser//parser.nit:40399 */
107745 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
107746 }
107747 fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
107748 fra.me.REG[0] = fra.me.REG[6];
107749 REGB0 = TAG_Int(102);
107750 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
107751 /* ./parser//parser.nit:40409 */
107752 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
107753 stack_frame_head = fra.me.prev;
107754 return;
107755 }
107756 void parser___ReduceAction1047___init(val_t p0, int* init_table){
107757 int itpos1051 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1047].i;
107758 struct {struct stack_frame_t me;} fra;
107759 val_t tmp;
107760 if (init_table[itpos1051]) return;
107761 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107762 fra.me.file = LOCATE_parser;
107763 fra.me.line = 40411;
107764 fra.me.meth = LOCATE_parser___ReduceAction1047___init;
107765 fra.me.has_broke = 0;
107766 fra.me.REG_size = 1;
107767 fra.me.REG[0] = NIT_NULL;
107768 fra.me.REG[0] = p0;
107769 /* ./parser//parser.nit:40411 */
107770 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
107771 stack_frame_head = fra.me.prev;
107772 init_table[itpos1051] = 1;
107773 return;
107774 }
107775 void parser___ReduceAction1048___action(val_t p0, val_t p1){
107776 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
107777 val_t REGB0;
107778 val_t tmp;
107779 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107780 fra.me.file = LOCATE_parser;
107781 fra.me.line = 40415;
107782 fra.me.meth = LOCATE_parser___ReduceAction1048___action;
107783 fra.me.has_broke = 0;
107784 fra.me.REG_size = 7;
107785 fra.me.REG[0] = NIT_NULL;
107786 fra.me.REG[1] = NIT_NULL;
107787 fra.me.REG[2] = NIT_NULL;
107788 fra.me.REG[3] = NIT_NULL;
107789 fra.me.REG[4] = NIT_NULL;
107790 fra.me.REG[5] = NIT_NULL;
107791 fra.me.REG[6] = NIT_NULL;
107792 fra.me.REG[0] = p0;
107793 fra.me.REG[1] = p1;
107794 fra.me.REG[0] = NIT_NULL;
107795 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107796 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107797 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107798 fra.me.REG[5] = NEW_Array_array___Array___init();
107799 fra.me.REG[6] = NEW_Array_array___Array___init();
107800 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
107801 /* ./parser//parser.nit:40424 */
107802 if (UNTAG_Bool(REGB0)) {
107803 } else {
107804 fprintf(stderr, "Assert failed");
107805 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40424);
107806 nit_exit(1);
107807 }
107808 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
107809 /* ./parser//parser.nit:40426 */
107810 if (UNTAG_Bool(REGB0)) {
107811 } else {
107812 fprintf(stderr, "Assert failed");
107813 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40426);
107814 nit_exit(1);
107815 }
107816 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
107817 /* ./parser//parser.nit:40428 */
107818 if (UNTAG_Bool(REGB0)) {
107819 fra.me.REG[5] = fra.me.REG[3];
107820 /* ./parser//parser.nit:40429 */
107821 } else {
107822 /* ./parser//parser.nit:40431 */
107823 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
107824 }
107825 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
107826 /* ./parser//parser.nit:40435 */
107827 if (UNTAG_Bool(REGB0)) {
107828 } else {
107829 fprintf(stderr, "Assert failed");
107830 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40435);
107831 nit_exit(1);
107832 }
107833 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
107834 /* ./parser//parser.nit:40437 */
107835 if (UNTAG_Bool(REGB0)) {
107836 fra.me.REG[6] = fra.me.REG[2];
107837 /* ./parser//parser.nit:40438 */
107838 } else {
107839 /* ./parser//parser.nit:40440 */
107840 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
107841 }
107842 fra.me.REG[6] = NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
107843 fra.me.REG[0] = fra.me.REG[6];
107844 REGB0 = TAG_Int(102);
107845 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
107846 /* ./parser//parser.nit:40449 */
107847 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
107848 stack_frame_head = fra.me.prev;
107849 return;
107850 }
107851 void parser___ReduceAction1048___init(val_t p0, int* init_table){
107852 int itpos1052 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1048].i;
107853 struct {struct stack_frame_t me;} fra;
107854 val_t tmp;
107855 if (init_table[itpos1052]) return;
107856 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107857 fra.me.file = LOCATE_parser;
107858 fra.me.line = 40451;
107859 fra.me.meth = LOCATE_parser___ReduceAction1048___init;
107860 fra.me.has_broke = 0;
107861 fra.me.REG_size = 1;
107862 fra.me.REG[0] = NIT_NULL;
107863 fra.me.REG[0] = p0;
107864 /* ./parser//parser.nit:40451 */
107865 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
107866 stack_frame_head = fra.me.prev;
107867 init_table[itpos1052] = 1;
107868 return;
107869 }
107870 void parser___ReduceAction1049___action(val_t p0, val_t p1){
107871 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
107872 val_t REGB0;
107873 val_t tmp;
107874 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107875 fra.me.file = LOCATE_parser;
107876 fra.me.line = 40455;
107877 fra.me.meth = LOCATE_parser___ReduceAction1049___action;
107878 fra.me.has_broke = 0;
107879 fra.me.REG_size = 3;
107880 fra.me.REG[0] = NIT_NULL;
107881 fra.me.REG[1] = NIT_NULL;
107882 fra.me.REG[2] = NIT_NULL;
107883 fra.me.REG[0] = p0;
107884 fra.me.REG[1] = p1;
107885 fra.me.REG[0] = NIT_NULL;
107886 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107887 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
107888 /* ./parser//parser.nit:40460 */
107889 if (UNTAG_Bool(REGB0)) {
107890 } else {
107891 fprintf(stderr, "Assert failed");
107892 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40460);
107893 nit_exit(1);
107894 }
107895 fra.me.REG[0] = fra.me.REG[2];
107896 REGB0 = TAG_Int(103);
107897 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
107898 /* ./parser//parser.nit:40462 */
107899 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
107900 stack_frame_head = fra.me.prev;
107901 return;
107902 }
107903 void parser___ReduceAction1049___init(val_t p0, int* init_table){
107904 int itpos1053 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1049].i;
107905 struct {struct stack_frame_t me;} fra;
107906 val_t tmp;
107907 if (init_table[itpos1053]) return;
107908 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107909 fra.me.file = LOCATE_parser;
107910 fra.me.line = 40464;
107911 fra.me.meth = LOCATE_parser___ReduceAction1049___init;
107912 fra.me.has_broke = 0;
107913 fra.me.REG_size = 1;
107914 fra.me.REG[0] = NIT_NULL;
107915 fra.me.REG[0] = p0;
107916 /* ./parser//parser.nit:40464 */
107917 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
107918 stack_frame_head = fra.me.prev;
107919 init_table[itpos1053] = 1;
107920 return;
107921 }
107922 void parser___ReduceAction1050___action(val_t p0, val_t p1){
107923 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
107924 val_t REGB0;
107925 val_t tmp;
107926 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
107927 fra.me.file = LOCATE_parser;
107928 fra.me.line = 40468;
107929 fra.me.meth = LOCATE_parser___ReduceAction1050___action;
107930 fra.me.has_broke = 0;
107931 fra.me.REG_size = 8;
107932 fra.me.REG[0] = NIT_NULL;
107933 fra.me.REG[1] = NIT_NULL;
107934 fra.me.REG[2] = NIT_NULL;
107935 fra.me.REG[3] = NIT_NULL;
107936 fra.me.REG[4] = NIT_NULL;
107937 fra.me.REG[5] = NIT_NULL;
107938 fra.me.REG[6] = NIT_NULL;
107939 fra.me.REG[7] = NIT_NULL;
107940 fra.me.REG[0] = p0;
107941 fra.me.REG[1] = p1;
107942 fra.me.REG[0] = NIT_NULL;
107943 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107944 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107945 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107946 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107947 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107948 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
107949 fra.me.REG[6] = NEW_Array_array___Array___init();
107950 fra.me.REG[7] = NEW_Array_array___Array___init();
107951 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
107952 /* ./parser//parser.nit:40480 */
107953 if (UNTAG_Bool(REGB0)) {
107954 } else {
107955 fprintf(stderr, "Assert failed");
107956 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40480);
107957 nit_exit(1);
107958 }
107959 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
107960 /* ./parser//parser.nit:40482 */
107961 if (UNTAG_Bool(REGB0)) {
107962 } else {
107963 fprintf(stderr, "Assert failed");
107964 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40482);
107965 nit_exit(1);
107966 }
107967 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
107968 /* ./parser//parser.nit:40484 */
107969 if (UNTAG_Bool(REGB0)) {
107970 } else {
107971 fprintf(stderr, "Assert failed");
107972 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40484);
107973 nit_exit(1);
107974 }
107975 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
107976 /* ./parser//parser.nit:40486 */
107977 if (UNTAG_Bool(REGB0)) {
107978 fra.me.REG[6] = fra.me.REG[3];
107979 /* ./parser//parser.nit:40487 */
107980 } else {
107981 /* ./parser//parser.nit:40489 */
107982 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
107983 }
107984 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
107985 /* ./parser//parser.nit:40493 */
107986 if (UNTAG_Bool(REGB0)) {
107987 } else {
107988 fprintf(stderr, "Assert failed");
107989 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40493);
107990 nit_exit(1);
107991 }
107992 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
107993 /* ./parser//parser.nit:40495 */
107994 if (UNTAG_Bool(REGB0)) {
107995 fra.me.REG[7] = fra.me.REG[2];
107996 /* ./parser//parser.nit:40496 */
107997 } else {
107998 /* ./parser//parser.nit:40498 */
107999 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]);
108000 }
108001 fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]);
108002 fra.me.REG[0] = fra.me.REG[7];
108003 REGB0 = TAG_Int(103);
108004 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
108005 /* ./parser//parser.nit:40508 */
108006 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
108007 stack_frame_head = fra.me.prev;
108008 return;
108009 }
108010 void parser___ReduceAction1050___init(val_t p0, int* init_table){
108011 int itpos1054 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1050].i;
108012 struct {struct stack_frame_t me;} fra;
108013 val_t tmp;
108014 if (init_table[itpos1054]) return;
108015 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108016 fra.me.file = LOCATE_parser;
108017 fra.me.line = 40510;
108018 fra.me.meth = LOCATE_parser___ReduceAction1050___init;
108019 fra.me.has_broke = 0;
108020 fra.me.REG_size = 1;
108021 fra.me.REG[0] = NIT_NULL;
108022 fra.me.REG[0] = p0;
108023 /* ./parser//parser.nit:40510 */
108024 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
108025 stack_frame_head = fra.me.prev;
108026 init_table[itpos1054] = 1;
108027 return;
108028 }
108029 void parser___ReduceAction1051___action(val_t p0, val_t p1){
108030 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
108031 val_t REGB0;
108032 val_t tmp;
108033 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108034 fra.me.file = LOCATE_parser;
108035 fra.me.line = 40514;
108036 fra.me.meth = LOCATE_parser___ReduceAction1051___action;
108037 fra.me.has_broke = 0;
108038 fra.me.REG_size = 8;
108039 fra.me.REG[0] = NIT_NULL;
108040 fra.me.REG[1] = NIT_NULL;
108041 fra.me.REG[2] = NIT_NULL;
108042 fra.me.REG[3] = NIT_NULL;
108043 fra.me.REG[4] = NIT_NULL;
108044 fra.me.REG[5] = NIT_NULL;
108045 fra.me.REG[6] = NIT_NULL;
108046 fra.me.REG[7] = NIT_NULL;
108047 fra.me.REG[0] = p0;
108048 fra.me.REG[1] = p1;
108049 fra.me.REG[0] = NIT_NULL;
108050 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108051 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108052 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108053 fra.me.REG[5] = NEW_Array_array___Array___init();
108054 fra.me.REG[6] = NEW_Array_array___Array___init();
108055 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
108056 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
108057 /* ./parser//parser.nit:40525 */
108058 if (UNTAG_Bool(REGB0)) {
108059 } else {
108060 fprintf(stderr, "Assert failed");
108061 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40525);
108062 nit_exit(1);
108063 }
108064 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
108065 /* ./parser//parser.nit:40527 */
108066 if (UNTAG_Bool(REGB0)) {
108067 } else {
108068 fprintf(stderr, "Assert failed");
108069 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40527);
108070 nit_exit(1);
108071 }
108072 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
108073 /* ./parser//parser.nit:40529 */
108074 if (UNTAG_Bool(REGB0)) {
108075 fra.me.REG[5] = fra.me.REG[3];
108076 /* ./parser//parser.nit:40530 */
108077 } else {
108078 /* ./parser//parser.nit:40532 */
108079 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
108080 }
108081 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
108082 /* ./parser//parser.nit:40536 */
108083 if (UNTAG_Bool(REGB0)) {
108084 } else {
108085 fprintf(stderr, "Assert failed");
108086 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40536);
108087 nit_exit(1);
108088 }
108089 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
108090 /* ./parser//parser.nit:40538 */
108091 if (UNTAG_Bool(REGB0)) {
108092 fra.me.REG[6] = fra.me.REG[2];
108093 /* ./parser//parser.nit:40539 */
108094 } else {
108095 /* ./parser//parser.nit:40541 */
108096 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
108097 }
108098 fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
108099 fra.me.REG[0] = fra.me.REG[6];
108100 REGB0 = TAG_Int(103);
108101 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
108102 /* ./parser//parser.nit:40551 */
108103 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
108104 stack_frame_head = fra.me.prev;
108105 return;
108106 }
108107 void parser___ReduceAction1051___init(val_t p0, int* init_table){
108108 int itpos1055 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1051].i;
108109 struct {struct stack_frame_t me;} fra;
108110 val_t tmp;
108111 if (init_table[itpos1055]) return;
108112 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108113 fra.me.file = LOCATE_parser;
108114 fra.me.line = 40553;
108115 fra.me.meth = LOCATE_parser___ReduceAction1051___init;
108116 fra.me.has_broke = 0;
108117 fra.me.REG_size = 1;
108118 fra.me.REG[0] = NIT_NULL;
108119 fra.me.REG[0] = p0;
108120 /* ./parser//parser.nit:40553 */
108121 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
108122 stack_frame_head = fra.me.prev;
108123 init_table[itpos1055] = 1;
108124 return;
108125 }
108126 void parser___ReduceAction1052___action(val_t p0, val_t p1){
108127 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
108128 val_t REGB0;
108129 val_t tmp;
108130 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108131 fra.me.file = LOCATE_parser;
108132 fra.me.line = 40557;
108133 fra.me.meth = LOCATE_parser___ReduceAction1052___action;
108134 fra.me.has_broke = 0;
108135 fra.me.REG_size = 3;
108136 fra.me.REG[0] = NIT_NULL;
108137 fra.me.REG[1] = NIT_NULL;
108138 fra.me.REG[2] = NIT_NULL;
108139 fra.me.REG[0] = p0;
108140 fra.me.REG[1] = p1;
108141 fra.me.REG[0] = NIT_NULL;
108142 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108143 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108144 /* ./parser//parser.nit:40562 */
108145 if (UNTAG_Bool(REGB0)) {
108146 } else {
108147 fprintf(stderr, "Assert failed");
108148 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40562);
108149 nit_exit(1);
108150 }
108151 fra.me.REG[0] = fra.me.REG[2];
108152 REGB0 = TAG_Int(104);
108153 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
108154 /* ./parser//parser.nit:40564 */
108155 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
108156 stack_frame_head = fra.me.prev;
108157 return;
108158 }
108159 void parser___ReduceAction1052___init(val_t p0, int* init_table){
108160 int itpos1056 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1052].i;
108161 struct {struct stack_frame_t me;} fra;
108162 val_t tmp;
108163 if (init_table[itpos1056]) return;
108164 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108165 fra.me.file = LOCATE_parser;
108166 fra.me.line = 40566;
108167 fra.me.meth = LOCATE_parser___ReduceAction1052___init;
108168 fra.me.has_broke = 0;
108169 fra.me.REG_size = 1;
108170 fra.me.REG[0] = NIT_NULL;
108171 fra.me.REG[0] = p0;
108172 /* ./parser//parser.nit:40566 */
108173 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
108174 stack_frame_head = fra.me.prev;
108175 init_table[itpos1056] = 1;
108176 return;
108177 }
108178 void parser___ReduceAction1053___action(val_t p0, val_t p1){
108179 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
108180 val_t REGB0;
108181 val_t tmp;
108182 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108183 fra.me.file = LOCATE_parser;
108184 fra.me.line = 40570;
108185 fra.me.meth = LOCATE_parser___ReduceAction1053___action;
108186 fra.me.has_broke = 0;
108187 fra.me.REG_size = 8;
108188 fra.me.REG[0] = NIT_NULL;
108189 fra.me.REG[1] = NIT_NULL;
108190 fra.me.REG[2] = NIT_NULL;
108191 fra.me.REG[3] = NIT_NULL;
108192 fra.me.REG[4] = NIT_NULL;
108193 fra.me.REG[5] = NIT_NULL;
108194 fra.me.REG[6] = NIT_NULL;
108195 fra.me.REG[7] = NIT_NULL;
108196 fra.me.REG[0] = p0;
108197 fra.me.REG[1] = p1;
108198 fra.me.REG[0] = NIT_NULL;
108199 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108200 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108201 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108202 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108203 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108204 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108205 fra.me.REG[6] = NEW_Array_array___Array___init();
108206 fra.me.REG[7] = NEW_Array_array___Array___init();
108207 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108208 /* ./parser//parser.nit:40582 */
108209 if (UNTAG_Bool(REGB0)) {
108210 } else {
108211 fprintf(stderr, "Assert failed");
108212 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40582);
108213 nit_exit(1);
108214 }
108215 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
108216 /* ./parser//parser.nit:40584 */
108217 if (UNTAG_Bool(REGB0)) {
108218 } else {
108219 fprintf(stderr, "Assert failed");
108220 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40584);
108221 nit_exit(1);
108222 }
108223 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
108224 /* ./parser//parser.nit:40586 */
108225 if (UNTAG_Bool(REGB0)) {
108226 } else {
108227 fprintf(stderr, "Assert failed");
108228 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40586);
108229 nit_exit(1);
108230 }
108231 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
108232 /* ./parser//parser.nit:40588 */
108233 if (UNTAG_Bool(REGB0)) {
108234 fra.me.REG[6] = fra.me.REG[3];
108235 /* ./parser//parser.nit:40589 */
108236 } else {
108237 /* ./parser//parser.nit:40591 */
108238 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
108239 }
108240 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
108241 /* ./parser//parser.nit:40595 */
108242 if (UNTAG_Bool(REGB0)) {
108243 } else {
108244 fprintf(stderr, "Assert failed");
108245 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40595);
108246 nit_exit(1);
108247 }
108248 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
108249 /* ./parser//parser.nit:40597 */
108250 if (UNTAG_Bool(REGB0)) {
108251 fra.me.REG[7] = fra.me.REG[2];
108252 /* ./parser//parser.nit:40598 */
108253 } else {
108254 /* ./parser//parser.nit:40600 */
108255 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]);
108256 }
108257 fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]);
108258 fra.me.REG[0] = fra.me.REG[7];
108259 REGB0 = TAG_Int(104);
108260 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
108261 /* ./parser//parser.nit:40610 */
108262 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
108263 stack_frame_head = fra.me.prev;
108264 return;
108265 }
108266 void parser___ReduceAction1053___init(val_t p0, int* init_table){
108267 int itpos1057 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1053].i;
108268 struct {struct stack_frame_t me;} fra;
108269 val_t tmp;
108270 if (init_table[itpos1057]) return;
108271 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108272 fra.me.file = LOCATE_parser;
108273 fra.me.line = 40612;
108274 fra.me.meth = LOCATE_parser___ReduceAction1053___init;
108275 fra.me.has_broke = 0;
108276 fra.me.REG_size = 1;
108277 fra.me.REG[0] = NIT_NULL;
108278 fra.me.REG[0] = p0;
108279 /* ./parser//parser.nit:40612 */
108280 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
108281 stack_frame_head = fra.me.prev;
108282 init_table[itpos1057] = 1;
108283 return;
108284 }
108285 void parser___ReduceAction1054___action(val_t p0, val_t p1){
108286 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
108287 val_t REGB0;
108288 val_t tmp;
108289 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108290 fra.me.file = LOCATE_parser;
108291 fra.me.line = 40616;
108292 fra.me.meth = LOCATE_parser___ReduceAction1054___action;
108293 fra.me.has_broke = 0;
108294 fra.me.REG_size = 8;
108295 fra.me.REG[0] = NIT_NULL;
108296 fra.me.REG[1] = NIT_NULL;
108297 fra.me.REG[2] = NIT_NULL;
108298 fra.me.REG[3] = NIT_NULL;
108299 fra.me.REG[4] = NIT_NULL;
108300 fra.me.REG[5] = NIT_NULL;
108301 fra.me.REG[6] = NIT_NULL;
108302 fra.me.REG[7] = NIT_NULL;
108303 fra.me.REG[0] = p0;
108304 fra.me.REG[1] = p1;
108305 fra.me.REG[0] = NIT_NULL;
108306 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108307 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108308 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108309 fra.me.REG[5] = NEW_Array_array___Array___init();
108310 fra.me.REG[6] = NEW_Array_array___Array___init();
108311 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
108312 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
108313 /* ./parser//parser.nit:40627 */
108314 if (UNTAG_Bool(REGB0)) {
108315 } else {
108316 fprintf(stderr, "Assert failed");
108317 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40627);
108318 nit_exit(1);
108319 }
108320 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
108321 /* ./parser//parser.nit:40629 */
108322 if (UNTAG_Bool(REGB0)) {
108323 } else {
108324 fprintf(stderr, "Assert failed");
108325 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40629);
108326 nit_exit(1);
108327 }
108328 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
108329 /* ./parser//parser.nit:40631 */
108330 if (UNTAG_Bool(REGB0)) {
108331 fra.me.REG[5] = fra.me.REG[3];
108332 /* ./parser//parser.nit:40632 */
108333 } else {
108334 /* ./parser//parser.nit:40634 */
108335 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
108336 }
108337 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
108338 /* ./parser//parser.nit:40638 */
108339 if (UNTAG_Bool(REGB0)) {
108340 } else {
108341 fprintf(stderr, "Assert failed");
108342 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40638);
108343 nit_exit(1);
108344 }
108345 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
108346 /* ./parser//parser.nit:40640 */
108347 if (UNTAG_Bool(REGB0)) {
108348 fra.me.REG[6] = fra.me.REG[2];
108349 /* ./parser//parser.nit:40641 */
108350 } else {
108351 /* ./parser//parser.nit:40643 */
108352 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
108353 }
108354 fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
108355 fra.me.REG[0] = fra.me.REG[6];
108356 REGB0 = TAG_Int(104);
108357 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
108358 /* ./parser//parser.nit:40653 */
108359 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
108360 stack_frame_head = fra.me.prev;
108361 return;
108362 }
108363 void parser___ReduceAction1054___init(val_t p0, int* init_table){
108364 int itpos1058 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1054].i;
108365 struct {struct stack_frame_t me;} fra;
108366 val_t tmp;
108367 if (init_table[itpos1058]) return;
108368 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108369 fra.me.file = LOCATE_parser;
108370 fra.me.line = 40655;
108371 fra.me.meth = LOCATE_parser___ReduceAction1054___init;
108372 fra.me.has_broke = 0;
108373 fra.me.REG_size = 1;
108374 fra.me.REG[0] = NIT_NULL;
108375 fra.me.REG[0] = p0;
108376 /* ./parser//parser.nit:40655 */
108377 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
108378 stack_frame_head = fra.me.prev;
108379 init_table[itpos1058] = 1;
108380 return;
108381 }
108382 void parser___ReduceAction1055___action(val_t p0, val_t p1){
108383 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
108384 val_t REGB0;
108385 val_t tmp;
108386 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108387 fra.me.file = LOCATE_parser;
108388 fra.me.line = 40659;
108389 fra.me.meth = LOCATE_parser___ReduceAction1055___action;
108390 fra.me.has_broke = 0;
108391 fra.me.REG_size = 3;
108392 fra.me.REG[0] = NIT_NULL;
108393 fra.me.REG[1] = NIT_NULL;
108394 fra.me.REG[2] = NIT_NULL;
108395 fra.me.REG[0] = p0;
108396 fra.me.REG[1] = p1;
108397 fra.me.REG[0] = NIT_NULL;
108398 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108399 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108400 /* ./parser//parser.nit:40664 */
108401 if (UNTAG_Bool(REGB0)) {
108402 } else {
108403 fprintf(stderr, "Assert failed");
108404 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40664);
108405 nit_exit(1);
108406 }
108407 fra.me.REG[0] = fra.me.REG[2];
108408 REGB0 = TAG_Int(105);
108409 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
108410 /* ./parser//parser.nit:40666 */
108411 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
108412 stack_frame_head = fra.me.prev;
108413 return;
108414 }
108415 void parser___ReduceAction1055___init(val_t p0, int* init_table){
108416 int itpos1059 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1055].i;
108417 struct {struct stack_frame_t me;} fra;
108418 val_t tmp;
108419 if (init_table[itpos1059]) return;
108420 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108421 fra.me.file = LOCATE_parser;
108422 fra.me.line = 40668;
108423 fra.me.meth = LOCATE_parser___ReduceAction1055___init;
108424 fra.me.has_broke = 0;
108425 fra.me.REG_size = 1;
108426 fra.me.REG[0] = NIT_NULL;
108427 fra.me.REG[0] = p0;
108428 /* ./parser//parser.nit:40668 */
108429 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
108430 stack_frame_head = fra.me.prev;
108431 init_table[itpos1059] = 1;
108432 return;
108433 }
108434 void parser___ReduceAction1056___action(val_t p0, val_t p1){
108435 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
108436 val_t REGB0;
108437 val_t tmp;
108438 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108439 fra.me.file = LOCATE_parser;
108440 fra.me.line = 40672;
108441 fra.me.meth = LOCATE_parser___ReduceAction1056___action;
108442 fra.me.has_broke = 0;
108443 fra.me.REG_size = 8;
108444 fra.me.REG[0] = NIT_NULL;
108445 fra.me.REG[1] = NIT_NULL;
108446 fra.me.REG[2] = NIT_NULL;
108447 fra.me.REG[3] = NIT_NULL;
108448 fra.me.REG[4] = NIT_NULL;
108449 fra.me.REG[5] = NIT_NULL;
108450 fra.me.REG[6] = NIT_NULL;
108451 fra.me.REG[7] = NIT_NULL;
108452 fra.me.REG[0] = p0;
108453 fra.me.REG[1] = p1;
108454 fra.me.REG[0] = NIT_NULL;
108455 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108456 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108457 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108458 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108459 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108460 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108461 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108462 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108463 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108464 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108465 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108466 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/;
108467 /* ./parser//parser.nit:40687 */
108468 if (UNTAG_Bool(REGB0)) {
108469 } else {
108470 fprintf(stderr, "Assert failed");
108471 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40687);
108472 nit_exit(1);
108473 }
108474 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108475 /* ./parser//parser.nit:40689 */
108476 if (UNTAG_Bool(REGB0)) {
108477 } else {
108478 fprintf(stderr, "Assert failed");
108479 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40689);
108480 nit_exit(1);
108481 }
108482 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwthen, ID_TKwthen)) /*cast nullable TKwthen*/;
108483 /* ./parser//parser.nit:40691 */
108484 if (UNTAG_Bool(REGB0)) {
108485 } else {
108486 fprintf(stderr, "Assert failed");
108487 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40691);
108488 nit_exit(1);
108489 }
108490 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108491 /* ./parser//parser.nit:40693 */
108492 if (UNTAG_Bool(REGB0)) {
108493 } else {
108494 fprintf(stderr, "Assert failed");
108495 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40693);
108496 nit_exit(1);
108497 }
108498 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwelse, ID_TKwelse)) /*cast nullable TKwelse*/;
108499 /* ./parser//parser.nit:40695 */
108500 if (UNTAG_Bool(REGB0)) {
108501 } else {
108502 fprintf(stderr, "Assert failed");
108503 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40695);
108504 nit_exit(1);
108505 }
108506 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108507 /* ./parser//parser.nit:40697 */
108508 if (UNTAG_Bool(REGB0)) {
108509 } else {
108510 fprintf(stderr, "Assert failed");
108511 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40697);
108512 nit_exit(1);
108513 }
108514 fra.me.REG[2] = NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
108515 fra.me.REG[0] = fra.me.REG[2];
108516 REGB0 = TAG_Int(105);
108517 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
108518 /* ./parser//parser.nit:40707 */
108519 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
108520 stack_frame_head = fra.me.prev;
108521 return;
108522 }
108523 void parser___ReduceAction1056___init(val_t p0, int* init_table){
108524 int itpos1060 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1056].i;
108525 struct {struct stack_frame_t me;} fra;
108526 val_t tmp;
108527 if (init_table[itpos1060]) return;
108528 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108529 fra.me.file = LOCATE_parser;
108530 fra.me.line = 40709;
108531 fra.me.meth = LOCATE_parser___ReduceAction1056___init;
108532 fra.me.has_broke = 0;
108533 fra.me.REG_size = 1;
108534 fra.me.REG[0] = NIT_NULL;
108535 fra.me.REG[0] = p0;
108536 /* ./parser//parser.nit:40709 */
108537 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
108538 stack_frame_head = fra.me.prev;
108539 init_table[itpos1060] = 1;
108540 return;
108541 }
108542 void parser___ReduceAction1057___action(val_t p0, val_t p1){
108543 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
108544 val_t REGB0;
108545 val_t tmp;
108546 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108547 fra.me.file = LOCATE_parser;
108548 fra.me.line = 40713;
108549 fra.me.meth = LOCATE_parser___ReduceAction1057___action;
108550 fra.me.has_broke = 0;
108551 fra.me.REG_size = 3;
108552 fra.me.REG[0] = NIT_NULL;
108553 fra.me.REG[1] = NIT_NULL;
108554 fra.me.REG[2] = NIT_NULL;
108555 fra.me.REG[0] = p0;
108556 fra.me.REG[1] = p1;
108557 fra.me.REG[0] = NIT_NULL;
108558 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108559 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108560 /* ./parser//parser.nit:40718 */
108561 if (UNTAG_Bool(REGB0)) {
108562 } else {
108563 fprintf(stderr, "Assert failed");
108564 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40718);
108565 nit_exit(1);
108566 }
108567 fra.me.REG[0] = fra.me.REG[2];
108568 REGB0 = TAG_Int(106);
108569 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
108570 /* ./parser//parser.nit:40720 */
108571 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
108572 stack_frame_head = fra.me.prev;
108573 return;
108574 }
108575 void parser___ReduceAction1057___init(val_t p0, int* init_table){
108576 int itpos1061 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1057].i;
108577 struct {struct stack_frame_t me;} fra;
108578 val_t tmp;
108579 if (init_table[itpos1061]) return;
108580 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108581 fra.me.file = LOCATE_parser;
108582 fra.me.line = 40722;
108583 fra.me.meth = LOCATE_parser___ReduceAction1057___init;
108584 fra.me.has_broke = 0;
108585 fra.me.REG_size = 1;
108586 fra.me.REG[0] = NIT_NULL;
108587 fra.me.REG[0] = p0;
108588 /* ./parser//parser.nit:40722 */
108589 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
108590 stack_frame_head = fra.me.prev;
108591 init_table[itpos1061] = 1;
108592 return;
108593 }
108594 void parser___ReduceAction1058___action(val_t p0, val_t p1){
108595 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
108596 val_t REGB0;
108597 val_t tmp;
108598 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108599 fra.me.file = LOCATE_parser;
108600 fra.me.line = 40726;
108601 fra.me.meth = LOCATE_parser___ReduceAction1058___action;
108602 fra.me.has_broke = 0;
108603 fra.me.REG_size = 4;
108604 fra.me.REG[0] = NIT_NULL;
108605 fra.me.REG[1] = NIT_NULL;
108606 fra.me.REG[2] = NIT_NULL;
108607 fra.me.REG[3] = NIT_NULL;
108608 fra.me.REG[0] = p0;
108609 fra.me.REG[1] = p1;
108610 fra.me.REG[0] = NIT_NULL;
108611 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108612 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108613 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108614 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108615 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108616 /* ./parser//parser.nit:40734 */
108617 if (UNTAG_Bool(REGB0)) {
108618 } else {
108619 fprintf(stderr, "Assert failed");
108620 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40734);
108621 nit_exit(1);
108622 }
108623 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108624 /* ./parser//parser.nit:40736 */
108625 if (UNTAG_Bool(REGB0)) {
108626 } else {
108627 fprintf(stderr, "Assert failed");
108628 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40736);
108629 nit_exit(1);
108630 }
108631 fra.me.REG[2] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr(fra.me.REG[3], fra.me.REG[2]);
108632 fra.me.REG[0] = fra.me.REG[2];
108633 REGB0 = TAG_Int(106);
108634 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
108635 /* ./parser//parser.nit:40742 */
108636 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
108637 stack_frame_head = fra.me.prev;
108638 return;
108639 }
108640 void parser___ReduceAction1058___init(val_t p0, int* init_table){
108641 int itpos1062 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1058].i;
108642 struct {struct stack_frame_t me;} fra;
108643 val_t tmp;
108644 if (init_table[itpos1062]) return;
108645 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108646 fra.me.file = LOCATE_parser;
108647 fra.me.line = 40744;
108648 fra.me.meth = LOCATE_parser___ReduceAction1058___init;
108649 fra.me.has_broke = 0;
108650 fra.me.REG_size = 1;
108651 fra.me.REG[0] = NIT_NULL;
108652 fra.me.REG[0] = p0;
108653 /* ./parser//parser.nit:40744 */
108654 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
108655 stack_frame_head = fra.me.prev;
108656 init_table[itpos1062] = 1;
108657 return;
108658 }
108659 void parser___ReduceAction1059___action(val_t p0, val_t p1){
108660 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
108661 val_t REGB0;
108662 val_t tmp;
108663 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108664 fra.me.file = LOCATE_parser;
108665 fra.me.line = 40748;
108666 fra.me.meth = LOCATE_parser___ReduceAction1059___action;
108667 fra.me.has_broke = 0;
108668 fra.me.REG_size = 4;
108669 fra.me.REG[0] = NIT_NULL;
108670 fra.me.REG[1] = NIT_NULL;
108671 fra.me.REG[2] = NIT_NULL;
108672 fra.me.REG[3] = NIT_NULL;
108673 fra.me.REG[0] = p0;
108674 fra.me.REG[1] = p1;
108675 fra.me.REG[0] = NIT_NULL;
108676 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108677 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108678 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108679 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108680 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108681 /* ./parser//parser.nit:40756 */
108682 if (UNTAG_Bool(REGB0)) {
108683 } else {
108684 fprintf(stderr, "Assert failed");
108685 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40756);
108686 nit_exit(1);
108687 }
108688 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108689 /* ./parser//parser.nit:40758 */
108690 if (UNTAG_Bool(REGB0)) {
108691 } else {
108692 fprintf(stderr, "Assert failed");
108693 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40758);
108694 nit_exit(1);
108695 }
108696 fra.me.REG[2] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr(fra.me.REG[3], fra.me.REG[2]);
108697 fra.me.REG[0] = fra.me.REG[2];
108698 REGB0 = TAG_Int(106);
108699 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
108700 /* ./parser//parser.nit:40764 */
108701 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
108702 stack_frame_head = fra.me.prev;
108703 return;
108704 }
108705 void parser___ReduceAction1059___init(val_t p0, int* init_table){
108706 int itpos1063 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1059].i;
108707 struct {struct stack_frame_t me;} fra;
108708 val_t tmp;
108709 if (init_table[itpos1063]) return;
108710 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108711 fra.me.file = LOCATE_parser;
108712 fra.me.line = 40766;
108713 fra.me.meth = LOCATE_parser___ReduceAction1059___init;
108714 fra.me.has_broke = 0;
108715 fra.me.REG_size = 1;
108716 fra.me.REG[0] = NIT_NULL;
108717 fra.me.REG[0] = p0;
108718 /* ./parser//parser.nit:40766 */
108719 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
108720 stack_frame_head = fra.me.prev;
108721 init_table[itpos1063] = 1;
108722 return;
108723 }
108724 void parser___ReduceAction1060___action(val_t p0, val_t p1){
108725 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
108726 val_t REGB0;
108727 val_t tmp;
108728 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108729 fra.me.file = LOCATE_parser;
108730 fra.me.line = 40770;
108731 fra.me.meth = LOCATE_parser___ReduceAction1060___action;
108732 fra.me.has_broke = 0;
108733 fra.me.REG_size = 3;
108734 fra.me.REG[0] = NIT_NULL;
108735 fra.me.REG[1] = NIT_NULL;
108736 fra.me.REG[2] = NIT_NULL;
108737 fra.me.REG[0] = p0;
108738 fra.me.REG[1] = p1;
108739 fra.me.REG[0] = NIT_NULL;
108740 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108741 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108742 /* ./parser//parser.nit:40775 */
108743 if (UNTAG_Bool(REGB0)) {
108744 } else {
108745 fprintf(stderr, "Assert failed");
108746 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40775);
108747 nit_exit(1);
108748 }
108749 fra.me.REG[0] = fra.me.REG[2];
108750 REGB0 = TAG_Int(107);
108751 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
108752 /* ./parser//parser.nit:40777 */
108753 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
108754 stack_frame_head = fra.me.prev;
108755 return;
108756 }
108757 void parser___ReduceAction1060___init(val_t p0, int* init_table){
108758 int itpos1064 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1060].i;
108759 struct {struct stack_frame_t me;} fra;
108760 val_t tmp;
108761 if (init_table[itpos1064]) return;
108762 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108763 fra.me.file = LOCATE_parser;
108764 fra.me.line = 40779;
108765 fra.me.meth = LOCATE_parser___ReduceAction1060___init;
108766 fra.me.has_broke = 0;
108767 fra.me.REG_size = 1;
108768 fra.me.REG[0] = NIT_NULL;
108769 fra.me.REG[0] = p0;
108770 /* ./parser//parser.nit:40779 */
108771 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
108772 stack_frame_head = fra.me.prev;
108773 init_table[itpos1064] = 1;
108774 return;
108775 }
108776 void parser___ReduceAction1061___action(val_t p0, val_t p1){
108777 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
108778 val_t REGB0;
108779 val_t tmp;
108780 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108781 fra.me.file = LOCATE_parser;
108782 fra.me.line = 40783;
108783 fra.me.meth = LOCATE_parser___ReduceAction1061___action;
108784 fra.me.has_broke = 0;
108785 fra.me.REG_size = 4;
108786 fra.me.REG[0] = NIT_NULL;
108787 fra.me.REG[1] = NIT_NULL;
108788 fra.me.REG[2] = NIT_NULL;
108789 fra.me.REG[3] = NIT_NULL;
108790 fra.me.REG[0] = p0;
108791 fra.me.REG[1] = p1;
108792 fra.me.REG[0] = NIT_NULL;
108793 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108794 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108795 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108796 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnot, ID_TKwnot)) /*cast nullable TKwnot*/;
108797 /* ./parser//parser.nit:40790 */
108798 if (UNTAG_Bool(REGB0)) {
108799 } else {
108800 fprintf(stderr, "Assert failed");
108801 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40790);
108802 nit_exit(1);
108803 }
108804 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108805 /* ./parser//parser.nit:40792 */
108806 if (UNTAG_Bool(REGB0)) {
108807 } else {
108808 fprintf(stderr, "Assert failed");
108809 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40792);
108810 nit_exit(1);
108811 }
108812 fra.me.REG[2] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr(fra.me.REG[3], fra.me.REG[2]);
108813 fra.me.REG[0] = fra.me.REG[2];
108814 REGB0 = TAG_Int(107);
108815 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
108816 /* ./parser//parser.nit:40798 */
108817 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
108818 stack_frame_head = fra.me.prev;
108819 return;
108820 }
108821 void parser___ReduceAction1061___init(val_t p0, int* init_table){
108822 int itpos1065 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1061].i;
108823 struct {struct stack_frame_t me;} fra;
108824 val_t tmp;
108825 if (init_table[itpos1065]) return;
108826 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108827 fra.me.file = LOCATE_parser;
108828 fra.me.line = 40800;
108829 fra.me.meth = LOCATE_parser___ReduceAction1061___init;
108830 fra.me.has_broke = 0;
108831 fra.me.REG_size = 1;
108832 fra.me.REG[0] = NIT_NULL;
108833 fra.me.REG[0] = p0;
108834 /* ./parser//parser.nit:40800 */
108835 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
108836 stack_frame_head = fra.me.prev;
108837 init_table[itpos1065] = 1;
108838 return;
108839 }
108840 void parser___ReduceAction1062___action(val_t p0, val_t p1){
108841 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
108842 val_t REGB0;
108843 val_t tmp;
108844 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108845 fra.me.file = LOCATE_parser;
108846 fra.me.line = 40804;
108847 fra.me.meth = LOCATE_parser___ReduceAction1062___action;
108848 fra.me.has_broke = 0;
108849 fra.me.REG_size = 3;
108850 fra.me.REG[0] = NIT_NULL;
108851 fra.me.REG[1] = NIT_NULL;
108852 fra.me.REG[2] = NIT_NULL;
108853 fra.me.REG[0] = p0;
108854 fra.me.REG[1] = p1;
108855 fra.me.REG[0] = NIT_NULL;
108856 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108857 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108858 /* ./parser//parser.nit:40809 */
108859 if (UNTAG_Bool(REGB0)) {
108860 } else {
108861 fprintf(stderr, "Assert failed");
108862 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40809);
108863 nit_exit(1);
108864 }
108865 fra.me.REG[0] = fra.me.REG[2];
108866 REGB0 = TAG_Int(108);
108867 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
108868 /* ./parser//parser.nit:40811 */
108869 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
108870 stack_frame_head = fra.me.prev;
108871 return;
108872 }
108873 void parser___ReduceAction1062___init(val_t p0, int* init_table){
108874 int itpos1066 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1062].i;
108875 struct {struct stack_frame_t me;} fra;
108876 val_t tmp;
108877 if (init_table[itpos1066]) return;
108878 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108879 fra.me.file = LOCATE_parser;
108880 fra.me.line = 40813;
108881 fra.me.meth = LOCATE_parser___ReduceAction1062___init;
108882 fra.me.has_broke = 0;
108883 fra.me.REG_size = 1;
108884 fra.me.REG[0] = NIT_NULL;
108885 fra.me.REG[0] = p0;
108886 /* ./parser//parser.nit:40813 */
108887 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
108888 stack_frame_head = fra.me.prev;
108889 init_table[itpos1066] = 1;
108890 return;
108891 }
108892 void parser___ReduceAction1063___action(val_t p0, val_t p1){
108893 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
108894 val_t REGB0;
108895 val_t tmp;
108896 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108897 fra.me.file = LOCATE_parser;
108898 fra.me.line = 40817;
108899 fra.me.meth = LOCATE_parser___ReduceAction1063___action;
108900 fra.me.has_broke = 0;
108901 fra.me.REG_size = 4;
108902 fra.me.REG[0] = NIT_NULL;
108903 fra.me.REG[1] = NIT_NULL;
108904 fra.me.REG[2] = NIT_NULL;
108905 fra.me.REG[3] = NIT_NULL;
108906 fra.me.REG[0] = p0;
108907 fra.me.REG[1] = p1;
108908 fra.me.REG[0] = NIT_NULL;
108909 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108910 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108911 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108912 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108913 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108914 /* ./parser//parser.nit:40825 */
108915 if (UNTAG_Bool(REGB0)) {
108916 } else {
108917 fprintf(stderr, "Assert failed");
108918 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40825);
108919 nit_exit(1);
108920 }
108921 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108922 /* ./parser//parser.nit:40827 */
108923 if (UNTAG_Bool(REGB0)) {
108924 } else {
108925 fprintf(stderr, "Assert failed");
108926 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40827);
108927 nit_exit(1);
108928 }
108929 fra.me.REG[2] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr(fra.me.REG[3], fra.me.REG[2]);
108930 fra.me.REG[0] = fra.me.REG[2];
108931 REGB0 = TAG_Int(108);
108932 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
108933 /* ./parser//parser.nit:40833 */
108934 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
108935 stack_frame_head = fra.me.prev;
108936 return;
108937 }
108938 void parser___ReduceAction1063___init(val_t p0, int* init_table){
108939 int itpos1067 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1063].i;
108940 struct {struct stack_frame_t me;} fra;
108941 val_t tmp;
108942 if (init_table[itpos1067]) return;
108943 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108944 fra.me.file = LOCATE_parser;
108945 fra.me.line = 40835;
108946 fra.me.meth = LOCATE_parser___ReduceAction1063___init;
108947 fra.me.has_broke = 0;
108948 fra.me.REG_size = 1;
108949 fra.me.REG[0] = NIT_NULL;
108950 fra.me.REG[0] = p0;
108951 /* ./parser//parser.nit:40835 */
108952 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
108953 stack_frame_head = fra.me.prev;
108954 init_table[itpos1067] = 1;
108955 return;
108956 }
108957 void parser___ReduceAction1064___action(val_t p0, val_t p1){
108958 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
108959 val_t REGB0;
108960 val_t tmp;
108961 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
108962 fra.me.file = LOCATE_parser;
108963 fra.me.line = 40839;
108964 fra.me.meth = LOCATE_parser___ReduceAction1064___action;
108965 fra.me.has_broke = 0;
108966 fra.me.REG_size = 4;
108967 fra.me.REG[0] = NIT_NULL;
108968 fra.me.REG[1] = NIT_NULL;
108969 fra.me.REG[2] = NIT_NULL;
108970 fra.me.REG[3] = NIT_NULL;
108971 fra.me.REG[0] = p0;
108972 fra.me.REG[1] = p1;
108973 fra.me.REG[0] = NIT_NULL;
108974 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108975 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108976 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108977 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
108978 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108979 /* ./parser//parser.nit:40847 */
108980 if (UNTAG_Bool(REGB0)) {
108981 } else {
108982 fprintf(stderr, "Assert failed");
108983 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40847);
108984 nit_exit(1);
108985 }
108986 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
108987 /* ./parser//parser.nit:40849 */
108988 if (UNTAG_Bool(REGB0)) {
108989 } else {
108990 fprintf(stderr, "Assert failed");
108991 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40849);
108992 nit_exit(1);
108993 }
108994 fra.me.REG[2] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr(fra.me.REG[3], fra.me.REG[2]);
108995 fra.me.REG[0] = fra.me.REG[2];
108996 REGB0 = TAG_Int(108);
108997 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
108998 /* ./parser//parser.nit:40855 */
108999 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
109000 stack_frame_head = fra.me.prev;
109001 return;
109002 }
109003 void parser___ReduceAction1064___init(val_t p0, int* init_table){
109004 int itpos1068 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1064].i;
109005 struct {struct stack_frame_t me;} fra;
109006 val_t tmp;
109007 if (init_table[itpos1068]) return;
109008 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109009 fra.me.file = LOCATE_parser;
109010 fra.me.line = 40857;
109011 fra.me.meth = LOCATE_parser___ReduceAction1064___init;
109012 fra.me.has_broke = 0;
109013 fra.me.REG_size = 1;
109014 fra.me.REG[0] = NIT_NULL;
109015 fra.me.REG[0] = p0;
109016 /* ./parser//parser.nit:40857 */
109017 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
109018 stack_frame_head = fra.me.prev;
109019 init_table[itpos1068] = 1;
109020 return;
109021 }
109022 void parser___ReduceAction1065___action(val_t p0, val_t p1){
109023 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
109024 val_t REGB0;
109025 val_t tmp;
109026 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109027 fra.me.file = LOCATE_parser;
109028 fra.me.line = 40861;
109029 fra.me.meth = LOCATE_parser___ReduceAction1065___action;
109030 fra.me.has_broke = 0;
109031 fra.me.REG_size = 4;
109032 fra.me.REG[0] = NIT_NULL;
109033 fra.me.REG[1] = NIT_NULL;
109034 fra.me.REG[2] = NIT_NULL;
109035 fra.me.REG[3] = NIT_NULL;
109036 fra.me.REG[0] = p0;
109037 fra.me.REG[1] = p1;
109038 fra.me.REG[0] = NIT_NULL;
109039 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109040 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109041 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109042 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109043 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109044 /* ./parser//parser.nit:40869 */
109045 if (UNTAG_Bool(REGB0)) {
109046 } else {
109047 fprintf(stderr, "Assert failed");
109048 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40869);
109049 nit_exit(1);
109050 }
109051 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109052 /* ./parser//parser.nit:40871 */
109053 if (UNTAG_Bool(REGB0)) {
109054 } else {
109055 fprintf(stderr, "Assert failed");
109056 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40871);
109057 nit_exit(1);
109058 }
109059 fra.me.REG[2] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr(fra.me.REG[3], fra.me.REG[2]);
109060 fra.me.REG[0] = fra.me.REG[2];
109061 REGB0 = TAG_Int(108);
109062 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
109063 /* ./parser//parser.nit:40877 */
109064 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
109065 stack_frame_head = fra.me.prev;
109066 return;
109067 }
109068 void parser___ReduceAction1065___init(val_t p0, int* init_table){
109069 int itpos1069 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1065].i;
109070 struct {struct stack_frame_t me;} fra;
109071 val_t tmp;
109072 if (init_table[itpos1069]) return;
109073 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109074 fra.me.file = LOCATE_parser;
109075 fra.me.line = 40879;
109076 fra.me.meth = LOCATE_parser___ReduceAction1065___init;
109077 fra.me.has_broke = 0;
109078 fra.me.REG_size = 1;
109079 fra.me.REG[0] = NIT_NULL;
109080 fra.me.REG[0] = p0;
109081 /* ./parser//parser.nit:40879 */
109082 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
109083 stack_frame_head = fra.me.prev;
109084 init_table[itpos1069] = 1;
109085 return;
109086 }
109087 void parser___ReduceAction1066___action(val_t p0, val_t p1){
109088 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
109089 val_t REGB0;
109090 val_t tmp;
109091 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109092 fra.me.file = LOCATE_parser;
109093 fra.me.line = 40883;
109094 fra.me.meth = LOCATE_parser___ReduceAction1066___action;
109095 fra.me.has_broke = 0;
109096 fra.me.REG_size = 4;
109097 fra.me.REG[0] = NIT_NULL;
109098 fra.me.REG[1] = NIT_NULL;
109099 fra.me.REG[2] = NIT_NULL;
109100 fra.me.REG[3] = NIT_NULL;
109101 fra.me.REG[0] = p0;
109102 fra.me.REG[1] = p1;
109103 fra.me.REG[0] = NIT_NULL;
109104 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109105 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109106 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109107 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109108 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109109 /* ./parser//parser.nit:40891 */
109110 if (UNTAG_Bool(REGB0)) {
109111 } else {
109112 fprintf(stderr, "Assert failed");
109113 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40891);
109114 nit_exit(1);
109115 }
109116 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109117 /* ./parser//parser.nit:40893 */
109118 if (UNTAG_Bool(REGB0)) {
109119 } else {
109120 fprintf(stderr, "Assert failed");
109121 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40893);
109122 nit_exit(1);
109123 }
109124 fra.me.REG[2] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr(fra.me.REG[3], fra.me.REG[2]);
109125 fra.me.REG[0] = fra.me.REG[2];
109126 REGB0 = TAG_Int(108);
109127 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
109128 /* ./parser//parser.nit:40899 */
109129 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
109130 stack_frame_head = fra.me.prev;
109131 return;
109132 }
109133 void parser___ReduceAction1066___init(val_t p0, int* init_table){
109134 int itpos1070 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1066].i;
109135 struct {struct stack_frame_t me;} fra;
109136 val_t tmp;
109137 if (init_table[itpos1070]) return;
109138 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109139 fra.me.file = LOCATE_parser;
109140 fra.me.line = 40901;
109141 fra.me.meth = LOCATE_parser___ReduceAction1066___init;
109142 fra.me.has_broke = 0;
109143 fra.me.REG_size = 1;
109144 fra.me.REG[0] = NIT_NULL;
109145 fra.me.REG[0] = p0;
109146 /* ./parser//parser.nit:40901 */
109147 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
109148 stack_frame_head = fra.me.prev;
109149 init_table[itpos1070] = 1;
109150 return;
109151 }
109152 void parser___ReduceAction1067___action(val_t p0, val_t p1){
109153 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
109154 val_t REGB0;
109155 val_t tmp;
109156 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109157 fra.me.file = LOCATE_parser;
109158 fra.me.line = 40905;
109159 fra.me.meth = LOCATE_parser___ReduceAction1067___action;
109160 fra.me.has_broke = 0;
109161 fra.me.REG_size = 4;
109162 fra.me.REG[0] = NIT_NULL;
109163 fra.me.REG[1] = NIT_NULL;
109164 fra.me.REG[2] = NIT_NULL;
109165 fra.me.REG[3] = NIT_NULL;
109166 fra.me.REG[0] = p0;
109167 fra.me.REG[1] = p1;
109168 fra.me.REG[0] = NIT_NULL;
109169 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109170 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109171 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109172 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109173 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109174 /* ./parser//parser.nit:40913 */
109175 if (UNTAG_Bool(REGB0)) {
109176 } else {
109177 fprintf(stderr, "Assert failed");
109178 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40913);
109179 nit_exit(1);
109180 }
109181 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109182 /* ./parser//parser.nit:40915 */
109183 if (UNTAG_Bool(REGB0)) {
109184 } else {
109185 fprintf(stderr, "Assert failed");
109186 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40915);
109187 nit_exit(1);
109188 }
109189 fra.me.REG[2] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr(fra.me.REG[3], fra.me.REG[2]);
109190 fra.me.REG[0] = fra.me.REG[2];
109191 REGB0 = TAG_Int(108);
109192 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
109193 /* ./parser//parser.nit:40921 */
109194 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
109195 stack_frame_head = fra.me.prev;
109196 return;
109197 }
109198 void parser___ReduceAction1067___init(val_t p0, int* init_table){
109199 int itpos1071 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1067].i;
109200 struct {struct stack_frame_t me;} fra;
109201 val_t tmp;
109202 if (init_table[itpos1071]) return;
109203 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109204 fra.me.file = LOCATE_parser;
109205 fra.me.line = 40923;
109206 fra.me.meth = LOCATE_parser___ReduceAction1067___init;
109207 fra.me.has_broke = 0;
109208 fra.me.REG_size = 1;
109209 fra.me.REG[0] = NIT_NULL;
109210 fra.me.REG[0] = p0;
109211 /* ./parser//parser.nit:40923 */
109212 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
109213 stack_frame_head = fra.me.prev;
109214 init_table[itpos1071] = 1;
109215 return;
109216 }
109217 void parser___ReduceAction1068___action(val_t p0, val_t p1){
109218 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
109219 val_t REGB0;
109220 val_t tmp;
109221 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109222 fra.me.file = LOCATE_parser;
109223 fra.me.line = 40927;
109224 fra.me.meth = LOCATE_parser___ReduceAction1068___action;
109225 fra.me.has_broke = 0;
109226 fra.me.REG_size = 4;
109227 fra.me.REG[0] = NIT_NULL;
109228 fra.me.REG[1] = NIT_NULL;
109229 fra.me.REG[2] = NIT_NULL;
109230 fra.me.REG[3] = NIT_NULL;
109231 fra.me.REG[0] = p0;
109232 fra.me.REG[1] = p1;
109233 fra.me.REG[0] = NIT_NULL;
109234 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109235 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109236 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109237 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109238 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109239 /* ./parser//parser.nit:40935 */
109240 if (UNTAG_Bool(REGB0)) {
109241 } else {
109242 fprintf(stderr, "Assert failed");
109243 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40935);
109244 nit_exit(1);
109245 }
109246 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109247 /* ./parser//parser.nit:40937 */
109248 if (UNTAG_Bool(REGB0)) {
109249 } else {
109250 fprintf(stderr, "Assert failed");
109251 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40937);
109252 nit_exit(1);
109253 }
109254 fra.me.REG[2] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr(fra.me.REG[3], fra.me.REG[2]);
109255 fra.me.REG[0] = fra.me.REG[2];
109256 REGB0 = TAG_Int(108);
109257 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
109258 /* ./parser//parser.nit:40943 */
109259 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
109260 stack_frame_head = fra.me.prev;
109261 return;
109262 }
109263 void parser___ReduceAction1068___init(val_t p0, int* init_table){
109264 int itpos1072 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1068].i;
109265 struct {struct stack_frame_t me;} fra;
109266 val_t tmp;
109267 if (init_table[itpos1072]) return;
109268 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109269 fra.me.file = LOCATE_parser;
109270 fra.me.line = 40945;
109271 fra.me.meth = LOCATE_parser___ReduceAction1068___init;
109272 fra.me.has_broke = 0;
109273 fra.me.REG_size = 1;
109274 fra.me.REG[0] = NIT_NULL;
109275 fra.me.REG[0] = p0;
109276 /* ./parser//parser.nit:40945 */
109277 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
109278 stack_frame_head = fra.me.prev;
109279 init_table[itpos1072] = 1;
109280 return;
109281 }
109282 void parser___ReduceAction1069___action(val_t p0, val_t p1){
109283 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
109284 val_t REGB0;
109285 val_t tmp;
109286 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109287 fra.me.file = LOCATE_parser;
109288 fra.me.line = 40949;
109289 fra.me.meth = LOCATE_parser___ReduceAction1069___action;
109290 fra.me.has_broke = 0;
109291 fra.me.REG_size = 4;
109292 fra.me.REG[0] = NIT_NULL;
109293 fra.me.REG[1] = NIT_NULL;
109294 fra.me.REG[2] = NIT_NULL;
109295 fra.me.REG[3] = NIT_NULL;
109296 fra.me.REG[0] = p0;
109297 fra.me.REG[1] = p1;
109298 fra.me.REG[0] = NIT_NULL;
109299 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109300 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109301 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109302 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109303 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109304 /* ./parser//parser.nit:40957 */
109305 if (UNTAG_Bool(REGB0)) {
109306 } else {
109307 fprintf(stderr, "Assert failed");
109308 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40957);
109309 nit_exit(1);
109310 }
109311 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109312 /* ./parser//parser.nit:40959 */
109313 if (UNTAG_Bool(REGB0)) {
109314 } else {
109315 fprintf(stderr, "Assert failed");
109316 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40959);
109317 nit_exit(1);
109318 }
109319 fra.me.REG[2] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr(fra.me.REG[3], fra.me.REG[2]);
109320 fra.me.REG[0] = fra.me.REG[2];
109321 REGB0 = TAG_Int(108);
109322 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
109323 /* ./parser//parser.nit:40965 */
109324 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
109325 stack_frame_head = fra.me.prev;
109326 return;
109327 }
109328 void parser___ReduceAction1069___init(val_t p0, int* init_table){
109329 int itpos1073 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1069].i;
109330 struct {struct stack_frame_t me;} fra;
109331 val_t tmp;
109332 if (init_table[itpos1073]) return;
109333 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109334 fra.me.file = LOCATE_parser;
109335 fra.me.line = 40967;
109336 fra.me.meth = LOCATE_parser___ReduceAction1069___init;
109337 fra.me.has_broke = 0;
109338 fra.me.REG_size = 1;
109339 fra.me.REG[0] = NIT_NULL;
109340 fra.me.REG[0] = p0;
109341 /* ./parser//parser.nit:40967 */
109342 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
109343 stack_frame_head = fra.me.prev;
109344 init_table[itpos1073] = 1;
109345 return;
109346 }
109347 void parser___ReduceAction1070___action(val_t p0, val_t p1){
109348 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
109349 val_t REGB0;
109350 val_t tmp;
109351 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109352 fra.me.file = LOCATE_parser;
109353 fra.me.line = 40971;
109354 fra.me.meth = LOCATE_parser___ReduceAction1070___action;
109355 fra.me.has_broke = 0;
109356 fra.me.REG_size = 4;
109357 fra.me.REG[0] = NIT_NULL;
109358 fra.me.REG[1] = NIT_NULL;
109359 fra.me.REG[2] = NIT_NULL;
109360 fra.me.REG[3] = NIT_NULL;
109361 fra.me.REG[0] = p0;
109362 fra.me.REG[1] = p1;
109363 fra.me.REG[0] = NIT_NULL;
109364 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109365 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109366 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109367 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109368 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109369 /* ./parser//parser.nit:40979 */
109370 if (UNTAG_Bool(REGB0)) {
109371 } else {
109372 fprintf(stderr, "Assert failed");
109373 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40979);
109374 nit_exit(1);
109375 }
109376 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109377 /* ./parser//parser.nit:40981 */
109378 if (UNTAG_Bool(REGB0)) {
109379 } else {
109380 fprintf(stderr, "Assert failed");
109381 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40981);
109382 nit_exit(1);
109383 }
109384 fra.me.REG[2] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr(fra.me.REG[3], fra.me.REG[2]);
109385 fra.me.REG[0] = fra.me.REG[2];
109386 REGB0 = TAG_Int(108);
109387 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
109388 /* ./parser//parser.nit:40987 */
109389 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
109390 stack_frame_head = fra.me.prev;
109391 return;
109392 }
109393 void parser___ReduceAction1070___init(val_t p0, int* init_table){
109394 int itpos1074 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1070].i;
109395 struct {struct stack_frame_t me;} fra;
109396 val_t tmp;
109397 if (init_table[itpos1074]) return;
109398 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109399 fra.me.file = LOCATE_parser;
109400 fra.me.line = 40989;
109401 fra.me.meth = LOCATE_parser___ReduceAction1070___init;
109402 fra.me.has_broke = 0;
109403 fra.me.REG_size = 1;
109404 fra.me.REG[0] = NIT_NULL;
109405 fra.me.REG[0] = p0;
109406 /* ./parser//parser.nit:40989 */
109407 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
109408 stack_frame_head = fra.me.prev;
109409 init_table[itpos1074] = 1;
109410 return;
109411 }
109412 void parser___ReduceAction1071___action(val_t p0, val_t p1){
109413 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
109414 val_t REGB0;
109415 val_t tmp;
109416 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109417 fra.me.file = LOCATE_parser;
109418 fra.me.line = 40993;
109419 fra.me.meth = LOCATE_parser___ReduceAction1071___action;
109420 fra.me.has_broke = 0;
109421 fra.me.REG_size = 4;
109422 fra.me.REG[0] = NIT_NULL;
109423 fra.me.REG[1] = NIT_NULL;
109424 fra.me.REG[2] = NIT_NULL;
109425 fra.me.REG[3] = NIT_NULL;
109426 fra.me.REG[0] = p0;
109427 fra.me.REG[1] = p1;
109428 fra.me.REG[0] = NIT_NULL;
109429 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109430 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109431 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109432 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109433 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109434 /* ./parser//parser.nit:41001 */
109435 if (UNTAG_Bool(REGB0)) {
109436 } else {
109437 fprintf(stderr, "Assert failed");
109438 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41001);
109439 nit_exit(1);
109440 }
109441 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
109442 /* ./parser//parser.nit:41003 */
109443 if (UNTAG_Bool(REGB0)) {
109444 } else {
109445 fprintf(stderr, "Assert failed");
109446 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41003);
109447 nit_exit(1);
109448 }
109449 fra.me.REG[2] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr(fra.me.REG[3], fra.me.REG[2]);
109450 fra.me.REG[0] = fra.me.REG[2];
109451 REGB0 = TAG_Int(108);
109452 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
109453 /* ./parser//parser.nit:41009 */
109454 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
109455 stack_frame_head = fra.me.prev;
109456 return;
109457 }
109458 void parser___ReduceAction1071___init(val_t p0, int* init_table){
109459 int itpos1075 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1071].i;
109460 struct {struct stack_frame_t me;} fra;
109461 val_t tmp;
109462 if (init_table[itpos1075]) return;
109463 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109464 fra.me.file = LOCATE_parser;
109465 fra.me.line = 41011;
109466 fra.me.meth = LOCATE_parser___ReduceAction1071___init;
109467 fra.me.has_broke = 0;
109468 fra.me.REG_size = 1;
109469 fra.me.REG[0] = NIT_NULL;
109470 fra.me.REG[0] = p0;
109471 /* ./parser//parser.nit:41011 */
109472 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
109473 stack_frame_head = fra.me.prev;
109474 init_table[itpos1075] = 1;
109475 return;
109476 }
109477 void parser___ReduceAction1072___action(val_t p0, val_t p1){
109478 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
109479 val_t REGB0;
109480 val_t tmp;
109481 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109482 fra.me.file = LOCATE_parser;
109483 fra.me.line = 41015;
109484 fra.me.meth = LOCATE_parser___ReduceAction1072___action;
109485 fra.me.has_broke = 0;
109486 fra.me.REG_size = 3;
109487 fra.me.REG[0] = NIT_NULL;
109488 fra.me.REG[1] = NIT_NULL;
109489 fra.me.REG[2] = NIT_NULL;
109490 fra.me.REG[0] = p0;
109491 fra.me.REG[1] = p1;
109492 fra.me.REG[0] = NIT_NULL;
109493 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109494 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109495 /* ./parser//parser.nit:41020 */
109496 if (UNTAG_Bool(REGB0)) {
109497 } else {
109498 fprintf(stderr, "Assert failed");
109499 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41020);
109500 nit_exit(1);
109501 }
109502 fra.me.REG[0] = fra.me.REG[2];
109503 REGB0 = TAG_Int(109);
109504 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
109505 /* ./parser//parser.nit:41022 */
109506 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
109507 stack_frame_head = fra.me.prev;
109508 return;
109509 }
109510 void parser___ReduceAction1072___init(val_t p0, int* init_table){
109511 int itpos1076 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1072].i;
109512 struct {struct stack_frame_t me;} fra;
109513 val_t tmp;
109514 if (init_table[itpos1076]) return;
109515 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109516 fra.me.file = LOCATE_parser;
109517 fra.me.line = 41024;
109518 fra.me.meth = LOCATE_parser___ReduceAction1072___init;
109519 fra.me.has_broke = 0;
109520 fra.me.REG_size = 1;
109521 fra.me.REG[0] = NIT_NULL;
109522 fra.me.REG[0] = p0;
109523 /* ./parser//parser.nit:41024 */
109524 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
109525 stack_frame_head = fra.me.prev;
109526 init_table[itpos1076] = 1;
109527 return;
109528 }
109529 void parser___ReduceAction1073___action(val_t p0, val_t p1){
109530 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
109531 val_t REGB0;
109532 val_t tmp;
109533 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109534 fra.me.file = LOCATE_parser;
109535 fra.me.line = 41028;
109536 fra.me.meth = LOCATE_parser___ReduceAction1073___action;
109537 fra.me.has_broke = 0;
109538 fra.me.REG_size = 4;
109539 fra.me.REG[0] = NIT_NULL;
109540 fra.me.REG[1] = NIT_NULL;
109541 fra.me.REG[2] = NIT_NULL;
109542 fra.me.REG[3] = NIT_NULL;
109543 fra.me.REG[0] = p0;
109544 fra.me.REG[1] = p1;
109545 fra.me.REG[0] = NIT_NULL;
109546 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109547 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109548 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109549 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109550 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109551 /* ./parser//parser.nit:41036 */
109552 if (UNTAG_Bool(REGB0)) {
109553 } else {
109554 fprintf(stderr, "Assert failed");
109555 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41036);
109556 nit_exit(1);
109557 }
109558 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109559 /* ./parser//parser.nit:41038 */
109560 if (UNTAG_Bool(REGB0)) {
109561 } else {
109562 fprintf(stderr, "Assert failed");
109563 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41038);
109564 nit_exit(1);
109565 }
109566 fra.me.REG[2] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr(fra.me.REG[3], fra.me.REG[2]);
109567 fra.me.REG[0] = fra.me.REG[2];
109568 REGB0 = TAG_Int(109);
109569 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
109570 /* ./parser//parser.nit:41044 */
109571 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
109572 stack_frame_head = fra.me.prev;
109573 return;
109574 }
109575 void parser___ReduceAction1073___init(val_t p0, int* init_table){
109576 int itpos1077 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1073].i;
109577 struct {struct stack_frame_t me;} fra;
109578 val_t tmp;
109579 if (init_table[itpos1077]) return;
109580 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109581 fra.me.file = LOCATE_parser;
109582 fra.me.line = 41046;
109583 fra.me.meth = LOCATE_parser___ReduceAction1073___init;
109584 fra.me.has_broke = 0;
109585 fra.me.REG_size = 1;
109586 fra.me.REG[0] = NIT_NULL;
109587 fra.me.REG[0] = p0;
109588 /* ./parser//parser.nit:41046 */
109589 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
109590 stack_frame_head = fra.me.prev;
109591 init_table[itpos1077] = 1;
109592 return;
109593 }
109594 void parser___ReduceAction1074___action(val_t p0, val_t p1){
109595 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
109596 val_t REGB0;
109597 val_t tmp;
109598 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109599 fra.me.file = LOCATE_parser;
109600 fra.me.line = 41050;
109601 fra.me.meth = LOCATE_parser___ReduceAction1074___action;
109602 fra.me.has_broke = 0;
109603 fra.me.REG_size = 4;
109604 fra.me.REG[0] = NIT_NULL;
109605 fra.me.REG[1] = NIT_NULL;
109606 fra.me.REG[2] = NIT_NULL;
109607 fra.me.REG[3] = NIT_NULL;
109608 fra.me.REG[0] = p0;
109609 fra.me.REG[1] = p1;
109610 fra.me.REG[0] = NIT_NULL;
109611 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109612 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109613 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109614 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109615 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109616 /* ./parser//parser.nit:41058 */
109617 if (UNTAG_Bool(REGB0)) {
109618 } else {
109619 fprintf(stderr, "Assert failed");
109620 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41058);
109621 nit_exit(1);
109622 }
109623 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109624 /* ./parser//parser.nit:41060 */
109625 if (UNTAG_Bool(REGB0)) {
109626 } else {
109627 fprintf(stderr, "Assert failed");
109628 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41060);
109629 nit_exit(1);
109630 }
109631 fra.me.REG[2] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr(fra.me.REG[3], fra.me.REG[2]);
109632 fra.me.REG[0] = fra.me.REG[2];
109633 REGB0 = TAG_Int(109);
109634 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
109635 /* ./parser//parser.nit:41066 */
109636 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
109637 stack_frame_head = fra.me.prev;
109638 return;
109639 }
109640 void parser___ReduceAction1074___init(val_t p0, int* init_table){
109641 int itpos1078 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1074].i;
109642 struct {struct stack_frame_t me;} fra;
109643 val_t tmp;
109644 if (init_table[itpos1078]) return;
109645 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109646 fra.me.file = LOCATE_parser;
109647 fra.me.line = 41068;
109648 fra.me.meth = LOCATE_parser___ReduceAction1074___init;
109649 fra.me.has_broke = 0;
109650 fra.me.REG_size = 1;
109651 fra.me.REG[0] = NIT_NULL;
109652 fra.me.REG[0] = p0;
109653 /* ./parser//parser.nit:41068 */
109654 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
109655 stack_frame_head = fra.me.prev;
109656 init_table[itpos1078] = 1;
109657 return;
109658 }
109659 void parser___ReduceAction1075___action(val_t p0, val_t p1){
109660 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
109661 val_t REGB0;
109662 val_t tmp;
109663 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109664 fra.me.file = LOCATE_parser;
109665 fra.me.line = 41072;
109666 fra.me.meth = LOCATE_parser___ReduceAction1075___action;
109667 fra.me.has_broke = 0;
109668 fra.me.REG_size = 3;
109669 fra.me.REG[0] = NIT_NULL;
109670 fra.me.REG[1] = NIT_NULL;
109671 fra.me.REG[2] = NIT_NULL;
109672 fra.me.REG[0] = p0;
109673 fra.me.REG[1] = p1;
109674 fra.me.REG[0] = NIT_NULL;
109675 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109676 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109677 /* ./parser//parser.nit:41077 */
109678 if (UNTAG_Bool(REGB0)) {
109679 } else {
109680 fprintf(stderr, "Assert failed");
109681 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41077);
109682 nit_exit(1);
109683 }
109684 fra.me.REG[0] = fra.me.REG[2];
109685 REGB0 = TAG_Int(110);
109686 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
109687 /* ./parser//parser.nit:41079 */
109688 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
109689 stack_frame_head = fra.me.prev;
109690 return;
109691 }
109692 void parser___ReduceAction1075___init(val_t p0, int* init_table){
109693 int itpos1079 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1075].i;
109694 struct {struct stack_frame_t me;} fra;
109695 val_t tmp;
109696 if (init_table[itpos1079]) return;
109697 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109698 fra.me.file = LOCATE_parser;
109699 fra.me.line = 41081;
109700 fra.me.meth = LOCATE_parser___ReduceAction1075___init;
109701 fra.me.has_broke = 0;
109702 fra.me.REG_size = 1;
109703 fra.me.REG[0] = NIT_NULL;
109704 fra.me.REG[0] = p0;
109705 /* ./parser//parser.nit:41081 */
109706 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
109707 stack_frame_head = fra.me.prev;
109708 init_table[itpos1079] = 1;
109709 return;
109710 }
109711 void parser___ReduceAction1076___action(val_t p0, val_t p1){
109712 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
109713 val_t REGB0;
109714 val_t tmp;
109715 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109716 fra.me.file = LOCATE_parser;
109717 fra.me.line = 41085;
109718 fra.me.meth = LOCATE_parser___ReduceAction1076___action;
109719 fra.me.has_broke = 0;
109720 fra.me.REG_size = 4;
109721 fra.me.REG[0] = NIT_NULL;
109722 fra.me.REG[1] = NIT_NULL;
109723 fra.me.REG[2] = NIT_NULL;
109724 fra.me.REG[3] = NIT_NULL;
109725 fra.me.REG[0] = p0;
109726 fra.me.REG[1] = p1;
109727 fra.me.REG[0] = NIT_NULL;
109728 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109729 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109730 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109731 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109732 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109733 /* ./parser//parser.nit:41093 */
109734 if (UNTAG_Bool(REGB0)) {
109735 } else {
109736 fprintf(stderr, "Assert failed");
109737 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41093);
109738 nit_exit(1);
109739 }
109740 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109741 /* ./parser//parser.nit:41095 */
109742 if (UNTAG_Bool(REGB0)) {
109743 } else {
109744 fprintf(stderr, "Assert failed");
109745 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41095);
109746 nit_exit(1);
109747 }
109748 fra.me.REG[2] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr(fra.me.REG[3], fra.me.REG[2]);
109749 fra.me.REG[0] = fra.me.REG[2];
109750 REGB0 = TAG_Int(110);
109751 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
109752 /* ./parser//parser.nit:41101 */
109753 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
109754 stack_frame_head = fra.me.prev;
109755 return;
109756 }
109757 void parser___ReduceAction1076___init(val_t p0, int* init_table){
109758 int itpos1080 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1076].i;
109759 struct {struct stack_frame_t me;} fra;
109760 val_t tmp;
109761 if (init_table[itpos1080]) return;
109762 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109763 fra.me.file = LOCATE_parser;
109764 fra.me.line = 41103;
109765 fra.me.meth = LOCATE_parser___ReduceAction1076___init;
109766 fra.me.has_broke = 0;
109767 fra.me.REG_size = 1;
109768 fra.me.REG[0] = NIT_NULL;
109769 fra.me.REG[0] = p0;
109770 /* ./parser//parser.nit:41103 */
109771 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
109772 stack_frame_head = fra.me.prev;
109773 init_table[itpos1080] = 1;
109774 return;
109775 }
109776 void parser___ReduceAction1077___action(val_t p0, val_t p1){
109777 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
109778 val_t REGB0;
109779 val_t tmp;
109780 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109781 fra.me.file = LOCATE_parser;
109782 fra.me.line = 41107;
109783 fra.me.meth = LOCATE_parser___ReduceAction1077___action;
109784 fra.me.has_broke = 0;
109785 fra.me.REG_size = 4;
109786 fra.me.REG[0] = NIT_NULL;
109787 fra.me.REG[1] = NIT_NULL;
109788 fra.me.REG[2] = NIT_NULL;
109789 fra.me.REG[3] = NIT_NULL;
109790 fra.me.REG[0] = p0;
109791 fra.me.REG[1] = p1;
109792 fra.me.REG[0] = NIT_NULL;
109793 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109794 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109795 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109796 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109797 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109798 /* ./parser//parser.nit:41115 */
109799 if (UNTAG_Bool(REGB0)) {
109800 } else {
109801 fprintf(stderr, "Assert failed");
109802 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41115);
109803 nit_exit(1);
109804 }
109805 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109806 /* ./parser//parser.nit:41117 */
109807 if (UNTAG_Bool(REGB0)) {
109808 } else {
109809 fprintf(stderr, "Assert failed");
109810 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41117);
109811 nit_exit(1);
109812 }
109813 fra.me.REG[2] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr(fra.me.REG[3], fra.me.REG[2]);
109814 fra.me.REG[0] = fra.me.REG[2];
109815 REGB0 = TAG_Int(110);
109816 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
109817 /* ./parser//parser.nit:41123 */
109818 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
109819 stack_frame_head = fra.me.prev;
109820 return;
109821 }
109822 void parser___ReduceAction1077___init(val_t p0, int* init_table){
109823 int itpos1081 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1077].i;
109824 struct {struct stack_frame_t me;} fra;
109825 val_t tmp;
109826 if (init_table[itpos1081]) return;
109827 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109828 fra.me.file = LOCATE_parser;
109829 fra.me.line = 41125;
109830 fra.me.meth = LOCATE_parser___ReduceAction1077___init;
109831 fra.me.has_broke = 0;
109832 fra.me.REG_size = 1;
109833 fra.me.REG[0] = NIT_NULL;
109834 fra.me.REG[0] = p0;
109835 /* ./parser//parser.nit:41125 */
109836 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
109837 stack_frame_head = fra.me.prev;
109838 init_table[itpos1081] = 1;
109839 return;
109840 }
109841 void parser___ReduceAction1078___action(val_t p0, val_t p1){
109842 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
109843 val_t REGB0;
109844 val_t tmp;
109845 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109846 fra.me.file = LOCATE_parser;
109847 fra.me.line = 41129;
109848 fra.me.meth = LOCATE_parser___ReduceAction1078___action;
109849 fra.me.has_broke = 0;
109850 fra.me.REG_size = 4;
109851 fra.me.REG[0] = NIT_NULL;
109852 fra.me.REG[1] = NIT_NULL;
109853 fra.me.REG[2] = NIT_NULL;
109854 fra.me.REG[3] = NIT_NULL;
109855 fra.me.REG[0] = p0;
109856 fra.me.REG[1] = p1;
109857 fra.me.REG[0] = NIT_NULL;
109858 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109859 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109860 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109861 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109862 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109863 /* ./parser//parser.nit:41137 */
109864 if (UNTAG_Bool(REGB0)) {
109865 } else {
109866 fprintf(stderr, "Assert failed");
109867 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41137);
109868 nit_exit(1);
109869 }
109870 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109871 /* ./parser//parser.nit:41139 */
109872 if (UNTAG_Bool(REGB0)) {
109873 } else {
109874 fprintf(stderr, "Assert failed");
109875 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41139);
109876 nit_exit(1);
109877 }
109878 fra.me.REG[2] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr(fra.me.REG[3], fra.me.REG[2]);
109879 fra.me.REG[0] = fra.me.REG[2];
109880 REGB0 = TAG_Int(110);
109881 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
109882 /* ./parser//parser.nit:41145 */
109883 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
109884 stack_frame_head = fra.me.prev;
109885 return;
109886 }
109887 void parser___ReduceAction1078___init(val_t p0, int* init_table){
109888 int itpos1082 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1078].i;
109889 struct {struct stack_frame_t me;} fra;
109890 val_t tmp;
109891 if (init_table[itpos1082]) return;
109892 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109893 fra.me.file = LOCATE_parser;
109894 fra.me.line = 41147;
109895 fra.me.meth = LOCATE_parser___ReduceAction1078___init;
109896 fra.me.has_broke = 0;
109897 fra.me.REG_size = 1;
109898 fra.me.REG[0] = NIT_NULL;
109899 fra.me.REG[0] = p0;
109900 /* ./parser//parser.nit:41147 */
109901 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
109902 stack_frame_head = fra.me.prev;
109903 init_table[itpos1082] = 1;
109904 return;
109905 }
109906 void parser___ReduceAction1079___action(val_t p0, val_t p1){
109907 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
109908 val_t REGB0;
109909 val_t tmp;
109910 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109911 fra.me.file = LOCATE_parser;
109912 fra.me.line = 41151;
109913 fra.me.meth = LOCATE_parser___ReduceAction1079___action;
109914 fra.me.has_broke = 0;
109915 fra.me.REG_size = 3;
109916 fra.me.REG[0] = NIT_NULL;
109917 fra.me.REG[1] = NIT_NULL;
109918 fra.me.REG[2] = NIT_NULL;
109919 fra.me.REG[0] = p0;
109920 fra.me.REG[1] = p1;
109921 fra.me.REG[0] = NIT_NULL;
109922 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109923 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109924 /* ./parser//parser.nit:41156 */
109925 if (UNTAG_Bool(REGB0)) {
109926 } else {
109927 fprintf(stderr, "Assert failed");
109928 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41156);
109929 nit_exit(1);
109930 }
109931 fra.me.REG[0] = fra.me.REG[2];
109932 REGB0 = TAG_Int(111);
109933 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
109934 /* ./parser//parser.nit:41158 */
109935 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
109936 stack_frame_head = fra.me.prev;
109937 return;
109938 }
109939 void parser___ReduceAction1079___init(val_t p0, int* init_table){
109940 int itpos1083 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1079].i;
109941 struct {struct stack_frame_t me;} fra;
109942 val_t tmp;
109943 if (init_table[itpos1083]) return;
109944 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109945 fra.me.file = LOCATE_parser;
109946 fra.me.line = 41160;
109947 fra.me.meth = LOCATE_parser___ReduceAction1079___init;
109948 fra.me.has_broke = 0;
109949 fra.me.REG_size = 1;
109950 fra.me.REG[0] = NIT_NULL;
109951 fra.me.REG[0] = p0;
109952 /* ./parser//parser.nit:41160 */
109953 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
109954 stack_frame_head = fra.me.prev;
109955 init_table[itpos1083] = 1;
109956 return;
109957 }
109958 void parser___ReduceAction1080___action(val_t p0, val_t p1){
109959 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
109960 val_t REGB0;
109961 val_t tmp;
109962 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109963 fra.me.file = LOCATE_parser;
109964 fra.me.line = 41164;
109965 fra.me.meth = LOCATE_parser___ReduceAction1080___action;
109966 fra.me.has_broke = 0;
109967 fra.me.REG_size = 4;
109968 fra.me.REG[0] = NIT_NULL;
109969 fra.me.REG[1] = NIT_NULL;
109970 fra.me.REG[2] = NIT_NULL;
109971 fra.me.REG[3] = NIT_NULL;
109972 fra.me.REG[0] = p0;
109973 fra.me.REG[1] = p1;
109974 fra.me.REG[0] = NIT_NULL;
109975 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109976 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109977 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
109978 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
109979 /* ./parser//parser.nit:41171 */
109980 if (UNTAG_Bool(REGB0)) {
109981 } else {
109982 fprintf(stderr, "Assert failed");
109983 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41171);
109984 nit_exit(1);
109985 }
109986 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
109987 /* ./parser//parser.nit:41173 */
109988 if (UNTAG_Bool(REGB0)) {
109989 } else {
109990 fprintf(stderr, "Assert failed");
109991 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41173);
109992 nit_exit(1);
109993 }
109994 fra.me.REG[2] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr(fra.me.REG[3], fra.me.REG[2]);
109995 fra.me.REG[0] = fra.me.REG[2];
109996 REGB0 = TAG_Int(111);
109997 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
109998 /* ./parser//parser.nit:41179 */
109999 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
110000 stack_frame_head = fra.me.prev;
110001 return;
110002 }
110003 void parser___ReduceAction1080___init(val_t p0, int* init_table){
110004 int itpos1084 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1080].i;
110005 struct {struct stack_frame_t me;} fra;
110006 val_t tmp;
110007 if (init_table[itpos1084]) return;
110008 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110009 fra.me.file = LOCATE_parser;
110010 fra.me.line = 41181;
110011 fra.me.meth = LOCATE_parser___ReduceAction1080___init;
110012 fra.me.has_broke = 0;
110013 fra.me.REG_size = 1;
110014 fra.me.REG[0] = NIT_NULL;
110015 fra.me.REG[0] = p0;
110016 /* ./parser//parser.nit:41181 */
110017 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
110018 stack_frame_head = fra.me.prev;
110019 init_table[itpos1084] = 1;
110020 return;
110021 }
110022 void parser___ReduceAction1081___action(val_t p0, val_t p1){
110023 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
110024 val_t REGB0;
110025 val_t tmp;
110026 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110027 fra.me.file = LOCATE_parser;
110028 fra.me.line = 41185;
110029 fra.me.meth = LOCATE_parser___ReduceAction1081___action;
110030 fra.me.has_broke = 0;
110031 fra.me.REG_size = 4;
110032 fra.me.REG[0] = NIT_NULL;
110033 fra.me.REG[1] = NIT_NULL;
110034 fra.me.REG[2] = NIT_NULL;
110035 fra.me.REG[3] = NIT_NULL;
110036 fra.me.REG[0] = p0;
110037 fra.me.REG[1] = p1;
110038 fra.me.REG[0] = NIT_NULL;
110039 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110040 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110041 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110042 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwonce, ID_TKwonce)) /*cast nullable TKwonce*/;
110043 /* ./parser//parser.nit:41192 */
110044 if (UNTAG_Bool(REGB0)) {
110045 } else {
110046 fprintf(stderr, "Assert failed");
110047 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41192);
110048 nit_exit(1);
110049 }
110050 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
110051 /* ./parser//parser.nit:41194 */
110052 if (UNTAG_Bool(REGB0)) {
110053 } else {
110054 fprintf(stderr, "Assert failed");
110055 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41194);
110056 nit_exit(1);
110057 }
110058 fra.me.REG[2] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr(fra.me.REG[3], fra.me.REG[2]);
110059 fra.me.REG[0] = fra.me.REG[2];
110060 REGB0 = TAG_Int(111);
110061 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
110062 /* ./parser//parser.nit:41200 */
110063 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
110064 stack_frame_head = fra.me.prev;
110065 return;
110066 }
110067 void parser___ReduceAction1081___init(val_t p0, int* init_table){
110068 int itpos1085 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1081].i;
110069 struct {struct stack_frame_t me;} fra;
110070 val_t tmp;
110071 if (init_table[itpos1085]) return;
110072 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110073 fra.me.file = LOCATE_parser;
110074 fra.me.line = 41202;
110075 fra.me.meth = LOCATE_parser___ReduceAction1081___init;
110076 fra.me.has_broke = 0;
110077 fra.me.REG_size = 1;
110078 fra.me.REG[0] = NIT_NULL;
110079 fra.me.REG[0] = p0;
110080 /* ./parser//parser.nit:41202 */
110081 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
110082 stack_frame_head = fra.me.prev;
110083 init_table[itpos1085] = 1;
110084 return;
110085 }
110086 void parser___ReduceAction1082___action(val_t p0, val_t p1){
110087 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
110088 val_t REGB0;
110089 val_t tmp;
110090 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110091 fra.me.file = LOCATE_parser;
110092 fra.me.line = 41206;
110093 fra.me.meth = LOCATE_parser___ReduceAction1082___action;
110094 fra.me.has_broke = 0;
110095 fra.me.REG_size = 3;
110096 fra.me.REG[0] = NIT_NULL;
110097 fra.me.REG[1] = NIT_NULL;
110098 fra.me.REG[2] = NIT_NULL;
110099 fra.me.REG[0] = p0;
110100 fra.me.REG[1] = p1;
110101 fra.me.REG[0] = NIT_NULL;
110102 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110103 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
110104 /* ./parser//parser.nit:41211 */
110105 if (UNTAG_Bool(REGB0)) {
110106 } else {
110107 fprintf(stderr, "Assert failed");
110108 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41211);
110109 nit_exit(1);
110110 }
110111 fra.me.REG[0] = fra.me.REG[2];
110112 REGB0 = TAG_Int(112);
110113 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
110114 /* ./parser//parser.nit:41213 */
110115 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
110116 stack_frame_head = fra.me.prev;
110117 return;
110118 }
110119 void parser___ReduceAction1082___init(val_t p0, int* init_table){
110120 int itpos1086 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1082].i;
110121 struct {struct stack_frame_t me;} fra;
110122 val_t tmp;
110123 if (init_table[itpos1086]) return;
110124 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110125 fra.me.file = LOCATE_parser;
110126 fra.me.line = 41215;
110127 fra.me.meth = LOCATE_parser___ReduceAction1082___init;
110128 fra.me.has_broke = 0;
110129 fra.me.REG_size = 1;
110130 fra.me.REG[0] = NIT_NULL;
110131 fra.me.REG[0] = p0;
110132 /* ./parser//parser.nit:41215 */
110133 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
110134 stack_frame_head = fra.me.prev;
110135 init_table[itpos1086] = 1;
110136 return;
110137 }
110138 void parser___ReduceAction1083___action(val_t p0, val_t p1){
110139 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
110140 val_t REGB0;
110141 val_t tmp;
110142 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110143 fra.me.file = LOCATE_parser;
110144 fra.me.line = 41219;
110145 fra.me.meth = LOCATE_parser___ReduceAction1083___action;
110146 fra.me.has_broke = 0;
110147 fra.me.REG_size = 6;
110148 fra.me.REG[0] = NIT_NULL;
110149 fra.me.REG[1] = NIT_NULL;
110150 fra.me.REG[2] = NIT_NULL;
110151 fra.me.REG[3] = NIT_NULL;
110152 fra.me.REG[4] = NIT_NULL;
110153 fra.me.REG[5] = NIT_NULL;
110154 fra.me.REG[0] = p0;
110155 fra.me.REG[1] = p1;
110156 fra.me.REG[0] = NIT_NULL;
110157 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110158 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110159 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110160 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110161 fra.me.REG[5] = NEW_Array_array___Array___init();
110162 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwnew, ID_TKwnew)) /*cast nullable TKwnew*/;
110163 /* ./parser//parser.nit:41228 */
110164 if (UNTAG_Bool(REGB0)) {
110165 } else {
110166 fprintf(stderr, "Assert failed");
110167 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41228);
110168 nit_exit(1);
110169 }
110170 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
110171 /* ./parser//parser.nit:41230 */
110172 if (UNTAG_Bool(REGB0)) {
110173 } else {
110174 fprintf(stderr, "Assert failed");
110175 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41230);
110176 nit_exit(1);
110177 }
110178 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
110179 /* ./parser//parser.nit:41232 */
110180 if (UNTAG_Bool(REGB0)) {
110181 } else {
110182 fprintf(stderr, "Assert failed");
110183 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41232);
110184 nit_exit(1);
110185 }
110186 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
110187 /* ./parser//parser.nit:41234 */
110188 if (UNTAG_Bool(REGB0)) {
110189 fra.me.REG[5] = fra.me.REG[2];
110190 /* ./parser//parser.nit:41235 */
110191 } else {
110192 /* ./parser//parser.nit:41237 */
110193 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
110194 }
110195 fra.me.REG[5] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[5]);
110196 fra.me.REG[0] = fra.me.REG[5];
110197 REGB0 = TAG_Int(112);
110198 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
110199 /* ./parser//parser.nit:41247 */
110200 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
110201 stack_frame_head = fra.me.prev;
110202 return;
110203 }
110204 void parser___ReduceAction1083___init(val_t p0, int* init_table){
110205 int itpos1087 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1083].i;
110206 struct {struct stack_frame_t me;} fra;
110207 val_t tmp;
110208 if (init_table[itpos1087]) return;
110209 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110210 fra.me.file = LOCATE_parser;
110211 fra.me.line = 41249;
110212 fra.me.meth = LOCATE_parser___ReduceAction1083___init;
110213 fra.me.has_broke = 0;
110214 fra.me.REG_size = 1;
110215 fra.me.REG[0] = NIT_NULL;
110216 fra.me.REG[0] = p0;
110217 /* ./parser//parser.nit:41249 */
110218 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
110219 stack_frame_head = fra.me.prev;
110220 init_table[itpos1087] = 1;
110221 return;
110222 }
110223 void parser___ReduceAction1084___action(val_t p0, val_t p1){
110224 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
110225 val_t REGB0;
110226 val_t tmp;
110227 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110228 fra.me.file = LOCATE_parser;
110229 fra.me.line = 41253;
110230 fra.me.meth = LOCATE_parser___ReduceAction1084___action;
110231 fra.me.has_broke = 0;
110232 fra.me.REG_size = 5;
110233 fra.me.REG[0] = NIT_NULL;
110234 fra.me.REG[1] = NIT_NULL;
110235 fra.me.REG[2] = NIT_NULL;
110236 fra.me.REG[3] = NIT_NULL;
110237 fra.me.REG[4] = NIT_NULL;
110238 fra.me.REG[0] = p0;
110239 fra.me.REG[1] = p1;
110240 fra.me.REG[0] = NIT_NULL;
110241 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110242 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110243 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110244 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110245 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110246 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwisset, ID_TKwisset)) /*cast nullable TKwisset*/;
110247 /* ./parser//parser.nit:41262 */
110248 if (UNTAG_Bool(REGB0)) {
110249 } else {
110250 fprintf(stderr, "Assert failed");
110251 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41262);
110252 nit_exit(1);
110253 }
110254 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
110255 /* ./parser//parser.nit:41264 */
110256 if (UNTAG_Bool(REGB0)) {
110257 } else {
110258 fprintf(stderr, "Assert failed");
110259 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41264);
110260 nit_exit(1);
110261 }
110262 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
110263 /* ./parser//parser.nit:41266 */
110264 if (UNTAG_Bool(REGB0)) {
110265 } else {
110266 fprintf(stderr, "Assert failed");
110267 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41266);
110268 nit_exit(1);
110269 }
110270 fra.me.REG[2] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
110271 fra.me.REG[0] = fra.me.REG[2];
110272 REGB0 = TAG_Int(112);
110273 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
110274 /* ./parser//parser.nit:41273 */
110275 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
110276 stack_frame_head = fra.me.prev;
110277 return;
110278 }
110279 void parser___ReduceAction1084___init(val_t p0, int* init_table){
110280 int itpos1088 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1084].i;
110281 struct {struct stack_frame_t me;} fra;
110282 val_t tmp;
110283 if (init_table[itpos1088]) return;
110284 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110285 fra.me.file = LOCATE_parser;
110286 fra.me.line = 41275;
110287 fra.me.meth = LOCATE_parser___ReduceAction1084___init;
110288 fra.me.has_broke = 0;
110289 fra.me.REG_size = 1;
110290 fra.me.REG[0] = NIT_NULL;
110291 fra.me.REG[0] = p0;
110292 /* ./parser//parser.nit:41275 */
110293 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
110294 stack_frame_head = fra.me.prev;
110295 init_table[itpos1088] = 1;
110296 return;
110297 }
110298 void parser___ReduceAction1085___action(val_t p0, val_t p1){
110299 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
110300 val_t REGB0;
110301 val_t tmp;
110302 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110303 fra.me.file = LOCATE_parser;
110304 fra.me.line = 41279;
110305 fra.me.meth = LOCATE_parser___ReduceAction1085___action;
110306 fra.me.has_broke = 0;
110307 fra.me.REG_size = 5;
110308 fra.me.REG[0] = NIT_NULL;
110309 fra.me.REG[1] = NIT_NULL;
110310 fra.me.REG[2] = NIT_NULL;
110311 fra.me.REG[3] = NIT_NULL;
110312 fra.me.REG[4] = NIT_NULL;
110313 fra.me.REG[0] = p0;
110314 fra.me.REG[1] = p1;
110315 fra.me.REG[0] = NIT_NULL;
110316 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110317 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110318 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwisset, ID_TKwisset)) /*cast nullable TKwisset*/;
110319 /* ./parser//parser.nit:41285 */
110320 if (UNTAG_Bool(REGB0)) {
110321 } else {
110322 fprintf(stderr, "Assert failed");
110323 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41285);
110324 nit_exit(1);
110325 }
110326 fra.me.REG[4] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
110327 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
110328 /* ./parser//parser.nit:41289 */
110329 if (UNTAG_Bool(REGB0)) {
110330 } else {
110331 fprintf(stderr, "Assert failed");
110332 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41289);
110333 nit_exit(1);
110334 }
110335 fra.me.REG[2] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]);
110336 fra.me.REG[0] = fra.me.REG[2];
110337 REGB0 = TAG_Int(112);
110338 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
110339 /* ./parser//parser.nit:41296 */
110340 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
110341 stack_frame_head = fra.me.prev;
110342 return;
110343 }
110344 void parser___ReduceAction1085___init(val_t p0, int* init_table){
110345 int itpos1089 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1085].i;
110346 struct {struct stack_frame_t me;} fra;
110347 val_t tmp;
110348 if (init_table[itpos1089]) return;
110349 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110350 fra.me.file = LOCATE_parser;
110351 fra.me.line = 41298;
110352 fra.me.meth = LOCATE_parser___ReduceAction1085___init;
110353 fra.me.has_broke = 0;
110354 fra.me.REG_size = 1;
110355 fra.me.REG[0] = NIT_NULL;
110356 fra.me.REG[0] = p0;
110357 /* ./parser//parser.nit:41298 */
110358 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
110359 stack_frame_head = fra.me.prev;
110360 init_table[itpos1089] = 1;
110361 return;
110362 }
110363 void parser___ReduceAction1086___action(val_t p0, val_t p1){
110364 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
110365 val_t REGB0;
110366 val_t tmp;
110367 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110368 fra.me.file = LOCATE_parser;
110369 fra.me.line = 41302;
110370 fra.me.meth = LOCATE_parser___ReduceAction1086___action;
110371 fra.me.has_broke = 0;
110372 fra.me.REG_size = 4;
110373 fra.me.REG[0] = NIT_NULL;
110374 fra.me.REG[1] = NIT_NULL;
110375 fra.me.REG[2] = NIT_NULL;
110376 fra.me.REG[3] = NIT_NULL;
110377 fra.me.REG[0] = p0;
110378 fra.me.REG[1] = p1;
110379 fra.me.REG[0] = NIT_NULL;
110380 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110381 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110382 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110383 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110384 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
110385 /* ./parser//parser.nit:41310 */
110386 if (UNTAG_Bool(REGB0)) {
110387 } else {
110388 fprintf(stderr, "Assert failed");
110389 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41310);
110390 nit_exit(1);
110391 }
110392 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
110393 /* ./parser//parser.nit:41312 */
110394 if (UNTAG_Bool(REGB0)) {
110395 } else {
110396 fprintf(stderr, "Assert failed");
110397 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41312);
110398 nit_exit(1);
110399 }
110400 fra.me.REG[2] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[3], fra.me.REG[2]);
110401 fra.me.REG[0] = fra.me.REG[2];
110402 REGB0 = TAG_Int(113);
110403 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
110404 /* ./parser//parser.nit:41318 */
110405 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
110406 stack_frame_head = fra.me.prev;
110407 return;
110408 }
110409 void parser___ReduceAction1086___init(val_t p0, int* init_table){
110410 int itpos1090 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1086].i;
110411 struct {struct stack_frame_t me;} fra;
110412 val_t tmp;
110413 if (init_table[itpos1090]) return;
110414 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110415 fra.me.file = LOCATE_parser;
110416 fra.me.line = 41320;
110417 fra.me.meth = LOCATE_parser___ReduceAction1086___init;
110418 fra.me.has_broke = 0;
110419 fra.me.REG_size = 1;
110420 fra.me.REG[0] = NIT_NULL;
110421 fra.me.REG[0] = p0;
110422 /* ./parser//parser.nit:41320 */
110423 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
110424 stack_frame_head = fra.me.prev;
110425 init_table[itpos1090] = 1;
110426 return;
110427 }
110428 void parser___ReduceAction1087___action(val_t p0, val_t p1){
110429 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
110430 val_t REGB0;
110431 val_t tmp;
110432 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110433 fra.me.file = LOCATE_parser;
110434 fra.me.line = 41324;
110435 fra.me.meth = LOCATE_parser___ReduceAction1087___action;
110436 fra.me.has_broke = 0;
110437 fra.me.REG_size = 4;
110438 fra.me.REG[0] = NIT_NULL;
110439 fra.me.REG[1] = NIT_NULL;
110440 fra.me.REG[2] = NIT_NULL;
110441 fra.me.REG[3] = NIT_NULL;
110442 fra.me.REG[0] = p0;
110443 fra.me.REG[1] = p1;
110444 fra.me.REG[0] = NIT_NULL;
110445 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110446 fra.me.REG[3] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
110447 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
110448 /* ./parser//parser.nit:41331 */
110449 if (UNTAG_Bool(REGB0)) {
110450 } else {
110451 fprintf(stderr, "Assert failed");
110452 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41331);
110453 nit_exit(1);
110454 }
110455 fra.me.REG[2] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[3], fra.me.REG[2]);
110456 fra.me.REG[0] = fra.me.REG[2];
110457 REGB0 = TAG_Int(113);
110458 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
110459 /* ./parser//parser.nit:41337 */
110460 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
110461 stack_frame_head = fra.me.prev;
110462 return;
110463 }
110464 void parser___ReduceAction1087___init(val_t p0, int* init_table){
110465 int itpos1091 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1087].i;
110466 struct {struct stack_frame_t me;} fra;
110467 val_t tmp;
110468 if (init_table[itpos1091]) return;
110469 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110470 fra.me.file = LOCATE_parser;
110471 fra.me.line = 41339;
110472 fra.me.meth = LOCATE_parser___ReduceAction1087___init;
110473 fra.me.has_broke = 0;
110474 fra.me.REG_size = 1;
110475 fra.me.REG[0] = NIT_NULL;
110476 fra.me.REG[0] = p0;
110477 /* ./parser//parser.nit:41339 */
110478 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
110479 stack_frame_head = fra.me.prev;
110480 init_table[itpos1091] = 1;
110481 return;
110482 }
110483 void parser___ReduceAction1088___action(val_t p0, val_t p1){
110484 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
110485 val_t REGB0;
110486 val_t tmp;
110487 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110488 fra.me.file = LOCATE_parser;
110489 fra.me.line = 41343;
110490 fra.me.meth = LOCATE_parser___ReduceAction1088___action;
110491 fra.me.has_broke = 0;
110492 fra.me.REG_size = 7;
110493 fra.me.REG[0] = NIT_NULL;
110494 fra.me.REG[1] = NIT_NULL;
110495 fra.me.REG[2] = NIT_NULL;
110496 fra.me.REG[3] = NIT_NULL;
110497 fra.me.REG[4] = NIT_NULL;
110498 fra.me.REG[5] = NIT_NULL;
110499 fra.me.REG[6] = NIT_NULL;
110500 fra.me.REG[0] = p0;
110501 fra.me.REG[1] = p1;
110502 fra.me.REG[0] = NIT_NULL;
110503 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110504 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110505 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110506 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110507 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110508 fra.me.REG[5] = NEW_Array_array___Array___init();
110509 fra.me.REG[6] = NEW_Array_array___Array___init();
110510 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
110511 /* ./parser//parser.nit:41354 */
110512 if (UNTAG_Bool(REGB0)) {
110513 } else {
110514 fprintf(stderr, "Assert failed");
110515 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41354);
110516 nit_exit(1);
110517 }
110518 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
110519 /* ./parser//parser.nit:41356 */
110520 if (UNTAG_Bool(REGB0)) {
110521 } else {
110522 fprintf(stderr, "Assert failed");
110523 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41356);
110524 nit_exit(1);
110525 }
110526 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
110527 /* ./parser//parser.nit:41358 */
110528 if (UNTAG_Bool(REGB0)) {
110529 } else {
110530 fprintf(stderr, "Assert failed");
110531 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41358);
110532 nit_exit(1);
110533 }
110534 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
110535 /* ./parser//parser.nit:41360 */
110536 if (UNTAG_Bool(REGB0)) {
110537 fra.me.REG[5] = fra.me.REG[2];
110538 /* ./parser//parser.nit:41361 */
110539 } else {
110540 /* ./parser//parser.nit:41363 */
110541 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
110542 }
110543 fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[6]);
110544 fra.me.REG[0] = fra.me.REG[6];
110545 REGB0 = TAG_Int(113);
110546 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
110547 /* ./parser//parser.nit:41373 */
110548 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
110549 stack_frame_head = fra.me.prev;
110550 return;
110551 }
110552 void parser___ReduceAction1088___init(val_t p0, int* init_table){
110553 int itpos1092 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1088].i;
110554 struct {struct stack_frame_t me;} fra;
110555 val_t tmp;
110556 if (init_table[itpos1092]) return;
110557 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110558 fra.me.file = LOCATE_parser;
110559 fra.me.line = 41375;
110560 fra.me.meth = LOCATE_parser___ReduceAction1088___init;
110561 fra.me.has_broke = 0;
110562 fra.me.REG_size = 1;
110563 fra.me.REG[0] = NIT_NULL;
110564 fra.me.REG[0] = p0;
110565 /* ./parser//parser.nit:41375 */
110566 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
110567 stack_frame_head = fra.me.prev;
110568 init_table[itpos1092] = 1;
110569 return;
110570 }
110571 void parser___ReduceAction1089___action(val_t p0, val_t p1){
110572 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
110573 val_t REGB0;
110574 val_t tmp;
110575 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110576 fra.me.file = LOCATE_parser;
110577 fra.me.line = 41379;
110578 fra.me.meth = LOCATE_parser___ReduceAction1089___action;
110579 fra.me.has_broke = 0;
110580 fra.me.REG_size = 7;
110581 fra.me.REG[0] = NIT_NULL;
110582 fra.me.REG[1] = NIT_NULL;
110583 fra.me.REG[2] = NIT_NULL;
110584 fra.me.REG[3] = NIT_NULL;
110585 fra.me.REG[4] = NIT_NULL;
110586 fra.me.REG[5] = NIT_NULL;
110587 fra.me.REG[6] = NIT_NULL;
110588 fra.me.REG[0] = p0;
110589 fra.me.REG[1] = p1;
110590 fra.me.REG[0] = NIT_NULL;
110591 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110592 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110593 fra.me.REG[4] = NEW_Array_array___Array___init();
110594 fra.me.REG[5] = NEW_Array_array___Array___init();
110595 fra.me.REG[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
110596 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
110597 /* ./parser//parser.nit:41389 */
110598 if (UNTAG_Bool(REGB0)) {
110599 } else {
110600 fprintf(stderr, "Assert failed");
110601 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41389);
110602 nit_exit(1);
110603 }
110604 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
110605 /* ./parser//parser.nit:41391 */
110606 if (UNTAG_Bool(REGB0)) {
110607 } else {
110608 fprintf(stderr, "Assert failed");
110609 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41391);
110610 nit_exit(1);
110611 }
110612 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
110613 /* ./parser//parser.nit:41393 */
110614 if (UNTAG_Bool(REGB0)) {
110615 fra.me.REG[4] = fra.me.REG[2];
110616 /* ./parser//parser.nit:41394 */
110617 } else {
110618 /* ./parser//parser.nit:41396 */
110619 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
110620 }
110621 fra.me.REG[5] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[6], fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]);
110622 fra.me.REG[0] = fra.me.REG[5];
110623 REGB0 = TAG_Int(113);
110624 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
110625 /* ./parser//parser.nit:41406 */
110626 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
110627 stack_frame_head = fra.me.prev;
110628 return;
110629 }
110630 void parser___ReduceAction1089___init(val_t p0, int* init_table){
110631 int itpos1093 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1089].i;
110632 struct {struct stack_frame_t me;} fra;
110633 val_t tmp;
110634 if (init_table[itpos1093]) return;
110635 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110636 fra.me.file = LOCATE_parser;
110637 fra.me.line = 41408;
110638 fra.me.meth = LOCATE_parser___ReduceAction1089___init;
110639 fra.me.has_broke = 0;
110640 fra.me.REG_size = 1;
110641 fra.me.REG[0] = NIT_NULL;
110642 fra.me.REG[0] = p0;
110643 /* ./parser//parser.nit:41408 */
110644 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
110645 stack_frame_head = fra.me.prev;
110646 init_table[itpos1093] = 1;
110647 return;
110648 }
110649 void parser___ReduceAction1090___action(val_t p0, val_t p1){
110650 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
110651 val_t REGB0;
110652 val_t tmp;
110653 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110654 fra.me.file = LOCATE_parser;
110655 fra.me.line = 41412;
110656 fra.me.meth = LOCATE_parser___ReduceAction1090___action;
110657 fra.me.has_broke = 0;
110658 fra.me.REG_size = 5;
110659 fra.me.REG[0] = NIT_NULL;
110660 fra.me.REG[1] = NIT_NULL;
110661 fra.me.REG[2] = NIT_NULL;
110662 fra.me.REG[3] = NIT_NULL;
110663 fra.me.REG[4] = NIT_NULL;
110664 fra.me.REG[0] = p0;
110665 fra.me.REG[1] = p1;
110666 fra.me.REG[0] = NIT_NULL;
110667 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110668 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110669 fra.me.REG[4] = NEW_Array_array___Array___init();
110670 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/;
110671 /* ./parser//parser.nit:41419 */
110672 if (UNTAG_Bool(REGB0)) {
110673 } else {
110674 fprintf(stderr, "Assert failed");
110675 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41419);
110676 nit_exit(1);
110677 }
110678 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
110679 /* ./parser//parser.nit:41421 */
110680 if (UNTAG_Bool(REGB0)) {
110681 } else {
110682 fprintf(stderr, "Assert failed");
110683 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41421);
110684 nit_exit(1);
110685 }
110686 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
110687 /* ./parser//parser.nit:41423 */
110688 if (UNTAG_Bool(REGB0)) {
110689 fra.me.REG[4] = fra.me.REG[2];
110690 /* ./parser//parser.nit:41424 */
110691 } else {
110692 /* ./parser//parser.nit:41426 */
110693 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
110694 }
110695 fra.me.REG[4] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
110696 fra.me.REG[0] = fra.me.REG[4];
110697 REGB0 = TAG_Int(113);
110698 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
110699 /* ./parser//parser.nit:41435 */
110700 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
110701 stack_frame_head = fra.me.prev;
110702 return;
110703 }
110704 void parser___ReduceAction1090___init(val_t p0, int* init_table){
110705 int itpos1094 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1090].i;
110706 struct {struct stack_frame_t me;} fra;
110707 val_t tmp;
110708 if (init_table[itpos1094]) return;
110709 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110710 fra.me.file = LOCATE_parser;
110711 fra.me.line = 41437;
110712 fra.me.meth = LOCATE_parser___ReduceAction1090___init;
110713 fra.me.has_broke = 0;
110714 fra.me.REG_size = 1;
110715 fra.me.REG[0] = NIT_NULL;
110716 fra.me.REG[0] = p0;
110717 /* ./parser//parser.nit:41437 */
110718 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
110719 stack_frame_head = fra.me.prev;
110720 init_table[itpos1094] = 1;
110721 return;
110722 }
110723 void parser___ReduceAction1091___action(val_t p0, val_t p1){
110724 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
110725 val_t REGB0;
110726 val_t tmp;
110727 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110728 fra.me.file = LOCATE_parser;
110729 fra.me.line = 41441;
110730 fra.me.meth = LOCATE_parser___ReduceAction1091___action;
110731 fra.me.has_broke = 0;
110732 fra.me.REG_size = 6;
110733 fra.me.REG[0] = NIT_NULL;
110734 fra.me.REG[1] = NIT_NULL;
110735 fra.me.REG[2] = NIT_NULL;
110736 fra.me.REG[3] = NIT_NULL;
110737 fra.me.REG[4] = NIT_NULL;
110738 fra.me.REG[5] = NIT_NULL;
110739 fra.me.REG[0] = p0;
110740 fra.me.REG[1] = p1;
110741 fra.me.REG[0] = NIT_NULL;
110742 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110743 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110744 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110745 fra.me.REG[5] = NEW_Array_array___Array___init();
110746 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AQualified, ID_AQualified)) /*cast nullable AQualified*/;
110747 /* ./parser//parser.nit:41449 */
110748 if (UNTAG_Bool(REGB0)) {
110749 } else {
110750 fprintf(stderr, "Assert failed");
110751 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41449);
110752 nit_exit(1);
110753 }
110754 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/;
110755 /* ./parser//parser.nit:41451 */
110756 if (UNTAG_Bool(REGB0)) {
110757 } else {
110758 fprintf(stderr, "Assert failed");
110759 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41451);
110760 nit_exit(1);
110761 }
110762 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
110763 /* ./parser//parser.nit:41453 */
110764 if (UNTAG_Bool(REGB0)) {
110765 } else {
110766 fprintf(stderr, "Assert failed");
110767 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41453);
110768 nit_exit(1);
110769 }
110770 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
110771 /* ./parser//parser.nit:41455 */
110772 if (UNTAG_Bool(REGB0)) {
110773 fra.me.REG[5] = fra.me.REG[2];
110774 /* ./parser//parser.nit:41456 */
110775 } else {
110776 /* ./parser//parser.nit:41458 */
110777 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
110778 }
110779 fra.me.REG[5] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
110780 fra.me.REG[0] = fra.me.REG[5];
110781 REGB0 = TAG_Int(113);
110782 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
110783 /* ./parser//parser.nit:41467 */
110784 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
110785 stack_frame_head = fra.me.prev;
110786 return;
110787 }
110788 void parser___ReduceAction1091___init(val_t p0, int* init_table){
110789 int itpos1095 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1091].i;
110790 struct {struct stack_frame_t me;} fra;
110791 val_t tmp;
110792 if (init_table[itpos1095]) return;
110793 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110794 fra.me.file = LOCATE_parser;
110795 fra.me.line = 41469;
110796 fra.me.meth = LOCATE_parser___ReduceAction1091___init;
110797 fra.me.has_broke = 0;
110798 fra.me.REG_size = 1;
110799 fra.me.REG[0] = NIT_NULL;
110800 fra.me.REG[0] = p0;
110801 /* ./parser//parser.nit:41469 */
110802 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
110803 stack_frame_head = fra.me.prev;
110804 init_table[itpos1095] = 1;
110805 return;
110806 }
110807 void parser___ReduceAction1092___action(val_t p0, val_t p1){
110808 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
110809 val_t REGB0;
110810 val_t tmp;
110811 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110812 fra.me.file = LOCATE_parser;
110813 fra.me.line = 41473;
110814 fra.me.meth = LOCATE_parser___ReduceAction1092___action;
110815 fra.me.has_broke = 0;
110816 fra.me.REG_size = 6;
110817 fra.me.REG[0] = NIT_NULL;
110818 fra.me.REG[1] = NIT_NULL;
110819 fra.me.REG[2] = NIT_NULL;
110820 fra.me.REG[3] = NIT_NULL;
110821 fra.me.REG[4] = NIT_NULL;
110822 fra.me.REG[5] = NIT_NULL;
110823 fra.me.REG[0] = p0;
110824 fra.me.REG[1] = p1;
110825 fra.me.REG[0] = NIT_NULL;
110826 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110827 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110828 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110829 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110830 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110831 fra.me.REG[5] = NEW_Array_array___Array___init();
110832 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
110833 /* ./parser//parser.nit:41483 */
110834 if (UNTAG_Bool(REGB0)) {
110835 } else {
110836 fprintf(stderr, "Assert failed");
110837 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41483);
110838 nit_exit(1);
110839 }
110840 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
110841 /* ./parser//parser.nit:41485 */
110842 if (UNTAG_Bool(REGB0)) {
110843 } else {
110844 fprintf(stderr, "Assert failed");
110845 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41485);
110846 nit_exit(1);
110847 }
110848 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
110849 /* ./parser//parser.nit:41487 */
110850 if (UNTAG_Bool(REGB0)) {
110851 } else {
110852 fprintf(stderr, "Assert failed");
110853 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41487);
110854 nit_exit(1);
110855 }
110856 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
110857 /* ./parser//parser.nit:41489 */
110858 if (UNTAG_Bool(REGB0)) {
110859 fra.me.REG[5] = fra.me.REG[2];
110860 /* ./parser//parser.nit:41490 */
110861 } else {
110862 /* ./parser//parser.nit:41492 */
110863 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
110864 }
110865 fra.me.REG[5] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
110866 fra.me.REG[0] = fra.me.REG[5];
110867 REGB0 = TAG_Int(113);
110868 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
110869 /* ./parser//parser.nit:41501 */
110870 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
110871 stack_frame_head = fra.me.prev;
110872 return;
110873 }
110874 void parser___ReduceAction1092___init(val_t p0, int* init_table){
110875 int itpos1096 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1092].i;
110876 struct {struct stack_frame_t me;} fra;
110877 val_t tmp;
110878 if (init_table[itpos1096]) return;
110879 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110880 fra.me.file = LOCATE_parser;
110881 fra.me.line = 41503;
110882 fra.me.meth = LOCATE_parser___ReduceAction1092___init;
110883 fra.me.has_broke = 0;
110884 fra.me.REG_size = 1;
110885 fra.me.REG[0] = NIT_NULL;
110886 fra.me.REG[0] = p0;
110887 /* ./parser//parser.nit:41503 */
110888 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
110889 stack_frame_head = fra.me.prev;
110890 init_table[itpos1096] = 1;
110891 return;
110892 }
110893 void parser___ReduceAction1093___action(val_t p0, val_t p1){
110894 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
110895 val_t REGB0;
110896 val_t tmp;
110897 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110898 fra.me.file = LOCATE_parser;
110899 fra.me.line = 41507;
110900 fra.me.meth = LOCATE_parser___ReduceAction1093___action;
110901 fra.me.has_broke = 0;
110902 fra.me.REG_size = 6;
110903 fra.me.REG[0] = NIT_NULL;
110904 fra.me.REG[1] = NIT_NULL;
110905 fra.me.REG[2] = NIT_NULL;
110906 fra.me.REG[3] = NIT_NULL;
110907 fra.me.REG[4] = NIT_NULL;
110908 fra.me.REG[5] = NIT_NULL;
110909 fra.me.REG[0] = p0;
110910 fra.me.REG[1] = p1;
110911 fra.me.REG[0] = NIT_NULL;
110912 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110913 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110914 fra.me.REG[4] = NEW_Array_array___Array___init();
110915 fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
110916 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
110917 /* ./parser//parser.nit:41516 */
110918 if (UNTAG_Bool(REGB0)) {
110919 } else {
110920 fprintf(stderr, "Assert failed");
110921 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41516);
110922 nit_exit(1);
110923 }
110924 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
110925 /* ./parser//parser.nit:41518 */
110926 if (UNTAG_Bool(REGB0)) {
110927 } else {
110928 fprintf(stderr, "Assert failed");
110929 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41518);
110930 nit_exit(1);
110931 }
110932 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
110933 /* ./parser//parser.nit:41520 */
110934 if (UNTAG_Bool(REGB0)) {
110935 fra.me.REG[4] = fra.me.REG[2];
110936 /* ./parser//parser.nit:41521 */
110937 } else {
110938 /* ./parser//parser.nit:41523 */
110939 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
110940 }
110941 fra.me.REG[4] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[3], fra.me.REG[4]);
110942 fra.me.REG[0] = fra.me.REG[4];
110943 REGB0 = TAG_Int(113);
110944 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
110945 /* ./parser//parser.nit:41532 */
110946 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
110947 stack_frame_head = fra.me.prev;
110948 return;
110949 }
110950 void parser___ReduceAction1093___init(val_t p0, int* init_table){
110951 int itpos1097 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1093].i;
110952 struct {struct stack_frame_t me;} fra;
110953 val_t tmp;
110954 if (init_table[itpos1097]) return;
110955 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110956 fra.me.file = LOCATE_parser;
110957 fra.me.line = 41534;
110958 fra.me.meth = LOCATE_parser___ReduceAction1093___init;
110959 fra.me.has_broke = 0;
110960 fra.me.REG_size = 1;
110961 fra.me.REG[0] = NIT_NULL;
110962 fra.me.REG[0] = p0;
110963 /* ./parser//parser.nit:41534 */
110964 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
110965 stack_frame_head = fra.me.prev;
110966 init_table[itpos1097] = 1;
110967 return;
110968 }
110969 void parser___ReduceAction1094___action(val_t p0, val_t p1){
110970 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
110971 val_t REGB0;
110972 val_t tmp;
110973 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110974 fra.me.file = LOCATE_parser;
110975 fra.me.line = 41538;
110976 fra.me.meth = LOCATE_parser___ReduceAction1094___action;
110977 fra.me.has_broke = 0;
110978 fra.me.REG_size = 7;
110979 fra.me.REG[0] = NIT_NULL;
110980 fra.me.REG[1] = NIT_NULL;
110981 fra.me.REG[2] = NIT_NULL;
110982 fra.me.REG[3] = NIT_NULL;
110983 fra.me.REG[4] = NIT_NULL;
110984 fra.me.REG[5] = NIT_NULL;
110985 fra.me.REG[6] = NIT_NULL;
110986 fra.me.REG[0] = p0;
110987 fra.me.REG[1] = p1;
110988 fra.me.REG[0] = NIT_NULL;
110989 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110990 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110991 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110992 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110993 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110994 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110995 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
110996 fra.me.REG[6] = NEW_Array_array___Array___init();
110997 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwnew, ID_TKwnew)) /*cast nullable TKwnew*/;
110998 /* ./parser//parser.nit:41550 */
110999 if (UNTAG_Bool(REGB0)) {
111000 } else {
111001 fprintf(stderr, "Assert failed");
111002 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41550);
111003 nit_exit(1);
111004 }
111005 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
111006 /* ./parser//parser.nit:41552 */
111007 if (UNTAG_Bool(REGB0)) {
111008 } else {
111009 fprintf(stderr, "Assert failed");
111010 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41552);
111011 nit_exit(1);
111012 }
111013 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
111014 /* ./parser//parser.nit:41554 */
111015 if (UNTAG_Bool(REGB0)) {
111016 } else {
111017 fprintf(stderr, "Assert failed");
111018 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41554);
111019 nit_exit(1);
111020 }
111021 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
111022 /* ./parser//parser.nit:41556 */
111023 if (UNTAG_Bool(REGB0)) {
111024 } else {
111025 fprintf(stderr, "Assert failed");
111026 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41556);
111027 nit_exit(1);
111028 }
111029 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
111030 /* ./parser//parser.nit:41558 */
111031 if (UNTAG_Bool(REGB0)) {
111032 fra.me.REG[6] = fra.me.REG[2];
111033 /* ./parser//parser.nit:41559 */
111034 } else {
111035 /* ./parser//parser.nit:41561 */
111036 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
111037 }
111038 fra.me.REG[6] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6]);
111039 fra.me.REG[0] = fra.me.REG[6];
111040 REGB0 = TAG_Int(113);
111041 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
111042 /* ./parser//parser.nit:41571 */
111043 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
111044 stack_frame_head = fra.me.prev;
111045 return;
111046 }
111047 void parser___ReduceAction1094___init(val_t p0, int* init_table){
111048 int itpos1098 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1094].i;
111049 struct {struct stack_frame_t me;} fra;
111050 val_t tmp;
111051 if (init_table[itpos1098]) return;
111052 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111053 fra.me.file = LOCATE_parser;
111054 fra.me.line = 41573;
111055 fra.me.meth = LOCATE_parser___ReduceAction1094___init;
111056 fra.me.has_broke = 0;
111057 fra.me.REG_size = 1;
111058 fra.me.REG[0] = NIT_NULL;
111059 fra.me.REG[0] = p0;
111060 /* ./parser//parser.nit:41573 */
111061 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
111062 stack_frame_head = fra.me.prev;
111063 init_table[itpos1098] = 1;
111064 return;
111065 }
111066 void parser___ReduceAction1095___action(val_t p0, val_t p1){
111067 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
111068 val_t REGB0;
111069 val_t tmp;
111070 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111071 fra.me.file = LOCATE_parser;
111072 fra.me.line = 41577;
111073 fra.me.meth = LOCATE_parser___ReduceAction1095___action;
111074 fra.me.has_broke = 0;
111075 fra.me.REG_size = 3;
111076 fra.me.REG[0] = NIT_NULL;
111077 fra.me.REG[1] = NIT_NULL;
111078 fra.me.REG[2] = NIT_NULL;
111079 fra.me.REG[0] = p0;
111080 fra.me.REG[1] = p1;
111081 fra.me.REG[0] = NIT_NULL;
111082 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111083 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwself, ID_TKwself)) /*cast nullable TKwself*/;
111084 /* ./parser//parser.nit:41582 */
111085 if (UNTAG_Bool(REGB0)) {
111086 } else {
111087 fprintf(stderr, "Assert failed");
111088 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41582);
111089 nit_exit(1);
111090 }
111091 fra.me.REG[2] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr(fra.me.REG[2]);
111092 fra.me.REG[0] = fra.me.REG[2];
111093 REGB0 = TAG_Int(113);
111094 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
111095 /* ./parser//parser.nit:41587 */
111096 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
111097 stack_frame_head = fra.me.prev;
111098 return;
111099 }
111100 void parser___ReduceAction1095___init(val_t p0, int* init_table){
111101 int itpos1099 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1095].i;
111102 struct {struct stack_frame_t me;} fra;
111103 val_t tmp;
111104 if (init_table[itpos1099]) return;
111105 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111106 fra.me.file = LOCATE_parser;
111107 fra.me.line = 41589;
111108 fra.me.meth = LOCATE_parser___ReduceAction1095___init;
111109 fra.me.has_broke = 0;
111110 fra.me.REG_size = 1;
111111 fra.me.REG[0] = NIT_NULL;
111112 fra.me.REG[0] = p0;
111113 /* ./parser//parser.nit:41589 */
111114 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
111115 stack_frame_head = fra.me.prev;
111116 init_table[itpos1099] = 1;
111117 return;
111118 }
111119 void parser___ReduceAction1096___action(val_t p0, val_t p1){
111120 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
111121 val_t REGB0;
111122 val_t tmp;
111123 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111124 fra.me.file = LOCATE_parser;
111125 fra.me.line = 41593;
111126 fra.me.meth = LOCATE_parser___ReduceAction1096___action;
111127 fra.me.has_broke = 0;
111128 fra.me.REG_size = 3;
111129 fra.me.REG[0] = NIT_NULL;
111130 fra.me.REG[1] = NIT_NULL;
111131 fra.me.REG[2] = NIT_NULL;
111132 fra.me.REG[0] = p0;
111133 fra.me.REG[1] = p1;
111134 fra.me.REG[0] = NIT_NULL;
111135 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111136 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwtrue, ID_TKwtrue)) /*cast nullable TKwtrue*/;
111137 /* ./parser//parser.nit:41598 */
111138 if (UNTAG_Bool(REGB0)) {
111139 } else {
111140 fprintf(stderr, "Assert failed");
111141 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41598);
111142 nit_exit(1);
111143 }
111144 fra.me.REG[2] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr(fra.me.REG[2]);
111145 fra.me.REG[0] = fra.me.REG[2];
111146 REGB0 = TAG_Int(113);
111147 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
111148 /* ./parser//parser.nit:41603 */
111149 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
111150 stack_frame_head = fra.me.prev;
111151 return;
111152 }
111153 void parser___ReduceAction1096___init(val_t p0, int* init_table){
111154 int itpos1100 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1096].i;
111155 struct {struct stack_frame_t me;} fra;
111156 val_t tmp;
111157 if (init_table[itpos1100]) return;
111158 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111159 fra.me.file = LOCATE_parser;
111160 fra.me.line = 41605;
111161 fra.me.meth = LOCATE_parser___ReduceAction1096___init;
111162 fra.me.has_broke = 0;
111163 fra.me.REG_size = 1;
111164 fra.me.REG[0] = NIT_NULL;
111165 fra.me.REG[0] = p0;
111166 /* ./parser//parser.nit:41605 */
111167 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
111168 stack_frame_head = fra.me.prev;
111169 init_table[itpos1100] = 1;
111170 return;
111171 }
111172 void parser___ReduceAction1097___action(val_t p0, val_t p1){
111173 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
111174 val_t REGB0;
111175 val_t tmp;
111176 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111177 fra.me.file = LOCATE_parser;
111178 fra.me.line = 41609;
111179 fra.me.meth = LOCATE_parser___ReduceAction1097___action;
111180 fra.me.has_broke = 0;
111181 fra.me.REG_size = 3;
111182 fra.me.REG[0] = NIT_NULL;
111183 fra.me.REG[1] = NIT_NULL;
111184 fra.me.REG[2] = NIT_NULL;
111185 fra.me.REG[0] = p0;
111186 fra.me.REG[1] = p1;
111187 fra.me.REG[0] = NIT_NULL;
111188 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111189 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwfalse, ID_TKwfalse)) /*cast nullable TKwfalse*/;
111190 /* ./parser//parser.nit:41614 */
111191 if (UNTAG_Bool(REGB0)) {
111192 } else {
111193 fprintf(stderr, "Assert failed");
111194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41614);
111195 nit_exit(1);
111196 }
111197 fra.me.REG[2] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr(fra.me.REG[2]);
111198 fra.me.REG[0] = fra.me.REG[2];
111199 REGB0 = TAG_Int(113);
111200 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
111201 /* ./parser//parser.nit:41619 */
111202 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
111203 stack_frame_head = fra.me.prev;
111204 return;
111205 }
111206 void parser___ReduceAction1097___init(val_t p0, int* init_table){
111207 int itpos1101 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1097].i;
111208 struct {struct stack_frame_t me;} fra;
111209 val_t tmp;
111210 if (init_table[itpos1101]) return;
111211 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111212 fra.me.file = LOCATE_parser;
111213 fra.me.line = 41621;
111214 fra.me.meth = LOCATE_parser___ReduceAction1097___init;
111215 fra.me.has_broke = 0;
111216 fra.me.REG_size = 1;
111217 fra.me.REG[0] = NIT_NULL;
111218 fra.me.REG[0] = p0;
111219 /* ./parser//parser.nit:41621 */
111220 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
111221 stack_frame_head = fra.me.prev;
111222 init_table[itpos1101] = 1;
111223 return;
111224 }
111225 void parser___ReduceAction1098___action(val_t p0, val_t p1){
111226 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
111227 val_t REGB0;
111228 val_t tmp;
111229 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111230 fra.me.file = LOCATE_parser;
111231 fra.me.line = 41625;
111232 fra.me.meth = LOCATE_parser___ReduceAction1098___action;
111233 fra.me.has_broke = 0;
111234 fra.me.REG_size = 3;
111235 fra.me.REG[0] = NIT_NULL;
111236 fra.me.REG[1] = NIT_NULL;
111237 fra.me.REG[2] = NIT_NULL;
111238 fra.me.REG[0] = p0;
111239 fra.me.REG[1] = p1;
111240 fra.me.REG[0] = NIT_NULL;
111241 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111242 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast nullable TKwnull*/;
111243 /* ./parser//parser.nit:41630 */
111244 if (UNTAG_Bool(REGB0)) {
111245 } else {
111246 fprintf(stderr, "Assert failed");
111247 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41630);
111248 nit_exit(1);
111249 }
111250 fra.me.REG[2] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr(fra.me.REG[2]);
111251 fra.me.REG[0] = fra.me.REG[2];
111252 REGB0 = TAG_Int(113);
111253 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
111254 /* ./parser//parser.nit:41635 */
111255 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
111256 stack_frame_head = fra.me.prev;
111257 return;
111258 }
111259 void parser___ReduceAction1098___init(val_t p0, int* init_table){
111260 int itpos1102 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1098].i;
111261 struct {struct stack_frame_t me;} fra;
111262 val_t tmp;
111263 if (init_table[itpos1102]) return;
111264 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111265 fra.me.file = LOCATE_parser;
111266 fra.me.line = 41637;
111267 fra.me.meth = LOCATE_parser___ReduceAction1098___init;
111268 fra.me.has_broke = 0;
111269 fra.me.REG_size = 1;
111270 fra.me.REG[0] = NIT_NULL;
111271 fra.me.REG[0] = p0;
111272 /* ./parser//parser.nit:41637 */
111273 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
111274 stack_frame_head = fra.me.prev;
111275 init_table[itpos1102] = 1;
111276 return;
111277 }
111278 void parser___ReduceAction1099___action(val_t p0, val_t p1){
111279 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
111280 val_t REGB0;
111281 val_t tmp;
111282 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111283 fra.me.file = LOCATE_parser;
111284 fra.me.line = 41641;
111285 fra.me.meth = LOCATE_parser___ReduceAction1099___action;
111286 fra.me.has_broke = 0;
111287 fra.me.REG_size = 3;
111288 fra.me.REG[0] = NIT_NULL;
111289 fra.me.REG[1] = NIT_NULL;
111290 fra.me.REG[2] = NIT_NULL;
111291 fra.me.REG[0] = p0;
111292 fra.me.REG[1] = p1;
111293 fra.me.REG[0] = NIT_NULL;
111294 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111295 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TNumber, ID_TNumber)) /*cast nullable TNumber*/;
111296 /* ./parser//parser.nit:41646 */
111297 if (UNTAG_Bool(REGB0)) {
111298 } else {
111299 fprintf(stderr, "Assert failed");
111300 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41646);
111301 nit_exit(1);
111302 }
111303 fra.me.REG[2] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr(fra.me.REG[2]);
111304 fra.me.REG[0] = fra.me.REG[2];
111305 REGB0 = TAG_Int(113);
111306 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
111307 /* ./parser//parser.nit:41651 */
111308 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
111309 stack_frame_head = fra.me.prev;
111310 return;
111311 }
111312 void parser___ReduceAction1099___init(val_t p0, int* init_table){
111313 int itpos1103 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1099].i;
111314 struct {struct stack_frame_t me;} fra;
111315 val_t tmp;
111316 if (init_table[itpos1103]) return;
111317 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111318 fra.me.file = LOCATE_parser;
111319 fra.me.line = 41653;
111320 fra.me.meth = LOCATE_parser___ReduceAction1099___init;
111321 fra.me.has_broke = 0;
111322 fra.me.REG_size = 1;
111323 fra.me.REG[0] = NIT_NULL;
111324 fra.me.REG[0] = p0;
111325 /* ./parser//parser.nit:41653 */
111326 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
111327 stack_frame_head = fra.me.prev;
111328 init_table[itpos1103] = 1;
111329 return;
111330 }
111331 void parser___ReduceAction1100___action(val_t p0, val_t p1){
111332 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
111333 val_t REGB0;
111334 val_t tmp;
111335 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111336 fra.me.file = LOCATE_parser;
111337 fra.me.line = 41657;
111338 fra.me.meth = LOCATE_parser___ReduceAction1100___action;
111339 fra.me.has_broke = 0;
111340 fra.me.REG_size = 3;
111341 fra.me.REG[0] = NIT_NULL;
111342 fra.me.REG[1] = NIT_NULL;
111343 fra.me.REG[2] = NIT_NULL;
111344 fra.me.REG[0] = p0;
111345 fra.me.REG[1] = p1;
111346 fra.me.REG[0] = NIT_NULL;
111347 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111348 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TFloat, ID_TFloat)) /*cast nullable TFloat*/;
111349 /* ./parser//parser.nit:41662 */
111350 if (UNTAG_Bool(REGB0)) {
111351 } else {
111352 fprintf(stderr, "Assert failed");
111353 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41662);
111354 nit_exit(1);
111355 }
111356 fra.me.REG[2] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr(fra.me.REG[2]);
111357 fra.me.REG[0] = fra.me.REG[2];
111358 REGB0 = TAG_Int(113);
111359 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
111360 /* ./parser//parser.nit:41667 */
111361 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
111362 stack_frame_head = fra.me.prev;
111363 return;
111364 }
111365 void parser___ReduceAction1100___init(val_t p0, int* init_table){
111366 int itpos1104 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1100].i;
111367 struct {struct stack_frame_t me;} fra;
111368 val_t tmp;
111369 if (init_table[itpos1104]) return;
111370 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111371 fra.me.file = LOCATE_parser;
111372 fra.me.line = 41669;
111373 fra.me.meth = LOCATE_parser___ReduceAction1100___init;
111374 fra.me.has_broke = 0;
111375 fra.me.REG_size = 1;
111376 fra.me.REG[0] = NIT_NULL;
111377 fra.me.REG[0] = p0;
111378 /* ./parser//parser.nit:41669 */
111379 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
111380 stack_frame_head = fra.me.prev;
111381 init_table[itpos1104] = 1;
111382 return;
111383 }
111384 void parser___ReduceAction1101___action(val_t p0, val_t p1){
111385 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
111386 val_t REGB0;
111387 val_t tmp;
111388 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111389 fra.me.file = LOCATE_parser;
111390 fra.me.line = 41673;
111391 fra.me.meth = LOCATE_parser___ReduceAction1101___action;
111392 fra.me.has_broke = 0;
111393 fra.me.REG_size = 3;
111394 fra.me.REG[0] = NIT_NULL;
111395 fra.me.REG[1] = NIT_NULL;
111396 fra.me.REG[2] = NIT_NULL;
111397 fra.me.REG[0] = p0;
111398 fra.me.REG[1] = p1;
111399 fra.me.REG[0] = NIT_NULL;
111400 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111401 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TChar, ID_TChar)) /*cast nullable TChar*/;
111402 /* ./parser//parser.nit:41678 */
111403 if (UNTAG_Bool(REGB0)) {
111404 } else {
111405 fprintf(stderr, "Assert failed");
111406 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41678);
111407 nit_exit(1);
111408 }
111409 fra.me.REG[2] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr(fra.me.REG[2]);
111410 fra.me.REG[0] = fra.me.REG[2];
111411 REGB0 = TAG_Int(113);
111412 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
111413 /* ./parser//parser.nit:41683 */
111414 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
111415 stack_frame_head = fra.me.prev;
111416 return;
111417 }
111418 void parser___ReduceAction1101___init(val_t p0, int* init_table){
111419 int itpos1105 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1101].i;
111420 struct {struct stack_frame_t me;} fra;
111421 val_t tmp;
111422 if (init_table[itpos1105]) return;
111423 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111424 fra.me.file = LOCATE_parser;
111425 fra.me.line = 41685;
111426 fra.me.meth = LOCATE_parser___ReduceAction1101___init;
111427 fra.me.has_broke = 0;
111428 fra.me.REG_size = 1;
111429 fra.me.REG[0] = NIT_NULL;
111430 fra.me.REG[0] = p0;
111431 /* ./parser//parser.nit:41685 */
111432 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
111433 stack_frame_head = fra.me.prev;
111434 init_table[itpos1105] = 1;
111435 return;
111436 }
111437 void parser___ReduceAction1102___action(val_t p0, val_t p1){
111438 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
111439 val_t REGB0;
111440 val_t tmp;
111441 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111442 fra.me.file = LOCATE_parser;
111443 fra.me.line = 41689;
111444 fra.me.meth = LOCATE_parser___ReduceAction1102___action;
111445 fra.me.has_broke = 0;
111446 fra.me.REG_size = 3;
111447 fra.me.REG[0] = NIT_NULL;
111448 fra.me.REG[1] = NIT_NULL;
111449 fra.me.REG[2] = NIT_NULL;
111450 fra.me.REG[0] = p0;
111451 fra.me.REG[1] = p1;
111452 fra.me.REG[0] = NIT_NULL;
111453 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111454 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
111455 /* ./parser//parser.nit:41694 */
111456 if (UNTAG_Bool(REGB0)) {
111457 } else {
111458 fprintf(stderr, "Assert failed");
111459 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41694);
111460 nit_exit(1);
111461 }
111462 fra.me.REG[2] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr(fra.me.REG[2]);
111463 fra.me.REG[0] = fra.me.REG[2];
111464 REGB0 = TAG_Int(113);
111465 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
111466 /* ./parser//parser.nit:41699 */
111467 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
111468 stack_frame_head = fra.me.prev;
111469 return;
111470 }
111471 void parser___ReduceAction1102___init(val_t p0, int* init_table){
111472 int itpos1106 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1102].i;
111473 struct {struct stack_frame_t me;} fra;
111474 val_t tmp;
111475 if (init_table[itpos1106]) return;
111476 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111477 fra.me.file = LOCATE_parser;
111478 fra.me.line = 41701;
111479 fra.me.meth = LOCATE_parser___ReduceAction1102___init;
111480 fra.me.has_broke = 0;
111481 fra.me.REG_size = 1;
111482 fra.me.REG[0] = NIT_NULL;
111483 fra.me.REG[0] = p0;
111484 /* ./parser//parser.nit:41701 */
111485 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
111486 stack_frame_head = fra.me.prev;
111487 init_table[itpos1106] = 1;
111488 return;
111489 }
111490 void parser___ReduceAction1103___action(val_t p0, val_t p1){
111491 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
111492 val_t REGB0;
111493 val_t tmp;
111494 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111495 fra.me.file = LOCATE_parser;
111496 fra.me.line = 41705;
111497 fra.me.meth = LOCATE_parser___ReduceAction1103___action;
111498 fra.me.has_broke = 0;
111499 fra.me.REG_size = 3;
111500 fra.me.REG[0] = NIT_NULL;
111501 fra.me.REG[1] = NIT_NULL;
111502 fra.me.REG[2] = NIT_NULL;
111503 fra.me.REG[0] = p0;
111504 fra.me.REG[1] = p1;
111505 fra.me.REG[0] = NIT_NULL;
111506 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111507 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
111508 /* ./parser//parser.nit:41710 */
111509 if (UNTAG_Bool(REGB0)) {
111510 } else {
111511 fprintf(stderr, "Assert failed");
111512 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41710);
111513 nit_exit(1);
111514 }
111515 fra.me.REG[0] = fra.me.REG[2];
111516 REGB0 = TAG_Int(113);
111517 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
111518 /* ./parser//parser.nit:41712 */
111519 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
111520 stack_frame_head = fra.me.prev;
111521 return;
111522 }
111523 void parser___ReduceAction1103___init(val_t p0, int* init_table){
111524 int itpos1107 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1103].i;
111525 struct {struct stack_frame_t me;} fra;
111526 val_t tmp;
111527 if (init_table[itpos1107]) return;
111528 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111529 fra.me.file = LOCATE_parser;
111530 fra.me.line = 41714;
111531 fra.me.meth = LOCATE_parser___ReduceAction1103___init;
111532 fra.me.has_broke = 0;
111533 fra.me.REG_size = 1;
111534 fra.me.REG[0] = NIT_NULL;
111535 fra.me.REG[0] = p0;
111536 /* ./parser//parser.nit:41714 */
111537 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
111538 stack_frame_head = fra.me.prev;
111539 init_table[itpos1107] = 1;
111540 return;
111541 }
111542 void parser___ReduceAction1104___action(val_t p0, val_t p1){
111543 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
111544 val_t REGB0;
111545 val_t tmp;
111546 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111547 fra.me.file = LOCATE_parser;
111548 fra.me.line = 41718;
111549 fra.me.meth = LOCATE_parser___ReduceAction1104___action;
111550 fra.me.has_broke = 0;
111551 fra.me.REG_size = 5;
111552 fra.me.REG[0] = NIT_NULL;
111553 fra.me.REG[1] = NIT_NULL;
111554 fra.me.REG[2] = NIT_NULL;
111555 fra.me.REG[3] = NIT_NULL;
111556 fra.me.REG[4] = NIT_NULL;
111557 fra.me.REG[0] = p0;
111558 fra.me.REG[1] = p1;
111559 fra.me.REG[0] = NIT_NULL;
111560 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111561 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111562 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111563 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111564 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111565 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111566 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111567 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111568 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111569 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111570 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
111571 /* ./parser//parser.nit:41732 */
111572 if (UNTAG_Bool(REGB0)) {
111573 } else {
111574 fprintf(stderr, "Assert failed");
111575 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41732);
111576 nit_exit(1);
111577 }
111578 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwas, ID_TKwas)) /*cast nullable TKwas*/;
111579 /* ./parser//parser.nit:41734 */
111580 if (UNTAG_Bool(REGB0)) {
111581 } else {
111582 fprintf(stderr, "Assert failed");
111583 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41734);
111584 nit_exit(1);
111585 }
111586 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
111587 /* ./parser//parser.nit:41736 */
111588 if (UNTAG_Bool(REGB0)) {
111589 } else {
111590 fprintf(stderr, "Assert failed");
111591 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41736);
111592 nit_exit(1);
111593 }
111594 fra.me.REG[2] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
111595 fra.me.REG[0] = fra.me.REG[2];
111596 REGB0 = TAG_Int(113);
111597 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
111598 /* ./parser//parser.nit:41743 */
111599 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
111600 stack_frame_head = fra.me.prev;
111601 return;
111602 }
111603 void parser___ReduceAction1104___init(val_t p0, int* init_table){
111604 int itpos1108 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1104].i;
111605 struct {struct stack_frame_t me;} fra;
111606 val_t tmp;
111607 if (init_table[itpos1108]) return;
111608 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111609 fra.me.file = LOCATE_parser;
111610 fra.me.line = 41745;
111611 fra.me.meth = LOCATE_parser___ReduceAction1104___init;
111612 fra.me.has_broke = 0;
111613 fra.me.REG_size = 1;
111614 fra.me.REG[0] = NIT_NULL;
111615 fra.me.REG[0] = p0;
111616 /* ./parser//parser.nit:41745 */
111617 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
111618 stack_frame_head = fra.me.prev;
111619 init_table[itpos1108] = 1;
111620 return;
111621 }
111622 void parser___ReduceAction1105___action(val_t p0, val_t p1){
111623 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
111624 val_t REGB0;
111625 val_t tmp;
111626 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111627 fra.me.file = LOCATE_parser;
111628 fra.me.line = 41749;
111629 fra.me.meth = LOCATE_parser___ReduceAction1105___action;
111630 fra.me.has_broke = 0;
111631 fra.me.REG_size = 6;
111632 fra.me.REG[0] = NIT_NULL;
111633 fra.me.REG[1] = NIT_NULL;
111634 fra.me.REG[2] = NIT_NULL;
111635 fra.me.REG[3] = NIT_NULL;
111636 fra.me.REG[4] = NIT_NULL;
111637 fra.me.REG[5] = NIT_NULL;
111638 fra.me.REG[0] = p0;
111639 fra.me.REG[1] = p1;
111640 fra.me.REG[0] = NIT_NULL;
111641 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111642 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111643 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111644 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111645 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111646 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111647 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111648 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111649 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111650 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111651 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111652 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111653 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
111654 /* ./parser//parser.nit:41765 */
111655 if (UNTAG_Bool(REGB0)) {
111656 } else {
111657 fprintf(stderr, "Assert failed");
111658 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41765);
111659 nit_exit(1);
111660 }
111661 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwas, ID_TKwas)) /*cast nullable TKwas*/;
111662 /* ./parser//parser.nit:41767 */
111663 if (UNTAG_Bool(REGB0)) {
111664 } else {
111665 fprintf(stderr, "Assert failed");
111666 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41767);
111667 nit_exit(1);
111668 }
111669 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnot, ID_TKwnot)) /*cast nullable TKwnot*/;
111670 /* ./parser//parser.nit:41769 */
111671 if (UNTAG_Bool(REGB0)) {
111672 } else {
111673 fprintf(stderr, "Assert failed");
111674 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41769);
111675 nit_exit(1);
111676 }
111677 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast nullable TKwnull*/;
111678 /* ./parser//parser.nit:41771 */
111679 if (UNTAG_Bool(REGB0)) {
111680 } else {
111681 fprintf(stderr, "Assert failed");
111682 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41771);
111683 nit_exit(1);
111684 }
111685 fra.me.REG[2] = NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___init_aasnotnullexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
111686 fra.me.REG[0] = fra.me.REG[2];
111687 REGB0 = TAG_Int(113);
111688 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
111689 /* ./parser//parser.nit:41779 */
111690 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
111691 stack_frame_head = fra.me.prev;
111692 return;
111693 }
111694 void parser___ReduceAction1105___init(val_t p0, int* init_table){
111695 int itpos1109 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1105].i;
111696 struct {struct stack_frame_t me;} fra;
111697 val_t tmp;
111698 if (init_table[itpos1109]) return;
111699 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111700 fra.me.file = LOCATE_parser;
111701 fra.me.line = 41781;
111702 fra.me.meth = LOCATE_parser___ReduceAction1105___init;
111703 fra.me.has_broke = 0;
111704 fra.me.REG_size = 1;
111705 fra.me.REG[0] = NIT_NULL;
111706 fra.me.REG[0] = p0;
111707 /* ./parser//parser.nit:41781 */
111708 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
111709 stack_frame_head = fra.me.prev;
111710 init_table[itpos1109] = 1;
111711 return;
111712 }
111713 void parser___ReduceAction1106___action(val_t p0, val_t p1){
111714 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
111715 val_t REGB0;
111716 val_t tmp;
111717 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111718 fra.me.file = LOCATE_parser;
111719 fra.me.line = 41785;
111720 fra.me.meth = LOCATE_parser___ReduceAction1106___action;
111721 fra.me.has_broke = 0;
111722 fra.me.REG_size = 3;
111723 fra.me.REG[0] = NIT_NULL;
111724 fra.me.REG[1] = NIT_NULL;
111725 fra.me.REG[2] = NIT_NULL;
111726 fra.me.REG[0] = p0;
111727 fra.me.REG[1] = p1;
111728 fra.me.REG[0] = NIT_NULL;
111729 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111730 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
111731 /* ./parser//parser.nit:41790 */
111732 if (UNTAG_Bool(REGB0)) {
111733 } else {
111734 fprintf(stderr, "Assert failed");
111735 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41790);
111736 nit_exit(1);
111737 }
111738 fra.me.REG[0] = fra.me.REG[2];
111739 REGB0 = TAG_Int(114);
111740 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
111741 /* ./parser//parser.nit:41792 */
111742 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
111743 stack_frame_head = fra.me.prev;
111744 return;
111745 }
111746 void parser___ReduceAction1106___init(val_t p0, int* init_table){
111747 int itpos1110 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1106].i;
111748 struct {struct stack_frame_t me;} fra;
111749 val_t tmp;
111750 if (init_table[itpos1110]) return;
111751 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111752 fra.me.file = LOCATE_parser;
111753 fra.me.line = 41794;
111754 fra.me.meth = LOCATE_parser___ReduceAction1106___init;
111755 fra.me.has_broke = 0;
111756 fra.me.REG_size = 1;
111757 fra.me.REG[0] = NIT_NULL;
111758 fra.me.REG[0] = p0;
111759 /* ./parser//parser.nit:41794 */
111760 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
111761 stack_frame_head = fra.me.prev;
111762 init_table[itpos1110] = 1;
111763 return;
111764 }
111765 void parser___ReduceAction1107___action(val_t p0, val_t p1){
111766 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
111767 val_t REGB0;
111768 val_t tmp;
111769 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111770 fra.me.file = LOCATE_parser;
111771 fra.me.line = 41798;
111772 fra.me.meth = LOCATE_parser___ReduceAction1107___action;
111773 fra.me.has_broke = 0;
111774 fra.me.REG_size = 8;
111775 fra.me.REG[0] = NIT_NULL;
111776 fra.me.REG[1] = NIT_NULL;
111777 fra.me.REG[2] = NIT_NULL;
111778 fra.me.REG[3] = NIT_NULL;
111779 fra.me.REG[4] = NIT_NULL;
111780 fra.me.REG[5] = NIT_NULL;
111781 fra.me.REG[6] = NIT_NULL;
111782 fra.me.REG[7] = NIT_NULL;
111783 fra.me.REG[0] = p0;
111784 fra.me.REG[1] = p1;
111785 fra.me.REG[0] = NIT_NULL;
111786 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111787 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111788 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111789 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111790 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111791 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111792 fra.me.REG[6] = NEW_Array_array___Array___init();
111793 fra.me.REG[7] = NEW_Array_array___Array___init();
111794 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
111795 /* ./parser//parser.nit:41810 */
111796 if (UNTAG_Bool(REGB0)) {
111797 } else {
111798 fprintf(stderr, "Assert failed");
111799 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41810);
111800 nit_exit(1);
111801 }
111802 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
111803 /* ./parser//parser.nit:41812 */
111804 if (UNTAG_Bool(REGB0)) {
111805 } else {
111806 fprintf(stderr, "Assert failed");
111807 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41812);
111808 nit_exit(1);
111809 }
111810 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
111811 /* ./parser//parser.nit:41814 */
111812 if (UNTAG_Bool(REGB0)) {
111813 } else {
111814 fprintf(stderr, "Assert failed");
111815 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41814);
111816 nit_exit(1);
111817 }
111818 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
111819 /* ./parser//parser.nit:41816 */
111820 if (UNTAG_Bool(REGB0)) {
111821 fra.me.REG[6] = fra.me.REG[3];
111822 /* ./parser//parser.nit:41817 */
111823 } else {
111824 /* ./parser//parser.nit:41819 */
111825 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
111826 }
111827 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
111828 /* ./parser//parser.nit:41823 */
111829 if (UNTAG_Bool(REGB0)) {
111830 } else {
111831 fprintf(stderr, "Assert failed");
111832 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41823);
111833 nit_exit(1);
111834 }
111835 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
111836 /* ./parser//parser.nit:41825 */
111837 if (UNTAG_Bool(REGB0)) {
111838 fra.me.REG[7] = fra.me.REG[2];
111839 /* ./parser//parser.nit:41826 */
111840 } else {
111841 /* ./parser//parser.nit:41828 */
111842 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]);
111843 }
111844 fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]);
111845 fra.me.REG[0] = fra.me.REG[7];
111846 REGB0 = TAG_Int(114);
111847 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
111848 /* ./parser//parser.nit:41838 */
111849 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
111850 stack_frame_head = fra.me.prev;
111851 return;
111852 }
111853 void parser___ReduceAction1107___init(val_t p0, int* init_table){
111854 int itpos1111 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1107].i;
111855 struct {struct stack_frame_t me;} fra;
111856 val_t tmp;
111857 if (init_table[itpos1111]) return;
111858 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111859 fra.me.file = LOCATE_parser;
111860 fra.me.line = 41840;
111861 fra.me.meth = LOCATE_parser___ReduceAction1107___init;
111862 fra.me.has_broke = 0;
111863 fra.me.REG_size = 1;
111864 fra.me.REG[0] = NIT_NULL;
111865 fra.me.REG[0] = p0;
111866 /* ./parser//parser.nit:41840 */
111867 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
111868 stack_frame_head = fra.me.prev;
111869 init_table[itpos1111] = 1;
111870 return;
111871 }
111872 void parser___ReduceAction1108___action(val_t p0, val_t p1){
111873 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
111874 val_t REGB0;
111875 val_t tmp;
111876 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111877 fra.me.file = LOCATE_parser;
111878 fra.me.line = 41844;
111879 fra.me.meth = LOCATE_parser___ReduceAction1108___action;
111880 fra.me.has_broke = 0;
111881 fra.me.REG_size = 8;
111882 fra.me.REG[0] = NIT_NULL;
111883 fra.me.REG[1] = NIT_NULL;
111884 fra.me.REG[2] = NIT_NULL;
111885 fra.me.REG[3] = NIT_NULL;
111886 fra.me.REG[4] = NIT_NULL;
111887 fra.me.REG[5] = NIT_NULL;
111888 fra.me.REG[6] = NIT_NULL;
111889 fra.me.REG[7] = NIT_NULL;
111890 fra.me.REG[0] = p0;
111891 fra.me.REG[1] = p1;
111892 fra.me.REG[0] = NIT_NULL;
111893 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111894 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111895 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111896 fra.me.REG[5] = NEW_Array_array___Array___init();
111897 fra.me.REG[6] = NEW_Array_array___Array___init();
111898 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
111899 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
111900 /* ./parser//parser.nit:41855 */
111901 if (UNTAG_Bool(REGB0)) {
111902 } else {
111903 fprintf(stderr, "Assert failed");
111904 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41855);
111905 nit_exit(1);
111906 }
111907 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
111908 /* ./parser//parser.nit:41857 */
111909 if (UNTAG_Bool(REGB0)) {
111910 } else {
111911 fprintf(stderr, "Assert failed");
111912 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41857);
111913 nit_exit(1);
111914 }
111915 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
111916 /* ./parser//parser.nit:41859 */
111917 if (UNTAG_Bool(REGB0)) {
111918 fra.me.REG[5] = fra.me.REG[3];
111919 /* ./parser//parser.nit:41860 */
111920 } else {
111921 /* ./parser//parser.nit:41862 */
111922 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
111923 }
111924 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
111925 /* ./parser//parser.nit:41866 */
111926 if (UNTAG_Bool(REGB0)) {
111927 } else {
111928 fprintf(stderr, "Assert failed");
111929 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41866);
111930 nit_exit(1);
111931 }
111932 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
111933 /* ./parser//parser.nit:41868 */
111934 if (UNTAG_Bool(REGB0)) {
111935 fra.me.REG[6] = fra.me.REG[2];
111936 /* ./parser//parser.nit:41869 */
111937 } else {
111938 /* ./parser//parser.nit:41871 */
111939 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
111940 }
111941 fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
111942 fra.me.REG[0] = fra.me.REG[6];
111943 REGB0 = TAG_Int(114);
111944 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
111945 /* ./parser//parser.nit:41881 */
111946 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
111947 stack_frame_head = fra.me.prev;
111948 return;
111949 }
111950 void parser___ReduceAction1108___init(val_t p0, int* init_table){
111951 int itpos1112 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1108].i;
111952 struct {struct stack_frame_t me;} fra;
111953 val_t tmp;
111954 if (init_table[itpos1112]) return;
111955 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111956 fra.me.file = LOCATE_parser;
111957 fra.me.line = 41883;
111958 fra.me.meth = LOCATE_parser___ReduceAction1108___init;
111959 fra.me.has_broke = 0;
111960 fra.me.REG_size = 1;
111961 fra.me.REG[0] = NIT_NULL;
111962 fra.me.REG[0] = p0;
111963 /* ./parser//parser.nit:41883 */
111964 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
111965 stack_frame_head = fra.me.prev;
111966 init_table[itpos1112] = 1;
111967 return;
111968 }
111969 void parser___ReduceAction1109___action(val_t p0, val_t p1){
111970 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
111971 val_t REGB0;
111972 val_t tmp;
111973 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111974 fra.me.file = LOCATE_parser;
111975 fra.me.line = 41887;
111976 fra.me.meth = LOCATE_parser___ReduceAction1109___action;
111977 fra.me.has_broke = 0;
111978 fra.me.REG_size = 3;
111979 fra.me.REG[0] = NIT_NULL;
111980 fra.me.REG[1] = NIT_NULL;
111981 fra.me.REG[2] = NIT_NULL;
111982 fra.me.REG[0] = p0;
111983 fra.me.REG[1] = p1;
111984 fra.me.REG[0] = NIT_NULL;
111985 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
111986 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
111987 /* ./parser//parser.nit:41892 */
111988 if (UNTAG_Bool(REGB0)) {
111989 } else {
111990 fprintf(stderr, "Assert failed");
111991 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41892);
111992 nit_exit(1);
111993 }
111994 fra.me.REG[0] = fra.me.REG[2];
111995 REGB0 = TAG_Int(115);
111996 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
111997 /* ./parser//parser.nit:41894 */
111998 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
111999 stack_frame_head = fra.me.prev;
112000 return;
112001 }
112002 void parser___ReduceAction1109___init(val_t p0, int* init_table){
112003 int itpos1113 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1109].i;
112004 struct {struct stack_frame_t me;} fra;
112005 val_t tmp;
112006 if (init_table[itpos1113]) return;
112007 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112008 fra.me.file = LOCATE_parser;
112009 fra.me.line = 41896;
112010 fra.me.meth = LOCATE_parser___ReduceAction1109___init;
112011 fra.me.has_broke = 0;
112012 fra.me.REG_size = 1;
112013 fra.me.REG[0] = NIT_NULL;
112014 fra.me.REG[0] = p0;
112015 /* ./parser//parser.nit:41896 */
112016 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
112017 stack_frame_head = fra.me.prev;
112018 init_table[itpos1113] = 1;
112019 return;
112020 }
112021 void parser___ReduceAction1110___action(val_t p0, val_t p1){
112022 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
112023 val_t REGB0;
112024 val_t tmp;
112025 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112026 fra.me.file = LOCATE_parser;
112027 fra.me.line = 41900;
112028 fra.me.meth = LOCATE_parser___ReduceAction1110___action;
112029 fra.me.has_broke = 0;
112030 fra.me.REG_size = 8;
112031 fra.me.REG[0] = NIT_NULL;
112032 fra.me.REG[1] = NIT_NULL;
112033 fra.me.REG[2] = NIT_NULL;
112034 fra.me.REG[3] = NIT_NULL;
112035 fra.me.REG[4] = NIT_NULL;
112036 fra.me.REG[5] = NIT_NULL;
112037 fra.me.REG[6] = NIT_NULL;
112038 fra.me.REG[7] = NIT_NULL;
112039 fra.me.REG[0] = p0;
112040 fra.me.REG[1] = p1;
112041 fra.me.REG[0] = NIT_NULL;
112042 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112043 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112044 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112045 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112046 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112047 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112048 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112049 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112050 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112051 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112052 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112053 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/;
112054 /* ./parser//parser.nit:41915 */
112055 if (UNTAG_Bool(REGB0)) {
112056 } else {
112057 fprintf(stderr, "Assert failed");
112058 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41915);
112059 nit_exit(1);
112060 }
112061 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112062 /* ./parser//parser.nit:41917 */
112063 if (UNTAG_Bool(REGB0)) {
112064 } else {
112065 fprintf(stderr, "Assert failed");
112066 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41917);
112067 nit_exit(1);
112068 }
112069 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwthen, ID_TKwthen)) /*cast nullable TKwthen*/;
112070 /* ./parser//parser.nit:41919 */
112071 if (UNTAG_Bool(REGB0)) {
112072 } else {
112073 fprintf(stderr, "Assert failed");
112074 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41919);
112075 nit_exit(1);
112076 }
112077 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112078 /* ./parser//parser.nit:41921 */
112079 if (UNTAG_Bool(REGB0)) {
112080 } else {
112081 fprintf(stderr, "Assert failed");
112082 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41921);
112083 nit_exit(1);
112084 }
112085 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwelse, ID_TKwelse)) /*cast nullable TKwelse*/;
112086 /* ./parser//parser.nit:41923 */
112087 if (UNTAG_Bool(REGB0)) {
112088 } else {
112089 fprintf(stderr, "Assert failed");
112090 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41923);
112091 nit_exit(1);
112092 }
112093 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112094 /* ./parser//parser.nit:41925 */
112095 if (UNTAG_Bool(REGB0)) {
112096 } else {
112097 fprintf(stderr, "Assert failed");
112098 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41925);
112099 nit_exit(1);
112100 }
112101 fra.me.REG[2] = NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
112102 fra.me.REG[0] = fra.me.REG[2];
112103 REGB0 = TAG_Int(115);
112104 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
112105 /* ./parser//parser.nit:41935 */
112106 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
112107 stack_frame_head = fra.me.prev;
112108 return;
112109 }
112110 void parser___ReduceAction1110___init(val_t p0, int* init_table){
112111 int itpos1114 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1110].i;
112112 struct {struct stack_frame_t me;} fra;
112113 val_t tmp;
112114 if (init_table[itpos1114]) return;
112115 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112116 fra.me.file = LOCATE_parser;
112117 fra.me.line = 41937;
112118 fra.me.meth = LOCATE_parser___ReduceAction1110___init;
112119 fra.me.has_broke = 0;
112120 fra.me.REG_size = 1;
112121 fra.me.REG[0] = NIT_NULL;
112122 fra.me.REG[0] = p0;
112123 /* ./parser//parser.nit:41937 */
112124 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
112125 stack_frame_head = fra.me.prev;
112126 init_table[itpos1114] = 1;
112127 return;
112128 }
112129 void parser___ReduceAction1111___action(val_t p0, val_t p1){
112130 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
112131 val_t REGB0;
112132 val_t tmp;
112133 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112134 fra.me.file = LOCATE_parser;
112135 fra.me.line = 41941;
112136 fra.me.meth = LOCATE_parser___ReduceAction1111___action;
112137 fra.me.has_broke = 0;
112138 fra.me.REG_size = 3;
112139 fra.me.REG[0] = NIT_NULL;
112140 fra.me.REG[1] = NIT_NULL;
112141 fra.me.REG[2] = NIT_NULL;
112142 fra.me.REG[0] = p0;
112143 fra.me.REG[1] = p1;
112144 fra.me.REG[0] = NIT_NULL;
112145 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112146 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112147 /* ./parser//parser.nit:41946 */
112148 if (UNTAG_Bool(REGB0)) {
112149 } else {
112150 fprintf(stderr, "Assert failed");
112151 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41946);
112152 nit_exit(1);
112153 }
112154 fra.me.REG[0] = fra.me.REG[2];
112155 REGB0 = TAG_Int(116);
112156 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
112157 /* ./parser//parser.nit:41948 */
112158 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
112159 stack_frame_head = fra.me.prev;
112160 return;
112161 }
112162 void parser___ReduceAction1111___init(val_t p0, int* init_table){
112163 int itpos1115 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1111].i;
112164 struct {struct stack_frame_t me;} fra;
112165 val_t tmp;
112166 if (init_table[itpos1115]) return;
112167 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112168 fra.me.file = LOCATE_parser;
112169 fra.me.line = 41950;
112170 fra.me.meth = LOCATE_parser___ReduceAction1111___init;
112171 fra.me.has_broke = 0;
112172 fra.me.REG_size = 1;
112173 fra.me.REG[0] = NIT_NULL;
112174 fra.me.REG[0] = p0;
112175 /* ./parser//parser.nit:41950 */
112176 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
112177 stack_frame_head = fra.me.prev;
112178 init_table[itpos1115] = 1;
112179 return;
112180 }
112181 void parser___ReduceAction1112___action(val_t p0, val_t p1){
112182 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
112183 val_t REGB0;
112184 val_t tmp;
112185 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112186 fra.me.file = LOCATE_parser;
112187 fra.me.line = 41954;
112188 fra.me.meth = LOCATE_parser___ReduceAction1112___action;
112189 fra.me.has_broke = 0;
112190 fra.me.REG_size = 4;
112191 fra.me.REG[0] = NIT_NULL;
112192 fra.me.REG[1] = NIT_NULL;
112193 fra.me.REG[2] = NIT_NULL;
112194 fra.me.REG[3] = NIT_NULL;
112195 fra.me.REG[0] = p0;
112196 fra.me.REG[1] = p1;
112197 fra.me.REG[0] = NIT_NULL;
112198 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112199 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112200 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112201 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112202 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112203 /* ./parser//parser.nit:41962 */
112204 if (UNTAG_Bool(REGB0)) {
112205 } else {
112206 fprintf(stderr, "Assert failed");
112207 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41962);
112208 nit_exit(1);
112209 }
112210 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112211 /* ./parser//parser.nit:41964 */
112212 if (UNTAG_Bool(REGB0)) {
112213 } else {
112214 fprintf(stderr, "Assert failed");
112215 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41964);
112216 nit_exit(1);
112217 }
112218 fra.me.REG[2] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr(fra.me.REG[3], fra.me.REG[2]);
112219 fra.me.REG[0] = fra.me.REG[2];
112220 REGB0 = TAG_Int(116);
112221 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
112222 /* ./parser//parser.nit:41970 */
112223 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
112224 stack_frame_head = fra.me.prev;
112225 return;
112226 }
112227 void parser___ReduceAction1112___init(val_t p0, int* init_table){
112228 int itpos1116 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1112].i;
112229 struct {struct stack_frame_t me;} fra;
112230 val_t tmp;
112231 if (init_table[itpos1116]) return;
112232 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112233 fra.me.file = LOCATE_parser;
112234 fra.me.line = 41972;
112235 fra.me.meth = LOCATE_parser___ReduceAction1112___init;
112236 fra.me.has_broke = 0;
112237 fra.me.REG_size = 1;
112238 fra.me.REG[0] = NIT_NULL;
112239 fra.me.REG[0] = p0;
112240 /* ./parser//parser.nit:41972 */
112241 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
112242 stack_frame_head = fra.me.prev;
112243 init_table[itpos1116] = 1;
112244 return;
112245 }
112246 void parser___ReduceAction1113___action(val_t p0, val_t p1){
112247 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
112248 val_t REGB0;
112249 val_t tmp;
112250 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112251 fra.me.file = LOCATE_parser;
112252 fra.me.line = 41976;
112253 fra.me.meth = LOCATE_parser___ReduceAction1113___action;
112254 fra.me.has_broke = 0;
112255 fra.me.REG_size = 4;
112256 fra.me.REG[0] = NIT_NULL;
112257 fra.me.REG[1] = NIT_NULL;
112258 fra.me.REG[2] = NIT_NULL;
112259 fra.me.REG[3] = NIT_NULL;
112260 fra.me.REG[0] = p0;
112261 fra.me.REG[1] = p1;
112262 fra.me.REG[0] = NIT_NULL;
112263 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112264 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112265 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112266 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112267 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112268 /* ./parser//parser.nit:41984 */
112269 if (UNTAG_Bool(REGB0)) {
112270 } else {
112271 fprintf(stderr, "Assert failed");
112272 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41984);
112273 nit_exit(1);
112274 }
112275 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112276 /* ./parser//parser.nit:41986 */
112277 if (UNTAG_Bool(REGB0)) {
112278 } else {
112279 fprintf(stderr, "Assert failed");
112280 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41986);
112281 nit_exit(1);
112282 }
112283 fra.me.REG[2] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr(fra.me.REG[3], fra.me.REG[2]);
112284 fra.me.REG[0] = fra.me.REG[2];
112285 REGB0 = TAG_Int(116);
112286 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
112287 /* ./parser//parser.nit:41992 */
112288 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
112289 stack_frame_head = fra.me.prev;
112290 return;
112291 }
112292 void parser___ReduceAction1113___init(val_t p0, int* init_table){
112293 int itpos1117 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1113].i;
112294 struct {struct stack_frame_t me;} fra;
112295 val_t tmp;
112296 if (init_table[itpos1117]) return;
112297 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112298 fra.me.file = LOCATE_parser;
112299 fra.me.line = 41994;
112300 fra.me.meth = LOCATE_parser___ReduceAction1113___init;
112301 fra.me.has_broke = 0;
112302 fra.me.REG_size = 1;
112303 fra.me.REG[0] = NIT_NULL;
112304 fra.me.REG[0] = p0;
112305 /* ./parser//parser.nit:41994 */
112306 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
112307 stack_frame_head = fra.me.prev;
112308 init_table[itpos1117] = 1;
112309 return;
112310 }
112311 void parser___ReduceAction1114___action(val_t p0, val_t p1){
112312 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
112313 val_t REGB0;
112314 val_t tmp;
112315 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112316 fra.me.file = LOCATE_parser;
112317 fra.me.line = 41998;
112318 fra.me.meth = LOCATE_parser___ReduceAction1114___action;
112319 fra.me.has_broke = 0;
112320 fra.me.REG_size = 3;
112321 fra.me.REG[0] = NIT_NULL;
112322 fra.me.REG[1] = NIT_NULL;
112323 fra.me.REG[2] = NIT_NULL;
112324 fra.me.REG[0] = p0;
112325 fra.me.REG[1] = p1;
112326 fra.me.REG[0] = NIT_NULL;
112327 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112328 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112329 /* ./parser//parser.nit:42003 */
112330 if (UNTAG_Bool(REGB0)) {
112331 } else {
112332 fprintf(stderr, "Assert failed");
112333 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42003);
112334 nit_exit(1);
112335 }
112336 fra.me.REG[0] = fra.me.REG[2];
112337 REGB0 = TAG_Int(117);
112338 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
112339 /* ./parser//parser.nit:42005 */
112340 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
112341 stack_frame_head = fra.me.prev;
112342 return;
112343 }
112344 void parser___ReduceAction1114___init(val_t p0, int* init_table){
112345 int itpos1118 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1114].i;
112346 struct {struct stack_frame_t me;} fra;
112347 val_t tmp;
112348 if (init_table[itpos1118]) return;
112349 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112350 fra.me.file = LOCATE_parser;
112351 fra.me.line = 42007;
112352 fra.me.meth = LOCATE_parser___ReduceAction1114___init;
112353 fra.me.has_broke = 0;
112354 fra.me.REG_size = 1;
112355 fra.me.REG[0] = NIT_NULL;
112356 fra.me.REG[0] = p0;
112357 /* ./parser//parser.nit:42007 */
112358 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
112359 stack_frame_head = fra.me.prev;
112360 init_table[itpos1118] = 1;
112361 return;
112362 }
112363 void parser___ReduceAction1115___action(val_t p0, val_t p1){
112364 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
112365 val_t REGB0;
112366 val_t tmp;
112367 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112368 fra.me.file = LOCATE_parser;
112369 fra.me.line = 42011;
112370 fra.me.meth = LOCATE_parser___ReduceAction1115___action;
112371 fra.me.has_broke = 0;
112372 fra.me.REG_size = 4;
112373 fra.me.REG[0] = NIT_NULL;
112374 fra.me.REG[1] = NIT_NULL;
112375 fra.me.REG[2] = NIT_NULL;
112376 fra.me.REG[3] = NIT_NULL;
112377 fra.me.REG[0] = p0;
112378 fra.me.REG[1] = p1;
112379 fra.me.REG[0] = NIT_NULL;
112380 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112381 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112382 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112383 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnot, ID_TKwnot)) /*cast nullable TKwnot*/;
112384 /* ./parser//parser.nit:42018 */
112385 if (UNTAG_Bool(REGB0)) {
112386 } else {
112387 fprintf(stderr, "Assert failed");
112388 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42018);
112389 nit_exit(1);
112390 }
112391 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112392 /* ./parser//parser.nit:42020 */
112393 if (UNTAG_Bool(REGB0)) {
112394 } else {
112395 fprintf(stderr, "Assert failed");
112396 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42020);
112397 nit_exit(1);
112398 }
112399 fra.me.REG[2] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr(fra.me.REG[3], fra.me.REG[2]);
112400 fra.me.REG[0] = fra.me.REG[2];
112401 REGB0 = TAG_Int(117);
112402 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
112403 /* ./parser//parser.nit:42026 */
112404 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
112405 stack_frame_head = fra.me.prev;
112406 return;
112407 }
112408 void parser___ReduceAction1115___init(val_t p0, int* init_table){
112409 int itpos1119 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1115].i;
112410 struct {struct stack_frame_t me;} fra;
112411 val_t tmp;
112412 if (init_table[itpos1119]) return;
112413 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112414 fra.me.file = LOCATE_parser;
112415 fra.me.line = 42028;
112416 fra.me.meth = LOCATE_parser___ReduceAction1115___init;
112417 fra.me.has_broke = 0;
112418 fra.me.REG_size = 1;
112419 fra.me.REG[0] = NIT_NULL;
112420 fra.me.REG[0] = p0;
112421 /* ./parser//parser.nit:42028 */
112422 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
112423 stack_frame_head = fra.me.prev;
112424 init_table[itpos1119] = 1;
112425 return;
112426 }
112427 void parser___ReduceAction1116___action(val_t p0, val_t p1){
112428 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
112429 val_t REGB0;
112430 val_t tmp;
112431 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112432 fra.me.file = LOCATE_parser;
112433 fra.me.line = 42032;
112434 fra.me.meth = LOCATE_parser___ReduceAction1116___action;
112435 fra.me.has_broke = 0;
112436 fra.me.REG_size = 3;
112437 fra.me.REG[0] = NIT_NULL;
112438 fra.me.REG[1] = NIT_NULL;
112439 fra.me.REG[2] = NIT_NULL;
112440 fra.me.REG[0] = p0;
112441 fra.me.REG[1] = p1;
112442 fra.me.REG[0] = NIT_NULL;
112443 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112444 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112445 /* ./parser//parser.nit:42037 */
112446 if (UNTAG_Bool(REGB0)) {
112447 } else {
112448 fprintf(stderr, "Assert failed");
112449 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42037);
112450 nit_exit(1);
112451 }
112452 fra.me.REG[0] = fra.me.REG[2];
112453 REGB0 = TAG_Int(118);
112454 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
112455 /* ./parser//parser.nit:42039 */
112456 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
112457 stack_frame_head = fra.me.prev;
112458 return;
112459 }
112460 void parser___ReduceAction1116___init(val_t p0, int* init_table){
112461 int itpos1120 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1116].i;
112462 struct {struct stack_frame_t me;} fra;
112463 val_t tmp;
112464 if (init_table[itpos1120]) return;
112465 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112466 fra.me.file = LOCATE_parser;
112467 fra.me.line = 42041;
112468 fra.me.meth = LOCATE_parser___ReduceAction1116___init;
112469 fra.me.has_broke = 0;
112470 fra.me.REG_size = 1;
112471 fra.me.REG[0] = NIT_NULL;
112472 fra.me.REG[0] = p0;
112473 /* ./parser//parser.nit:42041 */
112474 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
112475 stack_frame_head = fra.me.prev;
112476 init_table[itpos1120] = 1;
112477 return;
112478 }
112479 void parser___ReduceAction1117___action(val_t p0, val_t p1){
112480 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
112481 val_t REGB0;
112482 val_t tmp;
112483 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112484 fra.me.file = LOCATE_parser;
112485 fra.me.line = 42045;
112486 fra.me.meth = LOCATE_parser___ReduceAction1117___action;
112487 fra.me.has_broke = 0;
112488 fra.me.REG_size = 4;
112489 fra.me.REG[0] = NIT_NULL;
112490 fra.me.REG[1] = NIT_NULL;
112491 fra.me.REG[2] = NIT_NULL;
112492 fra.me.REG[3] = NIT_NULL;
112493 fra.me.REG[0] = p0;
112494 fra.me.REG[1] = p1;
112495 fra.me.REG[0] = NIT_NULL;
112496 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112497 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112498 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112499 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112500 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112501 /* ./parser//parser.nit:42053 */
112502 if (UNTAG_Bool(REGB0)) {
112503 } else {
112504 fprintf(stderr, "Assert failed");
112505 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42053);
112506 nit_exit(1);
112507 }
112508 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112509 /* ./parser//parser.nit:42055 */
112510 if (UNTAG_Bool(REGB0)) {
112511 } else {
112512 fprintf(stderr, "Assert failed");
112513 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42055);
112514 nit_exit(1);
112515 }
112516 fra.me.REG[2] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr(fra.me.REG[3], fra.me.REG[2]);
112517 fra.me.REG[0] = fra.me.REG[2];
112518 REGB0 = TAG_Int(118);
112519 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
112520 /* ./parser//parser.nit:42061 */
112521 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
112522 stack_frame_head = fra.me.prev;
112523 return;
112524 }
112525 void parser___ReduceAction1117___init(val_t p0, int* init_table){
112526 int itpos1121 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1117].i;
112527 struct {struct stack_frame_t me;} fra;
112528 val_t tmp;
112529 if (init_table[itpos1121]) return;
112530 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112531 fra.me.file = LOCATE_parser;
112532 fra.me.line = 42063;
112533 fra.me.meth = LOCATE_parser___ReduceAction1117___init;
112534 fra.me.has_broke = 0;
112535 fra.me.REG_size = 1;
112536 fra.me.REG[0] = NIT_NULL;
112537 fra.me.REG[0] = p0;
112538 /* ./parser//parser.nit:42063 */
112539 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
112540 stack_frame_head = fra.me.prev;
112541 init_table[itpos1121] = 1;
112542 return;
112543 }
112544 void parser___ReduceAction1118___action(val_t p0, val_t p1){
112545 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
112546 val_t REGB0;
112547 val_t tmp;
112548 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112549 fra.me.file = LOCATE_parser;
112550 fra.me.line = 42067;
112551 fra.me.meth = LOCATE_parser___ReduceAction1118___action;
112552 fra.me.has_broke = 0;
112553 fra.me.REG_size = 4;
112554 fra.me.REG[0] = NIT_NULL;
112555 fra.me.REG[1] = NIT_NULL;
112556 fra.me.REG[2] = NIT_NULL;
112557 fra.me.REG[3] = NIT_NULL;
112558 fra.me.REG[0] = p0;
112559 fra.me.REG[1] = p1;
112560 fra.me.REG[0] = NIT_NULL;
112561 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112562 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112563 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112564 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112565 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112566 /* ./parser//parser.nit:42075 */
112567 if (UNTAG_Bool(REGB0)) {
112568 } else {
112569 fprintf(stderr, "Assert failed");
112570 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42075);
112571 nit_exit(1);
112572 }
112573 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112574 /* ./parser//parser.nit:42077 */
112575 if (UNTAG_Bool(REGB0)) {
112576 } else {
112577 fprintf(stderr, "Assert failed");
112578 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42077);
112579 nit_exit(1);
112580 }
112581 fra.me.REG[2] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr(fra.me.REG[3], fra.me.REG[2]);
112582 fra.me.REG[0] = fra.me.REG[2];
112583 REGB0 = TAG_Int(118);
112584 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
112585 /* ./parser//parser.nit:42083 */
112586 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
112587 stack_frame_head = fra.me.prev;
112588 return;
112589 }
112590 void parser___ReduceAction1118___init(val_t p0, int* init_table){
112591 int itpos1122 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1118].i;
112592 struct {struct stack_frame_t me;} fra;
112593 val_t tmp;
112594 if (init_table[itpos1122]) return;
112595 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112596 fra.me.file = LOCATE_parser;
112597 fra.me.line = 42085;
112598 fra.me.meth = LOCATE_parser___ReduceAction1118___init;
112599 fra.me.has_broke = 0;
112600 fra.me.REG_size = 1;
112601 fra.me.REG[0] = NIT_NULL;
112602 fra.me.REG[0] = p0;
112603 /* ./parser//parser.nit:42085 */
112604 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
112605 stack_frame_head = fra.me.prev;
112606 init_table[itpos1122] = 1;
112607 return;
112608 }
112609 void parser___ReduceAction1119___action(val_t p0, val_t p1){
112610 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
112611 val_t REGB0;
112612 val_t tmp;
112613 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112614 fra.me.file = LOCATE_parser;
112615 fra.me.line = 42089;
112616 fra.me.meth = LOCATE_parser___ReduceAction1119___action;
112617 fra.me.has_broke = 0;
112618 fra.me.REG_size = 4;
112619 fra.me.REG[0] = NIT_NULL;
112620 fra.me.REG[1] = NIT_NULL;
112621 fra.me.REG[2] = NIT_NULL;
112622 fra.me.REG[3] = NIT_NULL;
112623 fra.me.REG[0] = p0;
112624 fra.me.REG[1] = p1;
112625 fra.me.REG[0] = NIT_NULL;
112626 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112627 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112628 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112629 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112630 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112631 /* ./parser//parser.nit:42097 */
112632 if (UNTAG_Bool(REGB0)) {
112633 } else {
112634 fprintf(stderr, "Assert failed");
112635 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42097);
112636 nit_exit(1);
112637 }
112638 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112639 /* ./parser//parser.nit:42099 */
112640 if (UNTAG_Bool(REGB0)) {
112641 } else {
112642 fprintf(stderr, "Assert failed");
112643 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42099);
112644 nit_exit(1);
112645 }
112646 fra.me.REG[2] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr(fra.me.REG[3], fra.me.REG[2]);
112647 fra.me.REG[0] = fra.me.REG[2];
112648 REGB0 = TAG_Int(118);
112649 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
112650 /* ./parser//parser.nit:42105 */
112651 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
112652 stack_frame_head = fra.me.prev;
112653 return;
112654 }
112655 void parser___ReduceAction1119___init(val_t p0, int* init_table){
112656 int itpos1123 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1119].i;
112657 struct {struct stack_frame_t me;} fra;
112658 val_t tmp;
112659 if (init_table[itpos1123]) return;
112660 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112661 fra.me.file = LOCATE_parser;
112662 fra.me.line = 42107;
112663 fra.me.meth = LOCATE_parser___ReduceAction1119___init;
112664 fra.me.has_broke = 0;
112665 fra.me.REG_size = 1;
112666 fra.me.REG[0] = NIT_NULL;
112667 fra.me.REG[0] = p0;
112668 /* ./parser//parser.nit:42107 */
112669 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
112670 stack_frame_head = fra.me.prev;
112671 init_table[itpos1123] = 1;
112672 return;
112673 }
112674 void parser___ReduceAction1120___action(val_t p0, val_t p1){
112675 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
112676 val_t REGB0;
112677 val_t tmp;
112678 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112679 fra.me.file = LOCATE_parser;
112680 fra.me.line = 42111;
112681 fra.me.meth = LOCATE_parser___ReduceAction1120___action;
112682 fra.me.has_broke = 0;
112683 fra.me.REG_size = 4;
112684 fra.me.REG[0] = NIT_NULL;
112685 fra.me.REG[1] = NIT_NULL;
112686 fra.me.REG[2] = NIT_NULL;
112687 fra.me.REG[3] = NIT_NULL;
112688 fra.me.REG[0] = p0;
112689 fra.me.REG[1] = p1;
112690 fra.me.REG[0] = NIT_NULL;
112691 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112692 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112693 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112694 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112695 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112696 /* ./parser//parser.nit:42119 */
112697 if (UNTAG_Bool(REGB0)) {
112698 } else {
112699 fprintf(stderr, "Assert failed");
112700 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42119);
112701 nit_exit(1);
112702 }
112703 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112704 /* ./parser//parser.nit:42121 */
112705 if (UNTAG_Bool(REGB0)) {
112706 } else {
112707 fprintf(stderr, "Assert failed");
112708 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42121);
112709 nit_exit(1);
112710 }
112711 fra.me.REG[2] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr(fra.me.REG[3], fra.me.REG[2]);
112712 fra.me.REG[0] = fra.me.REG[2];
112713 REGB0 = TAG_Int(118);
112714 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
112715 /* ./parser//parser.nit:42127 */
112716 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
112717 stack_frame_head = fra.me.prev;
112718 return;
112719 }
112720 void parser___ReduceAction1120___init(val_t p0, int* init_table){
112721 int itpos1124 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1120].i;
112722 struct {struct stack_frame_t me;} fra;
112723 val_t tmp;
112724 if (init_table[itpos1124]) return;
112725 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112726 fra.me.file = LOCATE_parser;
112727 fra.me.line = 42129;
112728 fra.me.meth = LOCATE_parser___ReduceAction1120___init;
112729 fra.me.has_broke = 0;
112730 fra.me.REG_size = 1;
112731 fra.me.REG[0] = NIT_NULL;
112732 fra.me.REG[0] = p0;
112733 /* ./parser//parser.nit:42129 */
112734 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
112735 stack_frame_head = fra.me.prev;
112736 init_table[itpos1124] = 1;
112737 return;
112738 }
112739 void parser___ReduceAction1121___action(val_t p0, val_t p1){
112740 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
112741 val_t REGB0;
112742 val_t tmp;
112743 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112744 fra.me.file = LOCATE_parser;
112745 fra.me.line = 42133;
112746 fra.me.meth = LOCATE_parser___ReduceAction1121___action;
112747 fra.me.has_broke = 0;
112748 fra.me.REG_size = 4;
112749 fra.me.REG[0] = NIT_NULL;
112750 fra.me.REG[1] = NIT_NULL;
112751 fra.me.REG[2] = NIT_NULL;
112752 fra.me.REG[3] = NIT_NULL;
112753 fra.me.REG[0] = p0;
112754 fra.me.REG[1] = p1;
112755 fra.me.REG[0] = NIT_NULL;
112756 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112757 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112758 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112759 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112760 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112761 /* ./parser//parser.nit:42141 */
112762 if (UNTAG_Bool(REGB0)) {
112763 } else {
112764 fprintf(stderr, "Assert failed");
112765 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42141);
112766 nit_exit(1);
112767 }
112768 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112769 /* ./parser//parser.nit:42143 */
112770 if (UNTAG_Bool(REGB0)) {
112771 } else {
112772 fprintf(stderr, "Assert failed");
112773 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42143);
112774 nit_exit(1);
112775 }
112776 fra.me.REG[2] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr(fra.me.REG[3], fra.me.REG[2]);
112777 fra.me.REG[0] = fra.me.REG[2];
112778 REGB0 = TAG_Int(118);
112779 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
112780 /* ./parser//parser.nit:42149 */
112781 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
112782 stack_frame_head = fra.me.prev;
112783 return;
112784 }
112785 void parser___ReduceAction1121___init(val_t p0, int* init_table){
112786 int itpos1125 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1121].i;
112787 struct {struct stack_frame_t me;} fra;
112788 val_t tmp;
112789 if (init_table[itpos1125]) return;
112790 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112791 fra.me.file = LOCATE_parser;
112792 fra.me.line = 42151;
112793 fra.me.meth = LOCATE_parser___ReduceAction1121___init;
112794 fra.me.has_broke = 0;
112795 fra.me.REG_size = 1;
112796 fra.me.REG[0] = NIT_NULL;
112797 fra.me.REG[0] = p0;
112798 /* ./parser//parser.nit:42151 */
112799 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
112800 stack_frame_head = fra.me.prev;
112801 init_table[itpos1125] = 1;
112802 return;
112803 }
112804 void parser___ReduceAction1122___action(val_t p0, val_t p1){
112805 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
112806 val_t REGB0;
112807 val_t tmp;
112808 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112809 fra.me.file = LOCATE_parser;
112810 fra.me.line = 42155;
112811 fra.me.meth = LOCATE_parser___ReduceAction1122___action;
112812 fra.me.has_broke = 0;
112813 fra.me.REG_size = 4;
112814 fra.me.REG[0] = NIT_NULL;
112815 fra.me.REG[1] = NIT_NULL;
112816 fra.me.REG[2] = NIT_NULL;
112817 fra.me.REG[3] = NIT_NULL;
112818 fra.me.REG[0] = p0;
112819 fra.me.REG[1] = p1;
112820 fra.me.REG[0] = NIT_NULL;
112821 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112822 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112823 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112824 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112825 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112826 /* ./parser//parser.nit:42163 */
112827 if (UNTAG_Bool(REGB0)) {
112828 } else {
112829 fprintf(stderr, "Assert failed");
112830 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42163);
112831 nit_exit(1);
112832 }
112833 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112834 /* ./parser//parser.nit:42165 */
112835 if (UNTAG_Bool(REGB0)) {
112836 } else {
112837 fprintf(stderr, "Assert failed");
112838 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42165);
112839 nit_exit(1);
112840 }
112841 fra.me.REG[2] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr(fra.me.REG[3], fra.me.REG[2]);
112842 fra.me.REG[0] = fra.me.REG[2];
112843 REGB0 = TAG_Int(118);
112844 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
112845 /* ./parser//parser.nit:42171 */
112846 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
112847 stack_frame_head = fra.me.prev;
112848 return;
112849 }
112850 void parser___ReduceAction1122___init(val_t p0, int* init_table){
112851 int itpos1126 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1122].i;
112852 struct {struct stack_frame_t me;} fra;
112853 val_t tmp;
112854 if (init_table[itpos1126]) return;
112855 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112856 fra.me.file = LOCATE_parser;
112857 fra.me.line = 42173;
112858 fra.me.meth = LOCATE_parser___ReduceAction1122___init;
112859 fra.me.has_broke = 0;
112860 fra.me.REG_size = 1;
112861 fra.me.REG[0] = NIT_NULL;
112862 fra.me.REG[0] = p0;
112863 /* ./parser//parser.nit:42173 */
112864 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
112865 stack_frame_head = fra.me.prev;
112866 init_table[itpos1126] = 1;
112867 return;
112868 }
112869 void parser___ReduceAction1123___action(val_t p0, val_t p1){
112870 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
112871 val_t REGB0;
112872 val_t tmp;
112873 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112874 fra.me.file = LOCATE_parser;
112875 fra.me.line = 42177;
112876 fra.me.meth = LOCATE_parser___ReduceAction1123___action;
112877 fra.me.has_broke = 0;
112878 fra.me.REG_size = 4;
112879 fra.me.REG[0] = NIT_NULL;
112880 fra.me.REG[1] = NIT_NULL;
112881 fra.me.REG[2] = NIT_NULL;
112882 fra.me.REG[3] = NIT_NULL;
112883 fra.me.REG[0] = p0;
112884 fra.me.REG[1] = p1;
112885 fra.me.REG[0] = NIT_NULL;
112886 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112887 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112888 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112889 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112890 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112891 /* ./parser//parser.nit:42185 */
112892 if (UNTAG_Bool(REGB0)) {
112893 } else {
112894 fprintf(stderr, "Assert failed");
112895 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42185);
112896 nit_exit(1);
112897 }
112898 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112899 /* ./parser//parser.nit:42187 */
112900 if (UNTAG_Bool(REGB0)) {
112901 } else {
112902 fprintf(stderr, "Assert failed");
112903 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42187);
112904 nit_exit(1);
112905 }
112906 fra.me.REG[2] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr(fra.me.REG[3], fra.me.REG[2]);
112907 fra.me.REG[0] = fra.me.REG[2];
112908 REGB0 = TAG_Int(118);
112909 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
112910 /* ./parser//parser.nit:42193 */
112911 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
112912 stack_frame_head = fra.me.prev;
112913 return;
112914 }
112915 void parser___ReduceAction1123___init(val_t p0, int* init_table){
112916 int itpos1127 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1123].i;
112917 struct {struct stack_frame_t me;} fra;
112918 val_t tmp;
112919 if (init_table[itpos1127]) return;
112920 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112921 fra.me.file = LOCATE_parser;
112922 fra.me.line = 42195;
112923 fra.me.meth = LOCATE_parser___ReduceAction1123___init;
112924 fra.me.has_broke = 0;
112925 fra.me.REG_size = 1;
112926 fra.me.REG[0] = NIT_NULL;
112927 fra.me.REG[0] = p0;
112928 /* ./parser//parser.nit:42195 */
112929 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
112930 stack_frame_head = fra.me.prev;
112931 init_table[itpos1127] = 1;
112932 return;
112933 }
112934 void parser___ReduceAction1124___action(val_t p0, val_t p1){
112935 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
112936 val_t REGB0;
112937 val_t tmp;
112938 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112939 fra.me.file = LOCATE_parser;
112940 fra.me.line = 42199;
112941 fra.me.meth = LOCATE_parser___ReduceAction1124___action;
112942 fra.me.has_broke = 0;
112943 fra.me.REG_size = 4;
112944 fra.me.REG[0] = NIT_NULL;
112945 fra.me.REG[1] = NIT_NULL;
112946 fra.me.REG[2] = NIT_NULL;
112947 fra.me.REG[3] = NIT_NULL;
112948 fra.me.REG[0] = p0;
112949 fra.me.REG[1] = p1;
112950 fra.me.REG[0] = NIT_NULL;
112951 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112952 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112953 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112954 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
112955 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112956 /* ./parser//parser.nit:42207 */
112957 if (UNTAG_Bool(REGB0)) {
112958 } else {
112959 fprintf(stderr, "Assert failed");
112960 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42207);
112961 nit_exit(1);
112962 }
112963 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
112964 /* ./parser//parser.nit:42209 */
112965 if (UNTAG_Bool(REGB0)) {
112966 } else {
112967 fprintf(stderr, "Assert failed");
112968 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42209);
112969 nit_exit(1);
112970 }
112971 fra.me.REG[2] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr(fra.me.REG[3], fra.me.REG[2]);
112972 fra.me.REG[0] = fra.me.REG[2];
112973 REGB0 = TAG_Int(118);
112974 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
112975 /* ./parser//parser.nit:42215 */
112976 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
112977 stack_frame_head = fra.me.prev;
112978 return;
112979 }
112980 void parser___ReduceAction1124___init(val_t p0, int* init_table){
112981 int itpos1128 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1124].i;
112982 struct {struct stack_frame_t me;} fra;
112983 val_t tmp;
112984 if (init_table[itpos1128]) return;
112985 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
112986 fra.me.file = LOCATE_parser;
112987 fra.me.line = 42217;
112988 fra.me.meth = LOCATE_parser___ReduceAction1124___init;
112989 fra.me.has_broke = 0;
112990 fra.me.REG_size = 1;
112991 fra.me.REG[0] = NIT_NULL;
112992 fra.me.REG[0] = p0;
112993 /* ./parser//parser.nit:42217 */
112994 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
112995 stack_frame_head = fra.me.prev;
112996 init_table[itpos1128] = 1;
112997 return;
112998 }
112999 void parser___ReduceAction1125___action(val_t p0, val_t p1){
113000 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
113001 val_t REGB0;
113002 val_t tmp;
113003 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113004 fra.me.file = LOCATE_parser;
113005 fra.me.line = 42221;
113006 fra.me.meth = LOCATE_parser___ReduceAction1125___action;
113007 fra.me.has_broke = 0;
113008 fra.me.REG_size = 4;
113009 fra.me.REG[0] = NIT_NULL;
113010 fra.me.REG[1] = NIT_NULL;
113011 fra.me.REG[2] = NIT_NULL;
113012 fra.me.REG[3] = NIT_NULL;
113013 fra.me.REG[0] = p0;
113014 fra.me.REG[1] = p1;
113015 fra.me.REG[0] = NIT_NULL;
113016 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113017 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113018 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113019 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113020 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113021 /* ./parser//parser.nit:42229 */
113022 if (UNTAG_Bool(REGB0)) {
113023 } else {
113024 fprintf(stderr, "Assert failed");
113025 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42229);
113026 nit_exit(1);
113027 }
113028 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
113029 /* ./parser//parser.nit:42231 */
113030 if (UNTAG_Bool(REGB0)) {
113031 } else {
113032 fprintf(stderr, "Assert failed");
113033 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42231);
113034 nit_exit(1);
113035 }
113036 fra.me.REG[2] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr(fra.me.REG[3], fra.me.REG[2]);
113037 fra.me.REG[0] = fra.me.REG[2];
113038 REGB0 = TAG_Int(118);
113039 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
113040 /* ./parser//parser.nit:42237 */
113041 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
113042 stack_frame_head = fra.me.prev;
113043 return;
113044 }
113045 void parser___ReduceAction1125___init(val_t p0, int* init_table){
113046 int itpos1129 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1125].i;
113047 struct {struct stack_frame_t me;} fra;
113048 val_t tmp;
113049 if (init_table[itpos1129]) return;
113050 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113051 fra.me.file = LOCATE_parser;
113052 fra.me.line = 42239;
113053 fra.me.meth = LOCATE_parser___ReduceAction1125___init;
113054 fra.me.has_broke = 0;
113055 fra.me.REG_size = 1;
113056 fra.me.REG[0] = NIT_NULL;
113057 fra.me.REG[0] = p0;
113058 /* ./parser//parser.nit:42239 */
113059 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
113060 stack_frame_head = fra.me.prev;
113061 init_table[itpos1129] = 1;
113062 return;
113063 }
113064 void parser___ReduceAction1126___action(val_t p0, val_t p1){
113065 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
113066 val_t REGB0;
113067 val_t tmp;
113068 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113069 fra.me.file = LOCATE_parser;
113070 fra.me.line = 42243;
113071 fra.me.meth = LOCATE_parser___ReduceAction1126___action;
113072 fra.me.has_broke = 0;
113073 fra.me.REG_size = 3;
113074 fra.me.REG[0] = NIT_NULL;
113075 fra.me.REG[1] = NIT_NULL;
113076 fra.me.REG[2] = NIT_NULL;
113077 fra.me.REG[0] = p0;
113078 fra.me.REG[1] = p1;
113079 fra.me.REG[0] = NIT_NULL;
113080 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113081 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113082 /* ./parser//parser.nit:42248 */
113083 if (UNTAG_Bool(REGB0)) {
113084 } else {
113085 fprintf(stderr, "Assert failed");
113086 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42248);
113087 nit_exit(1);
113088 }
113089 fra.me.REG[0] = fra.me.REG[2];
113090 REGB0 = TAG_Int(119);
113091 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
113092 /* ./parser//parser.nit:42250 */
113093 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
113094 stack_frame_head = fra.me.prev;
113095 return;
113096 }
113097 void parser___ReduceAction1126___init(val_t p0, int* init_table){
113098 int itpos1130 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1126].i;
113099 struct {struct stack_frame_t me;} fra;
113100 val_t tmp;
113101 if (init_table[itpos1130]) return;
113102 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113103 fra.me.file = LOCATE_parser;
113104 fra.me.line = 42252;
113105 fra.me.meth = LOCATE_parser___ReduceAction1126___init;
113106 fra.me.has_broke = 0;
113107 fra.me.REG_size = 1;
113108 fra.me.REG[0] = NIT_NULL;
113109 fra.me.REG[0] = p0;
113110 /* ./parser//parser.nit:42252 */
113111 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
113112 stack_frame_head = fra.me.prev;
113113 init_table[itpos1130] = 1;
113114 return;
113115 }
113116 void parser___ReduceAction1127___action(val_t p0, val_t p1){
113117 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
113118 val_t REGB0;
113119 val_t tmp;
113120 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113121 fra.me.file = LOCATE_parser;
113122 fra.me.line = 42256;
113123 fra.me.meth = LOCATE_parser___ReduceAction1127___action;
113124 fra.me.has_broke = 0;
113125 fra.me.REG_size = 4;
113126 fra.me.REG[0] = NIT_NULL;
113127 fra.me.REG[1] = NIT_NULL;
113128 fra.me.REG[2] = NIT_NULL;
113129 fra.me.REG[3] = NIT_NULL;
113130 fra.me.REG[0] = p0;
113131 fra.me.REG[1] = p1;
113132 fra.me.REG[0] = NIT_NULL;
113133 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113134 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113135 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113136 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113137 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113138 /* ./parser//parser.nit:42264 */
113139 if (UNTAG_Bool(REGB0)) {
113140 } else {
113141 fprintf(stderr, "Assert failed");
113142 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42264);
113143 nit_exit(1);
113144 }
113145 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113146 /* ./parser//parser.nit:42266 */
113147 if (UNTAG_Bool(REGB0)) {
113148 } else {
113149 fprintf(stderr, "Assert failed");
113150 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42266);
113151 nit_exit(1);
113152 }
113153 fra.me.REG[2] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr(fra.me.REG[3], fra.me.REG[2]);
113154 fra.me.REG[0] = fra.me.REG[2];
113155 REGB0 = TAG_Int(119);
113156 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
113157 /* ./parser//parser.nit:42272 */
113158 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
113159 stack_frame_head = fra.me.prev;
113160 return;
113161 }
113162 void parser___ReduceAction1127___init(val_t p0, int* init_table){
113163 int itpos1131 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1127].i;
113164 struct {struct stack_frame_t me;} fra;
113165 val_t tmp;
113166 if (init_table[itpos1131]) return;
113167 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113168 fra.me.file = LOCATE_parser;
113169 fra.me.line = 42274;
113170 fra.me.meth = LOCATE_parser___ReduceAction1127___init;
113171 fra.me.has_broke = 0;
113172 fra.me.REG_size = 1;
113173 fra.me.REG[0] = NIT_NULL;
113174 fra.me.REG[0] = p0;
113175 /* ./parser//parser.nit:42274 */
113176 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
113177 stack_frame_head = fra.me.prev;
113178 init_table[itpos1131] = 1;
113179 return;
113180 }
113181 void parser___ReduceAction1128___action(val_t p0, val_t p1){
113182 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
113183 val_t REGB0;
113184 val_t tmp;
113185 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113186 fra.me.file = LOCATE_parser;
113187 fra.me.line = 42278;
113188 fra.me.meth = LOCATE_parser___ReduceAction1128___action;
113189 fra.me.has_broke = 0;
113190 fra.me.REG_size = 4;
113191 fra.me.REG[0] = NIT_NULL;
113192 fra.me.REG[1] = NIT_NULL;
113193 fra.me.REG[2] = NIT_NULL;
113194 fra.me.REG[3] = NIT_NULL;
113195 fra.me.REG[0] = p0;
113196 fra.me.REG[1] = p1;
113197 fra.me.REG[0] = NIT_NULL;
113198 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113199 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113200 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113201 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113202 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113203 /* ./parser//parser.nit:42286 */
113204 if (UNTAG_Bool(REGB0)) {
113205 } else {
113206 fprintf(stderr, "Assert failed");
113207 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42286);
113208 nit_exit(1);
113209 }
113210 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113211 /* ./parser//parser.nit:42288 */
113212 if (UNTAG_Bool(REGB0)) {
113213 } else {
113214 fprintf(stderr, "Assert failed");
113215 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42288);
113216 nit_exit(1);
113217 }
113218 fra.me.REG[2] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr(fra.me.REG[3], fra.me.REG[2]);
113219 fra.me.REG[0] = fra.me.REG[2];
113220 REGB0 = TAG_Int(119);
113221 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
113222 /* ./parser//parser.nit:42294 */
113223 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
113224 stack_frame_head = fra.me.prev;
113225 return;
113226 }
113227 void parser___ReduceAction1128___init(val_t p0, int* init_table){
113228 int itpos1132 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1128].i;
113229 struct {struct stack_frame_t me;} fra;
113230 val_t tmp;
113231 if (init_table[itpos1132]) return;
113232 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113233 fra.me.file = LOCATE_parser;
113234 fra.me.line = 42296;
113235 fra.me.meth = LOCATE_parser___ReduceAction1128___init;
113236 fra.me.has_broke = 0;
113237 fra.me.REG_size = 1;
113238 fra.me.REG[0] = NIT_NULL;
113239 fra.me.REG[0] = p0;
113240 /* ./parser//parser.nit:42296 */
113241 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
113242 stack_frame_head = fra.me.prev;
113243 init_table[itpos1132] = 1;
113244 return;
113245 }
113246 void parser___ReduceAction1129___action(val_t p0, val_t p1){
113247 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
113248 val_t REGB0;
113249 val_t tmp;
113250 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113251 fra.me.file = LOCATE_parser;
113252 fra.me.line = 42300;
113253 fra.me.meth = LOCATE_parser___ReduceAction1129___action;
113254 fra.me.has_broke = 0;
113255 fra.me.REG_size = 3;
113256 fra.me.REG[0] = NIT_NULL;
113257 fra.me.REG[1] = NIT_NULL;
113258 fra.me.REG[2] = NIT_NULL;
113259 fra.me.REG[0] = p0;
113260 fra.me.REG[1] = p1;
113261 fra.me.REG[0] = NIT_NULL;
113262 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113263 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113264 /* ./parser//parser.nit:42305 */
113265 if (UNTAG_Bool(REGB0)) {
113266 } else {
113267 fprintf(stderr, "Assert failed");
113268 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42305);
113269 nit_exit(1);
113270 }
113271 fra.me.REG[0] = fra.me.REG[2];
113272 REGB0 = TAG_Int(120);
113273 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
113274 /* ./parser//parser.nit:42307 */
113275 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
113276 stack_frame_head = fra.me.prev;
113277 return;
113278 }
113279 void parser___ReduceAction1129___init(val_t p0, int* init_table){
113280 int itpos1133 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1129].i;
113281 struct {struct stack_frame_t me;} fra;
113282 val_t tmp;
113283 if (init_table[itpos1133]) return;
113284 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113285 fra.me.file = LOCATE_parser;
113286 fra.me.line = 42309;
113287 fra.me.meth = LOCATE_parser___ReduceAction1129___init;
113288 fra.me.has_broke = 0;
113289 fra.me.REG_size = 1;
113290 fra.me.REG[0] = NIT_NULL;
113291 fra.me.REG[0] = p0;
113292 /* ./parser//parser.nit:42309 */
113293 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
113294 stack_frame_head = fra.me.prev;
113295 init_table[itpos1133] = 1;
113296 return;
113297 }
113298 void parser___ReduceAction1130___action(val_t p0, val_t p1){
113299 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
113300 val_t REGB0;
113301 val_t tmp;
113302 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113303 fra.me.file = LOCATE_parser;
113304 fra.me.line = 42313;
113305 fra.me.meth = LOCATE_parser___ReduceAction1130___action;
113306 fra.me.has_broke = 0;
113307 fra.me.REG_size = 4;
113308 fra.me.REG[0] = NIT_NULL;
113309 fra.me.REG[1] = NIT_NULL;
113310 fra.me.REG[2] = NIT_NULL;
113311 fra.me.REG[3] = NIT_NULL;
113312 fra.me.REG[0] = p0;
113313 fra.me.REG[1] = p1;
113314 fra.me.REG[0] = NIT_NULL;
113315 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113316 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113317 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113318 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113319 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113320 /* ./parser//parser.nit:42321 */
113321 if (UNTAG_Bool(REGB0)) {
113322 } else {
113323 fprintf(stderr, "Assert failed");
113324 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42321);
113325 nit_exit(1);
113326 }
113327 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113328 /* ./parser//parser.nit:42323 */
113329 if (UNTAG_Bool(REGB0)) {
113330 } else {
113331 fprintf(stderr, "Assert failed");
113332 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42323);
113333 nit_exit(1);
113334 }
113335 fra.me.REG[2] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr(fra.me.REG[3], fra.me.REG[2]);
113336 fra.me.REG[0] = fra.me.REG[2];
113337 REGB0 = TAG_Int(120);
113338 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
113339 /* ./parser//parser.nit:42329 */
113340 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
113341 stack_frame_head = fra.me.prev;
113342 return;
113343 }
113344 void parser___ReduceAction1130___init(val_t p0, int* init_table){
113345 int itpos1134 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1130].i;
113346 struct {struct stack_frame_t me;} fra;
113347 val_t tmp;
113348 if (init_table[itpos1134]) return;
113349 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113350 fra.me.file = LOCATE_parser;
113351 fra.me.line = 42331;
113352 fra.me.meth = LOCATE_parser___ReduceAction1130___init;
113353 fra.me.has_broke = 0;
113354 fra.me.REG_size = 1;
113355 fra.me.REG[0] = NIT_NULL;
113356 fra.me.REG[0] = p0;
113357 /* ./parser//parser.nit:42331 */
113358 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
113359 stack_frame_head = fra.me.prev;
113360 init_table[itpos1134] = 1;
113361 return;
113362 }
113363 void parser___ReduceAction1131___action(val_t p0, val_t p1){
113364 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
113365 val_t REGB0;
113366 val_t tmp;
113367 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113368 fra.me.file = LOCATE_parser;
113369 fra.me.line = 42335;
113370 fra.me.meth = LOCATE_parser___ReduceAction1131___action;
113371 fra.me.has_broke = 0;
113372 fra.me.REG_size = 4;
113373 fra.me.REG[0] = NIT_NULL;
113374 fra.me.REG[1] = NIT_NULL;
113375 fra.me.REG[2] = NIT_NULL;
113376 fra.me.REG[3] = NIT_NULL;
113377 fra.me.REG[0] = p0;
113378 fra.me.REG[1] = p1;
113379 fra.me.REG[0] = NIT_NULL;
113380 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113381 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113382 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113383 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113384 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113385 /* ./parser//parser.nit:42343 */
113386 if (UNTAG_Bool(REGB0)) {
113387 } else {
113388 fprintf(stderr, "Assert failed");
113389 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42343);
113390 nit_exit(1);
113391 }
113392 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113393 /* ./parser//parser.nit:42345 */
113394 if (UNTAG_Bool(REGB0)) {
113395 } else {
113396 fprintf(stderr, "Assert failed");
113397 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42345);
113398 nit_exit(1);
113399 }
113400 fra.me.REG[2] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr(fra.me.REG[3], fra.me.REG[2]);
113401 fra.me.REG[0] = fra.me.REG[2];
113402 REGB0 = TAG_Int(120);
113403 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
113404 /* ./parser//parser.nit:42351 */
113405 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
113406 stack_frame_head = fra.me.prev;
113407 return;
113408 }
113409 void parser___ReduceAction1131___init(val_t p0, int* init_table){
113410 int itpos1135 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1131].i;
113411 struct {struct stack_frame_t me;} fra;
113412 val_t tmp;
113413 if (init_table[itpos1135]) return;
113414 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113415 fra.me.file = LOCATE_parser;
113416 fra.me.line = 42353;
113417 fra.me.meth = LOCATE_parser___ReduceAction1131___init;
113418 fra.me.has_broke = 0;
113419 fra.me.REG_size = 1;
113420 fra.me.REG[0] = NIT_NULL;
113421 fra.me.REG[0] = p0;
113422 /* ./parser//parser.nit:42353 */
113423 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
113424 stack_frame_head = fra.me.prev;
113425 init_table[itpos1135] = 1;
113426 return;
113427 }
113428 void parser___ReduceAction1132___action(val_t p0, val_t p1){
113429 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
113430 val_t REGB0;
113431 val_t tmp;
113432 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113433 fra.me.file = LOCATE_parser;
113434 fra.me.line = 42357;
113435 fra.me.meth = LOCATE_parser___ReduceAction1132___action;
113436 fra.me.has_broke = 0;
113437 fra.me.REG_size = 4;
113438 fra.me.REG[0] = NIT_NULL;
113439 fra.me.REG[1] = NIT_NULL;
113440 fra.me.REG[2] = NIT_NULL;
113441 fra.me.REG[3] = NIT_NULL;
113442 fra.me.REG[0] = p0;
113443 fra.me.REG[1] = p1;
113444 fra.me.REG[0] = NIT_NULL;
113445 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113446 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113447 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113448 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113449 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113450 /* ./parser//parser.nit:42365 */
113451 if (UNTAG_Bool(REGB0)) {
113452 } else {
113453 fprintf(stderr, "Assert failed");
113454 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42365);
113455 nit_exit(1);
113456 }
113457 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113458 /* ./parser//parser.nit:42367 */
113459 if (UNTAG_Bool(REGB0)) {
113460 } else {
113461 fprintf(stderr, "Assert failed");
113462 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42367);
113463 nit_exit(1);
113464 }
113465 fra.me.REG[2] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr(fra.me.REG[3], fra.me.REG[2]);
113466 fra.me.REG[0] = fra.me.REG[2];
113467 REGB0 = TAG_Int(120);
113468 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
113469 /* ./parser//parser.nit:42373 */
113470 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
113471 stack_frame_head = fra.me.prev;
113472 return;
113473 }
113474 void parser___ReduceAction1132___init(val_t p0, int* init_table){
113475 int itpos1136 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1132].i;
113476 struct {struct stack_frame_t me;} fra;
113477 val_t tmp;
113478 if (init_table[itpos1136]) return;
113479 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113480 fra.me.file = LOCATE_parser;
113481 fra.me.line = 42375;
113482 fra.me.meth = LOCATE_parser___ReduceAction1132___init;
113483 fra.me.has_broke = 0;
113484 fra.me.REG_size = 1;
113485 fra.me.REG[0] = NIT_NULL;
113486 fra.me.REG[0] = p0;
113487 /* ./parser//parser.nit:42375 */
113488 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
113489 stack_frame_head = fra.me.prev;
113490 init_table[itpos1136] = 1;
113491 return;
113492 }
113493 void parser___ReduceAction1133___action(val_t p0, val_t p1){
113494 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
113495 val_t REGB0;
113496 val_t tmp;
113497 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113498 fra.me.file = LOCATE_parser;
113499 fra.me.line = 42379;
113500 fra.me.meth = LOCATE_parser___ReduceAction1133___action;
113501 fra.me.has_broke = 0;
113502 fra.me.REG_size = 3;
113503 fra.me.REG[0] = NIT_NULL;
113504 fra.me.REG[1] = NIT_NULL;
113505 fra.me.REG[2] = NIT_NULL;
113506 fra.me.REG[0] = p0;
113507 fra.me.REG[1] = p1;
113508 fra.me.REG[0] = NIT_NULL;
113509 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113510 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113511 /* ./parser//parser.nit:42384 */
113512 if (UNTAG_Bool(REGB0)) {
113513 } else {
113514 fprintf(stderr, "Assert failed");
113515 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42384);
113516 nit_exit(1);
113517 }
113518 fra.me.REG[0] = fra.me.REG[2];
113519 REGB0 = TAG_Int(121);
113520 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
113521 /* ./parser//parser.nit:42386 */
113522 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
113523 stack_frame_head = fra.me.prev;
113524 return;
113525 }
113526 void parser___ReduceAction1133___init(val_t p0, int* init_table){
113527 int itpos1137 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1133].i;
113528 struct {struct stack_frame_t me;} fra;
113529 val_t tmp;
113530 if (init_table[itpos1137]) return;
113531 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113532 fra.me.file = LOCATE_parser;
113533 fra.me.line = 42388;
113534 fra.me.meth = LOCATE_parser___ReduceAction1133___init;
113535 fra.me.has_broke = 0;
113536 fra.me.REG_size = 1;
113537 fra.me.REG[0] = NIT_NULL;
113538 fra.me.REG[0] = p0;
113539 /* ./parser//parser.nit:42388 */
113540 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
113541 stack_frame_head = fra.me.prev;
113542 init_table[itpos1137] = 1;
113543 return;
113544 }
113545 void parser___ReduceAction1134___action(val_t p0, val_t p1){
113546 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
113547 val_t REGB0;
113548 val_t tmp;
113549 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113550 fra.me.file = LOCATE_parser;
113551 fra.me.line = 42392;
113552 fra.me.meth = LOCATE_parser___ReduceAction1134___action;
113553 fra.me.has_broke = 0;
113554 fra.me.REG_size = 4;
113555 fra.me.REG[0] = NIT_NULL;
113556 fra.me.REG[1] = NIT_NULL;
113557 fra.me.REG[2] = NIT_NULL;
113558 fra.me.REG[3] = NIT_NULL;
113559 fra.me.REG[0] = p0;
113560 fra.me.REG[1] = p1;
113561 fra.me.REG[0] = NIT_NULL;
113562 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113563 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113564 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113565 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/;
113566 /* ./parser//parser.nit:42399 */
113567 if (UNTAG_Bool(REGB0)) {
113568 } else {
113569 fprintf(stderr, "Assert failed");
113570 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42399);
113571 nit_exit(1);
113572 }
113573 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113574 /* ./parser//parser.nit:42401 */
113575 if (UNTAG_Bool(REGB0)) {
113576 } else {
113577 fprintf(stderr, "Assert failed");
113578 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42401);
113579 nit_exit(1);
113580 }
113581 fra.me.REG[2] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr(fra.me.REG[3], fra.me.REG[2]);
113582 fra.me.REG[0] = fra.me.REG[2];
113583 REGB0 = TAG_Int(121);
113584 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
113585 /* ./parser//parser.nit:42407 */
113586 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
113587 stack_frame_head = fra.me.prev;
113588 return;
113589 }
113590 void parser___ReduceAction1134___init(val_t p0, int* init_table){
113591 int itpos1138 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1134].i;
113592 struct {struct stack_frame_t me;} fra;
113593 val_t tmp;
113594 if (init_table[itpos1138]) return;
113595 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113596 fra.me.file = LOCATE_parser;
113597 fra.me.line = 42409;
113598 fra.me.meth = LOCATE_parser___ReduceAction1134___init;
113599 fra.me.has_broke = 0;
113600 fra.me.REG_size = 1;
113601 fra.me.REG[0] = NIT_NULL;
113602 fra.me.REG[0] = p0;
113603 /* ./parser//parser.nit:42409 */
113604 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
113605 stack_frame_head = fra.me.prev;
113606 init_table[itpos1138] = 1;
113607 return;
113608 }
113609 void parser___ReduceAction1135___action(val_t p0, val_t p1){
113610 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
113611 val_t REGB0;
113612 val_t tmp;
113613 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113614 fra.me.file = LOCATE_parser;
113615 fra.me.line = 42413;
113616 fra.me.meth = LOCATE_parser___ReduceAction1135___action;
113617 fra.me.has_broke = 0;
113618 fra.me.REG_size = 4;
113619 fra.me.REG[0] = NIT_NULL;
113620 fra.me.REG[1] = NIT_NULL;
113621 fra.me.REG[2] = NIT_NULL;
113622 fra.me.REG[3] = NIT_NULL;
113623 fra.me.REG[0] = p0;
113624 fra.me.REG[1] = p1;
113625 fra.me.REG[0] = NIT_NULL;
113626 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113627 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113628 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113629 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwonce, ID_TKwonce)) /*cast nullable TKwonce*/;
113630 /* ./parser//parser.nit:42420 */
113631 if (UNTAG_Bool(REGB0)) {
113632 } else {
113633 fprintf(stderr, "Assert failed");
113634 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42420);
113635 nit_exit(1);
113636 }
113637 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113638 /* ./parser//parser.nit:42422 */
113639 if (UNTAG_Bool(REGB0)) {
113640 } else {
113641 fprintf(stderr, "Assert failed");
113642 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42422);
113643 nit_exit(1);
113644 }
113645 fra.me.REG[2] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr(fra.me.REG[3], fra.me.REG[2]);
113646 fra.me.REG[0] = fra.me.REG[2];
113647 REGB0 = TAG_Int(121);
113648 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
113649 /* ./parser//parser.nit:42428 */
113650 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
113651 stack_frame_head = fra.me.prev;
113652 return;
113653 }
113654 void parser___ReduceAction1135___init(val_t p0, int* init_table){
113655 int itpos1139 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1135].i;
113656 struct {struct stack_frame_t me;} fra;
113657 val_t tmp;
113658 if (init_table[itpos1139]) return;
113659 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113660 fra.me.file = LOCATE_parser;
113661 fra.me.line = 42430;
113662 fra.me.meth = LOCATE_parser___ReduceAction1135___init;
113663 fra.me.has_broke = 0;
113664 fra.me.REG_size = 1;
113665 fra.me.REG[0] = NIT_NULL;
113666 fra.me.REG[0] = p0;
113667 /* ./parser//parser.nit:42430 */
113668 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
113669 stack_frame_head = fra.me.prev;
113670 init_table[itpos1139] = 1;
113671 return;
113672 }
113673 void parser___ReduceAction1136___action(val_t p0, val_t p1){
113674 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
113675 val_t REGB0;
113676 val_t tmp;
113677 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113678 fra.me.file = LOCATE_parser;
113679 fra.me.line = 42434;
113680 fra.me.meth = LOCATE_parser___ReduceAction1136___action;
113681 fra.me.has_broke = 0;
113682 fra.me.REG_size = 3;
113683 fra.me.REG[0] = NIT_NULL;
113684 fra.me.REG[1] = NIT_NULL;
113685 fra.me.REG[2] = NIT_NULL;
113686 fra.me.REG[0] = p0;
113687 fra.me.REG[1] = p1;
113688 fra.me.REG[0] = NIT_NULL;
113689 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113690 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113691 /* ./parser//parser.nit:42439 */
113692 if (UNTAG_Bool(REGB0)) {
113693 } else {
113694 fprintf(stderr, "Assert failed");
113695 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42439);
113696 nit_exit(1);
113697 }
113698 fra.me.REG[0] = fra.me.REG[2];
113699 REGB0 = TAG_Int(122);
113700 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
113701 /* ./parser//parser.nit:42441 */
113702 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
113703 stack_frame_head = fra.me.prev;
113704 return;
113705 }
113706 void parser___ReduceAction1136___init(val_t p0, int* init_table){
113707 int itpos1140 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1136].i;
113708 struct {struct stack_frame_t me;} fra;
113709 val_t tmp;
113710 if (init_table[itpos1140]) return;
113711 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113712 fra.me.file = LOCATE_parser;
113713 fra.me.line = 42443;
113714 fra.me.meth = LOCATE_parser___ReduceAction1136___init;
113715 fra.me.has_broke = 0;
113716 fra.me.REG_size = 1;
113717 fra.me.REG[0] = NIT_NULL;
113718 fra.me.REG[0] = p0;
113719 /* ./parser//parser.nit:42443 */
113720 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
113721 stack_frame_head = fra.me.prev;
113722 init_table[itpos1140] = 1;
113723 return;
113724 }
113725 void parser___ReduceAction1137___action(val_t p0, val_t p1){
113726 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
113727 val_t REGB0;
113728 val_t tmp;
113729 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113730 fra.me.file = LOCATE_parser;
113731 fra.me.line = 42447;
113732 fra.me.meth = LOCATE_parser___ReduceAction1137___action;
113733 fra.me.has_broke = 0;
113734 fra.me.REG_size = 6;
113735 fra.me.REG[0] = NIT_NULL;
113736 fra.me.REG[1] = NIT_NULL;
113737 fra.me.REG[2] = NIT_NULL;
113738 fra.me.REG[3] = NIT_NULL;
113739 fra.me.REG[4] = NIT_NULL;
113740 fra.me.REG[5] = NIT_NULL;
113741 fra.me.REG[0] = p0;
113742 fra.me.REG[1] = p1;
113743 fra.me.REG[0] = NIT_NULL;
113744 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113745 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113746 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113747 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113748 fra.me.REG[5] = NEW_Array_array___Array___init();
113749 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwnew, ID_TKwnew)) /*cast nullable TKwnew*/;
113750 /* ./parser//parser.nit:42456 */
113751 if (UNTAG_Bool(REGB0)) {
113752 } else {
113753 fprintf(stderr, "Assert failed");
113754 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42456);
113755 nit_exit(1);
113756 }
113757 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/;
113758 /* ./parser//parser.nit:42458 */
113759 if (UNTAG_Bool(REGB0)) {
113760 } else {
113761 fprintf(stderr, "Assert failed");
113762 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42458);
113763 nit_exit(1);
113764 }
113765 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
113766 /* ./parser//parser.nit:42460 */
113767 if (UNTAG_Bool(REGB0)) {
113768 } else {
113769 fprintf(stderr, "Assert failed");
113770 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42460);
113771 nit_exit(1);
113772 }
113773 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
113774 /* ./parser//parser.nit:42462 */
113775 if (UNTAG_Bool(REGB0)) {
113776 fra.me.REG[5] = fra.me.REG[2];
113777 /* ./parser//parser.nit:42463 */
113778 } else {
113779 /* ./parser//parser.nit:42465 */
113780 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
113781 }
113782 fra.me.REG[5] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[5]);
113783 fra.me.REG[0] = fra.me.REG[5];
113784 REGB0 = TAG_Int(122);
113785 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
113786 /* ./parser//parser.nit:42475 */
113787 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
113788 stack_frame_head = fra.me.prev;
113789 return;
113790 }
113791 void parser___ReduceAction1137___init(val_t p0, int* init_table){
113792 int itpos1141 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1137].i;
113793 struct {struct stack_frame_t me;} fra;
113794 val_t tmp;
113795 if (init_table[itpos1141]) return;
113796 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113797 fra.me.file = LOCATE_parser;
113798 fra.me.line = 42477;
113799 fra.me.meth = LOCATE_parser___ReduceAction1137___init;
113800 fra.me.has_broke = 0;
113801 fra.me.REG_size = 1;
113802 fra.me.REG[0] = NIT_NULL;
113803 fra.me.REG[0] = p0;
113804 /* ./parser//parser.nit:42477 */
113805 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
113806 stack_frame_head = fra.me.prev;
113807 init_table[itpos1141] = 1;
113808 return;
113809 }
113810 void parser___ReduceAction1138___action(val_t p0, val_t p1){
113811 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
113812 val_t REGB0;
113813 val_t tmp;
113814 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113815 fra.me.file = LOCATE_parser;
113816 fra.me.line = 42481;
113817 fra.me.meth = LOCATE_parser___ReduceAction1138___action;
113818 fra.me.has_broke = 0;
113819 fra.me.REG_size = 5;
113820 fra.me.REG[0] = NIT_NULL;
113821 fra.me.REG[1] = NIT_NULL;
113822 fra.me.REG[2] = NIT_NULL;
113823 fra.me.REG[3] = NIT_NULL;
113824 fra.me.REG[4] = NIT_NULL;
113825 fra.me.REG[0] = p0;
113826 fra.me.REG[1] = p1;
113827 fra.me.REG[0] = NIT_NULL;
113828 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113829 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113830 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113831 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwisset, ID_TKwisset)) /*cast nullable TKwisset*/;
113832 /* ./parser//parser.nit:42488 */
113833 if (UNTAG_Bool(REGB0)) {
113834 } else {
113835 fprintf(stderr, "Assert failed");
113836 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42488);
113837 nit_exit(1);
113838 }
113839 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113840 /* ./parser//parser.nit:42490 */
113841 if (UNTAG_Bool(REGB0)) {
113842 } else {
113843 fprintf(stderr, "Assert failed");
113844 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42490);
113845 nit_exit(1);
113846 }
113847 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
113848 /* ./parser//parser.nit:42492 */
113849 if (UNTAG_Bool(REGB0)) {
113850 } else {
113851 fprintf(stderr, "Assert failed");
113852 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42492);
113853 nit_exit(1);
113854 }
113855 fra.me.REG[2] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
113856 fra.me.REG[0] = fra.me.REG[2];
113857 REGB0 = TAG_Int(122);
113858 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
113859 /* ./parser//parser.nit:42499 */
113860 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
113861 stack_frame_head = fra.me.prev;
113862 return;
113863 }
113864 void parser___ReduceAction1138___init(val_t p0, int* init_table){
113865 int itpos1142 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1138].i;
113866 struct {struct stack_frame_t me;} fra;
113867 val_t tmp;
113868 if (init_table[itpos1142]) return;
113869 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113870 fra.me.file = LOCATE_parser;
113871 fra.me.line = 42501;
113872 fra.me.meth = LOCATE_parser___ReduceAction1138___init;
113873 fra.me.has_broke = 0;
113874 fra.me.REG_size = 1;
113875 fra.me.REG[0] = NIT_NULL;
113876 fra.me.REG[0] = p0;
113877 /* ./parser//parser.nit:42501 */
113878 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
113879 stack_frame_head = fra.me.prev;
113880 init_table[itpos1142] = 1;
113881 return;
113882 }
113883 void parser___ReduceAction1139___action(val_t p0, val_t p1){
113884 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
113885 val_t REGB0;
113886 val_t tmp;
113887 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113888 fra.me.file = LOCATE_parser;
113889 fra.me.line = 42505;
113890 fra.me.meth = LOCATE_parser___ReduceAction1139___action;
113891 fra.me.has_broke = 0;
113892 fra.me.REG_size = 4;
113893 fra.me.REG[0] = NIT_NULL;
113894 fra.me.REG[1] = NIT_NULL;
113895 fra.me.REG[2] = NIT_NULL;
113896 fra.me.REG[3] = NIT_NULL;
113897 fra.me.REG[0] = p0;
113898 fra.me.REG[1] = p1;
113899 fra.me.REG[0] = NIT_NULL;
113900 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113901 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113902 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113903 /* ./parser//parser.nit:42511 */
113904 if (UNTAG_Bool(REGB0)) {
113905 } else {
113906 fprintf(stderr, "Assert failed");
113907 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42511);
113908 nit_exit(1);
113909 }
113910 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/;
113911 /* ./parser//parser.nit:42513 */
113912 if (UNTAG_Bool(REGB0)) {
113913 } else {
113914 fprintf(stderr, "Assert failed");
113915 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42513);
113916 nit_exit(1);
113917 }
113918 fra.me.REG[2] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[3], fra.me.REG[2]);
113919 fra.me.REG[0] = fra.me.REG[2];
113920 REGB0 = TAG_Int(123);
113921 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
113922 /* ./parser//parser.nit:42519 */
113923 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
113924 stack_frame_head = fra.me.prev;
113925 return;
113926 }
113927 void parser___ReduceAction1139___init(val_t p0, int* init_table){
113928 int itpos1143 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1139].i;
113929 struct {struct stack_frame_t me;} fra;
113930 val_t tmp;
113931 if (init_table[itpos1143]) return;
113932 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113933 fra.me.file = LOCATE_parser;
113934 fra.me.line = 42521;
113935 fra.me.meth = LOCATE_parser___ReduceAction1139___init;
113936 fra.me.has_broke = 0;
113937 fra.me.REG_size = 1;
113938 fra.me.REG[0] = NIT_NULL;
113939 fra.me.REG[0] = p0;
113940 /* ./parser//parser.nit:42521 */
113941 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
113942 stack_frame_head = fra.me.prev;
113943 init_table[itpos1143] = 1;
113944 return;
113945 }
113946 void parser___ReduceAction1140___action(val_t p0, val_t p1){
113947 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
113948 val_t REGB0;
113949 val_t tmp;
113950 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
113951 fra.me.file = LOCATE_parser;
113952 fra.me.line = 42525;
113953 fra.me.meth = LOCATE_parser___ReduceAction1140___action;
113954 fra.me.has_broke = 0;
113955 fra.me.REG_size = 7;
113956 fra.me.REG[0] = NIT_NULL;
113957 fra.me.REG[1] = NIT_NULL;
113958 fra.me.REG[2] = NIT_NULL;
113959 fra.me.REG[3] = NIT_NULL;
113960 fra.me.REG[4] = NIT_NULL;
113961 fra.me.REG[5] = NIT_NULL;
113962 fra.me.REG[6] = NIT_NULL;
113963 fra.me.REG[0] = p0;
113964 fra.me.REG[1] = p1;
113965 fra.me.REG[0] = NIT_NULL;
113966 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113967 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113968 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
113969 fra.me.REG[5] = NEW_Array_array___Array___init();
113970 fra.me.REG[6] = NEW_Array_array___Array___init();
113971 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
113972 /* ./parser//parser.nit:42534 */
113973 if (UNTAG_Bool(REGB0)) {
113974 } else {
113975 fprintf(stderr, "Assert failed");
113976 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42534);
113977 nit_exit(1);
113978 }
113979 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
113980 /* ./parser//parser.nit:42536 */
113981 if (UNTAG_Bool(REGB0)) {
113982 } else {
113983 fprintf(stderr, "Assert failed");
113984 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42536);
113985 nit_exit(1);
113986 }
113987 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
113988 /* ./parser//parser.nit:42538 */
113989 if (UNTAG_Bool(REGB0)) {
113990 } else {
113991 fprintf(stderr, "Assert failed");
113992 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42538);
113993 nit_exit(1);
113994 }
113995 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
113996 /* ./parser//parser.nit:42540 */
113997 if (UNTAG_Bool(REGB0)) {
113998 fra.me.REG[5] = fra.me.REG[2];
113999 /* ./parser//parser.nit:42541 */
114000 } else {
114001 /* ./parser//parser.nit:42543 */
114002 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
114003 }
114004 fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[6]);
114005 fra.me.REG[0] = fra.me.REG[6];
114006 REGB0 = TAG_Int(123);
114007 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
114008 /* ./parser//parser.nit:42553 */
114009 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
114010 stack_frame_head = fra.me.prev;
114011 return;
114012 }
114013 void parser___ReduceAction1140___init(val_t p0, int* init_table){
114014 int itpos1144 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1140].i;
114015 struct {struct stack_frame_t me;} fra;
114016 val_t tmp;
114017 if (init_table[itpos1144]) return;
114018 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114019 fra.me.file = LOCATE_parser;
114020 fra.me.line = 42555;
114021 fra.me.meth = LOCATE_parser___ReduceAction1140___init;
114022 fra.me.has_broke = 0;
114023 fra.me.REG_size = 1;
114024 fra.me.REG[0] = NIT_NULL;
114025 fra.me.REG[0] = p0;
114026 /* ./parser//parser.nit:42555 */
114027 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
114028 stack_frame_head = fra.me.prev;
114029 init_table[itpos1144] = 1;
114030 return;
114031 }
114032 void parser___ReduceAction1141___action(val_t p0, val_t p1){
114033 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
114034 val_t REGB0;
114035 val_t tmp;
114036 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114037 fra.me.file = LOCATE_parser;
114038 fra.me.line = 42559;
114039 fra.me.meth = LOCATE_parser___ReduceAction1141___action;
114040 fra.me.has_broke = 0;
114041 fra.me.REG_size = 5;
114042 fra.me.REG[0] = NIT_NULL;
114043 fra.me.REG[1] = NIT_NULL;
114044 fra.me.REG[2] = NIT_NULL;
114045 fra.me.REG[3] = NIT_NULL;
114046 fra.me.REG[4] = NIT_NULL;
114047 fra.me.REG[0] = p0;
114048 fra.me.REG[1] = p1;
114049 fra.me.REG[0] = NIT_NULL;
114050 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114051 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114052 fra.me.REG[4] = NEW_Array_array___Array___init();
114053 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/;
114054 /* ./parser//parser.nit:42566 */
114055 if (UNTAG_Bool(REGB0)) {
114056 } else {
114057 fprintf(stderr, "Assert failed");
114058 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42566);
114059 nit_exit(1);
114060 }
114061 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
114062 /* ./parser//parser.nit:42568 */
114063 if (UNTAG_Bool(REGB0)) {
114064 } else {
114065 fprintf(stderr, "Assert failed");
114066 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42568);
114067 nit_exit(1);
114068 }
114069 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
114070 /* ./parser//parser.nit:42570 */
114071 if (UNTAG_Bool(REGB0)) {
114072 fra.me.REG[4] = fra.me.REG[2];
114073 /* ./parser//parser.nit:42571 */
114074 } else {
114075 /* ./parser//parser.nit:42573 */
114076 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
114077 }
114078 fra.me.REG[4] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
114079 fra.me.REG[0] = fra.me.REG[4];
114080 REGB0 = TAG_Int(123);
114081 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
114082 /* ./parser//parser.nit:42582 */
114083 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
114084 stack_frame_head = fra.me.prev;
114085 return;
114086 }
114087 void parser___ReduceAction1141___init(val_t p0, int* init_table){
114088 int itpos1145 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1141].i;
114089 struct {struct stack_frame_t me;} fra;
114090 val_t tmp;
114091 if (init_table[itpos1145]) return;
114092 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114093 fra.me.file = LOCATE_parser;
114094 fra.me.line = 42584;
114095 fra.me.meth = LOCATE_parser___ReduceAction1141___init;
114096 fra.me.has_broke = 0;
114097 fra.me.REG_size = 1;
114098 fra.me.REG[0] = NIT_NULL;
114099 fra.me.REG[0] = p0;
114100 /* ./parser//parser.nit:42584 */
114101 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
114102 stack_frame_head = fra.me.prev;
114103 init_table[itpos1145] = 1;
114104 return;
114105 }
114106 void parser___ReduceAction1142___action(val_t p0, val_t p1){
114107 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
114108 val_t REGB0;
114109 val_t tmp;
114110 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114111 fra.me.file = LOCATE_parser;
114112 fra.me.line = 42588;
114113 fra.me.meth = LOCATE_parser___ReduceAction1142___action;
114114 fra.me.has_broke = 0;
114115 fra.me.REG_size = 6;
114116 fra.me.REG[0] = NIT_NULL;
114117 fra.me.REG[1] = NIT_NULL;
114118 fra.me.REG[2] = NIT_NULL;
114119 fra.me.REG[3] = NIT_NULL;
114120 fra.me.REG[4] = NIT_NULL;
114121 fra.me.REG[5] = NIT_NULL;
114122 fra.me.REG[0] = p0;
114123 fra.me.REG[1] = p1;
114124 fra.me.REG[0] = NIT_NULL;
114125 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114126 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114127 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114128 fra.me.REG[5] = NEW_Array_array___Array___init();
114129 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AQualified, ID_AQualified)) /*cast nullable AQualified*/;
114130 /* ./parser//parser.nit:42596 */
114131 if (UNTAG_Bool(REGB0)) {
114132 } else {
114133 fprintf(stderr, "Assert failed");
114134 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42596);
114135 nit_exit(1);
114136 }
114137 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/;
114138 /* ./parser//parser.nit:42598 */
114139 if (UNTAG_Bool(REGB0)) {
114140 } else {
114141 fprintf(stderr, "Assert failed");
114142 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42598);
114143 nit_exit(1);
114144 }
114145 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
114146 /* ./parser//parser.nit:42600 */
114147 if (UNTAG_Bool(REGB0)) {
114148 } else {
114149 fprintf(stderr, "Assert failed");
114150 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42600);
114151 nit_exit(1);
114152 }
114153 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
114154 /* ./parser//parser.nit:42602 */
114155 if (UNTAG_Bool(REGB0)) {
114156 fra.me.REG[5] = fra.me.REG[2];
114157 /* ./parser//parser.nit:42603 */
114158 } else {
114159 /* ./parser//parser.nit:42605 */
114160 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
114161 }
114162 fra.me.REG[5] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
114163 fra.me.REG[0] = fra.me.REG[5];
114164 REGB0 = TAG_Int(123);
114165 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
114166 /* ./parser//parser.nit:42614 */
114167 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
114168 stack_frame_head = fra.me.prev;
114169 return;
114170 }
114171 void parser___ReduceAction1142___init(val_t p0, int* init_table){
114172 int itpos1146 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1142].i;
114173 struct {struct stack_frame_t me;} fra;
114174 val_t tmp;
114175 if (init_table[itpos1146]) return;
114176 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114177 fra.me.file = LOCATE_parser;
114178 fra.me.line = 42616;
114179 fra.me.meth = LOCATE_parser___ReduceAction1142___init;
114180 fra.me.has_broke = 0;
114181 fra.me.REG_size = 1;
114182 fra.me.REG[0] = NIT_NULL;
114183 fra.me.REG[0] = p0;
114184 /* ./parser//parser.nit:42616 */
114185 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
114186 stack_frame_head = fra.me.prev;
114187 init_table[itpos1146] = 1;
114188 return;
114189 }
114190 void parser___ReduceAction1143___action(val_t p0, val_t p1){
114191 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
114192 val_t REGB0;
114193 val_t tmp;
114194 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114195 fra.me.file = LOCATE_parser;
114196 fra.me.line = 42620;
114197 fra.me.meth = LOCATE_parser___ReduceAction1143___action;
114198 fra.me.has_broke = 0;
114199 fra.me.REG_size = 6;
114200 fra.me.REG[0] = NIT_NULL;
114201 fra.me.REG[1] = NIT_NULL;
114202 fra.me.REG[2] = NIT_NULL;
114203 fra.me.REG[3] = NIT_NULL;
114204 fra.me.REG[4] = NIT_NULL;
114205 fra.me.REG[5] = NIT_NULL;
114206 fra.me.REG[0] = p0;
114207 fra.me.REG[1] = p1;
114208 fra.me.REG[0] = NIT_NULL;
114209 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114210 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114211 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114212 fra.me.REG[5] = NEW_Array_array___Array___init();
114213 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
114214 /* ./parser//parser.nit:42628 */
114215 if (UNTAG_Bool(REGB0)) {
114216 } else {
114217 fprintf(stderr, "Assert failed");
114218 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42628);
114219 nit_exit(1);
114220 }
114221 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/;
114222 /* ./parser//parser.nit:42630 */
114223 if (UNTAG_Bool(REGB0)) {
114224 } else {
114225 fprintf(stderr, "Assert failed");
114226 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42630);
114227 nit_exit(1);
114228 }
114229 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
114230 /* ./parser//parser.nit:42632 */
114231 if (UNTAG_Bool(REGB0)) {
114232 } else {
114233 fprintf(stderr, "Assert failed");
114234 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42632);
114235 nit_exit(1);
114236 }
114237 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
114238 /* ./parser//parser.nit:42634 */
114239 if (UNTAG_Bool(REGB0)) {
114240 fra.me.REG[5] = fra.me.REG[2];
114241 /* ./parser//parser.nit:42635 */
114242 } else {
114243 /* ./parser//parser.nit:42637 */
114244 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
114245 }
114246 fra.me.REG[5] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
114247 fra.me.REG[0] = fra.me.REG[5];
114248 REGB0 = TAG_Int(123);
114249 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
114250 /* ./parser//parser.nit:42646 */
114251 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
114252 stack_frame_head = fra.me.prev;
114253 return;
114254 }
114255 void parser___ReduceAction1143___init(val_t p0, int* init_table){
114256 int itpos1147 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1143].i;
114257 struct {struct stack_frame_t me;} fra;
114258 val_t tmp;
114259 if (init_table[itpos1147]) return;
114260 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114261 fra.me.file = LOCATE_parser;
114262 fra.me.line = 42648;
114263 fra.me.meth = LOCATE_parser___ReduceAction1143___init;
114264 fra.me.has_broke = 0;
114265 fra.me.REG_size = 1;
114266 fra.me.REG[0] = NIT_NULL;
114267 fra.me.REG[0] = p0;
114268 /* ./parser//parser.nit:42648 */
114269 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
114270 stack_frame_head = fra.me.prev;
114271 init_table[itpos1147] = 1;
114272 return;
114273 }
114274 void parser___ReduceAction1144___action(val_t p0, val_t p1){
114275 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
114276 val_t REGB0;
114277 val_t tmp;
114278 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114279 fra.me.file = LOCATE_parser;
114280 fra.me.line = 42652;
114281 fra.me.meth = LOCATE_parser___ReduceAction1144___action;
114282 fra.me.has_broke = 0;
114283 fra.me.REG_size = 7;
114284 fra.me.REG[0] = NIT_NULL;
114285 fra.me.REG[1] = NIT_NULL;
114286 fra.me.REG[2] = NIT_NULL;
114287 fra.me.REG[3] = NIT_NULL;
114288 fra.me.REG[4] = NIT_NULL;
114289 fra.me.REG[5] = NIT_NULL;
114290 fra.me.REG[6] = NIT_NULL;
114291 fra.me.REG[0] = p0;
114292 fra.me.REG[1] = p1;
114293 fra.me.REG[0] = NIT_NULL;
114294 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114295 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114296 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114297 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114298 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114299 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114300 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114301 fra.me.REG[6] = NEW_Array_array___Array___init();
114302 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwnew, ID_TKwnew)) /*cast nullable TKwnew*/;
114303 /* ./parser//parser.nit:42664 */
114304 if (UNTAG_Bool(REGB0)) {
114305 } else {
114306 fprintf(stderr, "Assert failed");
114307 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42664);
114308 nit_exit(1);
114309 }
114310 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/;
114311 /* ./parser//parser.nit:42666 */
114312 if (UNTAG_Bool(REGB0)) {
114313 } else {
114314 fprintf(stderr, "Assert failed");
114315 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42666);
114316 nit_exit(1);
114317 }
114318 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/;
114319 /* ./parser//parser.nit:42668 */
114320 if (UNTAG_Bool(REGB0)) {
114321 } else {
114322 fprintf(stderr, "Assert failed");
114323 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42668);
114324 nit_exit(1);
114325 }
114326 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
114327 /* ./parser//parser.nit:42670 */
114328 if (UNTAG_Bool(REGB0)) {
114329 } else {
114330 fprintf(stderr, "Assert failed");
114331 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42670);
114332 nit_exit(1);
114333 }
114334 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
114335 /* ./parser//parser.nit:42672 */
114336 if (UNTAG_Bool(REGB0)) {
114337 fra.me.REG[6] = fra.me.REG[2];
114338 /* ./parser//parser.nit:42673 */
114339 } else {
114340 /* ./parser//parser.nit:42675 */
114341 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
114342 }
114343 fra.me.REG[6] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6]);
114344 fra.me.REG[0] = fra.me.REG[6];
114345 REGB0 = TAG_Int(123);
114346 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
114347 /* ./parser//parser.nit:42685 */
114348 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
114349 stack_frame_head = fra.me.prev;
114350 return;
114351 }
114352 void parser___ReduceAction1144___init(val_t p0, int* init_table){
114353 int itpos1148 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1144].i;
114354 struct {struct stack_frame_t me;} fra;
114355 val_t tmp;
114356 if (init_table[itpos1148]) return;
114357 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114358 fra.me.file = LOCATE_parser;
114359 fra.me.line = 42687;
114360 fra.me.meth = LOCATE_parser___ReduceAction1144___init;
114361 fra.me.has_broke = 0;
114362 fra.me.REG_size = 1;
114363 fra.me.REG[0] = NIT_NULL;
114364 fra.me.REG[0] = p0;
114365 /* ./parser//parser.nit:42687 */
114366 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
114367 stack_frame_head = fra.me.prev;
114368 init_table[itpos1148] = 1;
114369 return;
114370 }
114371 void parser___ReduceAction1145___action(val_t p0, val_t p1){
114372 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
114373 val_t REGB0;
114374 val_t tmp;
114375 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114376 fra.me.file = LOCATE_parser;
114377 fra.me.line = 42691;
114378 fra.me.meth = LOCATE_parser___ReduceAction1145___action;
114379 fra.me.has_broke = 0;
114380 fra.me.REG_size = 3;
114381 fra.me.REG[0] = NIT_NULL;
114382 fra.me.REG[1] = NIT_NULL;
114383 fra.me.REG[2] = NIT_NULL;
114384 fra.me.REG[0] = p0;
114385 fra.me.REG[1] = p1;
114386 fra.me.REG[0] = NIT_NULL;
114387 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114388 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwself, ID_TKwself)) /*cast nullable TKwself*/;
114389 /* ./parser//parser.nit:42696 */
114390 if (UNTAG_Bool(REGB0)) {
114391 } else {
114392 fprintf(stderr, "Assert failed");
114393 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42696);
114394 nit_exit(1);
114395 }
114396 fra.me.REG[2] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr(fra.me.REG[2]);
114397 fra.me.REG[0] = fra.me.REG[2];
114398 REGB0 = TAG_Int(123);
114399 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
114400 /* ./parser//parser.nit:42701 */
114401 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
114402 stack_frame_head = fra.me.prev;
114403 return;
114404 }
114405 void parser___ReduceAction1145___init(val_t p0, int* init_table){
114406 int itpos1149 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1145].i;
114407 struct {struct stack_frame_t me;} fra;
114408 val_t tmp;
114409 if (init_table[itpos1149]) return;
114410 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114411 fra.me.file = LOCATE_parser;
114412 fra.me.line = 42703;
114413 fra.me.meth = LOCATE_parser___ReduceAction1145___init;
114414 fra.me.has_broke = 0;
114415 fra.me.REG_size = 1;
114416 fra.me.REG[0] = NIT_NULL;
114417 fra.me.REG[0] = p0;
114418 /* ./parser//parser.nit:42703 */
114419 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
114420 stack_frame_head = fra.me.prev;
114421 init_table[itpos1149] = 1;
114422 return;
114423 }
114424 void parser___ReduceAction1146___action(val_t p0, val_t p1){
114425 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
114426 val_t REGB0;
114427 val_t tmp;
114428 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114429 fra.me.file = LOCATE_parser;
114430 fra.me.line = 42707;
114431 fra.me.meth = LOCATE_parser___ReduceAction1146___action;
114432 fra.me.has_broke = 0;
114433 fra.me.REG_size = 3;
114434 fra.me.REG[0] = NIT_NULL;
114435 fra.me.REG[1] = NIT_NULL;
114436 fra.me.REG[2] = NIT_NULL;
114437 fra.me.REG[0] = p0;
114438 fra.me.REG[1] = p1;
114439 fra.me.REG[0] = NIT_NULL;
114440 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114441 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwtrue, ID_TKwtrue)) /*cast nullable TKwtrue*/;
114442 /* ./parser//parser.nit:42712 */
114443 if (UNTAG_Bool(REGB0)) {
114444 } else {
114445 fprintf(stderr, "Assert failed");
114446 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42712);
114447 nit_exit(1);
114448 }
114449 fra.me.REG[2] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr(fra.me.REG[2]);
114450 fra.me.REG[0] = fra.me.REG[2];
114451 REGB0 = TAG_Int(123);
114452 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
114453 /* ./parser//parser.nit:42717 */
114454 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
114455 stack_frame_head = fra.me.prev;
114456 return;
114457 }
114458 void parser___ReduceAction1146___init(val_t p0, int* init_table){
114459 int itpos1150 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1146].i;
114460 struct {struct stack_frame_t me;} fra;
114461 val_t tmp;
114462 if (init_table[itpos1150]) return;
114463 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114464 fra.me.file = LOCATE_parser;
114465 fra.me.line = 42719;
114466 fra.me.meth = LOCATE_parser___ReduceAction1146___init;
114467 fra.me.has_broke = 0;
114468 fra.me.REG_size = 1;
114469 fra.me.REG[0] = NIT_NULL;
114470 fra.me.REG[0] = p0;
114471 /* ./parser//parser.nit:42719 */
114472 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
114473 stack_frame_head = fra.me.prev;
114474 init_table[itpos1150] = 1;
114475 return;
114476 }
114477 void parser___ReduceAction1147___action(val_t p0, val_t p1){
114478 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
114479 val_t REGB0;
114480 val_t tmp;
114481 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114482 fra.me.file = LOCATE_parser;
114483 fra.me.line = 42723;
114484 fra.me.meth = LOCATE_parser___ReduceAction1147___action;
114485 fra.me.has_broke = 0;
114486 fra.me.REG_size = 3;
114487 fra.me.REG[0] = NIT_NULL;
114488 fra.me.REG[1] = NIT_NULL;
114489 fra.me.REG[2] = NIT_NULL;
114490 fra.me.REG[0] = p0;
114491 fra.me.REG[1] = p1;
114492 fra.me.REG[0] = NIT_NULL;
114493 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114494 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwfalse, ID_TKwfalse)) /*cast nullable TKwfalse*/;
114495 /* ./parser//parser.nit:42728 */
114496 if (UNTAG_Bool(REGB0)) {
114497 } else {
114498 fprintf(stderr, "Assert failed");
114499 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42728);
114500 nit_exit(1);
114501 }
114502 fra.me.REG[2] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr(fra.me.REG[2]);
114503 fra.me.REG[0] = fra.me.REG[2];
114504 REGB0 = TAG_Int(123);
114505 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
114506 /* ./parser//parser.nit:42733 */
114507 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
114508 stack_frame_head = fra.me.prev;
114509 return;
114510 }
114511 void parser___ReduceAction1147___init(val_t p0, int* init_table){
114512 int itpos1151 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1147].i;
114513 struct {struct stack_frame_t me;} fra;
114514 val_t tmp;
114515 if (init_table[itpos1151]) return;
114516 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114517 fra.me.file = LOCATE_parser;
114518 fra.me.line = 42735;
114519 fra.me.meth = LOCATE_parser___ReduceAction1147___init;
114520 fra.me.has_broke = 0;
114521 fra.me.REG_size = 1;
114522 fra.me.REG[0] = NIT_NULL;
114523 fra.me.REG[0] = p0;
114524 /* ./parser//parser.nit:42735 */
114525 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
114526 stack_frame_head = fra.me.prev;
114527 init_table[itpos1151] = 1;
114528 return;
114529 }
114530 void parser___ReduceAction1148___action(val_t p0, val_t p1){
114531 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
114532 val_t REGB0;
114533 val_t tmp;
114534 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114535 fra.me.file = LOCATE_parser;
114536 fra.me.line = 42739;
114537 fra.me.meth = LOCATE_parser___ReduceAction1148___action;
114538 fra.me.has_broke = 0;
114539 fra.me.REG_size = 3;
114540 fra.me.REG[0] = NIT_NULL;
114541 fra.me.REG[1] = NIT_NULL;
114542 fra.me.REG[2] = NIT_NULL;
114543 fra.me.REG[0] = p0;
114544 fra.me.REG[1] = p1;
114545 fra.me.REG[0] = NIT_NULL;
114546 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114547 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast nullable TKwnull*/;
114548 /* ./parser//parser.nit:42744 */
114549 if (UNTAG_Bool(REGB0)) {
114550 } else {
114551 fprintf(stderr, "Assert failed");
114552 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42744);
114553 nit_exit(1);
114554 }
114555 fra.me.REG[2] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr(fra.me.REG[2]);
114556 fra.me.REG[0] = fra.me.REG[2];
114557 REGB0 = TAG_Int(123);
114558 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
114559 /* ./parser//parser.nit:42749 */
114560 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
114561 stack_frame_head = fra.me.prev;
114562 return;
114563 }
114564 void parser___ReduceAction1148___init(val_t p0, int* init_table){
114565 int itpos1152 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1148].i;
114566 struct {struct stack_frame_t me;} fra;
114567 val_t tmp;
114568 if (init_table[itpos1152]) return;
114569 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114570 fra.me.file = LOCATE_parser;
114571 fra.me.line = 42751;
114572 fra.me.meth = LOCATE_parser___ReduceAction1148___init;
114573 fra.me.has_broke = 0;
114574 fra.me.REG_size = 1;
114575 fra.me.REG[0] = NIT_NULL;
114576 fra.me.REG[0] = p0;
114577 /* ./parser//parser.nit:42751 */
114578 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
114579 stack_frame_head = fra.me.prev;
114580 init_table[itpos1152] = 1;
114581 return;
114582 }
114583 void parser___ReduceAction1149___action(val_t p0, val_t p1){
114584 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
114585 val_t REGB0;
114586 val_t tmp;
114587 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114588 fra.me.file = LOCATE_parser;
114589 fra.me.line = 42755;
114590 fra.me.meth = LOCATE_parser___ReduceAction1149___action;
114591 fra.me.has_broke = 0;
114592 fra.me.REG_size = 3;
114593 fra.me.REG[0] = NIT_NULL;
114594 fra.me.REG[1] = NIT_NULL;
114595 fra.me.REG[2] = NIT_NULL;
114596 fra.me.REG[0] = p0;
114597 fra.me.REG[1] = p1;
114598 fra.me.REG[0] = NIT_NULL;
114599 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114600 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TNumber, ID_TNumber)) /*cast nullable TNumber*/;
114601 /* ./parser//parser.nit:42760 */
114602 if (UNTAG_Bool(REGB0)) {
114603 } else {
114604 fprintf(stderr, "Assert failed");
114605 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42760);
114606 nit_exit(1);
114607 }
114608 fra.me.REG[2] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr(fra.me.REG[2]);
114609 fra.me.REG[0] = fra.me.REG[2];
114610 REGB0 = TAG_Int(123);
114611 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
114612 /* ./parser//parser.nit:42765 */
114613 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
114614 stack_frame_head = fra.me.prev;
114615 return;
114616 }
114617 void parser___ReduceAction1149___init(val_t p0, int* init_table){
114618 int itpos1153 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1149].i;
114619 struct {struct stack_frame_t me;} fra;
114620 val_t tmp;
114621 if (init_table[itpos1153]) return;
114622 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114623 fra.me.file = LOCATE_parser;
114624 fra.me.line = 42767;
114625 fra.me.meth = LOCATE_parser___ReduceAction1149___init;
114626 fra.me.has_broke = 0;
114627 fra.me.REG_size = 1;
114628 fra.me.REG[0] = NIT_NULL;
114629 fra.me.REG[0] = p0;
114630 /* ./parser//parser.nit:42767 */
114631 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
114632 stack_frame_head = fra.me.prev;
114633 init_table[itpos1153] = 1;
114634 return;
114635 }
114636 void parser___ReduceAction1150___action(val_t p0, val_t p1){
114637 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
114638 val_t REGB0;
114639 val_t tmp;
114640 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114641 fra.me.file = LOCATE_parser;
114642 fra.me.line = 42771;
114643 fra.me.meth = LOCATE_parser___ReduceAction1150___action;
114644 fra.me.has_broke = 0;
114645 fra.me.REG_size = 3;
114646 fra.me.REG[0] = NIT_NULL;
114647 fra.me.REG[1] = NIT_NULL;
114648 fra.me.REG[2] = NIT_NULL;
114649 fra.me.REG[0] = p0;
114650 fra.me.REG[1] = p1;
114651 fra.me.REG[0] = NIT_NULL;
114652 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114653 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TFloat, ID_TFloat)) /*cast nullable TFloat*/;
114654 /* ./parser//parser.nit:42776 */
114655 if (UNTAG_Bool(REGB0)) {
114656 } else {
114657 fprintf(stderr, "Assert failed");
114658 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42776);
114659 nit_exit(1);
114660 }
114661 fra.me.REG[2] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr(fra.me.REG[2]);
114662 fra.me.REG[0] = fra.me.REG[2];
114663 REGB0 = TAG_Int(123);
114664 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
114665 /* ./parser//parser.nit:42781 */
114666 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
114667 stack_frame_head = fra.me.prev;
114668 return;
114669 }
114670 void parser___ReduceAction1150___init(val_t p0, int* init_table){
114671 int itpos1154 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1150].i;
114672 struct {struct stack_frame_t me;} fra;
114673 val_t tmp;
114674 if (init_table[itpos1154]) return;
114675 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114676 fra.me.file = LOCATE_parser;
114677 fra.me.line = 42783;
114678 fra.me.meth = LOCATE_parser___ReduceAction1150___init;
114679 fra.me.has_broke = 0;
114680 fra.me.REG_size = 1;
114681 fra.me.REG[0] = NIT_NULL;
114682 fra.me.REG[0] = p0;
114683 /* ./parser//parser.nit:42783 */
114684 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
114685 stack_frame_head = fra.me.prev;
114686 init_table[itpos1154] = 1;
114687 return;
114688 }
114689 void parser___ReduceAction1151___action(val_t p0, val_t p1){
114690 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
114691 val_t REGB0;
114692 val_t tmp;
114693 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114694 fra.me.file = LOCATE_parser;
114695 fra.me.line = 42787;
114696 fra.me.meth = LOCATE_parser___ReduceAction1151___action;
114697 fra.me.has_broke = 0;
114698 fra.me.REG_size = 3;
114699 fra.me.REG[0] = NIT_NULL;
114700 fra.me.REG[1] = NIT_NULL;
114701 fra.me.REG[2] = NIT_NULL;
114702 fra.me.REG[0] = p0;
114703 fra.me.REG[1] = p1;
114704 fra.me.REG[0] = NIT_NULL;
114705 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114706 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TChar, ID_TChar)) /*cast nullable TChar*/;
114707 /* ./parser//parser.nit:42792 */
114708 if (UNTAG_Bool(REGB0)) {
114709 } else {
114710 fprintf(stderr, "Assert failed");
114711 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42792);
114712 nit_exit(1);
114713 }
114714 fra.me.REG[2] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr(fra.me.REG[2]);
114715 fra.me.REG[0] = fra.me.REG[2];
114716 REGB0 = TAG_Int(123);
114717 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
114718 /* ./parser//parser.nit:42797 */
114719 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
114720 stack_frame_head = fra.me.prev;
114721 return;
114722 }
114723 void parser___ReduceAction1151___init(val_t p0, int* init_table){
114724 int itpos1155 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1151].i;
114725 struct {struct stack_frame_t me;} fra;
114726 val_t tmp;
114727 if (init_table[itpos1155]) return;
114728 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114729 fra.me.file = LOCATE_parser;
114730 fra.me.line = 42799;
114731 fra.me.meth = LOCATE_parser___ReduceAction1151___init;
114732 fra.me.has_broke = 0;
114733 fra.me.REG_size = 1;
114734 fra.me.REG[0] = NIT_NULL;
114735 fra.me.REG[0] = p0;
114736 /* ./parser//parser.nit:42799 */
114737 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
114738 stack_frame_head = fra.me.prev;
114739 init_table[itpos1155] = 1;
114740 return;
114741 }
114742 void parser___ReduceAction1152___action(val_t p0, val_t p1){
114743 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
114744 val_t REGB0;
114745 val_t tmp;
114746 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114747 fra.me.file = LOCATE_parser;
114748 fra.me.line = 42803;
114749 fra.me.meth = LOCATE_parser___ReduceAction1152___action;
114750 fra.me.has_broke = 0;
114751 fra.me.REG_size = 3;
114752 fra.me.REG[0] = NIT_NULL;
114753 fra.me.REG[1] = NIT_NULL;
114754 fra.me.REG[2] = NIT_NULL;
114755 fra.me.REG[0] = p0;
114756 fra.me.REG[1] = p1;
114757 fra.me.REG[0] = NIT_NULL;
114758 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114759 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/;
114760 /* ./parser//parser.nit:42808 */
114761 if (UNTAG_Bool(REGB0)) {
114762 } else {
114763 fprintf(stderr, "Assert failed");
114764 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42808);
114765 nit_exit(1);
114766 }
114767 fra.me.REG[2] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr(fra.me.REG[2]);
114768 fra.me.REG[0] = fra.me.REG[2];
114769 REGB0 = TAG_Int(123);
114770 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
114771 /* ./parser//parser.nit:42813 */
114772 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
114773 stack_frame_head = fra.me.prev;
114774 return;
114775 }
114776 void parser___ReduceAction1152___init(val_t p0, int* init_table){
114777 int itpos1156 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1152].i;
114778 struct {struct stack_frame_t me;} fra;
114779 val_t tmp;
114780 if (init_table[itpos1156]) return;
114781 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114782 fra.me.file = LOCATE_parser;
114783 fra.me.line = 42815;
114784 fra.me.meth = LOCATE_parser___ReduceAction1152___init;
114785 fra.me.has_broke = 0;
114786 fra.me.REG_size = 1;
114787 fra.me.REG[0] = NIT_NULL;
114788 fra.me.REG[0] = p0;
114789 /* ./parser//parser.nit:42815 */
114790 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
114791 stack_frame_head = fra.me.prev;
114792 init_table[itpos1156] = 1;
114793 return;
114794 }
114795 void parser___ReduceAction1153___action(val_t p0, val_t p1){
114796 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
114797 val_t REGB0;
114798 val_t tmp;
114799 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114800 fra.me.file = LOCATE_parser;
114801 fra.me.line = 42819;
114802 fra.me.meth = LOCATE_parser___ReduceAction1153___action;
114803 fra.me.has_broke = 0;
114804 fra.me.REG_size = 3;
114805 fra.me.REG[0] = NIT_NULL;
114806 fra.me.REG[1] = NIT_NULL;
114807 fra.me.REG[2] = NIT_NULL;
114808 fra.me.REG[0] = p0;
114809 fra.me.REG[1] = p1;
114810 fra.me.REG[0] = NIT_NULL;
114811 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114812 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
114813 /* ./parser//parser.nit:42824 */
114814 if (UNTAG_Bool(REGB0)) {
114815 } else {
114816 fprintf(stderr, "Assert failed");
114817 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42824);
114818 nit_exit(1);
114819 }
114820 fra.me.REG[0] = fra.me.REG[2];
114821 REGB0 = TAG_Int(123);
114822 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
114823 /* ./parser//parser.nit:42826 */
114824 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
114825 stack_frame_head = fra.me.prev;
114826 return;
114827 }
114828 void parser___ReduceAction1153___init(val_t p0, int* init_table){
114829 int itpos1157 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1153].i;
114830 struct {struct stack_frame_t me;} fra;
114831 val_t tmp;
114832 if (init_table[itpos1157]) return;
114833 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114834 fra.me.file = LOCATE_parser;
114835 fra.me.line = 42828;
114836 fra.me.meth = LOCATE_parser___ReduceAction1153___init;
114837 fra.me.has_broke = 0;
114838 fra.me.REG_size = 1;
114839 fra.me.REG[0] = NIT_NULL;
114840 fra.me.REG[0] = p0;
114841 /* ./parser//parser.nit:42828 */
114842 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
114843 stack_frame_head = fra.me.prev;
114844 init_table[itpos1157] = 1;
114845 return;
114846 }
114847 void parser___ReduceAction1154___action(val_t p0, val_t p1){
114848 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
114849 val_t REGB0;
114850 val_t tmp;
114851 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114852 fra.me.file = LOCATE_parser;
114853 fra.me.line = 42832;
114854 fra.me.meth = LOCATE_parser___ReduceAction1154___action;
114855 fra.me.has_broke = 0;
114856 fra.me.REG_size = 5;
114857 fra.me.REG[0] = NIT_NULL;
114858 fra.me.REG[1] = NIT_NULL;
114859 fra.me.REG[2] = NIT_NULL;
114860 fra.me.REG[3] = NIT_NULL;
114861 fra.me.REG[4] = NIT_NULL;
114862 fra.me.REG[0] = p0;
114863 fra.me.REG[1] = p1;
114864 fra.me.REG[0] = NIT_NULL;
114865 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114866 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114867 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114868 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114869 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114870 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114871 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114872 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114873 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114874 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114875 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
114876 /* ./parser//parser.nit:42846 */
114877 if (UNTAG_Bool(REGB0)) {
114878 } else {
114879 fprintf(stderr, "Assert failed");
114880 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42846);
114881 nit_exit(1);
114882 }
114883 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwas, ID_TKwas)) /*cast nullable TKwas*/;
114884 /* ./parser//parser.nit:42848 */
114885 if (UNTAG_Bool(REGB0)) {
114886 } else {
114887 fprintf(stderr, "Assert failed");
114888 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42848);
114889 nit_exit(1);
114890 }
114891 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
114892 /* ./parser//parser.nit:42850 */
114893 if (UNTAG_Bool(REGB0)) {
114894 } else {
114895 fprintf(stderr, "Assert failed");
114896 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42850);
114897 nit_exit(1);
114898 }
114899 fra.me.REG[2] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
114900 fra.me.REG[0] = fra.me.REG[2];
114901 REGB0 = TAG_Int(123);
114902 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
114903 /* ./parser//parser.nit:42857 */
114904 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
114905 stack_frame_head = fra.me.prev;
114906 return;
114907 }
114908 void parser___ReduceAction1154___init(val_t p0, int* init_table){
114909 int itpos1158 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1154].i;
114910 struct {struct stack_frame_t me;} fra;
114911 val_t tmp;
114912 if (init_table[itpos1158]) return;
114913 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114914 fra.me.file = LOCATE_parser;
114915 fra.me.line = 42859;
114916 fra.me.meth = LOCATE_parser___ReduceAction1154___init;
114917 fra.me.has_broke = 0;
114918 fra.me.REG_size = 1;
114919 fra.me.REG[0] = NIT_NULL;
114920 fra.me.REG[0] = p0;
114921 /* ./parser//parser.nit:42859 */
114922 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
114923 stack_frame_head = fra.me.prev;
114924 init_table[itpos1158] = 1;
114925 return;
114926 }
114927 void parser___ReduceAction1155___action(val_t p0, val_t p1){
114928 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
114929 val_t REGB0;
114930 val_t tmp;
114931 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114932 fra.me.file = LOCATE_parser;
114933 fra.me.line = 42863;
114934 fra.me.meth = LOCATE_parser___ReduceAction1155___action;
114935 fra.me.has_broke = 0;
114936 fra.me.REG_size = 6;
114937 fra.me.REG[0] = NIT_NULL;
114938 fra.me.REG[1] = NIT_NULL;
114939 fra.me.REG[2] = NIT_NULL;
114940 fra.me.REG[3] = NIT_NULL;
114941 fra.me.REG[4] = NIT_NULL;
114942 fra.me.REG[5] = NIT_NULL;
114943 fra.me.REG[0] = p0;
114944 fra.me.REG[1] = p1;
114945 fra.me.REG[0] = NIT_NULL;
114946 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114947 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114948 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114949 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114950 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114951 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114952 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114953 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114954 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114955 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114956 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114957 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
114958 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
114959 /* ./parser//parser.nit:42879 */
114960 if (UNTAG_Bool(REGB0)) {
114961 } else {
114962 fprintf(stderr, "Assert failed");
114963 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42879);
114964 nit_exit(1);
114965 }
114966 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwas, ID_TKwas)) /*cast nullable TKwas*/;
114967 /* ./parser//parser.nit:42881 */
114968 if (UNTAG_Bool(REGB0)) {
114969 } else {
114970 fprintf(stderr, "Assert failed");
114971 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42881);
114972 nit_exit(1);
114973 }
114974 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnot, ID_TKwnot)) /*cast nullable TKwnot*/;
114975 /* ./parser//parser.nit:42883 */
114976 if (UNTAG_Bool(REGB0)) {
114977 } else {
114978 fprintf(stderr, "Assert failed");
114979 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42883);
114980 nit_exit(1);
114981 }
114982 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast nullable TKwnull*/;
114983 /* ./parser//parser.nit:42885 */
114984 if (UNTAG_Bool(REGB0)) {
114985 } else {
114986 fprintf(stderr, "Assert failed");
114987 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42885);
114988 nit_exit(1);
114989 }
114990 fra.me.REG[2] = NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___init_aasnotnullexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
114991 fra.me.REG[0] = fra.me.REG[2];
114992 REGB0 = TAG_Int(123);
114993 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
114994 /* ./parser//parser.nit:42893 */
114995 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
114996 stack_frame_head = fra.me.prev;
114997 return;
114998 }
114999 void parser___ReduceAction1155___init(val_t p0, int* init_table){
115000 int itpos1159 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1155].i;
115001 struct {struct stack_frame_t me;} fra;
115002 val_t tmp;
115003 if (init_table[itpos1159]) return;
115004 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115005 fra.me.file = LOCATE_parser;
115006 fra.me.line = 42895;
115007 fra.me.meth = LOCATE_parser___ReduceAction1155___init;
115008 fra.me.has_broke = 0;
115009 fra.me.REG_size = 1;
115010 fra.me.REG[0] = NIT_NULL;
115011 fra.me.REG[0] = p0;
115012 /* ./parser//parser.nit:42895 */
115013 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
115014 stack_frame_head = fra.me.prev;
115015 init_table[itpos1159] = 1;
115016 return;
115017 }
115018 void parser___ReduceAction1156___action(val_t p0, val_t p1){
115019 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
115020 val_t REGB0;
115021 val_t tmp;
115022 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115023 fra.me.file = LOCATE_parser;
115024 fra.me.line = 42899;
115025 fra.me.meth = LOCATE_parser___ReduceAction1156___action;
115026 fra.me.has_broke = 0;
115027 fra.me.REG_size = 3;
115028 fra.me.REG[0] = NIT_NULL;
115029 fra.me.REG[1] = NIT_NULL;
115030 fra.me.REG[2] = NIT_NULL;
115031 fra.me.REG[0] = p0;
115032 fra.me.REG[1] = p1;
115033 fra.me.REG[0] = NIT_NULL;
115034 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115035 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115036 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115037 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
115038 /* ./parser//parser.nit:42906 */
115039 if (UNTAG_Bool(REGB0)) {
115040 } else {
115041 fprintf(stderr, "Assert failed");
115042 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42906);
115043 nit_exit(1);
115044 }
115045 fra.me.REG[0] = fra.me.REG[2];
115046 REGB0 = TAG_Int(124);
115047 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
115048 /* ./parser//parser.nit:42908 */
115049 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
115050 stack_frame_head = fra.me.prev;
115051 return;
115052 }
115053 void parser___ReduceAction1156___init(val_t p0, int* init_table){
115054 int itpos1160 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1156].i;
115055 struct {struct stack_frame_t me;} fra;
115056 val_t tmp;
115057 if (init_table[itpos1160]) return;
115058 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115059 fra.me.file = LOCATE_parser;
115060 fra.me.line = 42910;
115061 fra.me.meth = LOCATE_parser___ReduceAction1156___init;
115062 fra.me.has_broke = 0;
115063 fra.me.REG_size = 1;
115064 fra.me.REG[0] = NIT_NULL;
115065 fra.me.REG[0] = p0;
115066 /* ./parser//parser.nit:42910 */
115067 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
115068 stack_frame_head = fra.me.prev;
115069 init_table[itpos1160] = 1;
115070 return;
115071 }
115072 void parser___ReduceAction1157___action(val_t p0, val_t p1){
115073 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
115074 val_t REGB0;
115075 val_t tmp;
115076 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115077 fra.me.file = LOCATE_parser;
115078 fra.me.line = 42914;
115079 fra.me.meth = LOCATE_parser___ReduceAction1157___action;
115080 fra.me.has_broke = 0;
115081 fra.me.REG_size = 3;
115082 fra.me.REG[0] = NIT_NULL;
115083 fra.me.REG[1] = NIT_NULL;
115084 fra.me.REG[2] = NIT_NULL;
115085 fra.me.REG[0] = p0;
115086 fra.me.REG[1] = p1;
115087 fra.me.REG[0] = NIT_NULL;
115088 fra.me.REG[2] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
115089 fra.me.REG[0] = fra.me.REG[2];
115090 REGB0 = TAG_Int(124);
115091 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
115092 /* ./parser//parser.nit:42920 */
115093 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
115094 stack_frame_head = fra.me.prev;
115095 return;
115096 }
115097 void parser___ReduceAction1157___init(val_t p0, int* init_table){
115098 int itpos1161 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1157].i;
115099 struct {struct stack_frame_t me;} fra;
115100 val_t tmp;
115101 if (init_table[itpos1161]) return;
115102 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115103 fra.me.file = LOCATE_parser;
115104 fra.me.line = 42922;
115105 fra.me.meth = LOCATE_parser___ReduceAction1157___init;
115106 fra.me.has_broke = 0;
115107 fra.me.REG_size = 1;
115108 fra.me.REG[0] = NIT_NULL;
115109 fra.me.REG[0] = p0;
115110 /* ./parser//parser.nit:42922 */
115111 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
115112 stack_frame_head = fra.me.prev;
115113 init_table[itpos1161] = 1;
115114 return;
115115 }
115116 void parser___ReduceAction1158___action(val_t p0, val_t p1){
115117 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
115118 val_t REGB0;
115119 val_t tmp;
115120 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115121 fra.me.file = LOCATE_parser;
115122 fra.me.line = 42926;
115123 fra.me.meth = LOCATE_parser___ReduceAction1158___action;
115124 fra.me.has_broke = 0;
115125 fra.me.REG_size = 3;
115126 fra.me.REG[0] = NIT_NULL;
115127 fra.me.REG[1] = NIT_NULL;
115128 fra.me.REG[2] = NIT_NULL;
115129 fra.me.REG[0] = p0;
115130 fra.me.REG[1] = p1;
115131 fra.me.REG[0] = NIT_NULL;
115132 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115133 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
115134 /* ./parser//parser.nit:42931 */
115135 if (UNTAG_Bool(REGB0)) {
115136 } else {
115137 fprintf(stderr, "Assert failed");
115138 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42931);
115139 nit_exit(1);
115140 }
115141 fra.me.REG[0] = fra.me.REG[2];
115142 REGB0 = TAG_Int(125);
115143 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
115144 /* ./parser//parser.nit:42933 */
115145 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
115146 stack_frame_head = fra.me.prev;
115147 return;
115148 }
115149 void parser___ReduceAction1158___init(val_t p0, int* init_table){
115150 int itpos1162 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1158].i;
115151 struct {struct stack_frame_t me;} fra;
115152 val_t tmp;
115153 if (init_table[itpos1162]) return;
115154 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115155 fra.me.file = LOCATE_parser;
115156 fra.me.line = 42935;
115157 fra.me.meth = LOCATE_parser___ReduceAction1158___init;
115158 fra.me.has_broke = 0;
115159 fra.me.REG_size = 1;
115160 fra.me.REG[0] = NIT_NULL;
115161 fra.me.REG[0] = p0;
115162 /* ./parser//parser.nit:42935 */
115163 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
115164 stack_frame_head = fra.me.prev;
115165 init_table[itpos1162] = 1;
115166 return;
115167 }
115168 void parser___ReduceAction1159___action(val_t p0, val_t p1){
115169 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
115170 val_t REGB0;
115171 val_t tmp;
115172 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115173 fra.me.file = LOCATE_parser;
115174 fra.me.line = 42939;
115175 fra.me.meth = LOCATE_parser___ReduceAction1159___action;
115176 fra.me.has_broke = 0;
115177 fra.me.REG_size = 8;
115178 fra.me.REG[0] = NIT_NULL;
115179 fra.me.REG[1] = NIT_NULL;
115180 fra.me.REG[2] = NIT_NULL;
115181 fra.me.REG[3] = NIT_NULL;
115182 fra.me.REG[4] = NIT_NULL;
115183 fra.me.REG[5] = NIT_NULL;
115184 fra.me.REG[6] = NIT_NULL;
115185 fra.me.REG[7] = NIT_NULL;
115186 fra.me.REG[0] = p0;
115187 fra.me.REG[1] = p1;
115188 fra.me.REG[0] = NIT_NULL;
115189 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115190 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115191 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115192 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115193 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115194 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115195 fra.me.REG[6] = NEW_Array_array___Array___init();
115196 fra.me.REG[7] = NEW_Array_array___Array___init();
115197 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
115198 /* ./parser//parser.nit:42951 */
115199 if (UNTAG_Bool(REGB0)) {
115200 } else {
115201 fprintf(stderr, "Assert failed");
115202 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42951);
115203 nit_exit(1);
115204 }
115205 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
115206 /* ./parser//parser.nit:42953 */
115207 if (UNTAG_Bool(REGB0)) {
115208 } else {
115209 fprintf(stderr, "Assert failed");
115210 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42953);
115211 nit_exit(1);
115212 }
115213 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
115214 /* ./parser//parser.nit:42955 */
115215 if (UNTAG_Bool(REGB0)) {
115216 } else {
115217 fprintf(stderr, "Assert failed");
115218 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42955);
115219 nit_exit(1);
115220 }
115221 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
115222 /* ./parser//parser.nit:42957 */
115223 if (UNTAG_Bool(REGB0)) {
115224 fra.me.REG[6] = fra.me.REG[3];
115225 /* ./parser//parser.nit:42958 */
115226 } else {
115227 /* ./parser//parser.nit:42960 */
115228 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
115229 }
115230 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
115231 /* ./parser//parser.nit:42964 */
115232 if (UNTAG_Bool(REGB0)) {
115233 } else {
115234 fprintf(stderr, "Assert failed");
115235 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42964);
115236 nit_exit(1);
115237 }
115238 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
115239 /* ./parser//parser.nit:42966 */
115240 if (UNTAG_Bool(REGB0)) {
115241 fra.me.REG[7] = fra.me.REG[2];
115242 /* ./parser//parser.nit:42967 */
115243 } else {
115244 /* ./parser//parser.nit:42969 */
115245 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]);
115246 }
115247 fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]);
115248 fra.me.REG[0] = fra.me.REG[7];
115249 REGB0 = TAG_Int(125);
115250 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
115251 /* ./parser//parser.nit:42979 */
115252 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
115253 stack_frame_head = fra.me.prev;
115254 return;
115255 }
115256 void parser___ReduceAction1159___init(val_t p0, int* init_table){
115257 int itpos1163 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1159].i;
115258 struct {struct stack_frame_t me;} fra;
115259 val_t tmp;
115260 if (init_table[itpos1163]) return;
115261 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115262 fra.me.file = LOCATE_parser;
115263 fra.me.line = 42981;
115264 fra.me.meth = LOCATE_parser___ReduceAction1159___init;
115265 fra.me.has_broke = 0;
115266 fra.me.REG_size = 1;
115267 fra.me.REG[0] = NIT_NULL;
115268 fra.me.REG[0] = p0;
115269 /* ./parser//parser.nit:42981 */
115270 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
115271 stack_frame_head = fra.me.prev;
115272 init_table[itpos1163] = 1;
115273 return;
115274 }
115275 void parser___ReduceAction1160___action(val_t p0, val_t p1){
115276 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
115277 val_t REGB0;
115278 val_t tmp;
115279 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115280 fra.me.file = LOCATE_parser;
115281 fra.me.line = 42985;
115282 fra.me.meth = LOCATE_parser___ReduceAction1160___action;
115283 fra.me.has_broke = 0;
115284 fra.me.REG_size = 8;
115285 fra.me.REG[0] = NIT_NULL;
115286 fra.me.REG[1] = NIT_NULL;
115287 fra.me.REG[2] = NIT_NULL;
115288 fra.me.REG[3] = NIT_NULL;
115289 fra.me.REG[4] = NIT_NULL;
115290 fra.me.REG[5] = NIT_NULL;
115291 fra.me.REG[6] = NIT_NULL;
115292 fra.me.REG[7] = NIT_NULL;
115293 fra.me.REG[0] = p0;
115294 fra.me.REG[1] = p1;
115295 fra.me.REG[0] = NIT_NULL;
115296 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115297 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115298 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115299 fra.me.REG[5] = NEW_Array_array___Array___init();
115300 fra.me.REG[6] = NEW_Array_array___Array___init();
115301 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
115302 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
115303 /* ./parser//parser.nit:42996 */
115304 if (UNTAG_Bool(REGB0)) {
115305 } else {
115306 fprintf(stderr, "Assert failed");
115307 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42996);
115308 nit_exit(1);
115309 }
115310 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
115311 /* ./parser//parser.nit:42998 */
115312 if (UNTAG_Bool(REGB0)) {
115313 } else {
115314 fprintf(stderr, "Assert failed");
115315 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42998);
115316 nit_exit(1);
115317 }
115318 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
115319 /* ./parser//parser.nit:43000 */
115320 if (UNTAG_Bool(REGB0)) {
115321 fra.me.REG[5] = fra.me.REG[3];
115322 /* ./parser//parser.nit:43001 */
115323 } else {
115324 /* ./parser//parser.nit:43003 */
115325 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
115326 }
115327 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
115328 /* ./parser//parser.nit:43007 */
115329 if (UNTAG_Bool(REGB0)) {
115330 } else {
115331 fprintf(stderr, "Assert failed");
115332 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43007);
115333 nit_exit(1);
115334 }
115335 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
115336 /* ./parser//parser.nit:43009 */
115337 if (UNTAG_Bool(REGB0)) {
115338 fra.me.REG[6] = fra.me.REG[2];
115339 /* ./parser//parser.nit:43010 */
115340 } else {
115341 /* ./parser//parser.nit:43012 */
115342 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
115343 }
115344 fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
115345 fra.me.REG[0] = fra.me.REG[6];
115346 REGB0 = TAG_Int(125);
115347 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
115348 /* ./parser//parser.nit:43022 */
115349 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
115350 stack_frame_head = fra.me.prev;
115351 return;
115352 }
115353 void parser___ReduceAction1160___init(val_t p0, int* init_table){
115354 int itpos1164 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1160].i;
115355 struct {struct stack_frame_t me;} fra;
115356 val_t tmp;
115357 if (init_table[itpos1164]) return;
115358 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115359 fra.me.file = LOCATE_parser;
115360 fra.me.line = 43024;
115361 fra.me.meth = LOCATE_parser___ReduceAction1160___init;
115362 fra.me.has_broke = 0;
115363 fra.me.REG_size = 1;
115364 fra.me.REG[0] = NIT_NULL;
115365 fra.me.REG[0] = p0;
115366 /* ./parser//parser.nit:43024 */
115367 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
115368 stack_frame_head = fra.me.prev;
115369 init_table[itpos1164] = 1;
115370 return;
115371 }
115372 void parser___ReduceAction1161___action(val_t p0, val_t p1){
115373 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
115374 val_t REGB0;
115375 val_t tmp;
115376 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115377 fra.me.file = LOCATE_parser;
115378 fra.me.line = 43028;
115379 fra.me.meth = LOCATE_parser___ReduceAction1161___action;
115380 fra.me.has_broke = 0;
115381 fra.me.REG_size = 3;
115382 fra.me.REG[0] = NIT_NULL;
115383 fra.me.REG[1] = NIT_NULL;
115384 fra.me.REG[2] = NIT_NULL;
115385 fra.me.REG[0] = p0;
115386 fra.me.REG[1] = p1;
115387 fra.me.REG[0] = NIT_NULL;
115388 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115389 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
115390 /* ./parser//parser.nit:43033 */
115391 if (UNTAG_Bool(REGB0)) {
115392 } else {
115393 fprintf(stderr, "Assert failed");
115394 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43033);
115395 nit_exit(1);
115396 }
115397 fra.me.REG[0] = fra.me.REG[2];
115398 REGB0 = TAG_Int(126);
115399 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
115400 /* ./parser//parser.nit:43035 */
115401 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
115402 stack_frame_head = fra.me.prev;
115403 return;
115404 }
115405 void parser___ReduceAction1161___init(val_t p0, int* init_table){
115406 int itpos1165 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1161].i;
115407 struct {struct stack_frame_t me;} fra;
115408 val_t tmp;
115409 if (init_table[itpos1165]) return;
115410 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115411 fra.me.file = LOCATE_parser;
115412 fra.me.line = 43037;
115413 fra.me.meth = LOCATE_parser___ReduceAction1161___init;
115414 fra.me.has_broke = 0;
115415 fra.me.REG_size = 1;
115416 fra.me.REG[0] = NIT_NULL;
115417 fra.me.REG[0] = p0;
115418 /* ./parser//parser.nit:43037 */
115419 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
115420 stack_frame_head = fra.me.prev;
115421 init_table[itpos1165] = 1;
115422 return;
115423 }
115424 void parser___ReduceAction1162___action(val_t p0, val_t p1){
115425 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
115426 val_t REGB0;
115427 val_t tmp;
115428 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115429 fra.me.file = LOCATE_parser;
115430 fra.me.line = 43041;
115431 fra.me.meth = LOCATE_parser___ReduceAction1162___action;
115432 fra.me.has_broke = 0;
115433 fra.me.REG_size = 8;
115434 fra.me.REG[0] = NIT_NULL;
115435 fra.me.REG[1] = NIT_NULL;
115436 fra.me.REG[2] = NIT_NULL;
115437 fra.me.REG[3] = NIT_NULL;
115438 fra.me.REG[4] = NIT_NULL;
115439 fra.me.REG[5] = NIT_NULL;
115440 fra.me.REG[6] = NIT_NULL;
115441 fra.me.REG[7] = NIT_NULL;
115442 fra.me.REG[0] = p0;
115443 fra.me.REG[1] = p1;
115444 fra.me.REG[0] = NIT_NULL;
115445 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115446 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115447 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115448 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115449 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115450 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115451 fra.me.REG[6] = NEW_Array_array___Array___init();
115452 fra.me.REG[7] = NEW_Array_array___Array___init();
115453 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
115454 /* ./parser//parser.nit:43053 */
115455 if (UNTAG_Bool(REGB0)) {
115456 } else {
115457 fprintf(stderr, "Assert failed");
115458 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43053);
115459 nit_exit(1);
115460 }
115461 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
115462 /* ./parser//parser.nit:43055 */
115463 if (UNTAG_Bool(REGB0)) {
115464 } else {
115465 fprintf(stderr, "Assert failed");
115466 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43055);
115467 nit_exit(1);
115468 }
115469 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
115470 /* ./parser//parser.nit:43057 */
115471 if (UNTAG_Bool(REGB0)) {
115472 } else {
115473 fprintf(stderr, "Assert failed");
115474 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43057);
115475 nit_exit(1);
115476 }
115477 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
115478 /* ./parser//parser.nit:43059 */
115479 if (UNTAG_Bool(REGB0)) {
115480 fra.me.REG[6] = fra.me.REG[3];
115481 /* ./parser//parser.nit:43060 */
115482 } else {
115483 /* ./parser//parser.nit:43062 */
115484 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
115485 }
115486 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
115487 /* ./parser//parser.nit:43066 */
115488 if (UNTAG_Bool(REGB0)) {
115489 } else {
115490 fprintf(stderr, "Assert failed");
115491 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43066);
115492 nit_exit(1);
115493 }
115494 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
115495 /* ./parser//parser.nit:43068 */
115496 if (UNTAG_Bool(REGB0)) {
115497 fra.me.REG[7] = fra.me.REG[2];
115498 /* ./parser//parser.nit:43069 */
115499 } else {
115500 /* ./parser//parser.nit:43071 */
115501 CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]);
115502 }
115503 fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]);
115504 fra.me.REG[0] = fra.me.REG[7];
115505 REGB0 = TAG_Int(126);
115506 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
115507 /* ./parser//parser.nit:43081 */
115508 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
115509 stack_frame_head = fra.me.prev;
115510 return;
115511 }
115512 void parser___ReduceAction1162___init(val_t p0, int* init_table){
115513 int itpos1166 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1162].i;
115514 struct {struct stack_frame_t me;} fra;
115515 val_t tmp;
115516 if (init_table[itpos1166]) return;
115517 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115518 fra.me.file = LOCATE_parser;
115519 fra.me.line = 43083;
115520 fra.me.meth = LOCATE_parser___ReduceAction1162___init;
115521 fra.me.has_broke = 0;
115522 fra.me.REG_size = 1;
115523 fra.me.REG[0] = NIT_NULL;
115524 fra.me.REG[0] = p0;
115525 /* ./parser//parser.nit:43083 */
115526 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
115527 stack_frame_head = fra.me.prev;
115528 init_table[itpos1166] = 1;
115529 return;
115530 }
115531 void parser___ReduceAction1163___action(val_t p0, val_t p1){
115532 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
115533 val_t REGB0;
115534 val_t tmp;
115535 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115536 fra.me.file = LOCATE_parser;
115537 fra.me.line = 43087;
115538 fra.me.meth = LOCATE_parser___ReduceAction1163___action;
115539 fra.me.has_broke = 0;
115540 fra.me.REG_size = 8;
115541 fra.me.REG[0] = NIT_NULL;
115542 fra.me.REG[1] = NIT_NULL;
115543 fra.me.REG[2] = NIT_NULL;
115544 fra.me.REG[3] = NIT_NULL;
115545 fra.me.REG[4] = NIT_NULL;
115546 fra.me.REG[5] = NIT_NULL;
115547 fra.me.REG[6] = NIT_NULL;
115548 fra.me.REG[7] = NIT_NULL;
115549 fra.me.REG[0] = p0;
115550 fra.me.REG[1] = p1;
115551 fra.me.REG[0] = NIT_NULL;
115552 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115553 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115554 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115555 fra.me.REG[5] = NEW_Array_array___Array___init();
115556 fra.me.REG[6] = NEW_Array_array___Array___init();
115557 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
115558 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/;
115559 /* ./parser//parser.nit:43098 */
115560 if (UNTAG_Bool(REGB0)) {
115561 } else {
115562 fprintf(stderr, "Assert failed");
115563 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43098);
115564 nit_exit(1);
115565 }
115566 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
115567 /* ./parser//parser.nit:43100 */
115568 if (UNTAG_Bool(REGB0)) {
115569 } else {
115570 fprintf(stderr, "Assert failed");
115571 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43100);
115572 nit_exit(1);
115573 }
115574 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
115575 /* ./parser//parser.nit:43102 */
115576 if (UNTAG_Bool(REGB0)) {
115577 fra.me.REG[5] = fra.me.REG[3];
115578 /* ./parser//parser.nit:43103 */
115579 } else {
115580 /* ./parser//parser.nit:43105 */
115581 CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
115582 }
115583 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
115584 /* ./parser//parser.nit:43109 */
115585 if (UNTAG_Bool(REGB0)) {
115586 } else {
115587 fprintf(stderr, "Assert failed");
115588 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43109);
115589 nit_exit(1);
115590 }
115591 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]);
115592 /* ./parser//parser.nit:43111 */
115593 if (UNTAG_Bool(REGB0)) {
115594 fra.me.REG[6] = fra.me.REG[2];
115595 /* ./parser//parser.nit:43112 */
115596 } else {
115597 /* ./parser//parser.nit:43114 */
115598 CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
115599 }
115600 fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
115601 fra.me.REG[0] = fra.me.REG[6];
115602 REGB0 = TAG_Int(126);
115603 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
115604 /* ./parser//parser.nit:43124 */
115605 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
115606 stack_frame_head = fra.me.prev;
115607 return;
115608 }
115609 void parser___ReduceAction1163___init(val_t p0, int* init_table){
115610 int itpos1167 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1163].i;
115611 struct {struct stack_frame_t me;} fra;
115612 val_t tmp;
115613 if (init_table[itpos1167]) return;
115614 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115615 fra.me.file = LOCATE_parser;
115616 fra.me.line = 43126;
115617 fra.me.meth = LOCATE_parser___ReduceAction1163___init;
115618 fra.me.has_broke = 0;
115619 fra.me.REG_size = 1;
115620 fra.me.REG[0] = NIT_NULL;
115621 fra.me.REG[0] = p0;
115622 /* ./parser//parser.nit:43126 */
115623 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
115624 stack_frame_head = fra.me.prev;
115625 init_table[itpos1167] = 1;
115626 return;
115627 }
115628 void parser___ReduceAction1164___action(val_t p0, val_t p1){
115629 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
115630 val_t REGB0;
115631 val_t REGB1;
115632 val_t tmp;
115633 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115634 fra.me.file = LOCATE_parser;
115635 fra.me.line = 43130;
115636 fra.me.meth = LOCATE_parser___ReduceAction1164___action;
115637 fra.me.has_broke = 0;
115638 fra.me.REG_size = 4;
115639 fra.me.REG[0] = NIT_NULL;
115640 fra.me.REG[1] = NIT_NULL;
115641 fra.me.REG[2] = NIT_NULL;
115642 fra.me.REG[3] = NIT_NULL;
115643 fra.me.REG[0] = p0;
115644 fra.me.REG[1] = p1;
115645 fra.me.REG[0] = NIT_NULL;
115646 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115647 fra.me.REG[3] = NEW_Array_array___Array___init();
115648 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AImport, ID_AImport)) /*cast nullable AImport*/;
115649 /* ./parser//parser.nit:43136 */
115650 if (UNTAG_Bool(REGB0)) {
115651 } else {
115652 fprintf(stderr, "Assert failed");
115653 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43136);
115654 nit_exit(1);
115655 }
115656 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
115657 /* ./parser//parser.nit:43137 */
115658 if (UNTAG_Bool(REGB0)) {
115659 } else {
115660 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
115661 if (UNTAG_Bool(REGB1)) {
115662 REGB1 = TAG_Bool(false);
115663 REGB0 = REGB1;
115664 } else {
115665 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
115666 REGB0 = REGB1;
115667 }
115668 }
115669 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
115670 if (UNTAG_Bool(REGB0)) {
115671 /* ./parser//parser.nit:43138 */
115672 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
115673 }
115674 fra.me.REG[0] = fra.me.REG[3];
115675 REGB0 = TAG_Int(127);
115676 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
115677 /* ./parser//parser.nit:43141 */
115678 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
115679 stack_frame_head = fra.me.prev;
115680 return;
115681 }
115682 void parser___ReduceAction1164___init(val_t p0, int* init_table){
115683 int itpos1168 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1164].i;
115684 struct {struct stack_frame_t me;} fra;
115685 val_t tmp;
115686 if (init_table[itpos1168]) return;
115687 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115688 fra.me.file = LOCATE_parser;
115689 fra.me.line = 43143;
115690 fra.me.meth = LOCATE_parser___ReduceAction1164___init;
115691 fra.me.has_broke = 0;
115692 fra.me.REG_size = 1;
115693 fra.me.REG[0] = NIT_NULL;
115694 fra.me.REG[0] = p0;
115695 /* ./parser//parser.nit:43143 */
115696 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
115697 stack_frame_head = fra.me.prev;
115698 init_table[itpos1168] = 1;
115699 return;
115700 }
115701 void parser___ReduceAction1165___action(val_t p0, val_t p1){
115702 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
115703 val_t REGB0;
115704 val_t REGB1;
115705 val_t tmp;
115706 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115707 fra.me.file = LOCATE_parser;
115708 fra.me.line = 43147;
115709 fra.me.meth = LOCATE_parser___ReduceAction1165___action;
115710 fra.me.has_broke = 0;
115711 fra.me.REG_size = 5;
115712 fra.me.REG[0] = NIT_NULL;
115713 fra.me.REG[1] = NIT_NULL;
115714 fra.me.REG[2] = NIT_NULL;
115715 fra.me.REG[3] = NIT_NULL;
115716 fra.me.REG[4] = NIT_NULL;
115717 fra.me.REG[0] = p0;
115718 fra.me.REG[1] = p1;
115719 fra.me.REG[0] = NIT_NULL;
115720 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115721 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115722 fra.me.REG[4] = NEW_Array_array___Array___init();
115723 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
115724 /* ./parser//parser.nit:43154 */
115725 if (UNTAG_Bool(REGB0)) {
115726 } else {
115727 fprintf(stderr, "Assert failed");
115728 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43154);
115729 nit_exit(1);
115730 }
115731 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AImport, ID_AImport)) /*cast nullable AImport*/;
115732 /* ./parser//parser.nit:43156 */
115733 if (UNTAG_Bool(REGB0)) {
115734 } else {
115735 fprintf(stderr, "Assert failed");
115736 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43156);
115737 nit_exit(1);
115738 }
115739 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
115740 /* ./parser//parser.nit:43158 */
115741 if (UNTAG_Bool(REGB0)) {
115742 fra.me.REG[4] = fra.me.REG[3];
115743 /* ./parser//parser.nit:43159 */
115744 } else {
115745 /* ./parser//parser.nit:43161 */
115746 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
115747 }
115748 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
115749 /* ./parser//parser.nit:43164 */
115750 if (UNTAG_Bool(REGB0)) {
115751 } else {
115752 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
115753 if (UNTAG_Bool(REGB1)) {
115754 REGB1 = TAG_Bool(false);
115755 REGB0 = REGB1;
115756 } else {
115757 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
115758 REGB0 = REGB1;
115759 }
115760 }
115761 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
115762 if (UNTAG_Bool(REGB0)) {
115763 /* ./parser//parser.nit:43165 */
115764 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
115765 }
115766 fra.me.REG[0] = fra.me.REG[4];
115767 REGB0 = TAG_Int(127);
115768 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
115769 /* ./parser//parser.nit:43168 */
115770 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
115771 stack_frame_head = fra.me.prev;
115772 return;
115773 }
115774 void parser___ReduceAction1165___init(val_t p0, int* init_table){
115775 int itpos1169 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1165].i;
115776 struct {struct stack_frame_t me;} fra;
115777 val_t tmp;
115778 if (init_table[itpos1169]) return;
115779 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115780 fra.me.file = LOCATE_parser;
115781 fra.me.line = 43170;
115782 fra.me.meth = LOCATE_parser___ReduceAction1165___init;
115783 fra.me.has_broke = 0;
115784 fra.me.REG_size = 1;
115785 fra.me.REG[0] = NIT_NULL;
115786 fra.me.REG[0] = p0;
115787 /* ./parser//parser.nit:43170 */
115788 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
115789 stack_frame_head = fra.me.prev;
115790 init_table[itpos1169] = 1;
115791 return;
115792 }
115793 void parser___ReduceAction1166___action(val_t p0, val_t p1){
115794 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
115795 val_t REGB0;
115796 val_t REGB1;
115797 val_t tmp;
115798 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115799 fra.me.file = LOCATE_parser;
115800 fra.me.line = 43174;
115801 fra.me.meth = LOCATE_parser___ReduceAction1166___action;
115802 fra.me.has_broke = 0;
115803 fra.me.REG_size = 4;
115804 fra.me.REG[0] = NIT_NULL;
115805 fra.me.REG[1] = NIT_NULL;
115806 fra.me.REG[2] = NIT_NULL;
115807 fra.me.REG[3] = NIT_NULL;
115808 fra.me.REG[0] = p0;
115809 fra.me.REG[1] = p1;
115810 fra.me.REG[0] = NIT_NULL;
115811 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115812 fra.me.REG[3] = NEW_Array_array___Array___init();
115813 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
115814 /* ./parser//parser.nit:43180 */
115815 if (UNTAG_Bool(REGB0)) {
115816 } else {
115817 fprintf(stderr, "Assert failed");
115818 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43180);
115819 nit_exit(1);
115820 }
115821 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
115822 /* ./parser//parser.nit:43181 */
115823 if (UNTAG_Bool(REGB0)) {
115824 } else {
115825 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
115826 if (UNTAG_Bool(REGB1)) {
115827 REGB1 = TAG_Bool(false);
115828 REGB0 = REGB1;
115829 } else {
115830 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
115831 REGB0 = REGB1;
115832 }
115833 }
115834 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
115835 if (UNTAG_Bool(REGB0)) {
115836 /* ./parser//parser.nit:43182 */
115837 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
115838 }
115839 fra.me.REG[0] = fra.me.REG[3];
115840 REGB0 = TAG_Int(128);
115841 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
115842 /* ./parser//parser.nit:43185 */
115843 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
115844 stack_frame_head = fra.me.prev;
115845 return;
115846 }
115847 void parser___ReduceAction1166___init(val_t p0, int* init_table){
115848 int itpos1170 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1166].i;
115849 struct {struct stack_frame_t me;} fra;
115850 val_t tmp;
115851 if (init_table[itpos1170]) return;
115852 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115853 fra.me.file = LOCATE_parser;
115854 fra.me.line = 43187;
115855 fra.me.meth = LOCATE_parser___ReduceAction1166___init;
115856 fra.me.has_broke = 0;
115857 fra.me.REG_size = 1;
115858 fra.me.REG[0] = NIT_NULL;
115859 fra.me.REG[0] = p0;
115860 /* ./parser//parser.nit:43187 */
115861 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
115862 stack_frame_head = fra.me.prev;
115863 init_table[itpos1170] = 1;
115864 return;
115865 }
115866 void parser___ReduceAction1167___action(val_t p0, val_t p1){
115867 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
115868 val_t REGB0;
115869 val_t REGB1;
115870 val_t tmp;
115871 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115872 fra.me.file = LOCATE_parser;
115873 fra.me.line = 43191;
115874 fra.me.meth = LOCATE_parser___ReduceAction1167___action;
115875 fra.me.has_broke = 0;
115876 fra.me.REG_size = 5;
115877 fra.me.REG[0] = NIT_NULL;
115878 fra.me.REG[1] = NIT_NULL;
115879 fra.me.REG[2] = NIT_NULL;
115880 fra.me.REG[3] = NIT_NULL;
115881 fra.me.REG[4] = NIT_NULL;
115882 fra.me.REG[0] = p0;
115883 fra.me.REG[1] = p1;
115884 fra.me.REG[0] = NIT_NULL;
115885 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115886 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115887 fra.me.REG[4] = NEW_Array_array___Array___init();
115888 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
115889 /* ./parser//parser.nit:43198 */
115890 if (UNTAG_Bool(REGB0)) {
115891 } else {
115892 fprintf(stderr, "Assert failed");
115893 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43198);
115894 nit_exit(1);
115895 }
115896 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/;
115897 /* ./parser//parser.nit:43200 */
115898 if (UNTAG_Bool(REGB0)) {
115899 } else {
115900 fprintf(stderr, "Assert failed");
115901 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43200);
115902 nit_exit(1);
115903 }
115904 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
115905 /* ./parser//parser.nit:43202 */
115906 if (UNTAG_Bool(REGB0)) {
115907 fra.me.REG[4] = fra.me.REG[3];
115908 /* ./parser//parser.nit:43203 */
115909 } else {
115910 /* ./parser//parser.nit:43205 */
115911 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
115912 }
115913 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
115914 /* ./parser//parser.nit:43208 */
115915 if (UNTAG_Bool(REGB0)) {
115916 } else {
115917 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
115918 if (UNTAG_Bool(REGB1)) {
115919 REGB1 = TAG_Bool(false);
115920 REGB0 = REGB1;
115921 } else {
115922 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
115923 REGB0 = REGB1;
115924 }
115925 }
115926 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
115927 if (UNTAG_Bool(REGB0)) {
115928 /* ./parser//parser.nit:43209 */
115929 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
115930 }
115931 fra.me.REG[0] = fra.me.REG[4];
115932 REGB0 = TAG_Int(128);
115933 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
115934 /* ./parser//parser.nit:43212 */
115935 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
115936 stack_frame_head = fra.me.prev;
115937 return;
115938 }
115939 void parser___ReduceAction1167___init(val_t p0, int* init_table){
115940 int itpos1171 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1167].i;
115941 struct {struct stack_frame_t me;} fra;
115942 val_t tmp;
115943 if (init_table[itpos1171]) return;
115944 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115945 fra.me.file = LOCATE_parser;
115946 fra.me.line = 43214;
115947 fra.me.meth = LOCATE_parser___ReduceAction1167___init;
115948 fra.me.has_broke = 0;
115949 fra.me.REG_size = 1;
115950 fra.me.REG[0] = NIT_NULL;
115951 fra.me.REG[0] = p0;
115952 /* ./parser//parser.nit:43214 */
115953 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
115954 stack_frame_head = fra.me.prev;
115955 init_table[itpos1171] = 1;
115956 return;
115957 }
115958 void parser___ReduceAction1168___action(val_t p0, val_t p1){
115959 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
115960 val_t REGB0;
115961 val_t REGB1;
115962 val_t tmp;
115963 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115964 fra.me.file = LOCATE_parser;
115965 fra.me.line = 43218;
115966 fra.me.meth = LOCATE_parser___ReduceAction1168___action;
115967 fra.me.has_broke = 0;
115968 fra.me.REG_size = 4;
115969 fra.me.REG[0] = NIT_NULL;
115970 fra.me.REG[1] = NIT_NULL;
115971 fra.me.REG[2] = NIT_NULL;
115972 fra.me.REG[3] = NIT_NULL;
115973 fra.me.REG[0] = p0;
115974 fra.me.REG[1] = p1;
115975 fra.me.REG[0] = NIT_NULL;
115976 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
115977 fra.me.REG[3] = NEW_Array_array___Array___init();
115978 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASuperclass, ID_ASuperclass)) /*cast nullable ASuperclass*/;
115979 /* ./parser//parser.nit:43224 */
115980 if (UNTAG_Bool(REGB0)) {
115981 } else {
115982 fprintf(stderr, "Assert failed");
115983 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43224);
115984 nit_exit(1);
115985 }
115986 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
115987 /* ./parser//parser.nit:43225 */
115988 if (UNTAG_Bool(REGB0)) {
115989 } else {
115990 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
115991 if (UNTAG_Bool(REGB1)) {
115992 REGB1 = TAG_Bool(false);
115993 REGB0 = REGB1;
115994 } else {
115995 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
115996 REGB0 = REGB1;
115997 }
115998 }
115999 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
116000 if (UNTAG_Bool(REGB0)) {
116001 /* ./parser//parser.nit:43226 */
116002 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
116003 }
116004 fra.me.REG[0] = fra.me.REG[3];
116005 REGB0 = TAG_Int(129);
116006 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
116007 /* ./parser//parser.nit:43229 */
116008 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
116009 stack_frame_head = fra.me.prev;
116010 return;
116011 }
116012 void parser___ReduceAction1168___init(val_t p0, int* init_table){
116013 int itpos1172 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1168].i;
116014 struct {struct stack_frame_t me;} fra;
116015 val_t tmp;
116016 if (init_table[itpos1172]) return;
116017 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116018 fra.me.file = LOCATE_parser;
116019 fra.me.line = 43231;
116020 fra.me.meth = LOCATE_parser___ReduceAction1168___init;
116021 fra.me.has_broke = 0;
116022 fra.me.REG_size = 1;
116023 fra.me.REG[0] = NIT_NULL;
116024 fra.me.REG[0] = p0;
116025 /* ./parser//parser.nit:43231 */
116026 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
116027 stack_frame_head = fra.me.prev;
116028 init_table[itpos1172] = 1;
116029 return;
116030 }
116031 void parser___ReduceAction1169___action(val_t p0, val_t p1){
116032 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
116033 val_t REGB0;
116034 val_t REGB1;
116035 val_t tmp;
116036 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116037 fra.me.file = LOCATE_parser;
116038 fra.me.line = 43235;
116039 fra.me.meth = LOCATE_parser___ReduceAction1169___action;
116040 fra.me.has_broke = 0;
116041 fra.me.REG_size = 5;
116042 fra.me.REG[0] = NIT_NULL;
116043 fra.me.REG[1] = NIT_NULL;
116044 fra.me.REG[2] = NIT_NULL;
116045 fra.me.REG[3] = NIT_NULL;
116046 fra.me.REG[4] = NIT_NULL;
116047 fra.me.REG[0] = p0;
116048 fra.me.REG[1] = p1;
116049 fra.me.REG[0] = NIT_NULL;
116050 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116051 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116052 fra.me.REG[4] = NEW_Array_array___Array___init();
116053 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
116054 /* ./parser//parser.nit:43242 */
116055 if (UNTAG_Bool(REGB0)) {
116056 } else {
116057 fprintf(stderr, "Assert failed");
116058 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43242);
116059 nit_exit(1);
116060 }
116061 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASuperclass, ID_ASuperclass)) /*cast nullable ASuperclass*/;
116062 /* ./parser//parser.nit:43244 */
116063 if (UNTAG_Bool(REGB0)) {
116064 } else {
116065 fprintf(stderr, "Assert failed");
116066 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43244);
116067 nit_exit(1);
116068 }
116069 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
116070 /* ./parser//parser.nit:43246 */
116071 if (UNTAG_Bool(REGB0)) {
116072 fra.me.REG[4] = fra.me.REG[3];
116073 /* ./parser//parser.nit:43247 */
116074 } else {
116075 /* ./parser//parser.nit:43249 */
116076 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
116077 }
116078 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116079 /* ./parser//parser.nit:43252 */
116080 if (UNTAG_Bool(REGB0)) {
116081 } else {
116082 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116083 if (UNTAG_Bool(REGB1)) {
116084 REGB1 = TAG_Bool(false);
116085 REGB0 = REGB1;
116086 } else {
116087 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
116088 REGB0 = REGB1;
116089 }
116090 }
116091 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
116092 if (UNTAG_Bool(REGB0)) {
116093 /* ./parser//parser.nit:43253 */
116094 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
116095 }
116096 fra.me.REG[0] = fra.me.REG[4];
116097 REGB0 = TAG_Int(129);
116098 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
116099 /* ./parser//parser.nit:43256 */
116100 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
116101 stack_frame_head = fra.me.prev;
116102 return;
116103 }
116104 void parser___ReduceAction1169___init(val_t p0, int* init_table){
116105 int itpos1173 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1169].i;
116106 struct {struct stack_frame_t me;} fra;
116107 val_t tmp;
116108 if (init_table[itpos1173]) return;
116109 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116110 fra.me.file = LOCATE_parser;
116111 fra.me.line = 43258;
116112 fra.me.meth = LOCATE_parser___ReduceAction1169___init;
116113 fra.me.has_broke = 0;
116114 fra.me.REG_size = 1;
116115 fra.me.REG[0] = NIT_NULL;
116116 fra.me.REG[0] = p0;
116117 /* ./parser//parser.nit:43258 */
116118 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
116119 stack_frame_head = fra.me.prev;
116120 init_table[itpos1173] = 1;
116121 return;
116122 }
116123 void parser___ReduceAction1170___action(val_t p0, val_t p1){
116124 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
116125 val_t REGB0;
116126 val_t REGB1;
116127 val_t tmp;
116128 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116129 fra.me.file = LOCATE_parser;
116130 fra.me.line = 43262;
116131 fra.me.meth = LOCATE_parser___ReduceAction1170___action;
116132 fra.me.has_broke = 0;
116133 fra.me.REG_size = 4;
116134 fra.me.REG[0] = NIT_NULL;
116135 fra.me.REG[1] = NIT_NULL;
116136 fra.me.REG[2] = NIT_NULL;
116137 fra.me.REG[3] = NIT_NULL;
116138 fra.me.REG[0] = p0;
116139 fra.me.REG[1] = p1;
116140 fra.me.REG[0] = NIT_NULL;
116141 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116142 fra.me.REG[3] = NEW_Array_array___Array___init();
116143 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AFormaldef, ID_AFormaldef)) /*cast nullable AFormaldef*/;
116144 /* ./parser//parser.nit:43268 */
116145 if (UNTAG_Bool(REGB0)) {
116146 } else {
116147 fprintf(stderr, "Assert failed");
116148 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43268);
116149 nit_exit(1);
116150 }
116151 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116152 /* ./parser//parser.nit:43269 */
116153 if (UNTAG_Bool(REGB0)) {
116154 } else {
116155 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116156 if (UNTAG_Bool(REGB1)) {
116157 REGB1 = TAG_Bool(false);
116158 REGB0 = REGB1;
116159 } else {
116160 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
116161 REGB0 = REGB1;
116162 }
116163 }
116164 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
116165 if (UNTAG_Bool(REGB0)) {
116166 /* ./parser//parser.nit:43270 */
116167 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
116168 }
116169 fra.me.REG[0] = fra.me.REG[3];
116170 REGB0 = TAG_Int(130);
116171 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
116172 /* ./parser//parser.nit:43273 */
116173 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
116174 stack_frame_head = fra.me.prev;
116175 return;
116176 }
116177 void parser___ReduceAction1170___init(val_t p0, int* init_table){
116178 int itpos1174 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1170].i;
116179 struct {struct stack_frame_t me;} fra;
116180 val_t tmp;
116181 if (init_table[itpos1174]) return;
116182 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116183 fra.me.file = LOCATE_parser;
116184 fra.me.line = 43275;
116185 fra.me.meth = LOCATE_parser___ReduceAction1170___init;
116186 fra.me.has_broke = 0;
116187 fra.me.REG_size = 1;
116188 fra.me.REG[0] = NIT_NULL;
116189 fra.me.REG[0] = p0;
116190 /* ./parser//parser.nit:43275 */
116191 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
116192 stack_frame_head = fra.me.prev;
116193 init_table[itpos1174] = 1;
116194 return;
116195 }
116196 void parser___ReduceAction1171___action(val_t p0, val_t p1){
116197 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
116198 val_t REGB0;
116199 val_t REGB1;
116200 val_t tmp;
116201 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116202 fra.me.file = LOCATE_parser;
116203 fra.me.line = 43279;
116204 fra.me.meth = LOCATE_parser___ReduceAction1171___action;
116205 fra.me.has_broke = 0;
116206 fra.me.REG_size = 5;
116207 fra.me.REG[0] = NIT_NULL;
116208 fra.me.REG[1] = NIT_NULL;
116209 fra.me.REG[2] = NIT_NULL;
116210 fra.me.REG[3] = NIT_NULL;
116211 fra.me.REG[4] = NIT_NULL;
116212 fra.me.REG[0] = p0;
116213 fra.me.REG[1] = p1;
116214 fra.me.REG[0] = NIT_NULL;
116215 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116216 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116217 fra.me.REG[4] = NEW_Array_array___Array___init();
116218 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
116219 /* ./parser//parser.nit:43286 */
116220 if (UNTAG_Bool(REGB0)) {
116221 } else {
116222 fprintf(stderr, "Assert failed");
116223 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43286);
116224 nit_exit(1);
116225 }
116226 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AFormaldef, ID_AFormaldef)) /*cast nullable AFormaldef*/;
116227 /* ./parser//parser.nit:43288 */
116228 if (UNTAG_Bool(REGB0)) {
116229 } else {
116230 fprintf(stderr, "Assert failed");
116231 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43288);
116232 nit_exit(1);
116233 }
116234 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
116235 /* ./parser//parser.nit:43290 */
116236 if (UNTAG_Bool(REGB0)) {
116237 fra.me.REG[4] = fra.me.REG[3];
116238 /* ./parser//parser.nit:43291 */
116239 } else {
116240 /* ./parser//parser.nit:43293 */
116241 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
116242 }
116243 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116244 /* ./parser//parser.nit:43296 */
116245 if (UNTAG_Bool(REGB0)) {
116246 } else {
116247 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116248 if (UNTAG_Bool(REGB1)) {
116249 REGB1 = TAG_Bool(false);
116250 REGB0 = REGB1;
116251 } else {
116252 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
116253 REGB0 = REGB1;
116254 }
116255 }
116256 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
116257 if (UNTAG_Bool(REGB0)) {
116258 /* ./parser//parser.nit:43297 */
116259 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
116260 }
116261 fra.me.REG[0] = fra.me.REG[4];
116262 REGB0 = TAG_Int(130);
116263 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
116264 /* ./parser//parser.nit:43300 */
116265 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
116266 stack_frame_head = fra.me.prev;
116267 return;
116268 }
116269 void parser___ReduceAction1171___init(val_t p0, int* init_table){
116270 int itpos1175 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1171].i;
116271 struct {struct stack_frame_t me;} fra;
116272 val_t tmp;
116273 if (init_table[itpos1175]) return;
116274 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116275 fra.me.file = LOCATE_parser;
116276 fra.me.line = 43302;
116277 fra.me.meth = LOCATE_parser___ReduceAction1171___init;
116278 fra.me.has_broke = 0;
116279 fra.me.REG_size = 1;
116280 fra.me.REG[0] = NIT_NULL;
116281 fra.me.REG[0] = p0;
116282 /* ./parser//parser.nit:43302 */
116283 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
116284 stack_frame_head = fra.me.prev;
116285 init_table[itpos1175] = 1;
116286 return;
116287 }
116288 void parser___ReduceAction1172___action(val_t p0, val_t p1){
116289 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
116290 val_t REGB0;
116291 val_t REGB1;
116292 val_t tmp;
116293 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116294 fra.me.file = LOCATE_parser;
116295 fra.me.line = 43306;
116296 fra.me.meth = LOCATE_parser___ReduceAction1172___action;
116297 fra.me.has_broke = 0;
116298 fra.me.REG_size = 4;
116299 fra.me.REG[0] = NIT_NULL;
116300 fra.me.REG[1] = NIT_NULL;
116301 fra.me.REG[2] = NIT_NULL;
116302 fra.me.REG[3] = NIT_NULL;
116303 fra.me.REG[0] = p0;
116304 fra.me.REG[1] = p1;
116305 fra.me.REG[0] = NIT_NULL;
116306 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116307 fra.me.REG[3] = NEW_Array_array___Array___init();
116308 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
116309 /* ./parser//parser.nit:43312 */
116310 if (UNTAG_Bool(REGB0)) {
116311 } else {
116312 fprintf(stderr, "Assert failed");
116313 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43312);
116314 nit_exit(1);
116315 }
116316 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116317 /* ./parser//parser.nit:43313 */
116318 if (UNTAG_Bool(REGB0)) {
116319 } else {
116320 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116321 if (UNTAG_Bool(REGB1)) {
116322 REGB1 = TAG_Bool(false);
116323 REGB0 = REGB1;
116324 } else {
116325 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
116326 REGB0 = REGB1;
116327 }
116328 }
116329 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
116330 if (UNTAG_Bool(REGB0)) {
116331 /* ./parser//parser.nit:43314 */
116332 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
116333 }
116334 fra.me.REG[0] = fra.me.REG[3];
116335 REGB0 = TAG_Int(131);
116336 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
116337 /* ./parser//parser.nit:43317 */
116338 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
116339 stack_frame_head = fra.me.prev;
116340 return;
116341 }
116342 void parser___ReduceAction1172___init(val_t p0, int* init_table){
116343 int itpos1176 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1172].i;
116344 struct {struct stack_frame_t me;} fra;
116345 val_t tmp;
116346 if (init_table[itpos1176]) return;
116347 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116348 fra.me.file = LOCATE_parser;
116349 fra.me.line = 43319;
116350 fra.me.meth = LOCATE_parser___ReduceAction1172___init;
116351 fra.me.has_broke = 0;
116352 fra.me.REG_size = 1;
116353 fra.me.REG[0] = NIT_NULL;
116354 fra.me.REG[0] = p0;
116355 /* ./parser//parser.nit:43319 */
116356 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
116357 stack_frame_head = fra.me.prev;
116358 init_table[itpos1176] = 1;
116359 return;
116360 }
116361 void parser___ReduceAction1173___action(val_t p0, val_t p1){
116362 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
116363 val_t REGB0;
116364 val_t REGB1;
116365 val_t tmp;
116366 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116367 fra.me.file = LOCATE_parser;
116368 fra.me.line = 43323;
116369 fra.me.meth = LOCATE_parser___ReduceAction1173___action;
116370 fra.me.has_broke = 0;
116371 fra.me.REG_size = 5;
116372 fra.me.REG[0] = NIT_NULL;
116373 fra.me.REG[1] = NIT_NULL;
116374 fra.me.REG[2] = NIT_NULL;
116375 fra.me.REG[3] = NIT_NULL;
116376 fra.me.REG[4] = NIT_NULL;
116377 fra.me.REG[0] = p0;
116378 fra.me.REG[1] = p1;
116379 fra.me.REG[0] = NIT_NULL;
116380 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116381 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116382 fra.me.REG[4] = NEW_Array_array___Array___init();
116383 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
116384 /* ./parser//parser.nit:43330 */
116385 if (UNTAG_Bool(REGB0)) {
116386 } else {
116387 fprintf(stderr, "Assert failed");
116388 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43330);
116389 nit_exit(1);
116390 }
116391 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
116392 /* ./parser//parser.nit:43332 */
116393 if (UNTAG_Bool(REGB0)) {
116394 } else {
116395 fprintf(stderr, "Assert failed");
116396 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43332);
116397 nit_exit(1);
116398 }
116399 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
116400 /* ./parser//parser.nit:43334 */
116401 if (UNTAG_Bool(REGB0)) {
116402 fra.me.REG[4] = fra.me.REG[3];
116403 /* ./parser//parser.nit:43335 */
116404 } else {
116405 /* ./parser//parser.nit:43337 */
116406 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
116407 }
116408 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116409 /* ./parser//parser.nit:43340 */
116410 if (UNTAG_Bool(REGB0)) {
116411 } else {
116412 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116413 if (UNTAG_Bool(REGB1)) {
116414 REGB1 = TAG_Bool(false);
116415 REGB0 = REGB1;
116416 } else {
116417 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
116418 REGB0 = REGB1;
116419 }
116420 }
116421 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
116422 if (UNTAG_Bool(REGB0)) {
116423 /* ./parser//parser.nit:43341 */
116424 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
116425 }
116426 fra.me.REG[0] = fra.me.REG[4];
116427 REGB0 = TAG_Int(131);
116428 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
116429 /* ./parser//parser.nit:43344 */
116430 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
116431 stack_frame_head = fra.me.prev;
116432 return;
116433 }
116434 void parser___ReduceAction1173___init(val_t p0, int* init_table){
116435 int itpos1177 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1173].i;
116436 struct {struct stack_frame_t me;} fra;
116437 val_t tmp;
116438 if (init_table[itpos1177]) return;
116439 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116440 fra.me.file = LOCATE_parser;
116441 fra.me.line = 43346;
116442 fra.me.meth = LOCATE_parser___ReduceAction1173___init;
116443 fra.me.has_broke = 0;
116444 fra.me.REG_size = 1;
116445 fra.me.REG[0] = NIT_NULL;
116446 fra.me.REG[0] = p0;
116447 /* ./parser//parser.nit:43346 */
116448 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
116449 stack_frame_head = fra.me.prev;
116450 init_table[itpos1177] = 1;
116451 return;
116452 }
116453 void parser___ReduceAction1174___action(val_t p0, val_t p1){
116454 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
116455 val_t REGB0;
116456 val_t REGB1;
116457 val_t tmp;
116458 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116459 fra.me.file = LOCATE_parser;
116460 fra.me.line = 43350;
116461 fra.me.meth = LOCATE_parser___ReduceAction1174___action;
116462 fra.me.has_broke = 0;
116463 fra.me.REG_size = 4;
116464 fra.me.REG[0] = NIT_NULL;
116465 fra.me.REG[1] = NIT_NULL;
116466 fra.me.REG[2] = NIT_NULL;
116467 fra.me.REG[3] = NIT_NULL;
116468 fra.me.REG[0] = p0;
116469 fra.me.REG[1] = p1;
116470 fra.me.REG[0] = NIT_NULL;
116471 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116472 fra.me.REG[3] = NEW_Array_array___Array___init();
116473 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AParam, ID_AParam)) /*cast nullable AParam*/;
116474 /* ./parser//parser.nit:43356 */
116475 if (UNTAG_Bool(REGB0)) {
116476 } else {
116477 fprintf(stderr, "Assert failed");
116478 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43356);
116479 nit_exit(1);
116480 }
116481 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116482 /* ./parser//parser.nit:43357 */
116483 if (UNTAG_Bool(REGB0)) {
116484 } else {
116485 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116486 if (UNTAG_Bool(REGB1)) {
116487 REGB1 = TAG_Bool(false);
116488 REGB0 = REGB1;
116489 } else {
116490 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
116491 REGB0 = REGB1;
116492 }
116493 }
116494 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
116495 if (UNTAG_Bool(REGB0)) {
116496 /* ./parser//parser.nit:43358 */
116497 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
116498 }
116499 fra.me.REG[0] = fra.me.REG[3];
116500 REGB0 = TAG_Int(132);
116501 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
116502 /* ./parser//parser.nit:43361 */
116503 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
116504 stack_frame_head = fra.me.prev;
116505 return;
116506 }
116507 void parser___ReduceAction1174___init(val_t p0, int* init_table){
116508 int itpos1178 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1174].i;
116509 struct {struct stack_frame_t me;} fra;
116510 val_t tmp;
116511 if (init_table[itpos1178]) return;
116512 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116513 fra.me.file = LOCATE_parser;
116514 fra.me.line = 43363;
116515 fra.me.meth = LOCATE_parser___ReduceAction1174___init;
116516 fra.me.has_broke = 0;
116517 fra.me.REG_size = 1;
116518 fra.me.REG[0] = NIT_NULL;
116519 fra.me.REG[0] = p0;
116520 /* ./parser//parser.nit:43363 */
116521 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
116522 stack_frame_head = fra.me.prev;
116523 init_table[itpos1178] = 1;
116524 return;
116525 }
116526 void parser___ReduceAction1175___action(val_t p0, val_t p1){
116527 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
116528 val_t REGB0;
116529 val_t REGB1;
116530 val_t tmp;
116531 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116532 fra.me.file = LOCATE_parser;
116533 fra.me.line = 43367;
116534 fra.me.meth = LOCATE_parser___ReduceAction1175___action;
116535 fra.me.has_broke = 0;
116536 fra.me.REG_size = 5;
116537 fra.me.REG[0] = NIT_NULL;
116538 fra.me.REG[1] = NIT_NULL;
116539 fra.me.REG[2] = NIT_NULL;
116540 fra.me.REG[3] = NIT_NULL;
116541 fra.me.REG[4] = NIT_NULL;
116542 fra.me.REG[0] = p0;
116543 fra.me.REG[1] = p1;
116544 fra.me.REG[0] = NIT_NULL;
116545 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116546 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116547 fra.me.REG[4] = NEW_Array_array___Array___init();
116548 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
116549 /* ./parser//parser.nit:43374 */
116550 if (UNTAG_Bool(REGB0)) {
116551 } else {
116552 fprintf(stderr, "Assert failed");
116553 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43374);
116554 nit_exit(1);
116555 }
116556 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AParam, ID_AParam)) /*cast nullable AParam*/;
116557 /* ./parser//parser.nit:43376 */
116558 if (UNTAG_Bool(REGB0)) {
116559 } else {
116560 fprintf(stderr, "Assert failed");
116561 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43376);
116562 nit_exit(1);
116563 }
116564 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
116565 /* ./parser//parser.nit:43378 */
116566 if (UNTAG_Bool(REGB0)) {
116567 fra.me.REG[4] = fra.me.REG[3];
116568 /* ./parser//parser.nit:43379 */
116569 } else {
116570 /* ./parser//parser.nit:43381 */
116571 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
116572 }
116573 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116574 /* ./parser//parser.nit:43384 */
116575 if (UNTAG_Bool(REGB0)) {
116576 } else {
116577 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116578 if (UNTAG_Bool(REGB1)) {
116579 REGB1 = TAG_Bool(false);
116580 REGB0 = REGB1;
116581 } else {
116582 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
116583 REGB0 = REGB1;
116584 }
116585 }
116586 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
116587 if (UNTAG_Bool(REGB0)) {
116588 /* ./parser//parser.nit:43385 */
116589 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
116590 }
116591 fra.me.REG[0] = fra.me.REG[4];
116592 REGB0 = TAG_Int(132);
116593 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
116594 /* ./parser//parser.nit:43388 */
116595 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
116596 stack_frame_head = fra.me.prev;
116597 return;
116598 }
116599 void parser___ReduceAction1175___init(val_t p0, int* init_table){
116600 int itpos1179 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1175].i;
116601 struct {struct stack_frame_t me;} fra;
116602 val_t tmp;
116603 if (init_table[itpos1179]) return;
116604 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116605 fra.me.file = LOCATE_parser;
116606 fra.me.line = 43390;
116607 fra.me.meth = LOCATE_parser___ReduceAction1175___init;
116608 fra.me.has_broke = 0;
116609 fra.me.REG_size = 1;
116610 fra.me.REG[0] = NIT_NULL;
116611 fra.me.REG[0] = p0;
116612 /* ./parser//parser.nit:43390 */
116613 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
116614 stack_frame_head = fra.me.prev;
116615 init_table[itpos1179] = 1;
116616 return;
116617 }
116618 void parser___ReduceAction1176___action(val_t p0, val_t p1){
116619 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
116620 val_t REGB0;
116621 val_t REGB1;
116622 val_t tmp;
116623 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116624 fra.me.file = LOCATE_parser;
116625 fra.me.line = 43394;
116626 fra.me.meth = LOCATE_parser___ReduceAction1176___action;
116627 fra.me.has_broke = 0;
116628 fra.me.REG_size = 4;
116629 fra.me.REG[0] = NIT_NULL;
116630 fra.me.REG[1] = NIT_NULL;
116631 fra.me.REG[2] = NIT_NULL;
116632 fra.me.REG[3] = NIT_NULL;
116633 fra.me.REG[0] = p0;
116634 fra.me.REG[1] = p1;
116635 fra.me.REG[0] = NIT_NULL;
116636 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116637 fra.me.REG[3] = NEW_Array_array___Array___init();
116638 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClosureDecl, ID_AClosureDecl)) /*cast nullable AClosureDecl*/;
116639 /* ./parser//parser.nit:43400 */
116640 if (UNTAG_Bool(REGB0)) {
116641 } else {
116642 fprintf(stderr, "Assert failed");
116643 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43400);
116644 nit_exit(1);
116645 }
116646 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116647 /* ./parser//parser.nit:43401 */
116648 if (UNTAG_Bool(REGB0)) {
116649 } else {
116650 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116651 if (UNTAG_Bool(REGB1)) {
116652 REGB1 = TAG_Bool(false);
116653 REGB0 = REGB1;
116654 } else {
116655 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
116656 REGB0 = REGB1;
116657 }
116658 }
116659 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
116660 if (UNTAG_Bool(REGB0)) {
116661 /* ./parser//parser.nit:43402 */
116662 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
116663 }
116664 fra.me.REG[0] = fra.me.REG[3];
116665 REGB0 = TAG_Int(133);
116666 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
116667 /* ./parser//parser.nit:43405 */
116668 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
116669 stack_frame_head = fra.me.prev;
116670 return;
116671 }
116672 void parser___ReduceAction1176___init(val_t p0, int* init_table){
116673 int itpos1180 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1176].i;
116674 struct {struct stack_frame_t me;} fra;
116675 val_t tmp;
116676 if (init_table[itpos1180]) return;
116677 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116678 fra.me.file = LOCATE_parser;
116679 fra.me.line = 43407;
116680 fra.me.meth = LOCATE_parser___ReduceAction1176___init;
116681 fra.me.has_broke = 0;
116682 fra.me.REG_size = 1;
116683 fra.me.REG[0] = NIT_NULL;
116684 fra.me.REG[0] = p0;
116685 /* ./parser//parser.nit:43407 */
116686 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
116687 stack_frame_head = fra.me.prev;
116688 init_table[itpos1180] = 1;
116689 return;
116690 }
116691 void parser___ReduceAction1177___action(val_t p0, val_t p1){
116692 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
116693 val_t REGB0;
116694 val_t REGB1;
116695 val_t tmp;
116696 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116697 fra.me.file = LOCATE_parser;
116698 fra.me.line = 43411;
116699 fra.me.meth = LOCATE_parser___ReduceAction1177___action;
116700 fra.me.has_broke = 0;
116701 fra.me.REG_size = 5;
116702 fra.me.REG[0] = NIT_NULL;
116703 fra.me.REG[1] = NIT_NULL;
116704 fra.me.REG[2] = NIT_NULL;
116705 fra.me.REG[3] = NIT_NULL;
116706 fra.me.REG[4] = NIT_NULL;
116707 fra.me.REG[0] = p0;
116708 fra.me.REG[1] = p1;
116709 fra.me.REG[0] = NIT_NULL;
116710 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116711 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116712 fra.me.REG[4] = NEW_Array_array___Array___init();
116713 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
116714 /* ./parser//parser.nit:43418 */
116715 if (UNTAG_Bool(REGB0)) {
116716 } else {
116717 fprintf(stderr, "Assert failed");
116718 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43418);
116719 nit_exit(1);
116720 }
116721 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClosureDecl, ID_AClosureDecl)) /*cast nullable AClosureDecl*/;
116722 /* ./parser//parser.nit:43420 */
116723 if (UNTAG_Bool(REGB0)) {
116724 } else {
116725 fprintf(stderr, "Assert failed");
116726 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43420);
116727 nit_exit(1);
116728 }
116729 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
116730 /* ./parser//parser.nit:43422 */
116731 if (UNTAG_Bool(REGB0)) {
116732 fra.me.REG[4] = fra.me.REG[3];
116733 /* ./parser//parser.nit:43423 */
116734 } else {
116735 /* ./parser//parser.nit:43425 */
116736 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
116737 }
116738 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116739 /* ./parser//parser.nit:43428 */
116740 if (UNTAG_Bool(REGB0)) {
116741 } else {
116742 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116743 if (UNTAG_Bool(REGB1)) {
116744 REGB1 = TAG_Bool(false);
116745 REGB0 = REGB1;
116746 } else {
116747 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
116748 REGB0 = REGB1;
116749 }
116750 }
116751 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
116752 if (UNTAG_Bool(REGB0)) {
116753 /* ./parser//parser.nit:43429 */
116754 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
116755 }
116756 fra.me.REG[0] = fra.me.REG[4];
116757 REGB0 = TAG_Int(133);
116758 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
116759 /* ./parser//parser.nit:43432 */
116760 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
116761 stack_frame_head = fra.me.prev;
116762 return;
116763 }
116764 void parser___ReduceAction1177___init(val_t p0, int* init_table){
116765 int itpos1181 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1177].i;
116766 struct {struct stack_frame_t me;} fra;
116767 val_t tmp;
116768 if (init_table[itpos1181]) return;
116769 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116770 fra.me.file = LOCATE_parser;
116771 fra.me.line = 43434;
116772 fra.me.meth = LOCATE_parser___ReduceAction1177___init;
116773 fra.me.has_broke = 0;
116774 fra.me.REG_size = 1;
116775 fra.me.REG[0] = NIT_NULL;
116776 fra.me.REG[0] = p0;
116777 /* ./parser//parser.nit:43434 */
116778 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
116779 stack_frame_head = fra.me.prev;
116780 init_table[itpos1181] = 1;
116781 return;
116782 }
116783 void parser___ReduceAction1178___action(val_t p0, val_t p1){
116784 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
116785 val_t REGB0;
116786 val_t REGB1;
116787 val_t tmp;
116788 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116789 fra.me.file = LOCATE_parser;
116790 fra.me.line = 43438;
116791 fra.me.meth = LOCATE_parser___ReduceAction1178___action;
116792 fra.me.has_broke = 0;
116793 fra.me.REG_size = 4;
116794 fra.me.REG[0] = NIT_NULL;
116795 fra.me.REG[1] = NIT_NULL;
116796 fra.me.REG[2] = NIT_NULL;
116797 fra.me.REG[3] = NIT_NULL;
116798 fra.me.REG[0] = p0;
116799 fra.me.REG[1] = p1;
116800 fra.me.REG[0] = NIT_NULL;
116801 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116802 fra.me.REG[3] = NEW_Array_array___Array___init();
116803 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
116804 /* ./parser//parser.nit:43444 */
116805 if (UNTAG_Bool(REGB0)) {
116806 } else {
116807 fprintf(stderr, "Assert failed");
116808 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43444);
116809 nit_exit(1);
116810 }
116811 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116812 /* ./parser//parser.nit:43445 */
116813 if (UNTAG_Bool(REGB0)) {
116814 } else {
116815 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116816 if (UNTAG_Bool(REGB1)) {
116817 REGB1 = TAG_Bool(false);
116818 REGB0 = REGB1;
116819 } else {
116820 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
116821 REGB0 = REGB1;
116822 }
116823 }
116824 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
116825 if (UNTAG_Bool(REGB0)) {
116826 /* ./parser//parser.nit:43446 */
116827 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
116828 }
116829 fra.me.REG[0] = fra.me.REG[3];
116830 REGB0 = TAG_Int(134);
116831 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
116832 /* ./parser//parser.nit:43449 */
116833 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
116834 stack_frame_head = fra.me.prev;
116835 return;
116836 }
116837 void parser___ReduceAction1178___init(val_t p0, int* init_table){
116838 int itpos1182 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1178].i;
116839 struct {struct stack_frame_t me;} fra;
116840 val_t tmp;
116841 if (init_table[itpos1182]) return;
116842 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116843 fra.me.file = LOCATE_parser;
116844 fra.me.line = 43451;
116845 fra.me.meth = LOCATE_parser___ReduceAction1178___init;
116846 fra.me.has_broke = 0;
116847 fra.me.REG_size = 1;
116848 fra.me.REG[0] = NIT_NULL;
116849 fra.me.REG[0] = p0;
116850 /* ./parser//parser.nit:43451 */
116851 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
116852 stack_frame_head = fra.me.prev;
116853 init_table[itpos1182] = 1;
116854 return;
116855 }
116856 void parser___ReduceAction1179___action(val_t p0, val_t p1){
116857 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
116858 val_t REGB0;
116859 val_t REGB1;
116860 val_t tmp;
116861 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116862 fra.me.file = LOCATE_parser;
116863 fra.me.line = 43455;
116864 fra.me.meth = LOCATE_parser___ReduceAction1179___action;
116865 fra.me.has_broke = 0;
116866 fra.me.REG_size = 5;
116867 fra.me.REG[0] = NIT_NULL;
116868 fra.me.REG[1] = NIT_NULL;
116869 fra.me.REG[2] = NIT_NULL;
116870 fra.me.REG[3] = NIT_NULL;
116871 fra.me.REG[4] = NIT_NULL;
116872 fra.me.REG[0] = p0;
116873 fra.me.REG[1] = p1;
116874 fra.me.REG[0] = NIT_NULL;
116875 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116876 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116877 fra.me.REG[4] = NEW_Array_array___Array___init();
116878 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
116879 /* ./parser//parser.nit:43462 */
116880 if (UNTAG_Bool(REGB0)) {
116881 } else {
116882 fprintf(stderr, "Assert failed");
116883 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43462);
116884 nit_exit(1);
116885 }
116886 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/;
116887 /* ./parser//parser.nit:43464 */
116888 if (UNTAG_Bool(REGB0)) {
116889 } else {
116890 fprintf(stderr, "Assert failed");
116891 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43464);
116892 nit_exit(1);
116893 }
116894 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
116895 /* ./parser//parser.nit:43466 */
116896 if (UNTAG_Bool(REGB0)) {
116897 fra.me.REG[4] = fra.me.REG[3];
116898 /* ./parser//parser.nit:43467 */
116899 } else {
116900 /* ./parser//parser.nit:43469 */
116901 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
116902 }
116903 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116904 /* ./parser//parser.nit:43472 */
116905 if (UNTAG_Bool(REGB0)) {
116906 } else {
116907 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116908 if (UNTAG_Bool(REGB1)) {
116909 REGB1 = TAG_Bool(false);
116910 REGB0 = REGB1;
116911 } else {
116912 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
116913 REGB0 = REGB1;
116914 }
116915 }
116916 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
116917 if (UNTAG_Bool(REGB0)) {
116918 /* ./parser//parser.nit:43473 */
116919 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
116920 }
116921 fra.me.REG[0] = fra.me.REG[4];
116922 REGB0 = TAG_Int(134);
116923 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
116924 /* ./parser//parser.nit:43476 */
116925 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
116926 stack_frame_head = fra.me.prev;
116927 return;
116928 }
116929 void parser___ReduceAction1179___init(val_t p0, int* init_table){
116930 int itpos1183 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1179].i;
116931 struct {struct stack_frame_t me;} fra;
116932 val_t tmp;
116933 if (init_table[itpos1183]) return;
116934 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116935 fra.me.file = LOCATE_parser;
116936 fra.me.line = 43478;
116937 fra.me.meth = LOCATE_parser___ReduceAction1179___init;
116938 fra.me.has_broke = 0;
116939 fra.me.REG_size = 1;
116940 fra.me.REG[0] = NIT_NULL;
116941 fra.me.REG[0] = p0;
116942 /* ./parser//parser.nit:43478 */
116943 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
116944 stack_frame_head = fra.me.prev;
116945 init_table[itpos1183] = 1;
116946 return;
116947 }
116948 void parser___ReduceAction1180___action(val_t p0, val_t p1){
116949 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
116950 val_t REGB0;
116951 val_t REGB1;
116952 val_t tmp;
116953 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116954 fra.me.file = LOCATE_parser;
116955 fra.me.line = 43482;
116956 fra.me.meth = LOCATE_parser___ReduceAction1180___action;
116957 fra.me.has_broke = 0;
116958 fra.me.REG_size = 4;
116959 fra.me.REG[0] = NIT_NULL;
116960 fra.me.REG[1] = NIT_NULL;
116961 fra.me.REG[2] = NIT_NULL;
116962 fra.me.REG[3] = NIT_NULL;
116963 fra.me.REG[0] = p0;
116964 fra.me.REG[1] = p1;
116965 fra.me.REG[0] = NIT_NULL;
116966 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
116967 fra.me.REG[3] = NEW_Array_array___Array___init();
116968 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
116969 /* ./parser//parser.nit:43488 */
116970 if (UNTAG_Bool(REGB0)) {
116971 } else {
116972 fprintf(stderr, "Assert failed");
116973 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43488);
116974 nit_exit(1);
116975 }
116976 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116977 /* ./parser//parser.nit:43489 */
116978 if (UNTAG_Bool(REGB0)) {
116979 } else {
116980 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
116981 if (UNTAG_Bool(REGB1)) {
116982 REGB1 = TAG_Bool(false);
116983 REGB0 = REGB1;
116984 } else {
116985 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
116986 REGB0 = REGB1;
116987 }
116988 }
116989 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
116990 if (UNTAG_Bool(REGB0)) {
116991 /* ./parser//parser.nit:43490 */
116992 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
116993 }
116994 fra.me.REG[0] = fra.me.REG[3];
116995 REGB0 = TAG_Int(135);
116996 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
116997 /* ./parser//parser.nit:43493 */
116998 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
116999 stack_frame_head = fra.me.prev;
117000 return;
117001 }
117002 void parser___ReduceAction1180___init(val_t p0, int* init_table){
117003 int itpos1184 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1180].i;
117004 struct {struct stack_frame_t me;} fra;
117005 val_t tmp;
117006 if (init_table[itpos1184]) return;
117007 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117008 fra.me.file = LOCATE_parser;
117009 fra.me.line = 43495;
117010 fra.me.meth = LOCATE_parser___ReduceAction1180___init;
117011 fra.me.has_broke = 0;
117012 fra.me.REG_size = 1;
117013 fra.me.REG[0] = NIT_NULL;
117014 fra.me.REG[0] = p0;
117015 /* ./parser//parser.nit:43495 */
117016 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
117017 stack_frame_head = fra.me.prev;
117018 init_table[itpos1184] = 1;
117019 return;
117020 }
117021 void parser___ReduceAction1181___action(val_t p0, val_t p1){
117022 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
117023 val_t REGB0;
117024 val_t REGB1;
117025 val_t tmp;
117026 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117027 fra.me.file = LOCATE_parser;
117028 fra.me.line = 43499;
117029 fra.me.meth = LOCATE_parser___ReduceAction1181___action;
117030 fra.me.has_broke = 0;
117031 fra.me.REG_size = 5;
117032 fra.me.REG[0] = NIT_NULL;
117033 fra.me.REG[1] = NIT_NULL;
117034 fra.me.REG[2] = NIT_NULL;
117035 fra.me.REG[3] = NIT_NULL;
117036 fra.me.REG[4] = NIT_NULL;
117037 fra.me.REG[0] = p0;
117038 fra.me.REG[1] = p1;
117039 fra.me.REG[0] = NIT_NULL;
117040 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117041 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117042 fra.me.REG[4] = NEW_Array_array___Array___init();
117043 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
117044 /* ./parser//parser.nit:43506 */
117045 if (UNTAG_Bool(REGB0)) {
117046 } else {
117047 fprintf(stderr, "Assert failed");
117048 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43506);
117049 nit_exit(1);
117050 }
117051 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
117052 /* ./parser//parser.nit:43508 */
117053 if (UNTAG_Bool(REGB0)) {
117054 } else {
117055 fprintf(stderr, "Assert failed");
117056 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43508);
117057 nit_exit(1);
117058 }
117059 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
117060 /* ./parser//parser.nit:43510 */
117061 if (UNTAG_Bool(REGB0)) {
117062 fra.me.REG[4] = fra.me.REG[3];
117063 /* ./parser//parser.nit:43511 */
117064 } else {
117065 /* ./parser//parser.nit:43513 */
117066 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
117067 }
117068 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117069 /* ./parser//parser.nit:43516 */
117070 if (UNTAG_Bool(REGB0)) {
117071 } else {
117072 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117073 if (UNTAG_Bool(REGB1)) {
117074 REGB1 = TAG_Bool(false);
117075 REGB0 = REGB1;
117076 } else {
117077 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
117078 REGB0 = REGB1;
117079 }
117080 }
117081 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
117082 if (UNTAG_Bool(REGB0)) {
117083 /* ./parser//parser.nit:43517 */
117084 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
117085 }
117086 fra.me.REG[0] = fra.me.REG[4];
117087 REGB0 = TAG_Int(135);
117088 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
117089 /* ./parser//parser.nit:43520 */
117090 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
117091 stack_frame_head = fra.me.prev;
117092 return;
117093 }
117094 void parser___ReduceAction1181___init(val_t p0, int* init_table){
117095 int itpos1185 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1181].i;
117096 struct {struct stack_frame_t me;} fra;
117097 val_t tmp;
117098 if (init_table[itpos1185]) return;
117099 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117100 fra.me.file = LOCATE_parser;
117101 fra.me.line = 43522;
117102 fra.me.meth = LOCATE_parser___ReduceAction1181___init;
117103 fra.me.has_broke = 0;
117104 fra.me.REG_size = 1;
117105 fra.me.REG[0] = NIT_NULL;
117106 fra.me.REG[0] = p0;
117107 /* ./parser//parser.nit:43522 */
117108 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
117109 stack_frame_head = fra.me.prev;
117110 init_table[itpos1185] = 1;
117111 return;
117112 }
117113 void parser___ReduceAction1182___action(val_t p0, val_t p1){
117114 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
117115 val_t REGB0;
117116 val_t tmp;
117117 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117118 fra.me.file = LOCATE_parser;
117119 fra.me.line = 43526;
117120 fra.me.meth = LOCATE_parser___ReduceAction1182___action;
117121 fra.me.has_broke = 0;
117122 fra.me.REG_size = 4;
117123 fra.me.REG[0] = NIT_NULL;
117124 fra.me.REG[1] = NIT_NULL;
117125 fra.me.REG[2] = NIT_NULL;
117126 fra.me.REG[3] = NIT_NULL;
117127 fra.me.REG[0] = p0;
117128 fra.me.REG[1] = p1;
117129 fra.me.REG[0] = NIT_NULL;
117130 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117131 fra.me.REG[3] = NEW_Array_array___Array___init();
117132 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
117133 /* ./parser//parser.nit:43532 */
117134 if (UNTAG_Bool(REGB0)) {
117135 } else {
117136 fprintf(stderr, "Assert failed");
117137 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43532);
117138 nit_exit(1);
117139 }
117140 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
117141 /* ./parser//parser.nit:43534 */
117142 if (UNTAG_Bool(REGB0)) {
117143 fra.me.REG[3] = fra.me.REG[2];
117144 /* ./parser//parser.nit:43535 */
117145 } else {
117146 /* ./parser//parser.nit:43537 */
117147 CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
117148 }
117149 fra.me.REG[0] = fra.me.REG[3];
117150 REGB0 = TAG_Int(136);
117151 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
117152 /* ./parser//parser.nit:43541 */
117153 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
117154 stack_frame_head = fra.me.prev;
117155 return;
117156 }
117157 void parser___ReduceAction1182___init(val_t p0, int* init_table){
117158 int itpos1186 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1182].i;
117159 struct {struct stack_frame_t me;} fra;
117160 val_t tmp;
117161 if (init_table[itpos1186]) return;
117162 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117163 fra.me.file = LOCATE_parser;
117164 fra.me.line = 43543;
117165 fra.me.meth = LOCATE_parser___ReduceAction1182___init;
117166 fra.me.has_broke = 0;
117167 fra.me.REG_size = 1;
117168 fra.me.REG[0] = NIT_NULL;
117169 fra.me.REG[0] = p0;
117170 /* ./parser//parser.nit:43543 */
117171 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
117172 stack_frame_head = fra.me.prev;
117173 init_table[itpos1186] = 1;
117174 return;
117175 }
117176 void parser___ReduceAction1183___action(val_t p0, val_t p1){
117177 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
117178 val_t REGB0;
117179 val_t tmp;
117180 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117181 fra.me.file = LOCATE_parser;
117182 fra.me.line = 43547;
117183 fra.me.meth = LOCATE_parser___ReduceAction1183___action;
117184 fra.me.has_broke = 0;
117185 fra.me.REG_size = 5;
117186 fra.me.REG[0] = NIT_NULL;
117187 fra.me.REG[1] = NIT_NULL;
117188 fra.me.REG[2] = NIT_NULL;
117189 fra.me.REG[3] = NIT_NULL;
117190 fra.me.REG[4] = NIT_NULL;
117191 fra.me.REG[0] = p0;
117192 fra.me.REG[1] = p1;
117193 fra.me.REG[0] = NIT_NULL;
117194 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117195 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117196 fra.me.REG[4] = NEW_Array_array___Array___init();
117197 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
117198 /* ./parser//parser.nit:43554 */
117199 if (UNTAG_Bool(REGB0)) {
117200 } else {
117201 fprintf(stderr, "Assert failed");
117202 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43554);
117203 nit_exit(1);
117204 }
117205 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
117206 /* ./parser//parser.nit:43556 */
117207 if (UNTAG_Bool(REGB0)) {
117208 } else {
117209 fprintf(stderr, "Assert failed");
117210 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43556);
117211 nit_exit(1);
117212 }
117213 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
117214 /* ./parser//parser.nit:43558 */
117215 if (UNTAG_Bool(REGB0)) {
117216 fra.me.REG[4] = fra.me.REG[3];
117217 /* ./parser//parser.nit:43559 */
117218 } else {
117219 /* ./parser//parser.nit:43561 */
117220 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
117221 }
117222 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
117223 /* ./parser//parser.nit:43565 */
117224 if (UNTAG_Bool(REGB0)) {
117225 fra.me.REG[4] = fra.me.REG[2];
117226 /* ./parser//parser.nit:43566 */
117227 } else {
117228 /* ./parser//parser.nit:43568 */
117229 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
117230 }
117231 fra.me.REG[0] = fra.me.REG[4];
117232 REGB0 = TAG_Int(136);
117233 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
117234 /* ./parser//parser.nit:43572 */
117235 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
117236 stack_frame_head = fra.me.prev;
117237 return;
117238 }
117239 void parser___ReduceAction1183___init(val_t p0, int* init_table){
117240 int itpos1187 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1183].i;
117241 struct {struct stack_frame_t me;} fra;
117242 val_t tmp;
117243 if (init_table[itpos1187]) return;
117244 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117245 fra.me.file = LOCATE_parser;
117246 fra.me.line = 43574;
117247 fra.me.meth = LOCATE_parser___ReduceAction1183___init;
117248 fra.me.has_broke = 0;
117249 fra.me.REG_size = 1;
117250 fra.me.REG[0] = NIT_NULL;
117251 fra.me.REG[0] = p0;
117252 /* ./parser//parser.nit:43574 */
117253 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
117254 stack_frame_head = fra.me.prev;
117255 init_table[itpos1187] = 1;
117256 return;
117257 }
117258 void parser___ReduceAction1184___action(val_t p0, val_t p1){
117259 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
117260 val_t REGB0;
117261 val_t REGB1;
117262 val_t tmp;
117263 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117264 fra.me.file = LOCATE_parser;
117265 fra.me.line = 43578;
117266 fra.me.meth = LOCATE_parser___ReduceAction1184___action;
117267 fra.me.has_broke = 0;
117268 fra.me.REG_size = 4;
117269 fra.me.REG[0] = NIT_NULL;
117270 fra.me.REG[1] = NIT_NULL;
117271 fra.me.REG[2] = NIT_NULL;
117272 fra.me.REG[3] = NIT_NULL;
117273 fra.me.REG[0] = p0;
117274 fra.me.REG[1] = p1;
117275 fra.me.REG[0] = NIT_NULL;
117276 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117277 fra.me.REG[3] = NEW_Array_array___Array___init();
117278 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
117279 /* ./parser//parser.nit:43584 */
117280 if (UNTAG_Bool(REGB0)) {
117281 } else {
117282 fprintf(stderr, "Assert failed");
117283 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43584);
117284 nit_exit(1);
117285 }
117286 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117287 /* ./parser//parser.nit:43585 */
117288 if (UNTAG_Bool(REGB0)) {
117289 } else {
117290 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117291 if (UNTAG_Bool(REGB1)) {
117292 REGB1 = TAG_Bool(false);
117293 REGB0 = REGB1;
117294 } else {
117295 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
117296 REGB0 = REGB1;
117297 }
117298 }
117299 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
117300 if (UNTAG_Bool(REGB0)) {
117301 /* ./parser//parser.nit:43586 */
117302 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
117303 }
117304 fra.me.REG[0] = fra.me.REG[3];
117305 REGB0 = TAG_Int(137);
117306 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
117307 /* ./parser//parser.nit:43589 */
117308 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
117309 stack_frame_head = fra.me.prev;
117310 return;
117311 }
117312 void parser___ReduceAction1184___init(val_t p0, int* init_table){
117313 int itpos1188 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1184].i;
117314 struct {struct stack_frame_t me;} fra;
117315 val_t tmp;
117316 if (init_table[itpos1188]) return;
117317 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117318 fra.me.file = LOCATE_parser;
117319 fra.me.line = 43591;
117320 fra.me.meth = LOCATE_parser___ReduceAction1184___init;
117321 fra.me.has_broke = 0;
117322 fra.me.REG_size = 1;
117323 fra.me.REG[0] = NIT_NULL;
117324 fra.me.REG[0] = p0;
117325 /* ./parser//parser.nit:43591 */
117326 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
117327 stack_frame_head = fra.me.prev;
117328 init_table[itpos1188] = 1;
117329 return;
117330 }
117331 void parser___ReduceAction1185___action(val_t p0, val_t p1){
117332 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
117333 val_t REGB0;
117334 val_t REGB1;
117335 val_t tmp;
117336 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117337 fra.me.file = LOCATE_parser;
117338 fra.me.line = 43595;
117339 fra.me.meth = LOCATE_parser___ReduceAction1185___action;
117340 fra.me.has_broke = 0;
117341 fra.me.REG_size = 5;
117342 fra.me.REG[0] = NIT_NULL;
117343 fra.me.REG[1] = NIT_NULL;
117344 fra.me.REG[2] = NIT_NULL;
117345 fra.me.REG[3] = NIT_NULL;
117346 fra.me.REG[4] = NIT_NULL;
117347 fra.me.REG[0] = p0;
117348 fra.me.REG[1] = p1;
117349 fra.me.REG[0] = NIT_NULL;
117350 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117351 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117352 fra.me.REG[4] = NEW_Array_array___Array___init();
117353 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
117354 /* ./parser//parser.nit:43602 */
117355 if (UNTAG_Bool(REGB0)) {
117356 } else {
117357 fprintf(stderr, "Assert failed");
117358 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43602);
117359 nit_exit(1);
117360 }
117361 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/;
117362 /* ./parser//parser.nit:43604 */
117363 if (UNTAG_Bool(REGB0)) {
117364 } else {
117365 fprintf(stderr, "Assert failed");
117366 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43604);
117367 nit_exit(1);
117368 }
117369 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
117370 /* ./parser//parser.nit:43606 */
117371 if (UNTAG_Bool(REGB0)) {
117372 fra.me.REG[4] = fra.me.REG[3];
117373 /* ./parser//parser.nit:43607 */
117374 } else {
117375 /* ./parser//parser.nit:43609 */
117376 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
117377 }
117378 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117379 /* ./parser//parser.nit:43612 */
117380 if (UNTAG_Bool(REGB0)) {
117381 } else {
117382 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117383 if (UNTAG_Bool(REGB1)) {
117384 REGB1 = TAG_Bool(false);
117385 REGB0 = REGB1;
117386 } else {
117387 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
117388 REGB0 = REGB1;
117389 }
117390 }
117391 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
117392 if (UNTAG_Bool(REGB0)) {
117393 /* ./parser//parser.nit:43613 */
117394 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
117395 }
117396 fra.me.REG[0] = fra.me.REG[4];
117397 REGB0 = TAG_Int(137);
117398 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
117399 /* ./parser//parser.nit:43616 */
117400 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
117401 stack_frame_head = fra.me.prev;
117402 return;
117403 }
117404 void parser___ReduceAction1185___init(val_t p0, int* init_table){
117405 int itpos1189 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1185].i;
117406 struct {struct stack_frame_t me;} fra;
117407 val_t tmp;
117408 if (init_table[itpos1189]) return;
117409 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117410 fra.me.file = LOCATE_parser;
117411 fra.me.line = 43618;
117412 fra.me.meth = LOCATE_parser___ReduceAction1185___init;
117413 fra.me.has_broke = 0;
117414 fra.me.REG_size = 1;
117415 fra.me.REG[0] = NIT_NULL;
117416 fra.me.REG[0] = p0;
117417 /* ./parser//parser.nit:43618 */
117418 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
117419 stack_frame_head = fra.me.prev;
117420 init_table[itpos1189] = 1;
117421 return;
117422 }
117423 void parser___ReduceAction1186___action(val_t p0, val_t p1){
117424 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
117425 val_t REGB0;
117426 val_t REGB1;
117427 val_t tmp;
117428 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117429 fra.me.file = LOCATE_parser;
117430 fra.me.line = 43622;
117431 fra.me.meth = LOCATE_parser___ReduceAction1186___action;
117432 fra.me.has_broke = 0;
117433 fra.me.REG_size = 4;
117434 fra.me.REG[0] = NIT_NULL;
117435 fra.me.REG[1] = NIT_NULL;
117436 fra.me.REG[2] = NIT_NULL;
117437 fra.me.REG[3] = NIT_NULL;
117438 fra.me.REG[0] = p0;
117439 fra.me.REG[1] = p1;
117440 fra.me.REG[0] = NIT_NULL;
117441 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117442 fra.me.REG[3] = NEW_Array_array___Array___init();
117443 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/;
117444 /* ./parser//parser.nit:43628 */
117445 if (UNTAG_Bool(REGB0)) {
117446 } else {
117447 fprintf(stderr, "Assert failed");
117448 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43628);
117449 nit_exit(1);
117450 }
117451 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117452 /* ./parser//parser.nit:43629 */
117453 if (UNTAG_Bool(REGB0)) {
117454 } else {
117455 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117456 if (UNTAG_Bool(REGB1)) {
117457 REGB1 = TAG_Bool(false);
117458 REGB0 = REGB1;
117459 } else {
117460 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
117461 REGB0 = REGB1;
117462 }
117463 }
117464 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
117465 if (UNTAG_Bool(REGB0)) {
117466 /* ./parser//parser.nit:43630 */
117467 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
117468 }
117469 fra.me.REG[0] = fra.me.REG[3];
117470 REGB0 = TAG_Int(138);
117471 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
117472 /* ./parser//parser.nit:43633 */
117473 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
117474 stack_frame_head = fra.me.prev;
117475 return;
117476 }
117477 void parser___ReduceAction1186___init(val_t p0, int* init_table){
117478 int itpos1190 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1186].i;
117479 struct {struct stack_frame_t me;} fra;
117480 val_t tmp;
117481 if (init_table[itpos1190]) return;
117482 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117483 fra.me.file = LOCATE_parser;
117484 fra.me.line = 43635;
117485 fra.me.meth = LOCATE_parser___ReduceAction1186___init;
117486 fra.me.has_broke = 0;
117487 fra.me.REG_size = 1;
117488 fra.me.REG[0] = NIT_NULL;
117489 fra.me.REG[0] = p0;
117490 /* ./parser//parser.nit:43635 */
117491 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
117492 stack_frame_head = fra.me.prev;
117493 init_table[itpos1190] = 1;
117494 return;
117495 }
117496 void parser___ReduceAction1187___action(val_t p0, val_t p1){
117497 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
117498 val_t REGB0;
117499 val_t REGB1;
117500 val_t tmp;
117501 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117502 fra.me.file = LOCATE_parser;
117503 fra.me.line = 43639;
117504 fra.me.meth = LOCATE_parser___ReduceAction1187___action;
117505 fra.me.has_broke = 0;
117506 fra.me.REG_size = 5;
117507 fra.me.REG[0] = NIT_NULL;
117508 fra.me.REG[1] = NIT_NULL;
117509 fra.me.REG[2] = NIT_NULL;
117510 fra.me.REG[3] = NIT_NULL;
117511 fra.me.REG[4] = NIT_NULL;
117512 fra.me.REG[0] = p0;
117513 fra.me.REG[1] = p1;
117514 fra.me.REG[0] = NIT_NULL;
117515 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117516 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117517 fra.me.REG[4] = NEW_Array_array___Array___init();
117518 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
117519 /* ./parser//parser.nit:43646 */
117520 if (UNTAG_Bool(REGB0)) {
117521 } else {
117522 fprintf(stderr, "Assert failed");
117523 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43646);
117524 nit_exit(1);
117525 }
117526 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/;
117527 /* ./parser//parser.nit:43648 */
117528 if (UNTAG_Bool(REGB0)) {
117529 } else {
117530 fprintf(stderr, "Assert failed");
117531 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43648);
117532 nit_exit(1);
117533 }
117534 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
117535 /* ./parser//parser.nit:43650 */
117536 if (UNTAG_Bool(REGB0)) {
117537 fra.me.REG[4] = fra.me.REG[3];
117538 /* ./parser//parser.nit:43651 */
117539 } else {
117540 /* ./parser//parser.nit:43653 */
117541 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
117542 }
117543 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117544 /* ./parser//parser.nit:43656 */
117545 if (UNTAG_Bool(REGB0)) {
117546 } else {
117547 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117548 if (UNTAG_Bool(REGB1)) {
117549 REGB1 = TAG_Bool(false);
117550 REGB0 = REGB1;
117551 } else {
117552 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
117553 REGB0 = REGB1;
117554 }
117555 }
117556 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
117557 if (UNTAG_Bool(REGB0)) {
117558 /* ./parser//parser.nit:43657 */
117559 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
117560 }
117561 fra.me.REG[0] = fra.me.REG[4];
117562 REGB0 = TAG_Int(138);
117563 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
117564 /* ./parser//parser.nit:43660 */
117565 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
117566 stack_frame_head = fra.me.prev;
117567 return;
117568 }
117569 void parser___ReduceAction1187___init(val_t p0, int* init_table){
117570 int itpos1191 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1187].i;
117571 struct {struct stack_frame_t me;} fra;
117572 val_t tmp;
117573 if (init_table[itpos1191]) return;
117574 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117575 fra.me.file = LOCATE_parser;
117576 fra.me.line = 43662;
117577 fra.me.meth = LOCATE_parser___ReduceAction1187___init;
117578 fra.me.has_broke = 0;
117579 fra.me.REG_size = 1;
117580 fra.me.REG[0] = NIT_NULL;
117581 fra.me.REG[0] = p0;
117582 /* ./parser//parser.nit:43662 */
117583 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
117584 stack_frame_head = fra.me.prev;
117585 init_table[itpos1191] = 1;
117586 return;
117587 }
117588 void parser___ReduceAction1188___action(val_t p0, val_t p1){
117589 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
117590 val_t REGB0;
117591 val_t REGB1;
117592 val_t tmp;
117593 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117594 fra.me.file = LOCATE_parser;
117595 fra.me.line = 43666;
117596 fra.me.meth = LOCATE_parser___ReduceAction1188___action;
117597 fra.me.has_broke = 0;
117598 fra.me.REG_size = 4;
117599 fra.me.REG[0] = NIT_NULL;
117600 fra.me.REG[1] = NIT_NULL;
117601 fra.me.REG[2] = NIT_NULL;
117602 fra.me.REG[3] = NIT_NULL;
117603 fra.me.REG[0] = p0;
117604 fra.me.REG[1] = p1;
117605 fra.me.REG[0] = NIT_NULL;
117606 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117607 fra.me.REG[3] = NEW_Array_array___Array___init();
117608 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TComment, ID_TComment)) /*cast nullable TComment*/;
117609 /* ./parser//parser.nit:43672 */
117610 if (UNTAG_Bool(REGB0)) {
117611 } else {
117612 fprintf(stderr, "Assert failed");
117613 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43672);
117614 nit_exit(1);
117615 }
117616 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117617 /* ./parser//parser.nit:43673 */
117618 if (UNTAG_Bool(REGB0)) {
117619 } else {
117620 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117621 if (UNTAG_Bool(REGB1)) {
117622 REGB1 = TAG_Bool(false);
117623 REGB0 = REGB1;
117624 } else {
117625 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
117626 REGB0 = REGB1;
117627 }
117628 }
117629 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
117630 if (UNTAG_Bool(REGB0)) {
117631 /* ./parser//parser.nit:43674 */
117632 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
117633 }
117634 fra.me.REG[0] = fra.me.REG[3];
117635 REGB0 = TAG_Int(139);
117636 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
117637 /* ./parser//parser.nit:43677 */
117638 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
117639 stack_frame_head = fra.me.prev;
117640 return;
117641 }
117642 void parser___ReduceAction1188___init(val_t p0, int* init_table){
117643 int itpos1192 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1188].i;
117644 struct {struct stack_frame_t me;} fra;
117645 val_t tmp;
117646 if (init_table[itpos1192]) return;
117647 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117648 fra.me.file = LOCATE_parser;
117649 fra.me.line = 43679;
117650 fra.me.meth = LOCATE_parser___ReduceAction1188___init;
117651 fra.me.has_broke = 0;
117652 fra.me.REG_size = 1;
117653 fra.me.REG[0] = NIT_NULL;
117654 fra.me.REG[0] = p0;
117655 /* ./parser//parser.nit:43679 */
117656 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
117657 stack_frame_head = fra.me.prev;
117658 init_table[itpos1192] = 1;
117659 return;
117660 }
117661 void parser___ReduceAction1189___action(val_t p0, val_t p1){
117662 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
117663 val_t REGB0;
117664 val_t REGB1;
117665 val_t tmp;
117666 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117667 fra.me.file = LOCATE_parser;
117668 fra.me.line = 43683;
117669 fra.me.meth = LOCATE_parser___ReduceAction1189___action;
117670 fra.me.has_broke = 0;
117671 fra.me.REG_size = 5;
117672 fra.me.REG[0] = NIT_NULL;
117673 fra.me.REG[1] = NIT_NULL;
117674 fra.me.REG[2] = NIT_NULL;
117675 fra.me.REG[3] = NIT_NULL;
117676 fra.me.REG[4] = NIT_NULL;
117677 fra.me.REG[0] = p0;
117678 fra.me.REG[1] = p1;
117679 fra.me.REG[0] = NIT_NULL;
117680 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117681 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117682 fra.me.REG[4] = NEW_Array_array___Array___init();
117683 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
117684 /* ./parser//parser.nit:43690 */
117685 if (UNTAG_Bool(REGB0)) {
117686 } else {
117687 fprintf(stderr, "Assert failed");
117688 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43690);
117689 nit_exit(1);
117690 }
117691 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TComment, ID_TComment)) /*cast nullable TComment*/;
117692 /* ./parser//parser.nit:43692 */
117693 if (UNTAG_Bool(REGB0)) {
117694 } else {
117695 fprintf(stderr, "Assert failed");
117696 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43692);
117697 nit_exit(1);
117698 }
117699 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
117700 /* ./parser//parser.nit:43694 */
117701 if (UNTAG_Bool(REGB0)) {
117702 fra.me.REG[4] = fra.me.REG[3];
117703 /* ./parser//parser.nit:43695 */
117704 } else {
117705 /* ./parser//parser.nit:43697 */
117706 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
117707 }
117708 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117709 /* ./parser//parser.nit:43700 */
117710 if (UNTAG_Bool(REGB0)) {
117711 } else {
117712 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117713 if (UNTAG_Bool(REGB1)) {
117714 REGB1 = TAG_Bool(false);
117715 REGB0 = REGB1;
117716 } else {
117717 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
117718 REGB0 = REGB1;
117719 }
117720 }
117721 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
117722 if (UNTAG_Bool(REGB0)) {
117723 /* ./parser//parser.nit:43701 */
117724 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
117725 }
117726 fra.me.REG[0] = fra.me.REG[4];
117727 REGB0 = TAG_Int(139);
117728 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
117729 /* ./parser//parser.nit:43704 */
117730 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
117731 stack_frame_head = fra.me.prev;
117732 return;
117733 }
117734 void parser___ReduceAction1189___init(val_t p0, int* init_table){
117735 int itpos1193 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1189].i;
117736 struct {struct stack_frame_t me;} fra;
117737 val_t tmp;
117738 if (init_table[itpos1193]) return;
117739 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117740 fra.me.file = LOCATE_parser;
117741 fra.me.line = 43706;
117742 fra.me.meth = LOCATE_parser___ReduceAction1189___init;
117743 fra.me.has_broke = 0;
117744 fra.me.REG_size = 1;
117745 fra.me.REG[0] = NIT_NULL;
117746 fra.me.REG[0] = p0;
117747 /* ./parser//parser.nit:43706 */
117748 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
117749 stack_frame_head = fra.me.prev;
117750 init_table[itpos1193] = 1;
117751 return;
117752 }
117753 void parser___ReduceAction1190___action(val_t p0, val_t p1){
117754 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
117755 val_t REGB0;
117756 val_t REGB1;
117757 val_t tmp;
117758 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117759 fra.me.file = LOCATE_parser;
117760 fra.me.line = 43710;
117761 fra.me.meth = LOCATE_parser___ReduceAction1190___action;
117762 fra.me.has_broke = 0;
117763 fra.me.REG_size = 4;
117764 fra.me.REG[0] = NIT_NULL;
117765 fra.me.REG[1] = NIT_NULL;
117766 fra.me.REG[2] = NIT_NULL;
117767 fra.me.REG[3] = NIT_NULL;
117768 fra.me.REG[0] = p0;
117769 fra.me.REG[1] = p1;
117770 fra.me.REG[0] = NIT_NULL;
117771 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117772 fra.me.REG[3] = NEW_Array_array___Array___init();
117773 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TEol, ID_TEol)) /*cast nullable TEol*/;
117774 /* ./parser//parser.nit:43716 */
117775 if (UNTAG_Bool(REGB0)) {
117776 } else {
117777 fprintf(stderr, "Assert failed");
117778 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43716);
117779 nit_exit(1);
117780 }
117781 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117782 /* ./parser//parser.nit:43717 */
117783 if (UNTAG_Bool(REGB0)) {
117784 } else {
117785 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117786 if (UNTAG_Bool(REGB1)) {
117787 REGB1 = TAG_Bool(false);
117788 REGB0 = REGB1;
117789 } else {
117790 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
117791 REGB0 = REGB1;
117792 }
117793 }
117794 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
117795 if (UNTAG_Bool(REGB0)) {
117796 /* ./parser//parser.nit:43718 */
117797 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
117798 }
117799 fra.me.REG[0] = fra.me.REG[3];
117800 REGB0 = TAG_Int(140);
117801 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
117802 /* ./parser//parser.nit:43721 */
117803 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
117804 stack_frame_head = fra.me.prev;
117805 return;
117806 }
117807 void parser___ReduceAction1190___init(val_t p0, int* init_table){
117808 int itpos1194 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1190].i;
117809 struct {struct stack_frame_t me;} fra;
117810 val_t tmp;
117811 if (init_table[itpos1194]) return;
117812 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117813 fra.me.file = LOCATE_parser;
117814 fra.me.line = 43723;
117815 fra.me.meth = LOCATE_parser___ReduceAction1190___init;
117816 fra.me.has_broke = 0;
117817 fra.me.REG_size = 1;
117818 fra.me.REG[0] = NIT_NULL;
117819 fra.me.REG[0] = p0;
117820 /* ./parser//parser.nit:43723 */
117821 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
117822 stack_frame_head = fra.me.prev;
117823 init_table[itpos1194] = 1;
117824 return;
117825 }
117826 void parser___ReduceAction1191___action(val_t p0, val_t p1){
117827 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
117828 val_t REGB0;
117829 val_t REGB1;
117830 val_t tmp;
117831 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117832 fra.me.file = LOCATE_parser;
117833 fra.me.line = 43727;
117834 fra.me.meth = LOCATE_parser___ReduceAction1191___action;
117835 fra.me.has_broke = 0;
117836 fra.me.REG_size = 5;
117837 fra.me.REG[0] = NIT_NULL;
117838 fra.me.REG[1] = NIT_NULL;
117839 fra.me.REG[2] = NIT_NULL;
117840 fra.me.REG[3] = NIT_NULL;
117841 fra.me.REG[4] = NIT_NULL;
117842 fra.me.REG[0] = p0;
117843 fra.me.REG[1] = p1;
117844 fra.me.REG[0] = NIT_NULL;
117845 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117846 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117847 fra.me.REG[4] = NEW_Array_array___Array___init();
117848 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
117849 /* ./parser//parser.nit:43734 */
117850 if (UNTAG_Bool(REGB0)) {
117851 } else {
117852 fprintf(stderr, "Assert failed");
117853 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43734);
117854 nit_exit(1);
117855 }
117856 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TEol, ID_TEol)) /*cast nullable TEol*/;
117857 /* ./parser//parser.nit:43736 */
117858 if (UNTAG_Bool(REGB0)) {
117859 } else {
117860 fprintf(stderr, "Assert failed");
117861 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43736);
117862 nit_exit(1);
117863 }
117864 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
117865 /* ./parser//parser.nit:43738 */
117866 if (UNTAG_Bool(REGB0)) {
117867 fra.me.REG[4] = fra.me.REG[3];
117868 /* ./parser//parser.nit:43739 */
117869 } else {
117870 /* ./parser//parser.nit:43741 */
117871 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
117872 }
117873 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117874 /* ./parser//parser.nit:43744 */
117875 if (UNTAG_Bool(REGB0)) {
117876 } else {
117877 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117878 if (UNTAG_Bool(REGB1)) {
117879 REGB1 = TAG_Bool(false);
117880 REGB0 = REGB1;
117881 } else {
117882 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
117883 REGB0 = REGB1;
117884 }
117885 }
117886 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
117887 if (UNTAG_Bool(REGB0)) {
117888 /* ./parser//parser.nit:43745 */
117889 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
117890 }
117891 fra.me.REG[0] = fra.me.REG[4];
117892 REGB0 = TAG_Int(140);
117893 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
117894 /* ./parser//parser.nit:43748 */
117895 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
117896 stack_frame_head = fra.me.prev;
117897 return;
117898 }
117899 void parser___ReduceAction1191___init(val_t p0, int* init_table){
117900 int itpos1195 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1191].i;
117901 struct {struct stack_frame_t me;} fra;
117902 val_t tmp;
117903 if (init_table[itpos1195]) return;
117904 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117905 fra.me.file = LOCATE_parser;
117906 fra.me.line = 43750;
117907 fra.me.meth = LOCATE_parser___ReduceAction1191___init;
117908 fra.me.has_broke = 0;
117909 fra.me.REG_size = 1;
117910 fra.me.REG[0] = NIT_NULL;
117911 fra.me.REG[0] = p0;
117912 /* ./parser//parser.nit:43750 */
117913 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
117914 stack_frame_head = fra.me.prev;
117915 init_table[itpos1195] = 1;
117916 return;
117917 }
117918 void parser___ReduceAction1192___action(val_t p0, val_t p1){
117919 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
117920 val_t REGB0;
117921 val_t REGB1;
117922 val_t tmp;
117923 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117924 fra.me.file = LOCATE_parser;
117925 fra.me.line = 43754;
117926 fra.me.meth = LOCATE_parser___ReduceAction1192___action;
117927 fra.me.has_broke = 0;
117928 fra.me.REG_size = 4;
117929 fra.me.REG[0] = NIT_NULL;
117930 fra.me.REG[1] = NIT_NULL;
117931 fra.me.REG[2] = NIT_NULL;
117932 fra.me.REG[3] = NIT_NULL;
117933 fra.me.REG[0] = p0;
117934 fra.me.REG[1] = p1;
117935 fra.me.REG[0] = NIT_NULL;
117936 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
117937 fra.me.REG[3] = NEW_Array_array___Array___init();
117938 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
117939 /* ./parser//parser.nit:43760 */
117940 if (UNTAG_Bool(REGB0)) {
117941 } else {
117942 fprintf(stderr, "Assert failed");
117943 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43760);
117944 nit_exit(1);
117945 }
117946 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117947 /* ./parser//parser.nit:43761 */
117948 if (UNTAG_Bool(REGB0)) {
117949 } else {
117950 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
117951 if (UNTAG_Bool(REGB1)) {
117952 REGB1 = TAG_Bool(false);
117953 REGB0 = REGB1;
117954 } else {
117955 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
117956 REGB0 = REGB1;
117957 }
117958 }
117959 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
117960 if (UNTAG_Bool(REGB0)) {
117961 /* ./parser//parser.nit:43762 */
117962 array___Array___add(fra.me.REG[3], fra.me.REG[2]);
117963 }
117964 fra.me.REG[0] = fra.me.REG[3];
117965 REGB0 = TAG_Int(141);
117966 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
117967 /* ./parser//parser.nit:43765 */
117968 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
117969 stack_frame_head = fra.me.prev;
117970 return;
117971 }
117972 void parser___ReduceAction1192___init(val_t p0, int* init_table){
117973 int itpos1196 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1192].i;
117974 struct {struct stack_frame_t me;} fra;
117975 val_t tmp;
117976 if (init_table[itpos1196]) return;
117977 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117978 fra.me.file = LOCATE_parser;
117979 fra.me.line = 43767;
117980 fra.me.meth = LOCATE_parser___ReduceAction1192___init;
117981 fra.me.has_broke = 0;
117982 fra.me.REG_size = 1;
117983 fra.me.REG[0] = NIT_NULL;
117984 fra.me.REG[0] = p0;
117985 /* ./parser//parser.nit:43767 */
117986 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
117987 stack_frame_head = fra.me.prev;
117988 init_table[itpos1196] = 1;
117989 return;
117990 }
117991 void parser___ReduceAction1193___action(val_t p0, val_t p1){
117992 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
117993 val_t REGB0;
117994 val_t REGB1;
117995 val_t tmp;
117996 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117997 fra.me.file = LOCATE_parser;
117998 fra.me.line = 43771;
117999 fra.me.meth = LOCATE_parser___ReduceAction1193___action;
118000 fra.me.has_broke = 0;
118001 fra.me.REG_size = 5;
118002 fra.me.REG[0] = NIT_NULL;
118003 fra.me.REG[1] = NIT_NULL;
118004 fra.me.REG[2] = NIT_NULL;
118005 fra.me.REG[3] = NIT_NULL;
118006 fra.me.REG[4] = NIT_NULL;
118007 fra.me.REG[0] = p0;
118008 fra.me.REG[1] = p1;
118009 fra.me.REG[0] = NIT_NULL;
118010 fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
118011 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
118012 fra.me.REG[4] = NEW_Array_array___Array___init();
118013 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
118014 /* ./parser//parser.nit:43778 */
118015 if (UNTAG_Bool(REGB0)) {
118016 } else {
118017 fprintf(stderr, "Assert failed");
118018 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43778);
118019 nit_exit(1);
118020 }
118021 REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/;
118022 /* ./parser//parser.nit:43780 */
118023 if (UNTAG_Bool(REGB0)) {
118024 } else {
118025 fprintf(stderr, "Assert failed");
118026 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43780);
118027 nit_exit(1);
118028 }
118029 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
118030 /* ./parser//parser.nit:43782 */
118031 if (UNTAG_Bool(REGB0)) {
118032 fra.me.REG[4] = fra.me.REG[3];
118033 /* ./parser//parser.nit:43783 */
118034 } else {
118035 /* ./parser//parser.nit:43785 */
118036 CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
118037 }
118038 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
118039 /* ./parser//parser.nit:43788 */
118040 if (UNTAG_Bool(REGB0)) {
118041 } else {
118042 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
118043 if (UNTAG_Bool(REGB1)) {
118044 REGB1 = TAG_Bool(false);
118045 REGB0 = REGB1;
118046 } else {
118047 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
118048 REGB0 = REGB1;
118049 }
118050 }
118051 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
118052 if (UNTAG_Bool(REGB0)) {
118053 /* ./parser//parser.nit:43789 */
118054 array___Array___add(fra.me.REG[4], fra.me.REG[2]);
118055 }
118056 fra.me.REG[0] = fra.me.REG[4];
118057 REGB0 = TAG_Int(141);
118058 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
118059 /* ./parser//parser.nit:43792 */
118060 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]);
118061 stack_frame_head = fra.me.prev;
118062 return;
118063 }
118064 void parser___ReduceAction1193___init(val_t p0, int* init_table){
118065 int itpos1197 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1193].i;
118066 struct {struct stack_frame_t me;} fra;
118067 val_t tmp;
118068 if (init_table[itpos1197]) return;
118069 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
118070 fra.me.file = LOCATE_parser;
118071 fra.me.line = 43794;
118072 fra.me.meth = LOCATE_parser___ReduceAction1193___init;
118073 fra.me.has_broke = 0;
118074 fra.me.REG_size = 1;
118075 fra.me.REG[0] = NIT_NULL;
118076 fra.me.REG[0] = p0;
118077 /* ./parser//parser.nit:43794 */
118078 CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table);
118079 stack_frame_head = fra.me.prev;
118080 init_table[itpos1197] = 1;
118081 return;
118082 }